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 |
|---|---|
SQLException |
getException()
Returns the first encountered exception.
|
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,
ResultCursor cursor,
RedshiftRowsBlockingQueue<Tuple> queueTuples,
int[] rowCount,
Thread ringBufferThread)
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 |
setStatementStateIdleFromInQuery()
Set statement state on completion of the Ring buffer thread.
|
void |
setStatementStateInQueryFromIdle()
Set statement state on start from IDLE to IN_QUERY,
in case Ring Buffer thread reset the new query state as IDLE.
|
boolean |
wantsScrollableResultSet()
Check the statement type
|
void handleResultRows(Query fromQuery, Field[] fields, List<Tuple> tuples, ResultCursor cursor, RedshiftRowsBlockingQueue<Tuple> queueTuples, int[] rowCount, Thread ringBufferThread)
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. If this is set then queueTuples will be null.cursor - a cursor to use to fetch additional data; null if no further results
are present.queueTuples - the actual data in a blocking queue. If this is set then tuples will be null.rowCount - number of rows fetched from the socket.ringBufferThread - a thread to fetch rows in the limited rows buffer.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()
SQLException getException()
SQLException.setNextException(SQLException)SQLWarning getWarning()
SQLException.setNextException(SQLException)void setStatementStateIdleFromInQuery()
void setStatementStateInQueryFromIdle()
boolean wantsScrollableResultSet()
Copyright © 2024 Amazon.com Inc.. All rights reserved.