Re: SQL conformity regarding SQLSTATE

Поиск
Список
Период
Сортировка
От Jürgen Purtz
Тема Re: SQL conformity regarding SQLSTATE
Дата
Msg-id c5fb7c99-0f02-75cf-9b97-95693fc6adc7@purtz.de
обсуждение исходный текст
Ответ на Re: SQL conformity regarding SQLSTATE  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: SQL conformity regarding SQLSTATE  (Simon Riggs <simon@2ndquadrant.com>)
Re: SQL conformity regarding SQLSTATE  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
>
> There are various SQLSTATE codes that we borrowed from DB2 and other
> RDBMSes; to the extent that those violate the spec, we're in good
> company.
In good company or in bad society ???
>> Here is a list of values, which violate the above rule as the values are
>> in the range which is reserved for the standard but (actually) are not
>> defined by the standard. I compared our list in the version 10
>> documentation with the SQL:2011 standard. (Unfortunately I have no
>> access to SQL:2016. Maybe, some values of my list are defined there.)
>> 01008, 03000, 0B000, 23502 - 23514, 39001, 42501 - 42939, F0000, F0001.
> Actually, I'm pretty sure we were looking at SQL99 when we made our
> original list.  I see 01008, 03000, 0B000, and 39001 there; are they
> really not in later specs?
Yes, I double checked it. Maybe they where used in one of the parts 5, 
6, 7,8, or 12. Those parts are no longer part of the SQL standard.

0B000 may be switched into the 23 class? 39001 "invalid SQLSTATE 
returned" sounds dubious for me - it declares itself to be 'invalid'.
> The 23xxx and 42xxx codes are there because SQL99 provides ridiculously
> few subclasses for those classes.  I think many of those might've been
> borrowed from DB2, but in any case they're in the legal range for
> extension subclasses, so I don't follow your complaint.
OK, my error. 23xxx and 42xxx subclasses are in the legal range.
> Class F0 seems like a mistake ... maybe we could get away with changing
> those two assignments, since it seems unlikely that any client code is
> looking for those values.
>
>> b) Shall we add a comment into 'errcodes.txt' to remind everybody to the
>> mentioned rule?
> You mean the one at lines 64ff?
Yes. But as you said: it is still there. No action necessary.
>> c) Is it possible to rearrange the rows of 'errcode.txt' in a way that
>> reflects the natural sort order of SQLSTATE?
> I'd have said it was already.

There is no sorting of subclasses within their class in 'errcode.txt'.

Summary: 01008, 03000, 0B000, 39001, F0000, and F0001 do not conform to 
the standard.


Kind regards
Jürgen Purtz



В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: SQL conformity regarding SQLSTATE
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: SQL conformity regarding SQLSTATE