summaryrefslogtreecommitdiff
path: root/sql/opt_subselect.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2011-09-26 13:56:09 +0400
committerSergey Petrunya <psergey@askmonty.org>2011-09-26 13:56:09 +0400
commit4908d27b57ee00dba3694e300a858b0fcdb224ee (patch)
tree893ad6d892fc772b47b41fe5f1b6991eff15c939 /sql/opt_subselect.cc
parent9ea133fb3be4c46741e059ab78118f75afe791a1 (diff)
downloadmariadb-git-4908d27b57ee00dba3694e300a858b0fcdb224ee.tar.gz
BUG#858732: Wrong result with semijoin + loosescan + comma join
- Fix wrong loop bounds in setup_semijoin_dups_elimination()
Diffstat (limited to 'sql/opt_subselect.cc')
-rw-r--r--sql/opt_subselect.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc
index beeb0ac878e..7ac09eaa434 100644
--- a/sql/opt_subselect.cc
+++ b/sql/opt_subselect.cc
@@ -3834,7 +3834,7 @@ int setup_semijoin_dups_elimination(JOIN *join, ulonglong options,
{
/* We jump from the last table to the first one */
tab->loosescan_match_tab= tab + pos->n_sj_tables - 1;
- for (uint j= i; j < pos->n_sj_tables; j++)
+ for (uint j= i; j < i + pos->n_sj_tables; j++)
join->join_tab[j].inside_loosescan_range= TRUE;
/* Calculate key length */