diff options
author | Michael Widenius <monty@askmonty.org> | 2010-08-02 12:01:24 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2010-08-02 12:01:24 +0300 |
commit | e0a6b02c5d0a311e7167295494786077009743d1 (patch) | |
tree | 72c934fe42261ad5de3139961e092f57e9d147df /sql/set_var.cc | |
parent | d2f8b7d04503478ab6b6998194a2070891f0c2bb (diff) | |
parent | 6ad06b15222300e4eed4fe3972d1ad249c4c42a2 (diff) | |
download | mariadb-git-e0a6b02c5d0a311e7167295494786077009743d1.tar.gz |
Merge with MySQL 5.1.49
Fixed Bug#52005 'JOIN_TAB->dependent' may be incorrectly propageted for multilevel outer joins' in a better way (patch from Sergey Petrunya)
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r-- | sql/set_var.cc | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc index d546494e6a9..9198832dd3c 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -2819,10 +2819,26 @@ int set_var_collation_client::update(THD *thd) /****************************************************************************/ +bool sys_var_timestamp::check(THD *thd, set_var *var) +{ + time_t val; + var->save_result.ulonglong_value= var->value->val_int(); + val= (time_t) var->save_result.ulonglong_value; + if (val < (time_t) MY_TIME_T_MIN || val > (time_t) MY_TIME_T_MAX) + { + my_message(ER_UNKNOWN_ERROR, + "This version of MySQL doesn't support dates later than 2038", + MYF(0)); + return TRUE; + } + return FALSE; +} + + bool sys_var_timestamp::update(THD *thd, set_var *var) { thd->set_time((time_t) var->save_result.ulonglong_value); - return 0; + return FALSE; } @@ -4297,8 +4313,14 @@ bool sys_var_thd_dbug::check(THD *thd, set_var *var) bool sys_var_thd_dbug::update(THD *thd, set_var *var) { -#ifndef DBUG_OFF - const char *command= var ? var->value->str_value.c_ptr() : ""; + char buf[256]; + String str(buf, sizeof(buf), system_charset_info), *res; + const char *command; + + res= var->value->val_str(&str); + command= res ? res->c_ptr(): 0; + if (!command) + command= ""; if (var->type == OPT_GLOBAL) DBUG_SET_INITIAL(command); @@ -4318,7 +4340,6 @@ bool sys_var_thd_dbug::update(THD *thd, set_var *var) DBUG_PUSH(command); } } -#endif return 0; } |