com.mysql.jdbc
Class CallableStatement

java.lang.Object
  extended by com.mysql.jdbc.StatementImpl
      extended by com.mysql.jdbc.PreparedStatement
          extended by com.mysql.jdbc.CallableStatement
All Implemented Interfaces:
java.sql.CallableStatement, java.sql.PreparedStatement, java.sql.Statement, java.sql.Wrapper
Direct Known Subclasses:
JDBC4CallableStatement

public class CallableStatement
extends PreparedStatement
implements java.sql.CallableStatement

Representation of stored procedures for JDBC


Nested Class Summary
protected  class CallableStatement.CallableStatementParam
           
protected  class CallableStatement.CallableStatementParamInfo
           
protected  class CallableStatement.CallableStatementParamInfoJDBC3
          Can't implement this directly, as then you can't use callable statements on JDK-1.3.1, which unfortunately isn't EOL'd yet, and still present quite a bit out there in the wild (Websphere, FreeBSD, anyone?)
 
Nested classes/interfaces inherited from class com.mysql.jdbc.PreparedStatement
PreparedStatement.AppendingBatchVisitor, PreparedStatement.BatchParams, PreparedStatement.BatchVisitor, PreparedStatement.EmulatedPreparedStatementBindings, PreparedStatement.EndPoint, PreparedStatement.ParseInfo
 
Nested classes/interfaces inherited from class com.mysql.jdbc.StatementImpl
StatementImpl.CancelTask
 
Field Summary
protected static java.lang.reflect.Constructor JDBC_4_CSTMT_2_ARGS_CTOR
           
protected static java.lang.reflect.Constructor JDBC_4_CSTMT_4_ARGS_CTOR
           
protected  boolean outputParamWasNull
           
protected  CallableStatement.CallableStatementParamInfo paramInfo
           
 
Fields inherited from class com.mysql.jdbc.PreparedStatement
batchedValuesClause, batchHasPlainStatements, firstCharOfStmt, hasLimitClause, isLoadDataQuery, numberOfExecutions, originalSql, parameterCount, parameterMetaData, parameterTypes, parseInfo, rewrittenBatchSize, useTrueBoolean, usingAnsiMode
 
Fields inherited from class com.mysql.jdbc.StatementImpl
batchedArgs, batchedGeneratedKeys, cancelTimeoutMutex, charConverter, charEncoding, connection, connectionId, continueBatchOnError, currentCatalog, doEscapeProcessing, eventSink, holdResultsOpenOverClose, isClosed, lastInsertId, lastQueryIsOnDupKeyUpdate, maxFieldSize, maxRows, maxRowsChanged, openResults, pedantic, PING_MARKER, pingTarget, pointOfOrigin, profileSQL, results, resultSetConcurrency, resultSetType, retrieveGeneratedKeys, statementCounter, statementId, timeoutInMillis, updateCount, useLegacyDatetimeCode, USES_VARIABLES_FALSE, USES_VARIABLES_TRUE, USES_VARIABLES_UNKNOWN, useUsageAdvisor, warningChain, wasCancelled, wasCancelledByTimeout
 
Fields inherited from interface java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
 
Constructor Summary
CallableStatement(ConnectionImpl conn, CallableStatement.CallableStatementParamInfo paramInfo)
          Creates a new CallableStatement
CallableStatement(ConnectionImpl conn, java.lang.String sql, java.lang.String catalog, boolean isFunctionCall)
          Creates a new CallableStatement
 
Method Summary
 void addBatch()
          JDBC 2.0 Add a set of parameters to the batch.
protected  boolean checkReadOnlySafeStatement()
          Check to see if the statement is safe for read-only slaves after failover.
 void clearParameters()
          In general, parameter values remain in force for repeated used of a Statement.
 boolean execute()
          Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate
 int[] executeBatch()
          JDBC 2.0 Submit a batch of commands to the database for execution.
 java.sql.ResultSet executeQuery()
          A Prepared SQL query is executed and its ResultSet is returned
 int executeUpdate()
          Execute a SQL INSERT, UPDATE or DELETE statement.
