LogicalPlan

wvlet.airframe.sql.model.LogicalPlan
See theLogicalPlan companion object
trait LogicalPlan extends TreeNode[LogicalPlan] with Product with SQLSig

Attributes

Companion:
object
Graph
Supertypes
trait SQLSig
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
trait LeafPlan
trait DDL
class AddColumn
class DropTable
class DropView
class Delete
class RawSQL
class TableRef
class Values
class TableScan
trait Relation
class Join
class Query
class Except
class Intersect
class Union
class Aggregate
class Distinct
class Filter
class Lateral
class Limit
class Project
trait Selection
class Sort
class Unnest
trait Update
class With
class WithQuery
trait UnaryPlan

Members list

Concise view

Value members

Abstract methods

All child nodes of this plan node

All child nodes of this plan node

Attributes

Concrete methods

Return child expressions associated to this LogicalPlan node

Return child expressions associated to this LogicalPlan node

Attributes

Returns:

child expressions of this node

def collectExpressions(cond: PartialFunction[Expression, Boolean]): List[Expression]

Collect from all input expressions and report matching expressions

Collect from all input expressions and report matching expressions

Attributes

List all input expressions to the plan

List all input expressions to the plan

Attributes

def modelName: String
def pp: String
def resolvedChildren: Boolean
def transform(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

Iterate through LogicalPlans and apply matching rules for transformation. The transformation will be applied to the current node as well.

Iterate through LogicalPlans and apply matching rules for transformation. The transformation will be applied to the current node as well.

Attributes

Transform only child expressions

Transform only child expressions

Attributes

Transform child node only once

Transform child node only once

Attributes

Apply transformOnce for all child nodes.

Apply transformOnce for all child nodes.

Attributes

Recursively transform all nested expressions

Recursively transform all nested expressions

Attributes

def transformOnce(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

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.

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.

Attributes

def transformUp(rule: PartialFunction[LogicalPlan, LogicalPlan]): LogicalPlan

Depth-first transformation of expression

Depth-first transformation of expression

Attributes

def traverse[U](rule: PartialFunction[LogicalPlan, U]): Unit

Recursively traverse plan nodes and apply the given function to LogicalPlan nodes

Recursively traverse plan nodes and apply the given function to LogicalPlan nodes

Attributes

def traverseChildren[U](rule: PartialFunction[LogicalPlan, U]): Unit

Recursively traverse the child plan nodes and apply the given function to LogicalPlan nodes

Recursively traverse the child plan nodes and apply the given function to LogicalPlan nodes

Attributes

def traverseChildrenOnce[U](rule: PartialFunction[LogicalPlan, U]): Unit

Recursively traverse the child plan nodes until the rule matches.

Recursively traverse the child plan nodes until the rule matches.

Attributes

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.

Recursively traverse the plan nodes until the rule matches.

Attributes

Inherited methods

def canEqual(that: Any): Boolean

Attributes

Inherited from:
Equals

Attributes

Returns:

the code location in the SQL text if available

Inherited from:
TreeNode
def productArity: Int

Attributes

Inherited from:
Product
def productElement(n: Int): Any

Attributes

Inherited from:
Product
def productElementName(n: Int): String

Attributes

Inherited from:
Product
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def productPrefix: String

Attributes

Inherited from:
Product
def sig(config: QuerySignatureConfig): String

Attributes

Inherited from:
SQLSig

Concrete fields

lazy val resolved: Boolean