summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSatya B <satya.bn@sun.com>2009-12-17 17:15:13 +0530
committerSatya B <satya.bn@sun.com>2009-12-17 17:15:13 +0530
commit647a9558938cf8dedc8dd75e9a78d3af65c60206 (patch)
tree4c93c836980d7cf93eeacca6d20f05143aec86f5 /sql
parent7f7a1d545584ad30632234629946e23e8ceb8a1c (diff)
parent801deedcf265bd3fe90e45c93b37133b68a19ba9 (diff)
downloadmariadb-git-647a9558938cf8dedc8dd75e9a78d3af65c60206.tar.gz
merge mysql-5.0-bugteam to mysql-5.1-bugteam
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc5
-rw-r--r--sql/set_var.cc11
2 files changed, 16 insertions, 0 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index b145c5ace10..7bb357827c8 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5651,6 +5651,7 @@ enum options_mysqld
OPT_MYISAM_BLOCK_SIZE, OPT_MYISAM_MAX_EXTRA_SORT_FILE_SIZE,
OPT_MYISAM_MAX_SORT_FILE_SIZE, OPT_MYISAM_SORT_BUFFER_SIZE,
OPT_MYISAM_USE_MMAP, OPT_MYISAM_REPAIR_THREADS,
+ OPT_MYISAM_MMAP_SIZE,
OPT_MYISAM_STATS_METHOD,
OPT_NET_BUFFER_LENGTH, OPT_NET_RETRY_COUNT,
OPT_NET_READ_TIMEOUT, OPT_NET_WRITE_TIMEOUT,
@@ -6802,6 +6803,10 @@ The minimum value for this variable is 4096.",
(uchar**) &max_system_variables.myisam_max_sort_file_size, 0,
GET_ULL, REQUIRED_ARG, (longlong) LONG_MAX, 0, (ulonglong) MAX_FILE_SIZE,
0, 1024*1024, 0},
+ {"myisam_mmap_size", OPT_MYISAM_MMAP_SIZE,
+ "Can be used to restrict the total memory used for memory mmaping of myisam files",
+ (uchar**) &myisam_mmap_size, (uchar**) &myisam_mmap_size, 0,
+ GET_ULL, REQUIRED_ARG, SIZE_T_MAX, MEMMAP_EXTRA_MARGIN, SIZE_T_MAX, 0, 1, 0},
{"myisam_repair_threads", OPT_MYISAM_REPAIR_THREADS,
"Number of threads to use when repairing MyISAM tables. The value of 1 disables parallel repair.",
(uchar**) &global_system_variables.myisam_repair_threads,
diff --git a/sql/set_var.cc b/sql/set_var.cc
index b80bdde9670..3c6b259045d 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -147,6 +147,7 @@ static bool sys_update_general_log_path(THD *thd, set_var * var);
static void sys_default_general_log_path(THD *thd, enum_var_type type);
static bool sys_update_slow_log_path(THD *thd, set_var * var);
static void sys_default_slow_log_path(THD *thd, enum_var_type type);
+static uchar *get_myisam_mmap_size(THD *thd);
/*
Variable definition list
@@ -898,6 +899,10 @@ sys_var_str sys_var_slow_log_path(&vars, "slow_query_log_file", sys_check_log_pa
opt_slow_logname);
static sys_var_log_output sys_var_log_output_state(&vars, "log_output", &log_output_options,
&log_output_typelib, 0);
+static sys_var_readonly sys_myisam_mmap_size(&vars, "myisam_mmap_size",
+ OPT_GLOBAL,
+ SHOW_LONGLONG,
+ get_myisam_mmap_size);
bool sys_var::check(THD *thd, set_var *var)
@@ -3175,6 +3180,12 @@ static uchar *get_tmpdir(THD *thd)
return (uchar*)mysql_tmpdir;
}
+static uchar *get_myisam_mmap_size(THD *thd)
+{
+ return (uchar *)&myisam_mmap_size;
+}
+
+
/****************************************************************************
Main handling of variables:
- Initialisation