protected  java.lang.String fixParameterName(java.lang.String paramNameIn)
          Adds 'at' symbol to beginning of parameter names if needed.
 java.sql.Array getArray(int i)
           
 java.sql.Array getArray(java.lang.String parameterName)
           
 java.math.BigDecimal getBigDecimal(int parameterIndex)
           
 java.math.BigDecimal getBigDecimal(int parameterIndex, int scale)
          Deprecated.  
 java.math.BigDecimal getBigDecimal(java.lang.String parameterName)
           
 java.sql.Blob getBlob(int parameterIndex)
           
 java.sql.Blob getBlob(java.lang.String parameterName)
           
 boolean getBoolean(int parameterIndex)
           
 boolean getBoolean(java.lang.String parameterName)
           
 byte getByte(int parameterIndex)
           
 byte getByte(java.lang.String parameterName)
           
 byte[] getBytes(int parameterIndex)
           
 byte[] getBytes(java.lang.String parameterName)
           
 java.sql.Clob getClob(int parameterIndex)
           
 java.sql.Clob getClob(java.lang.String parameterName)
           
 java.sql.Date getDate(int parameterIndex)
           
 java.sql.Date getDate(int parameterIndex, java.util.Calendar cal)
           
 java.sql.Date getDate(java.lang.String parameterName)
           
 java.sql.Date getDate(java.lang.String parameterName, java.util.Calendar cal)
           
 double getDouble(int parameterIndex)
           
 double getDouble(java.lang.String parameterName)
           
 float getFloat(int parameterIndex)
           
 float getFloat(java.lang.String parameterName)
           
protected static CallableStatement getInstance(ConnectionImpl conn, CallableStatement.CallableStatementParamInfo paramInfo)
          Creates a callable statement instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.
protected static CallableStatement getInstance(ConnectionImpl conn, java.lang.String sql, java.lang.String catalog, boolean isFunctionCall)
          Creates a callable statement instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.
 int getInt(int parameterIndex)
           
 int getInt(java.lang.String parameterName)
           
 long getLong(int parameterIndex)
           
 long getLong(java.lang.String parameterName)
           
protected  int getNamedParamIndex(java.lang.String paramName, boolean forOut)
           
 java.lang.Object getObject(int parameterIndex)
           
 java.lang.Object getObject(int parameterIndex, java.util.Map map)
           
 java.lang.Object getObject(java.lang.String parameterName)
           
 java.lang.Object getObject(java.lang.String parameterName, java.util.Map map)
           
protected  ResultSetInternalMethods getOutputParameters(int paramIndex)
          Returns the ResultSet that holds the output parameters, or throws an appropriate exception if none exist, or they weren't returned.
protected  int getParameterIndexOffset()
          For calling stored functions, this will be -1 as we don't really count the first '?'
 java.sql.ParameterMetaData getParameterMetaData()
           
 java.sql.Ref getRef(int parameterIndex)
           
 java.sql.Ref getRef(java.lang.String parameterName)
           
 short getShort(int parameterIndex)
           
 short getShort(java.lang.String parameterName)
           
 java.lang.String getString(int parameterIndex)
           
 java.lang.String getString(java.lang.String parameterName)
           
 java.sql.Time getTime(int parameterIndex)
           
 java.sql.Time getTime(int parameterIndex, java.util.Calendar cal)
           
 java.sql.Time getTime(java.lang.String parameterName)
           
 java.sql.Time getTime(java.lang.String parameterName, java.util.Calendar cal)
           
 java.sql.Timestamp getTimestamp(int parameterIndex)
           
 java.sql.Timestamp getTimestamp(int parameterIndex, java.util.Calendar cal)
           
 java.sql.Timestamp getTimestamp(java.lang.String parameterName)
           
 java.sql.Timestamp getTimestamp(java.lang.String parameterName, java.util.Calendar cal)
           
 java.net.URL getURL(int parameterIndex)
           
 java.net.URL getURL(java.lang.String parameterName)
           
