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-01-29 20:25:33+03:00, sergefp@stripped +4 -0
BUG#30221 "log_tables.test fails on Windows"
The problem was that for LIMIT queries handler->index_end() was not called,
and DS-MRR scan was not properly de-initialized, which caused leaks of file
descriptors in MyISAM.
Fix: Call ds_mrr.dsmrr_close() also in handler->reset().
mysql-test/t/disabled.def@stripped, 2008-01-29 20:25:10+03:00, sergefp@stripped +0 -1
BUG#30221 "log_tables.test fails on Windows"
- Re-enable the testcase
sql/handler.h@stripped, 2008-01-29 20:25:10+03:00, sergefp@stripped +1 -1
BUG#30221 "log_tables.test fails on Windows"
- Initialize DsMrr_impl::h2 (the secondary handler)
storage/innobase/handler/ha_innodb.cc@stripped, 2008-01-29 20:25:10+03:00,
sergefp@stripped +1 -1
BUG#30221 "log_tables.test fails on Windows"
- Call ds_mrr.dsmrr_close() in ha_innobase::reset()
storage/myisam/ha_myisam.cc@stripped, 2008-01-29 20:25:11+03:00, sergefp@stripped +1 -0
BUG#30221 "log_tables.test fails on Windows"
- Call ds_mrr.dsmrr_close() in ha_myisam::reset()
diff -Nrup a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def
--- a/mysql-test/t/disabled.def 2008-01-19 22:14:21 +03:00
+++ b/mysql-test/t/disabled.def 2008-01-29 20:25:10 +03:00
@@ -14,7 +14,6 @@ concurrent_innodb : BUG#21579 200
##order_by : WL#2475: spetrunia producing ordered streams is not handled
correctly
federated_transactions : Bug#29523 Transactions do not work
subselect2 : BUG#31464 SergeyP will fix
-log_tables : BUG#31580 1007-10-13 SergeyP log_tables.test fails on all windows platforms
in pushbuild
show_check : Bug #32682 Test show_check fails in 6.0
events : Bug#32664 events.test fails randomly
lowercase_table3 : Bug#32667 lowercase_table3.test reports to error log
diff -Nrup a/sql/handler.h b/sql/handler.h
--- a/sql/handler.h 2008-01-11 01:08:49 +03:00
+++ b/sql/handler.h 2008-01-29 20:25:10 +03:00
@@ -2227,7 +2227,7 @@ public:
typedef void (handler::*range_check_toggle_func_t)(bool on);
DsMrr_impl()
- : use_default_impl(TRUE) {};
+ : h2(NULL), use_default_impl(TRUE) {};
handler *h; /* The "owner" handler object. It is used for scanning the index */
TABLE *table; /* Always equal to h->table */
diff -Nrup a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
--- a/storage/innobase/handler/ha_innodb.cc 2008-01-11 01:08:50 +03:00
+++ b/storage/innobase/handler/ha_innodb.cc 2008-01-29 20:25:10 +03:00
@@ -6345,7 +6345,7 @@ int ha_innobase::reset()
/* Reset index condition pushdown state */
pushed_idx_cond_keyno= MAX_KEY;
pushed_idx_cond= NULL;
- //in_range_read= FALSE;
+ ds_mrr.dsmrr_close();
prebuilt->idx_cond_func= NULL;
return 0;
}
diff -Nrup a/storage/myisam/ha_myisam.cc b/storage/myisam/ha_myisam.cc
--- a/storage/myisam/ha_myisam.cc 2008-01-11 01:08:50 +03:00
+++ b/storage/myisam/ha_myisam.cc 2008-01-29 20:25:11 +03:00
@@ -1702,6 +1702,7 @@ int ha_myisam::reset(void)
pushed_idx_cond= NULL;
pushed_idx_cond_keyno= MAX_KEY;
mi_set_index_cond_func(file, NULL, 0);
+ ds_mrr.dsmrr_close();
return mi_reset(file);
}