I wonder what the result of the following grant/revokes is according to the SQL standard. Suppose
A
created a table tab
and there are four users (i.e., A
, B
, C
and D
). The SQL commands are:
grant select on tab to B with grant option; (by A)
grant select on tab to C with grant option; (by B)
grant select on tab to B with grant option; (by C)
grant select on tab to D with grant option; (by A)
grant select on tab to C with grant option; (by D)
revoke select on tab from B; (by A)
In Posgresql, it complains that it is not allowed to grant a privilege to grantor. In MySQL, it is allowed and the privilege of B
is revoked although there is a path system
->A
->D
->C
->B
in the authorization graph. Therefore, I wonder what the standard say about this situation. Does it define how these commands are handled?
Asked by anotherme
(11 rep)
Mar 25, 2024, 05:15 PM
Last activity: Mar 25, 2024, 05:15 PM
Last activity: Mar 25, 2024, 05:15 PM