Class DynamicPartitionPruningUtils
- java.lang.Object
-
- org.apache.flink.table.planner.utils.DynamicPartitionPruningUtils
-
public class DynamicPartitionPruningUtils extends Object
Planner utils for Dynamic partition Pruning.
-
-
Constructor Summary
Constructors Constructor Description DynamicPartitionPruningUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static 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 boolean
isDppDimSide(org.apache.calcite.rel.RelNode rel)
Judge whether the input RelNode meets the conditions of dimSide.static boolean
isSuitableJoin(org.apache.calcite.rel.core.Join join)
Judge whether the join node is suitable one for dpp pattern.
-
-
-
Method Detail
-
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 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.
-
-