mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '10.6' into 10.11
This commit is contained in:
@ -1468,6 +1468,7 @@ int mysql_rm_table_no_locks(THD *thd, TABLE_LIST *tables,
|
||||
temporary_table_was_dropped= 1;
|
||||
}
|
||||
is_temporary= 1;
|
||||
thd->reset_sp_cache= true;
|
||||
}
|
||||
|
||||
if ((drop_temporary && if_exists) || temporary_table_was_dropped)
|
||||
@ -1841,8 +1842,11 @@ report_error:
|
||||
}
|
||||
DBUG_PRINT("table", ("table: %p s: %p", table->table,
|
||||
table->table ? table->table->s : NULL));
|
||||
if (is_temporary_table(table))
|
||||
thd->reset_sp_cache= true;
|
||||
}
|
||||
DEBUG_SYNC(thd, "rm_table_no_locks_before_binlog");
|
||||
|
||||
thd->used|= THD::THREAD_SPECIFIC_USED;
|
||||
error= 0;
|
||||
|
||||
@ -4678,6 +4682,7 @@ int create_table_impl(THD *thd,
|
||||
if (is_trans != NULL)
|
||||
*is_trans= table->file->has_transactions();
|
||||
|
||||
thd->reset_sp_cache= true;
|
||||
thd->used|= THD::THREAD_SPECIFIC_USED;
|
||||
create_info->table= table; // Store pointer to table
|
||||
}
|
||||
@ -5166,7 +5171,8 @@ static bool make_unique_constraint_name(THD *thd, LEX_CSTRING *name,
|
||||
if (!check) // Found unique name
|
||||
{
|
||||
name->length= (size_t) (real_end - buff);
|
||||
name->str= strmake_root(thd->stmt_arena->mem_root, buff, name->length);
|
||||
name->str= thd->strmake(buff, name->length);
|
||||
|
||||
return (name->str == NULL);
|
||||
}
|
||||
}
|
||||
@ -10252,14 +10258,14 @@ bool mysql_alter_table(THD *thd, const LEX_CSTRING *new_db,
|
||||
if we can support implementing storage engine.
|
||||
*/
|
||||
if (WSREP(thd) && table && table->s->sequence &&
|
||||
wsrep_check_sequence(thd, thd->lex->create_info.seq_create_info, used_engine))
|
||||
wsrep_check_sequence(thd, create_info->seq_create_info, used_engine))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
if (WSREP(thd) &&
|
||||
if (WSREP(thd) && table &&
|
||||
(thd->lex->sql_command == SQLCOM_ALTER_TABLE ||
|
||||
thd->lex->sql_command == SQLCOM_CREATE_INDEX ||
|
||||
thd->lex->sql_command == SQLCOM_DROP_INDEX) &&
|
||||
!wsrep_should_replicate_ddl(thd, table_list->table->s->db_type()))
|
||||
!wsrep_should_replicate_ddl(thd, table->s->db_type()))
|
||||
DBUG_RETURN(true);
|
||||
#endif /* WITH_WSREP */
|
||||
|
||||
@ -12731,12 +12737,10 @@ bool Sql_cmd_create_table_like::execute(THD *thd)
|
||||
wsrep_check_sequence(thd, lex->create_info.seq_create_info, used_engine))
|
||||
DBUG_RETURN(true);
|
||||
|
||||
WSREP_TO_ISOLATION_BEGIN_ALTER(create_table->db.str,
|
||||
create_table->table_name.str,
|
||||
first_table, &alter_info, NULL,
|
||||
&create_info)
|
||||
{
|
||||
WSREP_WARN("CREATE TABLE isolation failure");
|
||||
WSREP_TO_ISOLATION_BEGIN_ALTER(create_table->db.str, create_table->table_name.str,
|
||||
first_table, &alter_info, NULL, &create_info)
|
||||
{
|
||||
WSREP_WARN("CREATE TABLE isolation failure");
|
||||
res= true;
|
||||
goto end_with_restore_list;
|
||||
}
|
||||
|
Reference in New Issue
Block a user