package plans
A collection of common abstractions for query plans as well as a base logical plan representation.
- Alphabetic
- By Inheritance
- plans
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait AliasAwareOutputExpression extends SQLConfHelper
A trait that provides functionality to handle aliases in the
outputExpressions. - trait AliasAwareQueryOutputOrdering[T <: QueryPlan[T]] extends AliasAwareOutputExpression
A trait that handles aliases in the
orderingExpressionsto produceoutputOrderingthat satisfies ordering requirements. - sealed abstract class AsOfJoinDirection extends AnyRef
- case class ExistenceJoin(exists: Attribute) extends JoinType with Product with Serializable
- sealed abstract class InnerLike extends JoinType
The explicitCartesian flag indicates if the inner join was constructed with a CROSS join indicating a cartesian product has been explicitly requested.
- sealed abstract class JoinType extends AnyRef
- case class NaturalJoin(tpe: JoinType) extends JoinType with Product with Serializable
- abstract class QueryPlan[PlanType <: QueryPlan[PlanType]] extends TreeNode[PlanType] with SQLConfHelper
An abstraction of the Spark SQL query plan tree, which can be logical or physical.
An abstraction of the Spark SQL query plan tree, which can be logical or physical. This class defines some basic properties of a query plan node, as well as some new transform APIs to transform the expressions of the plan node.
Note that, the query plan is a mutually recursive structure: QueryPlan -> Expression (subquery) -> QueryPlan The tree traverse APIs like
transform,foreach,collect, etc. that are inherited fromTreeNode, do not traverse into query plans inside subqueries. - trait ReferenceAllColumns[PlanType <: QueryPlan[PlanType]] extends AnyRef
A trait that overrides
referencesusing children output.A trait that overrides
referencesusing children output.It's unnecessary to rewrite attributes for
ReferenceAllColumnssince all of references come from it's children.Note, the only used place is at QueryPlan.transformUpWithNewOutput.
- case class UsingJoin(tpe: JoinType, usingColumns: Seq[String]) extends JoinType with Product with Serializable
Value Members
- object AsOfJoinDirection
- case object Backward extends AsOfJoinDirection with Product with Serializable
- case object Cross extends InnerLike with Product with Serializable
- case object Forward extends AsOfJoinDirection with Product with Serializable
- case object FullOuter extends JoinType with Product with Serializable
- case object Inner extends InnerLike with Product with Serializable
- object JoinType
- case object LeftAnti extends JoinType with Product with Serializable
- object LeftExistence
- case object LeftOuter extends JoinType with Product with Serializable
- case object LeftSemi extends JoinType with Product with Serializable
- object LeftSemiOrAnti
- case object Nearest extends AsOfJoinDirection with Product with Serializable
- object QueryPlan extends PredicateHelper
- case object RightOuter extends JoinType with Product with Serializable