On Wed, 2004-05-12 at 00:55, Mahesh Swamy wrote:
> I think that I have missed explaining a point. We are developing a
> proprietary extension to PostgreSQL. This means that some errors that are
> thrown in our extension will never be thrown by the OSS community code.
> Thus, for these cases we should use a code that will not be used by the OSS
> community (hopefully) so we will not have to keep changing it in future
> updates. I hope i am clear? Thus, we invented using the letter 'x', as it
> seems a bit out of the way...

Ah, right -- makes sense. I don't think a (lower-case) 'x' is the best
choice, though; my copy of SQL2003 Section 23.1 sayeth:

Class values that begin with one of the <digit>s  0 ,  1 ,  2 ,  3 , or 
4  or one of the <simple Latin upper case letter>s  A ,  B ,  C ,  D , 
E ,  F ,  G , or  H  are returned only for conditions defined in ISO/IEC
9075 or in any other International Standard. [ ... ] Subclass values
associated with such classes that also begin with one of those 13
characters are returned only for conditions defined in ISO/IEC 9075 or
some other International Standard. [... ] Subclass values associated
with such classes that begin with one of the <digit>s  5 ,  6 ,  7 ,  8
, or  9  or one of the <simple Latin upper case letter>s  I ,  J ,  K , 
L ,  M ,  N ,  O ,  P ,  Q ,  R ,  S ,  T ,  U ,  V ,  W ,  X ,  Y , or 
Z  are reserved for implementation-specified conditions and are called
implementation-defined subclasses.

So an upper-case 'X' or other suitable letter (for those errors thrown
_only_ by the proprietary extension) seems best, as the standard
explicitly says that such a subclass value is legal for
implementation-defined conditions.

-Neil



---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to