summaryrefslogtreecommitdiff
path: root/mysql-test/suite/galera/t/wsrep_strict_ddl.test
blob: c0a0cd756bad90f97579b4e1a3f36d2b63725b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
--source include/galera_cluster.inc

call mtr.add_suppression("WSREP: ALTER TABLE isolation failure");

--connection node_1
SET GLOBAL binlog_format='ROW';
create table before_t1(a int, count int, b int, key(b)) engine=Aria;
INSERT INTO before_t1 values (1,1,1);

set @@global.wsrep_strict_ddl=ON;
select @@global.wsrep_strict_ddl;

--connection node_2
set @@global.wsrep_strict_ddl=ON;
select @@global.wsrep_strict_ddl;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
CREATE TABLE t1(a int) engine=Aria;
SHOW WARNINGS;

--connection node_2
--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE t1;

--connection node_1
CREATE TABLE t2(a int not null primary key) engine=InnoDB;

--error ER_GALERA_REPLICATION_NOT_SUPPORTED
ALTER TABLE t2 engine=MyISAM;
SHOW WARNINGS;
SHOW CREATE TABLE t2;

--connection node_2
SHOW CREATE TABLE t2;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
TRUNCATE TABLE before_t1;
SELECT * FROM before_t1;

--connection node_2
SET SESSION wsrep_sync_wait=15;
SELECT @@wsrep_sync_wait;
SELECT * FROM before_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
CREATE VIEW x1 AS SELECT * FROM before_t1;
--error ER_NO_SUCH_TABLE
SHOW CREATE VIEW x1;

--connection node_2
--error ER_NO_SUCH_TABLE
SHOW CREATE VIEW x1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
CREATE DEFINER=`root`@`localhost` TRIGGER increment_before_t1
  AFTER INSERT ON before_t1 FOR EACH ROW
   UPDATE before_t1 SET before_t1.count = before_t1.count+1;

--error ER_TRG_DOES_NOT_EXIST
SHOW CREATE TRIGGER increment_before_t1;

--connection node_2

--error ER_TRG_DOES_NOT_EXIST
SHOW CREATE TRIGGER increment_before_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
CREATE INDEX xx2 ON before_t1(a);
SHOW CREATE TABLE before_t1;

--connection node_2
SHOW CREATE TABLE before_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
DROP INDEX b ON before_t1;
SHOW CREATE TABLE before_t1;

--connection node_2
SHOW CREATE TABLE before_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
ALTER TABLE before_t1 ADD COLUMN f int;
SHOW CREATE TABLE before_t1;

--connection node_2
SHOW CREATE TABLE before_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
RENAME TABLE before_t1 to after_t1;
SHOW CREATE TABLE before_t1;
--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE after_t1;

--connection node_2
SHOW CREATE TABLE before_t1;
--error ER_NO_SUCH_TABLE
SHOW CREATE TABLE after_t1;

--connection node_1
--error ER_GALERA_REPLICATION_NOT_SUPPORTED
DROP TABLE before_t1;

SHOW CREATE TABLE before_t1;

--connection node_2
SHOW CREATE TABLE before_t1;

#
# PROCEDURE, EVENT, FUNCTION
# Unfortunately accessed tables are opened only
# in SP execution so no hope at CREATE

#
# USER, ROLE, SERVER, DATABASE not really storage engine objects
#

--connection node_1
set @@global.wsrep_strict_ddl=OFF;
select @@global.wsrep_strict_ddl;

--connectIon node_2
set @@global.wsrep_strict_ddl=OFF;
select @@global.wsrep_strict_ddl;
DROP TABLE t2;
DROP TABLE before_t1;