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