MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Sergey Petrunia Date:August 25 2008 5:03pm
Subject:bzr commit into mysql-5.0 branch (sergefp:2677) Bug#36639
View as plain text  
#At file:///home/spetrunia/dev/mysql-5.0-bugteam-bug36639/

 2677 Sergey Petrunia	2008-08-25
      BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind, commit into 5.0
      - Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
        bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64
modified:
  sql/opt_range.cc
  sql/opt_range.h

per-file messages:
  sql/opt_range.cc
    BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
    - Set QUICK_SELECT_DESC not to use MRR implementation (code moved to here
      from opt_range.h)
  sql/opt_range.h
    BUG#36639: subselect.test crashes on 64 bit pentium4 when compiled for valgrind
    - Use the compiler's default copy constructor for QUICK_RANGE_SELECT. 
      bcopy(this, copy, ...) call caused some odd action on gcc-4.1.2 on x86_64
=== modified file 'sql/opt_range.cc'
--- a/sql/opt_range.cc	2008-07-23 11:25:00 +0000
+++ b/sql/opt_range.cc	2008-08-25 17:02:54 +0000
@@ -7103,6 +7103,13 @@ QUICK_SELECT_DESC::QUICK_SELECT_DESC(QUI
   used_key_parts (used_key_parts_arg)
 {
   QUICK_RANGE *r;
+  /* 
+    Use default MRR implementation for reverse scans. No table engine
+    currently can do an MRR scan with output in reverse index order.
+  */
+  multi_range_length= 0;
+  multi_range= NULL;
+  multi_range_buff= NULL;
 
   QUICK_RANGE **pr= (QUICK_RANGE**)ranges.buffer;
   QUICK_RANGE **end_range= pr + ranges.elements;

=== modified file 'sql/opt_range.h'
--- a/sql/opt_range.h	2008-07-23 11:25:00 +0000
+++ b/sql/opt_range.h	2008-08-25 17:02:54 +0000
@@ -329,14 +329,7 @@ public:
   void dbug_dump(int indent, bool verbose);
 #endif
 private:
-  /* Used only by QUICK_SELECT_DESC */
-  QUICK_RANGE_SELECT(const QUICK_RANGE_SELECT& org) : QUICK_SELECT_I()
-  {
-    bcopy(&org, this, sizeof(*this));
-    multi_range_length= 0;
-    multi_range= NULL;
-    multi_range_buff= NULL;
-  }
+  /* Default copy ctor used by QUICK_SELECT_DESC */
 };
 
 

Thread
bzr commit into mysql-5.0 branch (sergefp:2677) Bug#36639Sergey Petrunia26 Aug