Interface Query

All Known Implementing Classes:
BatchedQuery

public interface Query

Abstraction of a generic Query, hiding the details of any protocol-version-specific data needed to execute the query efficiently.

Query objects should be explicitly closed when no longer needed; if resources are allocated on the server for this query, their cleanup is triggered by closing the Query.

Author:
Oliver Jowett (oliver@opencloud.com)
  • Method Details

    • createParameterList

      ParameterList createParameterList()

      Create a ParameterList suitable for storing parameters associated with this Query.

      If this query has no parameters, a ParameterList will be returned, but it may be a shared immutable object. If this query does have parameters, the returned ParameterList is a new list, unshared by other callers.

      Returns:
      a suitable ParameterList instance for this query
    • toString

      String toString(ParameterList parameters)
      Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.
      Parameters:
      parameters - a ParameterList returned by this Query's createParameterList() method, or null to leave the parameter placeholders unsubstituted.
      Returns:
      a human-readable representation of this query
    • getNativeSql

      String getNativeSql()
      Returns SQL in native for database format.
      Returns:
      SQL in native for database format
    • getSqlCommand

      SqlCommand getSqlCommand()
      Returns properties of the query (sql keyword, and some other parsing info).
      Returns:
      returns properties of the query (sql keyword, and some other parsing info) or null if not applicable
    • close

      void close()

      Close this query and free any server-side resources associated with it. The resources may not be immediately deallocated, but closing a Query may make the deallocation more prompt.

      A closed Query should not be executed.

    • isStatementDescribed

      boolean isStatementDescribed()
    • isEmpty

      boolean isEmpty()
    • getBatchSize

      int getBatchSize()
      Get the number of times this Query has been batched.
      Returns:
      number of times addBatch() has been called.
    • getResultSetColumnNameIndexMap

      Map<String,Integer> getResultSetColumnNameIndexMap()
      Get a map that a result set can use to find the index associated to a name.
      Returns:
      null if the query implementation does not support this method.
    • getSubqueries

      Query[] getSubqueries()
      Return a list of the Query objects that make up this query. If this object is already a SimpleQuery, returns null (avoids an extra array construction in the common case).
      Returns:
      an array of single-statement queries, or null if this object is already a single-statement query.