| From: | Joe Abbate <jma(at)freedomcircle(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Reserved words and delimited identifiers |
| Date: | 2011-11-30 05:15:09 |
| Message-ID: | 4ED5BBDD.4080005@freedomcircle.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 11/29/2011 11:41 PM, Tom Lane wrote:
> Another way to say that is that the type int4 can be specified in two
> ways:
>
> int4 (an identifier)
> INTEGER (a keyword)
>
> Quoting "int4" is no problem, because it's still an identifier, but
> quoting "integer" takes away its keyword nature, so it doesn't get
> recognized.
>
> The fact that INTEGER is a keyword, and not an identifier, is per SQL
> specification. We could perhaps hack things so that "integer" as an
> identifier would also work, but I doubt that we'd go so far as to make
> "INTEGER" (a different identifier) also work, and we'd certainly not
> be able to do much about the spec's more exciting deviations from
> identifier-looking type names, such as CHARACTER VARYING or DOUBLE
> PRECISION.
>
> Or to put it more pithily: the SQL committee's ideas of good syntax
> seem to have been frozen around the time COBOL was invented.
Thanks Tom and Robert. I think I understand the problem now. I guess
I'll have to work around this "quirk" by dealing specially with type
names and not quote them when they're in the shorter list of SQL
Standard reserved words.
Joe
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2011-11-30 05:48:05 | Re: Reserved words and delimited identifiers |
| Previous Message | Robert Haas | 2011-11-30 05:03:43 | Re: Reserved words and delimited identifiers |