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
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
-
Method Summary
Modifier and TypeMethodDescription@Nullable SQLException
Returns the first encountered exception.@Nullable SQLWarning
Returns the first encountered warning.void
handleCommandStatus
(String status, long updateCount, long insertOID) Called when a query that did not return a resultset completes.void
Called before a QueryExecutor method returns.void
handleError
(SQLException error) Called when an error occurs.void
handleResultRows
(Query fromQuery, Field[] fields, List<Tuple> tuples, @Nullable ResultCursor cursor) Called when result rows are received from a query.void
handleWarning
(SQLWarning warning) Called when a warning is emitted.void
Callback for batch statements.
-
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 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 benull
if Query.QUERY_NO_METADATA was specified.tuples
- the actual datacursor
- a cursor to use to fetch additional data;null
if no further results are present.
-
handleCommandStatus
Description copied from interface:ResultHandler
Called when a query that did not return a resultset completes.- Specified by:
handleCommandStatus
in 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: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 interfaceResultHandler
-
handleWarning
Description copied from interface:ResultHandler
Called when a warning is emitted.- Specified by:
handleWarning
in interfaceResultHandler
- Parameters:
warning
- the warning that occurred.
-
handleError
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 interfaceResultHandler
- Parameters:
error
- the error that occurred
-
handleCompletion
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 interfaceResultHandler
- Throws:
SQLException
- if the handler wishes the original method to throw an exception.
-
getException
Description copied from interface:ResultHandler
Returns the first encountered exception. The rest are chained viaSQLException.setNextException(SQLException)
- Specified by:
getException
in interfaceResultHandler
- Returns:
- the first encountered exception
-
getWarning
Description copied from interface:ResultHandler
Returns the first encountered warning. The rest are chained viaSQLException.setNextException(SQLException)
- Specified by:
getWarning
in interfaceResultHandler
- Returns:
- the first encountered warning
-