Package org.apache.druid.segment.column
Interface ColumnIndexSupplier
- All Known Implementing Classes:
ExpressionPredicateIndexSupplier,NestedDataColumnSupplier,NestedFieldColumnIndexSupplier,NoIndexesColumnIndexSupplier,NullValueIndexSupplier,ScalarDoubleColumnAndIndexSupplier,ScalarLongColumnAndIndexSupplier,ScalarStringColumnAndIndexSupplier,StringUtf8ColumnIndexSupplier,VariantColumnAndIndexSupplier
public interface ColumnIndexSupplier
Provides indexes and information about them (
ColumnIndexCapabilities) for a column. Indexes which satisfy
the Filter used in a Query, allow the query
engine to construct Offset (and
VectorOffset) to build Cursor
(and VectorCursor). This allows the engine to only scan the rows which match
the filter values, instead of performing a full scan of the column and using a
ValueMatcher
(or VectorValueMatcher) to filter the values.-
Method Summary
-
Method Details
-
as
Try to get a column 'index' of the specified type. If the index of the desired type is not available, this method will return null. If the value is non-null, the index may be used for the eventual construction of anOffsetto form the basis of aCursor(orVectorOffsetandVectorCursor) which can greatly reduce the total number of rows which need to be scanned and processed. Objects returned by this method are not thread-safe. There are several built-in index classes which can be passed as an argument to this method when used fromFilter.getBitmapColumnIndex(ColumnIndexSelector). Implementors of this interface should provide as many of them as possible to participate fully in as manyFilteras possible, as different filters require different index types, and may prefer some over others. Indexes for matching a row to a specific value:- See Also:
-