trait LogicalPlan extends TreeNode[LogicalPlan] with Product with SQLSig
- Alphabetic
- By Inheritance
- LogicalPlan
- SQLSig
- Product
- Equals
- TreeNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def canEqual(that: Any): Boolean
- Definition Classes
- Equals
- abstract def children: Seq[LogicalPlan]
All child nodes of this plan node
All child nodes of this plan node
- Definition Classes
- LogicalPlan → TreeNode
- abstract def inputAttributes: Seq[Attribute]
- abstract def nodeLocation: Option[NodeLocation]
- returns
the code location in the SQL text if available
- Definition Classes
- TreeNode
- abstract def outputAttributes: Seq[Attribute]
- abstract def productArity: Int
- Definition Classes
- Product
- abstract def productElement(n: Int): Any
- Definition Classes
- Product
- abstract def sig(config: QuerySignatureConfig = QuerySignatureConfig()): String
- Definition Classes
- SQLSig
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def collectExpressions(cond: PartialFunction[Expression, Boolean]): List[Expression]
Collect from all input expressions and report matching expressions
- def copyInstance(newArgs: Seq[AnyRef]): LogicalPlan.this.type
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def expressions: Seq[Expression]
Expressions associated to this LogicalPlan node
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def inputExpressions: List[Expression]
List all input expressions to the plan
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapChildren(f: (LogicalPlan) => LogicalPlan): LogicalPlan
- def modelName: String
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def pp: String
- def productElementName(n: Int): String
- Definition Classes
- Product
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def productIterator: Iterator[Any]
- Definition Classes
- Product
- def productPrefix: String
- Definition Classes
- Product
- lazy val resolved: Boolean
- def resolvedChildren: Boolean
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transform(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
Iterate through LogicalPlans and apply matching rules for transformation.
Iterate through LogicalPlans and apply matching rules for transformation. The transformation will be applied to the current node as well.
- def transformChildExpressions(rule: PartialFunction[Expression, Expression]): LogicalPlan
Transform only child expressions
- def transformChildren(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
Transform child node only once
- def transformChildrenOnce(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
Apply transformOnce for all child nodes.
- def transformExpressions(rule: PartialFunction[Expression, Expression]): LogicalPlan
Recursively transform all nested expressions
- def transformOnce(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
Traverse the tree until finding the nodes matching the pattern.
Traverse the tree until finding the nodes matching the pattern. All nodes found from the root will be transformed, and no further recursive match will occur from the transformed nodes.
If you want to continue the transformation for the child nodes, use transformChildren or transformChildrenOnce inside the rule.
- def transformUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan
- def transformUpExpressions(rule: PartialFunction[Expression, Expression]): LogicalPlan
Depth-first transformation of expression
- def traverse[U](rule: PartialFunction[LogicalPlan, U]): Unit
Recursively traverse plan nodes and apply the given function to LogicalPlan nodes
- def traverseChildren[U](rule: PartialFunction[LogicalPlan, U]): Unit
Recursively traverse the child plan nodes and apply the given function to LogicalPlan nodes
- def traverseChildrenOnce[U](rule: PartialFunction[LogicalPlan, U]): Unit
Recursively traverse the child plan nodes until the rule matches.
- def traverseExpressions[U](rule: PartialFunction[Expression, U]): Unit
- def traverseOnce[U](rule: PartialFunction[LogicalPlan, U]): Unit
Recursively traverse the plan nodes until the rule matches.
- def unresolvedExpressions: Seq[Expression]
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated