diff options
author | unknown <timour@askmonty.org> | 2012-05-18 14:52:01 +0300 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2012-05-18 14:52:01 +0300 |
commit | e5bca74bfb47a1c45c995573fd58b1a751ccd884 (patch) | |
tree | 3c46da363263a383686012bcfd706a4940ed630d /sql/item_cmpfunc.cc | |
parent | da5214831d3d0f0880b4068a06ce062ca703293f (diff) | |
download | mariadb-git-e5bca74bfb47a1c45c995573fd58b1a751ccd884.tar.gz |
Fixed bug mdev-277 as part of the fix for lp:944706
The cause for this bug is that the method JOIN::get_examined_rows iterates over all
JOIN_TABs of the join assuming they are just a sequence. In the query above, the
innermost subquery is merged into its parent query. When we call
JOIN::get_examined_rows for the second-level subquery, the iteration that
assumes sequential order of join tabs goes outside the join_tab array and calls
the method JOIN_TAB::get_examined_rows on uninitialized memory.
The fix is to iterate over JOIN_TABs in a way that takes into account the nested
semi-join structure of JOIN_TABs. In particular iterate as select_describe.
Diffstat (limited to 'sql/item_cmpfunc.cc')
0 files changed, 0 insertions, 0 deletions