com.pivotal.gemfirexd.internal.client.am

## Class Statement

- java.lang.Object
- - com.pivotal.gemfirexd.internal.client.am.Statement

All Implemented Interfaces:
  StatementCallbackInterface, UnitOfWorkListener, AutoCloseable, Statement, Wrapper

Direct Known Subclasses:
  PreparedStatement, Statement40

    public abstract class Statement
    extends Object
    implements Statement, StatementCallbackInterface

### Field Summary

Fields
`int` `autoGeneratedKeys_`
`Cursor` `cachedCursor_`
`Cursor` `cachedSingletonRowData_`
`static int` `CLOSE_ALL_RESULTS`
`static int` `CLOSE_CURRENT_RESULT`
`String` `cursorAttributesToSendOnPrepare_`
`protected boolean` `doWriteTimeout`
`int` `fetchDirection_`
`int` `fetchSize_`
`int[]` `generatedKeysColumnIndexes_`
`String[]` `generatedKeysColumnNames_`
`ResultSet` `generatedKeysResultSet_`
`protected int` `indexOfCurrentResultSet_`
`static int` `isCommitSql__`
`protected boolean` `isPoolable`
`boolean` `isPreparedStatement_`
`static int` `isQuery__`
`static int` `isRollbackSql__`
`static int` `KEEP_CURRENT_RESULT`
`MaterialStatement` `materialStatement_`
`int` `numInvisibleRS_`
`PreparedStatement` `preparedStatementForAutoGeneratedKeys_`
`int` `resultSetConcurrency_`
`int` `resultSetHoldability_`
`int` `resultSetType_`
`Section` `section_`
`protected static String` `SET_SCHEMA_STATEMENT`
`Cursor` `singletonRowData_`
`protected ArrayList` `specialRegisterArrayList`
`int` `sqlMode_`
`protected String` `statementUUID`
`protected static String` `TIMEOUT_STATEMENT`

### Fields inherited from interface java.sql.Statement

