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 ma...@apache.org on 2008/02/08 06:42:17 UTC
svn commit: r619772 -
/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java
Author: mamta
Date: Thu Feb 7 21:42:05 2008
New Revision: 619772
URL: http://svn.apache.org/viewvc?rev=619772&view=rev
Log:
DERBY-3304
Some code cleanup in GenericLanguageConnectionContext.endTransactionActivationHandling so the code is more readable.
No functionality change, just consolidated various if statements and used some local variables to replace repeated
method calls like a.getResultSet() and a.getResultSet().returnsRows()
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java?rev=619772&r1=619771&r2=619772&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/conn/GenericLanguageConnectionContext.java Thu Feb 7 21:42:05 2008
@@ -2744,42 +2744,44 @@
continue;
}
- if (forRollback)
+ if (forRollback) {
//Since we are dealing with rollback, we need to reset the
//activation no matter what the holdability might be or no
//matter whether the associated resultset returns rows or not.
a.reset();
- else {
+ // Only invalidate statements if we performed DDL.
+ if (dataDictionaryInWriteMode()) {
+ ExecPreparedStatement ps = a.getPreparedStatement();
+ if (ps != null) {
+ ps.makeInvalid(DependencyManager.ROLLBACK, this);
+ }
+ }
+ } else {
//We are dealing with commit here.
if (a.getResultSet() != null) {
+ ResultSet activationResultSet = a.getResultSet();
+ boolean resultsetReturnsRows = activationResultSet.returnsRows();
//if the activation has resultset associated with it, then
//use following criteria to take the action
- if ((a.getResultSetHoldability() == false && a.getResultSet().returnsRows()==true)){
- //Close result sets that return rows and are not held
- //across commit. This is to implement closing JDBC
- //result sets that are CLOSE_CURSOR_ON_COMMIT at commit
- //time.
- a.getResultSet().close();
- } else if (a.getResultSet().returnsRows()) {
- //Clear the current row of the result sets that return
- //rows and are held across commit. This is to implement
- //keeping JDBC result sets open that are
- //HOLD_CURSORS_OVER_COMMIT at commit time and marking
- //the resultset to be not on a valid row position. The
- //user will need to reposition within the resultset
- //before doing any row operations.
- a.getResultSet().clearCurrentRow();
+ if (resultsetReturnsRows){
+ if (a.getResultSetHoldability() == false)
+ //Close result sets that return rows and are not held
+ //across commit. This is to implement closing JDBC
+ //result sets that are CLOSE_CURSOR_ON_COMMIT at commit
+ //time.
+ activationResultSet.close();
+ else
+ //Clear the current row of the result sets that return
+ //rows and are held across commit. This is to implement
+ //keeping JDBC result sets open that are
+ //HOLD_CURSORS_OVER_COMMIT at commit time and marking
+ //the resultset to be not on a valid row position. The
+ //user will need to reposition within the resultset
+ //before doing any row operations.
+ activationResultSet.clearCurrentRow();
}
}
a.clearHeapConglomerateController();
- }
-
- // Only invalidate statements if we performed DDL.
- if (forRollback && dataDictionaryInWriteMode()) {
- ExecPreparedStatement ps = a.getPreparedStatement();
- if (ps != null) {
- ps.makeInvalid(DependencyManager.ROLLBACK, this);
- }
}
}
}