test_class.declarator: relBuilder
test_class.modifier: private
test_class.original_string: private RelBuilder relBuilder;
test_class.type: RelBuilder
test_class.var_name: relBuilder
test_class.declarator: empScan
test_class.modifier: private
test_class.original_string: private RelNode empScan;
test_class.type: RelNode
test_class.var_name: empScan
test_class.declarator: deptScan
test_class.modifier: private
test_class.original_string: private RelNode deptScan;
test_class.type: RelNode
test_class.var_name: deptScan
test_class.declarator: empRow
test_class.modifier: private
test_class.original_string: private RelDataType empRow;
test_class.type: RelDataType
test_class.var_name: empRow
test_class.declarator: deptRow
test_class.modifier: private
test_class.original_string: private RelDataType deptRow;
test_class.type: RelDataType
test_class.var_name: deptRow
test_class.declarator: empDeptJoinRelFields
test_class.modifier: private
test_class.original_string: private List<RelDataTypeField> empDeptJoinRelFields;
test_class.type: List<RelDataTypeField>
test_class.var_name: empDeptJoinRelFields
test_class.file: parser/src/test/java/com/qihoo/qsql/org/apache/calcite/plan/RelOptUtilTest.java
test_class.identifier: RelOptUtilTest
test_case.body: @Test public void testTypeDump() {
      RelDataTypeFactory typeFactory =
          new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT);
      RelDataType t1 =
          typeFactory.builder()
              .add("f0", SqlTypeName.DECIMAL, 5, 2)
              .add("f1", SqlTypeName.VARCHAR, 10)
              .build();
      TestUtil.assertEqualsVerbose(
          TestUtil.fold(
              "f0 DECIMAL(5, 2) NOT NULL,",
              "f1 VARCHAR(10) NOT NULL"),
          Util.toLinux(RelOptUtil.dumpType(t1) + "\n"));
  
      RelDataType t2 =
          typeFactory.builder()
              .add("f0", t1)
              .add("f1", typeFactory.createMultisetType(t1, -1))
              .build();
      TestUtil.assertEqualsVerbose(
          TestUtil.fold(
              "f0 RECORD (",
              "  f0 DECIMAL(5, 2) NOT NULL,",
              "  f1 VARCHAR(10) NOT NULL) NOT NULL,",
              "f1 RECORD (",
              "  f0 DECIMAL(5, 2) NOT NULL,",
              "  f1 VARCHAR(10) NOT NULL) NOT NULL MULTISET NOT NULL"),
          Util.toLinux(RelOptUtil.dumpType(t2) + "\n"));
    }
test_case.class_method_signature: RelOptUtilTest.testTypeDump()
test_case.full_signature: @Test public void testTypeDump()
test_case.identifier: testTypeDump
test_case.invocations: build add add builder assertEqualsVerbose fold toLinux dumpType build add add builder createMultisetType assertEqualsVerbose fold toLinux dumpType
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTypeDump()
focal_class.declarator: B = false
focal_class.modifier: static final
focal_class.original_string: static final boolean B = false;
focal_class.type: boolean
focal_class.var_name: B
focal_class.declarator: EPSILON = 1.0e-5
focal_class.modifier: public static final
focal_class.original_string: public static final double EPSILON = 1.0e-5;
focal_class.type: double
focal_class.var_name: EPSILON
focal_class.declarator: FILTER_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg
focal_class.modifier: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final
focal_class.original_string: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final com.google.common.base.Predicate<Filter>
          FILTER_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg;
focal_class.type: com.google.common.base.Predicate<Filter>
focal_class.var_name: FILTER_PREDICATE
focal_class.declarator: PROJECT_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg
focal_class.modifier: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final
focal_class.original_string: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final com.google.common.base.Predicate<Project>
          PROJECT_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg;
focal_class.type: com.google.common.base.Predicate<Project>
focal_class.var_name: PROJECT_PREDICATE
focal_class.declarator: CALC_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg
focal_class.modifier: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final
focal_class.original_string: @SuppressWarnings("Guava")
      @Deprecated // to be removed before 2.0
      public static final com.google.common.base.Predicate<Calc> CALC_PREDICATE =
          RelOptUtil::containsMultisetOrWindowedAgg;
focal_class.type: com.google.common.base.Predicate<Calc>
focal_class.var_name: CALC_PREDICATE
focal_class.file: parser/src/main/java/com/qihoo/qsql/org/apache/calcite/plan/RelOptUtil.java
focal_class.identifier: RelOptUtil
focal_class.class_method_signature: RelOptUtil.isPureLimit(RelNode rel)
focal_class.full_signature: public static boolean isPureLimit(RelNode rel)
focal_class.identifier: isPureLimit
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: boolean
focal_class.signature: boolean isPureLimit(RelNode rel)
focal_class.class_method_signature: RelOptUtil.isPureOrder(RelNode rel)
focal_class.full_signature: public static boolean isPureOrder(RelNode rel)
focal_class.identifier: isPureOrder
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: boolean
focal_class.signature: boolean isPureOrder(RelNode rel)
focal_class.class_method_signature: RelOptUtil.isLimit(RelNode rel)
focal_class.full_signature: public static boolean isLimit(RelNode rel)
focal_class.identifier: isLimit
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: boolean
focal_class.signature: boolean isLimit(RelNode rel)
focal_class.class_method_signature: RelOptUtil.isOrder(RelNode rel)
focal_class.full_signature: public static boolean isOrder(RelNode rel)
focal_class.identifier: isOrder
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: boolean
focal_class.signature: boolean isOrder(RelNode rel)
focal_class.class_method_signature: RelOptUtil.findTables(RelNode rel)
focal_class.full_signature: public static Set<RelOptTable> findTables(RelNode rel)
focal_class.identifier: findTables
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: Set<RelOptTable>
focal_class.signature: Set<RelOptTable> findTables(RelNode rel)
focal_class.class_method_signature: RelOptUtil.findAllTables(RelNode rel)
focal_class.full_signature: public static List<RelOptTable> findAllTables(RelNode rel)
focal_class.identifier: findAllTables
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: List<RelOptTable>
focal_class.signature: List<RelOptTable> findAllTables(RelNode rel)
focal_class.class_method_signature: RelOptUtil.findAllTableQualifiedNames(RelNode rel)
focal_class.full_signature: public static List<String> findAllTableQualifiedNames(RelNode rel)
focal_class.identifier: findAllTableQualifiedNames
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: List<String>
focal_class.signature: List<String> findAllTableQualifiedNames(RelNode rel)
focal_class.class_method_signature: RelOptUtil.getVariablesSet(RelNode rel)
focal_class.full_signature: public static Set<CorrelationId> getVariablesSet(RelNode rel)
focal_class.identifier: getVariablesSet
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: Set<CorrelationId>
focal_class.signature: Set<CorrelationId> getVariablesSet(RelNode rel)
focal_class.class_method_signature: RelOptUtil.getVariablesSetAndUsed(RelNode rel0,
          RelNode rel1)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static List<CorrelationId> getVariablesSetAndUsed(RelNode rel0,
          RelNode rel1)
focal_class.identifier: getVariablesSetAndUsed
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelNode rel0,
          RelNode rel1)
focal_class.return: List<CorrelationId>
focal_class.signature: List<CorrelationId> getVariablesSetAndUsed(RelNode rel0,
          RelNode rel1)
focal_class.class_method_signature: RelOptUtil.getVariablesUsed(RelNode rel)
focal_class.full_signature: public static Set<CorrelationId> getVariablesUsed(RelNode rel)
focal_class.identifier: getVariablesUsed
focal_class.modifiers: public static
focal_class.parameters: (RelNode rel)
focal_class.return: Set<CorrelationId>
focal_class.signature: Set<CorrelationId> getVariablesUsed(RelNode rel)
focal_class.class_method_signature: RelOptUtil.correlationColumns(CorrelationId id,
          RelNode rel)
focal_class.full_signature: public static ImmutableBitSet correlationColumns(CorrelationId id,
          RelNode rel)
focal_class.identifier: correlationColumns
focal_class.modifiers: public static
focal_class.parameters: (CorrelationId id,
          RelNode rel)
focal_class.return: ImmutableBitSet
focal_class.signature: ImmutableBitSet correlationColumns(CorrelationId id,
          RelNode rel)
