public class MonitoredStatement
extends java.lang.Object
implements java.sql.Statement
This class is a wrapper for java.sql.Statement. All calls are passed through to an embedded instance of java.sql.Statement.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
protected static java.lang.String |
EXECUTE_QUERY |
protected static java.lang.String |
EXECUTE_UPDATE |
| Constructor and Description |
|---|
MonitoredStatement(java.sql.Statement pWrapped,
ApplicationLogging pLog,
ConnectionStats pStats,
java.lang.String pId)
Constructs a new wrapper java.sql.Statement wrapper
|
| Modifier and Type | Method and Description |
|---|---|
void |
addBatch(java.lang.String p0)
Wraps the call to addBatch
|
void |
cancel()
Wraps the call to cancel
|
void |
clearBatch()
Wraps the call to clearBatch
|
void |
clearWarnings()
Wraps the call to clearWarnings
|
void |
close()
Wraps the call to close
|
void |
closeOnCompletion()
Specifies that this
Statement will be closed when all its
dependent result sets are closed. |
boolean |
execute(java.lang.String p0)
Wraps the call to execute
|
boolean |
execute(java.lang.String sql,
int autoGeneratedKeys)
Executes the given SQL statement, which may return multiple results,
and signals the driver that any
auto-generated keys should be made available
for retrieval.
|
boolean |
execute(java.lang.String sql,
int[] columnIndexes)
Executes the given SQL statement, which may return multiple results,
and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
boolean |
execute(java.lang.String sql,
java.lang.String[] columnNames)
Executes the given SQL statement, which may return multiple results,
and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
int[] |
executeBatch()
Wraps the call to executeBatch
|
java.sql.ResultSet |
executeQuery(java.lang.String p0)
Wraps the call to executeQuery
|
int |
executeUpdate(java.lang.String p0)
Wraps the call to executeUpdate
|
int |
executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
Executes the given SQL statement and signals the driver with the
given flag about whether the
auto-generated keys produced by this
Statement object
should be made available for retrieval. |
int |
executeUpdate(java.lang.String sql,
int[] columnIndexes)
Executes the given SQL statement and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
int |
executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
Executes the given SQL statement and signals the driver that the
auto-generated keys indicated in the given array should be made available
for retrieval.
|
java.sql.Connection |
getConnection()
Wraps the call to getConnection
|
int |
getFetchDirection()
Wraps the call to getFetchDirection
|
int |
getFetchSize()
Wraps the call to getFetchSize
|
java.sql.ResultSet |
getGeneratedKeys()
Retrieves any auto-generated keys created as a result of executing this
Statement object. |
int |
getMaxFieldSize()
Wraps the call to getMaxFieldSize
|
int |
getMaxRows()
Wraps the call to getMaxRows
|
MonitoredConnection |
getMonitoredConnection() |
boolean |
getMoreResults()
Wraps the call to getMoreResults
|
boolean |
getMoreResults(int current)
Moves to this
Statement object's next result, deals with
any current ResultSet object(s) according to the instructions
specified by the given flag, and returns
true if the next result is a ResultSet object. |
int |
getQueryTimeout()
Wraps the call to getQueryTimeout
|
java.sql.ResultSet |
getResultSet()
Wraps the call to getResultSet
|
int |
getResultSetConcurrency()
Wraps the call to getResultSetConcurrency
|
int |
getResultSetHoldability()
Retrieves the result set holdability for
ResultSet objects
generated by this Statement object. |
int |
getResultSetType()
Wraps the call to getResultSetType
|
int |
getUpdateCount()
Wraps the call to getUpdateCount
|
java.sql.SQLWarning |
getWarnings()
Wraps the call to getWarnings
|
java.sql.Statement |
getWrapped()
Returns the original statement that this MonitoredStatement is
monitoring.
|
boolean |
isClosed()
Retrieves whether this
Statement object has been closed. |
boolean |
isCloseOnCompletion()
Returns a value indicating whether this
Statement will be
closed when all its dependent result sets are closed. |
boolean |
isPoolable()
Returns a value indicating whether the
Statement
is poolable or not. |
boolean |
isWrapperFor(java.lang.Class<?> pInterface)
Returns true if this class implements the pInterface argument
|
void |
setCursorName(java.lang.String p0)
Wraps the call to setCursorName
|
void |
setEscapeProcessing(boolean p0)
Wraps the call to setEscapeProcessing
|
void |
setFetchDirection(int p0)
Wraps the call to setFetchDirection
|
void |
setFetchSize(int p0)
Wraps the call to setFetchSize
|
void |
setMaxFieldSize(int p0)
Wraps the call to setMaxFieldSize
|
void |
setMaxRows(int p0)
Wraps the call to setMaxRows
|
void |
setMonitoredConnection(MonitoredConnection pMonitoredConnection) |
void |
setPoolable(boolean arg0)
Requests that a
Statement be pooled or not pooled. |
void |
setQueryTimeout(int p0)
Wraps the call to setQueryTimeout
|
void |
setWrapped(java.sql.Statement pWrapped) |
<T> T |
unwrap(java.lang.Class<T> pInterface)
Returns an object that implements the given interface
|
public static java.lang.String CLASS_VERSION
protected static final java.lang.String EXECUTE_QUERY
protected static final java.lang.String EXECUTE_UPDATE
public MonitoredStatement(java.sql.Statement pWrapped,
ApplicationLogging pLog,
ConnectionStats pStats,
java.lang.String pId)
pWrapped - the instance being wrappedpublic MonitoredConnection getMonitoredConnection()
public void setMonitoredConnection(MonitoredConnection pMonitoredConnection)
public java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface java.sql.Statementjava.sql.SQLExceptionpublic void addBatch(java.lang.String p0)
throws java.sql.SQLException
addBatch in interface java.sql.Statementjava.sql.SQLExceptionpublic void clearBatch()
throws java.sql.SQLException
clearBatch in interface java.sql.Statementjava.sql.SQLExceptionpublic int[] executeBatch()
throws java.sql.SQLException
executeBatch in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.ResultSet executeQuery(java.lang.String p0)
throws java.sql.SQLException
executeQuery in interface java.sql.Statementjava.sql.SQLExceptionpublic int executeUpdate(java.lang.String p0)
throws java.sql.SQLException
executeUpdate in interface java.sql.Statementjava.sql.SQLExceptionpublic void close()
throws java.sql.SQLException
close in interface java.lang.AutoCloseableclose in interface java.sql.Statementjava.sql.SQLExceptionpublic int getMaxFieldSize()
throws java.sql.SQLException
getMaxFieldSize in interface java.sql.Statementjava.sql.SQLExceptionpublic void setMaxFieldSize(int p0)
throws java.sql.SQLException
setMaxFieldSize in interface java.sql.Statementjava.sql.SQLExceptionpublic int getMaxRows()
throws java.sql.SQLException
getMaxRows in interface java.sql.Statementjava.sql.SQLExceptionpublic void setMaxRows(int p0)
throws java.sql.SQLException
setMaxRows in interface java.sql.Statementjava.sql.SQLExceptionpublic void setEscapeProcessing(boolean p0)
throws java.sql.SQLException
setEscapeProcessing in interface java.sql.Statementjava.sql.SQLExceptionpublic int getQueryTimeout()
throws java.sql.SQLException
getQueryTimeout in interface java.sql.Statementjava.sql.SQLExceptionpublic void setQueryTimeout(int p0)
throws java.sql.SQLException
setQueryTimeout in interface java.sql.Statementjava.sql.SQLExceptionpublic int getFetchDirection()
throws java.sql.SQLException
getFetchDirection in interface java.sql.Statementjava.sql.SQLExceptionpublic void setFetchDirection(int p0)
throws java.sql.SQLException
setFetchDirection in interface java.sql.Statementjava.sql.SQLExceptionpublic int getFetchSize()
throws java.sql.SQLException
getFetchSize in interface java.sql.Statementjava.sql.SQLExceptionpublic void setFetchSize(int p0)
throws java.sql.SQLException
setFetchSize in interface java.sql.Statementjava.sql.SQLExceptionpublic int getResultSetConcurrency()
throws java.sql.SQLException
getResultSetConcurrency in interface java.sql.Statementjava.sql.SQLExceptionpublic int getResultSetType()
throws java.sql.SQLException
getResultSetType in interface java.sql.Statementjava.sql.SQLExceptionpublic void cancel()
throws java.sql.SQLException
cancel in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.SQLWarning getWarnings()
throws java.sql.SQLException
getWarnings in interface java.sql.Statementjava.sql.SQLExceptionpublic void clearWarnings()
throws java.sql.SQLException
clearWarnings in interface java.sql.Statementjava.sql.SQLExceptionpublic void setCursorName(java.lang.String p0)
throws java.sql.SQLException
setCursorName in interface java.sql.Statementjava.sql.SQLExceptionpublic boolean execute(java.lang.String p0)
throws java.sql.SQLException
execute in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.ResultSet getResultSet()
throws java.sql.SQLException
getResultSet in interface java.sql.Statementjava.sql.SQLExceptionpublic int getUpdateCount()
throws java.sql.SQLException
getUpdateCount in interface java.sql.Statementjava.sql.SQLExceptionpublic boolean getMoreResults()
throws java.sql.SQLException
getMoreResults in interface java.sql.Statementjava.sql.SQLExceptionpublic java.sql.Statement getWrapped()
public void setWrapped(java.sql.Statement pWrapped)
public boolean getMoreResults(int current)
throws java.sql.SQLException
Statement object's next result, deals with
any current ResultSet object(s) according to the instructions
specified by the given flag, and returns
true if the next result is a ResultSet object.
There are no more results when the following is true:
(!getMoreResults() && (getUpdateCount() == -1)
getMoreResults in interface java.sql.Statementcurrent - one of the following Statement
constants indicating what should happen to current
ResultSet objects obtained using the method
getResultSetCLOSE_CURRENT_RESULT,
KEEP_CURRENT_RESULT, or
CLOSE_ALL_RESULTStrue if the next result is a ResultSet
object; false if it is an update count or there are no
more resultsjava.sql.SQLException - if a database access error occursexecute(java.lang.String)public java.sql.ResultSet getGeneratedKeys()
throws java.sql.SQLException
Statement object. If this Statement object did
not generate any keys, an empty ResultSet
object is returned.getGeneratedKeys in interface java.sql.StatementResultSet object containing the auto-generated key(s)
generated by the execution of this Statement objectjava.sql.SQLException - if a database access error occurspublic int executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
Statement object
should be made available for retrieval.executeUpdate in interface java.sql.Statementsql - must be an SQL INSERT, UPDATE or
DELETE statement or an SQL statement that
returns nothingautoGeneratedKeys - a flag indicating whether auto-generated keys
should be made available for retrieval;
one of the following constants:
Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYSINSERT, UPDATE
or DELETE statements, or 0 for SQL
statements that return nothingjava.sql.SQLException - if a database access error occurs, the given
SQL statement returns a ResultSet object, or
the given constant is not one of those allowedpublic int executeUpdate(java.lang.String sql,
int[] columnIndexes)
throws java.sql.SQLException
INSERT statement.executeUpdate in interface java.sql.Statementsql - an SQL INSERT, UPDATE or
DELETE statement or an SQL statement that returns nothing,
such as an SQL DDL statementcolumnIndexes - an array of column indexes indicating the columns
that should be returned from the inserted rowINSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothingjava.sql.SQLException - if a database access error occurs or the SQL
statement returns a ResultSet objectpublic int executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
INSERT statement.executeUpdate in interface java.sql.Statementsql - an SQL INSERT, UPDATE or
DELETE statement or an SQL statement that returns nothingcolumnNames - an array of the names of the columns that should be
returned from the inserted rowINSERT, UPDATE,
or DELETE statements, or 0 for SQL statements
that return nothingjava.sql.SQLException - if a database access error occurspublic boolean execute(java.lang.String sql,
int autoGeneratedKeys)
throws java.sql.SQLException
INSERT statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet or getUpdateCount
to retrieve the result, and getMoreResults to
move to any subsequent result(s).
execute in interface java.sql.Statementsql - any SQL statementautoGeneratedKeys - a constant indicating whether auto-generated
keys should be made available for retrieval using the method
getGeneratedKeys; one of the following constants:
Statement.RETURN_GENERATED_KEYS or
Statement.NO_GENERATED_KEYStrue if the first result is a ResultSet
object; false if it is an update count or there are
no resultsjava.sql.SQLException - if a database access error occursgetResultSet(),
getUpdateCount(),
getMoreResults(),
getGeneratedKeys()public boolean execute(java.lang.String sql,
int[] columnIndexes)
throws java.sql.SQLException
INSERT statement.
Under some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet or getUpdateCount
to retrieve the result, and getMoreResults to
move to any subsequent result(s).
execute in interface java.sql.Statementsql - any SQL statementcolumnIndexes - an array of the indexes of the columns in the
inserted row that should be made available for retrieval by a
call to the method getGeneratedKeystrue if the first result is a ResultSet
object; false if it is an update count or there
are no resultsjava.sql.SQLException - if a database access error occursgetResultSet(),
getUpdateCount(),
getMoreResults()public boolean execute(java.lang.String sql,
java.lang.String[] columnNames)
throws java.sql.SQLException
INSERT statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet or getUpdateCount
to retrieve the result, and getMoreResults to
move to any subsequent result(s).
execute in interface java.sql.Statementsql - any SQL statementcolumnNames - an array of the names of the columns in the inserted
row that should be made available for retrieval by a call to the
method getGeneratedKeystrue if the next result is a ResultSet
object; false if it is an update count or there
are no more resultsjava.sql.SQLException - if a database access error occursgetResultSet(),
getUpdateCount(),
getMoreResults(),
getGeneratedKeys()public int getResultSetHoldability()
throws java.sql.SQLException
ResultSet objects
generated by this Statement object.getResultSetHoldability in interface java.sql.StatementResultSet.HOLD_CURSORS_OVER_COMMIT or
ResultSet.CLOSE_CURSORS_AT_COMMITjava.sql.SQLException - if a database access error occurspublic boolean isClosed()
throws java.sql.SQLException
Statement object has been closed. A Statement is closed if the
method close has been called on it, or if it is automatically closed.isClosed in interface java.sql.StatementStatement object is closed; false if it is still openjava.sql.SQLException - if a database access error occurspublic boolean isPoolable()
throws java.sql.SQLException
Statement
is poolable or not.
isPoolable in interface java.sql.Statementtrue if the Statement
is poolable; false otherwise
java.sql.SQLException - if this method is called on a closed
Statement
public void setPoolable(boolean arg0)
throws java.sql.SQLException
Statement be pooled or not pooled. The value
specified is a hint to the statement pool implementation indicating
whether the applicaiton wants the statement to be pooled. It is up to
the statement pool manager as to whether the hint is used.
The poolable value of a statement is applicable to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.
By default, a Statement is not poolable when created, and
a PreparedStatement and CallableStatement
are poolable when created.
setPoolable in interface java.sql.Statementpoolable - requests that the statement be pooled if true and
that the statement not be pooled if false
java.sql.SQLException - if this method is called on a closed
Statement
public boolean isWrapperFor(java.lang.Class<?> pInterface)
throws java.sql.SQLException
isWrapperFor in interface java.sql.WrapperpInterface - the interface to testjava.sql.SQLException - if there's an error determining whether this is
a wrapper for the interfacepublic <T> T unwrap(java.lang.Class<T> pInterface)
throws java.sql.SQLException
unwrap in interface java.sql.WrapperpInterface - the interface of the object to returnjava.sql.SQLException - if no object is found that implements
the given interfacepublic void closeOnCompletion()
throws java.sql.SQLException
Statement will be closed when all its
dependent result sets are closed. If execution of the Statement
does not produce any result sets, this method has no effect.
Note: Multiple calls to closeOnCompletion do
not toggle the effect on this Statement. However, a call to
closeOnCompletion does effect both the subsequent execution of
statements, and statements that currently have open, dependent,
result sets.
closeOnCompletion in interface java.sql.Statementjava.sql.SQLException - if this method is called on a closed
Statementpublic boolean isCloseOnCompletion()
throws java.sql.SQLException
Statement will be
closed when all its dependent result sets are closed.isCloseOnCompletion in interface java.sql.Statementtrue if the Statement will be closed when all
of its dependent result sets are closed; false otherwisejava.sql.SQLException - if this method is called on a closed
Statement