Exactly how does that rollback help at that point of the code Thomas? --- Thomas Fischer <[EMAIL PROTECTED]> wrote:
> The code now looks good. It's fine to rollback after > you do the commit. > > Thomas > > On Mon, 10 Apr 2006, Jim Caserta wrote: > > > So if I'm using the following code below, > > My question is: > > Even if the connection is fine and the database > logic > > does it's stuff correctly (Do Stuff).. > > And the connection is NOT closed. It's ok to do > the > > "rollback" since the commit worked fine also. > correct? > > > > Connection dbConn = null; > > try { > > dbConn = > > Torque.getConnection("db2.torque.environment"); > > ////Do Stuff > > dbConn.commit(); > > } > > finally { > > if (dbConn == null) { > > //Connection error logic > > } > > if (!dbConn.isClosed()) { > > dbConn.rollback(); > > dbConn.close(); > > } > > } > > > > --- Thomas Fischer <[EMAIL PROTECTED]> wrote: > > > >> > >> Jim Caserta <[EMAIL PROTECTED]> schrieb am > >> 10.04.2006 17:40:05: > >> > >>> Sorry about the confusion. I meant using > >>> Torque.getConnection() and dbConn.close() > instead > >> of > >>> Transaction.begin().. > >> > >> For any DB which supports transactions: _Make > sure_ > >> that the connection is > >> in autocommit mode or use Transaction.begin and > >> Transaction.commit() or do > >> both. If you do not commit/rollback and are not > in > >> autocommit mode you can > >> run into ugly trouble (e.g. if the transaction > >> serialization is read > >> committed, other connections will never see the > >> changes to the data in the > >> uncommitted transaction and the like). > >> > >>> And if iI was. the following would work well? > >>> > >>> > >>> Connection dbConn = null; > >>> try { > >>> // get a connection from the pool > >>> dbConn = > >>> Torque.getConnection(db2.torque.environment); > >>> ////Do Stuff > >>> //Commit the transaction > >>> dbConn.commit(); > >>> } > >>> finally { > >>> if (!dbConn.isClosed()) { > >>> // some error occurred, try to rollback > >> and return > >>> connection to the pool > >>> dbConn.close(); > >>> dbConn.rollback(); //Is this needed? > >>> } > >>> } > >> > >> This is similar to an earlier version I used some > >> time ago. The problem is > >> it would throw a NullPointerException in the > finally > >> block if > >> Torque.getConnection() fails. Also, you should > >> rollback() before you > >> close(). > >> > >> Whatever code you use in the end, make sure (i.e. > >> _test_) that an error in > >> retrieving/working with the connection is handled > >> correctly. > >> > >> Thomas > >> > >> > >> > > > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: > >> [EMAIL PROTECTED] > >> For additional commands, e-mail: > >> [EMAIL PROTECTED] > >> > >> > > > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.com > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]