Re: PGRES_FATAL_ERROR from queries in transaction abort state? - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: PGRES_FATAL_ERROR from queries in transaction abort state?
Date
Msg-id 12311.1053648387@sss.pgh.pa.us
Whole thread Raw
In response to PGRES_FATAL_ERROR from queries in transaction abort state?  (Forest Wilkinson <lyris-pg@tibit.com>)
Responses Re: PGRES_FATAL_ERROR from queries in transaction abort state?  (Forest Wilkinson <lyris-pg@tibit.com>)
List pgsql-interfaces
Forest Wilkinson <lyris-pg@tibit.com> writes:
> I am maintaining code that uses libpq, and takes PGRES_FATAL_ERROR to
> mean the database connection can no longer be used.

It has never meant that.  Only connection status going to CONNECTION_BAD
would mean that.

> Why isn't PGRES_NONFATAL_ERROR returned for queries in an aborted
> transaction state?

I think that the original design intended the code PGRES_NONFATAL_ERROR
to be used for what we now call a WARNING; but in point of fact it's not
being used at all, because warnings aren't reported through
PQresultStatus.  AFAICS the *only* case where you get
PGRES_NONFATAL_ERROR is when you pass a null PGresult pointer to
PQresultStatus(), which in the current code is a pretty dubious choice
(PGRES_EMPTY_QUERY is arguably better).
        regards, tom lane


pgsql-interfaces by date:

Previous
From: Forest Wilkinson
Date:
Subject: PGRES_FATAL_ERROR from queries in transaction abort state?
Next
From: Forest Wilkinson
Date:
Subject: Re: PGRES_FATAL_ERROR from queries in transaction abort state?