focal_class.class_method_signature: RelOptUtil.notContainsCorrelation(RelNode r,
          CorrelationId correlationId, Litmus litmus)
focal_class.full_signature: public static boolean notContainsCorrelation(RelNode r,
          CorrelationId correlationId, Litmus litmus)
focal_class.identifier: notContainsCorrelation
focal_class.modifiers: public static
focal_class.parameters: (RelNode r,
          CorrelationId correlationId, Litmus litmus)
focal_class.return: boolean
focal_class.signature: boolean notContainsCorrelation(RelNode r,
          CorrelationId correlationId, Litmus litmus)
focal_class.class_method_signature: RelOptUtil.go(
          RelVisitor visitor,
          RelNode p)
focal_class.full_signature: public static void go(
          RelVisitor visitor,
          RelNode p)
focal_class.identifier: go
focal_class.modifiers: public static
focal_class.parameters: (
          RelVisitor visitor,
          RelNode p)
focal_class.return: void
focal_class.signature: void go(
          RelVisitor visitor,
          RelNode p)
focal_class.class_method_signature: RelOptUtil.getFieldTypeList(final RelDataType type)
focal_class.full_signature: public static List<RelDataType> getFieldTypeList(final RelDataType type)
focal_class.identifier: getFieldTypeList
focal_class.modifiers: public static
focal_class.parameters: (final RelDataType type)
focal_class.return: List<RelDataType>
focal_class.signature: List<RelDataType> getFieldTypeList(final RelDataType type)
focal_class.class_method_signature: RelOptUtil.areRowTypesEqual(
          RelDataType rowType1,
          RelDataType rowType2,
          boolean compareNames)
focal_class.full_signature: public static boolean areRowTypesEqual(
          RelDataType rowType1,
          RelDataType rowType2,
          boolean compareNames)
focal_class.identifier: areRowTypesEqual
focal_class.modifiers: public static
focal_class.parameters: (
          RelDataType rowType1,
          RelDataType rowType2,
          boolean compareNames)
focal_class.return: boolean
focal_class.signature: boolean areRowTypesEqual(
          RelDataType rowType1,
          RelDataType rowType2,
          boolean compareNames)
focal_class.class_method_signature: RelOptUtil.verifyTypeEquivalence(
          RelNode originalRel,
          RelNode newRel,
          Object equivalenceClass)
focal_class.full_signature: public static void verifyTypeEquivalence(
          RelNode originalRel,
          RelNode newRel,
          Object equivalenceClass)
focal_class.identifier: verifyTypeEquivalence
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode originalRel,
          RelNode newRel,
          Object equivalenceClass)
focal_class.return: void
focal_class.signature: void verifyTypeEquivalence(
          RelNode originalRel,
          RelNode newRel,
          Object equivalenceClass)
focal_class.class_method_signature: RelOptUtil.permutationIgnoreCast(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.full_signature: public static Mappings.TargetMapping permutationIgnoreCast(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.identifier: permutationIgnoreCast
focal_class.modifiers: public static
focal_class.parameters: (
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.return: Mappings.TargetMapping
focal_class.signature: Mappings.TargetMapping permutationIgnoreCast(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.class_method_signature: RelOptUtil.permutation(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.full_signature: public static Mappings.TargetMapping permutation(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.identifier: permutation
focal_class.modifiers: public static
focal_class.parameters: (
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.return: Mappings.TargetMapping
focal_class.signature: Mappings.TargetMapping permutation(
          List<RexNode> nodes,
          RelDataType inputRowType)
focal_class.class_method_signature: RelOptUtil.createExistsPlan(
          RelOptCluster cluster,
          RelNode seekRel,
          List<RexNode> conditions,
          RexLiteral extraExpr,
          String extraName)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createExistsPlan(
          RelOptCluster cluster,
          RelNode seekRel,
          List<RexNode> conditions,
          RexLiteral extraExpr,
          String extraName)
focal_class.identifier: createExistsPlan
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelOptCluster cluster,
          RelNode seekRel,
          List<RexNode> conditions,
          RexLiteral extraExpr,
          String extraName)
focal_class.return: RelNode
focal_class.signature: RelNode createExistsPlan(
          RelOptCluster cluster,
          RelNode seekRel,
          List<RexNode> conditions,
          RexLiteral extraExpr,
          String extraName)
focal_class.class_method_signature: RelOptUtil.createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static Exists createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn)
focal_class.identifier: createExistsPlan
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn)
focal_class.return: Exists
focal_class.signature: Exists createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn)
focal_class.class_method_signature: RelOptUtil.createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn,
          RelBuilder relBuilder)
focal_class.full_signature: public static Exists createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn,
          RelBuilder relBuilder)
focal_class.identifier: createExistsPlan
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn,
          RelBuilder relBuilder)
focal_class.return: Exists
focal_class.signature: Exists createExistsPlan(
          RelNode seekRel,
          SubQueryType subQueryType,
          Logic logic,
          boolean notIn,
          RelBuilder relBuilder)
focal_class.class_method_signature: RelOptUtil.createRenameRel(
          RelDataType outputType,
          RelNode rel)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createRenameRel(
          RelDataType outputType,
          RelNode rel)
focal_class.identifier: createRenameRel
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelDataType outputType,
          RelNode rel)
focal_class.return: RelNode
focal_class.signature: RelNode createRenameRel(
          RelDataType outputType,
          RelNode rel)
focal_class.class_method_signature: RelOptUtil.createFilter(RelNode child, RexNode condition)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createFilter(RelNode child, RexNode condition)
focal_class.identifier: createFilter
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelNode child, RexNode condition)
focal_class.return: RelNode
focal_class.signature: RelNode createFilter(RelNode child, RexNode condition)
focal_class.class_method_signature: RelOptUtil.createFilter(RelNode child, RexNode condition,
          RelFactories.FilterFactory filterFactory)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createFilter(RelNode child, RexNode condition,
          RelFactories.FilterFactory filterFactory)
focal_class.identifier: createFilter
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelNode child, RexNode condition,
          RelFactories.FilterFactory filterFactory)
focal_class.return: RelNode
focal_class.signature: RelNode createFilter(RelNode child, RexNode condition,
          RelFactories.FilterFactory filterFactory)
focal_class.class_method_signature: RelOptUtil.createFilter(RelNode child,
          Iterable<? extends RexNode> conditions)
focal_class.full_signature: public static RelNode createFilter(RelNode child,
          Iterable<? extends RexNode> conditions)
focal_class.identifier: createFilter
focal_class.modifiers: public static
focal_class.parameters: (RelNode child,
          Iterable<? extends RexNode> conditions)
focal_class.return: RelNode
focal_class.signature: RelNode createFilter(RelNode child,
          Iterable<? extends RexNode> conditions)
focal_class.class_method_signature: RelOptUtil.createFilter(RelNode child,
          Iterable<? extends RexNode> conditions,
          RelFactories.FilterFactory filterFactory)
focal_class.full_signature: public static RelNode createFilter(RelNode child,
          Iterable<? extends RexNode> conditions,
          RelFactories.FilterFactory filterFactory)
focal_class.identifier: createFilter
focal_class.modifiers: public static
focal_class.parameters: (RelNode child,
          Iterable<? extends RexNode> conditions,
          RelFactories.FilterFactory filterFactory)
focal_class.return: RelNode
focal_class.signature: RelNode createFilter(RelNode child,
          Iterable<? extends RexNode> conditions,
          RelFactories.FilterFactory filterFactory)
focal_class.class_method_signature: RelOptUtil.createNullFilter(
          RelNode rel,
          Integer[] fieldOrdinals)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createNullFilter(
          RelNode rel,
          Integer[] fieldOrdinals)
focal_class.identifier: createNullFilter
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode rel,
          Integer[] fieldOrdinals)
focal_class.return: RelNode
focal_class.signature: RelNode createNullFilter(
          RelNode rel,
          Integer[] fieldOrdinals)
focal_class.class_method_signature: RelOptUtil.createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename)
focal_class.full_signature: public static RelNode createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename)
focal_class.identifier: createCastRel
focal_class.modifiers: public static
focal_class.parameters: (
          final RelNode rel,
          RelDataType castRowType,
          boolean rename)
