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 Exception
QueryModelNode 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.