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 Detail

      • 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

        java.lang.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

        java.lang.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

        java.util.Map<java.lang.String,​java.lang.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.