Peter Eisentraut <peter_e@gmx.net> writes:
> The SQL standard uses a recursive-by-default language. For example, the
> rules for the DELETE command state:
Actually, I'm not convinced. Take a look at the SELECT WITH HIERARCHY
OPTION stuff in SQL99 and later, in particular this from SQL99
12.2 <grant privilege statement>:
7) Let SWH be the set of privilege descriptors in CPD whose action is SELECT WITH HIERARCHY OPTION,
andlet ST be the set of subtables of O, then for every grantee G in SWH and for every table T in
ST,the following <grant statement> is effectively executed without further Access Rule checking:
GRANT SELECT ON T TO G GRANTED BY A
It's difficult to read that any other way than that privileges are *not*
auto-recursive, and they have chosen to spell "*" in GRANT as "WITH
HIERARCHY OPTION" (gackk).
On the other hand, it's hard to square that reading with the lack of any
UPDATE or DELETE WITH HIERARCHY OPTION syntax. What am I missing here?
regards, tom lane