Interface QueryModelNode

    • Method Detail

      • getParentNode

        QueryModelNode getParentNode()
        Gets the node's parent.
        Returns:
        The parent node, if any.
      • setParentNode

        void setParentNode​(QueryModelNode parent)
        Sets the node's parent.
        Parameters:
        parent - The parent node for this node.
      • replaceChildNode

        void replaceChildNode​(QueryModelNode current,
                              QueryModelNode replacement)
        Replaces one of the child nodes with a new node.
        Parameters:
        current - The current child node.
        replacement - The new child node.
        Throws:
        IllegalArgumentException - If current is not one of node's children.
        ClassCastException - If replacement is of an incompatible type.
      • replaceWith

        void replaceWith​(QueryModelNode replacement)
        Substitutes this node with a new node in the query model tree.
        Parameters:
        replacement - The new node.
        Throws:
        IllegalStateException - If this node does not have a parent node.
        ClassCastException - If replacement is of an incompatible type.
      • equals

        boolean equals​(Object o)
        Returns true if this query model node and its children are recursively equal to o and its children.
        Overrides:
        equals in class Object
      • toString

        String toString()
        Returns an indented print of the node tree, starting from this node.
        Overrides:
        toString in class Object
      • getSignature

        String getSignature()
        Returns the signature of this query model node. Signatures normally include the node's name and any parameters, but not parent or child nodes. This method is used by toString().
        Returns:
        The node's signature, e.g. SLICE (offset=10, limit=10).
      • clone

        QueryModelNode clone()
        Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.
        Returns:
        A deep clone of this query model node.
      • getResultSizeEstimate

        @Experimental
        default double getResultSizeEstimate()
        Returns the number of tuples that this QueryNode predicts will be outputted. For a StatementPattern this would be the estimated cardinality provided by the EvaluationStatistics. For a Join the would be the resulting number of joined tuples.
        Returns:
        rows
      • setResultSizeEstimate

        @Experimental
        default void setResultSizeEstimate​(double rows)
      • getResultSizeActual

        @Experimental
        default long getResultSizeActual()
      • setResultSizeActual

        @Experimental
        default void setResultSizeActual​(long resultSizeActual)
      • getCostEstimate

        @Experimental
        default double getCostEstimate()
      • setCostEstimate

        @Experimental
        default void setCostEstimate​(double costEstimate)
      • getTotalTimeNanosActual

        @Experimental
        default long getTotalTimeNanosActual()
      • setTotalTimeNanosActual

        @Experimental
        default void setTotalTimeNanosActual​(long totalTime)