mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
Fix instability in recently added regression tests
We missed the usual ORDER BY clause. Author: Amul Sul <amul.sul@enterprisedb.com> Discussion: https://postgr.es/m/CAAJ_b974U3Vvf-qGwFyZ73DFHqyFJP9TOmuiXR2Kp8KVcJtP6w@mail.gmail.com
This commit is contained in:
@ -1684,7 +1684,7 @@ ALTER TABLE fk_partitioned_fk_1 ADD FOREIGN KEY (a, b) REFERENCES fk_notpartitio
|
|||||||
ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_1 FOR VALUES FROM (0,0) TO (1000,1000);
|
ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_1 FOR VALUES FROM (0,0) TO (1000,1000);
|
||||||
-- Child constraint will remain valid.
|
-- Child constraint will remain valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
conname | convalidated | conrelid
|
conname | convalidated | conrelid
|
||||||
------------------------------+--------------+---------------------
|
------------------------------+--------------+---------------------
|
||||||
fk_partitioned_fk_a_b_fkey | f | fk_partitioned_fk
|
fk_partitioned_fk_a_b_fkey | f | fk_partitioned_fk
|
||||||
@ -1695,7 +1695,7 @@ WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
|||||||
ALTER TABLE fk_partitioned_fk VALIDATE CONSTRAINT fk_partitioned_fk_a_b_fkey;
|
ALTER TABLE fk_partitioned_fk VALIDATE CONSTRAINT fk_partitioned_fk_a_b_fkey;
|
||||||
-- All constraints are now valid.
|
-- All constraints are now valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
conname | convalidated | conrelid
|
conname | convalidated | conrelid
|
||||||
------------------------------+--------------+---------------------
|
------------------------------+--------------+---------------------
|
||||||
fk_partitioned_fk_a_b_fkey | t | fk_partitioned_fk
|
fk_partitioned_fk_a_b_fkey | t | fk_partitioned_fk
|
||||||
@ -1714,7 +1714,8 @@ DETAIL: Key (a, b)=(1000, 1000) is not present in table "fk_notpartitioned_pk".
|
|||||||
TRUNCATE fk_partitioned_fk_2;
|
TRUNCATE fk_partitioned_fk_2;
|
||||||
ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES FROM (1000,1000) TO (2000,2000);
|
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.
|
-- 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::regclass::text;
|
||||||
conname | convalidated
|
conname | convalidated
|
||||||
------------------------------+--------------
|
------------------------------+--------------
|
||||||
fk_partitioned_fk_2_a_b_fkey | t
|
fk_partitioned_fk_2_a_b_fkey | t
|
||||||
@ -1731,7 +1732,7 @@ ALTER TABLE fk_partitioned_fk_3 ATTACH PARTITION fk_partitioned_fk_3_1 FOR VALUE
|
|||||||
ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES FROM (2000,2000) TO (3000,3000);
|
ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES FROM (2000,2000) TO (3000,3000);
|
||||||
-- All constraints are now valid.
|
-- All constraints are now valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
conname | convalidated | conrelid
|
conname | convalidated | conrelid
|
||||||
--------------------------------+--------------+-----------------------
|
--------------------------------+--------------+-----------------------
|
||||||
fk_partitioned_fk_a_b_fkey | t | fk_partitioned_fk
|
fk_partitioned_fk_a_b_fkey | t | fk_partitioned_fk
|
||||||
@ -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);
|
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;
|
ALTER TABLE fk_notpartitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_partitioned_pk NOT VALID;
|
||||||
-- Constraint will be invalid.
|
-- 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::regclass::text;
|
||||||
conname | convalidated
|
conname | convalidated
|
||||||
--------------------------------+--------------
|
--------------------------------+--------------
|
||||||
fk_notpartitioned_fk_a_b_fkey | f
|
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;
|
ALTER TABLE fk_notpartitioned_fk VALIDATE CONSTRAINT fk_notpartitioned_fk_a_b_fkey;
|
||||||
-- All constraints are now valid.
|
-- 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::regclass::text;
|
||||||
conname | convalidated
|
conname | convalidated
|
||||||
--------------------------------+--------------
|
--------------------------------+--------------
|
||||||
fk_notpartitioned_fk_a_b_fkey | t
|
fk_notpartitioned_fk_a_b_fkey | t
|
||||||
|
@ -1259,14 +1259,14 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_1 FOR VALUES FR
|
|||||||
|
|
||||||
-- Child constraint will remain valid.
|
-- Child constraint will remain valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
|
|
||||||
-- Validate the constraint
|
-- Validate the constraint
|
||||||
ALTER TABLE fk_partitioned_fk VALIDATE CONSTRAINT fk_partitioned_fk_a_b_fkey;
|
ALTER TABLE fk_partitioned_fk VALIDATE CONSTRAINT fk_partitioned_fk_a_b_fkey;
|
||||||
|
|
||||||
-- All constraints are now valid.
|
-- All constraints are now valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
|
|
||||||
-- Attaching a child with a NOT VALID constraint.
|
-- Attaching a child with a NOT VALID constraint.
|
||||||
CREATE TABLE fk_partitioned_fk_2 (a int, b int);
|
CREATE TABLE fk_partitioned_fk_2 (a int, b int);
|
||||||
@ -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);
|
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.
|
-- 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::regclass::text;
|
||||||
|
|
||||||
-- Test case where the child constraint is invalid, the grandchild constraint
|
-- Test case where the child constraint is invalid, the grandchild constraint
|
||||||
-- is valid, and the validation for the grandchild should be skipped when a
|
-- is valid, and the validation for the grandchild should be skipped when a
|
||||||
@ -1295,7 +1296,7 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_3 FOR VALUES FR
|
|||||||
|
|
||||||
-- All constraints are now valid.
|
-- All constraints are now valid.
|
||||||
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
SELECT conname, convalidated, conrelid::regclass FROM pg_constraint
|
||||||
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid;
|
WHERE conrelid::regclass::text like 'fk_partitioned_fk%' ORDER BY oid::regclass::text;
|
||||||
|
|
||||||
DROP TABLE fk_partitioned_fk, fk_notpartitioned_pk;
|
DROP TABLE fk_partitioned_fk, fk_notpartitioned_pk;
|
||||||
|
|
||||||
@ -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;
|
ALTER TABLE fk_notpartitioned_fk ADD FOREIGN KEY (a, b) REFERENCES fk_partitioned_pk NOT VALID;
|
||||||
|
|
||||||
-- Constraint will be invalid.
|
-- 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::regclass::text;
|
||||||
|
|
||||||
ALTER TABLE fk_notpartitioned_fk VALIDATE CONSTRAINT fk_notpartitioned_fk_a_b_fkey;
|
ALTER TABLE fk_notpartitioned_fk VALIDATE CONSTRAINT fk_notpartitioned_fk_a_b_fkey;
|
||||||
|
|
||||||
-- All constraints are now valid.
|
-- 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::regclass::text;
|
||||||
|
|
||||||
DROP TABLE fk_notpartitioned_fk, fk_partitioned_pk;
|
DROP TABLE fk_notpartitioned_fk, fk_partitioned_pk;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user