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 <[EMAIL PROTECTED]> 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@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers