Fixed bug mdev-6292.

Avoided exponential recursive calls of JOIN_CACHE::join_records() in the case
of non-nested outer joins.
A different solution is required to resolve this performance problem for
nested outer joins.
This commit is contained in:
Igor Babaev 2014-09-09 16:44:54 -07:00
commit 5023bb899d
5 changed files with 283 additions and 5 deletions

View file

@ -2087,7 +2087,7 @@ enum_nested_loop_state JOIN_CACHE::join_records(bool skip_last)
goto finish;
if (outer_join_first_inner)
{
if (next_cache)
if (next_cache && join_tab != join_tab->last_inner)
{
/*
Ensure that all matches for outer records from join buffer are to be