Re: Error code for "terminating connection due to conflict with recovery" - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Error code for "terminating connection due to conflict with recovery"
Date
Msg-id 7547.1295024644@sss.pgh.pa.us
Whole thread Raw
In response to Re: Error code for "terminating connection due to conflict with recovery"  (Tatsuo Ishii <ishii@postgresql.org>)
Responses Re: Error code for "terminating connection due to conflict with recovery"  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
Tatsuo Ishii <ishii@postgresql.org> writes:
>> Review:
>> The only possible point of concern I see here is the naming of the C
>> identifier.  Everything else in class 40 uses ERRCODE_T_R_whatever,
>> with T_R standing for transaction rollback.  It's not obvious to me
>> that that convention has any real value, but perhaps we ought to
>> follow it here for the sake of consistency?

> Yeah. Actually at first I used "T_R" convention. After a few seconds
> thought, I realized that "T_R" is not appropreate by the same reason
> you feel. Possible other argument might be "Terminating connection
> always involves transaction rollback. So using T_R is ok". I'm not
> sure this argument is reasonable enough though.

This is not only a matter of some macro name or other.  According to the
SQL standard, class 40 itself is defined as "transaction rollback".
If the error condition can't reasonably be regarded as a subcase of
that, you're making a bad choice of SQLSTATE code.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: Add support for logging the current role
Next
From: Tom Lane
Date:
Subject: Re: [PATCH] Return command tag 'REPLACE X' for CREATE OR REPLACE statements.