Re: Oddity in column specifications for table creation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Marc Munro <marc(at)bloodnok(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Oddity in column specifications for table creation
Date: 2007-12-12 00:32:39
Message-ID: 9078.1197419559@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Marc Munro <marc(at)bloodnok(dot)com> writes:
> This works fine:
> "str2" varchar(40)
> This does not:
> "str2" "pg_catalog"."varchar"(40)

Yeah. That's because in all existing PG releases, type modifiers are
handled by hard-wired grammar productions that *only* work for VARCHAR,
CHARACTER VARYING, and so on, treated as keywords.

Teodor did some remarkable work for 8.3, fixing things so that any type
name could have modifiers attached, without (we hope ;-)) breaking any
cases that worked before. It had previously been assumed that this was
impossible, because a type-name-plus-modifier looks just about
indistinguishable from a function call, but he managed to find a way
that side-stepped all the grammatical ambiguities. Your examples all
work fine in CVS HEAD.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marc Munro 2007-12-12 00:36:31 Re: Oddity in column specifications for table creation
Previous Message Gregory Williamson 2007-12-12 00:22:36 Re: Hijack!