You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by jb...@apache.org on 2005/05/02 08:26:03 UTC
svn commit: r165585 [4/42] - in
/incubator/derby/code/trunk/java/client/org/apache/derby: client/
client/am/ client/net/ client/resources/ jdbc/
Modified: incubator/derby/code/trunk/java/client/org/apache/derby/client/am/CallableStatement.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/am/CallableStatement.java?rev=165585&r1=165584&r2=165585&view=diff
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/am/CallableStatement.java (original)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/am/CallableStatement.java Sun May 1 23:25:59 2005
@@ -20,1097 +20,1260 @@
package org.apache.derby.client.am;
-import org.apache.derby.client.am.Section;
+
public class CallableStatement extends PreparedStatement
- implements java.sql.PreparedStatement,
- java.sql.CallableStatement,
- PreparedStatementCallbackInterface
-{
- //---------------------navigational members-----------------------------------
-
- //---------------------navigational cheat-links-------------------------------
- // Cheat-links are for convenience only, and are not part of the conceptual model.
- // Warning:
- // Cheat-links should only be defined for invariant state data.
- // That is, the state data is set by the constructor and never changes.
-
- public MaterialPreparedStatement materialCallableStatement_ = null;
-
- //-----------------------------state------------------------------------------
-
- // last retrieved result was a sql NULL, NOT_NULL, or UNSET.
- private int wasNull_ = WAS_NULL_UNSET;
- static final private int WAS_NULL = 1;
- static final private int WAS_NOT_NULL = 2;
- static final private int WAS_NULL_UNSET = 0;
-
- //---------------------constructors/finalizer---------------------------------
-
- private void initCallableStatement ()
- {
- materialCallableStatement_ = null;
- wasNull_ = WAS_NULL_UNSET;
- }
-
- public void reset (boolean fullReset) throws SqlException
- {
- if (fullReset)
- connection_.resetPrepareCall (this);
- else
- super.reset (fullReset);
- wasNull_ = WAS_NULL_UNSET;
- }
-
- // Common constructor for jdbc 2 callable statements with scroll attributes.
- // Called by material statement constructor.
- public CallableStatement (Agent agent,
- Connection connection,
- String sql,
- int type, int concurrency, int holdability) throws SqlException
- {
- super (agent, connection, sql, type, concurrency, holdability, java.sql.Statement.NO_GENERATED_KEYS, null);
- initCallableStatement();
- }
-
- public void resetCallableStatement (Agent agent,
- Connection connection,
- String sql,
- int type, int concurrency, int holdability) throws SqlException
- {
- super.resetPreparedStatement(agent, connection, sql, type, concurrency, holdability, java.sql.Statement.NO_GENERATED_KEYS, null);
- initCallableStatement();
- }
-
- public void resetCallableStatement (Agent agent,
- Connection connection,
- String sql,
- Section section) throws SqlException
- {
- super.resetPreparedStatement(agent, connection, sql, section);
- initCallableStatement();
- }
-
-
- public void resetCallableStatement (Agent agent,
- Connection connection,
- String sql,
- Section section,
- ColumnMetaData parameterMetaData,
- ColumnMetaData resultSetMetaData) throws SqlException
- {
- super.resetPreparedStatement(agent, connection, sql, section, parameterMetaData, resultSetMetaData);
- initCallableStatement();
- }
-
- protected void finalize () throws java.lang.Throwable
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "finalize");
- super.finalize();
- }
-
- //---------------------------entry points-------------------------------------
-
- public boolean execute () throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "execute");
- boolean b = executeX();
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "execute", b);
- return b;
- }
- }
-
- // also used by SQLCA
- boolean executeX () throws SqlException
- {
- super.flowExecute (executeMethod__);
- return resultSet_ != null;
- }
-
- public java.sql.ResultSet executeQuery () throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "executeQuery");
- ResultSet resultSet = executeQueryX();
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "executeQuery", resultSet);
- return resultSet;
- }
- }
-
- // also used by DBMD methods
- ResultSet executeQueryX () throws SqlException
- {
- super.flowExecute (executeQueryMethod__);
- super.checkExecuteQueryPostConditions ("java.sql.CallableStatement");
- return resultSet_;
- }
-
- public int executeUpdate () throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "executeUpdate");
- int updateValue = executeUpdateX();
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "executeUpdate", updateValue);
- return updateValue;
- }
- }
-
- int executeUpdateX () throws SqlException
- {
- super.flowExecute (executeUpdateMethod__);
-
- super.checkExecuteUpdatePostConditions ("java.sql.CallableStatement");
- // make sure update count >= 0 even if derby don't support update count for call
- //return (updateCount_ < 0) ? 0 : updateCount_;
- return updateCount_;
- }
-
-
- public void clearParameters () throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "clearParameters");
- super.clearParameters();
- outputRegistered_ = false; // this variable is only used by Batch
- }
- }
-
- public void registerOutParameter (int parameterIndex, int jdbcType) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterIndex, jdbcType);
- registerOutParameterX (parameterIndex, jdbcType);
- }
- }
-
- // also used by Sqlca
- void registerOutParameterX (int parameterIndex, int jdbcType) throws SqlException
- {
- super.checkForClosedStatement();
- int scale = 0; // default scale to 0 for non numeric and non decimal type
- registerOutParameterX (parameterIndex, jdbcType, scale);
- }
-
- private int guessScaleForDecimalOrNumeric (int parameterIndex) throws SqlException
- {
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- // Types.DECIMAL with no supplied scale will use the scale supplied by the setter method if input BigDecimal is not null
- if (parameterMetaData_.types_[parameterIndex - 1] == Types.DECIMAL &&
- parameters_[parameterIndex - 1] != null) {
- return parameterMetaData_.sqlScale_[parameterIndex - 1];
- }
- return 8; // default to scale of 8 if not specified
- }
-
- public void registerOutParameter (int parameterIndex, int jdbcType, int scale) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterIndex, jdbcType, scale);
- super.checkForClosedStatement();
- registerOutParameterX (parameterIndex, jdbcType, scale);
- }
- }
-
- private void registerOutParameterX (int parameterIndex, int jdbcType, int scale) throws SqlException
- {
- parameterIndex = checkForEscapedCallWithResult (parameterIndex, jdbcType);
- // if the parameter is the return clause of the call statement
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) return;
- super.checkForValidParameterIndex (parameterIndex);
- checkForValidScale (scale);
- outputRegistered_ = true; // this variable is only used by Batch
- //parameterSetOrRegistered_[parameterIndex - 1] = true;
- parameterRegistered_[parameterIndex - 1] = true;
- }
-
- public void registerOutParameter (int parameterIndex, int jdbcType, String typeName) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterIndex, jdbcType, typeName);
- super.checkForClosedStatement();
- }
- }
-
- public boolean wasNull () throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "wasNull");
- boolean result = wasNullX();
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "wasNull", result);
- return result;
- }
-
- private boolean wasNullX () throws SqlException
- {
- super.checkForClosedStatement ();
- if (wasNull_ == WAS_NULL_UNSET)
- throw new SqlException (agent_.logWriter_, "Invalid operation: wasNull() called with no data retrieved.");
- return wasNull_ == WAS_NULL;
- }
-
- //--------------------------------getter methods------------------------------
-
- public boolean getBoolean (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBoolean", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- boolean result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = agent_.crossConverters_.getBooleanFromInt (returnValueFromProcedure_);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBoolean", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? false : singletonRowData_.getBoolean (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBoolean", result);
- return result;
- }
- }
-
- public byte getByte (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getByte", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- byte result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = agent_.crossConverters_.getByteFromInt (returnValueFromProcedure_);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getByte", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? 0 : singletonRowData_.getByte (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getByte", result);
- return result;
- }
- }
-
- public short getShort (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getShort", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- short result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = agent_.crossConverters_.getShortFromInt (returnValueFromProcedure_);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getShort", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? 0 : singletonRowData_.getShort (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getShort", result);
- return result;
- }
- }
-
- public int getInt (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getInt", parameterIndex);
- int result = getIntX (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getInt", result);
- return result;
- }
- }
-
- // also used by SQLCA
- int getIntX (int parameterIndex) throws SqlException
- {
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- this.wasNull_ = this.WAS_NOT_NULL;
- return returnValueFromProcedure_;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- return wasNullX() ? 0 : singletonRowData_.getInt (parameterIndex);
- }
-
- public long getLong (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getLong", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- long result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = (long) returnValueFromProcedure_;
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getLong", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? 0 : singletonRowData_.getLong (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getLong", result);
- return result;
- }
- }
-
- public float getFloat (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getFloat", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- float result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = (float) returnValueFromProcedure_;
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getFloat", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? 0 : singletonRowData_.getFloat (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getFloat", result);
- return result;
- }
- }
-
- public double getDouble (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDouble", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- double result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = (double) returnValueFromProcedure_;
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getDouble", result);
+ implements java.sql.PreparedStatement,
+ java.sql.CallableStatement,
+ PreparedStatementCallbackInterface {
+ //---------------------navigational members-----------------------------------
+
+ //---------------------navigational cheat-links-------------------------------
+ // Cheat-links are for convenience only, and are not part of the conceptual model.
+ // Warning:
+ // Cheat-links should only be defined for invariant state data.
+ // That is, the state data is set by the constructor and never changes.
+
+ public MaterialPreparedStatement materialCallableStatement_ = null;
+
+ //-----------------------------state------------------------------------------
+
+ // last retrieved result was a sql NULL, NOT_NULL, or UNSET.
+ private int wasNull_ = WAS_NULL_UNSET;
+ static final private int WAS_NULL = 1;
+ static final private int WAS_NOT_NULL = 2;
+ static final private int WAS_NULL_UNSET = 0;
+
+ //---------------------constructors/finalizer---------------------------------
+
+ private void initCallableStatement() {
+ materialCallableStatement_ = null;
+ wasNull_ = WAS_NULL_UNSET;
+ }
+
+ public void reset(boolean fullReset) throws SqlException {
+ if (fullReset) {
+ connection_.resetPrepareCall(this);
+ } else {
+ super.reset(fullReset);
+ }
+ wasNull_ = WAS_NULL_UNSET;
+ }
+
+ // Common constructor for jdbc 2 callable statements with scroll attributes.
+ // Called by material statement constructor.
+ public CallableStatement(Agent agent,
+ Connection connection,
+ String sql,
+ int type, int concurrency, int holdability) throws SqlException {
+ super(agent, connection, sql, type, concurrency, holdability, java.sql.Statement.NO_GENERATED_KEYS, null);
+ initCallableStatement();
+ }
+
+ public void resetCallableStatement(Agent agent,
+ Connection connection,
+ String sql,
+ int type, int concurrency, int holdability) throws SqlException {
+ super.resetPreparedStatement(agent, connection, sql, type, concurrency, holdability, java.sql.Statement.NO_GENERATED_KEYS, null);
+ initCallableStatement();
+ }
+
+ public void resetCallableStatement(Agent agent,
+ Connection connection,
+ String sql,
+ Section section) throws SqlException {
+ super.resetPreparedStatement(agent, connection, sql, section);
+ initCallableStatement();
+ }
+
+
+ public void resetCallableStatement(Agent agent,
+ Connection connection,
+ String sql,
+ Section section,
+ ColumnMetaData parameterMetaData,
+ ColumnMetaData resultSetMetaData) throws SqlException {
+ super.resetPreparedStatement(agent, connection, sql, section, parameterMetaData, resultSetMetaData);
+ initCallableStatement();
+ }
+
+ protected void finalize() throws java.lang.Throwable {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "finalize");
+ }
+ super.finalize();
+ }
+
+ //---------------------------entry points-------------------------------------
+
+ public boolean execute() throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "execute");
+ }
+ boolean b = executeX();
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "execute", b);
+ }
+ return b;
+ }
+ }
+
+ // also used by SQLCA
+ boolean executeX() throws SqlException {
+ super.flowExecute(executeMethod__);
+ return resultSet_ != null;
+ }
+
+ public java.sql.ResultSet executeQuery() throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "executeQuery");
+ }
+ ResultSet resultSet = executeQueryX();
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "executeQuery", resultSet);
+ }
+ return resultSet;
+ }
+ }
+
+ // also used by DBMD methods
+ ResultSet executeQueryX() throws SqlException {
+ super.flowExecute(executeQueryMethod__);
+ super.checkExecuteQueryPostConditions("java.sql.CallableStatement");
+ return resultSet_;
+ }
+
+ public int executeUpdate() throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "executeUpdate");
+ }
+ int updateValue = executeUpdateX();
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "executeUpdate", updateValue);
+ }
+ return updateValue;
+ }
+ }
+
+ int executeUpdateX() throws SqlException {
+ super.flowExecute(executeUpdateMethod__);
+
+ super.checkExecuteUpdatePostConditions("java.sql.CallableStatement");
+ // make sure update count >= 0 even if derby don't support update count for call
+ //return (updateCount_ < 0) ? 0 : updateCount_;
+ return updateCount_;
+ }
+
+
+ public void clearParameters() throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "clearParameters");
+ }
+ super.clearParameters();
+ outputRegistered_ = false; // this variable is only used by Batch
+ }
+ }
+
+ public void registerOutParameter(int parameterIndex, int jdbcType) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterIndex, jdbcType);
+ }
+ registerOutParameterX(parameterIndex, jdbcType);
+ }
+ }
+
+ // also used by Sqlca
+ void registerOutParameterX(int parameterIndex, int jdbcType) throws SqlException {
+ super.checkForClosedStatement();
+ int scale = 0; // default scale to 0 for non numeric and non decimal type
+ registerOutParameterX(parameterIndex, jdbcType, scale);
+ }
+
+ private int guessScaleForDecimalOrNumeric(int parameterIndex) throws SqlException {
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ // Types.DECIMAL with no supplied scale will use the scale supplied by the setter method if input BigDecimal is not null
+ if (parameterMetaData_.types_[parameterIndex - 1] == Types.DECIMAL &&
+ parameters_[parameterIndex - 1] != null) {
+ return parameterMetaData_.sqlScale_[parameterIndex - 1];
+ }
+ return 8; // default to scale of 8 if not specified
+ }
+
+ public void registerOutParameter(int parameterIndex, int jdbcType, int scale) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterIndex, jdbcType, scale);
+ }
+ super.checkForClosedStatement();
+ registerOutParameterX(parameterIndex, jdbcType, scale);
+ }
+ }
+
+ private void registerOutParameterX(int parameterIndex, int jdbcType, int scale) throws SqlException {
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex, jdbcType);
+ // if the parameter is the return clause of the call statement
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ return;
+ }
+ super.checkForValidParameterIndex(parameterIndex);
+ checkForValidScale(scale);
+ outputRegistered_ = true; // this variable is only used by Batch
+ //parameterSetOrRegistered_[parameterIndex - 1] = true;
+ parameterRegistered_[parameterIndex - 1] = true;
+ }
+
+ public void registerOutParameter(int parameterIndex, int jdbcType, String typeName) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterIndex, jdbcType, typeName);
+ }
+ super.checkForClosedStatement();
+ }
+ }
+
+ public boolean wasNull() throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "wasNull");
+ }
+ boolean result = wasNullX();
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "wasNull", result);
+ }
return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? 0 : singletonRowData_.getDouble (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getDouble", result);
- return result;
- }
- }
-
- public java.math.BigDecimal getBigDecimal (int parameterIndex, int scale) throws SqlException, ArithmeticException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceDeprecatedEntry (this, "getBigDecimal", parameterIndex, scale);
- super.checkForClosedStatement();
- checkForValidScale (scale);
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- java.math.BigDecimal result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = java.math.BigDecimal.valueOf (returnValueFromProcedure_).setScale (scale);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceDeprecatedExit (this, "getBigDecimal", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? null : singletonRowData_.getBigDecimal (parameterIndex);
- if (result != null) {
- result = result.setScale (scale, java.math.BigDecimal.ROUND_DOWN);
- }
- if (agent_.loggingEnabled()) agent_.logWriter_.traceDeprecatedExit (this, "getBigDecimal", result);
- return result;
- }
- }
-
- public java.math.BigDecimal getBigDecimal (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBigDecimal", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- java.math.BigDecimal result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = java.math.BigDecimal.valueOf (returnValueFromProcedure_);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBigDecimal", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? null : singletonRowData_.getBigDecimal (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBigDecimal", result);
- return result;
- }
- }
-
- public java.sql.Date getDate (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDate", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Date result = wasNullX() ? null : singletonRowData_.getDate (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getDate", result);
- return result;
- }
- }
-
- public java.sql.Date getDate (int parameterIndex, java.util.Calendar cal) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDate", parameterIndex, cal);
- if (cal == null) throw new SqlException (agent_.logWriter_, "Invalid parameter: calendar is null");
- java.sql.Date result = getDate (parameterIndex);
- if (result != null) {
- java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
- targetCalendar.clear();
- targetCalendar.setTime(result);
- java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
- defaultCalendar.clear();
- defaultCalendar.setTime(result);
- long timeZoneOffset =
- targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
- targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
- result.setTime (result.getTime() - timeZoneOffset);
- }
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getDate", result);
- return result;
- }
- }
-
- public java.sql.Time getTime (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTime", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Time result = wasNullX() ? null : singletonRowData_.getTime (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getTime", result);
- return result;
- }
- }
-
- public java.sql.Time getTime (int parameterIndex, java.util.Calendar cal) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTime", parameterIndex, cal);
- if (cal == null) throw new SqlException (agent_.logWriter_, "Invalid parameter: calendar is null");
- java.sql.Time result = getTime(parameterIndex);
- if (result != null) {
- java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
- targetCalendar.clear();
- targetCalendar.setTime(result);
- java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
- defaultCalendar.clear();
- defaultCalendar.setTime(result);
- long timeZoneOffset =
- targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
- targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
- result.setTime (result.getTime() - timeZoneOffset);
- }
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getTime", result);
- return result;
- }
- }
-
- public java.sql.Timestamp getTimestamp (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTimestamp", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Timestamp result = wasNullX() ? null : singletonRowData_.getTimestamp (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getTimestamp", result);
- return result;
- }
- }
-
- public java.sql.Timestamp getTimestamp (int parameterIndex, java.util.Calendar cal) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTimestamp", parameterIndex, cal);
- if (cal == null) throw new SqlException (agent_.logWriter_, "Invalid parameter: calendar is null");
- java.sql.Timestamp result = getTimestamp (parameterIndex);
- if (result != null) {
- int nano = result.getNanos();
- java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
- targetCalendar.clear();
- targetCalendar.setTime(result);
- java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
- defaultCalendar.clear();
- defaultCalendar.setTime(result);
- long timeZoneOffset =
- targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
- targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
- result.setTime (result.getTime() - timeZoneOffset);
- result.setNanos (nano);
- }
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getTimestamp", result);
- return result;
- }
- }
-
- public String getString (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getString", parameterIndex);
- String result = getStringX (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getString", result);
- return result;
- }
- }
-
- // also used by SQLCA
- String getStringX (int parameterIndex) throws SqlException
- {
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- this.wasNull_ = this.WAS_NOT_NULL;
- return Integer.toString (returnValueFromProcedure_);
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- return wasNullX() ? null : singletonRowData_.getString (parameterIndex);
- }
-
- public byte[] getBytes (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBytes", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- byte[] result = wasNullX() ? null : singletonRowData_.getBytes (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBytes", result);
- return result;
- }
- }
-
- public java.sql.Blob getBlob (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBlob", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Blob result = wasNullX() ? null : singletonRowData_.getBlob (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getBlob", result);
- return result;
- }
- }
-
- public java.sql.Clob getClob (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getClob", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Clob result = wasNullX() ? null : singletonRowData_.getClob (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getClob", result);
- return result;
- }
- }
-
- public java.sql.Array getArray (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getArray", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Array result = wasNullX() ? null : singletonRowData_.getArray (parameterIndex);
- if (true) throw new SqlException (agent_.logWriter_, "jdbc 2 method is not yet implemented");
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getArray", result);
- return result;
- }
- }
-
- public java.sql.Ref getRef (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getRef", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- if (parameterIndex == 0 && escapedProcedureCallWithResult_)
- throw new SqlException (agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- java.sql.Ref result = wasNullX() ? null : singletonRowData_.getRef (parameterIndex);
- if (true) throw new SqlException (agent_.logWriter_, "jdbc 2 method is not yet implemented");
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getRef", result);
- return result;
- }
- }
-
- public Object getObject (int parameterIndex) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getObject", parameterIndex);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- Object result;
- if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
- result = new Integer (returnValueFromProcedure_);
- this.wasNull_ = this.WAS_NOT_NULL;
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getObject", result);
- return result;
- }
- checkGetterPreconditions (parameterIndex);
- setWasNull (parameterIndex);
- result = wasNullX() ? null : singletonRowData_.getObject (parameterIndex);
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getObject", result);
- return result;
- }
- }
-
- public Object getObject (int parameterIndex, java.util.Map map) throws SqlException
- {
- synchronized (connection_) {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getObject", parameterIndex, map);
- super.checkForClosedStatement();
- parameterIndex = checkForEscapedCallWithResult (parameterIndex);
- Object result;
- checkGetterPreconditions (parameterIndex);
- if (true) throw new SqlException (agent_.logWriter_, "jdbc 2 method is not yet implemented.");
- if (agent_.loggingEnabled()) agent_.logWriter_.traceExit (this, "getObject", result);
- return result;
- }
- }
-
- //--------------------------JDBC 3.0------------------------------------------
-
- public void registerOutParameter (String parameterName, int sqlType) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterName, sqlType);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void registerOutParameter (String parameterName, int sqlType, int scale) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterName, sqlType, scale);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void registerOutParameter (String parameterName, int sqlType, String typeName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "registerOutParameter", parameterName, sqlType, typeName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.net.URL getURL (int parameterIndex) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getURL", parameterIndex);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setURL (String parameterName, java.net.URL x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setURL", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setNull (String parameterName, int sqlType) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setNull", parameterName, sqlType);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setBoolean (String parameterName, boolean x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setBoolean", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setByte (String parameterName, byte x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setByte", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setShort (String parameterName, short x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setShort", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setInt (String parameterName, int x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setInt", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setLong (String parameterName, long x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setLong", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setFloat (String parameterName, float x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setFloat", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setDouble (String parameterName, double x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setDouble", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setBigDecimal (String parameterName, java.math.BigDecimal x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setBigDecimal", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setString (String parameterName, String x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setString", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setBytes (String parameterName, byte x[]) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setBytes", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setDate (String parameterName, java.sql.Date x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setDate", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setTime (String parameterName, java.sql.Time x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setTime", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setTimestamp (String parameterName, java.sql.Timestamp x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setTimestamp", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setAsciiStream (String parameterName, java.io.InputStream x, int length) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setAsciiStream", parameterName, x, length);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setBinaryStream (String parameterName, java.io.InputStream x, int length) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setBinaryStream", parameterName, x, length);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setObject (String parameterName, Object x, int targetSqlType, int scale) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setObject", parameterName, x, targetSqlType, scale);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setObject (String parameterName, Object x, int targetSqlType) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setObject", parameterName, x, targetSqlType);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setObject (String parameterName, Object x) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setObject", parameterName, x);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setCharacterStream (String parameterName, java.io.Reader reader, int length) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setCharacterStream", parameterName, reader, length);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setDate (String parameterName, java.sql.Date x, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setDate", parameterName, x, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setTime (String parameterName, java.sql.Time x, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setTime", parameterName, x, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setTimestamp (String parameterName, java.sql.Timestamp x, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setTimestamp", parameterName, x, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public void setNull (String parameterName, int sqlType, String typeName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "setNull", parameterName, sqlType, typeName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public String getString (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getString", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public boolean getBoolean (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBoolean", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public byte getByte (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getByte", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public short getShort (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getShort", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public int getInt (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getInt", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public long getLong (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getLong", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public float getFloat (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getFloat", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public double getDouble (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDouble", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public byte[] getBytes (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBytes", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Date getDate (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDate", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Time getTime (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTime", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Timestamp getTimestamp (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTimestamp", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public Object getObject (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getObject", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.math.BigDecimal getBigDecimal (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBigDecimal", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public Object getObject (String parameterName, java.util.Map map) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getObject", parameterName, map);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Ref getRef (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getRef", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Blob getBlob (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getBlob", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Clob getClob (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getClob", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Array getArray (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getArray", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Date getDate (String parameterName, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getDate", parameterName, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Time getTime (String parameterName, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTime", parameterName, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.sql.Timestamp getTimestamp (String parameterName, java.util.Calendar calendar) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getTimestamp", parameterName, calendar);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- public java.net.URL getURL (String parameterName) throws SqlException
- {
- if (agent_.loggingEnabled()) agent_.logWriter_.traceEntry (this, "getURL", parameterName);
- super.checkForClosedStatement();
- throw new SqlException (agent_.logWriter_, "JDBC 3 method called - not yet supported");
- }
-
- //----------------------------helper methods----------------------------------
-
- private int checkForEscapedCallWithResult (int parameterIndex) throws SqlException
- {
- if (escapedProcedureCallWithResult_)
- parameterIndex--;
- return parameterIndex;
- }
-
- private int checkForEscapedCallWithResult (int parameterIndex, int jdbcType) throws SqlException
- {
- if (escapedProcedureCallWithResult_) {
- if (parameterIndex == 1 && jdbcType != java.sql.Types.INTEGER)
- throw new SqlException (agent_.logWriter_, "Parameter 1 is the return caluse of the stored procedure call, it can only be registered as an integer type");
- else
- parameterIndex--;
- }
- return parameterIndex;
- }
-
- private void checkGetterPreconditions (int parameterIndex) throws SqlException
- {
- super.checkForValidParameterIndex (parameterIndex);
- checkForValidOutParameter (parameterIndex);
- }
-
- private void checkForValidOutParameter (int parameterIndex) throws SqlException
- {
- if (parameterMetaData_ == null || parameterMetaData_.sqlxParmmode_[parameterIndex - 1] < java.sql.ParameterMetaData.parameterModeInOut)
- throw new SqlException (agent_.logWriter_, "Invalid argument: parameter index " + parameterIndex +
- " is not an OUT or INOUT parameter.");
- }
-
- private void setWasNull (int parameterIndex)
- {
- if (singletonRowData_ == null)
- wasNull_ = WAS_NULL_UNSET;
- else
- wasNull_ = singletonRowData_.isNull_[parameterIndex - 1] ? WAS_NULL : WAS_NOT_NULL ;
- }
+ }
+
+ private boolean wasNullX() throws SqlException {
+ super.checkForClosedStatement();
+ if (wasNull_ == WAS_NULL_UNSET) {
+ throw new SqlException(agent_.logWriter_, "Invalid operation: wasNull() called with no data retrieved.");
+ }
+ return wasNull_ == WAS_NULL;
+ }
+
+ //--------------------------------getter methods------------------------------
+
+ public boolean getBoolean(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getBoolean", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ boolean result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = agent_.crossConverters_.getBooleanFromInt(returnValueFromProcedure_);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBoolean", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? false : singletonRowData_.getBoolean(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBoolean", result);
+ }
+ return result;
+ }
+ }
+
+ public byte getByte(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getByte", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ byte result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = agent_.crossConverters_.getByteFromInt(returnValueFromProcedure_);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getByte", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? 0 : singletonRowData_.getByte(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getByte", result);
+ }
+ return result;
+ }
+ }
+
+ public short getShort(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getShort", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ short result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = agent_.crossConverters_.getShortFromInt(returnValueFromProcedure_);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getShort", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? 0 : singletonRowData_.getShort(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getShort", result);
+ }
+ return result;
+ }
+ }
+
+ public int getInt(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getInt", parameterIndex);
+ }
+ int result = getIntX(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getInt", result);
+ }
+ return result;
+ }
+ }
+
+ // also used by SQLCA
+ int getIntX(int parameterIndex) throws SqlException {
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ this.wasNull_ = this.WAS_NOT_NULL;
+ return returnValueFromProcedure_;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ return wasNullX() ? 0 : singletonRowData_.getInt(parameterIndex);
+ }
+
+ public long getLong(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getLong", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ long result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = (long) returnValueFromProcedure_;
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getLong", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? 0 : singletonRowData_.getLong(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getLong", result);
+ }
+ return result;
+ }
+ }
+
+ public float getFloat(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getFloat", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ float result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = (float) returnValueFromProcedure_;
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getFloat", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? 0 : singletonRowData_.getFloat(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getFloat", result);
+ }
+ return result;
+ }
+ }
+
+ public double getDouble(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getDouble", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ double result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = (double) returnValueFromProcedure_;
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getDouble", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? 0 : singletonRowData_.getDouble(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getDouble", result);
+ }
+ return result;
+ }
+ }
+
+ public java.math.BigDecimal getBigDecimal(int parameterIndex, int scale) throws SqlException, ArithmeticException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceDeprecatedEntry(this, "getBigDecimal", parameterIndex, scale);
+ }
+ super.checkForClosedStatement();
+ checkForValidScale(scale);
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ java.math.BigDecimal result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = java.math.BigDecimal.valueOf(returnValueFromProcedure_).setScale(scale);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceDeprecatedExit(this, "getBigDecimal", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? null : singletonRowData_.getBigDecimal(parameterIndex);
+ if (result != null) {
+ result = result.setScale(scale, java.math.BigDecimal.ROUND_DOWN);
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceDeprecatedExit(this, "getBigDecimal", result);
+ }
+ return result;
+ }
+ }
+
+ public java.math.BigDecimal getBigDecimal(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getBigDecimal", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ java.math.BigDecimal result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = java.math.BigDecimal.valueOf(returnValueFromProcedure_);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBigDecimal", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? null : singletonRowData_.getBigDecimal(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBigDecimal", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Date getDate(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getDate", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Date result = wasNullX() ? null : singletonRowData_.getDate(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getDate", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Date getDate(int parameterIndex, java.util.Calendar cal) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getDate", parameterIndex, cal);
+ }
+ if (cal == null) {
+ throw new SqlException(agent_.logWriter_, "Invalid parameter: calendar is null");
+ }
+ java.sql.Date result = getDate(parameterIndex);
+ if (result != null) {
+ java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
+ targetCalendar.clear();
+ targetCalendar.setTime(result);
+ java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
+ defaultCalendar.clear();
+ defaultCalendar.setTime(result);
+ long timeZoneOffset =
+ targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
+ targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
+ result.setTime(result.getTime() - timeZoneOffset);
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getDate", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Time getTime(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getTime", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Time result = wasNullX() ? null : singletonRowData_.getTime(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getTime", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Time getTime(int parameterIndex, java.util.Calendar cal) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getTime", parameterIndex, cal);
+ }
+ if (cal == null) {
+ throw new SqlException(agent_.logWriter_, "Invalid parameter: calendar is null");
+ }
+ java.sql.Time result = getTime(parameterIndex);
+ if (result != null) {
+ java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
+ targetCalendar.clear();
+ targetCalendar.setTime(result);
+ java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
+ defaultCalendar.clear();
+ defaultCalendar.setTime(result);
+ long timeZoneOffset =
+ targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
+ targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
+ result.setTime(result.getTime() - timeZoneOffset);
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getTime", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Timestamp getTimestamp(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getTimestamp", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Timestamp result = wasNullX() ? null : singletonRowData_.getTimestamp(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getTimestamp", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Timestamp getTimestamp(int parameterIndex, java.util.Calendar cal) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getTimestamp", parameterIndex, cal);
+ }
+ if (cal == null) {
+ throw new SqlException(agent_.logWriter_, "Invalid parameter: calendar is null");
+ }
+ java.sql.Timestamp result = getTimestamp(parameterIndex);
+ if (result != null) {
+ int nano = result.getNanos();
+ java.util.Calendar targetCalendar = java.util.Calendar.getInstance(cal.getTimeZone());
+ targetCalendar.clear();
+ targetCalendar.setTime(result);
+ java.util.Calendar defaultCalendar = java.util.Calendar.getInstance();
+ defaultCalendar.clear();
+ defaultCalendar.setTime(result);
+ long timeZoneOffset =
+ targetCalendar.get(java.util.Calendar.ZONE_OFFSET) - defaultCalendar.get(java.util.Calendar.ZONE_OFFSET) +
+ targetCalendar.get(java.util.Calendar.DST_OFFSET) - defaultCalendar.get(java.util.Calendar.DST_OFFSET);
+ result.setTime(result.getTime() - timeZoneOffset);
+ result.setNanos(nano);
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getTimestamp", result);
+ }
+ return result;
+ }
+ }
+
+ public String getString(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getString", parameterIndex);
+ }
+ String result = getStringX(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getString", result);
+ }
+ return result;
+ }
+ }
+
+ // also used by SQLCA
+ String getStringX(int parameterIndex) throws SqlException {
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ this.wasNull_ = this.WAS_NOT_NULL;
+ return Integer.toString(returnValueFromProcedure_);
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ return wasNullX() ? null : singletonRowData_.getString(parameterIndex);
+ }
+
+ public byte[] getBytes(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getBytes", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ byte[] result = wasNullX() ? null : singletonRowData_.getBytes(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBytes", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Blob getBlob(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getBlob", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Blob result = wasNullX() ? null : singletonRowData_.getBlob(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getBlob", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Clob getClob(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getClob", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Clob result = wasNullX() ? null : singletonRowData_.getClob(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getClob", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Array getArray(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getArray", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Array result = wasNullX() ? null : singletonRowData_.getArray(parameterIndex);
+ if (true) {
+ throw new SqlException(agent_.logWriter_, "jdbc 2 method is not yet implemented");
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getArray", result);
+ }
+ return result;
+ }
+ }
+
+ public java.sql.Ref getRef(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getRef", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ throw new SqlException(agent_.logWriter_, "Invalid method call: parameter 1 is an integer OUT parameter returned by the stored procedure, use getInt call.");
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ java.sql.Ref result = wasNullX() ? null : singletonRowData_.getRef(parameterIndex);
+ if (true) {
+ throw new SqlException(agent_.logWriter_, "jdbc 2 method is not yet implemented");
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getRef", result);
+ }
+ return result;
+ }
+ }
+
+ public Object getObject(int parameterIndex) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getObject", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ Object result;
+ if (parameterIndex == 0 && escapedProcedureCallWithResult_) {
+ result = new Integer(returnValueFromProcedure_);
+ this.wasNull_ = this.WAS_NOT_NULL;
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getObject", result);
+ }
+ return result;
+ }
+ checkGetterPreconditions(parameterIndex);
+ setWasNull(parameterIndex);
+ result = wasNullX() ? null : singletonRowData_.getObject(parameterIndex);
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getObject", result);
+ }
+ return result;
+ }
+ }
+
+ public Object getObject(int parameterIndex, java.util.Map map) throws SqlException {
+ synchronized (connection_) {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getObject", parameterIndex, map);
+ }
+ super.checkForClosedStatement();
+ parameterIndex = checkForEscapedCallWithResult(parameterIndex);
+ Object result;
+ checkGetterPreconditions(parameterIndex);
+ if (true) {
+ throw new SqlException(agent_.logWriter_, "jdbc 2 method is not yet implemented.");
+ }
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceExit(this, "getObject", result);
+ }
+ return result;
+ }
+ }
+
+ //--------------------------JDBC 3.0------------------------------------------
+
+ public void registerOutParameter(String parameterName, int sqlType) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterName, sqlType);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void registerOutParameter(String parameterName, int sqlType, int scale) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterName, sqlType, scale);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void registerOutParameter(String parameterName, int sqlType, String typeName) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "registerOutParameter", parameterName, sqlType, typeName);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public java.net.URL getURL(int parameterIndex) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "getURL", parameterIndex);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void setURL(String parameterName, java.net.URL x) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "setURL", parameterName, x);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void setNull(String parameterName, int sqlType) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "setNull", parameterName, sqlType);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void setBoolean(String parameterName, boolean x) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "setBoolean", parameterName, x);
+ }
+ super.checkForClosedStatement();
+ throw new SqlException(agent_.logWriter_, "JDBC 3 method called - not yet supported");
+ }
+
+ public void setByte(String parameterName, byte x) throws SqlException {
+ if (agent_.loggingEnabled()) {
+ agent_.logWriter_.traceEntry(this, "setByte", parameterName, x);
+ }
+ super.checkForClosedStatement();
[... 397 lines stripped ...]