public class ResultHandlerBase extends java.lang.Object implements ResultHandler
ResultHandler
interface.
SQLException.setNextException(SQLException)
has O(N)
complexity,
so this class tracks the last exception object to speedup setNextException
.Modifier and Type | Field and Description |
---|---|
private java.sql.SQLException |
firstException |
private java.sql.SQLWarning |
firstWarning |
private java.sql.SQLException |
lastException |
private java.sql.SQLWarning |
lastWarning |
Constructor and Description |
---|
ResultHandlerBase() |
Modifier and Type | Method and Description |
---|---|
java.sql.SQLException |
getException()
Returns the first encountered exception.
|
java.sql.SQLWarning |
getWarning()
Returns the first encountered warning.
|
void |
handleCommandStatus(java.lang.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(java.sql.SQLException error)
Called when an error occurs.
|
void |
handleResultRows(Query fromQuery,
Field[] fields,
java.util.List<Tuple> tuples,
ResultCursor cursor)
Called when result rows are received from a query.
|
void |
handleWarning(java.sql.SQLWarning warning)
Called when a warning is emitted.
|
void |
secureProgress()
Callback for batch statements.
|
private java.sql.SQLException firstException
private java.sql.SQLException lastException
private java.sql.SQLWarning firstWarning
private java.sql.SQLWarning lastWarning
public void handleResultRows(Query fromQuery, Field[] fields, java.util.List<Tuple> tuples, ResultCursor cursor)
ResultHandler
handleResultRows
in interface ResultHandler
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.public void handleCommandStatus(java.lang.String status, long updateCount, long insertOID)
ResultHandler
handleCommandStatus
in interface ResultHandler
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.public void secureProgress()
ResultHandler
secureProgress
in interface ResultHandler
public void handleWarning(java.sql.SQLWarning warning)
ResultHandler
handleWarning
in interface ResultHandler
warning
- the warning that occurred.public void handleError(java.sql.SQLException error)
ResultHandler
handleError
in interface ResultHandler
error
- the error that occurredpublic void handleCompletion() throws java.sql.SQLException
ResultHandler
handleCompletion
in interface ResultHandler
java.sql.SQLException
- if the handler wishes the original method to throw an exception.public java.sql.SQLException getException()
ResultHandler
SQLException.setNextException(SQLException)
getException
in interface ResultHandler
public java.sql.SQLWarning getWarning()
ResultHandler
SQLException.setNextException(SQLException)
getWarning
in interface ResultHandler