Bug #121462 Inconsistant result in NDB and InnoDB while using foreign key
Submitted: 9 Oct 1:15
Reporter: Jiyuan Li Email Updates:
Status: Open Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:|26.10.0-cluster OS:Ubuntu (24.04)
Assigned to: CPU Architecture:Any

[9 Oct 1:15] Jiyuan Li
Description:
Queries in following testcase return different results on NDB and InnoDB engine. 

How to repeat:
SET SESSION foreign_key_checks=1;
CREATE TABLE p (id INT PRIMARY KEY) ENGINE=NDB;
CREATE TABLE c (id INT PRIMARY KEY, pid INT, FOREIGN KEY (pid) REFERENCES p(id) ON DELETE CASCADE ON UPDATE RESTRICT) ENGINE=NDB;
INSERT INTO p VALUES (2);
INSERT INTO c VALUES (20,2);
UPDATE p SET id = 99 WHERE id = 2;
SELECT id, pid FROM c;
-- Empty set

SET SESSION foreign_key_checks=1;
CREATE TABLE p (id INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE c (id INT PRIMARY KEY, pid INT, FOREIGN KEY (pid) REFERENCES p(id) ON DELETE CASCADE ON UPDATE RESTRICT) ENGINE=NDB;
INSERT INTO p VALUES (2);
INSERT INTO c VALUES (20,2);
UPDATE p SET id = 99 WHERE id = 2;
SELECT id, pid FROM c;
ERROR 1146 (42S02): Table 'd0.c' doesn't exist