770331e...
by
Lena Startseva <email address hidden>
MDEV-29390: Improve coverage for UPDATE and DELETE statements in MTR test suites
For the update_use_source.test tests, data recovery in the table has been changed
from a rollback transaction to a complete delete and re-insert of the data with
optimaze table. Cases are now being checked on three engines.
156e1ab...
by
Lena Startseva <email address hidden>
MDEV-29390: Improve coverage for UPDATE and DELETE statements in MTR test suites
Update tests for update/delete with LooseScan and DuplicateWeedout optimization startegies
(input data changed)
4e8cbd7...
by
Lena Startseva <email address hidden>
MDEV-29390: Improve coverage for UPDATE and DELETE statements in MTR test suites
Added tests for update/delete with LooseScan and DuplicateWeedout optimization startegies
a6ea770...
by
Lena Startseva <email address hidden>
MDEV-29390: Improve coverage for UPDATE and DELETE statements in MTR test suites
Created tests for "delete" based on update_use_source.test
MDEV-7487 Semi-join optimization for single-table update/delete statements
This patch allows to use semi-join optimization at the top level of
single-table update and delete statements.
The problem of supporting such optimization became easy to resolve after
processing a single-table update/delete statement started using JOIN
structure. This allowed to use JOIN::prepare() not only for multi-table
updates/deletes but for single-table ones as well. This was done in the
patch for mdev-28883:
Re-design the upper level of handling UPDATE and DELETE statements.
Note that JOIN::prepare() detects all subqueries that can be considered
as candidates for semi-join optimization. The code added by this patch
looks for such candidates at the top level and if such candidates are found
in the processed single-table update/delete the statement is handled in
the same way as a multi-table update/delete.
Approved by Oleksandr Byelkin <email address hidden>
MDEV-29189 Crash of the second execution of SF using DELETE/UPDATE
This bug caused a crash of the server at the second execution of a stored
function that used DELETE or UPDATE statement if the first execution
of this function reported an error encountered after the prepare phase.
This happened because in such cases the executed DELETE/UPDATE statement
remained marked as prepared. As a result the second execution of SF missed
the prepare phase for the statement altogether and the statement could not
be executed properly.
Approved by Oleksandr Byelkin <email address hidden>