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.Statement
java.sql.SQLException
public void addBatch(java.lang.String p0) throws java.sql.SQLException
addBatch
in interface java.sql.Statement
java.sql.SQLException
public void clearBatch() throws java.sql.SQLException
clearBatch
in interface java.sql.Statement
java.sql.SQLException
public int[] executeBatch() throws java.sql.SQLException
executeBatch
in interface java.sql.Statement
java.sql.SQLException
public java.sql.ResultSet executeQuery(java.lang.String p0) throws java.sql.SQLException
executeQuery
in interface java.sql.Statement
java.sql.SQLException
public int executeUpdate(java.lang.String p0) throws java.sql.SQLException
executeUpdate
in interface java.sql.Statement
java.sql.SQLException
public void close() throws java.sql.SQLException
close
in interface java.lang.AutoCloseable
close
in interface java.sql.Statement
java.sql.SQLException
public int getMaxFieldSize() throws java.sql.SQLException
getMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
public void setMaxFieldSize(int p0) throws java.sql.SQLException
setMaxFieldSize
in interface java.sql.Statement
java.sql.SQLException
public int getMaxRows() throws java.sql.SQLException
getMaxRows
in interface java.sql.Statement
java.sql.SQLException
public void setMaxRows(int p0) throws java.sql.SQLException
setMaxRows
in interface java.sql.Statement
java.sql.SQLException
public void setEscapeProcessing(boolean p0) throws java.sql.SQLException
setEscapeProcessing
in interface java.sql.Statement
java.sql.SQLException
public int getQueryTimeout() throws java.sql.SQLException
getQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
public void setQueryTimeout(int p0) throws java.sql.SQLException
setQueryTimeout
in interface java.sql.Statement
java.sql.SQLException
public int getFetchDirection() throws java.sql.SQLException
getFetchDirection
in interface java.sql.Statement
java.sql.SQLException
public void setFetchDirection(int p0) throws java.sql.SQLException
setFetchDirection
in interface java.sql.Statement
java.sql.SQLException
public int getFetchSize() throws java.sql.SQLException
getFetchSize
in interface java.sql.Statement
java.sql.SQLException
public void setFetchSize(int p0) throws java.sql.SQLException
setFetchSize
in interface java.sql.Statement
java.sql.SQLException
public int getResultSetConcurrency() throws java.sql.SQLException
getResultSetConcurrency
in interface java.sql.Statement
java.sql.SQLException
public int getResultSetType() throws java.sql.SQLException
getResultSetType
in interface java.sql.Statement
java.sql.SQLException
public void cancel() throws java.sql.SQLException
cancel
in interface java.sql.Statement
java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
getWarnings
in interface java.sql.Statement
java.sql.SQLException
public void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Statement
java.sql.SQLException
public void setCursorName(java.lang.String p0) throws java.sql.SQLException
setCursorName
in interface java.sql.Statement
java.sql.SQLException
public boolean execute(java.lang.String p0) throws java.sql.SQLException
execute
in interface java.sql.Statement
java.sql.SQLException
public java.sql.ResultSet getResultSet() throws java.sql.SQLException
getResultSet
in interface java.sql.Statement
java.sql.SQLException
public int getUpdateCount() throws java.sql.SQLException
getUpdateCount
in interface java.sql.Statement
java.sql.SQLException
public boolean getMoreResults() throws java.sql.SQLException
getMoreResults
in interface java.sql.Statement
java.sql.SQLException
public 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.Statement
current
- 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_RESULTS
true
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.Statement
ResultSet
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.Statement
sql
- 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_KEYS
INSERT
, 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.Statement
sql
- 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.Statement
sql
- 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.Statement
sql
- 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_KEYS
true
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.Statement
sql
- 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 getGeneratedKeys
true
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.Statement
sql
- 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 getGeneratedKeys
true
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.Statement
ResultSet.HOLD_CURSORS_OVER_COMMIT
or
ResultSet.CLOSE_CURSORS_AT_COMMIT
java.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.Statement
Statement
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.Statement
true
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.Statement
poolable
- 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.Wrapper
pInterface
- 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.Wrapper
pInterface
- 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.Statement
java.sql.SQLException
- if this method is called on a closed
Statement
public boolean isCloseOnCompletion() throws java.sql.SQLException
Statement
will be
closed when all its dependent result sets are closed.isCloseOnCompletion
in interface java.sql.Statement
true
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