Joe Conway <mail@joeconway.com> writes:
> I'm working on stand-alone composite types and running into a
> reduce/reduce problem with the grammer. Any suggestions would be
> appreciated. Here's what I have:
> DefineStmt:
> | CREATE TYPE_P qualified_name AS
> '(' TableFuncElementList ')'
Use any_name, not qualified_name. As-is, you're forcing the parser
to try to distinguish the two forms of CREATE TYPE before it can
see anything that would tell the difference.
In hindsight I think it was a mistake to set up RangeVar/qualified_name
as a distinct reduction path from non-relation qualified names ---
we'd have been better off using a single production and a uniform
intermediate representation. But I haven't had time to investigate
simplifying the grammar that way.
regards, tom lane