summaryrefslogtreecommitdiff
path: root/sql/set_var.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-10-16 03:08:40 +0300
committerunknown <monty@mashka.mysql.fi>2003-10-16 03:08:40 +0300
commitaff45e1b0733947abde48f712c1af64b4f2549a7 (patch)
treebd2eb4ac5dffdd3ac1af40b53a3680a0a9d78195 /sql/set_var.cc
parent893797be02d4dff2e1aafbdb98ac4e33b9726628 (diff)
parent0fc97bc9e5c6c0a4f380841b325f6f0647a90bb5 (diff)
downloadmariadb-git-aff45e1b0733947abde48f712c1af64b4f2549a7.tar.gz
merge with 4.0
BitKeeper/deleted/.del-MYSQL.ICO~d93519b5f0d6ee1: Auto merged client/client_priv.h: Auto merged extra/resolveip.c: Auto merged include/mysql.h: Auto merged include/thr_alarm.h: Auto merged myisam/myisamchk.c: Auto merged scripts/mysql_config.sh: Auto merged scripts/mysqld_safe.sh: Auto merged sql/slave.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_handler.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_test.cc: Auto merged
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r--sql/set_var.cc21
1 files changed, 15 insertions, 6 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 31ba1fee842..3100c951f68 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -90,6 +90,7 @@ static void fix_myisam_max_extra_sort_file_size(THD *thd, enum_var_type type);
static void fix_myisam_max_sort_file_size(THD *thd, enum_var_type type);
static void fix_max_binlog_size(THD *thd, enum_var_type type);
static void fix_max_relay_log_size(THD *thd, enum_var_type type);
+static void fix_max_connections(THD *thd, enum_var_type type);
static KEY_CACHE *create_key_cache(const char *name, uint length);
void fix_sql_mode_var(THD *thd, enum_var_type type);
static byte *get_error_count(THD *thd);
@@ -162,7 +163,8 @@ sys_var_long_ptr sys_max_binlog_size("max_binlog_size",
&max_binlog_size,
fix_max_binlog_size);
sys_var_long_ptr sys_max_connections("max_connections",
- &max_connections);
+ &max_connections,
+ fix_max_connections);
sys_var_long_ptr sys_max_connect_errors("max_connect_errors",
&max_connect_errors);
sys_var_long_ptr sys_max_delayed_threads("max_delayed_threads",
@@ -773,7 +775,7 @@ static void fix_max_join_size(THD *thd, enum_var_type type)
thd->options&= ~OPTION_BIG_SELECTS;
}
}
-
+
/*
If one doesn't use the SESSION modifier, the isolation level
@@ -841,7 +843,7 @@ static void fix_query_cache_min_res_unit(THD *thd, enum_var_type type)
#endif
-void fix_delay_key_write(THD *thd, enum_var_type type)
+extern void fix_delay_key_write(THD *thd, enum_var_type type)
{
switch ((enum_delay_key_write) delay_key_write_options) {
case DELAY_KEY_WRITE_NONE:
@@ -857,7 +859,7 @@ void fix_delay_key_write(THD *thd, enum_var_type type)
}
}
-void fix_max_binlog_size(THD *thd, enum_var_type type)
+static void fix_max_binlog_size(THD *thd, enum_var_type type)
{
DBUG_ENTER("fix_max_binlog_size");
DBUG_PRINT("info",("max_binlog_size=%lu max_relay_log_size=%lu",
@@ -870,7 +872,7 @@ void fix_max_binlog_size(THD *thd, enum_var_type type)
DBUG_VOID_RETURN;
}
-void fix_max_relay_log_size(THD *thd, enum_var_type type)
+static void fix_max_relay_log_size(THD *thd, enum_var_type type)
{
DBUG_ENTER("fix_max_relay_log_size");
DBUG_PRINT("info",("max_binlog_size=%lu max_relay_log_size=%lu",
@@ -882,6 +884,13 @@ void fix_max_relay_log_size(THD *thd, enum_var_type type)
DBUG_VOID_RETURN;
}
+#include <thr_alarm.h>
+static void
+fix_max_connections(THD *thd, enum_var_type type)
+{
+ resize_thr_alarm(max_connections);
+}
+
bool sys_var_long_ptr::update(THD *thd, set_var *var)
{
ulonglong tmp= var->value->val_int();
@@ -2076,7 +2085,7 @@ int set_var::check(THD *thd)
{
my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), var->name);
return -1;
- }
+ }
return var->check(thd, this) ? -1 : 0;
}