SubqueryExpression Contract — Expressions With Logical Query Plans

SubqueryExpression is the contract for expressions with logical query plans (i.e. PlanExpression[LogicalPlan]).

package org.apache.spark.sql.catalyst.expressions

abstract class SubqueryExpression(
    plan: LogicalPlan,
    children: Seq[Expression],
    exprId: ExprId) extends PlanExpression[LogicalPlan] {
  // only required methods that have no implementation
  // the others follow
  override def withNewPlan(plan: LogicalPlan): SubqueryExpression
}
Table 1. (Subset of) SubqueryExpression Contract
Method Description

withNewPlan

Used when:

Table 2. SubqueryExpressions
SubqueryExpression Description

Exists

ListQuery

ScalarSubquery

SubqueryExpression is resolved when the children are resolved and the subquery logical plan is resolved.

references…​FIXME

semanticEquals…​FIXME

canonicalize…​FIXME

hasInOrExistsSubquery Object Method

hasInOrExistsSubquery(e: Expression): Boolean

hasInOrExistsSubquery…​FIXME

Note
hasInOrExistsSubquery is used when…​FIXME

hasCorrelatedSubquery Object Method

hasCorrelatedSubquery(e: Expression): Boolean

hasCorrelatedSubquery…​FIXME

Note
hasCorrelatedSubquery is used when…​FIXME

hasSubquery Utility

hasSubquery(
  e: Expression): Boolean

hasSubquery…​FIXME

Note
hasSubquery is used when…​FIXME

Creating SubqueryExpression Instance

SubqueryExpression takes the following when created:

results matching ""

    No results matching ""