Class ExprNode

java.lang.Object
org.apache.drill.exec.store.base.filter.ExprNode
Direct Known Subclasses:
ExprNode.ListNode, ExprNode.RelOpNode

public abstract class ExprNode extends Object
Condensed form of a Drill WHERE clause expression node. Models only those nodes that are typically used in rewrite-style filter push-down. Not intended for the more complex interpreted form of filter push-down such as that needed for directory-based partitions.

Each node references the source Calcite node as well as the selectivity that Calcite attaches to the node. Any expressions pushed to a scan must reduce the scan cost by the amount of the selectivity, else Calcite will conclude that the original plan (without push-down) is cheaper.

  • Constructor Details

    • ExprNode

      public ExprNode()
  • Method Details

    • tag

      public void tag(org.apache.calcite.rex.RexNode rexNode)
    • rexNode

      public org.apache.calcite.rex.RexNode rexNode()
    • selectivity

      public abstract double selectivity()