Re: [GENERAL] Surprising syntax error

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: "Decibel!" <decibel(at)decibel(dot)org>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Marc Munro <marc(at)bloodnok(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] Surprising syntax error
Date: 2008-08-22 16:42:42
Message-ID: 48AEEC82.8030707@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


depends if you think hacking the bison grammar is a beginner task.

cheers

andrew

Decibel! wrote:
> Are we still tracking beginner TODOs separately? I'm thinking this
> falls into that category...
>
> Barring objection, I'll mark it as easy.
>
> On Aug 21, 2008, at 5:38 PM, Bruce Momjian wrote:
>
>>
>> Added to TODO:
>>
>> Allow GRANT/REVOKE on views to use the VIEW keyword rather
>> than just TABLE
>>
>> http://archives.postgresql.org/pgsql-hackers/2008-06/msg01133.php
>>
>>
>> ---------------------------------------------------------------------------
>>
>>
>> Bruce Momjian wrote:
>>> Marc Munro wrote:
>>> -- Start of PGP signed section.
>>>> The statement:
>>>>
>>>> revoke all on view internal.all_objects from public;
>>>>
>>>> yields a syntax error. The docs show that the word "view" is not
>>>> acceptable in this statement which is fine but the surprising thing is
>>>> that:
>>>>
>>>> ? revoke all on table internal.all_objects from public;
>>>>
>>>> works fine even though all_objects is a view and not a table.
>>>>
>>>> Now that I know about it, this doesn't bother me but it was a surprise
>>>> and I wonder whether the the parser/planner/whatever should be a bit
>>>> smarter about allowing the word table to apply to non-tables, and
>>>> whether the word view ought to be allowed.
>>>
>>> Yes, I can confirm this behavior on CVS HEAD, and it is odd:
>>>
>>> test=> CREATE SCHEMA internal;
>>> CREATE SCHEMA
>>> test=> CREATE VIEW internal.all_objects AS SELECT 1;
>>> CREATE VIEW
>>> test=> REVOKE ALL ON VIEW internal.all_objects FROM PUBLIC;
>>> ERROR: syntax ERROR AT OR near "internal"
>>> LINE 1: REVOKE ALL ON VIEW internal.all_objects FROM PUBLIC;
>>> ^
>>> test=> REVOKE ALL ON TABLE internal.all_objects FROM PUBLIC;
>>> REVOKE
>>>
>>> Is there a downside to adding "VIEW" in parser/gram.y:privilege_target?
>>>
>>> -- Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
>>> EnterpriseDB http://enterprisedb.com
>>>
>>> + If your life is a hard drive, Christ can be your backup. +
>>>
>>> --Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
>>> To make changes to your subscription:
>>> http://www.postgresql.org/mailpref/pgsql-hackers
>>
>> -- Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
>> EnterpriseDB http://enterprisedb.com
>>
>> + If your life is a hard drive, Christ can be your backup. +
>>
>> --Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-hackers
>>
>
> --Decibel!, aka Jim C. Nasby, Database Architect decibel(at)decibel(dot)org
> Give your computer some brain candy! www.distributed.net Team #1828
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2008-08-22 18:00:52 Re: AT TIME ZONE and DST in UTC<->CET conversion
Previous Message Bruce Momjian 2008-08-22 16:42:03 Re: [GENERAL] Surprising syntax error

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2008-08-22 17:27:58 Re: [HACKERS] Solaris ident authentication using unix domain sockets
Previous Message Bruce Momjian 2008-08-22 16:42:03 Re: [GENERAL] Surprising syntax error