#At file:///export/home/tmp/olav/mrr-init-bug/ based on revid:jorgen.loland@stripped
3361 Olav Sandstaa 2011-04-11
Initial patch for Bug#12321461 CRASH IN DSMRR_IMPL::DSMRR_INIT ON SELECT STRAIGHT_JOIN
This crash is caused by a too strict assert that was added in the patch
for Bug#58463. This assert crashes the server when using MyISAM and
the query uses ICP on a primary index in combination with MRR.
As an initial fix to avoid that this assert results in a lot
of unnecessary crashes during testing this patch disables the assert.
=== modified file 'sql/handler.cc'
--- a/sql/handler.cc 2011-03-28 08:10:39 +0000
+++ b/sql/handler.cc 2011-04-11 09:35:34 +0000
@@ -4778,10 +4778,18 @@ int DsMrr_impl::dsmrr_init(handler *h_ar
This assert will hit if we have pushed an index condition to the
primary key index and then "change our mind" and use a different
index for retrieving data with MRR.
+ This assert is too strict for the existing code. If an index
+ condition has been pushed on the primary index the existing code
+ does not clean up information about the pushed index condition when
+ the index scan is completed. Disables the assert until we have
+ a fix for better cleaning up after a pushed index condition.
h->pushed_idx_cond_keyno == h->active_index ||
h->pushed_idx_cond_keyno != table->s->primary_key);
Attachment: [text/bzr-bundle] firstname.lastname@example.org
|• bzr commit into mysql-trunk branch (olav.sandstaa:3361) Bug#12321461||Olav Sandstaa||11 Apr|