protected  int mapOutputParameterIndexToRsIndex(int paramIndex)
           
 void registerOutParameter(int parameterIndex, int sqlType)
           
 void registerOutParameter(int parameterIndex, int sqlType, int scale)
           
 void registerOutParameter(int parameterIndex, int sqlType, java.lang.String typeName)
           
 void registerOutParameter(java.lang.String parameterName, int sqlType)
           
 void registerOutParameter(java.lang.String parameterName, int sqlType, int scale)
           
 void registerOutParameter(java.lang.String parameterName, int sqlType, java.lang.String typeName)
           
 void setAsciiStream(java.lang.String parameterName, java.io.InputStream x)
           
 void setAsciiStream(java.lang.String parameterName, java.io.InputStream x, int length)
           
 void setAsciiStream(java.lang.String parameterName, java.io.InputStream x, long length)
           
 void setBigDecimal(java.lang.String parameterName, java.math.BigDecimal x)
           
 void setBinaryStream(java.lang.String parameterName, java.io.InputStream x)
           
 void setBinaryStream(java.lang.String parameterName, java.io.InputStream x, int length)
           
 void setBinaryStream(java.lang.String parameterName, java.io.InputStream x, long length)
           
 void setBlob(java.lang.String parameterName, java.sql.Blob x)
           
 void setBlob(java.lang.String parameterName, java.io.InputStream inputStream)
           
 void setBlob(java.lang.String parameterName, java.io.InputStream inputStream, long length)
           
 void setBoolean(java.lang.String parameterName, boolean x)
           
 void setByte(java.lang.String parameterName, byte x)
           
 void setBytes(java.lang.String parameterName, byte[] x)
           
 void setCharacterStream(java.lang.String parameterName, java.io.Reader reader)
           
 void setCharacterStream(java.lang.String parameterName, java.io.Reader reader, int length)
           
 void setCharacterStream(java.lang.String parameterName, java.io.Reader reader, long length)
           
 void setClob(java.lang.String parameterName, java.sql.Clob x)
           
 void setClob(java.lang.String parameterName, java.io.Reader reader)
           
 void setClob(java.lang.String parameterName, java.io.Reader reader, long length)
           
 void setDate(java.lang.String parameterName, java.sql.Date x)
           
 void setDate(java.lang.String parameterName, java.sql.Date x, java.util.Calendar cal)
           
 void setDouble(java.lang.String parameterName, double x)
           
 void setFloat(java.lang.String parameterName, float x)
           
 void setInt(java.lang.String parameterName, int x)
           
 void setLong(java.lang.String parameterName, long x)
           
 void setNCharacterStream(java.lang.String parameterName, java.io.Reader value)
           
 void setNCharacterStream(java.lang.String parameterName, java.io.Reader value, long length)
           
 void setNull(java.lang.String parameterName, int sqlType)
           
 void setNull(java.lang.String parameterName, int sqlType, java.lang.String typeName)
           
 void setObject(java.lang.String parameterName, java.lang.Object x)
           
 void setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType)
           
 void setObject(java.lang.String parameterName, java.lang.Object x, int targetSqlType, int scale)
           
 void setShort(java.lang.String parameterName, short x)
           
 void setString(java.lang.String parameterName, java.lang.String x)
           
 void setTime(java.lang.String parameterName, java.sql.Time x)
           
 void setTime(java.lang.String parameterName, java.sql.Time x, java.util.Calendar cal)
           
 void setTimestamp(java.lang.String parameterName, java.sql.Timestamp x)
           
 void setTimestamp(java.lang.String parameterName, java.sql.Timestamp x, java.util.Calendar cal)
           
 void setURL(java.lang.String parameterName, java.net.URL val)
           
 boolean wasNull()
           
 
Methods inherited from class com.mysql.jdbc.PreparedStatement
addBatch, asSql, asSql, canRewrite, canRewriteAsMultiValueInsertAtSqlLevel, clearBatch, close, computeBatchSize, computeMaxParameterSetSizeAndBatchSize, containsOnDuplicateKeyUpdateInSQL, executeBatchedInserts, executeBatchSerially, executeInternal, executePreparedBatchAsMultiStatement, executeUpdate, executeUpdate, fillSendPacket, fillSendPacket, getBytesRepresentation, getBytesRepresentationForBatch, getInstance, getInstance, getInstance, getLocationOfOnDuplicateKeyUpdate, getMetaData, getNonRewrittenSql, getParameterBindings, getParseInfo, getPreparedSql, getRewrittenBatchSize, getUpdateCount, getValuesClause, isClosed, isNull, isSelectQuery, prepareBatchedInsertSQL, readFully, realClose, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setBytes, setBytesNoEscape, setBytesNoEscapeNoQuotes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setInternal, setInternal, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setOneBatchedParameterSet, setRef, setResultSetConcurrency, setResultSetType, setRetrieveGeneratedKeys, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL, toString
 
Methods inherited from class com.mysql.jdbc.StatementImpl
cancel, checkClosed, checkForDml, checkNullOrEmptyQuery, clearWarnings, closeAllOpenResults, containsOnDuplicateKeyInString, createStreamingResultSet, disableStreamingResults, doPingInstead, enableStreamingResults, execute, execute, execute, execute, executeQuery, executeSimpleNonQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdate, findStartOfStatement, generatePingResultSet, getBatchedGeneratedKeys, getBatchedGeneratedKeys, getCalendarInstanceForSessionOrNew, getConnection, getExceptionInterceptor, getFetchDirection, getFetchSize, getGeneratedKeys, getGeneratedKeysInternal, getGeneratedKeysInternal, getId, getLastInsertID, getLocalInfileInputStream, getLongUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getOnDuplicateKeyLocation, getOpenResultSetCount, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetInternal, getResultSetType, getWarnings, handleExceptionForBatch, hasDeadlockOrTimeoutRolledBackTx, isPoolable, isWrapperFor, processMultiCountsAndKeys, removeOpenResultSet, resetCancelledState, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setHoldResultsOpenOverClose, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPingTarget, setPoolable, setQueryTimeout, unwrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.sql.CallableStatement
getCharacterStream, getCharacterStream, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getRowId, getRowId, getSQLXML, getSQLXML, setNClob, setNClob, setNClob, setNString, setRowId, setSQLXML
 
