Package org.apache.druid.segment.filter
Class ColumnComparisonFilter
java.lang.Object
org.apache.druid.segment.filter.ColumnComparisonFilter
- All Implemented Interfaces:
Filter
Compares values between columns, first converting them all to strings. This filter behaves like "not distinct from",
e.g. given columns x and y, the SQL equivalent would be "x is not distinct from y" (and so ignores
includeUnknown).-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleangetBitmapColumnIndex(ColumnIndexSelector selector) Returns aBitmapColumnIndexif this filter supports using a bitmap index for filtering for the given inputColumnIndexSelector.Set of columns used by a filter.inthashCode()makeMatcher(ColumnSelectorFactory factory) Get aValueMatcherthat applies this filter to row values.static ValueMatchermakeValueMatcher(List<Supplier<String[]>> valueGetters) static booleanoverlap returns true when: as and bs have one or more elements in common, as and bs are both null, or as and bs are both empty.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.druid.query.filter.Filter
canVectorizeMatcher, makeFilterBundle, makeVectorMatcher, rewriteRequiredColumns, supportsRequiredColumnRewrite
-
Constructor Details
-
ColumnComparisonFilter
-
-
Method Details
-
getBitmapColumnIndex
Description copied from interface:FilterReturns aBitmapColumnIndexif this filter supports using a bitmap index for filtering for the given inputColumnIndexSelector. TheBitmapColumnIndexcan be used to compute into a bitmap indicating rows that match this filter resultBitmapColumnIndex.computeBitmapResult(BitmapResultFactory, boolean), or examine details about the index prior to computing it, viaBitmapColumnIndex.getIndexCapabilities().- Specified by:
getBitmapColumnIndexin interfaceFilter- Parameters:
selector- Object used to create BitmapColumnIndex- Returns:
- BitmapColumnIndex that can build ImmutableBitmap of matched row numbers
-
makeMatcher
Description copied from interface:FilterGet aValueMatcherthat applies this filter to row values.- Specified by:
makeMatcherin interfaceFilter- Parameters:
factory- Object used to create ValueMatchers- Returns:
- ValueMatcher that applies this filter to row values.
-
makeValueMatcher
-
overlap
overlap returns true when: as and bs have one or more elements in common, as and bs are both null, or as and bs are both empty. -
getRequiredColumns
Description copied from interface:FilterSet of columns used by a filter.- Specified by:
getRequiredColumnsin interfaceFilter
-
equals
-
hashCode
public int hashCode()
-