Re: Assignment scheme for implementation-defined error codes? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Assignment scheme for implementation-defined error codes?
Date
Msg-id 8973.1059400929@sss.pgh.pa.us
Whole thread Raw
In response to Assignment scheme for implementation-defined error codes?  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> ... I'm wondering what kind of
> scheme we should use to allow clients to reserve some SQLSTATE codes for
> their own use.

> The errors I'm currently looking at can be thought of as "internal
> errors", so should I be using the class XX, or maybe XY as internal error
> on the client side, or maybe YE as internal error on the client side in
> ecpg (so YL could be libpq, YO the ODBC driver, etc.)?

It seems reasonable to reserve Yxxxx for client-side internal errors,
with as you suggest the second character used to identify a particular
client library.

Note also that there are several standard SQLSTATEs that appear to be
intended for client-side use, such as
ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION

> What about creating client-specific subclasses of existing classes?

Again we could go with reserving the Y prefix, although the namespace is
getting rather tight there --- if we use the next character to
distinguish different clients, there's only one character left for the
individual errors.  Perhaps a dozen or so per client will be enough.

> Is the DB2 SQLSTATE reference, where some codes were apparently taken
> from, available somewhere?  (A web search doesn't show anything useful.)

You need to google for the "DB2 Message Reference"; in recent editions
the SQLSTATE stuff is in Volume 2, Chapter 3.  There are complete sets
of DB2 manuals available as PDFs at www.ibm.com.  I don't have a record
of the exact URL I found it at, but I've been using a PDF of the message
reference manual for DB2 Version 8.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Shridhar Daithankar"
Date:
Subject: Re: Doubt w.r.t vacuum
Next
From: Peter Eisentraut
Date:
Subject: Error code mixup?