Methods inherited from interface java.sql.PreparedStatement
getMetaData, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL
 
Methods inherited from interface java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, execute, execute, execute, execute, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
 
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
 

Field Detail

JDBC_4_CSTMT_2_ARGS_CTOR

protected static final java.lang.reflect.Constructor JDBC_4_CSTMT_2_ARGS_CTOR

JDBC_4_CSTMT_4_ARGS_CTOR

protected static final java.lang.reflect.Constructor JDBC_4_CSTMT_4_ARGS_CTOR

outputParamWasNull

protected boolean outputParamWasNull

paramInfo

protected CallableStatement.CallableStatementParamInfo paramInfo
Constructor Detail

CallableStatement

public CallableStatement(ConnectionImpl conn,
                         CallableStatement.CallableStatementParamInfo paramInfo)
                  throws java.sql.SQLException
Creates a new CallableStatement

Parameters:
conn - the connection creating this statement
paramInfo - the SQL to prepare
Throws:
java.sql.SQLException - if an error occurs

CallableStatement

public CallableStatement(ConnectionImpl conn,
                         java.lang.String sql,
                         java.lang.String catalog,
                         boolean isFunctionCall)
                  throws java.sql.SQLException
Creates a new CallableStatement

Parameters:
conn - the connection creating this statement
sql - the SQL to prepare
catalog - the current catalog
Throws:
java.sql.SQLException - if an error occurs
Method Detail

getInstance

protected static CallableStatement getInstance(ConnectionImpl conn,
                                               java.lang.String sql,
                                               java.lang.String catalog,
                                               boolean isFunctionCall)
                                        throws java.sql.SQLException
Creates a callable statement instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.

Throws:
java.sql.SQLException

getInstance

protected static CallableStatement getInstance(ConnectionImpl conn,
                                               CallableStatement.CallableStatementParamInfo paramInfo)
                                        throws java.sql.SQLException
Creates a callable statement instance -- We need to provide factory-style methods so we can support both JDBC3 (and older) and JDBC4 runtimes, otherwise the class verifier complains when it tries to load JDBC4-only interface classes that are present in JDBC4 method signatures.

Throws:
java.sql.SQLException

addBatch

public void addBatch()
              throws java.sql.SQLException
Description copied from class: PreparedStatement
JDBC 2.0 Add a set of parameters to the batch.

Specified by:
addBatch in interface java.sql.PreparedStatement
Overrides:
addBatch in class PreparedStatement
Throws:
java.sql.SQLException - if a database-access error occurs.
See Also:
StatementImpl.addBatch(java.lang.String)

clearParameters

public void clearParameters()
                     throws java.sql.SQLException
Description copied from class: PreparedStatement
In general, parameter values remain in force for repeated used of a Statement. Setting a parameter value automatically clears its previous value. However, in some cases, it is useful to immediately release the resources used by the current parameter values; this can be done by calling clearParameters

Specified by:
clearParameters in interface java.sql.PreparedStatement
Overrides:
clearParameters in class PreparedStatement
Throws:
java.sql.SQLException - if a database access error occurs

execute

public boolean execute()
                throws java.sql.SQLException
Description copied from class: PreparedStatement
Some prepared statements return multiple results; the execute method handles these complex statements as well as the simpler form of statements handled by executeQuery and executeUpdate

Specified by:
execute in interface java.sql.PreparedStatement
Overrides:
execute in class PreparedStatement
Returns:
true if the next result is a ResultSet; false if it is an update count or there are no more results
Throws:
java.sql.SQLException - if a database access error occurs

executeQuery

public java.sql.ResultSet executeQuery()
                                throws java.sql.SQLException
Description copied from class: PreparedStatement
A Prepared SQL query is executed and its ResultSet is returned

Specified by:
executeQuery in interface java.sql.PreparedStatement
Overrides:
executeQuery in class PreparedStatement
Returns:
a ResultSet that contains the data produced by the query - never null
Throws:
java.sql.SQLException - if a database access error occurs

executeUpdate

public int executeUpdate()
                  throws java.sql.SQLException
Description copied from class: PreparedStatement
Execute a SQL INSERT, UPDATE or DELETE statement. In addition, SQL statements that return nothing such as SQL DDL statements can be executed.

