Gleb Shchepa a écrit, Le 25.05.2011 16:20:
> Hello Guilhem,
> On 04/29/2011 12:41 AM, Guilhem Bichot wrote:
>> Hello Gleb,
>> I'll be sending multiple mails over time, here are just a few first
>> I have prefixed each point with "GB" and a sequence number. The number
>> will make it easy to reference a point in another email. "GB" is used to
>> spot comments in the middle of hundreds of diff lines.
>> Gleb Shchepa a écrit, Le 01.04.2011 15:54:
>>> #At file:///mnt/sda7/work/mysql-next-mr-opt-backporting-wl4897/ based
>>> on revid:tor.didriksen@stripped
>>> 3358 Gleb Shchepa 2011-04-01
>>> WL#4897: Add EXPLAIN INSERT/UPDATE/DELETE
>> GB2 The WL says
>> "The user must have:
>> 1) SELECT privilege for any referenced tables,
>> 2) EXECUTE privilege for any referenced functions, in 'statement',
>> 3) for every modifying table:
>> a) for EXPLAIN INSERT: INSERT privilege,
>> b) for EXPLAIN REPLACE: INSERT & DELETE privilege,
>> c) for EXPLAIN UPDATE: UPDATE privilege,
>> d) for EXPLAIN DELETE: DELETE privilege."
>> Actually, even though the list above is a very good "executive summary",
>> what is checked for INSERT/etc is complicated. If the query contains
>> LOAD_FILE(), FILE privilege is checked. Sometimes a privilege on the
>> column-to-be-updated is enough, we don't require the privilege on all
>> columns. So instead of describing again what INSERT/UPDATE/etc require,
>> I suggest deleting this list above, leaving
>> "the user must have the same privileges as would be required
>> to actually execute INSERT/REPLACE/UPDATE/DELETE respectively"
>> and adding
>> "additionally SHOW VIEW privilege is needed on any used view".
>> And also a mention (in the LLD?) that all this is achieved by having
>> EXPLAIN simply going through the same code paths as INSERT/REPLACE/etc.
Thanks. Please don't forget to update the WL.