From d7302ebff1902bf23e93cede2baa1fce5e0d4173 Mon Sep 17 00:00:00 2001 From: Amul Sul Date: Fri, 24 Jan 2025 16:01:17 +0530 Subject: [PATCH v4] Fix instability in foreign key tests. --- src/test/regress/expected/foreign_key.out | 9 ++++++--- src/test/regress/sql/foreign_key.sql | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/test/regress/expected/foreign_key.out b/src/test/regress/expected/foreign_key.out index 01ed73b2da4..7a7535c1a72 100644 --- a/src/test/regress/expected/foreign_key.out +++ b/src/test/regress/expected/foreign_key.out @@ -1714,7 +1714,8 @@ DETAIL: Key (a, b)=(1000, 1000) is not present in table "fk_notpartitioned_pk". TRUNCATE fk_partitioned_fk_2; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES FROM (1000,1000) TO (2000,2000); -- The child constraint will also be valid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_partitioned_fk_2'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_partitioned_fk_2'::regclass ORDER BY oid; conname | convalidated ------------------------------+-------------- fk_partitioned_fk_2_a_b_fkey | t @@ -1748,7 +1749,8 @@ CREATE TABLE fk_partitioned_pk_1 PARTITION OF fk_partitioned_pk FOR VALUES FROM CREATE TABLE fk_notpartitioned_fk (b int, a int); ALTER TABLE fk_notpartitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_partitioned_pk NOT VALID; -- Constraint will be invalid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_notpartitioned_fk'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_notpartitioned_fk'::regclass ORDER BY oid; conname | convalidated --------------------------------+-------------- fk_notpartitioned_fk_a_b_fkey | f @@ -1757,7 +1759,8 @@ SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_notpartitio ALTER TABLE fk_notpartitioned_fk VALIDATE CONSTRAINT fk_notpartitioned_fk_a_b_fkey; -- All constraints are now valid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_notpartitioned_fk'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_notpartitioned_fk'::regclass ORDER BY oid; conname | convalidated --------------------------------+-------------- fk_notpartitioned_fk_a_b_fkey | t diff --git a/src/test/regress/sql/foreign_key.sql b/src/test/regress/sql/foreign_key.sql index d57c7617fd6..e74c0c64c2d 100644 --- a/src/test/regress/sql/foreign_key.sql +++ b/src/test/regress/sql/foreign_key.sql @@ -1281,7 +1281,8 @@ TRUNCATE fk_partitioned_fk_2; ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES FROM (1000,1000) TO (2000,2000); -- The child constraint will also be valid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_partitioned_fk_2'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_partitioned_fk_2'::regclass ORDER BY oid; -- Test case where the child constraint is invalid, the grandchild constraint -- is valid, and the validation for the grandchild should be skipped when a @@ -1306,12 +1307,14 @@ CREATE TABLE fk_notpartitioned_fk (b int, a int); ALTER TABLE fk_notpartitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_partitioned_pk NOT VALID; -- Constraint will be invalid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_notpartitioned_fk'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_notpartitioned_fk'::regclass ORDER BY oid; ALTER TABLE fk_notpartitioned_fk VALIDATE CONSTRAINT fk_notpartitioned_fk_a_b_fkey; -- All constraints are now valid. -SELECT conname, convalidated FROM pg_constraint WHERE conrelid = 'fk_notpartitioned_fk'::regclass; +SELECT conname, convalidated FROM pg_constraint +WHERE conrelid = 'fk_notpartitioned_fk'::regclass ORDER BY oid; DROP TABLE fk_notpartitioned_fk, fk_partitioned_pk; -- 2.43.5