Specified by:
executeUpdate in interface java.sql.PreparedStatement
Overrides:
executeUpdate in class PreparedStatement
Returns:
either the row count for INSERT, UPDATE or DELETE; or 0 for SQL statements that return nothing.
Throws:
java.sql.SQLException - if a database access error occurs

fixParameterName

protected java.lang.String fixParameterName(java.lang.String paramNameIn)
                                     throws java.sql.SQLException
Adds 'at' symbol to beginning of parameter names if needed.

Parameters:
paramNameIn - the parameter name to 'fix'
Returns:
the parameter name with an 'a' prepended, if needed
Throws:
java.sql.SQLException - if the parameter name is null or empty.

getArray

public java.sql.Array getArray(int i)
                        throws java.sql.SQLException
Specified by:
getArray in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getArray(int)

getArray

public java.sql.Array getArray(java.lang.String parameterName)
                        throws java.sql.SQLException
Specified by:
getArray in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getArray(java.lang.String)

getBigDecimal

public java.math.BigDecimal getBigDecimal(int parameterIndex)
                                   throws java.sql.SQLException
Specified by:
getBigDecimal in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBigDecimal(int)

getBigDecimal

public java.math.BigDecimal getBigDecimal(int parameterIndex,
                                          int scale)
                                   throws java.sql.SQLException
Deprecated. 

DOCUMENT ME!

Specified by:
getBigDecimal in interface java.sql.CallableStatement
Parameters:
parameterIndex - DOCUMENT ME!
scale - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
java.sql.SQLException - DOCUMENT ME!
See Also:
CallableStatement.getBigDecimal(int, int)

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String parameterName)
                                   throws java.sql.SQLException
Specified by:
getBigDecimal in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBigDecimal(java.lang.String)

getBlob

