Chris Angelico wrote:
with psycopg2.connect(...) as conn:
with conn.trans() as trn:
for row in trn.execute("select ..."):
print(row)
The outer context manager is optional, but not the inner one
While I fully support making the use of transactions mandatory,
I wouldn't like to be forced to use them in a with statement.
In the application that I originally built my Firebird interface
for, I had a mechanism where a user could open up a piece of
data for editing, and then choose to save or cancel the edits.
I implemented it by keeping a transaction around for the
duration and then committing it or rolling it back. If a
with statement were required around all transactions, I
wouldn't have been able to do that.
--
Greg
--
https://mail.python.org/mailman/listinfo/python-list