withNewHint( hint: Option[HintInfo]): SubqueryExpression
withNewPlan( plan: LogicalPlan): SubqueryExpression
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 LogicalPlan and
SubqueryExpression takes the following to be created:
- Subquery logical plan
- Outer Attributes (Expressions)
- Expression ID
- Join Condition (Expressions)
SubqueryExpression is an abstract class and cannot be created directly. It is created indirectly for the concrete SubqueryExpressions.
references is part of the Expression abstraction.
resolved is part of the Expression abstraction.
true when all of the following hold:
hasInOrCorrelatedExistsSubquery( e: Expression): Boolean
hasInOrCorrelatedExistsSubquery is used when:
- RewritePredicateSubquery logical optimization is executed
hasCorrelatedSubquery( e: Expression): Boolean
Correlated Subquery is a subquery with outer references.
hasCorrelatedSubquery is used when:
- CombineUnions logical optimization is executed
EliminateOuterJoinlogical optimization is executed
OptimizeOneRowRelationSubquerylogical optimization is executed
Subqueryis created (from an expression)
Filterlogical operator is requested for
hasSubquery( e: Expression): Boolean
true when the given Expression contains a subquery (there is a
true when there is at least one outer attribute (among the outerAttrs).
isCorrelated is used when: