class PhysicalPlan : AbstractMultiTree<PhysicalPlan>
(source)
Representation of the physical plan.
This class extends AbstractMultiTree and and has physical operators instread of logical operators in comparison to the LogicalPlan class.
PhysicalPlan(query: Query, leaf: Edge)
Directly construct a PhysicalPlan for the given leaf. PhysicalPlan(query: Query, operator: Int = PhysicalOperator.LEAF)
Representation of the physical plan. |
var operator: Int
An Int representing the physical operator. See HASH_JOIN for an example. |
|
val operatorName: String?
This property gets the symbolic name String belonging to our operator, e.g. HASH_JOIN. |
|
val physicalOperator: PhysicalOperator?
The PhysicalOperator instance which corresponds to our operator. |
var children: MutableList<ImplementingTree> |
|
val isLeaf: Boolean |
|
var leaf: Edge? |
|
val nodeRepresentation: String |
|
val query: Query |
fun cardinality(): Long
The estimated cardinality of this physical plan. |
|
fun cost(): Long
Delegate costing of this physical plan to the costModel of the module. |
|
fun merge(tree: PhysicalPlan, operator: Int): PhysicalPlan
Merge this physical plan with another given physical plan through an operator. |
|
fun pathIdOfChildren(): Long
Assuming we are an INDEX_LOOKUP, this will return the pathId belonging to the edges made up by our children. |
open fun clone(): ImplementingTree
Deep clone; also clone its children recusively. |
|
open fun equals(other: Any?): Boolean |
|
fun flatten(): ImplementingTree
Delegate parse-tree-flattening to our MultiTreeFlattener. |
|
fun getChild(index: Int): ImplementingTree?
Return the child at a given index or null when not existent. |
|
fun hasChild(index: Int): Boolean
|
|
open fun hashCode(): Int |
|
fun height(): Int
Recursive function calculating the height of this tree. |
|
fun postOrderTraversal(): Sequence<ImplementingTree>
Post-order traversal. |
|
fun print(): Unit
Delegate parse-tree-printing to our MultiTreePrinter. |
|
fun setLeaf(label: String): Unit
Set the leaf by giving in a String which we'll convert to an Edge. |
|
open fun toString(): String |