Class ConditionFilter
java.lang.Object
io.deephaven.engine.table.impl.select.WhereFilterImpl
io.deephaven.engine.table.impl.select.AbstractConditionFilter
io.deephaven.engine.table.impl.select.ConditionFilter
- All Implemented Interfaces:
Expression
,Filter
,WhereFilter
,Serializable
A condition filter evaluates a formula against a table.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static interface
static final class
static final class
static final class
static interface
static interface
static class
static class
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.select.AbstractConditionFilter
AbstractConditionFilter.Filter
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 class io.deephaven.engine.table.impl.select.AbstractConditionFilter
formula, initialized, params
Fields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Create a copy of this WhereFilter.static WhereFilter
createConditionFilter
(@NotNull String formula) static WhereFilter
createConditionFilter
(@NotNull String formula, FormulaParserConfiguration parser) protected void
generateFilterCode
(@NotNull TableDefinition tableDefinition, @NotNull TimeLiteralReplacedExpression timeConversionResult, QueryLanguageParser.Result result, @NotNull QueryCompilerRequestProcessor compilationProcessor) protected AbstractConditionFilter.Filter
boolean
renameFilter
(Map<String, String> renames) protected void
When numba vectorized functions are used to evaluate query filters, we need to create a special ChunkFilter that can handle packing and unpacking arrays required/returned by the vectorized function, essentially bypassing the regular code generation process which isn't able to support such use cases without needing some major rework.Methods inherited from class io.deephaven.engine.table.impl.select.AbstractConditionFilter
filter, getColumnArrays, getColumns, getFormulaShiftColPair, hasConstantArrayAccess, hasVirtualRowVariables, init, init, isSimpleFilter, onCopy, setRecomputeListener, toString, validateSafeForRefresh
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
beginOperation, canMemoize, filter, filterInverse, invert, isRefreshing, walk, walk
-
Field Details
-
CHUNK_SIZE
public static final int CHUNK_SIZE- See Also:
-
-
Method Details
-
createConditionFilter
public static WhereFilter createConditionFilter(@NotNull @NotNull String formula, FormulaParserConfiguration parser) -
createConditionFilter
-
generateFilterCode
protected void generateFilterCode(@NotNull @NotNull TableDefinition tableDefinition, @NotNull @NotNull TimeLiteralReplacedExpression timeConversionResult, @NotNull QueryLanguageParser.Result result, @NotNull @NotNull QueryCompilerRequestProcessor compilationProcessor) - Specified by:
generateFilterCode
in classAbstractConditionFilter
-
getFilter
protected AbstractConditionFilter.Filter getFilter(Table table, RowSet fullSet) throws InstantiationException, IllegalAccessException, NoSuchMethodException, InvocationTargetException - Specified by:
getFilter
in classAbstractConditionFilter
- Throws:
InstantiationException
IllegalAccessException
NoSuchMethodException
InvocationTargetException
-
setFilter
Description copied from class:AbstractConditionFilter
When numba vectorized functions are used to evaluate query filters, we need to create a special ChunkFilter that can handle packing and unpacking arrays required/returned by the vectorized function, essentially bypassing the regular code generation process which isn't able to support such use cases without needing some major rework.- Specified by:
setFilter
in classAbstractConditionFilter
- Parameters:
filter
- the filter to set
-
copy
Description copied from interface:WhereFilter
Create a copy of this WhereFilter.- Specified by:
copy
in interfaceWhereFilter
- Specified by:
copy
in classAbstractConditionFilter
- Returns:
- an independent copy of this WhereFilter.
-
renameFilter
- Specified by:
renameFilter
in classAbstractConditionFilter
-
permitParallelization
public boolean permitParallelization()- Returns:
- if this filter can be applied in parallel
-