> > Won't that break when we have nested transactions implemented? i.e.
> > begin;commit; would just open a sub transaction and have no effect on the
> > outer transaction...
>
> Yes, it would break. I am not sure how we are going to flag that we
> want to rollback all nested transactions, maybe ROLLBACK ALL.
Shouldn't the results of PQtransactionStatus() override any 'pre-canned'
guess about how to abort a potential transaction since you know the
exact state of the protocol?
If PQprotocolVersion() == 2 then do things the old way (always begin /
rollback).
If either of the above functions are not present (pre-7.4 version of
PostgreSQL) then always begin / rollback.