public interface ResultHandler
Callback interface for passing query results from the protocol-specific layer to the protocol-independent JDBC implementation code.
In general, a single query execution will consist of a number of calls to handleResultRows, handleCommandStatus, handleWarning, and handleError, followed by a single call to handleCompletion when query execution is complete. If the caller wants to throw SQLException, this can be done in handleCompletion.
Each executed query ends with a call to handleResultRows, handleCommandStatus, or handleError. If an error occurs, subsequent queries won't generate callbacks.
Modifier and Type | Method and Description |
---|---|
@Nullable SQLException |
getException()
Returns the first encountered exception.
|
@Nullable SQLWarning |
getWarning()
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 |
handleCompletion()
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 |
secureProgress()
Callback for batch statements.
|
void handleResultRows(Query fromQuery, Field[] fields, List<Tuple> tuples, @Nullable ResultCursor cursor)
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 datacursor
- a cursor to use to fetch additional data; null
if no further results
are present.void handleCommandStatus(String status, long updateCount, long insertOID)
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.void handleWarning(SQLWarning warning)
warning
- the warning that occurred.void handleError(SQLException error)
error
- the error that occurredvoid handleCompletion() throws SQLException
SQLException
- if the handler wishes the original method to throw an exception.void secureProgress()
@Nullable SQLException getException()
SQLException.setNextException(SQLException)
@Nullable SQLWarning getWarning()
SQLException.setNextException(SQLException)
Copyright © 1997-2020 PostgreSQL Global Development Group. All Rights Reserved.