public class HiveRelOptUtil
extends org.apache.calcite.plan.RelOptUtil
org.apache.calcite.plan.RelOptUtil.InputFinder, org.apache.calcite.plan.RelOptUtil.InputReferencedVisitor, org.apache.calcite.plan.RelOptUtil.Logic, org.apache.calcite.plan.RelOptUtil.RexInputConverter, org.apache.calcite.plan.RelOptUtil.SubqueryType, org.apache.calcite.plan.RelOptUtil.TypeDumper, org.apache.calcite.plan.RelOptUtil.VariableUsedVisitor
Constructor and Description |
---|
HiveRelOptUtil() |
Modifier and Type | Method and Description |
---|---|
static org.apache.calcite.rex.RexNode |
splitJoinCondition(List<org.apache.calcite.rel.type.RelDataTypeField> sysFieldList,
List<org.apache.calcite.rel.RelNode> inputs,
org.apache.calcite.rex.RexNode condition,
List<List<org.apache.calcite.rex.RexNode>> joinKeys,
List<Integer> filterNulls,
List<org.apache.calcite.sql.SqlOperator> rangeOp)
Splits out the equi-join (and optionally, a single non-equi) components
of a join condition, and returns what's left.
|
static org.apache.calcite.rex.RexNode |
splitJoinCondition(List<org.apache.calcite.rel.type.RelDataTypeField> sysFieldList,
org.apache.calcite.rel.RelNode leftRel,
org.apache.calcite.rel.RelNode rightRel,
org.apache.calcite.rex.RexNode condition,
List<org.apache.calcite.rex.RexNode> leftJoinKeys,
List<org.apache.calcite.rex.RexNode> rightJoinKeys,
List<Integer> filterNulls,
List<org.apache.calcite.sql.SqlOperator> rangeOp)
Splits out the equi-join (and optionally, a single non-equi) components
of a join condition, and returns what's left.
|
addTrait, adjustKeys, analyzeSimpleEquiJoin, andJoinFilters, areRowTypesEqual, checkProjAndChildInputs, classifyFilters, conjunctions, contains, countJoins, createCastRel, createCastRel, createDistinctRel, createDmlRowType, createEquiJoinCondition, createExistsPlan, createExistsPlan, createFilter, createFilter, createFilter, createFilter, createNullFilter, createProject, createProject, createProject, createProject, createProject, createProject, createProjectJoinRel, createRename, createRenameRel, createSingleValueAggRel, createSwappedJoinExprs, decomposeConjunction, decomposeConjunction, decomposeDisjunction, disjunctions, dumpPlan, dumpType, eq, equal, equalType, getContext, getFieldTypeList, getVariablesSet, getVariablesSetAndUsed, getVariablesUsed, go, isDistinctFrom, isEqui, permutation, permute, permute, projectJoinInputs, projectMapping, projectMultiJoin, pushFilterPastProject, registerAbstractRels, renameIfNecessary, replace, replaceInput, simplifyJoin, splitCorrelatedFilterCondition, splitCorrelatedFilterCondition, splitFilters, splitJoinCondition, toString, toString, verifyTypeEquivalence
public static org.apache.calcite.rex.RexNode splitJoinCondition(List<org.apache.calcite.rel.type.RelDataTypeField> sysFieldList, org.apache.calcite.rel.RelNode leftRel, org.apache.calcite.rel.RelNode rightRel, org.apache.calcite.rex.RexNode condition, List<org.apache.calcite.rex.RexNode> leftJoinKeys, List<org.apache.calcite.rex.RexNode> rightJoinKeys, List<Integer> filterNulls, List<org.apache.calcite.sql.SqlOperator> rangeOp)
sysFieldList
- list of system fieldsleftRel
- left join inputrightRel
- right join inputcondition
- join conditionleftJoinKeys
- The join keys from the left input which are equi-join
keysrightJoinKeys
- The join keys from the right input which are
equi-join keysfilterNulls
- The join key positions for which null values will not
match. null values only match for the "is not distinct
from" condition.rangeOp
- if null, only locate equi-joins; otherwise, locate a
single non-equi join predicate and return its operator
in this list; join keys associated with the non-equi
join predicate are at the end of the key lists
returnedpublic static org.apache.calcite.rex.RexNode splitJoinCondition(List<org.apache.calcite.rel.type.RelDataTypeField> sysFieldList, List<org.apache.calcite.rel.RelNode> inputs, org.apache.calcite.rex.RexNode condition, List<List<org.apache.calcite.rex.RexNode>> joinKeys, List<Integer> filterNulls, List<org.apache.calcite.sql.SqlOperator> rangeOp)
sysFieldList
- list of system fieldsinputs
- join inputscondition
- join conditionjoinKeys
- The join keys from the inputs which are equi-join
keysfilterNulls
- The join key positions for which null values will not
match. null values only match for the "is not distinct
from" condition.rangeOp
- if null, only locate equi-joins; otherwise, locate a
single non-equi join predicate and return its operator
in this list; join keys associated with the non-equi
join predicate are at the end of the key lists
returnedCopyright © 2017 The Apache Software Foundation. All rights reserved.