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

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to