SubqueryExpression is an extension of the PlanExpression abstraction for subquery expressions with BaseSubqueryExec physical operators (for a subquery).
Updates the expression with a collected result from an executed plan
updateResult is used when
SparkPlan is requested to waitForSubqueries.
plan: BaseSubqueryExec): ExecSubqueryExpression
withNewPlan is part of the PlanExpression abstraction and is defined as follows:
withNewPlan(plan: T): PlanExpression[T]
The purpose of this override method is to change the input and output generic types to the concrete BaseSubqueryExec and