Re: Small question

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jan Wieck <janwieck(at)yahoo(dot)com>
Cc: Joep deVocht <joep(at)masktools(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Small question
Date: 2002-03-22 18:43:36
Message-ID: 2770.1016822616@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Jan Wieck <janwieck(at)yahoo(dot)com> writes:
> Joep deVocht wrote:
>> Is there a way to determine whether a transaction
>> is started and not ended yet?

> I think it's time to add a little boolean function, that
> actually returns IsTransactionBlock(), and have a libpq side
> wrapper around PQfn() calling it.

If you're in TRANSACTION ABORT state, I do not think that will work.

Offhand this seems more of a protocol issue. A straightforward solution
would be to add a status indicator (with three states: out of
transaction, in transaction, in aborted transaction) to the
ReadyForQuery message, but we can't do that without a protocol change,
which is probably more trouble than it's worth.

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.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2002-03-22 18:48:36 Re: Small question
Previous Message Masaru Sugawara 2002-03-22 18:18:47 Re: Huge Performance Difference on Similar Query in Pg7.2