Class BatchResultHandler

java.lang.Object
org.postgresql.core.ResultHandlerBase
org.postgresql.jdbc.BatchResultHandler
All Implemented Interfaces:
ResultHandler
Direct Known Subclasses:
CallableBatchResultHandler

public class BatchResultHandler extends ResultHandlerBase
Internal class, it is not a part of public API.
  • Field Details

    • pgStatement

      private final PgStatement pgStatement
    • resultIndex

      private int resultIndex
    • queries

      private final Query[] queries
    • longUpdateCounts

      private final long[] longUpdateCounts
    • parameterLists

      private final ParameterList[] parameterLists
    • expectGeneratedKeys

      private final boolean expectGeneratedKeys
    • generatedKeys

      private PgResultSet generatedKeys
    • committedRows

      private int committedRows
    • allGeneratedRows

      private final List<List<Tuple>> allGeneratedRows
    • latestGeneratedRows

      private List<Tuple> latestGeneratedRows
    • latestGeneratedKeysRs

      private PgResultSet latestGeneratedKeysRs
  • Constructor Details

    • BatchResultHandler

      BatchResultHandler(PgStatement pgStatement, Query[] queries, ParameterList[] parameterLists, boolean expectGeneratedKeys)
  • Method Details

    • handleResultRows

      public void handleResultRows(Query fromQuery, Field[] fields, List<Tuple> tuples, ResultCursor cursor)
      Description copied from interface: ResultHandler
      Called when result rows are received from a query.
      Specified by:
      handleResultRows in interface ResultHandler
      Overrides:
      handleResultRows in class ResultHandlerBase
      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
      Overrides:
      handleCommandStatus in class ResultHandlerBase
      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.
    • isAutoCommit

      private boolean isAutoCommit()
    • 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
      Overrides:
      secureProgress in class ResultHandlerBase
    • updateGeneratedKeys

      private void updateGeneratedKeys()
    • handleWarning

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

      public void handleError(SQLException newError)
      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
      Overrides:
      handleError in class ResultHandlerBase
      Parameters:
      newError - 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
      Overrides:
      handleCompletion in class ResultHandlerBase
      Throws:
      SQLException - if the handler wishes the original method to throw an exception.
    • getGeneratedKeys

      public ResultSet getGeneratedKeys()
    • uncompressUpdateCount

      private int[] uncompressUpdateCount()
    • getUpdateCount

      public int[] getUpdateCount()
    • uncompressLongUpdateCount

      private long[] uncompressLongUpdateCount()
    • getLargeUpdateCount

      public long[] getLargeUpdateCount()