From: Sergey Glukhov Date: October 28 2011 9:46am Subject: bzr push into mysql-trunk branch (sergey.glukhov:3434 to 3435) Bug#11747423 List-Archive: http://lists.mysql.com/commits/141633 X-Bug: 11747423 Message-Id: <201110280948.p9S9mXPE007173@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3435 Sergey Glukhov 2011-10-28 Additional fix for Bug#11747423: 32254: INDEX MERGE USED UNNECESSARILY fixed mistake which was done during porting the fix into trunk (opposite logic, wrong object type). @ mysql-test/suite/opt_trace/r/range_no_prot.result result fix @ mysql-test/suite/opt_trace/r/range_ps_prot.result result fix @ sql/sql_select.cc fixed mistake which was done during porting the fix into trunk (opposite logic, wrong object type). modified: mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/range_ps_prot.result sql/sql_select.cc 3434 Tor Didriksen 2011-10-28 Bug#11747423 post-push fix: change of plans modified: mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/range_ps_prot.result === modified file 'mysql-test/suite/opt_trace/r/range_no_prot.result' --- a/mysql-test/suite/opt_trace/r/range_no_prot.result 2011-10-28 09:25:48 +0000 +++ b/mysql-test/suite/opt_trace/r/range_no_prot.result 2011-10-28 09:45:28 +0000 @@ -5859,7 +5859,8 @@ EXPLAIN SELECT MAX(b), a FROM t1 WHERE b }, { "access_type": "range", - "cause": "covering_index_better_than_full_scan", + "rows": 1, + "cost": 1.2, "chosen": false } ] /* considered_access_paths */ === modified file 'mysql-test/suite/opt_trace/r/range_ps_prot.result' --- a/mysql-test/suite/opt_trace/r/range_ps_prot.result 2011-10-28 09:25:48 +0000 +++ b/mysql-test/suite/opt_trace/r/range_ps_prot.result 2011-10-28 09:45:28 +0000 @@ -5859,7 +5859,8 @@ EXPLAIN SELECT MAX(b), a FROM t1 WHERE b }, { "access_type": "range", - "cause": "covering_index_better_than_full_scan", + "rows": 1, + "cost": 1.2, "chosen": false } ] /* considered_access_paths */ === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-10-27 08:43:56 +0000 +++ b/sql/sql_select.cc 2011-10-28 09:45:28 +0000 @@ -8064,8 +8064,8 @@ best_access_path(JOIN *join, if ((s->table->file->ha_table_flags() & HA_TABLE_SCAN_ON_INDEX) && //(3) !s->table->covering_keys.is_clear_all() && best_key && //(3) (!s->quick || //(3) - !(s->quick->get_type() == QUICK_SELECT_I::QS_TYPE_INDEX_MERGE && //(3) - best > s->quick->read_time))) //(3) + (s->quick->get_type() == QUICK_SELECT_I::QS_TYPE_ROR_INTERSECT &&//(3) + best < s->quick->read_time))) //(3) { trace_access_scan.add_alnum("access_type", s->quick ? "range" : "scan"). add_alnum("cause", "covering_index_better_than_full_scan"); No bundle (reason: useless for push emails).