Class CalcRelSplitter.RelType

java.lang.Object
org.apache.calcite.rel.rules.CalcRelSplitter.RelType
Enclosing class:
CalcRelSplitter

public abstract static class CalcRelSplitter.RelType extends Object
Type of relational expression. Determines which kinds of expressions it can handle.
  • Constructor Details

    • RelType

      protected RelType(String name)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • canImplement

      protected abstract boolean canImplement(RexFieldAccess field)
    • canImplement

      protected abstract boolean canImplement(RexDynamicParam param)
    • canImplement

      protected abstract boolean canImplement(RexLiteral literal)
    • canImplement

      protected abstract boolean canImplement(RexCall call)
    • supportsCondition

      protected boolean supportsCondition()
    • makeRel

      protected RelNode makeRel(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode input, RexProgram program)
    • canImplement

      public boolean canImplement(RexNode expr, boolean condition)
      Returns whether this RelType can implement a given expression.
      Parameters:
      expr - Expression
      condition - Whether expression is a condition
      Returns:
      Whether this RelType can implement a given expression.
    • canImplement

      public boolean canImplement(RexProgram program)
      Returns whether this tester's RelType can implement a given program.
      Parameters:
      program - Program
      Returns:
      Whether this tester's RelType can implement a given program.