summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <ingo@mysql.com>2004-12-23 21:45:10 +0100
committerunknown <ingo@mysql.com>2004-12-23 21:45:10 +0100
commit8d11c01c595261c9c742356c0152c2152b847db9 (patch)
tree2278239c23c9cfa8abc2cfb833b598df01227ee8 /sql/mysqld.cc
parentdd6981f4d01072cbc5fa898bd6c42b54ffbb0fcf (diff)
downloadmariadb-git-8d11c01c595261c9c742356c0152c2152b847db9.tar.gz
WL#2126 - Multi_read_range.
Added the required structures and functions for handing over multiple key ranges to the table handler. include/my_base.h: WL#2126 - Multi_read_range. Moved key range flags from sql/opt_range.h to here. Added the multi-range structure. sql/handler.cc: WL#2126 - Multi_read_range. Added the new table handler methods. sql/handler.h: WL#2126 - Multi_read_range. Added a new table flag. Added a declaration for the handler buffer. Added new elements to class handler. Added new function declarations. sql/mysqld.cc: WL#2126 - Multi_read_range. Added an option to set new system variable 'multi_range_count'. sql/opt_range.cc: WL#2126 - Multi_read_range. Added initialization for the new class members. Added initialization for the extended get_next(). Added de-initialization for the allocated buffers. Added a buffer allocation method. Added an inner loop to collect multiple ranges. Adapted range collection loops to the new initialization. sql/opt_range.h: WL#2126 - Multi_read_range. Moved key range flags from here to include/my_base.h. Added new elements to class QUICK_RANGE_SELECT. Added a copy constructor. sql/records.cc: WL#2126 - Multi_read_range. Added a call of the allocation method. sql/set_var.cc: WL#2126 - Multi_read_range. Added the new system variable 'multi_range_count'. sql/sql_class.h: WL#2126 - Multi_read_range. Added the new system variable 'multi_range_count'.
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 8eec97efd81..34b1fbcd364 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -4141,7 +4141,7 @@ enum options_mysqld
OPT_MAX_SEEKS_FOR_KEY, OPT_MAX_TMP_TABLES, OPT_MAX_USER_CONNECTIONS,
OPT_MAX_LENGTH_FOR_SORT_DATA,
OPT_MAX_WRITE_LOCK_COUNT, OPT_BULK_INSERT_BUFFER_SIZE,
- OPT_MAX_ERROR_COUNT, OPT_MYISAM_DATA_POINTER_SIZE,
+ OPT_MAX_ERROR_COUNT, OPT_MULTI_RANGE_COUNT, OPT_MYISAM_DATA_POINTER_SIZE,
OPT_MYISAM_BLOCK_SIZE, OPT_MYISAM_MAX_EXTRA_SORT_FILE_SIZE,
OPT_MYISAM_MAX_SORT_FILE_SIZE, OPT_MYISAM_SORT_BUFFER_SIZE,
OPT_NET_BUFFER_LENGTH, OPT_NET_RETRY_COUNT,
@@ -5137,6 +5137,11 @@ The minimum value for this variable is 4096.",
"After this many write locks, allow some read locks to run in between.",
(gptr*) &max_write_lock_count, (gptr*) &max_write_lock_count, 0, GET_ULONG,
REQUIRED_ARG, ~0L, 1, ~0L, 0, 1, 0},
+ {"multi_range_count", OPT_MULTI_RANGE_COUNT,
+ "Number of key ranges to request at once.",
+ (gptr*) &global_system_variables.multi_range_count,
+ (gptr*) &max_system_variables.multi_range_count, 0,
+ GET_ULONG, REQUIRED_ARG, 256, 1, ~0L, 0, 1, 0},
{"myisam_block_size", OPT_MYISAM_BLOCK_SIZE,
"Block size to be used for MyISAM index pages.",
(gptr*) &opt_myisam_block_size,