Interface CursorHolder

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
IncrementalIndexCursorHolder, QueryableIndexCursorHolder

public interface CursorHolder extends Closeable
Provides Cursor and if available, VectorCursor which readers can use to scan a set of rows defined originally from a CursorBuildSpec which describes how data is to be scanned, transformed, filter, grouped and aggregated, and/or ordered.

If canVectorize() then asVectorCursor() will return a non-null value allowing for processing rows in batches instead of individually.

If isPreAggregated() is true, readers which are aggregating must call getAggregatorsForPreAggregated() to get the updated set of AggregatorFactory to correctly process results

getOrdering() defines how the data is ordered in the Cursor or VectorCursor, allowing readers to compare to their own desired ordering and potentially skip ordering their own results if it is pre-ordered.