summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_parse.cc7
-rw-r--r--sql/sys_vars.cc4
2 files changed, 7 insertions, 4 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 80a41fae9b9..138f3b2cd93 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1353,8 +1353,11 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
SHUTDOWN_DEFAULT is 0. If client is >= 4.1.3, the shutdown level is in
packet[0].
*/
- enum mysql_enum_shutdown_level level=
- (enum mysql_enum_shutdown_level) (uchar) packet[0];
+ enum mysql_enum_shutdown_level level;
+ if (!thd->is_valid_time())
+ level= SHUTDOWN_DEFAULT;
+ else
+ level= (enum mysql_enum_shutdown_level) (uchar) packet[0];
if (level == SHUTDOWN_DEFAULT)
level= SHUTDOWN_WAIT_ALL_BUFFERS; // soon default will be configurable
else if (level != SHUTDOWN_WAIT_ALL_BUFFERS)
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 34a9401a41e..0a692089798 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -2405,8 +2405,8 @@ static Sys_var_session_special Sys_timestamp(
"timestamp", "Set the time for this client",
sys_var::ONLY_SESSION, NO_CMD_LINE,
VALID_RANGE(0, ~(time_t)0), BLOCK_SIZE(1),
- NO_MUTEX_GUARD, IN_BINLOG, ON_CHECK(0), ON_UPDATE(update_timestamp),
- ON_READ(read_timestamp));
+ NO_MUTEX_GUARD, IN_BINLOG, ON_CHECK(check_timestamp),
+ ON_UPDATE(update_timestamp), ON_READ(read_timestamp));
static bool update_last_insert_id(THD *thd, set_var *var)
{