Interface ResultSummary

All Known Implementing Classes:
InternalResultSummary

@Immutable public interface ResultSummary
The result summary of running a query. The result summary interface can be used to investigate details about the result, like the type of query run, how many and which kinds of updates have been executed, and query plan and profiling information if available.

The result summary is only available after all result records have been consumed.

Keeping the result summary around does not influence the lifecycle of any associated session and/or transaction.

Since:
1.0
  • Method Details

    • query

      Query query()
      Returns:
      query that has been executed
    • counters

      SummaryCounters counters()
      Returns:
      counters for operations the query triggered
    • queryType

      QueryType queryType()
      Returns:
      type of query that has been executed
    • hasPlan

      boolean hasPlan()
      Returns:
      true if the result contained a query plan, i.e. is the summary of a Cypher "PROFILE" or "EXPLAIN" query
    • hasProfile

      boolean hasProfile()
      Returns:
      true if the result contained profiling information, i.e. is the summary of a Cypher "PROFILE" query
    • plan

      Plan plan()
      This describes how the database will execute your query.
      Returns:
      query plan for the executed query if available, otherwise null
    • profile

      ProfiledPlan profile()
      This describes how the database did execute your query.

      If the query you executed was profiled, the query plan will contain detailed information about what each step of the plan did. That more in-depth version of the query plan becomes available here.

      Returns:
      profiled query plan for the executed query if available, otherwise null
    • notifications

      List<Notification> notifications()
      A list of notifications that might arise when executing the query. Notifications can be warnings about problematic queries or other valuable information that can be presented in a client.

      Unlike failures or errors, notifications do not affect the execution of a query.

      Since Notification is a subtype of GqlStatusObject, the list of notifications is a subset of all GQL-status objects that are of Notification type. However, the order might be different.

      Returns:
      a list of notifications produced while executing the query. The list will be empty if no notifications produced while executing the query.
      See Also:
    • gqlStatusObjects

      @Preview(name="GQL-status object") Set<GqlStatusObject> gqlStatusObjects()
      Returns a sequenced set of GQL-status objects resulting from the request execution.
      Returns:
      the sequenced set of GQL-status objects
      Since:
      5.22.0
    • resultAvailableAfter

      long resultAvailableAfter(TimeUnit unit)
      The time it took the server to make the result available for consumption.
      Parameters:
      unit - The unit of the duration.
      Returns:
      The time it took for the server to have the result available in the provided time unit.
    • resultConsumedAfter

      long resultConsumedAfter(TimeUnit unit)
      The time it took the server to consume the result.
      Parameters:
      unit - The unit of the duration.
      Returns:
      The time it took for the server to consume the result in the provided time unit.
    • server

      ServerInfo server()
      The basic information of the server where the result is obtained from
      Returns:
      basic information of the server where the result is obtained from
    • database

      DatabaseInfo database()
      The basic information of the database where the result is obtained from
      Returns:
      the basic information of the database where the result is obtained from