Class MakeExpressionsNullSafe

java.lang.Object
io.deephaven.server.table.ops.filter.AbstractNormalizeFilters
io.deephaven.server.table.ops.filter.MakeExpressionsNullSafe
All Implemented Interfaces:
FilterVisitor<io.deephaven.proto.backplane.grpc.Condition>

public class MakeExpressionsNullSafe extends AbstractNormalizeFilters
Rewrites logical expressions into an actual version that does what would be expected. Right now this is just equalsIgnoreCase and its negation, to support null values. Note that some of the branches here should not be needed (such as reference.equalsIgnoreCase("literal")) as they should be replaced by a MatchFilter instead, but this may not be fully implemented, so we are defensively leaving these cases in place for now.
  • Constructor Details

    • MakeExpressionsNullSafe

      public MakeExpressionsNullSafe()
  • Method Details

    • exec

      public static io.deephaven.proto.backplane.grpc.Condition exec(io.deephaven.proto.backplane.grpc.Condition filter)
    • onComparison

      public io.deephaven.proto.backplane.grpc.Condition onComparison(io.deephaven.proto.backplane.grpc.CompareCondition.CompareOperation operation, io.deephaven.proto.backplane.grpc.CaseSensitivity caseSensitivity, io.deephaven.proto.backplane.grpc.Value lhs, io.deephaven.proto.backplane.grpc.Value rhs)
      Specified by:
      onComparison in interface FilterVisitor<io.deephaven.proto.backplane.grpc.Condition>
      Overrides:
      onComparison in class AbstractNormalizeFilters