focal_class.return: RelNode
focal_class.signature: RelNode createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename)
focal_class.class_method_signature: RelOptUtil.createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename,
          RelFactories.ProjectFactory projectFactory)
focal_class.full_signature: public static RelNode createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename,
          RelFactories.ProjectFactory projectFactory)
focal_class.identifier: createCastRel
focal_class.modifiers: public static
focal_class.parameters: (
          final RelNode rel,
          RelDataType castRowType,
          boolean rename,
          RelFactories.ProjectFactory projectFactory)
focal_class.return: RelNode
focal_class.signature: RelNode createCastRel(
          final RelNode rel,
          RelDataType castRowType,
          boolean rename,
          RelFactories.ProjectFactory projectFactory)
focal_class.class_method_signature: RelOptUtil.getAllFields(Aggregate aggregate)
focal_class.full_signature: public static Set<Integer> getAllFields(Aggregate aggregate)
focal_class.identifier: getAllFields
focal_class.modifiers: public static
focal_class.parameters: (Aggregate aggregate)
focal_class.return: Set<Integer>
focal_class.signature: Set<Integer> getAllFields(Aggregate aggregate)
focal_class.class_method_signature: RelOptUtil.createSingleValueAggRel(
          RelOptCluster cluster,
          RelNode rel)
focal_class.full_signature: public static RelNode createSingleValueAggRel(
          RelOptCluster cluster,
          RelNode rel)
focal_class.identifier: createSingleValueAggRel
focal_class.modifiers: public static
focal_class.parameters: (
          RelOptCluster cluster,
          RelNode rel)
focal_class.return: RelNode
focal_class.signature: RelNode createSingleValueAggRel(
          RelOptCluster cluster,
          RelNode rel)
focal_class.class_method_signature: RelOptUtil.createDistinctRel(RelNode rel)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createDistinctRel(RelNode rel)
focal_class.identifier: createDistinctRel
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelNode rel)
focal_class.return: RelNode
focal_class.signature: RelNode createDistinctRel(RelNode rel)
focal_class.class_method_signature: RelOptUtil.analyzeSimpleEquiJoin(
          LogicalJoin join,
          int[] joinFieldOrdinals)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static boolean analyzeSimpleEquiJoin(
          LogicalJoin join,
          int[] joinFieldOrdinals)
focal_class.identifier: analyzeSimpleEquiJoin
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          LogicalJoin join,
          int[] joinFieldOrdinals)
focal_class.return: boolean
focal_class.signature: boolean analyzeSimpleEquiJoin(
          LogicalJoin join,
          int[] joinFieldOrdinals)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls)
focal_class.full_signature: public static @Nonnull RexNode splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: public static @Nonnull
focal_class.parameters: (
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls)
focal_class.return: RexNode
focal_class.signature: RexNode splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.full_signature: public static void splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.return: void
focal_class.signature: void splitJoinCondition(
          RelNode left,
          RelNode right,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.class_method_signature: RelOptUtil.isEqui(
          RelNode left,
          RelNode right,
          RexNode condition)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static boolean isEqui(
          RelNode left,
          RelNode right,
          RexNode condition)
focal_class.identifier: isEqui
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode left,
          RelNode right,
          RexNode condition)
focal_class.return: boolean
focal_class.signature: boolean isEqui(
          RelNode left,
          RelNode right,
          RexNode condition)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          RelNode leftRel,
          RelNode rightRel,
          RexNode condition,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.full_signature: public static RexNode splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          RelNode leftRel,
          RelNode rightRel,
          RexNode condition,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: public static
