Skip to content

10.6 mdev 30653 #439

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: 10.6
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
176 changes: 176 additions & 0 deletions mysql-test/suite/galera/r/MDEV-30653.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
connection node_2;
connection node_1;
connection node_1;
create table t1 (id serial not null primary key, val int) engine=innodb;
create table t2 (id serial not null primary key, val int) engine=aria;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
begin;
update t1 set val=24 where id=1;
update t2 set val=41 where id=2;
commit;
ERROR HY000: Transactional commit not supported by involved engine(s)
SELECT * FROM t1;
id val
1 23
SELECT * FROM t2;
id val
2 41
connection node_2;
SELECT * FROM t1;
id val
1 23
SELECT * FROM t2;
id val
DROP TABLE t1, t2;
connection node_1;
SET GLOBAL wsrep_mode='REPLICATE_ARIA';
create table t1 (id serial not null primary key, val int) engine=innodb;
create table t2 (id serial not null primary key, val int) engine=aria;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
begin;
update t1 set val=24 where id=1;
update t2 set val=41 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
commit;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
connection node_2;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
DROP TABLE t1, t2;
connection node_1;
SET GLOBAL wsrep_mode='';
connection node_1;
SET GLOBAL wsrep_mode='REPLICATE_MYISAM';
create table t1 (id serial not null primary key, val int) engine=innodb;
create table t2 (id serial not null primary key, val int) engine=myisam;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
begin;
update t1 set val=24 where id=1;
update t2 set val=41 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
commit;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
connection node_2;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
DROP TABLE t1, t2;
connection node_1;
SET GLOBAL wsrep_mode='REPLICATE_MYISAM,REPLICATE_ARIA';
create table t1 (id serial not null primary key, val int) engine=innodb;
create table t2 (id serial not null primary key, val int) engine=myisam;
create table t3 (id serial not null primary key, val int) engine=aria;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
insert into t3 values(3, 23);
begin;
update t1 set val=24 where id=1;
update t2 set val=41 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
update t3 set val=24 where id=3;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
commit;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
SELECT * FROM t3;
id val
3 23
connection node_2;
SELECT * FROM t1;
id val
1 24
SELECT * FROM t2;
id val
2 42
SELECT * FROM t3;
id val
3 23
DROP TABLE t1,t2,t3;
connection node_1;
SET GLOBAL wsrep_mode='REPLICATE_MYISAM,REPLICATE_ARIA';
create table t1 (id serial not null primary key, val int) engine=innodb;
create table t2 (id serial not null primary key, val int) engine=myisam;
create table t3 (id serial not null primary key, val int) engine=aria;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
insert into t3 values(3, 23);
begin;
update t2 set val=411 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
update t3 set val=500 where id=3;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
update t1 set val=241 where id=1;
commit;
SELECT * FROM t1;
id val
1 241
SELECT * FROM t2;
id val
2 42
SELECT * FROM t3;
id val
3 23
connection node_2;
SELECT * FROM t1;
id val
1 241
SELECT * FROM t2;
id val
2 42
SELECT * FROM t3;
id val
3 23
DROP TABLE t1, t2, t3;
connection node_1;
create table t1 (id serial not null primary key, val int) engine=myisam;
create table t2 (id serial not null primary key, val int) engine=aria;
insert into t1 values(1, 23);
insert into t2 values(2, 42);
begin;
update t1 set val=411 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
commit;
begin;
update t2 set val=411 where id=2;
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
commit;
SELECT * FROM t1;
id val
1 23
SELECT * FROM t2;
id val
2 42
connection node_2;
SELECT * FROM t1;
id val
1 23
SELECT * FROM t2;
id val
2 42
DROP TABLE t1, t2;
connection node_1;
SET GLOBAL wsrep_mode='';
101 changes: 101 additions & 0 deletions mysql-test/suite/galera/r/MDEV-34647.result
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
connection node_2;
connection node_1;
create table t1(id serial, val varchar(100)) engine=myisam;
insert into t1 values(null, 'a');
insert into t1 values(null, 'b');
insert into t1 select null, 'c';
insert into t1 select null, 'd' from t1;
select * from t1;
id val
1 a
3 b
5 c
7 d
9 d
11 d
create table t2(id serial, val varchar(100)) engine=aria;
insert into t2 values(null, 'a');
insert into t2 values(null, 'b');
insert into t2 select null, 'c';
insert into t2 select null, 'd' from t2;
select * from t2;
id val
1 a
3 b
5 c
7 d
9 d
11 d
create table t3(id serial, val varchar(100)) engine=innodb;
insert into t3 values(null, 'a');
insert into t3 values(null, 'b');
insert into t3 select null, 'c';
insert into t3 select null, 'd' from t3;
select * from t3;
id val
1 a
3 b
5 c
7 d
9 d
11 d
set global wsrep_mode='REPLICATE_MYISAM,REPLICATE_ARIA';
create table t4(id serial, val varchar(100)) engine=myisam;
insert into t4 values(null, 'a');
insert into t4 values(null, 'b');
insert into t4 select null, 'c';
insert into t4 select null, 'd' from t4;
select * from t4;
id val
1 a
2 b
3 c
4 d
5 d
6 d
create table t5(id serial, val varchar(100)) engine=myisam;
insert into t5 values(null, 'a');
insert into t5 values(null, 'b');
insert into t5 select null, 'c';
insert into t5 select null, 'd' from t5;
select * from t2;
id val
1 a
3 b
5 c
7 d
9 d
11 d
connection node_2;
select * from t1;
id val
select * from t2;
id val
select * from t3;
id val
1 a
3 b
5 c
7 d
9 d
11 d
select * from t4;
id val
1 a
2 b
3 c
4 d
5 d
6 d
select * from t5;
id val
1 a
2 b
3 c
4 d
5 d
6 d
set global wsrep_mode=default;
connection node_1;
drop table t1,t2,t3,t4,t5;
set global wsrep_mode=default;
22 changes: 4 additions & 18 deletions mysql-test/suite/galera/r/galera_var_replicate_aria_on.result
Original file line number Diff line number Diff line change
Expand Up @@ -103,33 +103,19 @@ connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (2);
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
INSERT INTO t2 VALUES (2);
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
connection node_2;
SELECT COUNT(*) AS EXPECT_2 FROM t1;
EXPECT_2
2
SELECT COUNT(*) AS EXPECT_1 FROM t1;
EXPECT_1
1
SELECT COUNT(*) AS EXPECT_1 FROM t2;
EXPECT_1
1
connection node_1;
DROP TABLE t1,t2;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=Aria;
CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
connection node_2;
INSERT INTO t1 VALUES (1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
connection node_1;
COMMIT;
ERROR HY000: Transactional commit not supported by involved engine(s)
DROP TABLE t1,t2;
connection node_1;
CREATE TABLE t1 (i INT NOT NULL PRIMARY KEY) ENGINE=INNODB;
INSERT INTO t1 VALUES(1);
SELECT * FROM t1;
Expand Down
28 changes: 8 additions & 20 deletions mysql-test/suite/galera/r/galera_var_replicate_myisam_on.result
Original file line number Diff line number Diff line change
Expand Up @@ -57,44 +57,32 @@ CREATE TABLE t2 (f1 INTEGER) ENGINE=InnoDB;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
INSERT INTO t2 VALUES (1);
COMMIT;
connection node_2;
SELECT COUNT(*) AS EXPECT_1 FROM t1;
EXPECT_1
1
SELECT COUNT(*) AS EXPECT_0 FROM t1;
EXPECT_0
0
SELECT COUNT(*) AS EXPECT_1 FROM t2;
EXPECT_1
1
connection node_1;
START TRANSACTION;
INSERT INTO t1 VALUES (2);
ERROR HY000: Galera does not support transactions containing engines not supporting 2 phase commit
INSERT INTO t2 VALUES (2);
ROLLBACK;
Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back
connection node_2;
SELECT COUNT(*) AS EXPECT_2 FROM t1;
EXPECT_2
2
SELECT COUNT(*) AS EXPECT_0 FROM t1;
EXPECT_0
0
SELECT COUNT(*) AS EXPECT_1 FROM t2;
EXPECT_1
1
DROP TABLE t1;
DROP TABLE t2;
connection node_1;
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=MyISAM;
CREATE TABLE t2 (f2 INTEGER PRIMARY KEY) ENGINE=InnoDB;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
connection node_2;
INSERT INTO t1 VALUES (1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
connection node_1;
COMMIT;
DROP TABLE t1, t2;
connection node_1;
CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, b INT) ENGINE=MyISAM;
INSERT INTO t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10);
PREPARE upd from 'update t1 set b = 100 where id = 5';
Expand Down
4 changes: 4 additions & 0 deletions mysql-test/suite/galera/r/mdev-22063.result
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@ SELECT * FROM s;
next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
1 1 9223372036854775806 1 1 1000 0 0
connection node_2;
SET GLOBAL WSREP_MODE='REPLICATE_ARIA,REPLICATE_MYISAM';
SELECT * FROM t1;
a
SELECT * FROM s;
next_not_cached_value minimum_value maximum_value start_value increment cache_size cycle_option cycle_count
1 1 9223372036854775806 1 1 1000 0 0
connection node_1;
SET GLOBAL WSREP_MODE='REPLICATE_ARIA,REPLICATE_MYISAM';
DROP TABLE t1;
DROP SEQUENCE s;
# Case 2 REPLACE INTO ... SELECT with error
Expand Down Expand Up @@ -239,3 +241,5 @@ pk
DROP TABLE t1;
DROP VIEW view_t1;
SET GLOBAL wsrep_mode=DEFAULT;
connection node_2;
SET GLOBAL wsrep_mode=DEFAULT;
Loading