Below is the list of changes that have just been committed into a local
5.2 repository of psergey. When psergey 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, 2007-03-10 02:40:00+03:00, sergefp@stripped +5 -0
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
sql/handler.cc@stripped, 2007-03-10 02:39:56+03:00, sergefp@stripped +1 -0
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
sql/handler.h@stripped, 2007-03-10 02:39:56+03:00, sergefp@stripped +2 -2
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
sql/opt_range.cc@stripped, 2007-03-10 02:39:56+03:00, sergefp@stripped +2 -0
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
storage/innobase/handler/ha_innodb.cc@stripped, 2007-03-10 02:39:56+03:00,
sergefp@stripped +5 -3
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
storage/myisam/ha_myisam.cc@stripped, 2007-03-10 02:39:56+03:00, sergefp@stripped +4 -3
WL#2475: "Batched range read functions for MyISAM/InnoDb"
- fix compiler warnings
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: sergefp
# Host: pylon.mylan
# Root: /home/psergey/mysql-5.2-mymrr-r55
--- 1.212/storage/myisam/ha_myisam.cc 2007-03-10 02:40:11 +03:00
+++ 1.213/storage/myisam/ha_myisam.cc 2007-03-10 02:40:11 +03:00
@@ -446,9 +446,10 @@
HA_NEED_READ_RANGE_BUFFER | HA_MRR_CANT_SORT),
can_enable_indexes(1),
cond_keyno(MAX_KEY),
- ds_mrr(this, (DsMrr_impl::range_check_toggle_func_t)
- &ha_myisam::toggle_range_check)
-{}
+ ds_mrr((DsMrr_impl::range_check_toggle_func_t)&ha_myisam::toggle_range_check)
+{
+ ds_mrr.h= this;
+}
handler *ha_myisam::clone(MEM_ROOT *mem_root)
{
--- 1.298/sql/handler.cc 2007-03-10 02:40:11 +03:00
+++ 1.299/sql/handler.cc 2007-03-10 02:40:11 +03:00
@@ -3293,6 +3293,7 @@
int result;
int range_res;
DBUG_ENTER("handler::multi_range_read_next");
+ LINT_INIT(result);
if (!mrr_have_range)
{
--- 1.253/sql/handler.h 2007-03-10 02:40:11 +03:00
+++ 1.254/sql/handler.h 2007-03-10 02:40:11 +03:00
@@ -1803,8 +1803,8 @@
public:
typedef void (handler::*range_check_toggle_func_t)(bool on);
- DsMrr_impl(handler *handler_par, range_check_toggle_func_t func)
- : last_idx_tuple(NULL), h(handler_par), range_check_toggle_func(func) {};
+ DsMrr_impl(range_check_toggle_func_t func)
+ : last_idx_tuple(NULL), range_check_toggle_func(func) {};
byte *rowids_buf; // rows buffer
byte *rowids_buf_cur; // current position in rowids buffer
--- 1.265/sql/opt_range.cc 2007-03-10 02:40:11 +03:00
+++ 1.266/sql/opt_range.cc 2007-03-10 02:40:11 +03:00
@@ -4615,6 +4615,8 @@
TRP_RANGE* read_plan= NULL;
DBUG_ENTER("get_key_scans_params");
LINT_INIT(best_records); /* protected by key_to_read */
+ LINT_INIT(best_mrr_flags); /* protected by key_to_read */
+ LINT_INIT(best_buf_size); /* protected by key_to_read */
/*
Note that there may be trees that have type SEL_TREE::KEY but contain no
key reads at all, e.g. tree for expression "key1 is not null" where key1
--- 1.324/storage/innobase/handler/ha_innodb.cc 2007-03-10 02:40:11 +03:00
+++ 1.325/storage/innobase/handler/ha_innodb.cc 2007-03-10 02:40:11 +03:00
@@ -920,10 +920,12 @@
HA_MRR_CANT_SORT),
start_of_scan(0),
num_write_row(0),
- ds_mrr(this, (DsMrr_impl::range_check_toggle_func_t)
- &ha_innobase::toggle_range_check),
+ ds_mrr((DsMrr_impl::range_check_toggle_func_t)
+ &ha_innobase::toggle_range_check),
cond_keyno(MAX_KEY)
-{}
+{
+ ds_mrr.h= this;
+}
/*************************************************************************
Updates the user_thd field in a handle and also allocates a new InnoDB
| Thread |
|---|
| • bk commit into 5.2 tree (sergefp:1.2474) | Sergey Petrunia | 10 Mar |