diff options
Diffstat (limited to 'sql/sql_insert.cc')
-rw-r--r-- | sql/sql_insert.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index c0682d9d4c8..a9a7d9b4d5a 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -1833,9 +1833,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, create_table->db, create_table->real_name); + if (!create_info->table_existed) + quick_rm_table(table_type, create_table->db, create_table->real_name); + } + else if (!create_info->table_existed) + close_temporary_table(thd, create_table->db, create_table->real_name); table=0; } VOID(pthread_mutex_unlock(&LOCK_open)); |