summaryrefslogtreecommitdiff
path: root/sql/set_var.cc
diff options
context:
space:
mode:
authorpem@mysql.com <>2003-10-22 16:10:22 +0200
committerpem@mysql.com <>2003-10-22 16:10:22 +0200
commit337238b78ac9f131b3082f987c812216e6247dad (patch)
tree162a59c221392dfbcde183e7fdd33da1159e8bd9 /sql/set_var.cc
parent2918e5d529502f0c10c720f1360ab39d6d83bb48 (diff)
parent70ea50366231ac471a894ab4e91f2322cdacb796 (diff)
downloadmariadb-git-337238b78ac9f131b3082f987c812216e6247dad.tar.gz
Merging 4.1->5.0
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r--sql/set_var.cc30
1 files changed, 28 insertions, 2 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 48580960399..e312ec952ef 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -79,6 +79,7 @@ static void sys_set_default_charset(THD *thd, enum_var_type type);
static bool set_option_bit(THD *thd, set_var *var);
static bool set_option_autocommit(THD *thd, set_var *var);
static bool set_log_update(THD *thd, set_var *var);
+static bool set_log_bin(THD *thd, set_var *var);
static void fix_low_priority_updates(THD *thd, enum_var_type type);
static void fix_tx_isolation(THD *thd, enum_var_type type);
static void fix_net_read_timeout(THD *thd, enum_var_type type);
@@ -320,7 +321,7 @@ static sys_var_thd_bit sys_log_update("sql_log_update",
set_log_update,
OPTION_UPDATE_LOG);
static sys_var_thd_bit sys_log_binlog("sql_log_bin",
- set_log_update,
+ set_log_bin,
OPTION_BIN_LOG);
static sys_var_thd_bit sys_sql_warnings("sql_warnings",
set_option_bit,
@@ -1355,7 +1356,7 @@ byte *sys_var_thd_enum::value_ptr(THD *thd, enum_var_type type,
bool sys_var_thd_bit::update(THD *thd, set_var *var)
{
int res= (*update_func)(thd, var);
- thd->lex.select_lex.options=thd->options;
+ thd->lex->select_lex.options=thd->options;
return res;
}
@@ -1948,6 +1949,30 @@ static bool set_option_autocommit(THD *thd, set_var *var)
static bool set_log_update(THD *thd, set_var *var)
{
+ /*
+ The update log is not supported anymore since 5.0.
+ See sql/mysqld.cc/, comments in function init_server_components() for an
+ explaination of the different warnings we send below
+ */
+
+ if (opt_sql_bin_update)
+ {
+ ((sys_var_thd_bit*) var->var)->bit_flag|= (OPTION_BIN_LOG |
+ OPTION_UPDATE_LOG);
+ push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
+ ER_UPDATE_LOG_DEPRECATED_TRANSLATED,
+ ER(ER_UPDATE_LOG_DEPRECATED_TRANSLATED));
+ }
+ else
+ push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
+ ER_UPDATE_LOG_DEPRECATED_IGNORED,
+ ER(ER_UPDATE_LOG_DEPRECATED_IGNORED));
+ set_option_bit(thd, var);
+ return 0;
+}
+
+static bool set_log_bin(THD *thd, set_var *var)
+{
if (opt_sql_bin_update)
((sys_var_thd_bit*) var->var)->bit_flag|= (OPTION_BIN_LOG |
OPTION_UPDATE_LOG);
@@ -1955,6 +1980,7 @@ static bool set_log_update(THD *thd, set_var *var)
return 0;
}
+
static byte *get_warning_count(THD *thd)
{
thd->sys_var_tmp.long_value=