org.postgresql.core
Class ResultHandlerBase

java.lang.Object
  extended by 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 Summary
ResultHandlerBase()
           
 
Method Summary
 SQLException getException()
          Returns the first encountered exception.
 SQLWarning getWarning()
          Returns the first encountered warning.
 void handleCommandStatus(String status, int updateCount, long insertOID)
          Called when a query that did not return a resultset completes.
 void handleCompletion()
          Called before a QueryExecutor method returns.
 void handleError(SQLException error)
          Called when an error occurs.
 void handleResultRows(Query fromQuery, Field[] fields, List<byte[][]> tuples, ResultCursor cursor)
          Called when result rows are received from a query.
 void handleWarning(SQLWarning warning)
          Called when a warning is emitted.
 void secureProgress()
          Callback for batch statements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResultHandlerBase

public ResultHandlerBase()
Method Detail

handleResultRows

public void handleResultRows(Query fromQuery,
                             Field[] fields,
                             List<byte[][]> tuples,
                             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,
                                int 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 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 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


Copyright © 2017 PostgreSQL Global Development Group. All rights reserved.