diff options
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 0db6ce8a642..3593087d332 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -3570,15 +3570,20 @@ mysql_new_select(LEX *lex, bool move_down) void create_select_for_variable(const char *var_name) { + THD *thd; LEX *lex; - LEX_STRING tmp; + LEX_STRING tmp, null_lex_string; DBUG_ENTER("create_select_for_variable"); - lex= current_lex; + + thd= current_thd; + lex= &thd->lex; mysql_init_select(lex); lex->sql_command= SQLCOM_SELECT; tmp.str= (char*) var_name; tmp.length=strlen(var_name); - add_item_to_list(lex->thd, get_system_var(OPT_SESSION, tmp)); + bzero((char*) &null_lex_string.str, sizeof(null_lex_string)); + add_item_to_list(thd, get_system_var(thd, OPT_SESSION, tmp, + null_lex_string)); DBUG_VOID_RETURN; } |