diff options
author | Igor Babaev <igor@askmonty.org> | 2018-10-07 12:16:59 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2018-10-07 12:18:38 -0700 |
commit | d03581bf3cc4afa397f9780eb63e568c8241dd0c (patch) | |
tree | d52291b3e49fbaee872d8088979b11e6cb64e762 /sql/sql_time.cc | |
parent | 52f326cfb7fb1b029c119feb77281f37139abe27 (diff) | |
download | mariadb-git-d03581bf3cc4afa397f9780eb63e568c8241dd0c.tar.gz |
MDEV-17360 Server crashes in optimize_keyuse
This was a bug in the code of MDEV-12387 "Push conditions into materialized
subqueries". The bug manifested itself in rather rare situations. An
affected query must contain IN subquery predicate whose left operand
was an outer field of a mergeable derived table or view and right operand
was a materialized subquery.
The erroneous code in fact stripped off the Item_direct_ref wrapper from
the left operand of the IN subquery predicate when building equalities
produced by the conversion of the predicate into a semi-join. As a result
the left operand was not considered as an outer reference anymore and
used_tables() was calculated incorrectly. This caused a crash in the
function optimize_keyuse().
Diffstat (limited to 'sql/sql_time.cc')
0 files changed, 0 insertions, 0 deletions