On tis, 2011-03-08 at 20:52 -0500, Tom Lane wrote:
> I think we should drop <collate clause> from TypeName and just have it
> in columnDef and the expression syntax.
Yes, that sounds better in retrospect. It's easier to see that now that
we see all the cases where it's used and not used.
> This might also ease the
> ambiguity problem that evidently led you to restrict the expression
> production's argument to c_expr.
Maybe, but I seem to recall that I did actually check and concluded that
c_expr covers all cases where <collate clause> is allowed. We could of
course allow more cases, but maybe it's not necessary.
> It would also allow us to meet the
> letter of the spec for <column definition>, in that <collate clause>
> is not required to immediately follow <data type>.
Note that that case is listed under a separate feature. I'm not sure if
it's worth supporting, but if they bothered putting it in it's probably
for compatibility with some existing implementation.