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]

Reply via email to