Package org.postgresql.core
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 java.lang.Object implements ResultHandler
Empty implementation ofResultHandlerinterface.SQLException.setNextException(SQLException)hasO(N)complexity, so this class tracks the last exception object to speedupsetNextException.
-
-
Constructor Summary
Constructors Constructor Description ResultHandlerBase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.sql.SQLExceptiongetException()Returns the first encountered exception.java.sql.SQLWarninggetWarning()Returns the first encountered warning.voidhandleCommandStatus(java.lang.String status, long updateCount, long insertOID)Called when a query that did not return a resultset completes.voidhandleCompletion()Called before a QueryExecutor method returns.voidhandleError(java.sql.SQLException error)Called when an error occurs.voidhandleResultRows(Query fromQuery, Field[] fields, java.util.List<Tuple> tuples, ResultCursor cursor)Called when result rows are received from a query.voidhandleWarning(java.sql.SQLWarning warning)Called when a warning is emitted.voidsecureProgress()Callback for batch statements.
-
-
-
Method Detail
-
handleResultRows
public void handleResultRows(Query fromQuery, Field[] fields, java.util.List<Tuple> tuples, ResultCursor cursor)
Description copied from interface:ResultHandlerCalled when result rows are received from a query.- Specified by:
handleResultRowsin interfaceResultHandler- 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 benullif Query.QUERY_NO_METADATA was specified.tuples- the actual datacursor- a cursor to use to fetch additional data;nullif no further results are present.
-
handleCommandStatus
public void handleCommandStatus(java.lang.String status, long updateCount, long insertOID)Description copied from interface:ResultHandlerCalled when a query that did not return a resultset completes.- Specified by:
handleCommandStatusin interfaceResultHandler- Parameters:
status- the command status string (e.g. "SELECT") returned by the backendupdateCount- 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:ResultHandlerCallback 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:
secureProgressin interfaceResultHandler
-
handleWarning
public void handleWarning(java.sql.SQLWarning warning)
Description copied from interface:ResultHandlerCalled when a warning is emitted.- Specified by:
handleWarningin interfaceResultHandler- Parameters:
warning- the warning that occurred.
-
handleError
public void handleError(java.sql.SQLException error)
Description copied from interface:ResultHandlerCalled 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:
handleErrorin interfaceResultHandler- Parameters:
error- the error that occurred
-
handleCompletion
public void handleCompletion() throws java.sql.SQLExceptionDescription copied from interface:ResultHandlerCalled 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:
handleCompletionin interfaceResultHandler- Throws:
java.sql.SQLException- if the handler wishes the original method to throw an exception.
-
getException
public java.sql.SQLException getException()
Description copied from interface:ResultHandlerReturns the first encountered exception. The rest are chained viaSQLException.setNextException(SQLException)- Specified by:
getExceptionin interfaceResultHandler- Returns:
- the first encountered exception
-
getWarning
public java.sql.SQLWarning getWarning()
Description copied from interface:ResultHandlerReturns the first encountered warning. The rest are chained viaSQLException.setNextException(SQLException)- Specified by:
getWarningin interfaceResultHandler- Returns:
- the first encountered warning
-
-