From: Date: May 10 2008 4:12am Subject: bk commit into 6.0 tree (sergefp:1.2643) BUG#36639 List-Archive: http://lists.mysql.com/commits/46586 X-Bug: 36639 Message-Id: <20080510021253.44B6525EE09@pslp.localdomain> Below is the list of changes that have just been committed into a local 6.0 repository of sergefp. When sergefp does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2008-05-10 06:12:44+04:00, sergefp@stripped +2 -0 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 sql/opt_range.cc@stripped, 2008-05-10 06:12:37+04:00, sergefp@stripped +4 -0 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@stripped, 2008-05-10 06:12:38+04:00, sergefp@stripped +1 -12 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 diff -Nrup a/sql/opt_range.cc b/sql/opt_range.cc --- a/sql/opt_range.cc 2008-05-03 07:32:02 +04:00 +++ b/sql/opt_range.cc 2008-05-10 06:12:37 +04:00 @@ -8707,6 +8707,10 @@ QUICK_SELECT_DESC::QUICK_SELECT_DESC(QUI :QUICK_RANGE_SELECT(*q), rev_it(rev_ranges) { QUICK_RANGE *r; + /* Reverse MRR scans are currently not supported */ + mrr_buf_desc= NULL; + mrr_flags |= HA_MRR_USE_DEFAULT_IMPL; + mrr_buf_size= 0; QUICK_RANGE **pr= (QUICK_RANGE**)ranges.buffer; QUICK_RANGE **end_range= pr + ranges.elements; diff -Nrup a/sql/opt_range.h b/sql/opt_range.h --- a/sql/opt_range.h 2007-11-07 15:32:02 +03:00 +++ b/sql/opt_range.h 2008-05-10 06:12:38 +04:00 @@ -343,18 +343,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)); - /* - Use default MRR implementation for reverse scans. No table engine - currently can do an MRR scan with output in reverse index order. - */ - mrr_buf_desc= NULL; - mrr_flags |= HA_MRR_USE_DEFAULT_IMPL; - mrr_buf_size= 0; - } + /* Default copy ctor used by QUICK_SELECT_DESC */ friend class TRP_ROR_INTERSECT; friend QUICK_RANGE_SELECT *get_quick_select_for_ref(THD *thd, TABLE *table,