DynamicPruningSubquery Unevaluable Subquery Unary Expression¶
DynamicPruningSubquery is a SubqueryExpression and a DynamicPruning predicate expression.
DynamicPruningSubquery is an Unevaluable expression.
DynamicPruningSubquery is used in the following logical and physical optimizations:
- InjectRuntimeFilter logical optimization
- InsertAdaptiveSparkPlan physical optimization
- PlanDynamicPruningFilters physical optimization
Creating Instance¶
DynamicPruningSubquery takes the following to be created:
- Pruning Key Expression
- Build Query LogicalPlan
- Build Keys Expressions
- Broadcast Key Index
-
onlyInBroadcastFlag -
ExprId(default:NamedExpression.newExprId)
DynamicPruningSubquery is created when:
- PartitionPruning logical optimization is executed
Adaptive Query Planning¶
DynamicPruningSubquery is planned as DynamicPruningExpression (with InSubqueryExec child expression) in PlanAdaptiveSubqueries physical optimization.
Textual Representation¶
toString: String
toString uses the exprId and conditionString to build a textual representation:
dynamicpruning#[exprId] [conditionString]