Eric Faulhaber wrote:
> I debugged into the driver and found it was issuing a "BEGIN" to the
> backend just before each statement. Why would it do this with
> autocommit disabled?
autocommit on = implicit transaction wrapping each individual statement.
In the postgres world, this means "don't use BEGIN/COMMIT at all".
autocommit off = explicit transaction demarcation, the first statement
executed starts a new transaction that lasts until rollback()/commit()
are called. In the postgres world, this means "use BEGIN/ROLLBACK/COMMIT
to demarcate the transaction". So the driver issues a BEGIN to start a
new transaction as necessary.
-O