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 uses the exprId and conditionString to build a textual representation: