Interface Operation


  • public interface Operation
    An operation is part of an execution plan for executing a PGQL query. The execution plan is composed of a tree of operations.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      double getCardinalityEstimate()
      A cardinality estimate is the expected number of results after executing this operation
      java.util.List<Operation> getChildren()
      Non leaf operations can have multiple child operations, which will be returned by this function
      double getCostEstimate()  
      java.util.Set<java.lang.String> getFilters()
      The filters specified in WHERE clauses or through label expressions
      oracle.pgx.common.PgxId getGraphId()
      Gives the graph used in the operation
      OperationType getOperationType()
      Gives the type of operation
      java.lang.String getPatternInfo()
      An operation can match a specific part of the query with a graph.
      double getTotalCostEstimate()  
      boolean isSameQueryPlan​(Operation other)
      Check if the query plan with this operation as root node is equal to the query plan with 'other' as root node.
      void print()
      Print the current operation and all its children to standard output
      void print​(java.io.PrintStream printStream)
      Print the current operation and all its children to the given printStream
    • Method Detail

      • getGraphId

        oracle.pgx.common.PgxId getGraphId()
        Gives the graph used in the operation
        Returns:
        the id of the graph used in the operation
      • print

        void print()
        Print the current operation and all its children to standard output
      • print

        void print​(java.io.PrintStream printStream)
        Print the current operation and all its children to the given printStream
        Parameters:
        printStream - Location of the output
      • getOperationType

        OperationType getOperationType()
        Gives the type of operation
        Returns:
        operationType of this operation as an enum value
      • getCostEstimate

        double getCostEstimate()
        Returns:
        an estimation of the cost of executing this operation
      • getTotalCostEstimate

        double getTotalCostEstimate()
        Returns:
        an estimation of the cost of executing this operation and all its children
      • getCardinalityEstimate

        double getCardinalityEstimate()
        A cardinality estimate is the expected number of results after executing this operation
        Returns:
        an estimation of the cardinality after executing this operation
      • getPatternInfo

        java.lang.String getPatternInfo()
        An operation can match a specific part of the query with a graph. This function will show what part of the query is matched during this operation.
        Returns:
        an string indicating the pattern that will be matched by this operation
      • getChildren

        java.util.List<Operation> getChildren()
        Non leaf operations can have multiple child operations, which will be returned by this function
        Returns:
        a list of operations which are the children of this operation
      • getFilters

        java.util.Set<java.lang.String> getFilters()
        The filters specified in WHERE clauses or through label expressions
        Returns:
        a set of filters that apply to this operation
      • isSameQueryPlan

        boolean isSameQueryPlan​(Operation other)
        Check if the query plan with this operation as root node is equal to the query plan with 'other' as root node. This will only check if the operationType and the pattern are the same for each node in both query plans.
        Returns:
        true if both execution plans are the same, false otherwise