`EXECUTE_FAILED, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

### Constructor Summary

Constructors
Constructor and Description
`Statement(Agent agent, Connection connection)`
`Statement(Agent agent, Connection connection, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes)`

### Method Summary

Methods
`void` `accumulateWarning(SqlWarning e)`
`void` `addBatch(String sql)`
`void` `cancel()`
`protected void` `checkForDuplicateCursorName()`
`protected void` `checkForStoredProcResultSetCount(int executeType)` Checks that a stored procedure returns the correct number of result sets given its execute type.
`protected void` `cleanSingleHopPrepStmnt()`
`void` `clearBatch()`
`void` `clearWarnings()`
`void` `close()`
`void` `closeX()` An untraced version of `close`.
`void` `completeExecute(Sqlca sqlca)`
`void` `completeExecuteCall(Sqlca sqlca, Cursor singletonParams)`
`void` `completeExecuteCall(Sqlca sqlca, Cursor singletonParams, ResultSet[] resultSets)`
`void` `completeExecuteCallOpenQuery(Sqlca sqlca, ResultSet resultSet, ColumnMetaData resultSetMetaData, Section generatedSection)`
`void` `completeExecuteImmediate(Sqlca sqlca)`
`void` `completeExecuteSetStatement(Sqlca sqlca)`
`void` `completeLocalCommit(Iterator listenerIterator)`
`void` `completeLocalRollback(Iterator listenerIterator)`
`void` `completeOpenQuery(Sqlca sqlca, ResultSet resultSet)`
`void` `completePrepare(Sqlca sqlca)`
`void` `completePrepareDescribeOutput(ColumnMetaData resultSetMetaData, Sqlca sqlca)`
`int` `completeSqlca(Sqlca sqlca)`
`void` `completeStatementIDRead(String statementUUID)`
`boolean` `execute(String sql)`
`boolean` `execute(String sql, int autoGeneratedKeys)`
`boolean` `execute(String sql, int[] columnIndexes)`
`boolean` `execute(String sql, String[] columnNames)`
`int[]` `executeBatch()`
`ResultSet` `executeQuery(String sql)`
`int` `executeUpdate(String sql)`
`int` `executeUpdate(String sql, int autoGeneratedKeys)`
`int` `executeUpdate(String sql, int[] columnIndexes)`
`int` `executeUpdate(String sql, String[] columnNames)`
`protected void` `finalize()`
`Connection` `getConnection()`
`ConnectionCallbackInterface` `getConnectionCallbackInterface()`
`int` `getFetchDirection()`
`int` `getFetchSize()`
`ResultSet` `getGeneratedKeys()`
`ColumnMetaData` `getGuessedResultSetMetaData()`
`protected String` `getJdbcStatementInterfaceName()` Returns the name of the java.sql interface implemented by this class.
`int` `getMaxFieldSize()`
`int` `getMaxRows()`
`boolean` `getMoreResults()`
`boolean` `getMoreResults(int current)`
`int` `getQueryTimeout()`
`ResultSet` `getResultSet()`
`int` `getResultSetConcurrency()`
`int` `getResultSetHoldability()`
`int` `getResultSetType()`
`Section` `getSection()`
`protected SqlWarning` `getSqlWarnings()`
`int` `getUpdateCount()`
`SQLWarning` `getWarnings()`
`protected void` `initResetPreparedStatement(boolean completeReset)`
`boolean` `isCallMode()`
`boolean` `isClosed()` Tell whether the statement has been closed or not.
`boolean` `isClosedNoThrow()`
`boolean` `isPoolable()` Returns the value of the poolable hint, indicating whether pooling is requested.
`boolean` `isQueryMode()`
`boolean` `isWrapperFor(Class iface)` Returns false unless `iface` is implemented
`protected SQLException` `jdbc3FeatureNotSupported()`
`protected SQLException` `jdbc3FeatureNotSupported(boolean checkStatement)`
`void` `listenToUnitOfWork()`
`void` `markAutoCommitted()` Mark all ResultSets associated with this statement as auto-committed.
`boolean` `needStatementUUID()`
`void` `readExecuteCall()`
`void` `readExecuteImmediate()`
`void` `readExecuteImmediateForBatch(String sql)`
`void` `readOpenQuery()`
`void` `readPrepare()`
`void` `readPrepareDescribeOutput()`
`void` `readSetSpecialRegister()`
`void` `readStatementID()`
`protected void` `removeClientCursorNameFromCache()`
`void` `reset(boolean fullReset)`
`void` `resetStatement(Agent agent, Connection connection)`
`void` `resetStatement(Agent agent, Connection connection, int type, int concurrency, int holdability, int autoGeneratedKeys, String[] columnNames, int[] columnIndexes)`
`void` `resultSetCommitting(ResultSet closingRS)` Convenience method for resultSetCommitting(ResultSet, boolean)
`boolean` `resultSetCommitting(ResultSet closingRS, boolean writeChain)` Method that checks to see if any other ResultSets are open.
`protected int[]` `setAndStoreClientParamType(int[] clientParamtype)`
`void` `setCursorName(String name)`
`void` `setEscapeProcessing(boolean enable)`
`void` `setFetchDirection(int direction)`
`void` `setFetchSize(int rows)`
`void` `setMaxFieldSize(int max)`
`void` `setMaxRows(int maxRows)`
`protected void` `setOwner(Statement owner)` Designates the owner of this statement, typically a logical statement.
`void` `setPoolable(boolean poolable)` Requests that a Statement be pooled or not.
`void` `setQueryTimeout(int seconds)`
`protected void` `setupCursorNameCacheAndMappings()`
`void` `setUpdateCount(int updateCount)`
`protected String` `substituteClientCursorNameWithServerCursorName(String sql, Section section)`
`static String` `upperCaseProcedureName(String procedureName)`
`void` `writeExecuteCall(boolean outputExpected, String procedureName, Section section, int fetchSize, boolean suppressResultSets, int resultSetType, ColumnMetaData parameterMetaData, Object[] inputs)`
`void` `writeExecuteImmediate(String sql, Section section)`
`void` `writeGetStmtUUID(Section section)`
`void` `writeOpenQuery(Section section, int fetchSize, int resultSetType)`
`void` `writePrepare(String sql, Section section)`
`void` `writePrepareDescribeOutput(String sql, Section section, boolean needStatementUUID)`
`void` `writeSetSpecialRegister(ArrayList sqlsttList)`

### Methods inherited from class java.lang.Object

`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.sql.Statement