focal_class.parameters: (
          List<RelDataTypeField> sysFieldList,
          RelNode leftRel,
          RelNode rightRel,
          RexNode condition,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.return: RexNode
focal_class.signature: RexNode splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          RelNode leftRel,
          RelNode rightRel,
          RexNode condition,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.full_signature: public static @Nonnull RexNode splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: public static @Nonnull
focal_class.parameters: (
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.return: RexNode
focal_class.signature: RexNode splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RexNode splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          LogicalFilter filter,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys)
focal_class.return: RexNode
focal_class.signature: RexNode splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.full_signature: public static RexNode splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: public static
focal_class.parameters: (
          LogicalFilter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.return: RexNode
focal_class.signature: RexNode splitCorrelatedFilterCondition(
          LogicalFilter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          Filter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.full_signature: public static RexNode splitCorrelatedFilterCondition(
          Filter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: public static
focal_class.parameters: (
          Filter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.return: RexNode
focal_class.signature: RexNode splitCorrelatedFilterCondition(
          Filter filter,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          boolean extractCorrelatedFieldAccess)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp,
          List<RexNode> nonEquiList)
focal_class.full_signature: private static void splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp,
          List<RexNode> nonEquiList)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: private static
focal_class.parameters: (
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp,
          List<RexNode> nonEquiList)
focal_class.return: void
focal_class.signature: void splitJoinCondition(
          List<RelDataTypeField> sysFieldList,
          List<RelNode> inputs,
          RexNode condition,
          List<List<RexNode>> joinKeys,
          List<Integer> filterNulls,
          List<SqlOperator> rangeOp,
          List<RexNode> nonEquiList)
focal_class.class_method_signature: RelOptUtil.createEquiJoinCondition(
          final RelNode left, final List<Integer> leftKeys,
          final RelNode right, final List<Integer> rightKeys,
          final RexBuilder rexBuilder)
focal_class.full_signature: public static @Nonnull RexNode createEquiJoinCondition(
          final RelNode left, final List<Integer> leftKeys,
          final RelNode right, final List<Integer> rightKeys,
          final RexBuilder rexBuilder)
focal_class.identifier: createEquiJoinCondition
focal_class.modifiers: public static @Nonnull
focal_class.parameters: (
          final RelNode left, final List<Integer> leftKeys,
          final RelNode right, final List<Integer> rightKeys,
          final RexBuilder rexBuilder)
focal_class.return: RexNode
focal_class.signature: RexNode createEquiJoinCondition(
          final RelNode left, final List<Integer> leftKeys,
          final RelNode right, final List<Integer> rightKeys,
          final RexBuilder rexBuilder)
focal_class.class_method_signature: RelOptUtil.op(SqlKind kind, SqlOperator operator)
focal_class.full_signature: public static SqlOperator op(SqlKind kind, SqlOperator operator)
focal_class.identifier: op
focal_class.modifiers: public static
focal_class.parameters: (SqlKind kind, SqlOperator operator)
focal_class.return: SqlOperator
focal_class.signature: SqlOperator op(SqlKind kind, SqlOperator operator)
focal_class.class_method_signature: RelOptUtil.addJoinKey(
          List<RexNode> joinKeyList,
          RexNode key,
          boolean preserveLastElementInList)
focal_class.full_signature: private static void addJoinKey(
          List<RexNode> joinKeyList,
          RexNode key,
          boolean preserveLastElementInList)
focal_class.identifier: addJoinKey
focal_class.modifiers: private static
focal_class.parameters: (
          List<RexNode> joinKeyList,
          RexNode key,
          boolean preserveLastElementInList)
focal_class.return: void
focal_class.signature: void addJoinKey(
          List<RexNode> joinKeyList,
          RexNode key,
          boolean preserveLastElementInList)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList)
focal_class.full_signature: private static void splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: private static
focal_class.parameters: (
          LogicalFilter filter,
          RexNode condition,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList)
focal_class.return: void
focal_class.signature: void splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexInputRef> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.full_signature: private static void splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: private static
focal_class.parameters: (
          LogicalFilter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.return: void
focal_class.signature: void splitCorrelatedFilterCondition(
          LogicalFilter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.class_method_signature: RelOptUtil.splitCorrelatedFilterCondition(
          Filter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.full_signature: private static void splitCorrelatedFilterCondition(
          Filter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.identifier: splitCorrelatedFilterCondition
focal_class.modifiers: private static
focal_class.parameters: (
          Filter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.return: void
focal_class.signature: void splitCorrelatedFilterCondition(
          Filter filter,
          RexNode condition,
          List<RexNode> joinKeys,
          List<RexNode> correlatedJoinKeys,
          List<RexNode> nonEquiList,
          boolean extractCorrelatedFieldAccess)
focal_class.class_method_signature: RelOptUtil.splitJoinCondition(
          final RexBuilder rexBuilder,
          final int leftFieldCount,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.full_signature: private static void splitJoinCondition(
          final RexBuilder rexBuilder,
          final int leftFieldCount,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.identifier: splitJoinCondition
focal_class.modifiers: private static
focal_class.parameters: (
          final RexBuilder rexBuilder,
          final int leftFieldCount,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.return: void
focal_class.signature: void splitJoinCondition(
          final RexBuilder rexBuilder,
          final int leftFieldCount,
          RexNode condition,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Boolean> filterNulls,
          List<RexNode> nonEquiList)
focal_class.class_method_signature: RelOptUtil.collapseExpandedIsNotDistinctFromExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.full_signature: public static RexCall collapseExpandedIsNotDistinctFromExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.identifier: collapseExpandedIsNotDistinctFromExpr
focal_class.modifiers: public static
focal_class.parameters: (final RexCall call,
          final RexBuilder rexBuilder)
focal_class.return: RexCall
focal_class.signature: RexCall collapseExpandedIsNotDistinctFromExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.class_method_signature: RelOptUtil.doCollapseExpandedIsNotDistinctFromOrExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.full_signature: private static RexCall doCollapseExpandedIsNotDistinctFromOrExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.identifier: doCollapseExpandedIsNotDistinctFromOrExpr
focal_class.modifiers: private static
focal_class.parameters: (final RexCall call,
          final RexBuilder rexBuilder)
focal_class.return: RexCall
focal_class.signature: RexCall doCollapseExpandedIsNotDistinctFromOrExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.class_method_signature: RelOptUtil.doCollapseExpandedIsNotDistinctFromCaseExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.full_signature: private static RexCall doCollapseExpandedIsNotDistinctFromCaseExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.identifier: doCollapseExpandedIsNotDistinctFromCaseExpr
focal_class.modifiers: private static
focal_class.parameters: (final RexCall call,
          final RexBuilder rexBuilder)
focal_class.return: RexCall
focal_class.signature: RexCall doCollapseExpandedIsNotDistinctFromCaseExpr(final RexCall call,
          final RexBuilder rexBuilder)
focal_class.class_method_signature: RelOptUtil.doCollapseExpandedIsNotDistinctFrom(final RexBuilder rexBuilder,
          final RexCall call, RexCall ifNull0Call, RexCall ifNull1Call, RexCall equalsCall)
focal_class.full_signature: private static RexCall doCollapseExpandedIsNotDistinctFrom(final RexBuilder rexBuilder,
          final RexCall call, RexCall ifNull0Call, RexCall ifNull1Call, RexCall equalsCall)
focal_class.identifier: doCollapseExpandedIsNotDistinctFrom
focal_class.modifiers: private static
focal_class.parameters: (final RexBuilder rexBuilder,
          final RexCall call, RexCall ifNull0Call, RexCall ifNull1Call, RexCall equalsCall)
focal_class.return: RexCall
focal_class.signature: RexCall doCollapseExpandedIsNotDistinctFrom(final RexBuilder rexBuilder,
          final RexCall call, RexCall ifNull0Call, RexCall ifNull1Call, RexCall equalsCall)
focal_class.class_method_signature: RelOptUtil.projectJoinInputs(
          RelNode[] inputRels,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          int systemColCount,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Integer> outputProj)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static void projectJoinInputs(
          RelNode[] inputRels,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          int systemColCount,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Integer> outputProj)
focal_class.identifier: projectJoinInputs
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode[] inputRels,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          int systemColCount,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Integer> outputProj)
focal_class.return: void
focal_class.signature: void projectJoinInputs(
          RelNode[] inputRels,
          List<RexNode> leftJoinKeys,
          List<RexNode> rightJoinKeys,
          int systemColCount,
          List<Integer> leftKeys,
          List<Integer> rightKeys,
          List<Integer> outputProj)
focal_class.class_method_signature: RelOptUtil.createProjectJoinRel(
          List<Integer> outputProj,
          RelNode joinRel)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createProjectJoinRel(
          List<Integer> outputProj,
          RelNode joinRel)
focal_class.identifier: createProjectJoinRel
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          List<Integer> outputProj,
          RelNode joinRel)
focal_class.return: RelNode
focal_class.signature: RelNode createProjectJoinRel(
          List<Integer> outputProj,
          RelNode joinRel)
focal_class.class_method_signature: RelOptUtil.registerAbstractRels(RelOptPlanner planner)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static void registerAbstractRels(RelOptPlanner planner)
focal_class.identifier: registerAbstractRels
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerAbstractRels(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerAbstractRules(RelOptPlanner planner)
focal_class.full_signature: @Experimental public static void registerAbstractRules(RelOptPlanner planner)
focal_class.identifier: registerAbstractRules
focal_class.modifiers: @Experimental public static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerAbstractRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerAbstractRelationalRules(RelOptPlanner planner)
focal_class.full_signature: @Experimental public static void registerAbstractRelationalRules(RelOptPlanner planner)
focal_class.identifier: registerAbstractRelationalRules
focal_class.modifiers: @Experimental public static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerAbstractRelationalRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerEnumerableRules(RelOptPlanner planner)
focal_class.full_signature: private static void registerEnumerableRules(RelOptPlanner planner)
focal_class.identifier: registerEnumerableRules
focal_class.modifiers: private static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerEnumerableRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerBaseRules(RelOptPlanner planner)
focal_class.full_signature: private static void registerBaseRules(RelOptPlanner planner)
focal_class.identifier: registerBaseRules
focal_class.modifiers: private static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerBaseRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerReductionRules(RelOptPlanner planner)
focal_class.full_signature: private static void registerReductionRules(RelOptPlanner planner)
focal_class.identifier: registerReductionRules
focal_class.modifiers: private static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerReductionRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerMaterializationRules(RelOptPlanner planner)
focal_class.full_signature: private static void registerMaterializationRules(RelOptPlanner planner)
focal_class.identifier: registerMaterializationRules
focal_class.modifiers: private static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerMaterializationRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerCalcRules(RelOptPlanner planner)
focal_class.full_signature: private static void registerCalcRules(RelOptPlanner planner)
focal_class.identifier: registerCalcRules
focal_class.modifiers: private static
focal_class.parameters: (RelOptPlanner planner)
focal_class.return: void
focal_class.signature: void registerCalcRules(RelOptPlanner planner)
focal_class.class_method_signature: RelOptUtil.registerDefaultRules(RelOptPlanner planner,
          boolean enableMaterialziations, boolean enableBindable)
focal_class.full_signature: @Experimental public static void registerDefaultRules(RelOptPlanner planner,
          boolean enableMaterialziations, boolean enableBindable)
focal_class.identifier: registerDefaultRules
focal_class.modifiers: @Experimental public static
focal_class.parameters: (RelOptPlanner planner,
          boolean enableMaterialziations, boolean enableBindable)
focal_class.return: void
focal_class.signature: void registerDefaultRules(RelOptPlanner planner,
          boolean enableMaterialziations, boolean enableBindable)
focal_class.class_method_signature: RelOptUtil.dumpPlan(
          String header,
          RelNode rel,
          SqlExplainFormat format,
          SqlExplainLevel detailLevel)
focal_class.full_signature: public static String dumpPlan(
          String header,
          RelNode rel,
          SqlExplainFormat format,
          SqlExplainLevel detailLevel)
focal_class.identifier: dumpPlan
focal_class.modifiers: public static
focal_class.parameters: (
          String header,
          RelNode rel,
          SqlExplainFormat format,
          SqlExplainLevel detailLevel)
focal_class.return: String
focal_class.signature: String dumpPlan(
          String header,
          RelNode rel,
          SqlExplainFormat format,
          SqlExplainLevel detailLevel)
focal_class.class_method_signature: RelOptUtil.dumpPlan(
          String header,
          RelNode rel,
          boolean asXml,
          SqlExplainLevel detailLevel)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static String dumpPlan(
          String header,
          RelNode rel,
          boolean asXml,
          SqlExplainLevel detailLevel)
focal_class.identifier: dumpPlan
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          String header,
          RelNode rel,
          boolean asXml,
          SqlExplainLevel detailLevel)
focal_class.return: String
focal_class.signature: String dumpPlan(
          String header,
          RelNode rel,
          boolean asXml,
          SqlExplainLevel detailLevel)
focal_class.class_method_signature: RelOptUtil.createDmlRowType(
          SqlKind kind,
          RelDataTypeFactory typeFactory)
focal_class.full_signature: public static RelDataType createDmlRowType(
          SqlKind kind,
          RelDataTypeFactory typeFactory)
focal_class.identifier: createDmlRowType
focal_class.modifiers: public static
focal_class.parameters: (
          SqlKind kind,
          RelDataTypeFactory typeFactory)
focal_class.return: RelDataType
focal_class.signature: RelDataType createDmlRowType(
          SqlKind kind,
          RelDataTypeFactory typeFactory)
focal_class.class_method_signature: RelOptUtil.eq(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.full_signature: public static boolean eq(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.identifier: eq
focal_class.modifiers: public static
focal_class.parameters: (
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.return: boolean
focal_class.signature: boolean eq(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.class_method_signature: RelOptUtil.equal(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.full_signature: public static boolean equal(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.identifier: equal
focal_class.modifiers: public static
focal_class.parameters: (
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.return: boolean
focal_class.signature: boolean equal(
          final String desc1,
          RelDataType type1,
          final String desc2,
          RelDataType type2,
          Litmus litmus)
focal_class.class_method_signature: RelOptUtil.equalType(String desc0, RelNode rel0, String desc1,
          RelNode rel1, Litmus litmus)
focal_class.full_signature: public static boolean equalType(String desc0, RelNode rel0, String desc1,
          RelNode rel1, Litmus litmus)
focal_class.identifier: equalType
focal_class.modifiers: public static
focal_class.parameters: (String desc0, RelNode rel0, String desc1,
          RelNode rel1, Litmus litmus)
focal_class.return: boolean
focal_class.signature: boolean equalType(String desc0, RelNode rel0, String desc1,
          RelNode rel1, Litmus litmus)
focal_class.class_method_signature: RelOptUtil.isDistinctFrom(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.full_signature: public static RexNode isDistinctFrom(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.identifier: isDistinctFrom
focal_class.modifiers: public static
focal_class.parameters: (
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.return: RexNode
focal_class.signature: RexNode isDistinctFrom(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.class_method_signature: RelOptUtil.isDistinctFromInternal(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.full_signature: private static RexNode isDistinctFromInternal(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.identifier: isDistinctFromInternal
focal_class.modifiers: private static
focal_class.parameters: (
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.return: RexNode
focal_class.signature: RexNode isDistinctFromInternal(
          RexBuilder rexBuilder,
          RexNode x,
          RexNode y,
          boolean neg)
focal_class.class_method_signature: RelOptUtil.toString(final RelNode rel)
focal_class.full_signature: public static String toString(final RelNode rel)
focal_class.identifier: toString
focal_class.modifiers: public static
focal_class.parameters: (final RelNode rel)
focal_class.return: String
focal_class.signature: String toString(final RelNode rel)
focal_class.class_method_signature: RelOptUtil.toString(
          final RelNode rel,
          SqlExplainLevel detailLevel)
focal_class.full_signature: public static String toString(
          final RelNode rel,
          SqlExplainLevel detailLevel)
focal_class.identifier: toString
focal_class.modifiers: public static
focal_class.parameters: (
          final RelNode rel,
          SqlExplainLevel detailLevel)
focal_class.return: String
focal_class.signature: String toString(
          final RelNode rel,
          SqlExplainLevel detailLevel)
focal_class.class_method_signature: RelOptUtil.renameIfNecessary(
          RelNode rel,
          RelDataType desiredRowType)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode renameIfNecessary(
          RelNode rel,
          RelDataType desiredRowType)
focal_class.identifier: renameIfNecessary
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode rel,
          RelDataType desiredRowType)
focal_class.return: RelNode
focal_class.signature: RelNode renameIfNecessary(
          RelNode rel,
          RelDataType desiredRowType)
focal_class.class_method_signature: RelOptUtil.dumpType(RelDataType type)
focal_class.full_signature: public static String dumpType(RelDataType type)
focal_class.identifier: dumpType
focal_class.modifiers: public static
focal_class.parameters: (RelDataType type)
focal_class.return: String
focal_class.signature: String dumpType(RelDataType type)
focal_class.class_method_signature: RelOptUtil.deduplicateColumns(
          List<RelDataTypeField> baseColumns, List<RelDataTypeField> extendedColumns)
focal_class.full_signature: public static List<RelDataTypeField> deduplicateColumns(
          List<RelDataTypeField> baseColumns, List<RelDataTypeField> extendedColumns)
focal_class.identifier: deduplicateColumns
focal_class.modifiers: public static
focal_class.parameters: (
          List<RelDataTypeField> baseColumns, List<RelDataTypeField> extendedColumns)
focal_class.return: List<RelDataTypeField>
focal_class.signature: List<RelDataTypeField> deduplicateColumns(
          List<RelDataTypeField> baseColumns, List<RelDataTypeField> extendedColumns)
focal_class.class_method_signature: RelOptUtil.decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.full_signature: public static void decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.identifier: decomposeConjunction
focal_class.modifiers: public static
focal_class.parameters: (
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.return: void
focal_class.signature: void decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.class_method_signature: RelOptUtil.decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList,
          List<RexNode> notList)
focal_class.full_signature: public static void decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList,
          List<RexNode> notList)
focal_class.identifier: decomposeConjunction
focal_class.modifiers: public static
focal_class.parameters: (
          RexNode rexPredicate,
          List<RexNode> rexList,
          List<RexNode> notList)
focal_class.return: void
focal_class.signature: void decomposeConjunction(
          RexNode rexPredicate,
          List<RexNode> rexList,
          List<RexNode> notList)
focal_class.class_method_signature: RelOptUtil.decomposeDisjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.full_signature: public static void decomposeDisjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.identifier: decomposeDisjunction
focal_class.modifiers: public static
focal_class.parameters: (
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.return: void
focal_class.signature: void decomposeDisjunction(
          RexNode rexPredicate,
          List<RexNode> rexList)
focal_class.class_method_signature: RelOptUtil.conjunctions(RexNode rexPredicate)
focal_class.full_signature: public static List<RexNode> conjunctions(RexNode rexPredicate)
focal_class.identifier: conjunctions
focal_class.modifiers: public static
focal_class.parameters: (RexNode rexPredicate)
focal_class.return: List<RexNode>
focal_class.signature: List<RexNode> conjunctions(RexNode rexPredicate)
focal_class.class_method_signature: RelOptUtil.disjunctions(RexNode rexPredicate)
focal_class.full_signature: public static List<RexNode> disjunctions(RexNode rexPredicate)
focal_class.identifier: disjunctions
focal_class.modifiers: public static
focal_class.parameters: (RexNode rexPredicate)
focal_class.return: List<RexNode>
focal_class.signature: List<RexNode> disjunctions(RexNode rexPredicate)
focal_class.class_method_signature: RelOptUtil.andJoinFilters(
          RexBuilder rexBuilder,
          RexNode left,
          RexNode right)
focal_class.full_signature: public static RexNode andJoinFilters(
          RexBuilder rexBuilder,
          RexNode left,
          RexNode right)
focal_class.identifier: andJoinFilters
focal_class.modifiers: public static
focal_class.parameters: (
          RexBuilder rexBuilder,
          RexNode left,
          RexNode right)
focal_class.return: RexNode
focal_class.signature: RexNode andJoinFilters(
          RexBuilder rexBuilder,
          RexNode left,
          RexNode right)
focal_class.class_method_signature: RelOptUtil.inferViewPredicates(Map<Integer, RexNode> projectMap,
          List<RexNode> filters, RexNode constraint)
focal_class.full_signature: public static void inferViewPredicates(Map<Integer, RexNode> projectMap,
          List<RexNode> filters, RexNode constraint)
focal_class.identifier: inferViewPredicates
focal_class.modifiers: public static
focal_class.parameters: (Map<Integer, RexNode> projectMap,
          List<RexNode> filters, RexNode constraint)
focal_class.return: void
focal_class.signature: void inferViewPredicates(Map<Integer, RexNode> projectMap,
          List<RexNode> filters, RexNode constraint)
focal_class.class_method_signature: RelOptUtil.getColumnConstraints(
          ModifiableView modifiableViewTable, RelDataType targetRowType,
          RelDataTypeFactory typeFactory)
focal_class.full_signature: public static Map<Integer, RexNode> getColumnConstraints(
          ModifiableView modifiableViewTable, RelDataType targetRowType,
          RelDataTypeFactory typeFactory)
focal_class.identifier: getColumnConstraints
focal_class.modifiers: public static
focal_class.parameters: (
          ModifiableView modifiableViewTable, RelDataType targetRowType,
          RelDataTypeFactory typeFactory)
focal_class.return: Map<Integer, RexNode>
focal_class.signature: Map<Integer, RexNode> getColumnConstraints(
          ModifiableView modifiableViewTable, RelDataType targetRowType,
          RelDataTypeFactory typeFactory)
focal_class.class_method_signature: RelOptUtil.validateValueAgainstConstraint(SqlNode sourceValue,
          RexNode targetConstraint,
          Supplier<CalciteContextException> errorSupplier)
focal_class.full_signature: public static void validateValueAgainstConstraint(SqlNode sourceValue,
          RexNode targetConstraint,
          Supplier<CalciteContextException> errorSupplier)
focal_class.identifier: validateValueAgainstConstraint
focal_class.modifiers: public static
focal_class.parameters: (SqlNode sourceValue,
          RexNode targetConstraint,
          Supplier<CalciteContextException> errorSupplier)
focal_class.return: void
focal_class.signature: void validateValueAgainstConstraint(SqlNode sourceValue,
          RexNode targetConstraint,
          Supplier<CalciteContextException> errorSupplier)
focal_class.class_method_signature: RelOptUtil.adjustKeys(List<Integer> keys, int adjustment)
focal_class.full_signature: public static List<Integer> adjustKeys(List<Integer> keys, int adjustment)
focal_class.identifier: adjustKeys
focal_class.modifiers: public static
focal_class.parameters: (List<Integer> keys, int adjustment)
focal_class.return: List<Integer>
focal_class.signature: List<Integer> adjustKeys(List<Integer> keys, int adjustment)
focal_class.class_method_signature: RelOptUtil.simplifyJoin(RelNode joinRel,
          ImmutableList<RexNode> aboveFilters,
          JoinRelType joinType)
focal_class.full_signature: public static JoinRelType simplifyJoin(RelNode joinRel,
          ImmutableList<RexNode> aboveFilters,
          JoinRelType joinType)
focal_class.identifier: simplifyJoin
focal_class.modifiers: public static
focal_class.parameters: (RelNode joinRel,
          ImmutableList<RexNode> aboveFilters,
          JoinRelType joinType)
focal_class.return: JoinRelType
focal_class.signature: JoinRelType simplifyJoin(RelNode joinRel,
          ImmutableList<RexNode> aboveFilters,
          JoinRelType joinType)
focal_class.class_method_signature: RelOptUtil.classifyFilters(
          RelNode joinRel,
          List<RexNode> filters,
          JoinRelType joinType,
          boolean pushInto,
          boolean pushLeft,
          boolean pushRight,
          List<RexNode> joinFilters,
          List<RexNode> leftFilters,
          List<RexNode> rightFilters)
focal_class.full_signature: public static boolean classifyFilters(
          RelNode joinRel,
          List<RexNode> filters,
          JoinRelType joinType,
          boolean pushInto,
          boolean pushLeft,
          boolean pushRight,
          List<RexNode> joinFilters,
          List<RexNode> leftFilters,
          List<RexNode> rightFilters)
focal_class.identifier: classifyFilters
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode joinRel,
          List<RexNode> filters,
          JoinRelType joinType,
          boolean pushInto,
          boolean pushLeft,
          boolean pushRight,
          List<RexNode> joinFilters,
          List<RexNode> leftFilters,
          List<RexNode> rightFilters)
focal_class.return: boolean
focal_class.signature: boolean classifyFilters(
          RelNode joinRel,
          List<RexNode> filters,
          JoinRelType joinType,
          boolean pushInto,
          boolean pushLeft,
          boolean pushRight,
          List<RexNode> joinFilters,
          List<RexNode> leftFilters,
          List<RexNode> rightFilters)
focal_class.class_method_signature: RelOptUtil.shiftFilter(
          int start,
          int end,
          int offset,
          RexBuilder rexBuilder,
          List<RelDataTypeField> joinFields,
          int nTotalFields,
          List<RelDataTypeField> rightFields,
          RexNode filter)
focal_class.full_signature: private static RexNode shiftFilter(
          int start,
          int end,
          int offset,
          RexBuilder rexBuilder,
          List<RelDataTypeField> joinFields,
          int nTotalFields,
          List<RelDataTypeField> rightFields,
          RexNode filter)
focal_class.identifier: shiftFilter
focal_class.modifiers: private static
focal_class.parameters: (
          int start,
          int end,
          int offset,
          RexBuilder rexBuilder,
          List<RelDataTypeField> joinFields,
          int nTotalFields,
          List<RelDataTypeField> rightFields,
          RexNode filter)
focal_class.return: RexNode
focal_class.signature: RexNode shiftFilter(
          int start,
          int end,
          int offset,
          RexBuilder rexBuilder,
          List<RelDataTypeField> joinFields,
          int nTotalFields,
          List<RelDataTypeField> rightFields,
          RexNode filter)
focal_class.class_method_signature: RelOptUtil.splitFilters(
          ImmutableBitSet childBitmap,
          RexNode predicate,
          List<RexNode> pushable,
          List<RexNode> notPushable)
focal_class.full_signature: public static void splitFilters(
          ImmutableBitSet childBitmap,
          RexNode predicate,
          List<RexNode> pushable,
          List<RexNode> notPushable)
focal_class.identifier: splitFilters
focal_class.modifiers: public static
focal_class.parameters: (
          ImmutableBitSet childBitmap,
          RexNode predicate,
          List<RexNode> pushable,
          List<RexNode> notPushable)
focal_class.return: void
focal_class.signature: void splitFilters(
          ImmutableBitSet childBitmap,
          RexNode predicate,
          List<RexNode> pushable,
          List<RexNode> notPushable)
focal_class.class_method_signature: RelOptUtil.checkProjAndChildInputs(
          Project project,
          boolean checkNames)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static boolean checkProjAndChildInputs(
          Project project,
          boolean checkNames)
focal_class.identifier: checkProjAndChildInputs
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          Project project,
          boolean checkNames)
focal_class.return: boolean
focal_class.signature: boolean checkProjAndChildInputs(
          Project project,
          boolean checkNames)
focal_class.class_method_signature: RelOptUtil.createSwappedJoinExprs(
          RelNode newJoin,
          Join origJoin,
          boolean origOrder)
focal_class.full_signature: public static List<RexNode> createSwappedJoinExprs(
          RelNode newJoin,
          Join origJoin,
          boolean origOrder)
focal_class.identifier: createSwappedJoinExprs
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode newJoin,
          Join origJoin,
          boolean origOrder)
focal_class.return: List<RexNode>
focal_class.signature: List<RexNode> createSwappedJoinExprs(
          RelNode newJoin,
          Join origJoin,
          boolean origOrder)
focal_class.class_method_signature: RelOptUtil.pushFilterPastProject(RexNode filter,
          final Project projRel)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RexNode pushFilterPastProject(RexNode filter,
          final Project projRel)
focal_class.identifier: pushFilterPastProject
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RexNode filter,
          final Project projRel)
focal_class.return: RexNode
focal_class.signature: RexNode pushFilterPastProject(RexNode filter,
          final Project projRel)
focal_class.class_method_signature: RelOptUtil.pushPastProject(RexNode node, Project project)
focal_class.full_signature: public static RexNode pushPastProject(RexNode node, Project project)
focal_class.identifier: pushPastProject
focal_class.modifiers: public static
focal_class.parameters: (RexNode node, Project project)
focal_class.return: RexNode
focal_class.signature: RexNode pushPastProject(RexNode node, Project project)
focal_class.class_method_signature: RelOptUtil.pushPastProject(List<? extends RexNode> nodes,
          Project project)
focal_class.full_signature: public static List<RexNode> pushPastProject(List<? extends RexNode> nodes,
          Project project)
focal_class.identifier: pushPastProject
focal_class.modifiers: public static
focal_class.parameters: (List<? extends RexNode> nodes,
          Project project)
focal_class.return: List<RexNode>
focal_class.signature: List<RexNode> pushPastProject(List<? extends RexNode> nodes,
          Project project)
focal_class.class_method_signature: RelOptUtil.pushShuttle(final Project project)
focal_class.full_signature: private static RexShuttle pushShuttle(final Project project)
focal_class.identifier: pushShuttle
focal_class.modifiers: private static
focal_class.parameters: (final Project project)
focal_class.return: RexShuttle
focal_class.signature: RexShuttle pushShuttle(final Project project)
focal_class.class_method_signature: RelOptUtil.projectMultiJoin(
          MultiJoin multiJoin,
          Project project)
focal_class.full_signature: public static MultiJoin projectMultiJoin(
          MultiJoin multiJoin,
          Project project)
focal_class.identifier: projectMultiJoin
focal_class.modifiers: public static
focal_class.parameters: (
          MultiJoin multiJoin,
          Project project)
focal_class.return: MultiJoin
focal_class.signature: MultiJoin projectMultiJoin(
          MultiJoin multiJoin,
          Project project)
focal_class.class_method_signature: RelOptUtil.addTrait(
          T rel, RelTrait trait)
focal_class.full_signature: public static T addTrait(
          T rel, RelTrait trait)
focal_class.identifier: addTrait
focal_class.modifiers: public static
focal_class.parameters: (
          T rel, RelTrait trait)
focal_class.return: T
focal_class.signature: T addTrait(
          T rel, RelTrait trait)
focal_class.class_method_signature: RelOptUtil.replaceInput(
          RelNode parent, int ordinal, RelNode newInput)
focal_class.full_signature: public static RelNode replaceInput(
          RelNode parent, int ordinal, RelNode newInput)
focal_class.identifier: replaceInput
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode parent, int ordinal, RelNode newInput)
focal_class.return: RelNode
focal_class.signature: RelNode replaceInput(
          RelNode parent, int ordinal, RelNode newInput)
focal_class.class_method_signature: RelOptUtil.createProject(
          RelNode child,
          Mappings.TargetMapping mapping)
focal_class.full_signature: public static RelNode createProject(
          RelNode child,
          Mappings.TargetMapping mapping)
focal_class.identifier: createProject
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode child,
          Mappings.TargetMapping mapping)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(
          RelNode child,
          Mappings.TargetMapping mapping)
focal_class.class_method_signature: RelOptUtil.createProject(RelNode child, Mappings.TargetMapping mapping,
          RelFactories.ProjectFactory projectFactory)
focal_class.full_signature: public static RelNode createProject(RelNode child, Mappings.TargetMapping mapping,
          RelFactories.ProjectFactory projectFactory)
focal_class.identifier: createProject
focal_class.modifiers: public static
focal_class.parameters: (RelNode child, Mappings.TargetMapping mapping,
          RelFactories.ProjectFactory projectFactory)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(RelNode child, Mappings.TargetMapping mapping,
          RelFactories.ProjectFactory projectFactory)
focal_class.class_method_signature: RelOptUtil.contains(RelNode ancestor, final RelNode target)
focal_class.full_signature: public static boolean contains(RelNode ancestor, final RelNode target)
focal_class.identifier: contains
focal_class.modifiers: public static
focal_class.parameters: (RelNode ancestor, final RelNode target)
focal_class.return: boolean
focal_class.signature: boolean contains(RelNode ancestor, final RelNode target)
focal_class.class_method_signature: RelOptUtil.replace(RelNode query, RelNode find, RelNode replace)
focal_class.full_signature: public static RelNode replace(RelNode query, RelNode find, RelNode replace)
focal_class.identifier: replace
focal_class.modifiers: public static
focal_class.parameters: (RelNode query, RelNode find, RelNode replace)
focal_class.return: RelNode
focal_class.signature: RelNode replace(RelNode query, RelNode find, RelNode replace)
focal_class.class_method_signature: RelOptUtil.replaceRecurse(
          RelNode query, RelNode find, RelNode replace)
focal_class.full_signature: private static RelNode replaceRecurse(
          RelNode query, RelNode find, RelNode replace)
focal_class.identifier: replaceRecurse
focal_class.modifiers: private static
focal_class.parameters: (
          RelNode query, RelNode find, RelNode replace)
focal_class.return: RelNode
focal_class.signature: RelNode replaceRecurse(
          RelNode query, RelNode find, RelNode replace)
focal_class.class_method_signature: RelOptUtil.getContext(RelOptCluster cluster)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelOptTable.ToRelContext getContext(RelOptCluster cluster)
focal_class.identifier: getContext
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (RelOptCluster cluster)
focal_class.return: RelOptTable.ToRelContext
focal_class.signature: RelOptTable.ToRelContext getContext(RelOptCluster cluster)
focal_class.class_method_signature: RelOptUtil.countJoins(RelNode rootRel)
focal_class.full_signature: public static int countJoins(RelNode rootRel)
focal_class.identifier: countJoins
focal_class.modifiers: public static
focal_class.parameters: (RelNode rootRel)
focal_class.return: int
focal_class.signature: int countJoins(RelNode rootRel)
focal_class.class_method_signature: RelOptUtil.permute(RelDataTypeFactory typeFactory,
          RelDataType rowType, Mapping mapping)
focal_class.full_signature: public static RelDataType permute(RelDataTypeFactory typeFactory,
          RelDataType rowType, Mapping mapping)
focal_class.identifier: permute
focal_class.modifiers: public static
focal_class.parameters: (RelDataTypeFactory typeFactory,
          RelDataType rowType, Mapping mapping)
focal_class.return: RelDataType
focal_class.signature: RelDataType permute(RelDataTypeFactory typeFactory,
          RelDataType rowType, Mapping mapping)
focal_class.class_method_signature: RelOptUtil.createProject(
          RelNode child,
          List<? extends RexNode> exprList,
          List<String> fieldNameList)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprList,
          List<String> fieldNameList)
focal_class.identifier: createProject
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode child,
          List<? extends RexNode> exprList,
          List<String> fieldNameList)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprList,
          List<String> fieldNameList)
focal_class.class_method_signature: RelOptUtil.createProject(
          RelNode child,
          List<Pair<RexNode, String>> projectList,
          boolean optimize)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createProject(
          RelNode child,
          List<Pair<RexNode, String>> projectList,
          boolean optimize)
focal_class.identifier: createProject
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode child,
          List<Pair<RexNode, String>> projectList,
          boolean optimize)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(
          RelNode child,
          List<Pair<RexNode, String>> projectList,
          boolean optimize)
focal_class.class_method_signature: RelOptUtil.createProject(final RelNode child,
          final List<Integer> posList)
focal_class.full_signature: public static RelNode createProject(final RelNode child,
          final List<Integer> posList)
focal_class.identifier: createProject
focal_class.modifiers: public static
focal_class.parameters: (final RelNode child,
          final List<Integer> posList)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(final RelNode child,
          final List<Integer> posList)
focal_class.class_method_signature: RelOptUtil.createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize)
focal_class.identifier: createProject
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize)
focal_class.class_method_signature: RelOptUtil.createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize,
          RelBuilder relBuilder)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize,
          RelBuilder relBuilder)
focal_class.identifier: createProject
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize,
          RelBuilder relBuilder)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(
          RelNode child,
          List<? extends RexNode> exprs,
          List<String> fieldNames,
          boolean optimize,
          RelBuilder relBuilder)
focal_class.class_method_signature: RelOptUtil.createRename(
          RelNode rel,
          List<String> fieldNames)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode createRename(
          RelNode rel,
          List<String> fieldNames)
focal_class.identifier: createRename
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode rel,
          List<String> fieldNames)
focal_class.return: RelNode
focal_class.signature: RelNode createRename(
          RelNode rel,
          List<String> fieldNames)
focal_class.class_method_signature: RelOptUtil.permute(
          RelNode rel,
          Permutation permutation,
          List<String> fieldNames)
focal_class.full_signature: public static RelNode permute(
          RelNode rel,
          Permutation permutation,
          List<String> fieldNames)
focal_class.identifier: permute
focal_class.modifiers: public static
focal_class.parameters: (
          RelNode rel,
          Permutation permutation,
          List<String> fieldNames)
focal_class.return: RelNode
focal_class.signature: RelNode permute(
          RelNode rel,
          Permutation permutation,
          List<String> fieldNames)
focal_class.class_method_signature: RelOptUtil.createProject(final RelFactories.ProjectFactory factory,
          final RelNode child, final List<Integer> posList)
focal_class.full_signature: public static RelNode createProject(final RelFactories.ProjectFactory factory,
          final RelNode child, final List<Integer> posList)
focal_class.identifier: createProject
focal_class.modifiers: public static
focal_class.parameters: (final RelFactories.ProjectFactory factory,
          final RelNode child, final List<Integer> posList)
focal_class.return: RelNode
focal_class.signature: RelNode createProject(final RelFactories.ProjectFactory factory,
          final RelNode child, final List<Integer> posList)
focal_class.class_method_signature: RelOptUtil.projectMapping(
          RelNode rel,
          Mapping mapping,
          List<String> fieldNames,
          RelFactories.ProjectFactory projectFactory)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode projectMapping(
          RelNode rel,
          Mapping mapping,
          List<String> fieldNames,
          RelFactories.ProjectFactory projectFactory)
focal_class.identifier: projectMapping
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (
          RelNode rel,
          Mapping mapping,
          List<String> fieldNames,
          RelFactories.ProjectFactory projectFactory)
focal_class.return: RelNode
focal_class.signature: RelNode projectMapping(
          RelNode rel,
          Mapping mapping,
          List<String> fieldNames,
          RelFactories.ProjectFactory projectFactory)
focal_class.class_method_signature: RelOptUtil.containsMultisetOrWindowedAgg(Calc calc)
focal_class.full_signature: public static boolean containsMultisetOrWindowedAgg(Calc calc)
focal_class.identifier: containsMultisetOrWindowedAgg
focal_class.modifiers: public static
focal_class.parameters: (Calc calc)
focal_class.return: boolean
focal_class.signature: boolean containsMultisetOrWindowedAgg(Calc calc)
focal_class.class_method_signature: RelOptUtil.containsMultisetOrWindowedAgg(Filter filter)
focal_class.full_signature: public static boolean containsMultisetOrWindowedAgg(Filter filter)
focal_class.identifier: containsMultisetOrWindowedAgg
focal_class.modifiers: public static
focal_class.parameters: (Filter filter)
focal_class.return: boolean
focal_class.signature: boolean containsMultisetOrWindowedAgg(Filter filter)
focal_class.class_method_signature: RelOptUtil.containsMultisetOrWindowedAgg(Project project)
focal_class.full_signature: public static boolean containsMultisetOrWindowedAgg(Project project)
focal_class.identifier: containsMultisetOrWindowedAgg
focal_class.modifiers: public static
focal_class.parameters: (Project project)
focal_class.return: boolean
focal_class.signature: boolean containsMultisetOrWindowedAgg(Project project)
focal_class.class_method_signature: RelOptUtil.pushDownJoinConditions(Join originalJoin,
          RelBuilder relBuilder)
focal_class.full_signature: public static RelNode pushDownJoinConditions(Join originalJoin,
          RelBuilder relBuilder)
focal_class.identifier: pushDownJoinConditions
focal_class.modifiers: public static
focal_class.parameters: (Join originalJoin,
          RelBuilder relBuilder)
focal_class.return: RelNode
focal_class.signature: RelNode pushDownJoinConditions(Join originalJoin,
          RelBuilder relBuilder)
focal_class.class_method_signature: RelOptUtil.pushDownJoinConditions(Join originalJoin)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode pushDownJoinConditions(Join originalJoin)
focal_class.identifier: pushDownJoinConditions
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (Join originalJoin)
focal_class.return: RelNode
focal_class.signature: RelNode pushDownJoinConditions(Join originalJoin)
focal_class.class_method_signature: RelOptUtil.pushDownJoinConditions(Join originalJoin,
          RelFactories.ProjectFactory projectFactory)
focal_class.full_signature: @Deprecated // to be removed before 2.0 public static RelNode pushDownJoinConditions(Join originalJoin,
          RelFactories.ProjectFactory projectFactory)
focal_class.identifier: pushDownJoinConditions
focal_class.modifiers: @Deprecated // to be removed before 2.0 public static
focal_class.parameters: (Join originalJoin,
          RelFactories.ProjectFactory projectFactory)
focal_class.return: RelNode
focal_class.signature: RelNode pushDownJoinConditions(Join originalJoin,
          RelFactories.ProjectFactory projectFactory)
focal_class.class_method_signature: RelOptUtil.pushDownJoinConditions(Join originalJoin,
          RelBuilderFactory relBuilderFactory)
focal_class.full_signature: private static RelNode pushDownJoinConditions(Join originalJoin,
          RelBuilderFactory relBuilderFactory)
focal_class.identifier: pushDownJoinConditions
focal_class.modifiers: private static
focal_class.parameters: (Join originalJoin,
          RelBuilderFactory relBuilderFactory)
focal_class.return: RelNode
focal_class.signature: RelNode pushDownJoinConditions(Join originalJoin,
          RelBuilderFactory relBuilderFactory)
focal_class.class_method_signature: RelOptUtil.containsGet(RexNode node)
focal_class.full_signature: private static boolean containsGet(RexNode node)
focal_class.identifier: containsGet
focal_class.modifiers: private static
focal_class.parameters: (RexNode node)
focal_class.return: boolean
focal_class.signature: boolean containsGet(RexNode node)
focal_class.class_method_signature: RelOptUtil.pushDownEqualJoinConditions(
          RexNode condition,
          int leftCount,
          int rightCount,
          List<RexNode> extraLeftExprs,
          List<RexNode> extraRightExprs,
          RexBuilder builder)
focal_class.full_signature: private static RexNode pushDownEqualJoinConditions(
          RexNode condition,
          int leftCount,
          int rightCount,
          List<RexNode> extraLeftExprs,
          List<RexNode> extraRightExprs,
          RexBuilder builder)
focal_class.identifier: pushDownEqualJoinConditions
focal_class.modifiers: private static
focal_class.parameters: (
          RexNode condition,
          int leftCount,
          int rightCount,
          List<RexNode> extraLeftExprs,
          List<RexNode> extraRightExprs,
          RexBuilder builder)
focal_class.return: RexNode
focal_class.signature: RexNode pushDownEqualJoinConditions(
          RexNode condition,
          int leftCount,
          int rightCount,
          List<RexNode> extraLeftExprs,
          List<RexNode> extraRightExprs,
          RexBuilder builder)
focal_class.class_method_signature: RelOptUtil.fix(List<RexNode> operands, int before, int after)
focal_class.full_signature: private static void fix(List<RexNode> operands, int before, int after)
focal_class.identifier: fix
focal_class.modifiers: private static
focal_class.parameters: (List<RexNode> operands, int before, int after)
focal_class.return: void
focal_class.signature: void fix(List<RexNode> operands, int before, int after)
focal_class.class_method_signature: RelOptUtil.containsNullableFields(RelNode r)
focal_class.full_signature: private static boolean containsNullableFields(RelNode r)
focal_class.identifier: containsNullableFields
focal_class.modifiers: private static
focal_class.parameters: (RelNode r)
focal_class.return: boolean
focal_class.signature: boolean containsNullableFields(RelNode r)
focal_method.body: public static String dumpType(RelDataType type) {
          final StringWriter sw = new StringWriter();
          final PrintWriter pw = new PrintWriter(sw);
          final TypeDumper typeDumper = new TypeDumper(pw);
          if (type.isStruct()) {
              typeDumper.acceptFields(type.getFieldList());
          } else {
              typeDumper.accept(type);
          }
          pw.flush();
          return sw.toString();
      }
focal_method.class_method_signature: RelOptUtil.dumpType(RelDataType type)
focal_method.full_signature: public static String dumpType(RelDataType type)
focal_method.identifier: dumpType
focal_method.invocations: isStruct acceptFields getFieldList accept flush toString
focal_method.modifiers: public static
focal_method.parameters: (RelDataType type)
focal_method.return: String
focal_method.signature: String dumpType(RelDataType type)