diff options
author | Igor Babaev <igor@askmonty.org> | 2021-04-22 20:02:08 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2021-04-22 20:02:08 -0700 |
commit | e3a25793be936d9682a711a00d6b4bf708b6fb8d (patch) | |
tree | 6f1047164d7df4499687d1e598d7b46128fcf200 /pcre | |
parent | 6f271302b649ee11e7987b46fe24824c2ca2be7c (diff) | |
download | mariadb-git-e3a25793be936d9682a711a00d6b4bf708b6fb8d.tar.gz |
MDEV-24823 Crash with invalid multi-table update of view in 2nd execution of SP
Before this patch mergeable derived tables / view used in a multi-table
update / delete were merged before the preparation stage.
When the merge of a derived table / view is performed the on expression
attached to it is fixed and ANDed with the where condition of the select S
containing this derived table / view. It happens after the specification of
the derived table / view has been merged into S. If the ON expression refers
to a non existing field an error is reported and some other mergeable derived
tables / views remain unmerged. It's not a problem if the multi-table
update / delete statement is standalone. Yet if it is used in a stored
procedure the select with incompletely merged derived tables / views may
cause a problem for the second call of the procedure. This does not happen
for select queries using derived tables / views, because in this case their
specifications are merged after the preparation stage at which all ON
expressions are fixed.
This patch makes sure that merging of the derived tables / views used in a
multi-table update / delete statement is performed after the preparation
stage.
Approved by Oleksandr Byelkin <sanja@mariadb.com>
Diffstat (limited to 'pcre')
0 files changed, 0 insertions, 0 deletions