summaryrefslogtreecommitdiff
path: root/sql/event_data_objects.cc
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2018-01-07 18:03:44 +0200
committerMonty <monty@mariadb.org>2018-01-30 21:33:55 +0200
commita7e352b54ddfaf91c92951d605cb02a4ffd2676b (patch)
treedc76f140342938ed2a0fe0e005100402762d5308 /sql/event_data_objects.cc
parent921c5e931452301a09c84c53ffe35b81e6a1c71a (diff)
downloadmariadb-git-a7e352b54ddfaf91c92951d605cb02a4ffd2676b.tar.gz
Changed database, tablename and alias to be LEX_CSTRING
This was done in, among other things: - thd->db and thd->db_length - TABLE_LIST tablename, db, alias and schema_name - Audit plugin database name - lex->db - All db and table names in Alter_table_ctx - st_select_lex db Other things: - Changed a lot of functions to take const LEX_CSTRING* as argument for db, table_name and alias. See init_one_table() as an example. - Changed some function arguments from LEX_CSTRING to const LEX_CSTRING - Changed some lists from LEX_STRING to LEX_CSTRING - threads_mysql.result changed because process list_db wasn't always correctly updated - New append_identifier() function that takes LEX_CSTRING* as arguments - Added new element tmp_buff to Alter_table_ctx to separate temp name handling from temporary space - Ensure we store the length after my_casedn_str() of table/db names - Removed not used version of rename_table_in_stat_tables() - Changed Natural_join_column::table_name and db_name() to never return NULL (used for print) - thd->get_db() now returns db as a printable string (thd->db.str or "")
Diffstat (limited to 'sql/event_data_objects.cc')
-rw-r--r--sql/event_data_objects.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/sql/event_data_objects.cc b/sql/event_data_objects.cc
index c85192ee258..3b89a94adc3 100644
--- a/sql/event_data_objects.cc
+++ b/sql/event_data_objects.cc
@@ -171,11 +171,11 @@ Event_creation_ctx::load_from_db(THD *thd,
*/
bool
-Event_queue_element_for_exec::init(LEX_CSTRING db, LEX_CSTRING n)
+Event_queue_element_for_exec::init(const LEX_CSTRING *db, const LEX_CSTRING *n)
{
- if (!(dbname.str= my_strndup(db.str, dbname.length= db.length, MYF(MY_WME))))
+ if (!(dbname.str= my_strndup(db->str, dbname.length= db->length, MYF(MY_WME))))
return TRUE;
- if (!(name.str= my_strndup(n.str, name.length= n.length, MYF(MY_WME))))
+ if (!(name.str= my_strndup(n->str, name.length= n->length, MYF(MY_WME))))
{
my_free(const_cast<char*>(dbname.str));
return TRUE;
@@ -1196,7 +1196,7 @@ Event_timed::get_create_event(THD *thd, String *buf)
buf->append(STRING_WITH_LEN("CREATE "));
append_definer(thd, buf, &definer_user, &definer_host);
buf->append(STRING_WITH_LEN("EVENT "));
- append_identifier(thd, buf, name.str, name.length);
+ append_identifier(thd, buf, &name);
if (expression)
{
@@ -1274,7 +1274,7 @@ Event_job_data::construct_sp_sql(THD *thd, String *sp_sql)
We're using append_identifier here to successfully parse
events with reserved names.
*/
- append_identifier(thd, sp_sql, name.str, name.length);
+ append_identifier(thd, sp_sql, &name);
/*
The default SQL security of a stored procedure is DEFINER. We
@@ -1311,9 +1311,9 @@ Event_job_data::construct_drop_event_sql(THD *thd, String *sp_sql)
sp_sql->length(0);
sp_sql->append(C_STRING_WITH_LEN("DROP EVENT "));
- append_identifier(thd, sp_sql, dbname.str, dbname.length);
+ append_identifier(thd, sp_sql, &dbname);
sp_sql->append('.');
- append_identifier(thd, sp_sql, name.str, name.length);
+ append_identifier(thd, sp_sql, &name);
DBUG_RETURN(thd->is_fatal_error);
}
@@ -1355,7 +1355,7 @@ Event_job_data::execute(THD *thd, bool drop)
mysql_change_db will be invoked anyway later, to activate the
procedure database before it's executed.
*/
- thd->set_db(dbname.str, dbname.length);
+ thd->set_db(&dbname);
lex_start(thd);