Class RexFuzzer

    • Field Detail

      • BOOL_TO_BOOL

        private static final org.apache.calcite.sql.SqlOperator[] BOOL_TO_BOOL
      • ANY_TO_BOOL

        private static final org.apache.calcite.sql.SqlOperator[] ANY_TO_BOOL
      • COMPARABLE_TO_BOOL

        private static final org.apache.calcite.sql.SqlOperator[] COMPARABLE_TO_BOOL
      • BOOL_TO_BOOL_MULTI_ARG

        private static final org.apache.calcite.sql.SqlOperator[] BOOL_TO_BOOL_MULTI_ARG
      • ANY_SAME_TYPE_MULTI_ARG

        private static final org.apache.calcite.sql.SqlOperator[] ANY_SAME_TYPE_MULTI_ARG
      • NUMERIC_TO_NUMERIC

        private static final org.apache.calcite.sql.SqlOperator[] NUMERIC_TO_NUMERIC
      • UNARY_NUMERIC

        private static final org.apache.calcite.sql.SqlOperator[] UNARY_NUMERIC
      • INT_VALUES

        private static final int[] INT_VALUES
      • intType

        private final org.apache.calcite.rel.type.RelDataType intType
      • nullableIntType

        private final org.apache.calcite.rel.type.RelDataType nullableIntType
    • Constructor Detail

      • RexFuzzer

        public RexFuzzer​(org.apache.calcite.rex.RexBuilder rexBuilder,
                         org.apache.calcite.adapter.java.JavaTypeFactory typeFactory)
        Generates randomized RexNode.
        Parameters:
        rexBuilder - builder to be used to create nodes
        typeFactory - type factory
    • Method Detail

      • getExpression

        public org.apache.calcite.rex.RexNode getExpression​(java.util.Random r,
                                                            int depth)
      • fuzzOperator

        private org.apache.calcite.rex.RexNode fuzzOperator​(java.util.Random r,
                                                            org.apache.calcite.sql.SqlOperator[] operators,
                                                            org.apache.calcite.rex.RexNode... args)
      • fuzzOperator

        private org.apache.calcite.rex.RexNode fuzzOperator​(java.util.Random r,
                                                            org.apache.calcite.sql.SqlOperator[] operators,
                                                            int length,
                                                            java.util.function.Function<java.util.Random,​org.apache.calcite.rex.RexNode> factory)
      • getComparableExpression

        public org.apache.calcite.rex.RexNode getComparableExpression​(java.util.Random r,
                                                                      int depth)
      • getSimpleBool

        public org.apache.calcite.rex.RexNode getSimpleBool​(java.util.Random r)
      • getBoolExpression

        public org.apache.calcite.rex.RexNode getBoolExpression​(java.util.Random r,
                                                                int depth)
      • getSimpleInt

        public org.apache.calcite.rex.RexNode getSimpleInt​(java.util.Random r)
      • getIntExpression

        public org.apache.calcite.rex.RexNode getIntExpression​(java.util.Random r,
                                                               int depth)
      • fuzzCase

        public org.apache.calcite.rex.RexNode fuzzCase​(java.util.Random r,
                                                       int depth,
                                                       java.util.function.Function<java.util.Random,​org.apache.calcite.rex.RexNode> resultFactory)