~percona-core/percona-server/5.5

« back to all changes in this revision

Viewing changes to mysql-test/suite/binlog/t/binlog_format_switch_in_tmp_table.test

  • Committer: Laurynas Biveinis
  • Date: 2014-10-27 12:37:56 UTC
  • mfrom: (698.11.1 5.5)
  • Revision ID: laurynas.biveinis@percona.com-20141027123756-5ejqktivsmv4p3fk
AutomergeĀ lp:~gl-az/percona-server/ST-41544-5.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# Bug #45855 row events in binlog after switch from binlog_fmt=mix to stmt with open tmp tbl
3
 
# Bug #45856 can't switch from binlog_format=row to mix with open tmp tbl
4
 
# This test verfies if the program will generate ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
5
 
# error and forbid switching @@SESSION.binlog_format from MIXED or ROW to
6
 
# STATEMENT when there are open temp tables and we are logging in row format.
7
 
# There is no error in any other case.
8
 
#
9
 
 
10
 
source include/have_binlog_format_mixed.inc;
11
 
 
12
 
SELECT @@SESSION.binlog_format;
13
 
CREATE TABLE t1 (a VARCHAR(100));
14
 
CREATE TEMPORARY TABLE t2 (a VARCHAR(100));
15
 
 
16
 
--echo # Test allow switching @@SESSION.binlog_format from MIXED to STATEMENT
17
 
--echo # when there are open temp tables and we are logging in statement based format.
18
 
SET SESSION binlog_format = STATEMENT;
19
 
SELECT @@SESSION.binlog_format;
20
 
 
21
 
--echo # Test allow switching @@SESSION.binlog_format from STATEMENT to
22
 
--echo # STATEMENT when there are open temp tables.
23
 
SET SESSION binlog_format = STATEMENT;
24
 
SELECT @@SESSION.binlog_format;
25
 
 
26
 
INSERT INTO t1 VALUES ('statement based');
27
 
SELECT @@SESSION.binlog_format;
28
 
--echo # Test allow switching @@SESSION.binlog_format from STATEMENT to
29
 
--echo # MIXED when there are open temp tables.
30
 
SET SESSION binlog_format = MIXED;
31
 
SELECT @@SESSION.binlog_format;
32
 
 
33
 
--echo # Test allow switching @@SESSION.binlog_format from MIXED to MIXED
34
 
--echo # when there are open temp tables.
35
 
SET SESSION binlog_format = MIXED;
36
 
SELECT @@SESSION.binlog_format;
37
 
 
38
 
INSERT INTO t2 VALUES (UUID());
39
 
SELECT @@SESSION.binlog_format;
40
 
 
41
 
--echo # Test forbit switching @@SESSION.binlog_format from MIXED to STATEMENT 
42
 
--echo # when there are open temp tables and we are logging in row based format.
43
 
--ERROR ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
44
 
SET SESSION binlog_format = STATEMENT;
45
 
SELECT @@SESSION.binlog_format;
46
 
 
47
 
SET SESSION binlog_format = ROW;
48
 
SELECT @@SESSION.binlog_format;
49
 
 
50
 
INSERT INTO t1 VALUES ('row based');
51
 
--echo # Test allow switching @@SESSION.binlog_format from ROW to MIXED 
52
 
--echo # when there are open temp tables.
53
 
SET SESSION binlog_format = MIXED;
54
 
SELECT @@SESSION.binlog_format;
55
 
 
56
 
INSERT INTO t1 VALUES ('row based');
57
 
--echo # Test allow switching @@SESSION.binlog_format from MIXED to ROW
58
 
--echo # when there are open temp tables.
59
 
SET SESSION binlog_format = ROW;
60
 
SELECT @@SESSION.binlog_format;
61
 
 
62
 
--echo # Test allow switching @@SESSION.binlog_format from ROW to ROW
63
 
--echo # when there are open temp tables.
64
 
SET SESSION binlog_format = ROW;
65
 
SELECT @@SESSION.binlog_format;
66
 
 
67
 
INSERT INTO t1 VALUES ('row based');
68
 
--echo # Test forbit switching @@SESSION.binlog_format from ROW to STATEMENT
69
 
--echo # when there are open temp tables.
70
 
--ERROR ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR
71
 
SET SESSION binlog_format = STATEMENT;
72
 
SELECT @@SESSION.binlog_format;
73
 
 
74
 
DROP TEMPORARY TABLE t2;
75
 
DROP TABLE t1;
76