Re: Range for user-defined SQLSTATE codes - Mailing list pgsql-general

From Tom Lane
Subject Re: Range for user-defined SQLSTATE codes
Date
Msg-id 20185.1359219138@sss.pgh.pa.us
Whole thread Raw
In response to Re: Range for user-defined SQLSTATE codes  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-general
Kevin Grittner <kgrittn@ymail.com> writes:
> Ian Pilcher <arequipeno@gmail.com> wrote:
>> Is there anything like a standard range -- formal or otherwise -- for
>> such codes?  A best practice?  A general consensus?  A half-painted
>> bike shed?

> There is this in the SQL standard.  According to that, SQLSTATE
> values with 0-4 or A-H in both the first and third positions are
> reserved for values defined by standards.  All others are available
> for "implementation-specified" exception conditions.  As far as I
> know, the PostgreSQL community has claimed SQLSTATE values with P0
> or XX in the start of a SQLSTATE or P in the third character.  To
> allow for future expansion by the PostgreSQL community it might be
> wise to stay away from any SQLSTATE starting with P for your
> application use.

In addition to what the spec says, it's worth looking into
src/backend/utils/errcodes.txt, where you'll note that we have borrowed
some codes beginning with '5' from DB2, and also stated that codes
beginning with 'Y' are reserved for client-side code such as ecpg.
So I'd stay away from 5, P, X, and Y as first characters of private
SQLSTATEs (or third characters of private codes within a spec-defined
class, if that's what you want).  Other than that, go nuts.

            regards, tom lane


pgsql-general by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: Range for user-defined SQLSTATE codes
Next
From: Ian Pilcher
Date:
Subject: Cast double precision to integer & check for overflow