/* used in freetext index stuff since the row data is not just a pkey. it also has a * pos index after it e.g. 42-pkey:pos */ public void moveWithPartialData(DatabaseEntry newkey, DatabaseEntry partial_data) throws DatabaseException { key = newkey; data = partial_data; DatabaseEntry original_data = IteratorUtil.cloneDatabaseEntry(partial_data); int s = original_data.getSize(); last_opstat = index_cursor.getSearchBothRange(key, data, LockMode.DEFAULT); if (IteratorUtil.compareDatabaseEntries(original_data, 0, s, data, 0, s) != 0) last_opstat = OperationStatus.NOTFOUND; // if(isValid()) // System.out.println("\t\tMOVE OK "+new String(key.getData())+" | // "+LongBinding.entryToLong(newdata)); // else // System.out.println("\t\tFAILED MOVE "+new String(key.getData())+" | // "+LongBinding.entryToLong(newdata)); }
public void next() throws DatabaseException { last_opstat = index_cursor.getNextDup(key, data, LockMode.DEFAULT); if (last_opstat == OperationStatus.NOTFOUND) { last_opstat = index_cursor.getNextNoDup(key, data, LockMode.DEFAULT); if (last_opstat == OperationStatus.SUCCESS) { int l1 = key.getSize(); int l2 = terminal_key_length; // int l = (l1 < l2)?l1:l2; if (IteratorUtil.compareDatabaseEntries(key, 0, l1, terminal_key, 0, l2) > 0) last_opstat = OperationStatus.NOTFOUND; } } }