summaryrefslogtreecommitdiff
path: root/sql/sql_join_cache.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2010-06-05 22:43:27 +0400
committerSergey Petrunya <psergey@askmonty.org>2010-06-05 22:43:27 +0400
commitef27f6c33979d669291ac77d0be777bf16a82e7e (patch)
tree6a8da7c1ddbcc129c1129ee21ebc4cbc4b18b5ff /sql/sql_join_cache.cc
parent6c351cd810e0a3dcf40c2e62a9f0ed8ccd170537 (diff)
downloadmariadb-git-ef27f6c33979d669291ac77d0be777bf16a82e7e.tar.gz
Buildbot fixes:
- Make join buffering take into account that join_tabs are not a single linear array anymore - Remove outer join + SJ-Materialization crash (OJ+SJ the processing is most likely still incorrect)
Diffstat (limited to 'sql/sql_join_cache.cc')
-rw-r--r--sql/sql_join_cache.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_join_cache.cc b/sql/sql_join_cache.cc
index bf77239ce74..a4db80b29a1 100644
--- a/sql/sql_join_cache.cc
+++ b/sql/sql_join_cache.cc
@@ -1830,7 +1830,8 @@ enum_nested_loop_state JOIN_CACHE_BNL::join_matching_records(bool skip_last)
join_tab->select->quick= 0;
}
- for (tab= join->join_tab; tab != join_tab ; tab++)
+ //for (tab= join->join_tab; tab != join_tab ; tab++)
+ for (tab= start_tab ; tab != join_tab ; tab= next_linear_tab(join, tab, TRUE))
{
tab->status= tab->table->status;
tab->table->status= 0;
@@ -1894,7 +1895,8 @@ enum_nested_loop_state JOIN_CACHE_BNL::join_matching_records(bool skip_last)
if (error > 0) // Fatal error
rc= NESTED_LOOP_ERROR;
finish:
- for (tab= join->join_tab; tab != join_tab ; tab++)
+ //for (tab= join->join_tab; tab != join_tab ; tab++)
+ for (tab= start_tab ; tab != join_tab ; tab= next_linear_tab(join, tab, TRUE))
tab->table->status= tab->status;
return rc;
}