Jan Wieck <janwieck(at)yahoo(dot)com> writes:
>> It seems like it might be possible for libpq (or other clients) to keep
>> track of the transaction state by paying attention to BEGIN, COMMIT,
>> ABORT command-completion tags and ERROR messages, but I haven't worked
>> through the details.
> PQexec(c, "BEGIN; SELECT now()");
> Will there even be a BEGIN command tag sent?
Yes. PQexec doesn't tell you about it, but one comes through. (This
is certainly true in current sources, and I believe has always been true.)
It'd be nastier if we allowed functions to change the transaction-block
state, but we don't...
regards, tom lane