From: Date: August 25 2008 7:20pm Subject: bzr push into mysql-5.0 branch (sergefp:2676 to 2677) Bug#36639 List-Archive: http://lists.mysql.com/commits/52596 X-Bug: 36639 Message-Id: <20080825172005.9314415A0CF@pslp2.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7BIT 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 2676 Ramil Kalimullin 2008-08-26 Fix for bug#37277: Potential crash when a spatial index isn't the first key Typo fixed. No test case as we actually don't use rtree_get_first() and rtree_get_next() at present. modified: myisam/rt_index.c === 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 */ };