Tom Lane writes:
> You write You get
>
> char(N) pg_catalog.bpchar
> pg_catalog.char pg_catalog.char (not bpchar)
> real pg_catalog.float4
> myschema.real myschema.real (not float4)
> trim(BOTH foo) pg_catalog.btrim(foo)
> pg_catalog.trim(BOTH foo) an error (since the special production
> allowing BOTH won't be used)
Exactly my thoughts.
> A corner case that maybe requires more discussion is what about type and
> function names that are reserved per spec, but which we do not need any
> special transformation for? For example, the spec thinks that
> OCTET_LENGTH() is a keyword, but our implementation treats it as an
> ordinary function name. I feel that the grammar should not prefix
> "pg_catalog." to any name that it hasn't transformed or treated
> specially in any way, even if that name is reserved per spec.
I agree.
--
Peter Eisentraut peter_e@gmx.net