`closeOnCompletion, isCloseOnCompletion`

### Methods inherited from interface java.sql.Wrapper

`unwrap`

### Field Detail

#### CLOSE_CURRENT_RESULT

    public static final int CLOSE_CURRENT_RESULT

See Also:
  Constant Field Values

#### KEEP_CURRENT_RESULT

    public static final int KEEP_CURRENT_RESULT

See Also:
  Constant Field Values

#### CLOSE_ALL_RESULTS

    public static final int CLOSE_ALL_RESULTS

See Also:
  Constant Field Values

#### materialStatement_

    public MaterialStatement materialStatement_

#### section_

    public Section section_

#### sqlMode_

    public int sqlMode_

#### isQuery__

    public static final int isQuery__

See Also:
  Constant Field Values

#### isCommitSql__

    public static final int isCommitSql__

See Also:
  Constant Field Values

#### isRollbackSql__

    public static final int isRollbackSql__

See Also:
  Constant Field Values

#### cachedCursor_

    public Cursor cachedCursor_

#### cachedSingletonRowData_

    public Cursor cachedSingletonRowData_

#### SET_SCHEMA_STATEMENT

    protected static final String SET_SCHEMA_STATEMENT

See Also:
  Constant Field Values

#### isPreparedStatement_

    public boolean isPreparedStatement_

#### indexOfCurrentResultSet_

    protected int indexOfCurrentResultSet_

#### TIMEOUT_STATEMENT

    protected static final String TIMEOUT_STATEMENT

See Also:
  Constant Field Values

#### specialRegisterArrayList

    protected final ArrayList specialRegisterArrayList

#### doWriteTimeout

    protected boolean doWriteTimeout

#### resultSetType_

    public int resultSetType_

#### resultSetConcurrency_

    public int resultSetConcurrency_

#### resultSetHoldability_

    public int resultSetHoldability_

#### fetchSize_

    public int fetchSize_

#### fetchDirection_

    public int fetchDirection_

#### singletonRowData_

    public Cursor singletonRowData_

#### numInvisibleRS_

    public int numInvisibleRS_

#### cursorAttributesToSendOnPrepare_

    public String cursorAttributesToSendOnPrepare_

#### preparedStatementForAutoGeneratedKeys_

    public PreparedStatement preparedStatementForAutoGeneratedKeys_

#### generatedKeysResultSet_

    public ResultSet generatedKeysResultSet_

#### generatedKeysColumnNames_

    public String[] generatedKeysColumnNames_

#### generatedKeysColumnIndexes_

    public int[] generatedKeysColumnIndexes_

#### autoGeneratedKeys_

    public int autoGeneratedKeys_

#### isPoolable

    protected boolean isPoolable

#### statementUUID

    protected String statementUUID

### Constructor Detail

#### Statement

    public Statement(Agent agent,
             Connection connection)
              throws SqlException

Throws:
  `SqlException`

#### Statement

    public Statement(Agent agent,
             Connection connection,
             int type,
             int concurrency,
             int holdability,
             int autoGeneratedKeys,
             String[] columnNames,
             int[] columnIndexes)
              throws SqlException

Throws:
  `SqlException`

### Method Detail

#### initResetPreparedStatement

    protected void initResetPreparedStatement(boolean completeReset)

#### reset

    public void reset(boolean fullReset)
               throws SqlException

Throws:
  `SqlException`

#### resetStatement

    public void resetStatement(Agent agent,
                      Connection connection)
                        throws SqlException

Throws:
  `SqlException`

#### resetStatement

    public void resetStatement(Agent agent,
                      Connection connection,
                      int type,
                      int concurrency,
                      int holdability,
                      int autoGeneratedKeys,
                      String[] columnNames,
                      int[] columnIndexes)
                        throws SqlException

Throws:
  `SqlException`

#### finalize

    protected void finalize()
                     throws Throwable

Overrides:
  `finalize` in class `Object`
