From e8fb24664e3382055dca4a0c35fd5aed2d3ed13f Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sat, 16 Aug 2014 08:16:44 +0200 Subject: [PATCH] cleanup: use null_lex_str where appropriate --- sql/sp_head.cc | 4 +--- sql/sql_lex.cc | 3 +-- sql/sql_lex.h | 12 ++++-------- sql/sql_parse.cc | 11 ++++------- sql/sql_yacc.yy | 11 ++++------- 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 8a9e8ddc816..a000c486e56 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -582,8 +582,6 @@ sp_head::sp_head() m_next_cached_sp(0), m_cont_level(0) { - const LEX_STRING str_reset= { NULL, 0 }; - m_first_instance= this; m_first_free_instance= this; m_last_cached_sp= this; @@ -594,7 +592,7 @@ sp_head::sp_head() be rewritten soon. Remove the else part and replace 'if' with an assert when this is done. */ - m_db= m_name= m_qname= str_reset; + m_db= m_name= m_qname= null_lex_str; DBUG_ENTER("sp_head::sp_head"); diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 926aa7d5e5a..c97ae9e820b 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -515,8 +515,7 @@ void lex_start(THD *thd) lex->check_exists= FALSE; lex->verbose= 0; - lex->name.str= 0; - lex->name.length= 0; + lex->name= null_lex_str; lex->event_parse_data= NULL; lex->profile_options= PROFILE_NONE; lex->nest_level=0 ; diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 70a793541af..e17a41a9877 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -135,6 +135,9 @@ struct sys_var_with_base #ifdef MYSQL_SERVER +extern const LEX_STRING null_lex_str; +extern const LEX_STRING empty_lex_str; + enum enum_sp_suid_behaviour { SP_IS_DEFAULT_SUID= 0, @@ -242,8 +245,7 @@ struct LEX_MASTER_INFO heartbeat_period= 0; ssl= ssl_verify_server_cert= heartbeat_opt= repl_ignore_server_ids_opt= LEX_MI_UNCHANGED; - gtid_pos_str.length= 0; - gtid_pos_str.str= NULL; + gtid_pos_str= null_lex_str; use_gtid_opt= LEX_GTID_UNCHANGED; } }; @@ -1021,9 +1023,6 @@ struct st_sp_chistics enum enum_sp_data_access daccess; }; -extern const LEX_STRING null_lex_str; -extern const LEX_STRING empty_lex_str; - struct st_trg_chistics { enum trg_action_time_type action_time; @@ -1035,9 +1034,6 @@ extern sys_var *trg_new_row_fake_var; enum xa_option_words {XA_NONE, XA_JOIN, XA_RESUME, XA_ONE_PHASE, XA_SUSPEND, XA_FOR_MIGRATE}; -extern const LEX_STRING null_lex_str; -extern const LEX_STRING empty_lex_str; - class Sroutine_hash_entry; /* diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 1be537740af..5c39e63cf41 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1748,8 +1748,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, else #endif { - thd->lex->relay_log_connection_name.str= (char*) ""; - thd->lex->relay_log_connection_name.length= 0; + thd->lex->relay_log_connection_name= empty_lex_str; if (reload_acl_and_cache(thd, options, (TABLE_LIST*) 0, ¬_used)) break; } @@ -6721,7 +6720,7 @@ void create_select_for_variable(const char *var_name) { THD *thd; LEX *lex; - LEX_STRING tmp, null_lex_string; + LEX_STRING tmp; Item *var; char buff[MAX_SYS_VAR_LENGTH*2+4+8], *end; DBUG_ENTER("create_select_for_variable"); @@ -6732,12 +6731,11 @@ void create_select_for_variable(const char *var_name) lex->sql_command= SQLCOM_SELECT; tmp.str= (char*) var_name; tmp.length=strlen(var_name); - bzero((char*) &null_lex_string.str, sizeof(null_lex_string)); /* We set the name of Item to @@session.var_name because that then is used as the column name in the output. */ - if ((var= get_system_var(thd, OPT_SESSION, tmp, null_lex_string))) + if ((var= get_system_var(thd, OPT_SESSION, tmp, null_lex_str))) { end= strxmov(buff, "@@session.", var_name, NullS); var->set_name(buff, end-buff, system_charset_info); @@ -8762,8 +8760,7 @@ LEX_USER *create_definer(THD *thd, LEX_STRING *user_name, LEX_STRING *host_name) definer->user= *user_name; definer->host= *host_name; - definer->password.str= NULL; - definer->password.length= 0; + definer->password= null_lex_str; return definer; } diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index df9c59e5deb..deb16b17405 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -2374,8 +2374,7 @@ create: lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; lex->create_info.options= ($1 | $2 | $4); lex->create_info.default_table_charset= NULL; - lex->name.str= 0; - lex->name.length= 0; + lex->name= null_lex_str; lex->create_last_non_select_table= lex->last_table(); } create_body @@ -7029,8 +7028,7 @@ string_list: alter: ALTER { - Lex->name.str= 0; - Lex->name.length= 0; + Lex->name= null_lex_str; Lex->sql_command= SQLCOM_ALTER_TABLE; Lex->duplicates= DUP_ERROR; Lex->col_list.empty(); @@ -7247,7 +7245,7 @@ opt_ev_sql_stmt: ; ident_or_empty: - /* empty */ { $$.str= 0; $$.length= 0; } + /* empty */ { $$= null_lex_str; } | ident { $$= $1; } ; @@ -12892,8 +12890,7 @@ flush_option: | LOGS_SYM { Lex->type|= REFRESH_LOG; - Lex->relay_log_connection_name.str= (char*) ""; - Lex->relay_log_connection_name.length= 0; + Lex->relay_log_connection_name= empty_lex_str; } | STATUS_SYM { Lex->type|= REFRESH_STATUS; }