Package org.apache.derby.client.am
Class ClientPreparedStatement
- java.lang.Object
-
- org.apache.derby.client.am.ClientStatement
-
- org.apache.derby.client.am.ClientPreparedStatement
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.sql.PreparedStatement,java.sql.Statement,java.sql.Wrapper,PreparedStatementCallbackInterface,StatementCallbackInterface,UnitOfWorkListener
- Direct Known Subclasses:
ClientCallableStatement,ClientPreparedStatement42
public class ClientPreparedStatement extends ClientStatement implements java.sql.PreparedStatement, PreparedStatementCallbackInterface
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classClientPreparedStatement.PossibleTypesPossibleTypes is information which is set of types.
-
Field Summary
Fields Modifier and Type Field Description private booleanlistenToUnitOfWork_MaterialPreparedStatementmaterialPreparedStatement_(package private) booleanoutputRegistered_(package private) ColumnMetaDataparameterMetaData_(package private) boolean[]parameterRegistered_(package private) java.lang.Object[]parameters_private boolean[]parameterSet_private java.util.ArrayList<int[]>parameterTypeListprivate ClientPooledConnectionpooledConnection_private java.lang.StringpositionedUpdateCursorName_(package private) java.lang.Stringsql_-
Fields inherited from class org.apache.derby.client.am.ClientStatement
agent_, autoGeneratedKeys_, batch_, cachedCursor_, cachedSingletonRowData_, connection_, cursorAttributesToSendOnPrepare_, cursorName_, doWriteTimeout, executeMethod__, executeQueryMethod__, executeUpdateMethod__, fetchDirection_, fetchSize_, generatedKeysColumnIndexes_, generatedKeysColumnNames_, generatedKeysResultSet_, isAutoCommittableStatement_, isCall__, isCatalogQuery_, isDeleteSql__, isInsertSql__, isPoolable, isPreparedStatement_, isQuery__, isUpdate__, isUpdateSql__, maxFieldSize_, maxRows_, openOnClient_, preparedStatementForAutoGeneratedKeys_, resultSet_, resultSetConcurrency_, resultSetHoldability_, resultSetList_, resultSetMetaData_, resultSetType_, singletonRowData_, sqlMode_, sqlUpdateMode_, timeout_, TIMEOUT_STATEMENT, timeoutArrayList, updateCount_
-
-
Constructor Summary
Constructors Constructor Description ClientPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, java.lang.String[] columnNames, int[] columnIndexes, ClientPooledConnection cpc)The PreparedStatementConstructor used for jdbc 2 prepared statements with scroll attributes.ClientPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, Section section, ClientPooledConnection cpc)The PreparedStatement constructor used for JDBC 2 positioned update statements.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddBatch()voidaddBatch(java.lang.String sql)(package private) voidcheckForValidParameterIndex(int parameterIndex)(package private) voidcheckForValidScale(int scale)private voidcheckStatementValidity(SqlException sqle)protected voidcheckStatus()Check for closed statement and extract the SQLException if it is raised.private voidcheckStreamLength(long length)Check the length passed in for the stream that is to be set.private voidcheckThatAllParametersAreSet()private voidcheckTypeForSetAsciiStream(int parameterIndex)private voidcheckTypeForSetBinaryStream(int parameterIndex)private voidcheckTypeForSetBlob(int parameterIndex)private voidcheckTypeForSetCharacterStream(int parameterIndex)private voidcheckTypeForSetClob(int parameterIndex)voidclearParameters()voidcompleteDescribeInput(ColumnMetaData parameterMetaData, Sqlca sqlca)voidcompleteDescribeOutput(ColumnMetaData resultSetMetaData, Sqlca sqlca)voidcompleteLocalCommit(java.util.Iterator listenerIterator)voidcompleteLocalRollback(java.util.Iterator listenerIterator)private voidcompletePrepareDescribe()booleanexecute()booleanexecute(java.lang.String sql)booleanexecute(java.lang.String sql, int autoGeneratedKeys)booleanexecute(java.lang.String sql, int[] columnIndexes)booleanexecute(java.lang.String sql, java.lang.String[] columnNames)int[]executeBatch()private long[]executeBatchRequestX(boolean supportsQueryBatchRequest)private long[]executeBatchX(boolean supportsQueryBatchRequest)longexecuteLargeUpdate()java.sql.ResultSetexecuteQuery()java.sql.ResultSetexecuteQuery(java.lang.String sql)(package private) ClientResultSetexecuteQueryX()intexecuteUpdate()intexecuteUpdate(java.lang.String sql)intexecuteUpdate(java.lang.String sql, int autoGeneratedKeys)intexecuteUpdate(java.lang.String sql, int[] columnIndexes)intexecuteUpdate(java.lang.String sql, java.lang.String[] columnNames)private longexecuteUpdateX()(package private) booleanexecuteX()private boolean[]expandBooleanArray(boolean[] array, int newLength)private java.lang.Object[]expandObjectArray(java.lang.Object[] array, int newLength)private voidflowExecute(int executeType)(package private) voidflowPrepareDescribeInputOutput()private ColumnMetaDatagetColumnMetaDataX()protected java.lang.StringgetJdbcStatementInterfaceName()Returns the name of the java.sql interface implemented by this class.java.sql.ResultSetMetaDatagetMetaData()private ColumnMetaDatagetMetaDataX()java.sql.ParameterMetaDatagetParameterMetaData()private ClientParameterMetaDatagetParameterMetaDataX()private voidinitPreparedStatement()private voidinitPreparedStatement(java.lang.String sql)private voidinitPreparedStatement(java.lang.String sql, Section section)protected voidinitResetPreparedStatement()voidlistenToUnitOfWork()protected voidmarkClosed(boolean removeListener)This method cleans up client-side resources held by this Statement.(package private) voidprepare()private voidreadDescribeInput()private voidreadExecute()private voidreadPrepareDescribeInput()private voidreadPrepareDescribeInputOutput()voidreset(boolean fullReset)(package private) voidresetForReuse()Resets the prepared statement for reuse in a statement pool.private voidresetParameters()voidresetPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, java.lang.String[] columnNames, int[] columnIndexes)private voidresetPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, Section section)voidsetArray(int parameterIndex, java.sql.Array x)voidsetAsciiStream(int parameterIndex, java.io.InputStream x)Sets the designated parameter to the given input stream.voidsetAsciiStream(int parameterIndex, java.io.InputStream x, int length)We do this inefficiently and read it all in here.voidsetAsciiStream(int parameterIndex, java.io.InputStream x, long length)We do this inefficiently and read it all in here.voidsetBigDecimal(int parameterIndex, java.math.BigDecimal x)voidsetBinaryStream(int parameterIndex, java.io.InputStream x)Sets the designated parameter to the given input stream.voidsetBinaryStream(int parameterIndex, java.io.InputStream x, int length)sets the parameter to the Binary Stream objectvoidsetBinaryStream(int parameterIndex, java.io.InputStream x, long length)sets the parameter to the Binary Stream objectprivate voidsetBinaryStreamX(int parameterIndex, java.io.InputStream x, int length)voidsetBlob(int parameterIndex, java.io.InputStream inputStream)Sets the designated parameter to aInputStreamobject.voidsetBlob(int parameterIndex, java.io.InputStream inputStream, long length)Sets the designated parameter to a InputStream object.voidsetBlob(int parameterIndex, java.sql.Blob x)private voidsetBlobX(int parameterIndex, java.sql.Blob x)voidsetBoolean(int parameterIndex, boolean x)voidsetByte(int parameterIndex, byte x)voidsetBytes(int parameterIndex, byte[] x)(package private) voidsetBytesX(int parameterIndex, byte[] x)voidsetCharacterStream(int parameterIndex, java.io.Reader x)Sets the designated parameter to the givenReaderobject.voidsetCharacterStream(int parameterIndex, java.io.Reader x, int length)Sets the designated parameter to the given Reader, which will have the specified number of bytes.voidsetCharacterStream(int parameterIndex, java.io.Reader x, long length)Sets the designated parameter to the given Reader, which will have the specified number of bytes.voidsetClob(int parameterIndex, java.io.Reader reader)Sets the designated parameter to aReaderobject.voidsetClob(int parameterIndex, java.io.Reader reader, long length)Sets the designated parameter to a Reader object.voidsetClob(int parameterIndex, java.sql.Clob x)private voidsetClobX(int parameterIndex, java.sql.Clob x)voidsetDate(int parameterIndex, java.sql.Date x)voidsetDate(int parameterIndex, java.sql.Date x, java.util.Calendar calendar)voidsetDouble(int parameterIndex, double x)voidsetFloat(int parameterIndex, float x)(package private) voidsetInput(int parameterIndex, java.lang.Object input)voidsetInt(int parameterIndex, int x)(package private) voidsetIntX(int parameterIndex, int x)voidsetLong(int parameterIndex, long x)(package private) voidsetLongX(int parameterIndex, long x)voidsetNCharacterStream(int parameterIndex, java.io.Reader value)voidsetNCharacterStream(int index, java.io.Reader value, long length)voidsetNClob(int parameterIndex, java.io.Reader reader)voidsetNClob(int parameterIndex, java.io.Reader reader, long length)voidsetNClob(int index, java.sql.NClob value)voidsetNString(int index, java.lang.String value)voidsetNull(int parameterIndex, int jdbcType)voidsetNull(int parameterIndex, int jdbcType, java.lang.String typeName)(package private) voidsetNullX(int parameterIndex, int jdbcType)voidsetObject(int parameterIndex, java.lang.Object x)voidsetObject(int parameterIndex, java.lang.Object x, int targetJdbcType)voidsetObject(int parameterIndex, java.lang.Object x, int targetJdbcType, int scale)private voidsetObjectX(int parameterIndex, java.lang.Object x, int targetJdbcType, int scale)voidsetRef(int parameterIndex, java.sql.Ref x)voidsetRowId(int parameterIndex, java.sql.RowId x)voidsetShort(int parameterIndex, short x)(package private) voidsetShortX(int parameterIndex, short x)voidsetSQLXML(int parameterIndex, java.sql.SQLXML xmlObject)voidsetString(int parameterIndex, java.lang.String x)(package private) voidsetStringX(int parameterIndex, java.lang.String x)voidsetTime(int parameterIndex, java.sql.Time x)voidsetTime(int parameterIndex, java.sql.Time x, java.util.Calendar calendar)voidsetTimestamp(int parameterIndex, java.sql.Timestamp x)voidsetTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar calendar)private voidsetUDTX(int parameterIndex, java.lang.Object x)Set a UDT parameter to an object value.voidsetUnicodeStream(int parameterIndex, java.io.InputStream x, int length)Deprecated.voidsetURL(int parameterIndex, java.net.URL x)private voidwriteDescribeInput(Section section)private voidwriteExecute(Section section, ColumnMetaData parameterMetaData, java.lang.Object[] inputs, int numInputColumns, boolean outputExpected, boolean chainedWritesFollowingSetLob)private voidwriteOpenQuery(Section section, int fetchSize, int resultSetType, int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputs)private voidwritePrepareDescribeInput()private voidwritePrepareDescribeInputOutput()-
Methods inherited from class org.apache.derby.client.am.ClientStatement
accumulateWarning, cacheCursorAttributesToSendOnPrepare, cancel, checkAutoGeneratedKeysParameters, checkForAppropriateSqlMode, checkForClosedStatement, checkForDuplicateCursorName, checkForStoredProcResultSetCount, clearBatch, clearWarnings, clearWarningsX, close, closeMeOnCompletion, closeOnCompletion, closeX, completeExecute, completeExecuteCall, completeExecuteCall, completeExecuteCallOpenQuery, completeExecuteImmediate, completeExecuteSetStatement, completeOpenQuery, completePrepare, completePrepareDescribeOutput, completeSqlca, escape, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeX, extractCursorNameFromWhereCurrentOf, finalize, getConnection, getConnectionCallbackInterface, getFetchDirection, getFetchSize, getGeneratedKeys, getGuessedResultSetMetaData, getLargeMaxRows, getLargeUpdateCount, getMaterialStatement, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getOwner, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getSection, getSqlWarnings, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isQueryMode, isWrapperFor, markClosed, markResultSetsClosed, parseSqlAndSetSqlModes, parseStorProcReturnedScrollableRowset, prepareAutoGeneratedKeysStatement, readClose, readCloseResultSets, readExecuteCall, readOpenQuery, readPrepare, readPrepareDescribeOutput, readSetSpecialRegister, removeClientCursorNameFromCache, resetCursorNameAndRemoveFromWhereCurrentOfMappings, resetResultSetList, resetStatement, resetStatement, resultSetCommitting, resultSetCommitting, setCursorName, setEscapeProcessing, setFetchDirection, setFetchedRowBase, setFetchSize, setLargeMaxRows, setMaterialStatement, setMaxFieldSize, setMaxRows, setOwner, setPoolable, setQueryTimeout, setSection, setupCursorNameCacheAndMappings, setUpdateCount, substituteClientCursorNameWithServerCursorName, unwrap, writeClose, writeCloseResultSets, writeExecuteCall, writeOpenQuery, writePrepare, writePrepareDescribeOutput, writeSetSpecialRegister
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Statement
cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
-
Methods inherited from interface org.apache.derby.client.am.StatementCallbackInterface
accumulateWarning, completeExecute, completeExecuteCall, completeExecuteCall, completeExecuteCallOpenQuery, completeExecuteImmediate, completeExecuteSetStatement, completeOpenQuery, completePrepare, completePrepareDescribeOutput, completeSqlca, getConnectionCallbackInterface, getGuessedResultSetMetaData
-
-
-
-
Field Detail
-
materialPreparedStatement_
public MaterialPreparedStatement materialPreparedStatement_
-
sql_
java.lang.String sql_
-
outputRegistered_
boolean outputRegistered_
-
parameters_
java.lang.Object[] parameters_
-
parameterSet_
private boolean[] parameterSet_
-
parameterRegistered_
boolean[] parameterRegistered_
-
parameterMetaData_
ColumnMetaData parameterMetaData_
-
parameterTypeList
private java.util.ArrayList<int[]> parameterTypeList
-
positionedUpdateCursorName_
private java.lang.String positionedUpdateCursorName_
-
pooledConnection_
private final ClientPooledConnection pooledConnection_
-
listenToUnitOfWork_
private boolean listenToUnitOfWork_
-
-
Constructor Detail
-
ClientPreparedStatement
public ClientPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, Section section, ClientPooledConnection cpc) throws SqlException
The PreparedStatement constructor used for JDBC 2 positioned update statements. Called by material statement constructors. It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed- Parameters:
agent- The instance of NetAgent associated with this CallableStatement object.connection- The connection object associated with this PreparedStatement Object.sql- A String object that is the SQL statement to be sent to the database.section- Sectioncpc- The ClientPooledConnection wraps the underlying physical connection associated with this prepared statement. It is used to pass the Statement closed and the Statement error occurred events that occur back to the ClientPooledConnection.- Throws:
SqlException
-
ClientPreparedStatement
public ClientPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, java.lang.String[] columnNames, int[] columnIndexes, ClientPooledConnection cpc) throws SqlException
The PreparedStatementConstructor used for jdbc 2 prepared statements with scroll attributes. Called by material statement constructors. It has the ClientPooledConnection as one of its parameters this is used to raise the Statement Events when the prepared statement is closed- Parameters:
agent- The instance of NetAgent associated with this CallableStatement object.connection- The connection object associated with this PreparedStatement Object.sql- A String object that is the SQL statement to be sent to the database.type- One of the ResultSet type constants.concurrency- One of the ResultSet concurrency constants.holdability- One of the ResultSet holdability constants.autoGeneratedKeys- a flag indicating whether auto-generated keys should be returned.columnNames- an array of column names indicating the columns that should be returned from the inserted row or rows.columnIndexes- an array of column names indicating the columns that should be returned from the inserted row.cpc- The ClientPooledConnection wraps the underlying physical connection associated with this prepared statement it is used to pass the Statement closed and the Statement error occurred events that occur back to the ClientPooledConnection.- Throws:
SqlException
-
-
Method Detail
-
setInput
void setInput(int parameterIndex, java.lang.Object input)
-
initPreparedStatement
private void initPreparedStatement()
-
initResetPreparedStatement
protected void initResetPreparedStatement()
- Overrides:
initResetPreparedStatementin classClientStatement
-
reset
public void reset(boolean fullReset) throws SqlException- Overrides:
resetin classClientStatement- Throws:
SqlException
-
resetForReuse
void resetForReuse() throws SqlExceptionResets the prepared statement for reuse in a statement pool.- Overrides:
resetForReusein classClientStatement- Throws:
SqlException- if the reset fails- See Also:
ClientStatement.resetForReuse()
-
resetParameters
private void resetParameters()
-
resetPreparedStatement
private void resetPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, Section section) throws SqlException
- Throws:
SqlException
-
initPreparedStatement
private void initPreparedStatement(java.lang.String sql, Section section) throws SqlException- Throws:
SqlException
-
resetPreparedStatement
public void resetPreparedStatement(Agent agent, ClientConnection connection, java.lang.String sql, int type, int concurrency, int holdability, int autoGeneratedKeys, java.lang.String[] columnNames, int[] columnIndexes) throws SqlException
- Throws:
SqlException
-
initPreparedStatement
private void initPreparedStatement(java.lang.String sql) throws SqlException- Throws:
SqlException
-
prepare
void prepare() throws SqlException- Throws:
SqlException
-
addBatch
public void addBatch(java.lang.String sql) throws java.sql.SQLException- Specified by:
addBatchin interfacejava.sql.Statement- Overrides:
addBatchin classClientStatement- Throws:
java.sql.SQLException
-
execute
public boolean execute(java.lang.String sql) throws java.sql.SQLException- Specified by:
executein interfacejava.sql.Statement- Overrides:
executein classClientStatement- Throws:
java.sql.SQLException
-
executeQuery
public java.sql.ResultSet executeQuery(java.lang.String sql) throws java.sql.SQLException- Specified by:
executeQueryin interfacejava.sql.Statement- Overrides:
executeQueryin classClientStatement- Throws:
java.sql.SQLException
-
executeUpdate
public int executeUpdate(java.lang.String sql) throws java.sql.SQLException- Specified by:
executeUpdatein interfacejava.sql.Statement- Overrides:
executeUpdatein classClientStatement- Throws:
java.sql.SQLException
-
executeQuery
public java.sql.ResultSet executeQuery() throws java.sql.SQLException- Specified by:
executeQueryin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
executeQueryX
ClientResultSet executeQueryX() throws SqlException
- Throws:
SqlException
-
executeUpdate
public int executeUpdate() throws java.sql.SQLException- Specified by:
executeUpdatein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
executeUpdateX
private long executeUpdateX() throws SqlException- Throws:
SqlException
-
setNull
public void setNull(int parameterIndex, int jdbcType) throws java.sql.SQLException- Specified by:
setNullin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNullX
void setNullX(int parameterIndex, int jdbcType) throws SqlException- Throws:
SqlException
-
setNull
public void setNull(int parameterIndex, int jdbcType, java.lang.String typeName) throws java.sql.SQLException- Specified by:
setNullin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setBoolean
public void setBoolean(int parameterIndex, boolean x) throws java.sql.SQLException- Specified by:
setBooleanin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setByte
public void setByte(int parameterIndex, byte x) throws java.sql.SQLException- Specified by:
setBytein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setShort
public void setShort(int parameterIndex, short x) throws java.sql.SQLException- Specified by:
setShortin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setShortX
void setShortX(int parameterIndex, short x) throws SqlException- Throws:
SqlException
-
setInt
public void setInt(int parameterIndex, int x) throws java.sql.SQLException- Specified by:
setIntin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setIntX
void setIntX(int parameterIndex, int x) throws SqlException- Throws:
SqlException
-
setLong
public void setLong(int parameterIndex, long x) throws java.sql.SQLException- Specified by:
setLongin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setLongX
void setLongX(int parameterIndex, long x)
-
setFloat
public void setFloat(int parameterIndex, float x) throws java.sql.SQLException- Specified by:
setFloatin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setDouble
public void setDouble(int parameterIndex, double x) throws java.sql.SQLException- Specified by:
setDoublein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setBigDecimal
public void setBigDecimal(int parameterIndex, java.math.BigDecimal x) throws java.sql.SQLException- Specified by:
setBigDecimalin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setDate
public void setDate(int parameterIndex, java.sql.Date x, java.util.Calendar calendar) throws java.sql.SQLException- Specified by:
setDatein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setDate
public void setDate(int parameterIndex, java.sql.Date x) throws java.sql.SQLException- Specified by:
setDatein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setTime
public void setTime(int parameterIndex, java.sql.Time x, java.util.Calendar calendar) throws java.sql.SQLException- Specified by:
setTimein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setTime
public void setTime(int parameterIndex, java.sql.Time x) throws java.sql.SQLException- Specified by:
setTimein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setTimestamp
public void setTimestamp(int parameterIndex, java.sql.Timestamp x, java.util.Calendar calendar) throws java.sql.SQLException- Specified by:
setTimestampin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setTimestamp
public void setTimestamp(int parameterIndex, java.sql.Timestamp x) throws java.sql.SQLException- Specified by:
setTimestampin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setString
public void setString(int parameterIndex, java.lang.String x) throws java.sql.SQLException- Specified by:
setStringin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setStringX
void setStringX(int parameterIndex, java.lang.String x) throws SqlException- Throws:
SqlException
-
setBytes
public void setBytes(int parameterIndex, byte[] x) throws java.sql.SQLException- Specified by:
setBytesin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setBytesX
void setBytesX(int parameterIndex, byte[] x) throws SqlException- Throws:
SqlException
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream x, long length) throws java.sql.SQLExceptionsets the parameter to the Binary Stream object- Specified by:
setBinaryStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the binary parameter valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLExceptionsets the parameter to the Binary Stream object- Specified by:
setBinaryStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the binary parameter valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
setBinaryStreamX
private void setBinaryStreamX(int parameterIndex, java.io.InputStream x, int length) throws SqlException- Throws:
SqlException
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream x, long length) throws java.sql.SQLExceptionWe do this inefficiently and read it all in here. The target type is assumed to be a String.- Specified by:
setAsciiStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the ASCII parameter valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLExceptionWe do this inefficiently and read it all in here. The target type is assumed to be a String.- Specified by:
setAsciiStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the ASCII parameter valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
checkStreamLength
private void checkStreamLength(long length) throws java.sql.SQLExceptionCheck the length passed in for the stream that is to be set. If length is larger than Integer.MAX_VALUE or smaller that 0, we fail by throwing an SQLException.- Parameters:
length- The length of the stream being set- Throws:
java.sql.SQLException- Thrown for a negative or too large length.
-
checkTypeForSetAsciiStream
private void checkTypeForSetAsciiStream(int parameterIndex) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
checkTypeForSetBinaryStream
private void checkTypeForSetBinaryStream(int parameterIndex) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
checkTypeForSetCharacterStream
private void checkTypeForSetCharacterStream(int parameterIndex) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
checkTypeForSetBlob
private void checkTypeForSetBlob(int parameterIndex) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
checkTypeForSetClob
private void checkTypeForSetClob(int parameterIndex) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
setUnicodeStream
public void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length) throws java.sql.SQLExceptionDeprecated.Sets the specified parameter to the given input stream. Deprecated in JDBC 3.0 and this method will always just throw a feature not implemented exception.- Specified by:
setUnicodeStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the UNICODE parameter valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- throws feature not implemented.
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader x) throws java.sql.SQLExceptionSets the designated parameter to the givenReaderobject. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via ajava.io.Readerobject. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.- Specified by:
setCharacterStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- thejava.io.Readerobject that contains the Unicode data- Throws:
java.sql.SQLException- if a database access error occurs or this method is called on a closedPreparedStatement
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader x, long length) throws java.sql.SQLExceptionSets the designated parameter to the given Reader, which will have the specified number of bytes.- Specified by:
setCharacterStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the index of the parameter to which this set method is appliedx- the java Reader which contains the UNICODE valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
setCharacterStream
public void setCharacterStream(int parameterIndex, java.io.Reader x, int length) throws java.sql.SQLExceptionSets the designated parameter to the given Reader, which will have the specified number of bytes.- Specified by:
setCharacterStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the index of the parameter to which this set method is appliedx- the java Reader which contains the UNICODE valuelength- the number of bytes in the stream- Throws:
java.sql.SQLException- thrown on failure.
-
setBlob
public void setBlob(int parameterIndex, java.sql.Blob x) throws java.sql.SQLException- Specified by:
setBlobin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setBlobX
private void setBlobX(int parameterIndex, java.sql.Blob x) throws SqlException- Throws:
SqlException
-
setClob
public void setClob(int parameterIndex, java.sql.Clob x) throws java.sql.SQLException- Specified by:
setClobin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setClobX
private void setClobX(int parameterIndex, java.sql.Clob x) throws SqlException- Throws:
SqlException
-
setArray
public void setArray(int parameterIndex, java.sql.Array x) throws java.sql.SQLException- Specified by:
setArrayin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setRef
public void setRef(int parameterIndex, java.sql.Ref x) throws java.sql.SQLException- Specified by:
setRefin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x) throws java.sql.SQLException- Specified by:
setObjectin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setUDTX
private void setUDTX(int parameterIndex, java.lang.Object x) throws SqlException, java.sql.SQLExceptionSet a UDT parameter to an object value.- Throws:
SqlExceptionjava.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, int targetJdbcType) throws java.sql.SQLException- Specified by:
setObjectin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setObject
public void setObject(int parameterIndex, java.lang.Object x, int targetJdbcType, int scale) throws java.sql.SQLException- Specified by:
setObjectin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setObjectX
private void setObjectX(int parameterIndex, java.lang.Object x, int targetJdbcType, int scale) throws SqlException- Throws:
SqlException
-
clearParameters
public void clearParameters() throws java.sql.SQLException- Specified by:
clearParametersin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
execute
public boolean execute() throws java.sql.SQLException- Specified by:
executein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
executeX
boolean executeX() throws SqlException- Throws:
SqlException
-
addBatch
public void addBatch() throws java.sql.SQLException- Specified by:
addBatchin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
executeBatch
public int[] executeBatch() throws java.sql.SQLException- Specified by:
executeBatchin interfacejava.sql.Statement- Overrides:
executeBatchin classClientStatement- Throws:
java.sql.SQLException
-
getMetaData
public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException- Specified by:
getMetaDatain interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
getMetaDataX
private ColumnMetaData getMetaDataX() throws SqlException
- Throws:
SqlException
-
execute
public boolean execute(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException- Specified by:
executein interfacejava.sql.Statement- Overrides:
executein classClientStatement- Throws:
java.sql.SQLException
-
execute
public boolean execute(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException- Specified by:
executein interfacejava.sql.Statement- Overrides:
executein classClientStatement- Throws:
java.sql.SQLException
-
execute
public boolean execute(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException- Specified by:
executein interfacejava.sql.Statement- Overrides:
executein classClientStatement- Throws:
java.sql.SQLException
-
executeUpdate
public int executeUpdate(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException- Specified by:
executeUpdatein interfacejava.sql.Statement- Overrides:
executeUpdatein classClientStatement- Throws:
java.sql.SQLException
-
executeUpdate
public int executeUpdate(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException- Specified by:
executeUpdatein interfacejava.sql.Statement- Overrides:
executeUpdatein classClientStatement- Throws:
java.sql.SQLException
-
executeUpdate
public int executeUpdate(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException- Specified by:
executeUpdatein interfacejava.sql.Statement- Overrides:
executeUpdatein classClientStatement- Throws:
java.sql.SQLException
-
setURL
public void setURL(int parameterIndex, java.net.URL x) throws java.sql.SQLException- Specified by:
setURLin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
getParameterMetaData
public java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException- Specified by:
getParameterMetaDatain interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
getParameterMetaDataX
private ClientParameterMetaData getParameterMetaDataX() throws SqlException
- Throws:
SqlException
-
getColumnMetaDataX
private ColumnMetaData getColumnMetaDataX() throws SqlException
- Throws:
SqlException
-
writeExecute
private void writeExecute(Section section, ColumnMetaData parameterMetaData, java.lang.Object[] inputs, int numInputColumns, boolean outputExpected, boolean chainedWritesFollowingSetLob) throws SqlException
- Throws:
SqlException
-
readExecute
private void readExecute() throws SqlException- Throws:
SqlException
-
writeOpenQuery
private void writeOpenQuery(Section section, int fetchSize, int resultSetType, int numInputColumns, ColumnMetaData parameterMetaData, java.lang.Object[] inputs) throws SqlException
- Throws:
SqlException
-
writeDescribeInput
private void writeDescribeInput(Section section) throws SqlException
- Throws:
SqlException
-
readDescribeInput
private void readDescribeInput() throws SqlException- Throws:
SqlException
-
completeDescribeInput
public void completeDescribeInput(ColumnMetaData parameterMetaData, Sqlca sqlca)
- Specified by:
completeDescribeInputin interfacePreparedStatementCallbackInterface
-
completeDescribeOutput
public void completeDescribeOutput(ColumnMetaData resultSetMetaData, Sqlca sqlca)
- Specified by:
completeDescribeOutputin interfacePreparedStatementCallbackInterface
-
writePrepareDescribeInputOutput
private void writePrepareDescribeInputOutput() throws SqlException- Throws:
SqlException
-
readPrepareDescribeInputOutput
private void readPrepareDescribeInputOutput() throws SqlException- Throws:
SqlException
-
writePrepareDescribeInput
private void writePrepareDescribeInput() throws SqlException- Throws:
SqlException
-
readPrepareDescribeInput
private void readPrepareDescribeInput() throws SqlException- Throws:
SqlException
-
completePrepareDescribe
private void completePrepareDescribe()
-
expandObjectArray
private java.lang.Object[] expandObjectArray(java.lang.Object[] array, int newLength)
-
expandBooleanArray
private boolean[] expandBooleanArray(boolean[] array, int newLength)
-
flowPrepareDescribeInputOutput
void flowPrepareDescribeInputOutput() throws SqlException- Throws:
SqlException
-
flowExecute
private void flowExecute(int executeType) throws SqlException- Throws:
SqlException
-
executeBatchX
private long[] executeBatchX(boolean supportsQueryBatchRequest) throws SqlException, java.sql.SQLException- Throws:
SqlExceptionjava.sql.SQLException
-
executeBatchRequestX
private long[] executeBatchRequestX(boolean supportsQueryBatchRequest) throws SqlException, java.sql.BatchUpdateException- Throws:
SqlExceptionjava.sql.BatchUpdateException
-
listenToUnitOfWork
public void listenToUnitOfWork()
- Specified by:
listenToUnitOfWorkin interfaceUnitOfWorkListener- Overrides:
listenToUnitOfWorkin classClientStatement
-
completeLocalCommit
public void completeLocalCommit(java.util.Iterator listenerIterator)
- Specified by:
completeLocalCommitin interfaceUnitOfWorkListener- Overrides:
completeLocalCommitin classClientStatement
-
completeLocalRollback
public void completeLocalRollback(java.util.Iterator listenerIterator)
- Specified by:
completeLocalRollbackin interfaceUnitOfWorkListener- Overrides:
completeLocalRollbackin classClientStatement
-
getJdbcStatementInterfaceName
protected java.lang.String getJdbcStatementInterfaceName()
Returns the name of the java.sql interface implemented by this class.- Overrides:
getJdbcStatementInterfaceNamein classClientStatement- Returns:
- name of java.sql interface
-
checkForValidParameterIndex
void checkForValidParameterIndex(int parameterIndex) throws SqlException- Throws:
SqlException
-
checkThatAllParametersAreSet
private void checkThatAllParametersAreSet() throws SqlException- Throws:
SqlException
-
checkForValidScale
void checkForValidScale(int scale) throws SqlException- Throws:
SqlException
-
markClosed
protected void markClosed(boolean removeListener)
Description copied from class:ClientStatementThis method cleans up client-side resources held by this Statement. If removeListener is true, the Statement is removed from open statements list and PreparedStatement is also removed from commit and rollback listeners list. This is called from the close methods.- Overrides:
markClosedin classClientStatement- Parameters:
removeListener- if true the Statement will be removed from the open statements list and PreparedStatement will also be removed from commit and rollback listeners list inorg.apache.derby.client.am.Connection.
-
setAsciiStream
public void setAsciiStream(int parameterIndex, java.io.InputStream x) throws java.sql.SQLExceptionSets the designated parameter to the given input stream. When a very large ASCII value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.- Specified by:
setAsciiStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the Java input stream that contains the ASCII parameter value- Throws:
java.sql.SQLException- if a database access error occurs or this method is called on a closedPreparedStatement
-
setBinaryStream
public void setBinaryStream(int parameterIndex, java.io.InputStream x) throws java.sql.SQLExceptionSets the designated parameter to the given input stream. When a very large binary value is input to aLONGVARBINARYparameter, it may be more practical to send it via ajava.io.InputStreamobject. The data will be read from the stream as needed until end-of-file is reached.- Specified by:
setBinaryStreamin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- the first parameter is 1, the second is 2, ...x- the java input stream which contains the binary parameter value- Throws:
java.sql.SQLException- if a database access error occurs or this method is called on a closedPreparedStatement
-
setClob
public void setClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLExceptionSets the designated parameter to aReaderobject.- Specified by:
setClobin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- index of the first parameter is 1, the second is 2, ...reader- an object that contains the data to set the parameter value to.- Throws:
java.sql.SQLException- if parameterIndex does not correspond to a parameter marker in the SQL statement; if a database access error occurs; this method is called on a closed PreparedStatementor if parameterIndex does not correspond to a parameter marker in the SQL statement
-
setClob
public void setClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLExceptionSets the designated parameter to a Reader object.- Specified by:
setClobin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- index of the first parameter is 1, the second is 2, ...reader- An object that contains the data to set the parameter value to.length- the number of characters in the parameter data.- Throws:
java.sql.SQLException- if parameterIndex does not correspond to a parameter marker in the SQL statement, or if the length specified is less than zero.
-
setBlob
public void setBlob(int parameterIndex, java.io.InputStream inputStream) throws java.sql.SQLExceptionSets the designated parameter to aInputStreamobject. This method differs from thesetBinaryStream(int, InputStream)method because it informs the driver that the parameter value should be sent to the server as aBLOB. When thesetBinaryStreammethod is used, the driver may have to do extra work to determine whether the parameter data should be sent to the server as aLONGVARBINARYor aBLOB- Specified by:
setBlobin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- index of the first parameter is 1, the second is 2, ...inputStream- an object that contains the data to set the parameter value to.- Throws:
java.sql.SQLException- if a database access error occurs, this method is called on a closedPreparedStatementor ifparameterIndexdoes not correspond to a parameter marker in the SQL statement
-
setBlob
public void setBlob(int parameterIndex, java.io.InputStream inputStream, long length) throws java.sql.SQLExceptionSets the designated parameter to a InputStream object.- Specified by:
setBlobin interfacejava.sql.PreparedStatement- Parameters:
parameterIndex- index of the first parameter is 1, the second is 2, ...inputStream- An object that contains the data to set the parameter value to.length- the number of bytes in the parameter data.- Throws:
java.sql.SQLException- if parameterIndex does not correspond to a parameter marker in the SQL statement, if the length specified is less than zero or if the number of bytes in the inputstream does not match the specfied length.
-
setNString
public void setNString(int index, java.lang.String value) throws java.sql.SQLException- Specified by:
setNStringin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNCharacterStream
public void setNCharacterStream(int parameterIndex, java.io.Reader value) throws java.sql.SQLException- Specified by:
setNCharacterStreamin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNCharacterStream
public void setNCharacterStream(int index, java.io.Reader value, long length) throws java.sql.SQLException- Specified by:
setNCharacterStreamin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int parameterIndex, java.io.Reader reader) throws java.sql.SQLException- Specified by:
setNClobin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int parameterIndex, java.io.Reader reader, long length) throws java.sql.SQLException- Specified by:
setNClobin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setRowId
public void setRowId(int parameterIndex, java.sql.RowId x) throws java.sql.SQLException- Specified by:
setRowIdin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setNClob
public void setNClob(int index, java.sql.NClob value) throws java.sql.SQLException- Specified by:
setNClobin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
setSQLXML
public void setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject) throws java.sql.SQLException- Specified by:
setSQLXMLin interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
executeLargeUpdate
public long executeLargeUpdate() throws java.sql.SQLException- Specified by:
executeLargeUpdatein interfacejava.sql.PreparedStatement- Throws:
java.sql.SQLException
-
checkStatementValidity
private void checkStatementValidity(SqlException sqle) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
checkStatus
protected void checkStatus() throws java.sql.SQLExceptionCheck for closed statement and extract the SQLException if it is raised.
- Throws:
java.sql.SQLException
-
-