From 005c24e9739f1050e846cef8a3e75c4671b30a7b Mon Sep 17 00:00:00 2001 From: Sergey Petrunya Date: Thu, 27 Aug 2009 01:01:40 +0400 Subject: MWL#17: Table elimination: - Fix a trivial problem when OR-merging two multi-equalities - Amend testsuite to provide full gcov coverage mysql-test/r/table_elim.result: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage mysql-test/t/table_elim.test: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage --- sql/opt_table_elimination.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'sql/opt_table_elimination.cc') diff --git a/sql/opt_table_elimination.cc b/sql/opt_table_elimination.cc index 1b916db2b25..6c517fa7842 100644 --- a/sql/opt_table_elimination.cc +++ b/sql/opt_table_elimination.cc @@ -654,7 +654,7 @@ Equality_module *merge_func_deps(Equality_module *start, Equality_module *new_fi List *fv; if (!(fv= new List)) - break; + break; /* purecov: inspected */ List_iterator it1(*old->mult_equal_fields); List_iterator it2(*new_fields->mult_equal_fields); @@ -664,7 +664,11 @@ Equality_module *merge_func_deps(Equality_module *start, Equality_module *new_fi while (lfield && rfield) { if (lfield == rfield) + { fv->push_back(lfield); + lfield=it1++; + rfield=it2++; + } else { uint left_ratio= lfield->field->table->tablenr*MAX_FIELDS + -- cgit v1.2.1