Re: [GENERAL] Surprising syntax error
От | Bruce Momjian |
---|---|
Тема | Re: [GENERAL] Surprising syntax error |
Дата | |
Msg-id | 200806302239.m5UMdDl16982@momjian.us обсуждение исходный текст |
Ответы |
Re: [GENERAL] Surprising syntax error
Re: [GENERAL] Surprising syntax error |
Список | pgsql-hackers |
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 SCHEMAtest=> CREATE VIEW internal.all_objects AS SELECT 1;CREATE VIEWtest=> REVOKE ALLON VIEW internal.all_objects FROM PUBLIC;ERROR: syntax ERROR AT OR near "internal"LINE 1: REVOKE ALL ON VIEW internal.all_objectsFROM 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@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-hackers по дате отправления: