1source include/have_innodb.inc;
2source include/have_binlog_format_row.inc;
3source include/master-slave.inc;
4#
5# BUG#20574550
6# CREATE TABLE LIKE <TEMP_TABLE> does not preserve original table storage
7# engine when using row based replication
8#
9--connection master
10
11# Define temp_t1 and temp_t2 storage engines
12--let $engine_temp_t1= InnoDB
13--let $engine_temp_t2= MyISAM
14
15# Create the two temporary tables
16--eval CREATE TEMPORARY TABLE temp_t1 (c1 INT) ENGINE=$engine_temp_t1
17--eval CREATE TEMPORARY TABLE temp_t2 (c1 INT) ENGINE=$engine_temp_t2
18
19# Create t1 and t2 based on temporary tables
20CREATE TABLE t1 LIKE temp_t1;
21CREATE TABLE t2 LIKE temp_t2;
22--sync_slave_with_master
23
24# On master
25--connection master
26# Assert that t1 and t2 have the same storage engines as temp_t1 and temp_t2
27--let $engine_t1= query_get_value(SHOW TABLE STATUS WHERE Name='t1', Engine, 1)
28--let $assert_cond= "$engine_t1" = "$engine_temp_t1"
29--let $assert_text= "t1 on master and temp_t1 have the same storage engine"
30--source include/assert.inc
31
32--let $engine_t2= query_get_value(SHOW TABLE STATUS WHERE Name='t2', Engine, 1)
33--let $assert_cond= "$engine_t2" = "$engine_temp_t2"
34--let $assert_text= "t2 on master and temp_t2 have the same storage engine"
35--source include/assert.inc
36
37# On slave
38--connection slave
39# Assert that t1 and t2 have the same storage engines as temp_t1 and temp_t2
40--let $engine_t1= query_get_value(SHOW TABLE STATUS WHERE Name='t1', Engine, 1)
41--let $assert_cond= "$engine_t1" = "$engine_temp_t1"
42--let $assert_text= "t1 on slave and temp_t1 have the same storage engine"
43--source include/assert.inc
44
45--let $engine_t2= query_get_value(SHOW TABLE STATUS WHERE Name='t2', Engine, 1)
46--let $assert_cond= "$engine_t2" = "$engine_temp_t2"
47--let $assert_text= "t2 on slave and temp_t2 have the same storage engine"
48--source include/assert.inc
49
50# Cleanup
51--connection master
52DROP TEMPORARY TABLE temp_t1, temp_t2;
53DROP TABLE t1, t2;
54--source include/rpl_end.inc
55
56