Class ExprNode.OrNode

Enclosing class:
ExprNode

public static class ExprNode.OrNode extends ExprNode.ListNode
Represents a set of OR'ed expressions in Disjunctive Normal Form (CNF). Or'ed expresssions often cannot be pushed down except in the special case of a series of expressions on the same column, which can sometimes be handled as a series of requests, each for a different disjunct.
  • Constructor Details

  • Method Details

    • selectivity

      public double selectivity()
      Compute the selectivity of this DNF (OR) clause. Drill assumes the selectivity of = is 0.15. An OR is a series of equal statements, so selectivity is n * 0.15. However, limit total selectivity to 0.9 (that is, if there are more than 6 clauses in the DNF, assume at least some reduction.)
      Specified by:
      selectivity in class ExprNode
      Returns:
      the estimated selectivity of this DNF clause