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,