mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
d762e9d943
recalculate long unique hash in Write_rows_log_event and Update_rows_log_event. normally generated columns (stored and indexed virtual) are deterministic and their values don't need to be recalculated on the slave as they're already present in the row image. but the long unique hash function was changed in MDEV-27653, so a row event from the old master will have the old hash, but a table created on the new slave will need a new hash.
49 lines
2.1 KiB
Text
49 lines
2.1 KiB
Text
#
|
|
# Long unique bugs related to master slave replication
|
|
#
|
|
|
|
--echo #
|
|
--echo # MDEV-22722 Assertion "inited==NONE" failed in handler::ha_index_init on the slave during UPDATE
|
|
--echo #
|
|
|
|
--source include/have_binlog_format_row.inc
|
|
--source include/master-slave.inc
|
|
|
|
create table t1 (i1 int, a1 text, unique key i1 (a1)) engine=myisam;
|
|
insert into t1 values (1,1);
|
|
insert into t1 values (2,2);
|
|
update t1 set a1 = 'd' limit 1;
|
|
update t1 set a1 = 'd2' where i1= 2;
|
|
|
|
sync_slave_with_master;
|
|
|
|
connection master;
|
|
drop table t1;
|
|
|
|
--echo #
|
|
--echo # MDEV-32093 long uniques break old->new replication
|
|
--echo #
|
|
|
|
# this is techically a bug in replication, but it needs an old master
|
|
# so we'll run it as a non-replicated test with BINLOG command
|
|
sync_slave_with_master;
|
|
create table t1 (id int not null, b1 varchar(255) not null, b2 varchar(2550) not null, unique (id), unique key (b1,b2) using hash) default charset utf8mb3;
|
|
set global slave_exec_mode=idempotent;
|
|
|
|
# Format_description_log_event, MariaDB-10.5.15
|
|
binlog 'aRf2ZA8BAAAA/AAAAAABAAAAAAQAMTAuNS4xNS1NYXJpYURCLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpF/ZkEzgNAAgAEgAEBAQEEgAA5AAEGggAAAAICAgCAAAACgoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEwQADQgICAoKCgFRmTlk';
|
|
|
|
### INSERT t1 VALUES (42127, 'b', 'e', 39952170926)
|
|
binlog 'bBf2ZBMBAAAANAAAAJgHAAAAAHEAAAAAAAEABHRlc3QAAnQxAAQDDw8IBP0C4h0AeqMD4A==bBf2ZBcBAAAANAAAAMwHAAAAAHEAAAAAAAEABP/wj6QAAAEAYgEAZa6/VU0JAAAANteqUw==';
|
|
binlog 'bBf2ZBMBAAAANAAAAJgHAAAAAHEAAAAAAAEABHRlc3QAAnQxAAQDDw8IBP0C4h0AeqMD4A==bBf2ZBcBAAAANAAAAMwHAAAAAHEAAAAAAAEABP/wj6QAAAEAYgEAZa6/VU0JAAAANteqUw==';
|
|
|
|
### UPDATE t1 WHERE (42127, 'b', 'e', 39952170926) SET (23406, 'b', 'e', 39952170926)
|
|
binlog 'bBf2ZBMBAAAANAAAAHUkAAAAAHEAAAAAAAEABHRlc3QAAnQxAAQDDw8IBP0C4h0AaTGFIg==bBf2ZBgBAAAASAAAAL0kAAAAAHEAAAAAAAEABP//8I+kAAABAGIBAGWuv1VNCQAAAPBuWwAAAQBiAQBlrr9VTQkAAADxS9Lu';
|
|
|
|
drop table t1;
|
|
set global slave_exec_mode=default;
|
|
|
|
--echo #
|
|
--echo # End of 10.4 tests
|
|
--echo #
|
|
--source include/rpl_end.inc
|