public static class HiveCalciteUtil.JoinPredicateInfo extends Object
JoinPredicateInfo:
1. preserves the order of conjuctive elements for
equi-join(equiJoinPredicateElements)
2. Stores set of projection indexes from left and right child which is part
of equi join keys; the indexes are both in child and Join node schema.
3. Keeps a map of projection indexes that are part of join keys to list of
conjuctive elements(JoinLeafPredicateInfo) that uses them.
Constructor and Description |
---|
HiveCalciteUtil.JoinPredicateInfo(List<HiveCalciteUtil.JoinLeafPredicateInfo> nonEquiJoinPredicateElements,
List<HiveCalciteUtil.JoinLeafPredicateInfo> equiJoinPredicateElements,
List<Set<Integer>> projsJoinKeysInChildSchema,
List<Set<Integer>> projsJoinKeysInJoinSchema,
Map<Integer,com.google.common.collect.ImmutableList<HiveCalciteUtil.JoinLeafPredicateInfo>> mapOfProjIndxInJoinSchemaToLeafPInfo) |
public HiveCalciteUtil.JoinPredicateInfo(List<HiveCalciteUtil.JoinLeafPredicateInfo> nonEquiJoinPredicateElements, List<HiveCalciteUtil.JoinLeafPredicateInfo> equiJoinPredicateElements, List<Set<Integer>> projsJoinKeysInChildSchema, List<Set<Integer>> projsJoinKeysInJoinSchema, Map<Integer,com.google.common.collect.ImmutableList<HiveCalciteUtil.JoinLeafPredicateInfo>> mapOfProjIndxInJoinSchemaToLeafPInfo)
public List<HiveCalciteUtil.JoinLeafPredicateInfo> getNonEquiJoinPredicateElements()
public List<HiveCalciteUtil.JoinLeafPredicateInfo> getEquiJoinPredicateElements()
public Set<Integer> getProjsFromLeftPartOfJoinKeysInChildSchema()
public Set<Integer> getProjsFromRightPartOfJoinKeysInChildSchema()
public Set<Integer> getProjsFromLeftPartOfJoinKeysInJoinSchema()
public Set<Integer> getProjsFromRightPartOfJoinKeysInJoinSchema()
public Map<Integer,com.google.common.collect.ImmutableList<HiveCalciteUtil.JoinLeafPredicateInfo>> getMapOfProjIndxToLeafPInfo()
public static HiveCalciteUtil.JoinPredicateInfo constructJoinPredicateInfo(org.apache.calcite.rel.core.Join j)
public static HiveCalciteUtil.JoinPredicateInfo constructJoinPredicateInfo(org.apache.calcite.rel.rules.MultiJoin mj)
public static HiveCalciteUtil.JoinPredicateInfo constructJoinPredicateInfo(org.apache.calcite.rel.core.Join j, org.apache.calcite.rex.RexNode predicate)
public static HiveCalciteUtil.JoinPredicateInfo constructJoinPredicateInfo(org.apache.calcite.rel.rules.MultiJoin mj, org.apache.calcite.rex.RexNode predicate)
public static HiveCalciteUtil.JoinPredicateInfo constructJoinPredicateInfo(List<org.apache.calcite.rel.RelNode> inputs, List<org.apache.calcite.rel.type.RelDataTypeField> systemFieldList, org.apache.calcite.rex.RexNode predicate)
Copyright © 2017 The Apache Software Foundation. All rights reserved.