Re: Updatable views/with check option parsing

From: "Andrew Dunstan" <andrew(at)dunslane(dot)net>
To: <peter_e(at)gmx(dot)net>
Cc: <kleptog(at)svana(dot)org>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Updatable views/with check option parsing
Date: 2006-05-26 21:26:37
Message-ID: 1762.24.211.165.134.1148678797.squirrel@www.dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2006-05-26 21:34:36 Re: Updatable views/with check option parsing
Previous Message Greg Stark 2006-05-26 21:19:46 Question about "name" datatype