Class CalcRelSplitter.RelType

  • Enclosing class:
    CalcRelSplitter

    public abstract static class CalcRelSplitter.RelType
    extends java.lang.Object
    Type of relational expression. Determines which kinds of expressions it can handle.
    • Field Detail

      • name

        private final java.lang.String name
    • Constructor Detail

      • RelType

        public RelType​(java.lang.String name)
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.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()
      • 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.