1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT"

The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
This commit is contained in:
guilhem@mysql.com
2004-07-18 14:34:35 +02:00
parent 37bf41a7ae
commit e5c2285782
3 changed files with 52 additions and 2 deletions

View File

@ -1545,9 +1545,13 @@ void select_create::abort()
table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
enum db_type table_type=table->db_type;
if (!table->tmp_table)
{
hash_delete(&open_cache,(byte*) table);
if (!create_info->table_existed)
quick_rm_table(table_type,db,name);
if (!create_info->table_existed)
quick_rm_table(table_type, db, name);
}
else if (!create_info->table_existed)
close_temporary_table(thd, db, name);
table=0;
}
VOID(pthread_mutex_unlock(&LOCK_open));