List:Commits« Previous MessageNext Message »
From:Olav Sandstaa Date:April 11 2011 9:35am
Subject:bzr commit into mysql-trunk branch (olav.sandstaa:3361) Bug#12321461
View as plain text  
#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:
      sql/handler.cc
=== 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. 
   */
+  /*
   DBUG_ASSERT(!h->pushed_idx_cond ||
               h->pushed_idx_cond_keyno == h->active_index ||
               h->pushed_idx_cond_keyno != table->s->primary_key);
+  */
 
   rowids_buf= buf->buffer;
 


Attachment: [text/bzr-bundle] bzr/olav.sandstaa@oracle.com-20110411093534-4odxrt9fhcl6rj8c.bundle
Thread
bzr commit into mysql-trunk branch (olav.sandstaa:3361) Bug#12321461Olav Sandstaa11 Apr