/* 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;
     }
   }
 }