From: Georgi Kodinov Date: May 28 2009 12:08pm Subject: bzr commit into mysql-5.1-bugteam branch (joro:2905) Bug#36259 List-Archive: http://lists.mysql.com/commits/75135 X-Bug: 36259 Message-Id: <200905281208.n4SC8P3b010370@magare.gmz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1752028648485422541==" --===============1752028648485422541== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/kgeorge/mysql/work/B36259-5.1-bugteam/ based on revid:gshchepa@stripped 2905 Georgi Kodinov 2009-05-28 Bug #36259 : proof-of-concept fix (not final!). Don't accept unconditionally (without comparing the cost) clustered ordering indexes. modified: sql/sql_select.cc === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2009-05-15 13:25:29 +0000 +++ b/sql/sql_select.cc 2009-05-28 12:08:19 +0000 @@ -13124,9 +13124,9 @@ test_if_skip_sort_order(JOIN_TAB *tab,OR if (keys.is_set(nr) && (direction= test_if_order_by_key(order, table, nr, &used_key_parts))) { - bool is_covering= table->covering_keys.is_set(nr) || - nr == table->s->primary_key && - table->file->primary_key_is_clustered(); + bool is_clustered= nr == table->s->primary_key && + table->file->primary_key_is_clustered(); + bool is_covering= table->covering_keys.is_set(nr) || is_clustered; /* Don't use an index scan with ORDER BY without limit. @@ -13203,7 +13203,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,OR */ index_scan_time= select_limit/rec_per_key * min(rec_per_key, table->file->scan_time()); - if (is_covering || + if ((is_covering && !is_clustered) || ref_key < 0 && (group || table->force_index) || index_scan_time < read_time) { --===============1752028648485422541== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/joro@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: joro@stripped # target_branch: file:///home/kgeorge/mysql/work/B36259-5.1-bugteam/ # testament_sha1: dd81346370569f2a0bb7769cc534698cb0129a86 # timestamp: 2009-05-28 15:08:25 +0300 # base_revision_id: gshchepa@stripped # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWUOk7WEAAbx/gEUQAAJ54/// VogAAL////RQBE13eoHQhV10HCUQhpNNMgap7Cniap7STynpPUbU9GUaHqDIo0U3kxUZpMmTTR+o AIBiNomgRNQynpMjRgjQYTRgQZMQGAMkKaNND1DTE0PUAAAABoAkkJiABRgmFMxU/RT0n6kbQI0e nqk8KUT022eGdeFY+uKrW9GCpnXyplc5UJlCyTyaxluSEExIAGAFO+A3UHwK6HjcIiT5WS5I4g0L DZkCopFC02Y42ZVYdpT20Mv7j284crfsutSAUjUkqMlWia7bbhVRS6BytaCp+NZIgcEHlJUkTYkK YFMl1PNE58EROjHtBDbCGcV2KDOkFGCa9ea81h5QGasL4R+CI2qCWqqdqZ5C44Q8cfvoHD95TyzE TQ87yTxSEehcRKPhUK9NQxZBDO0CXcrjTYH9gpzMBWLCjHXYHegYVaFjQPGmsT17EJF5/thEctq3 9a6khjUpCuTYNDYOggvLh49goPCV46CyYMBiZol7RopKtt/xuNLK9plixxTeNhtLbS6cmyLDI9z3 0iaF207n2rAw3ZXEQgwsjC6vSrTKgiUkDgd3gaDZO0ncOVdJINJwTz9NUVTLjd7Y9CBUsi0mYG4+ SvvMtMthiJwnnQUKsyIXRceSdQ8iDxOwpEaIYjDxiBKk2rujFs2HxKSo1pIEEf0vMfU4qJ0Uh2c7 Z6Mg3grotioN1Ydj04vocSZ7+iPRcwH4tkw4/L3ErKRVLCZYs3BCjnvToyOJQHA4Hkal2kuRfC6w 2Bf1aDE4W6Zpbkc8y81ixOhyMtJvMFarfubN+1FfNiRaPp8R5xVHr6kZt4V6lJ9n6B1SRvJTdQce JwX1EwY1zTJnDysWskSW6LwmwsbqKkbqt5Khmr53ja1JMfmbR2Y3SDgla1LtKExyPRriyspPNIO6 Kh/pUeU6ZhHvcpUHS400JESgPjSdIIqM9goxN59WG0qIifrju8wiouamFm1ya0UzGIjPlPujO0fK 0332C2gqpbG1GdCgL2kxPXxEcfnQa8DvRSRNb8QdbQif43QozApvu/ugm3W4DOzm8ny8vVP1T1Lk Ws4CSaE3ihYOMO4Zk4oxNBDMKqpipcm553iaxIhI4JxjwgZaJc5im/QPv91TQXgN5hQFaOG8sXRe eIWEBXokvsbngZU1nSJQKCEXAov2IpgWi7OdhATGxCn2YBx6y1DC9AyvuXMX0A5UFuuF/3mnN0DK bjzASlIstIKgM1Qj4s9Q5zgl94dVvwSs1w8mkpBsZyPOgVnW65k+UpVjibEEFX2cBrjJg4SKGHuJ jZQxqWsfUNmJzZli1NQ4cc1QA6Kmepm2Fic4qLm1IsD0AbHtCOZLFsl1iLP41GP0NfZq3y73ogTb T9cOhAhEKxQZPcMW8Zf58POkCprERzFfaPZMofxxNAFx+Bc+kT5eHd30ordpZnuX2MGyIyt5g2Cj OVHg2H/F3JFOFCQQ6TtYQA== --===============1752028648485422541==--