Class DynamicPartitionPruningUtils
java.lang.Object
org.apache.flink.table.planner.utils.DynamicPartitionPruningUtils
Planner utils for Dynamic partition Pruning.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.flink.api.java.tuple.Tuple2<Boolean,org.apache.calcite.rel.RelNode> canConvertAndConvertDppFactSide(org.apache.calcite.rel.RelNode rel, org.apache.calcite.util.ImmutableIntList joinKeys, org.apache.calcite.rel.RelNode dimSide, org.apache.calcite.util.ImmutableIntList dimSideJoinKey) Judge whether the input RelNode can be converted to the dpp fact side.static booleanisDppDimSide(org.apache.calcite.rel.RelNode rel) Judge whether the input RelNode meets the conditions of dimSide.static booleanisSuitableJoin(org.apache.calcite.rel.core.Join join) Judge whether the join node is suitable one for dpp pattern.
-
Constructor Details
-
DynamicPartitionPruningUtils
public DynamicPartitionPruningUtils()
-
-
Method Details
-
isDppDimSide
public static boolean isDppDimSide(org.apache.calcite.rel.RelNode rel) Judge whether the input RelNode meets the conditions of dimSide. If joinKeys is null means we need not consider the join keys in dim side, which already deal by dynamic partition pruning rule. If joinKeys not null means we need to judge whether joinKeys changed in dim side, if changed, this RelNode is not dim side. -
canConvertAndConvertDppFactSide
public static org.apache.flink.api.java.tuple.Tuple2<Boolean,org.apache.calcite.rel.RelNode> canConvertAndConvertDppFactSide(org.apache.calcite.rel.RelNode rel, org.apache.calcite.util.ImmutableIntList joinKeys, org.apache.calcite.rel.RelNode dimSide, org.apache.calcite.util.ImmutableIntList dimSideJoinKey) Judge whether the input RelNode can be converted to the dpp fact side. If the input RelNode can be converted, this method will return the converted fact side whose partitioned table source will be converted toBatchPhysicalDynamicFilteringTableSourceScan, If not, this method will return the origin RelNode. -
isSuitableJoin
public static boolean isSuitableJoin(org.apache.calcite.rel.core.Join join) Judge whether the join node is suitable one for dpp pattern.
-