summaryrefslogtreecommitdiff
path: root/sql/sql_update.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/sql_update.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/sql_update.cc')
-rw-r--r--sql/sql_update.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 7b4938fc8c4..fa47a3593d1 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -341,7 +341,7 @@ int mysql_update(THD *thd,
if (!table_list->single_table_updatable())
{
- my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias, "UPDATE");
+ my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias.str, "UPDATE");
DBUG_RETURN(1);
}
query_plan.updating_a_view= MY_TEST(table_list->view);
@@ -380,7 +380,7 @@ int mysql_update(THD *thd,
bool has_vers_fields= check_has_vers_fields(table, fields);
if (check_key_in_view(thd, table_list))
{
- my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias, "UPDATE");
+ my_error(ER_NON_UPDATABLE_TABLE, MYF(0), table_list->alias.str, "UPDATE");
DBUG_RETURN(1);
}
@@ -1365,8 +1365,8 @@ bool unsafe_key_update(List<TABLE_LIST> leaves, table_map tables_for_update)
{
// Partitioned key is updated
my_error(ER_MULTI_UPDATE_KEY_CONFLICT, MYF(0),
- tl->top_table()->alias,
- tl2->top_table()->alias);
+ tl->top_table()->alias.str,
+ tl2->top_table()->alias.str);
return true;
}
@@ -1384,8 +1384,8 @@ bool unsafe_key_update(List<TABLE_LIST> leaves, table_map tables_for_update)
{
// Clustered primary key is updated
my_error(ER_MULTI_UPDATE_KEY_CONFLICT, MYF(0),
- tl->top_table()->alias,
- tl2->top_table()->alias);
+ tl->top_table()->alias.str,
+ tl2->top_table()->alias.str);
return true;
}
}
@@ -1587,12 +1587,12 @@ int mysql_multi_update_prepare(THD *thd)
if (!tl->single_table_updatable() || check_key_in_view(thd, tl))
{
my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
- tl->top_table()->alias, "UPDATE");
+ tl->top_table()->alias.str, "UPDATE");
DBUG_RETURN(TRUE);
}
DBUG_PRINT("info",("setting table `%s` for update",
- tl->top_table()->alias));
+ tl->top_table()->alias.str));
/*
If table will be updated we should not downgrade lock for it and
leave it as is.
@@ -1600,7 +1600,7 @@ int mysql_multi_update_prepare(THD *thd)
}
else
{
- DBUG_PRINT("info",("setting table `%s` for read-only", tl->alias));
+ DBUG_PRINT("info",("setting table `%s` for read-only", tl->alias.str));
/*
If we are using the binary log, we need TL_READ_NO_INSERT to get
correct order of statements. Otherwise, we use a TL_READ lock to
@@ -1681,7 +1681,7 @@ int mysql_multi_update_prepare(THD *thd)
(SELECT_ACL & ~tlist->grant.privilege);
table->grant.want_privilege= (SELECT_ACL & ~table->grant.privilege);
}
- DBUG_PRINT("info", ("table: %s want_privilege: %u", tl->alias,
+ DBUG_PRINT("info", ("table: %s want_privilege: %u", tl->alias.str,
(uint) table->grant.want_privilege));
}
/*
@@ -2176,7 +2176,7 @@ loop_end:
thd->variables.big_tables= FALSE;
tmp_tables[cnt]=create_tmp_table(thd, tmp_param, temp_fields,
(ORDER*) &group, 0, 0,
- TMP_TABLE_ALL_COLUMNS, HA_POS_ERROR, "");
+ TMP_TABLE_ALL_COLUMNS, HA_POS_ERROR, &empty_clex_str);
thd->variables.big_tables= save_big_tables;
if (!tmp_tables[cnt])
DBUG_RETURN(1);