mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-31313 SYSTEM VERSIONING and FOREIGN KEY CASCADE create orphan rows on replica
Constraints processing row_ins_check_foreign_constraint() was not called because row_upd_check_references_constraints() didn't see update as delete: node->is_delete was false. Since MDEV-30378 we check for TRG_EVENT_DELETE to detect versioned delete in ha_innobase::update_row(). Now we can use TRG_EVENT_DELETE to set upd_node->is_delete, so constraints processing is triggered correctly.
This commit is contained in:
@@ -91,6 +91,18 @@ begin
|
||||
end~~
|
||||
delimiter ;~~
|
||||
|
||||
delimiter ~~;
|
||||
eval create or replace function check_row_slave(row_start $sys_datatype_expl, row_end $sys_datatype_expl)
|
||||
returns varchar(255)
|
||||
deterministic
|
||||
begin
|
||||
if current_row(row_end) then
|
||||
return "CURRENT ROW";
|
||||
end if;
|
||||
return "HISTORICAL ROW";
|
||||
end~~
|
||||
delimiter ;~~
|
||||
|
||||
delimiter ~~;
|
||||
eval create or replace function check_row_ts(row_start timestamp(6), row_end timestamp(6))
|
||||
returns varchar(255)
|
||||
|
Reference in New Issue
Block a user