public class ResultHandlerBase extends Object implements ResultHandler
ResultHandler interface.
SQLException.setNextException(SQLException) has O(N) complexity,
so this class tracks the last exception object to speedup setNextException.| Constructor and Description |
|---|
ResultHandlerBase() |
| 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
|
public void handleResultRows(Query fromQuery, Field[] fields, List<Tuple> tuples, ResultCursor cursor, RedshiftRowsBlockingQueue<Tuple> queueTuples, int[] rowCount, Thread ringBufferThread)
ResultHandlerhandleResultRows in interface ResultHandlerfromQuery - 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.public void handleCommandStatus(String status, long updateCount, long insertOID)
ResultHandlerhandleCommandStatus in interface ResultHandlerstatus - 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.public void secureProgress()
ResultHandlersecureProgress in interface ResultHandlerpublic void handleWarning(SQLWarning warning)
ResultHandlerhandleWarning in interface ResultHandlerwarning - the warning that occurred.public void handleError(SQLException error)
ResultHandlerhandleError in interface ResultHandlererror - the error that occurredpublic void handleCompletion()
throws SQLException
ResultHandlerhandleCompletion in interface ResultHandlerSQLException - if the handler wishes the original method to throw an exception.public SQLException getException()
ResultHandlerSQLException.setNextException(SQLException)getException in interface ResultHandlerpublic SQLWarning getWarning()
ResultHandlerSQLException.setNextException(SQLException)getWarning in interface ResultHandlerpublic void setStatementStateIdleFromInQuery()
ResultHandlersetStatementStateIdleFromInQuery in interface ResultHandlerpublic void setStatementStateInQueryFromIdle()
ResultHandlersetStatementStateInQueryFromIdle in interface ResultHandlerpublic boolean wantsScrollableResultSet()
ResultHandlerwantsScrollableResultSet in interface ResultHandlerCopyright © 2024 Amazon.com Inc.. All rights reserved.