Interface ColumnarFilter

All Known Implementing Classes:
DictionaryAwareColumnarFilter, IsNotNullColumnarFilter, IsNullColumnarFilter

public interface ColumnarFilter
Implementations of this interface evaluate a filter on the input Page.

FilterEvaluator will call one of filterPositionsRange or filterPositionsList depending on whether the active SelectionPositions are stored in a list or in a range.

Implementations are expected to operate on a Page containing only the required channels specified by getInputChannels.

Currently, the implementations of this interface except IS_NULL and NOT(IS_NULL), don't explicitly handle NULLs or indeterminate values, and just return FALSE for those cases. This will need to change to allow ColumnarFilter implementations to be composed in all cases (e.g. NOT filters). ColumnarFilter implementations are never composed, FilterEvaluator implementations may be composed.