Re: SET TRANSACTION and SQL Standard

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: SET TRANSACTION and SQL Standard
Дата
Msg-id 49676909.8060703@enterprisedb.com
обсуждение исходный текст
Ответ на Re: SET TRANSACTION and SQL Standard  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: SET TRANSACTION and SQL Standard  (Simon Riggs <simon@2ndQuadrant.com>)
Re: SET TRANSACTION and SQL Standard  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Simon Riggs wrote:
> On Fri, 2009-01-09 at 16:14 +0200, Peter Eisentraut wrote:
>> Simon Riggs wrote:
>>> I notice that we allow commands such as
>>>
>>> SET TRANSACTION read only read write read only;
>>>
>>> BEGIN TRANSACTION read only read only read only;
>>>
>>> Unsurprisingly, these violate the SQL Standard:
>>> * p.977 section 19.1 syntax (1)
>>> * p.957 section 17.3 syntax (2)
>> Well, we allow a lot of things.  Violations of the SQL standard happen 
>> when a command that appears in the standard doesn't do what the standard 
>> says.  Allowing commands that are not in the standard is not a violation.
> 
> Except when the standard explicitly forbids it, as with the above.

No, it just means that the statement "SET TRANSACTION read only read 
write read only;" doesn't conform to the standard, and it's therefore 
implementation-dependent what it does. See the meaning of "shall" in 
Syntax Rules, section "6.3.3.2 Terms denoting rule requirements".

I agree with Tom that the 2nd form is harmless, but we should throw an 
error for the first.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgindent does a pretty awful job with function-pointer typedefs
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: foreign_data test fails with non-C locale