Default scope of variables

Ethan Furman ethan at stoneleaf.us
Sun Jul 7 12:52:12 EDT 2013


On 07/07/2013 06:43 AM, Chris Angelico wrote:
> On Sun, Jul 7, 2013 at 11:13 PM, Wayne Werner <wayne at waynewerner.com> wrote:
>> Which you would then use like:
>>>>>> conn = create_conn()
>> with new_transaction(conn) as tran:
>> rows_affected = do_query_stuff(tran)
>> if rows_affected == 42:
>> tran.commit()
>> Yep. There's a problem, though, when you bring in subtransactions. The
> logic wants to be like this:

Is there some reason you can't simply do this?
 with new_transaction(conn) as tran1:
 tran1.query("blah")
 with tran1.subtransaction() as tran2:
 tran2.query("blah")
 with tran2.subtransaction() as tran3:
 tran3.query("blah")
 # roll this subtransaction back
 tran2.query("blah")
 tran2.commit()
 tran1.query("blah")
 tran1.commit()
--
~Ethan~


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /