public interface QueryModelNode extends Cloneable, Serializable
| Modifier and Type | Method and Description |
|---|---|
QueryModelNode |
clone()
Returns a (deep) clone of this query model node.
|
boolean |
equals(Object o)
Returns true if this query model node and its children are recursively equal to o and its
children.
|
default double |
getCostEstimate() |
QueryModelNode |
getParentNode()
Gets the node's parent.
|
default long |
getResultSizeActual() |
default double |
getResultSizeEstimate()
Returns the number of tuples that this QueryNode predicts will be outputted.
|
String |
getSignature()
Returns the signature of this query model node.
|
default long |
getTotalTimeNanosActual() |
void |
replaceChildNode(QueryModelNode current,
QueryModelNode replacement)
Replaces one of the child nodes with a new node.
|
void |
replaceWith(QueryModelNode replacement)
Substitutes this node with a new node in the query model tree.
|
default void |
setCostEstimate(double costEstimate) |
void |
setParentNode(QueryModelNode parent)
Sets the node's parent.
|
default void |
setResultSizeActual(long resultSizeActual) |
default void |
setResultSizeEstimate(double rows) |
default void |
setTotalTimeNanosActual(long totalTime) |
String |
toString()
Returns an indented print of the node tree, starting from this node.
|
<X extends Exception> |
visit(QueryModelVisitor<X> visitor)
Visits this node.
|
<X extends Exception> |
visitChildren(QueryModelVisitor<X> visitor)
Visits the children of this node.
|
<X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
X extends Exception<X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
visit(QueryModelVisitor) on all of its child nodes.X extends ExceptionQueryModelNode getParentNode()
void setParentNode(QueryModelNode parent)
parent - The parent node for this node.void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
current - The current child node.replacement - The new child node.IllegalArgumentException - If current is not one of node's children.ClassCastException - If replacement is of an incompatible type.void replaceWith(QueryModelNode replacement)
replacement - The new node.IllegalStateException - If this node does not have a parent node.ClassCastException - If replacement is of an incompatible type.boolean equals(Object o)
String toString()
String getSignature()
toString().QueryModelNode clone()
@Experimental default double getResultSizeEstimate()
@Experimental default void setResultSizeEstimate(double rows)
@Experimental default long getResultSizeActual()
@Experimental default void setResultSizeActual(long resultSizeActual)
@Experimental default double getCostEstimate()
@Experimental default void setCostEstimate(double costEstimate)
@Experimental default long getTotalTimeNanosActual()
@Experimental default void setTotalTimeNanosActual(long totalTime)
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.