Subject | Difference between 1.5.5 an 2.1.1 and ResultSets in autocommit connections |
---|---|
Author | Aljoscha Rittner |
Post date | 2007-11-22T16:06:21Z |
Hello!
I have one autocommit transaction for many selects on a database. And
some other different connections for writes and transactional access.
Up to jaybird 1.5.5 I've no problems with this case:
1. Create one autocommit connection
2. Create a prepared select statement with
stmt1 = conAC.prepareStatement ("select ... where ... = ?");
3. and loop throw the result set. In some of my loops I create a second
prepared statemend (or more) on the same autocommit connection:
while ( res.next() ) {
stmt2 = conAC.prepareStatement ("select ... where ... = ?");
...
}
With 1.5.5 this works for me, but with 2.1.1 the result set from stmt1
get closed. I think the default ResultSetHoldability is changed
between the versions (from HOLD_CURSORS_OVER_COMMIT in 1.5.5 to
CLOSE_CURSORS_AT_COMMIT in 2.1.1). Is this right? And: Is this ok?
best regards,
josh.
I have one autocommit transaction for many selects on a database. And
some other different connections for writes and transactional access.
Up to jaybird 1.5.5 I've no problems with this case:
1. Create one autocommit connection
2. Create a prepared select statement with
stmt1 = conAC.prepareStatement ("select ... where ... = ?");
3. and loop throw the result set. In some of my loops I create a second
prepared statemend (or more) on the same autocommit connection:
while ( res.next() ) {
stmt2 = conAC.prepareStatement ("select ... where ... = ?");
...
}
With 1.5.5 this works for me, but with 2.1.1 the result set from stmt1
get closed. I think the default ResultSetHoldability is changed
between the versions (from HOLD_CURSORS_OVER_COMMIT in 1.5.5 to
CLOSE_CURSORS_AT_COMMIT in 2.1.1). Is this right? And: Is this ok?
best regards,
josh.