Class ConvertInvalidInExpressions
java.lang.Object
io.deephaven.server.table.ops.filter.AbstractNormalizeFilters
io.deephaven.server.table.ops.filter.ConvertInvalidInExpressions
- All Implemented Interfaces:
FilterVisitor<Condition>
Rewrite any IN-type expression into its corresponding EQUALS if the left side is not a reference or if the right side
does have a reference. Assumes that FlipNonReferenceMatchExpression has already been run, making this the second
attempt to deal with these, and letting us be confident that these expressions cannot be expressed as more efficient
"in"s.
Examples: o ColumnA in 1 - left as is o ColumnA in 1, 2 - left as is o 1 in 2 - rewritten to 1 == 2. o ColumnA in
ColumnB - rewritten to ColumnA == ColumnB
Signs that visitors were mis-ordered: o 1 in ColumnA - literal on LHS should already be handled o 1 in 2, 3 - literal
on LHS with multiple RHS values should already be handled, should have been flipped and split into individual exprs o
ColumnA in ColumnB, 2 - column ref on RHS should already be handled
-
Constructor Summary
-
Method Summary
Methods inherited from class io.deephaven.server.table.ops.filter.AbstractNormalizeFilters
onAnd, onComparison, onContains, onInvoke, onIsNull, onMatches, onNot, onOr, onSearch
-
Constructor Details
-
ConvertInvalidInExpressions
public ConvertInvalidInExpressions()
-
-
Method Details
-
exec
-
onIn
public Condition onIn(Value target, List<Value> candidatesList, CaseSensitivity caseSensitivity, MatchType matchType) - Specified by:
onIn
in interfaceFilterVisitor<Condition>
- Overrides:
onIn
in classAbstractNormalizeFilters
-