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.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/