diff options
-rw-r--r-- | sql/sql_parse.cc | 7 | ||||
-rw-r--r-- | sql/sys_vars.cc | 4 |
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) { |