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
-
onlyInBroadcast
Flag -
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]