summaryrefslogtreecommitdiff
path: root/mysql-test/main/key.test
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2020-04-30 01:25:11 +0300
committerSergei Petrunia <psergey@askmonty.org>2020-04-30 01:25:11 +0300
commit793b100cc01228f01ead841d6c45f9e2b07786f9 (patch)
tree4b5d43df2d3ca1b0e8ae701e81410267cfbadb11 /mysql-test/main/key.test
parent7f03a93348ebc1b13b444f98533bdf79840d80b8 (diff)
downloadmariadb-git-bb-10.4-mdev22377.tar.gz
MDEV-22377: Subquery in an [UPDATE] query uses full scan instead of rangebb-10.4-mdev22377
When doing IN->EXISTS rewrite, Item_in_subselect::inject_in_to_exists_cond injects equalities into subquery's WHERE condition. The problem is that build_equal_items() has already been called for the subquery's WHERE, and tampering with the WHERE condition can prevent equality propagation from working. If the subquery's WHERE is an Item_cond_and with multiple equalities: - Item_equal objects form a suffix sub-list of the list in WHERE's Item_cond_and::list. The suffix is stored in JOIN::cond_equal->current_level. - Item_cond_and::m_cond_equal must also be preserved. This patch makes inject_in_to_exists_cond() not to break these properties
Diffstat (limited to 'mysql-test/main/key.test')
0 files changed, 0 insertions, 0 deletions