1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +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:
Aleksey Midenkov
2023-07-20 14:13:59 +03:00
parent add0c01bae
commit fe618de691
5 changed files with 130 additions and 2 deletions

View File

@ -4,6 +4,7 @@ drop procedure if exists verify_trt;
drop procedure if exists verify_trt_dummy;
drop function if exists current_row;
drop function if exists check_row;
drop function if exists check_row_slave;
drop function if exists current_row_ts;
drop function if exists check_row_ts;
--enable_warnings