com.sleepycat.je.dbi.CursorImpl.skip()
Skips over entries until a boundary condition is satisfied, either because maxCount is reached or RangeConstraint.inBounds returns false. If a maxCount is passed, this allows advancing the cursor quickly by N entries. If a rangeConstraint is passed, this allows returning the entry count after advancing until the predicate returns false, e.g., the number of entries in a key range. In either case, the number of entries advanced is returned. Optimized to scan using level two of the tree when possible, to avoid calling getNextBin/getPrevBin for every BIN of the database. All BINs beneath a level two IN can be skipped quickly, with the level two parent IN latched, when all of its children BINs are resident and can be latched without waiting. When a child BIN is not resident or latching waits, we revert to the getNextBin/getPrevBin approach, to avoid keeping the parent IN latched for long time periods. Although this method positions the cursor on the last non-deleted entry seen (before the boundary condition is satisfied), because it does not lock the LN it is possible that it is deleted by another thread after the BIN is unlatched.
@param forward is true to skip forward, false to skip backward.
@param maxCount is the maximum number of non-deleted entries to skip,and may be LTE zero if no maximum is enforced.
@param rangeConstraint is a predicate that returns false at a positionwhere advancement should stop, or null if no predicate is enforced.
@return the number of non-deleted entries that were skipped.