mariadb/mysql-test/t/create_or_replace2.test
Michael Widenius 913d1f199c MDEV-5854 Interrupted CREATE OR REPLACE is written into binlog, and in a wrong format
mysql-test/r/create_or_replace2.result:
  Added test case
mysql-test/t/create_or_replace.test:
  Fixed comment
mysql-test/t/create_or_replace2.test:
  Added test case
sql/sql_base.cc:
  Safety fix:
  Don't let threads with query_id=0 free temporary tables as this may free temporary tables not in use.
  This is mostly the case for the slave io threads, as most other threads has thd->query_id != 0.
sql/sql_table.cc:
  Added comment.
  Ignore kill when opening temporary table for CREATE ... LIKE.
  This fixed the original isue
2014-03-19 15:15:57 +02:00

35 lines
843 B
Text

#
# Check CREATE OR REPLACE TABLE for test that requires DEBUG
#
--source include/have_debug.inc
--source include/master-slave.inc
--source include/have_binlog_format_row.inc
--source include/have_xtradb.inc
--disable_warnings
drop table if exists t1;
--enable_warnings
SET @old_debug= @@session.debug;
#
# MDEV-5854
# Interrupted CREATE OR REPLACE is written into binlog, and in a wrong format
#
CREATE TABLE t1 (i INT, KEY(i)) ENGINE=InnoDB;
CREATE OR REPLACE TEMPORARY TABLE tmp (a int, b int, key(a)) engine=myisam;
set debug_dbug='+d,send_kill_after_delete';
CREATE OR REPLACE TABLE t1 LIKE tmp;
set debug_dbug=@old_debug;
SHOW TABLES;
show create table t1;
--sync_slave_with_master
SHOW TABLES;
--connection master
--disable_warnings
drop temporary table if exists tmp;
--enable_warnings
drop table t1;
--source include/rpl_end.inc