summaryrefslogtreecommitdiff
path: root/sql/sql_insert.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_insert.cc')
-rw-r--r--sql/sql_insert.cc54
1 files changed, 27 insertions, 27 deletions
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index cb46b4847bd..b67022d08e6 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -168,9 +168,9 @@ static bool check_view_single_update(List<Item> &fields, List<Item> *values,
if (!tbl->single_table_updatable())
{
if (insert)
- my_error(ER_NON_INSERTABLE_TABLE, MYF(0), view->alias, "INSERT");
+ my_error(ER_NON_INSERTABLE_TABLE, MYF(0), view->alias.str, "INSERT");
else
- my_error(ER_NON_UPDATABLE_TABLE, MYF(0), view->alias, "UPDATE");
+ my_error(ER_NON_UPDATABLE_TABLE, MYF(0), view->alias.str, "UPDATE");
return TRUE;
}
*map= tables;
@@ -210,7 +210,7 @@ static int check_insert_fields(THD *thd, TABLE_LIST *table_list,
if (!table_list->single_table_updatable())
{
- my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias, "INSERT");
+ my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias.str, "INSERT");
DBUG_RETURN(-1);
}
@@ -304,7 +304,7 @@ static int check_insert_fields(THD *thd, TABLE_LIST *table_list,
(table_list->view &&
check_view_insertability(thd, table_list)))
{
- my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias, "INSERT");
+ my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias.str, "INSERT");
DBUG_RETURN(-1);
}
@@ -742,11 +742,11 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
*/
if (table_list->lock_type == TL_WRITE_DELAYED &&
thd->locked_tables_mode &&
- find_locked_table(thd->open_tables, table_list->db,
- table_list->table_name))
+ find_locked_table(thd->open_tables, table_list->db.str,
+ table_list->table_name.str))
{
my_error(ER_DELAYED_INSERT_TABLE_LOCKED, MYF(0),
- table_list->table_name);
+ table_list->table_name.str);
DBUG_RETURN(TRUE);
}
/*
@@ -1381,7 +1381,7 @@ static bool mysql_prepare_insert_check_table(THD *thd, TABLE_LIST *table_list,
if (!table_list->single_table_updatable())
{
- my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias, "INSERT");
+ my_error(ER_NON_INSERTABLE_TABLE, MYF(0), table_list->alias.str, "INSERT");
DBUG_RETURN(TRUE);
}
/*
@@ -2262,8 +2262,8 @@ Delayed_insert *find_handler(THD *thd, TABLE_LIST *table_list)
Delayed_insert *di;
while ((di= it++))
{
- if (!strcmp(table_list->db, di->table_list.db) &&
- !strcmp(table_list->table_name, di->table_list.table_name))
+ if (!cmp(&table_list->db, &di->table_list.db) &&
+ !cmp(&table_list->table_name, &di->table_list.table_name))
{
di->lock();
break;
@@ -2327,7 +2327,7 @@ bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
DBUG_ENTER("delayed_get_table");
/* Must be set in the parser */
- DBUG_ASSERT(table_list->db);
+ DBUG_ASSERT(table_list->db.str);
/* Find the thread which handles this table. */
if (!(di= find_handler(thd, table_list)))
@@ -2354,11 +2354,12 @@ bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
*/
di->thd.variables.binlog_annotate_row_events= 0;
- di->thd.set_db(table_list->db, (uint) strlen(table_list->db));
- di->thd.set_query(my_strdup(table_list->table_name,
- MYF(MY_WME | ME_FATALERROR)),
- 0, system_charset_info);
- if (di->thd.db == NULL || di->thd.query() == NULL)
+ di->thd.set_db(&table_list->db);
+ di->thd.set_query(my_strndup(table_list->table_name.str,
+ table_list->table_name.length,
+ MYF(MY_WME | ME_FATALERROR)),
+ table_list->table_name.length, system_charset_info);
+ if (di->thd.db.str == NULL || di->thd.query() == NULL)
{
/* The error is reported */
delete di;
@@ -2366,7 +2367,8 @@ bool delayed_get_table(THD *thd, MDL_request *grl_protection_request,
}
di->table_list= *table_list; // Needed to open table
/* Replace volatile strings with local copies */
- di->table_list.alias= di->table_list.table_name= di->thd.query();
+ di->table_list.alias.str= di->table_list.table_name.str= di->thd.query();
+ di->table_list.alias.length= di->table_list.table_name.length= di->thd.query_length();
di->table_list.db= di->thd.db;
/* We need the tickets so that they can be cloned in handle_delayed_insert */
di->grl_protection.init(MDL_key::GLOBAL, "", "",
@@ -2848,7 +2850,7 @@ handle_table(THD *thd, Query_tables_list *prelocking_ctx,
if (!(table_list->table->file->ha_table_flags() & HA_CAN_INSERT_DELAYED))
{
- my_error(ER_DELAYED_NOT_SUPPORTED, MYF(0), table_list->table_name);
+ my_error(ER_DELAYED_NOT_SUPPORTED, MYF(0), table_list->table_name.str);
return TRUE;
}
return FALSE;
@@ -4219,8 +4221,8 @@ TABLE *select_create::create_table_from_items(THD *thd,
open_table().
*/
- if (!mysql_create_table_no_lock(thd, create_table->db,
- create_table->table_name,
+ if (!mysql_create_table_no_lock(thd, &create_table->db,
+ &create_table->table_name,
create_info, alter_info, NULL,
select_field_count, create_table))
{
@@ -4246,8 +4248,8 @@ TABLE *select_create::create_table_from_items(THD *thd,
*/
if (open_table(thd, create_table, &ot_ctx))
{
- quick_rm_table(thd, create_info->db_type, create_table->db,
- table_case_name(create_info, create_table->table_name),
+ quick_rm_table(thd, create_info->db_type, &create_table->db,
+ table_case_name(create_info, &create_table->table_name),
0);
}
/* Restore */
@@ -4304,7 +4306,7 @@ TABLE *select_create::create_table_from_items(THD *thd,
mysql_unlock_tables(thd, *lock);
*lock= 0;
}
- drop_open_table(thd, table, create_table->db, create_table->table_name);
+ drop_open_table(thd, table, &create_table->db, &create_table->table_name);
DBUG_RETURN(0);
/* purecov: end */
}
@@ -4692,16 +4694,14 @@ void select_create::abort_result_set()
table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
table->file->extra(HA_EXTRA_WRITE_CANNOT_REPLACE);
table->auto_increment_field_not_null= FALSE;
- drop_open_table(thd, table, create_table->db, create_table->table_name);
+ drop_open_table(thd, table, &create_table->db, &create_table->table_name);
table=0; // Safety
if (thd->log_current_statement && mysql_bin_log.is_open())
{
/* Remove logging of drop, create + insert rows */
binlog_reset_cache(thd);
/* Original table was deleted. We have to log it */
- log_drop_table(thd, create_table->db, create_table->db_length,
- create_table->table_name, create_table->table_name_length,
- tmp_table);
+ log_drop_table(thd, &create_table->db, &create_table->table_name, tmp_table);
}
}
DBUG_VOID_RETURN;