Class RangeConditionFilter
java.lang.Object
io.deephaven.engine.table.impl.select.WhereFilterImpl
io.deephaven.engine.table.impl.select.RangeConditionFilter
- All Implemented Interfaces:
Expression
,Filter
,WhereFilter
,Serializable
A filter for comparable types (including Instant) for
Condition
values: - LESS_THAN
- LESS_THAN_OR_EQUAL
- GREATER_THAN
- GREATER_THAN_OR_EQUAL
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.api.filter.Filter
Filter.Visitor<T>
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener
-
Field Summary
Fields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_SELECT_FILTER_ARRAY
-
Constructor Summary
ConstructorDescriptionRangeConditionFilter
(String columnName, Condition condition, String value) Creates a RangeConditionFilter.RangeConditionFilter
(String columnName, Condition condition, String value, String expression, FormulaParserConfiguration parserConfiguration) Creates a RangeConditionFilter.RangeConditionFilter
(String columnName, String conditionString, String value, String expression, FormulaParserConfiguration parserConfiguration) Creates a RangeConditionFilter. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Create a copy of this WhereFilter.@NotNull WritableRowSet
Filter selection to only matching rows.@NotNull WritableRowSet
filterInverse
(@NotNull RowSet selection, @NotNull RowSet fullSet, @NotNull Table table, boolean usePrev) Filter selection to only non-matching rows.Get the array columns required by this select filter.Get the columns required by this select filter.void
init
(TableDefinition tableDefinition) Initialize this select filter given the table definitionboolean
static byte
parseByteFilter
(String value) static char
parseCharFilter
(String value) static int
parseIntFilter
(String value) static long
parseLongFilter
(String value) static short
parseShortFilter
(String value) void
Set the RecomputeListener that should be notified if results based on this filter must be recomputed.toString()
Methods inherited from class io.deephaven.engine.table.impl.select.WhereFilterImpl
isAutomatedFilter, setAutomatedFilter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
canMemoize, filter, invert, isRefreshing, permitParallelization, validateSafeForRefresh, walk, walk
-
Constructor Details
-
RangeConditionFilter
Creates a RangeConditionFilter.- Parameters:
columnName
- the column to filtercondition
- the condition for filteringvalue
- a String representation of the numeric filter value
-
RangeConditionFilter
public RangeConditionFilter(String columnName, Condition condition, String value, String expression, FormulaParserConfiguration parserConfiguration) Creates a RangeConditionFilter.- Parameters:
columnName
- the column to filtercondition
- the condition for filteringvalue
- a String representation of the numeric filter valueexpression
- the original expression prior to being parsedparserConfiguration
-
-
RangeConditionFilter
public RangeConditionFilter(String columnName, String conditionString, String value, String expression, FormulaParserConfiguration parserConfiguration) Creates a RangeConditionFilter.- Parameters:
columnName
- the column to filterconditionString
- the String representation of a condition for filteringvalue
- a String representation of the numeric filter valueexpression
- the original expression prior to being parsedparserConfiguration
-
-
-
Method Details
-
getColumns
Description copied from interface:WhereFilter
Get the columns required by this select filter.- Returns:
- the columns used as input by this select filter.
-
getColumnArrays
Description copied from interface:WhereFilter
Get the array columns required by this select filter.- Returns:
- the columns used as array input by this select filter.
-
init
Description copied from interface:WhereFilter
Initialize this select filter given the table definition- Parameters:
tableDefinition
- the definition of the table that will be filtered
-
parseCharFilter
-
parseByteFilter
-
parseShortFilter
-
parseIntFilter
-
parseLongFilter
-
filter
@NotNull public @NotNull WritableRowSet filter(@NotNull @NotNull RowSet selection, @NotNull @NotNull RowSet fullSet, @NotNull @NotNull Table table, boolean usePrev) Description copied from interface:WhereFilter
Filter selection to only matching rows.- 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 orclose
selection
.fullSet
- the complete RowSet of the table to filter. The fullSet is used for calculating variables like "i" or "ii". Implementations may not mutate orclose
fullSet
.table
- the table to filterusePrev
- true if previous values should be used. Implementing previous value filtering is optional, and aWhereFilter.PreviousFilteringNotSupported
exception 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
-
filterInverse
@NotNull public @NotNull WritableRowSet filterInverse(@NotNull @NotNull RowSet selection, @NotNull @NotNull RowSet fullSet, @NotNull @NotNull Table table, boolean usePrev) Description copied from interface:WhereFilter
Filter selection to only non-matching rows.Defaults to
try (final WritableRowSet regular = filter(selection, fullSet, table, usePrev)) { return selection.minus(regular); }
Implementations are encouraged to override this when they can provide more efficient implementations.
- 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 orclose
selection
.fullSet
- the complete RowSet of the table to filter. The fullSet is used for calculating variables like "i" or "ii". Implementations may not mutate orclose
fullSet
.table
- the table to filterusePrev
- true if previous values should be used. Implementing previous value filtering is optional, and aWhereFilter.PreviousFilteringNotSupported
exception may be thrown. If a PreviousFiltering exception is thrown, then the caller must acquire the PeriodicUpdateGraph lock.- Returns:
- The subset of selection not accepted by this filter; ownership passes to the caller
-
isSimpleFilter
public boolean isSimpleFilter()- 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:WhereFilter
Set the RecomputeListener that should be notified if results based on this filter must be recomputed.- Parameters:
listener
- the listener to notify.
-
copy
Description copied from interface:WhereFilter
Create a copy of this WhereFilter.- Returns:
- an independent copy of this WhereFilter.
-
toString
-