Reserved word "date" in tutorial example

From: Greg Smith <greg(at)2ndQuadrant(dot)com>
To: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Reserved word "date" in tutorial example
Date: 2013-05-21 14:19:45
Message-ID: 519B8281.10105@2ndQuadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

doc/src/sgml/query.sgml includes a tutorial example with this definition:

CREATE TABLE weather (
...
date date
);

The fact that "date" is used for both the column name and the type is
highlighted by two later comments:

(Yes, the column of type date is also named date. This might be
convenient or confusing--you choose.)

type names are not key words in the syntax, except where required to
support special cases in the SQL standard.

But as a documentation comment submitted recently points out, "date"
*is* a reserved word in the SQL spec:
http://www.postgresql.org/docs/current/interactive/sql-keywords-appendix.html
, just not in PostgreSQL. That makes using it as a column name in an
example an odd choice for a tutorial. The example is using the
ambiguity to point out where the line between what is and isn't legal is
at, and maybe that's a feature instead of a bug.

There are a few approaches that could improve on this:

-Keep all of that, but expand the description to link to "SQL Key
Words"--right now "SQL standard" doesn't go to that section--and say
this might be a reserved word in other SQL implementations. This is the
smallest useful improvement.

-Change the name of the column and remove the two related descriptions.
This will lose the lesson about where the parser's line is at.

-Do both: move this example of parser trivia somewhere else, but remove
it from the tutorial material by using a non-reserved column name there.

--
Greg Smith 2ndQuadrant US greg(at)2ndQuadrant(dot)com Baltimore, MD
PostgreSQL Training, Services, and 24x7 Support www.2ndQuadrant.com

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Greg Smith 2013-05-21 16:18:09 VALUES lists aliases
Previous Message Tom Lane 2013-05-20 02:06:20 Re: Clarify TIMING OFF behavior