Throws:
  `Throwable`

#### getSqlWarnings

    protected SqlWarning getSqlWarnings()

#### executeQuery

    public ResultSet executeQuery(String sql)
                           throws SQLException

Specified by:
  `executeQuery` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate(String sql)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### isWrapperFor

    public boolean isWrapperFor(Class iface)
                         throws SQLException

Returns false unless `iface` is implemented

Specified by:
  `isWrapperFor` in interface `Wrapper`
Parameters:
  `iface` - a Class defining an interface.
Returns:
  true if this implements the interface or directly or indirectly wraps an object that does.
Throws:
  `SQLException` - if an error occurs while determining whether this is a wrapper for an object with the given interface.

#### isClosed

    public boolean isClosed()
                     throws SQLException

Tell whether the statement has been closed or not.

Specified by:
  `isClosed` in interface `Statement`
Returns:
  `true` if closed, `false` otherwise.
Throws:
  `SQLException` - if a database access error occurs (according to spec). Never thrown by this implementation.

#### isClosedNoThrow

    public boolean isClosedNoThrow()

#### close

    public void close()
               throws SQLException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Statement`
Throws:
  `SQLException`

#### closeX

    public void closeX()
                throws SqlException

An untraced version of `close`. This method cleans up client-side resources and also sends commands to network server to perform clean up. This should not be called in the finalizer. Difference between `finalize` and `close` is that close method does these things additionally (Changes done as part of DERBY-210): 1) Sends commands to the server to close the result sets. 2) Sends commands to the server to close the result sets of the generated keys query. 3) Sends a commit if autocommit is on and it is appropriate. 4) Explicitly removes the statement from connection_.openStatements_ and CommitAndRollbackListeners_ by passing true to markClosed. We may need to do 1) in finalizer too. This is being tracked in DERBY-1021

Throws:
  `SqlException`

#### cleanSingleHopPrepStmnt

    protected void cleanSingleHopPrepStmnt()
                                    throws SqlException

Throws:
  `SqlException`

#### setAndStoreClientParamType

    protected int[] setAndStoreClientParamType(int[] clientParamtype)

#### isPoolable

    public boolean isPoolable()
                       throws SQLException

Returns the value of the poolable hint, indicating whether pooling is requested.

Specified by:
  `isPoolable` in interface `Statement`
Returns:
  The value of the poolable hint.
Throws:
  `SQLException` - if the Statement has been closed.

#### setPoolable

    public void setPoolable(boolean poolable)
                     throws SQLException

Requests that a Statement be pooled or not.

Specified by:
  `setPoolable` in interface `Statement`
Parameters:
  `poolable` - requests that the Statement be pooled if true and not be pooled if false.
Throws:
  `SQLException` - if the Statement has been closed.

#### getMaxFieldSize

    public int getMaxFieldSize()
                        throws SQLException

Specified by:
  `getMaxFieldSize` in interface `Statement`
Throws:
  `SQLException`

#### setMaxFieldSize

    public void setMaxFieldSize(int max)
                         throws SQLException

Specified by:
  `setMaxFieldSize` in interface `Statement`
Throws:
  `SQLException`

#### getMaxRows

    public int getMaxRows()
                   throws SQLException

Specified by:
  `getMaxRows` in interface `Statement`
Throws:
  `SQLException`

#### setMaxRows

    public void setMaxRows(int maxRows)
                    throws SQLException

Specified by:
  `setMaxRows` in interface `Statement`
Throws:
  `SQLException`

#### setEscapeProcessing

    public void setEscapeProcessing(boolean enable)
                             throws SQLException

Specified by:
  `setEscapeProcessing` in interface `Statement`
Throws:
  `SQLException`

#### getQueryTimeout

    public int getQueryTimeout()
                        throws SQLException

Specified by:
  `getQueryTimeout` in interface `Statement`
Throws:
  `SQLException`

#### setQueryTimeout

    public void setQueryTimeout(int seconds)
                         throws SQLException

Specified by:
  `setQueryTimeout` in interface `Statement`
Throws:
  `SQLException`

#### cancel

    public void cancel()
                throws SQLException

Specified by:
  `cancel` in interface `Statement`
Throws:
  `SQLException`

#### getWarnings

    public SQLWarning getWarnings()
                           throws SQLException

Specified by:
  `getWarnings` in interface `Statement`
Throws:
  `SQLException`

#### clearWarnings

    public void clearWarnings()
                       throws SQLException

Specified by:
  `clearWarnings` in interface `Statement`
Throws:
  `SQLException`

#### setCursorName

    public void setCursorName(String name)
                       throws SQLException

Specified by:
  `setCursorName` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute(String sql)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### getResultSet

    public ResultSet getResultSet()
                           throws SQLException

Specified by:
  `getResultSet` in interface `Statement`
Throws:
  `SQLException`

#### getUpdateCount

    public int getUpdateCount()
                       throws SQLException

Specified by:
  `getUpdateCount` in interface `Statement`
Throws:
  `SQLException`

#### getMoreResults

    public boolean getMoreResults()
                           throws SQLException

Specified by:
  `getMoreResults` in interface `Statement`
Throws:
  `SQLException`

#### setFetchDirection

    public void setFetchDirection(int direction)
                           throws SQLException

Specified by:
  `setFetchDirection` in interface `Statement`
Throws:
  `SQLException`

#### getFetchDirection

    public int getFetchDirection()
                          throws SQLException

Specified by:
  `getFetchDirection` in interface `Statement`
Throws:
  `SQLException`

#### setFetchSize

    public void setFetchSize(int rows)
                      throws SQLException

Specified by:
  `setFetchSize` in interface `Statement`
Throws:
  `SQLException`

#### getFetchSize

    public int getFetchSize()
                     throws SQLException

Specified by:
  `getFetchSize` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetConcurrency

    public int getResultSetConcurrency()
                                throws SQLException

Specified by:
  `getResultSetConcurrency` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetType

    public int getResultSetType()
                         throws SQLException

Specified by:
  `getResultSetType` in interface `Statement`
Throws:
  `SQLException`

#### addBatch

    public void addBatch(String sql)
                  throws SQLException

Specified by:
  `addBatch` in interface `Statement`
Throws:
  `SQLException`

#### clearBatch

    public void clearBatch()
                    throws SQLException

Specified by:
  `clearBatch` in interface `Statement`
Throws:
  `SQLException`

#### executeBatch

    public int[] executeBatch()
                       throws SQLException,
                              BatchUpdateException

Specified by:
  `executeBatch` in interface `Statement`
Throws:
  `SQLException`
  `BatchUpdateException`

#### getConnection

    public Connection getConnection()
                             throws SQLException

Specified by:
  `getConnection` in interface `Statement`
Throws:
  `SQLException`

#### getMoreResults

    public boolean getMoreResults(int current)
                           throws SQLException

Specified by:
  `getMoreResults` in interface `Statement`
Throws:
  `SQLException`

#### getGeneratedKeys

    public ResultSet getGeneratedKeys()
                               throws SQLException

Specified by:
  `getGeneratedKeys` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate(String sql,
                    int autoGeneratedKeys)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate(String sql,
                    int[] columnIndexes)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### executeUpdate

    public int executeUpdate(String sql,
                    String[] columnNames)
                      throws SQLException

Specified by:
  `executeUpdate` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute(String sql,
                  int autoGeneratedKeys)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute(String sql,
                  int[] columnIndexes)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### execute

    public boolean execute(String sql,
                  String[] columnNames)
                    throws SQLException

Specified by:
  `execute` in interface `Statement`
Throws:
  `SQLException`

#### getResultSetHoldability

    public int getResultSetHoldability()
                                throws SQLException

Specified by:
  `getResultSetHoldability` in interface `Statement`
Throws:
  `SQLException`

#### writeSetSpecialRegister

    public void writeSetSpecialRegister(ArrayList sqlsttList)
                                 throws SqlException

Throws:
  `SqlException`

#### readSetSpecialRegister

    public void readSetSpecialRegister()
                                throws SqlException

Throws:
  `SqlException`

#### writeExecuteImmediate

    public void writeExecuteImmediate(String sql,
                             Section section)
                               throws SqlException

Throws:
  `SqlException`

#### readExecuteImmediate

    public void readExecuteImmediate()
                              throws SqlException

Throws:
  `SqlException`

#### completeExecuteImmediate

    public void completeExecuteImmediate(Sqlca sqlca)

Specified by:
  `completeExecuteImmediate` in interface `StatementCallbackInterface`

#### readExecuteImmediateForBatch

    public void readExecuteImmediateForBatch(String sql)
                                      throws SqlException

Throws:
  `SqlException`

#### writePrepareDescribeOutput

    public void writePrepareDescribeOutput(String sql,
                                  Section section,
                                  boolean needStatementUUID)
                                    throws SqlException

Throws:
  `SqlException`

#### readPrepareDescribeOutput

    public void readPrepareDescribeOutput()
                                   throws SqlException

Throws:
  `SqlException`

#### writeGetStmtUUID

    public void writeGetStmtUUID(Section section)
                          throws SqlException

Throws:
  `SqlException`

#### readStatementID

    public void readStatementID()
                         throws SqlException

Throws:
  `SqlException`

#### completePrepareDescribeOutput

    public void completePrepareDescribeOutput(ColumnMetaData resultSetMetaData,
                                     Sqlca sqlca)

Specified by:
  `completePrepareDescribeOutput` in interface `StatementCallbackInterface`

#### writePrepare

    public void writePrepare(String sql,
                    Section section)
                      throws SqlException

Throws:
  `SqlException`

#### readPrepare

    public void readPrepare()
                     throws SqlException

Throws:
  `SqlException`

#### completePrepare

    public void completePrepare(Sqlca sqlca)

Specified by:
  `completePrepare` in interface `StatementCallbackInterface`

#### writeOpenQuery

    public void writeOpenQuery(Section section,
                      int fetchSize,
                      int resultSetType)
                        throws SqlException

Throws:
  `SqlException`

#### readOpenQuery

    public void readOpenQuery()
                       throws SqlException

Throws:
  `SqlException`

#### completeOpenQuery

    public void completeOpenQuery(Sqlca sqlca,
                         ResultSet resultSet)

Specified by:
  `completeOpenQuery` in interface `StatementCallbackInterface`

#### completeExecuteCallOpenQuery

    public void completeExecuteCallOpenQuery(Sqlca sqlca,
                                    ResultSet resultSet,
                                    ColumnMetaData resultSetMetaData,
                                    Section generatedSection)

Specified by:
  `completeExecuteCallOpenQuery` in interface `StatementCallbackInterface`

#### writeExecuteCall

    public void writeExecuteCall(boolean outputExpected,
                        String procedureName,
                        Section section,
                        int fetchSize,
                        boolean suppressResultSets,
                        int resultSetType,
                        ColumnMetaData parameterMetaData,
                        Object[] inputs)
                          throws SqlException

Throws:
  `SqlException`

#### readExecuteCall

    public void readExecuteCall()
                         throws SqlException

Throws:
  `SqlException`

#### completeExecuteCall

    public void completeExecuteCall(Sqlca sqlca,
                           Cursor singletonParams,
                           ResultSet[] resultSets)

Specified by:
  `completeExecuteCall` in interface `StatementCallbackInterface`

#### completeExecuteCall

    public void completeExecuteCall(Sqlca sqlca,
                           Cursor singletonParams)

Specified by:
  `completeExecuteCall` in interface `StatementCallbackInterface`

#### completeExecute

    public void completeExecute(Sqlca sqlca)

Specified by:
  `completeExecute` in interface `StatementCallbackInterface`

#### setUpdateCount

    public void setUpdateCount(int updateCount)

#### setOwner

    protected final void setOwner(Statement owner)

Designates the owner of this statement, typically a logical statement.

Parameters:
  `owner` - the owning statement, if any

#### completeSqlca

    public int completeSqlca(Sqlca sqlca)

Specified by:
  `completeSqlca` in interface `StatementCallbackInterface`

#### completeExecuteSetStatement

    public void completeExecuteSetStatement(Sqlca sqlca)

Specified by:
  `completeExecuteSetStatement` in interface `StatementCallbackInterface`

#### listenToUnitOfWork

    public void listenToUnitOfWork()

Specified by:
  `listenToUnitOfWork` in interface `UnitOfWorkListener`

#### completeLocalCommit

    public void completeLocalCommit(Iterator listenerIterator)

Specified by:
  `completeLocalCommit` in interface `UnitOfWorkListener`

#### completeLocalRollback

    public void completeLocalRollback(Iterator listenerIterator)

Specified by:
  `completeLocalRollback` in interface `UnitOfWorkListener`

#### accumulateWarning

    public void accumulateWarning(SqlWarning e)

Specified by:
  `accumulateWarning` in interface `StatementCallbackInterface`

#### getJdbcStatementInterfaceName

    protected String getJdbcStatementInterfaceName()

Returns the name of the java.sql interface implemented by this class.

Returns:
  name of java.sql interface

#### upperCaseProcedureName

    public static String upperCaseProcedureName(String procedureName)
                                         throws SqlException

Throws:
  `SqlException`

#### checkForStoredProcResultSetCount

    protected final void checkForStoredProcResultSetCount(int executeType)
                                                   throws SqlException

Checks that a stored procedure returns the correct number of result sets given its execute type. If the number is incorrect, make sure the transaction is rolled back when auto commit is enabled.

Parameters:
  `executeType` - one of `executeQueryMethod__`, `executeUpdateMethod__` and `executeMethod__`
Throws:
  `SqlException` - if the number of result sets does not match the execute type
See Also:
  `checkResultSetCount(int)`

#### checkForDuplicateCursorName

    protected void checkForDuplicateCursorName()
                                        throws SqlException

Throws:
  `SqlException`

#### setupCursorNameCacheAndMappings

    protected void setupCursorNameCacheAndMappings()

#### substituteClientCursorNameWithServerCursorName

    protected String substituteClientCursorNameWithServerCursorName(String sql,
                                                        Section section)
                                                             throws SqlException

Throws:
  `SqlException`

#### getConnectionCallbackInterface

    public ConnectionCallbackInterface getConnectionCallbackInterface()

Specified by:
  `getConnectionCallbackInterface` in interface `StatementCallbackInterface`

#### getGuessedResultSetMetaData

    public ColumnMetaData getGuessedResultSetMetaData()

Specified by:
  `getGuessedResultSetMetaData` in interface `StatementCallbackInterface`

#### isQueryMode

    public boolean isQueryMode()

#### needStatementUUID

    public boolean needStatementUUID()

#### removeClientCursorNameFromCache

    protected void removeClientCursorNameFromCache()

#### resultSetCommitting

    public void resultSetCommitting(ResultSet closingRS)
                             throws SqlException

Convenience method for resultSetCommitting(ResultSet, boolean)

Parameters:
  `closingRS` - The ResultSet to be closed
Throws:
  `SqlException`
See Also:
  `resultSetCommitting(ResultSet, boolean)`

#### resultSetCommitting

    public boolean resultSetCommitting(ResultSet closingRS,
                              boolean writeChain)
                                throws SqlException

Method that checks to see if any other ResultSets are open. If not proceeds with the autocommit.

Parameters:
  `closingRS` - The ResultSet to be closed
  `writeChain` - A Boolean indicating whether this method is part of a chain of write from client to Server
Throws:
  `SqlException`

#### markAutoCommitted

    public void markAutoCommitted()

Mark all ResultSets associated with this statement as auto-committed.

#### jdbc3FeatureNotSupported

    protected SQLException jdbc3FeatureNotSupported(boolean checkStatement)
                                             throws SQLException

Throws:
  `SQLException`

#### jdbc3FeatureNotSupported

    protected SQLException jdbc3FeatureNotSupported()
                                             throws SQLException

Throws:
  `SQLException`

#### isCallMode

    public boolean isCallMode()

#### getSection

    public Section getSection()

Specified by:
  `getSection` in interface `StatementCallbackInterface`

#### completeStatementIDRead

    public void completeStatementIDRead(String statementUUID)

Specified by:
  `completeStatementIDRead` in interface `StatementCallbackInterface`