public java.sql.Blob getBlob(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getBlob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBlob(int)

getBlob

public java.sql.Blob getBlob(java.lang.String parameterName)
                      throws java.sql.SQLException
Specified by:
getBlob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBlob(java.lang.String)

getBoolean

public boolean getBoolean(int parameterIndex)
                   throws java.sql.SQLException
Specified by:
getBoolean in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBoolean(int)

getBoolean

public boolean getBoolean(java.lang.String parameterName)
                   throws java.sql.SQLException
Specified by:
getBoolean in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBoolean(java.lang.String)

getByte

public byte getByte(int parameterIndex)
             throws java.sql.SQLException
Specified by:
getByte in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getByte(int)

getByte

public byte getByte(java.lang.String parameterName)
             throws java.sql.SQLException
Specified by:
getByte in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getByte(java.lang.String)

getBytes

public byte[] getBytes(int parameterIndex)
                throws java.sql.SQLException
Specified by:
getBytes in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBytes(int)

getBytes

public byte[] getBytes(java.lang.String parameterName)
                throws java.sql.SQLException
Specified by:
getBytes in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getBytes(java.lang.String)

getClob

public java.sql.Clob getClob(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getClob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getClob(int)

getClob

public java.sql.Clob getClob(java.lang.String parameterName)
                      throws java.sql.SQLException
Specified by:
getClob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getClob(java.lang.String)

getDate

public java.sql.Date getDate(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDate(int)

getDate

public java.sql.Date getDate(int parameterIndex,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDate(int, java.util.Calendar)

getDate

public java.sql.Date getDate(java.lang.String parameterName)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDate(java.lang.String)

getDate

public java.sql.Date getDate(java.lang.String parameterName,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDate(java.lang.String, java.util.Calendar)

getDouble

public double getDouble(int parameterIndex)
                 throws java.sql.SQLException
Specified by:
getDouble in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDouble(int)

getDouble

public double getDouble(java.lang.String parameterName)
                 throws java.sql.SQLException
Specified by:
getDouble in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getDouble(java.lang.String)

getFloat

public float getFloat(int parameterIndex)
               throws java.sql.SQLException
Specified by:
getFloat in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getFloat(int)

getFloat

public float getFloat(java.lang.String parameterName)
               throws java.sql.SQLException
Specified by:
getFloat in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getFloat(java.lang.String)

getInt

public int getInt(int parameterIndex)
           throws java.sql.SQLException
Specified by:
getInt in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getInt(int)

getInt

public int getInt(java.lang.String parameterName)
           throws java.sql.SQLException
Specified by:
getInt in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getInt(java.lang.String)

getLong

public long getLong(int parameterIndex)
             throws java.sql.SQLException
Specified by:
getLong in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getLong(int)

getLong

public long getLong(java.lang.String parameterName)
             throws java.sql.SQLException
Specified by:
getLong in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getLong(java.lang.String)

getNamedParamIndex

protected int getNamedParamIndex(java.lang.String paramName,
                                 boolean forOut)
                          throws java.sql.SQLException
Throws:
java.sql.SQLException

getObject

public java.lang.Object getObject(int parameterIndex)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getObject(int)

getObject

public java.lang.Object getObject(int parameterIndex,
                                  java.util.Map map)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getObject(int, java.util.Map)

getObject

public java.lang.Object getObject(java.lang.String parameterName)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getObject(java.lang.String)

getObject

public java.lang.Object getObject(java.lang.String parameterName,
                                  java.util.Map map)
                           throws java.sql.SQLException
Specified by:
getObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getObject(java.lang.String, java.util.Map)

getOutputParameters

protected ResultSetInternalMethods getOutputParameters(int paramIndex)
                                                throws java.sql.SQLException
Returns the ResultSet that holds the output parameters, or throws an appropriate exception if none exist, or they weren't returned.

Returns:
the ResultSet that holds the output parameters
Throws:
java.sql.SQLException - if no output parameters were defined, or if no output parameters were returned.

getParameterMetaData

public java.sql.ParameterMetaData getParameterMetaData()
                                                throws java.sql.SQLException
Specified by:
getParameterMetaData in interface java.sql.PreparedStatement
Overrides:
getParameterMetaData in class PreparedStatement
Throws:
java.sql.SQLException
See Also:
PreparedStatement.getParameterMetaData()

getRef

public java.sql.Ref getRef(int parameterIndex)
                    throws java.sql.SQLException
Specified by:
getRef in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getRef(int)

getRef

public java.sql.Ref getRef(java.lang.String parameterName)
                    throws java.sql.SQLException
Specified by:
getRef in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getRef(java.lang.String)

getShort

public short getShort(int parameterIndex)
               throws java.sql.SQLException
Specified by:
getShort in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getShort(int)

getShort

public short getShort(java.lang.String parameterName)
               throws java.sql.SQLException
Specified by:
getShort in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getShort(java.lang.String)

getString

public java.lang.String getString(int parameterIndex)
                           throws java.sql.SQLException
Specified by:
getString in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getString(int)

getString

public java.lang.String getString(java.lang.String parameterName)
                           throws java.sql.SQLException
Specified by:
getString in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getString(java.lang.String)

getTime

public java.sql.Time getTime(int parameterIndex)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTime(int)

getTime

public java.sql.Time getTime(int parameterIndex,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTime(int, java.util.Calendar)

getTime

public java.sql.Time getTime(java.lang.String parameterName)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTime(java.lang.String)

getTime

public java.sql.Time getTime(java.lang.String parameterName,
                             java.util.Calendar cal)
                      throws java.sql.SQLException
Specified by:
getTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTime(java.lang.String, java.util.Calendar)

getTimestamp

public java.sql.Timestamp getTimestamp(int parameterIndex)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTimestamp(int)

getTimestamp

public java.sql.Timestamp getTimestamp(int parameterIndex,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTimestamp(int, java.util.Calendar)

getTimestamp

public java.sql.Timestamp getTimestamp(java.lang.String parameterName)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTimestamp(java.lang.String)

getTimestamp

public java.sql.Timestamp getTimestamp(java.lang.String parameterName,
                                       java.util.Calendar cal)
                                throws java.sql.SQLException
Specified by:
getTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getTimestamp(java.lang.String, java.util.Calendar)

getURL

public java.net.URL getURL(int parameterIndex)
                    throws java.sql.SQLException
Specified by:
getURL in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getURL(int)

getURL

public java.net.URL getURL(java.lang.String parameterName)
                    throws java.sql.SQLException
Specified by:
getURL in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.getURL(java.lang.String)

mapOutputParameterIndexToRsIndex

protected int mapOutputParameterIndexToRsIndex(int paramIndex)
                                        throws java.sql.SQLException
Throws:
java.sql.SQLException

registerOutParameter

public void registerOutParameter(int parameterIndex,
                                 int sqlType)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(int, int)

registerOutParameter

public void registerOutParameter(int parameterIndex,
                                 int sqlType,
                                 int scale)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(int, int, int)

registerOutParameter

public void registerOutParameter(int parameterIndex,
                                 int sqlType,
                                 java.lang.String typeName)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(int, int, java.lang.String)

registerOutParameter

public void registerOutParameter(java.lang.String parameterName,
                                 int sqlType)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(java.lang.String, int)

registerOutParameter

public void registerOutParameter(java.lang.String parameterName,
                                 int sqlType,
                                 int scale)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(java.lang.String, int, int)

registerOutParameter

public void registerOutParameter(java.lang.String parameterName,
                                 int sqlType,
                                 java.lang.String typeName)
                          throws java.sql.SQLException
Specified by:
registerOutParameter in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.registerOutParameter(java.lang.String, int, java.lang.String)

setAsciiStream

public void setAsciiStream(java.lang.String parameterName,
                           java.io.InputStream x,
                           int length)
                    throws java.sql.SQLException
Specified by:
setAsciiStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setAsciiStream(java.lang.String, java.io.InputStream, int)

setBigDecimal

public void setBigDecimal(java.lang.String parameterName,
                          java.math.BigDecimal x)
                   throws java.sql.SQLException
Specified by:
setBigDecimal in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setBigDecimal(java.lang.String, java.math.BigDecimal)

setBinaryStream

public void setBinaryStream(java.lang.String parameterName,
                            java.io.InputStream x,
                            int length)
                     throws java.sql.SQLException
Specified by:
setBinaryStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setBinaryStream(java.lang.String, java.io.InputStream, int)

setBoolean

public void setBoolean(java.lang.String parameterName,
                       boolean x)
                throws java.sql.SQLException
Specified by:
setBoolean in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setBoolean(java.lang.String, boolean)

setByte

public void setByte(java.lang.String parameterName,
                    byte x)
             throws java.sql.SQLException
Specified by:
setByte in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setByte(java.lang.String, byte)

setBytes

public void setBytes(java.lang.String parameterName,
                     byte[] x)
              throws java.sql.SQLException
Specified by:
setBytes in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setBytes(java.lang.String, byte[])

setCharacterStream

public void setCharacterStream(java.lang.String parameterName,
                               java.io.Reader reader,
                               int length)
                        throws java.sql.SQLException
Specified by:
setCharacterStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setCharacterStream(java.lang.String, java.io.Reader, int)

setDate

public void setDate(java.lang.String parameterName,
                    java.sql.Date x)
             throws java.sql.SQLException
Specified by:
setDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setDate(java.lang.String, java.sql.Date)

setDate

public void setDate(java.lang.String parameterName,
                    java.sql.Date x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
Specified by:
setDate in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setDate(java.lang.String, java.sql.Date, java.util.Calendar)

setDouble

public void setDouble(java.lang.String parameterName,
                      double x)
               throws java.sql.SQLException
Specified by:
setDouble in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setDouble(java.lang.String, double)

setFloat

public void setFloat(java.lang.String parameterName,
                     float x)
              throws java.sql.SQLException
Specified by:
setFloat in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setFloat(java.lang.String, float)

setInt

public void setInt(java.lang.String parameterName,
                   int x)
            throws java.sql.SQLException
Specified by:
setInt in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setInt(java.lang.String, int)

setLong

public void setLong(java.lang.String parameterName,
                    long x)
             throws java.sql.SQLException
Specified by:
setLong in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setLong(java.lang.String, long)

setNull

public void setNull(java.lang.String parameterName,
                    int sqlType)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setNull(java.lang.String, int)

setNull

public void setNull(java.lang.String parameterName,
                    int sqlType,
                    java.lang.String typeName)
             throws java.sql.SQLException
Specified by:
setNull in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setNull(java.lang.String, int, java.lang.String)

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setObject(java.lang.String, java.lang.Object)

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x,
                      int targetSqlType)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setObject(java.lang.String, java.lang.Object, int)

setObject

public void setObject(java.lang.String parameterName,
                      java.lang.Object x,
                      int targetSqlType,
                      int scale)
               throws java.sql.SQLException
Specified by:
setObject in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setObject(java.lang.String, java.lang.Object, int, int)

setShort

public void setShort(java.lang.String parameterName,
                     short x)
              throws java.sql.SQLException
Specified by:
setShort in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setShort(java.lang.String, short)

setString

public void setString(java.lang.String parameterName,
                      java.lang.String x)
               throws java.sql.SQLException
Specified by:
setString in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setString(java.lang.String, java.lang.String)

setTime

public void setTime(java.lang.String parameterName,
                    java.sql.Time x)
             throws java.sql.SQLException
Specified by:
setTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setTime(java.lang.String, java.sql.Time)

setTime

public void setTime(java.lang.String parameterName,
                    java.sql.Time x,
                    java.util.Calendar cal)
             throws java.sql.SQLException
Specified by:
setTime in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setTime(java.lang.String, java.sql.Time, java.util.Calendar)

setTimestamp

public void setTimestamp(java.lang.String parameterName,
                         java.sql.Timestamp x)
                  throws java.sql.SQLException
Specified by:
setTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setTimestamp(java.lang.String, java.sql.Timestamp)

setTimestamp

public void setTimestamp(java.lang.String parameterName,
                         java.sql.Timestamp x,
                         java.util.Calendar cal)
                  throws java.sql.SQLException
Specified by:
setTimestamp in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setTimestamp(java.lang.String, java.sql.Timestamp, java.util.Calendar)

setURL

public void setURL(java.lang.String parameterName,
                   java.net.URL val)
            throws java.sql.SQLException
Specified by:
setURL in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.setURL(java.lang.String, java.net.URL)

wasNull

public boolean wasNull()
                throws java.sql.SQLException
Specified by:
wasNull in interface java.sql.CallableStatement
Throws:
java.sql.SQLException
See Also:
CallableStatement.wasNull()

executeBatch

public int[] executeBatch()
                   throws java.sql.SQLException
Description copied from class: PreparedStatement
JDBC 2.0 Submit a batch of commands to the database for execution. This method is optional.

Specified by:
executeBatch in interface java.sql.Statement
Overrides:
executeBatch in class PreparedStatement
Returns:
an array of update counts containing one element for each command in the batch. The array is ordered according to the order in which commands were inserted into the batch
Throws:
java.sql.SQLException - if a database-access error occurs, or the driver does not support batch statements
java.sql.BatchUpdateException - DOCUMENT ME!

getParameterIndexOffset

protected int getParameterIndexOffset()
Description copied from class: PreparedStatement
For calling stored functions, this will be -1 as we don't really count the first '?' parameter marker, it's only syntax, but JDBC counts it as #1, otherwise it will return 0

Overrides:
getParameterIndexOffset in class PreparedStatement

setAsciiStream

public void setAsciiStream(java.lang.String parameterName,
                           java.io.InputStream x)
                    throws java.sql.SQLException
Specified by:
setAsciiStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setAsciiStream

public void setAsciiStream(java.lang.String parameterName,
                           java.io.InputStream x,
                           long length)
                    throws java.sql.SQLException
Specified by:
setAsciiStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setBinaryStream

public void setBinaryStream(java.lang.String parameterName,
                            java.io.InputStream x)
                     throws java.sql.SQLException
Specified by:
setBinaryStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setBinaryStream

public void setBinaryStream(java.lang.String parameterName,
                            java.io.InputStream x,
                            long length)
                     throws java.sql.SQLException
Specified by:
setBinaryStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setBlob

public void setBlob(java.lang.String parameterName,
                    java.sql.Blob x)
             throws java.sql.SQLException
Specified by:
setBlob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setBlob

public void setBlob(java.lang.String parameterName,
                    java.io.InputStream inputStream)
             throws java.sql.SQLException
Specified by:
setBlob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setBlob

public void setBlob(java.lang.String parameterName,
                    java.io.InputStream inputStream,
                    long length)
             throws java.sql.SQLException
Specified by:
setBlob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setCharacterStream

public void setCharacterStream(java.lang.String parameterName,
                               java.io.Reader reader)
                        throws java.sql.SQLException
Specified by:
setCharacterStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setCharacterStream

public void setCharacterStream(java.lang.String parameterName,
                               java.io.Reader reader,
                               long length)
                        throws java.sql.SQLException
Specified by:
setCharacterStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setClob

public void setClob(java.lang.String parameterName,
                    java.sql.Clob x)
             throws java.sql.SQLException
Specified by:
setClob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setClob

public void setClob(java.lang.String parameterName,
                    java.io.Reader reader)
             throws java.sql.SQLException
Specified by:
setClob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setClob

public void setClob(java.lang.String parameterName,
                    java.io.Reader reader,
                    long length)
             throws java.sql.SQLException
Specified by:
setClob in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setNCharacterStream

public void setNCharacterStream(java.lang.String parameterName,
                                java.io.Reader value)
                         throws java.sql.SQLException
Specified by:
setNCharacterStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

setNCharacterStream

public void setNCharacterStream(java.lang.String parameterName,
                                java.io.Reader value,
                                long length)
                         throws java.sql.SQLException
Specified by:
setNCharacterStream in interface java.sql.CallableStatement
Throws:
java.sql.SQLException

checkReadOnlySafeStatement

protected boolean checkReadOnlySafeStatement()
                                      throws java.sql.SQLException
Description copied from class: PreparedStatement
Check to see if the statement is safe for read-only slaves after failover.

Overrides:
checkReadOnlySafeStatement in class PreparedStatement
Returns:
true if safe for read-only.
Throws:
java.sql.SQLException