Class AbstractRangeFilter
java.lang.Object
io.deephaven.engine.table.impl.select.WhereFilterImpl
io.deephaven.engine.table.impl.select.AbstractRangeFilter
- All Implemented Interfaces:
ConcurrencyControl<Filter>,Expression,Filter,ExposesChunkFilter,WhereFilter,Serializable
- Direct Known Subclasses:
ByteRangeFilter,CharRangeFilter,ComparableRangeFilter,DoubleRangeFilter,FloatRangeFilter,IntRangeFilter,LongRangeFilter,ShortRangeFilter,SingleSidedComparableRangeFilter
A filter that determines if a column value is between an upper and lower bound (which each may either be inclusive or
exclusive).
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener, WhereFilter.Visitor<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Stringprotected final booleanprotected final booleanFields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionRetrieve the underlying chunk filter for this filter if available.@NotNull WritableRowSetFilter selection to only matching rows.Get the array columns required by this select filter.Get the columns required by this select filter.final booleanbooleanfinal booleanstatic WhereFiltermakeBigDecimalRange(String columnName, String val) voidSet theWhereFilter.RecomputeListenerthat should be notified if results based on this WhereFilter must be recomputed.Methods inherited from class io.deephaven.engine.table.impl.select.WhereFilterImpl
isAutomatedFilter, setAutomatedFilterMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
beginOperation, canMemoize, copy, filter, filterInverse, hasVirtualRowVariables, init, init, invert, isRefreshing, permitParallelization, validateSafeForRefresh, walk, walk, walk, withDeclaredBarriers, withRespectedBarriers, withSerial
-
Field Details
-
columnName
-
upperInclusive
protected final boolean upperInclusive -
lowerInclusive
protected final boolean lowerInclusive
-
-
Method Details
-
isUpperInclusive
public final boolean isUpperInclusive() -
isLowerInclusive
public final boolean isLowerInclusive() -
chunkFilter
Description copied from interface:ExposesChunkFilterRetrieve the underlying chunk filter for this filter if available.- Specified by:
chunkFilterin interfaceExposesChunkFilter- Returns:
- If available, returns the underlying chunk filter. Otherwise returns
Optional.empty().
-
makeBigDecimalRange
-
getColumns
Description copied from interface:WhereFilterGet the columns required by this select filter.This filter must already be initialized before calling this method.
- Specified by:
getColumnsin interfaceWhereFilter- Returns:
- the columns used as input by this select filter.
-
getColumnArrays
Description copied from interface:WhereFilterGet the array columns required by this select filter.This filter must already be initialized before calling this method.
- Specified by:
getColumnArraysin interfaceWhereFilter- Returns:
- the columns used as array input by this select filter.
-
filter
@NotNull public @NotNull WritableRowSet filter(@NotNull @NotNull RowSet selection, @NotNull @NotNull RowSet fullSet, @NotNull @NotNull Table table, boolean usePrev) Description copied from interface:WhereFilterFilter selection to only matching rows.- Specified by:
filterin interfaceWhereFilter- Parameters:
selection- the indices that should be filtered. The selection must be a subset of fullSet, and may include rows that the engine determines need not be evaluated to produce the result. Implementations may not mutate orcloseselection.fullSet- the complete RowSet of the table to filter. The fullSet is used for calculating variables like "i" or "ii". Implementations may not mutate orclosefullSet.table- the table to filterusePrev- true if previous values should be used. Implementing previous value filtering is optional, and aWhereFilter.PreviousFilteringNotSupportedexception may be thrown. If a PreviousFiltering exception is thrown, then the caller must acquire the PeriodicUpdateGraph lock.- Returns:
- The subset of selection accepted by this filter; ownership passes to the caller
-
isSimpleFilter
public boolean isSimpleFilter()- Specified by:
isSimpleFilterin interfaceWhereFilter- Returns:
- true if this is a filter that does not require any code execution, but rather is handled entirely within the database engine.
-
setRecomputeListener
Description copied from interface:WhereFilterSet theWhereFilter.RecomputeListenerthat should be notified if results based on this WhereFilter must be recomputed.- Specified by:
setRecomputeListenerin interfaceWhereFilter- Parameters:
listener- TheWhereFilter.RecomputeListenerto notify
-