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.rel.RelNode |
createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory factory,
org.apache.calcite.rel.RelNode child,
List<Integer> posList)
Creates a relational expression that projects the given fields of the
input.
|
static org.apache.calcite.rex.RexNode |
splitHiveJoinCondition(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.
|
addTrait, adjustKeys, analyzeSimpleEquiJoin, andJoinFilters, areRowTypesEqual, checkProjAndChildInputs, classifyFilters, conjunctions, contains, correlationColumns, countJoins, createCastRel, createCastRel, createDistinctRel, createDmlRowType, createEquiJoinCondition, createExistsPlan, createExistsPlan, createFilter, createFilter, createFilter, createFilter, createNullFilter, createProject, createProject, 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, inferViewPredicates, isDistinctFrom, isEqui, notContainsCorrelation, op, permutation, permute, permute, projectJoinInputs, projectMapping, projectMultiJoin, pushDownJoinConditions, pushDownJoinConditions, pushDownJoinConditions, pushFilterPastProject, pushPastProject, pushPastProject, registerAbstractRels, renameIfNecessary, replace, replaceInput, simplifyJoin, splitCorrelatedFilterCondition, splitCorrelatedFilterCondition, splitFilters, splitJoinCondition, splitJoinCondition, splitJoinCondition, toString, toString, verifyTypeEquivalence
public static org.apache.calcite.rex.RexNode splitHiveJoinCondition(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) throws CalciteSemanticException
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
returnedCalciteSemanticException
public static org.apache.calcite.rel.RelNode createProject(org.apache.calcite.rel.core.RelFactories.ProjectFactory factory, org.apache.calcite.rel.RelNode child, List<Integer> posList)
Optimizes if the fields are the identity projection.
factory
- ProjectFactorychild
- Input relational expressionposList
- Source of each projected fieldCopyright © 2016 The Apache Software Foundation. All rights reserved.