public abstract static class TupleDomainFilter.AbstractTupleDomainFilter extends Object implements TupleDomainFilter
TupleDomainFilter.AbstractRange, TupleDomainFilter.AbstractTupleDomainFilter, TupleDomainFilter.AlwaysFalse, TupleDomainFilter.BasePositionalFilter, TupleDomainFilter.BigintMultiRange, TupleDomainFilter.BigintRange, TupleDomainFilter.BigintValuesUsingBitmask, TupleDomainFilter.BigintValuesUsingHashTable, TupleDomainFilter.BooleanValue, TupleDomainFilter.BytesRange, TupleDomainFilter.BytesValues, TupleDomainFilter.BytesValuesExclusive, TupleDomainFilter.DoubleRange, TupleDomainFilter.FloatRange, TupleDomainFilter.IsNotNull, TupleDomainFilter.IsNull, TupleDomainFilter.LongDecimalRange, TupleDomainFilter.MultiRange, TupleDomainFilter.NullsFilter, TupleDomainFilter.PositionalFilter| Modifier and Type | Field and Description |
|---|---|
protected boolean |
nullAllowed |
ALWAYS_FALSE, IS_NOT_NULL, IS_NULL| Modifier | Constructor and Description |
|---|---|
protected |
AbstractTupleDomainFilter(boolean deterministic,
boolean nullAllowed) |
| Modifier and Type | Method and Description |
|---|---|
int |
getPrecedingPositionsToFail()
When a filter applied to a nested column fails, the whole top-level position should
fail.
|
int |
getSucceedingPositionsToFail() |
boolean |
isDeterministic()
A filter becomes non-deterministic when applies to nested column,
e.g.
|
boolean |
isPositionalFilter() |
boolean |
testBoolean(boolean value) |
boolean |
testBytes(byte[] buffer,
int offset,
int length) |
boolean |
testDecimal(long low,
long high) |
boolean |
testDouble(double value) |
boolean |
testFloat(float value) |
boolean |
testLength(int length)
Filters like string equality and IN, as well as conditions on cardinality of lists and maps can be at least partly
decided by looking at lengths alone.
|
boolean |
testLong(long value) |
boolean |
testNonNull()
Used to apply is [not] null filters to complex types, e.g.
|
boolean |
testNull() |
protected AbstractTupleDomainFilter(boolean deterministic,
boolean nullAllowed)
public boolean isDeterministic()
TupleDomainFilterisDeterministic in interface TupleDomainFilterpublic boolean testNull()
testNull in interface TupleDomainFilterpublic boolean testNonNull()
TupleDomainFilterIn these case, the exact values are not known, but it is known whether they are null or not. Furthermore, for some positions only nulls are allowed (a[1] is null), for others only non-nulls (a[3] is not null), and for the rest both are allowed (a[2] and a[N], where N > 3).
testNonNull in interface TupleDomainFilterpublic boolean testLong(long value)
testLong in interface TupleDomainFilterpublic boolean testDouble(double value)
testDouble in interface TupleDomainFilterpublic boolean testFloat(float value)
testFloat in interface TupleDomainFilterpublic boolean testDecimal(long low,
long high)
testDecimal in interface TupleDomainFilterpublic boolean testBoolean(boolean value)
testBoolean in interface TupleDomainFilterpublic boolean testBytes(byte[] buffer,
int offset,
int length)
testBytes in interface TupleDomainFilterpublic boolean testLength(int length)
TupleDomainFiltertestLength in interface TupleDomainFilterpublic int getPrecedingPositionsToFail()
TupleDomainFiltergetPrecedingPositionsToFail in interface TupleDomainFilterpublic int getSucceedingPositionsToFail()
getSucceedingPositionsToFail in interface TupleDomainFilterpublic boolean isPositionalFilter()
isPositionalFilter in interface TupleDomainFilterCopyright © 2012–2022. All rights reserved.