Peter Eisentraut said: > Martijn van Oosterhout wrote: >> Incidently, IIRC the default behaviour on conflict is a shift anyway, >> so that what the patch already does anyway. >> >> So we get: >> >> CREATE VIEW foo AS SELECT expr :: TIME WITH TIME ZONE <-- OK >> CREATE VIEW foo AS SELECT expr :: TIME WITH CHECK OPTION <-- > >> parse error CREATE VIEW foo AS SELECT (expr :: TIME) WITH CHECK OPTION >> <-- OK > > Yes, that's really the fundamental problem if you let shift/reduce > conflicts stand: the parser will behave weirdly in the conflict cases. > > There is a seemingly little known option in bison named %glr-parser, > which when turned on parses all of theses cases correctly. Maybe that > is worth considering.
Interesting. Unfortunately, the manual says: "The GLR parsers require a compiler for ISO C89 or later. In addition, they use the inline keyword, which is not C89, but is C99 and is a common extension in pre-C99 compilers. It is up to the user of these parsers to handle portability issues." Do we want such a restriction? cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings