|
From: <one...@us...> - 2002-11-25 10:00:09
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister
In directory sc8-pr-cvs1:/tmp/cvs-serv21302/cirrus/hibernate/persister
Modified Files:
MultiTableEntityPersister.java
Log Message:
fixed some PreparedStatement handling
Index: MultiTableEntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/MultiTableEntityPersister.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** MultiTableEntityPersister.java 25 Nov 2002 07:25:20 -0000 1.37
--- MultiTableEntityPersister.java 25 Nov 2002 10:00:05 -0000 1.38
***************
*** 440,448 ****
PreparedStatement st = session.getBatcher().prepareStatement( (String) lockers.get(lockMode) );
-
- getIdentifierType().nullSafeSet(st, id, 1, session);
- if ( isVersioned() ) getVersionType().nullSafeSet(st, version, 2, session);
-
try {
ResultSet rs = st.executeQuery();
try {
--- 440,447 ----
PreparedStatement st = session.getBatcher().prepareStatement( (String) lockers.get(lockMode) );
try {
+ getIdentifierType().nullSafeSet(st, id, 1, session);
+ if ( isVersioned() ) getVersionType().nullSafeSet(st, version, 2, session);
+
ResultSet rs = st.executeQuery();
try {
***************
*** 477,486 ****
// Render the SQL query
final PreparedStatement[] statements = new PreparedStatement[ tableNames.length ];
- for ( int i=0; i<tableNames.length; i++ ) {
- statements[i] = session.getBatcher().prepareStatement( sqlInsert()[i] );
- }
-
try {
// Write the values of fields onto the prepared statement - we MUST use the state at the time the
// insert was issued (cos of foreign key constraints). Not necessarily the object's current state
--- 476,485 ----
// Render the SQL query
final PreparedStatement[] statements = new PreparedStatement[ tableNames.length ];
try {
+ for ( int i=0; i<tableNames.length; i++ ) {
+ statements[i] = session.getBatcher().prepareStatement( sqlInsert()[i] );
+ }
+
// Write the values of fields onto the prepared statement - we MUST use the state at the time the
// insert was issued (cos of foreign key constraints). Not necessarily the object's current state
***************
*** 496,500 ****
}
finally {
! for ( int i=0; i<tableNames.length; i++ ) session.getBatcher().closeStatement( statements[i] );
}
--- 495,501 ----
}
finally {
! for ( int i=0; i<tableNames.length; i++ ) {
! if ( statements[i]!=null ) session.getBatcher().closeStatement( statements[i] );
! }
}
***************
*** 582,594 ****
}
- //Render the SQL query
final PreparedStatement[] statements = new PreparedStatement[tableNames.length];
- for ( int i=0; i<tableNames.length; i++ ) {
- statements[i] = session.getBatcher().prepareStatement( sqlDelete()[i] );
- }
-
-
try {
if ( isVersioned() ) getVersionType().nullSafeSet( statements[0], version, getIdentifierColumnNames().length + 1, session );
--- 583,593 ----
}
final PreparedStatement[] statements = new PreparedStatement[tableNames.length];
try {
+ for ( int i=0; i<tableNames.length; i++ ) {
+ statements[i] = session.getBatcher().prepareStatement( sqlDelete()[i] );
+ }
+
if ( isVersioned() ) getVersionType().nullSafeSet( statements[0], version, getIdentifierColumnNames().length + 1, session );
***************
*** 610,614 ****
}
finally {
! for ( int i=0; i<tableNames.length; i++ ) session.getBatcher().closeStatement( statements[i] );
}
}
--- 609,615 ----
}
finally {
! for ( int i=0; i<tableNames.length; i++ ) {
! if ( statements[i]!=null ) session.getBatcher().closeStatement( statements[i] );
! }
}
}
***************
*** 638,648 ****
}
- //Render the SQL query
final PreparedStatement[] statements = new PreparedStatement[tables];
- for ( int i=0; i<tableNames.length; i++ ) {
- if ( tableUpdateNeeded[i] ) statements[i] = session.getBatcher().prepareStatement( sqlUpdate()[i] );
- }
-
try {
int versionParam = dehydrate(id, fields, statements, session); //TODO
--- 639,648 ----
}
final PreparedStatement[] statements = new PreparedStatement[tables];
try {
+
+ for ( int i=0; i<tableNames.length; i++ ) {
+ if ( tableUpdateNeeded[i] ) statements[i] = session.getBatcher().prepareStatement( sqlUpdate()[i] );
+ }
int versionParam = dehydrate(id, fields, statements, session); //TODO
***************
*** 653,657 ****
if ( tableUpdateNeeded[i] ) check( statements[i].executeUpdate(), id );
}
-
}
--- 653,656 ----
***************
*** 662,666 ****
finally {
for ( int i=0; i<tableNames.length; i++ ) {
! if ( tableUpdateNeeded[i] ) session.getBatcher().closeStatement( statements[i] );
}
}
--- 661,665 ----
finally {
for ( int i=0; i<tableNames.length; i++ ) {
! if ( statements[i]!=null ) session.getBatcher().closeStatement( statements[i] );
}
}
|