Class ResultHandlerBase

java.lang.Object
org.postgresql.core.ResultHandlerBase
All Implemented Interfaces:
ResultHandler
Direct Known Subclasses:
BatchResultHandler, PgResultSet.CursorResultHandler, PgStatement.StatementResultHandler

public class ResultHandlerBase extends Object implements ResultHandler
Empty implementation of ResultHandler interface. SQLException.setNextException(SQLException) has O(N) complexity, so this class tracks the last exception object to speedup setNextException.
  • Constructor Details

    • ResultHandlerBase

      public ResultHandlerBase()
  • Method Details

    • handleResultRows

      public void handleResultRows(Query fromQuery, Field[] fields, List<Tuple> tuples, @Nullable ResultCursor cursor)
      Description copied from interface: ResultHandler
      Called when result rows are received from a query.
      Specified by:
      handleResultRows in interface ResultHandler
      Parameters:
      fromQuery - the underlying query that generated these results; this may not be very specific (e.g. it may be a query that includes multiple statements).
      fields - column metadata for the resultset; might be null if Query.QUERY_NO_METADATA was specified.
      tuples - the actual data
      cursor - a cursor to use to fetch additional data; null if no further results are present.
    • handleCommandStatus

      public void handleCommandStatus(String status, long updateCount, long insertOID)
      Description copied from interface: ResultHandler
      Called when a query that did not return a resultset completes.
      Specified by:
      handleCommandStatus in interface ResultHandler
      Parameters:
      status - the command status string (e.g. "SELECT") returned by the backend
      updateCount - the number of rows affected by an INSERT, UPDATE, DELETE, FETCH, or MOVE command; -1 if not available.
      insertOID - for a single-row INSERT query, the OID of the newly inserted row; 0 if not available.
    • secureProgress

      public void secureProgress()
      Description copied from interface: ResultHandler
      Callback for batch statements. In case batch statement is executed in autocommit==true mode, the executor might commit "as it this it is best", so the result handler should track which statements are executed successfully and which are not.
      Specified by:
      secureProgress in interface ResultHandler
    • handleWarning

      public void handleWarning(SQLWarning warning)
      Description copied from interface: ResultHandler
      Called when a warning is emitted.
      Specified by:
      handleWarning in interface ResultHandler
      Parameters:
      warning - the warning that occurred.
    • handleError

      public void handleError(SQLException error)
      Description copied from interface: ResultHandler
      Called when an error occurs. Subsequent queries are abandoned; in general the only calls between a handleError call and a subsequent handleCompletion call are handleError or handleWarning.
      Specified by:
      handleError in interface ResultHandler
      Parameters:
      error - the error that occurred
    • handleCompletion

      public void handleCompletion() throws SQLException
      Description copied from interface: ResultHandler
      Called before a QueryExecutor method returns. This method may throw a SQLException if desired; if it does, the QueryExecutor method will propagate that exception to the original caller.
      Specified by:
      handleCompletion in interface ResultHandler
      Throws:
      SQLException - if the handler wishes the original method to throw an exception.
    • getException

      public @Nullable SQLException getException()
      Description copied from interface: ResultHandler
      Returns the first encountered exception. The rest are chained via SQLException.setNextException(SQLException)
      Specified by:
      getException in interface ResultHandler
      Returns:
      the first encountered exception
    • getWarning

      public @Nullable SQLWarning getWarning()
      Description copied from interface: ResultHandler
      Returns the first encountered warning. The rest are chained via SQLException.setNextException(SQLException)
      Specified by:
      getWarning in interface ResultHandler
      Returns:
      the first encountered warning