mirror of
https://github.com/MariaDB/server.git
synced 2025-02-09 23:24:11 +01:00
54 lines
2.9 KiB
Text
54 lines
2.9 KiB
Text
#
|
|
# Test verifies that "ROLLBACK ALTER" is written to binary log upon
|
|
#ALTER command execution failure.
|
|
#
|
|
include/master-slave.inc
|
|
[connection master]
|
|
connection master;
|
|
set global binlog_alter_two_phase = ON;
|
|
set binlog_alter_two_phase = ON;
|
|
create table t1 (f1 int primary key) engine=InnoDB;
|
|
create table t2 (f1 int primary key,
|
|
constraint c1 foreign key (f1) references t1(f1),
|
|
constraint c1 foreign key (f1) references t1(f1)) engine=InnoDB;
|
|
ERROR HY000: Can't create table `test`.`t2` (errno: 150 "Foreign key constraint is incorrectly formed")
|
|
create table t2 (f1 int primary key,
|
|
constraint c1 foreign key (f1) references t1(f1)) engine=innodb;
|
|
alter table t2 add constraint c1 foreign key (f1) references t1(f1);
|
|
ERROR HY000: Can't create table `test`.`t2` (errno: 121 "Duplicate key on write or update")
|
|
include/show_binlog_events.inc
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; create table t1 (f1 int primary key) engine=InnoDB
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; create table t2 (f1 int primary key,
|
|
constraint c1 foreign key (f1) references t1(f1)) engine=innodb
|
|
master-bin.000001 # Gtid # # GTID #-#-# START ALTER
|
|
master-bin.000001 # Query # # use `test`; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
master-bin.000001 # Gtid # # GTID #-#-# ROLLBACK ALTER id=#
|
|
master-bin.000001 # Query # # use `test`; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
set foreign_key_checks = 0;
|
|
alter table t2 add constraint c1 foreign key (f1) references t1(f1);
|
|
ERROR HY000: Duplicate FOREIGN KEY constraint name 'test/c1'
|
|
include/show_binlog_events.inc
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; create table t1 (f1 int primary key) engine=InnoDB
|
|
master-bin.000001 # Gtid # # GTID #-#-#
|
|
master-bin.000001 # Query # # use `test`; create table t2 (f1 int primary key,
|
|
constraint c1 foreign key (f1) references t1(f1)) engine=innodb
|
|
master-bin.000001 # Gtid # # GTID #-#-# START ALTER
|
|
master-bin.000001 # Query # # use `test`; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
master-bin.000001 # Gtid # # GTID #-#-# ROLLBACK ALTER id=#
|
|
master-bin.000001 # Query # # use `test`; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
master-bin.000001 # Gtid # # GTID #-#-# START ALTER
|
|
master-bin.000001 # Query # # use `test`; set foreign_key_checks=1; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
master-bin.000001 # Gtid # # GTID #-#-# ROLLBACK ALTER id=#
|
|
master-bin.000001 # Query # # use `test`; set foreign_key_checks=1; alter table t2 add constraint c1 foreign key (f1) references t1(f1)
|
|
connection slave;
|
|
connection master;
|
|
drop table t2, t1;
|
|
connection slave;
|
|
connection master;
|
|
set global binlog_alter_two_phase=0;;
|
|
include/rpl_end.inc
|