Skip to content

SubqueryExpression Expressions

SubqueryExpression is an extension of the PlanExpression abstraction for subquery expressions with logical plans (for a subquery).

Contract

withNewPlan

withNewPlan(
  plan: LogicalPlan): SubqueryExpression

Note

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, respectively.

Implementations

Creating Instance

SubqueryExpression takes the following to be created:

Abstract Class

SubqueryExpression is an abstract class and cannot be created directly. It is created indirectly for the concrete SubqueryExpressions.

References

references: AttributeSet

references is...FIXME

references is part of the Expression abstraction.

resolved Predicate

resolved: Boolean

resolved is true when all of the following hold:

resolved is part of the Expression abstraction.

hasInOrCorrelatedExistsSubquery Utility

hasInOrCorrelatedExistsSubquery(
  e: Expression): Boolean

hasInOrCorrelatedExistsSubquery...FIXME

hasInOrCorrelatedExistsSubquery is used when RewritePredicateSubquery logical optimization is executed.

hasCorrelatedSubquery Utility

hasCorrelatedSubquery(
  e: Expression): Boolean

hasCorrelatedSubquery...FIXME

hasCorrelatedSubquery is used when:

  • EliminateOuterJoin logical optimization is executed
  • Subquery is created (from an expression)
  • Filter logical operator is requested for validConstraints

hasSubquery Utility

hasSubquery(
  e: Expression): Boolean

hasSubquery...FIXME

hasSubquery is used when...FIXME