Hi, Oleksandr!

On Jun 11, Oleksandr Byelkin wrote:
> Am 29.01.2018 um 01:02 schrieb Sergei Golubchik:
> > On Jan 28, Oleksandr Byelkin wrote:
> >> Hi, Sergei!
> >>
> >> Flag in SELECT_LEX options dropped at the end of execution (in our case
> >> prepare). All commands where EXPLAIN is possible restore the flag in main
> >> SELECT_LEX (in mysql_explain_union())  except UPDATE (because it do
> >> not use mysql_explain_union()
> >> for explain). Without the flag it first try to send OK (as part of update)
> >> then EOF as part of EXPLAIN.
> > Ok.
> >
> > 1. Why does it not use mysql_explain_union() ?
> It is question to them who made explain for non SELECT statements 
> (probably Sergey Petrunia) as I can see it just have a bit different 
> call pathes.

So all UPDATE/DELETE restore the flag, and only multi-update didn't?
What about multi-delete?

Better to add tests with PREPARE and all non-select explainable
commands to test it and to make sure it won't break in the future.

> > 2. Why EXPLAIN flag is need to be removed and restored anyway?
> 
> Because it is how our EXPLAIN works (written without taking into account 
> re-execution). If remove the flag cleanup it will change output of 
> prepared explain EXPLAIN.

Yes, I understand why the flag has to be restored.
But why it has to be removed?

Regards,
Sergei
Chief Architect MariaDB
and secur...@mariadb.org

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to