Commit 5ad966ab authored by Tom Lane's avatar Tom Lane

Fix some more regression test row-order-instability issues.

Commit 0563a3a8 just introduced another instance of the same unsafe
testing methodology that appeared in 2ac3ef7a, which I corrected in
257d8157.  Robert/Amit, please stop doing that.

Also look through the rest of f0e44751's test cases, and correct some
other queries with underdetermined ordering of results from the system
catalogs.  These haven't failed in the buildfarm yet, but I don't
have any confidence in that staying true.

Per multiple buildfarm members.
parent 5b29e6b6
...@@ -3353,7 +3353,8 @@ from pg_attribute ...@@ -3353,7 +3353,8 @@ from pg_attribute
where attname = 'a' where attname = 'a'
and (attrelid = 'p'::regclass and (attrelid = 'p'::regclass
or attrelid = 'p1'::regclass or attrelid = 'p1'::regclass
or attrelid = 'p11'::regclass); or attrelid = 'p11'::regclass)
order by attrelid::regclass::text;
attrelid | attname | attnum attrelid | attname | attnum
----------+---------+-------- ----------+---------+--------
p | a | 1 p | a | 1
......
...@@ -400,7 +400,9 @@ SELECT relkind FROM pg_class WHERE relname = 'partitioned'; ...@@ -400,7 +400,9 @@ SELECT relkind FROM pg_class WHERE relname = 'partitioned';
(1 row) (1 row)
-- check that range partition key columns are marked NOT NULL -- check that range partition key columns are marked NOT NULL
SELECT attname, attnotnull FROM pg_attribute WHERE attrelid = 'partitioned'::regclass AND attnum > 0; SELECT attname, attnotnull FROM pg_attribute
WHERE attrelid = 'partitioned'::regclass AND attnum > 0
ORDER BY attnum;
attname | attnotnull attname | attnotnull
---------+------------ ---------+------------
a | t a | t
...@@ -575,7 +577,9 @@ CREATE TABLE parted ( ...@@ -575,7 +577,9 @@ CREATE TABLE parted (
) PARTITION BY LIST (a); ) PARTITION BY LIST (a);
CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a'); CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a');
-- only inherited attributes (never local ones) -- only inherited attributes (never local ones)
SELECT attname, attislocal, attinhcount FROM pg_attribute WHERE attrelid = 'part_a'::regclass and attnum > 0; SELECT attname, attislocal, attinhcount FROM pg_attribute
WHERE attrelid = 'part_a'::regclass and attnum > 0
ORDER BY attnum;
attname | attislocal | attinhcount attname | attislocal | attinhcount
---------+------------+------------- ---------+------------+-------------
a | f | 1 a | f | 1
......
...@@ -2206,7 +2206,8 @@ from pg_attribute ...@@ -2206,7 +2206,8 @@ from pg_attribute
where attname = 'a' where attname = 'a'
and (attrelid = 'p'::regclass and (attrelid = 'p'::regclass
or attrelid = 'p1'::regclass or attrelid = 'p1'::regclass
or attrelid = 'p11'::regclass); or attrelid = 'p11'::regclass)
order by attrelid::regclass::text;
alter table p1 attach partition p11 for values from (2) to (5); alter table p1 attach partition p11 for values from (2) to (5);
......
...@@ -403,7 +403,9 @@ CREATE TABLE partitioned ( ...@@ -403,7 +403,9 @@ CREATE TABLE partitioned (
SELECT relkind FROM pg_class WHERE relname = 'partitioned'; SELECT relkind FROM pg_class WHERE relname = 'partitioned';
-- check that range partition key columns are marked NOT NULL -- check that range partition key columns are marked NOT NULL
SELECT attname, attnotnull FROM pg_attribute WHERE attrelid = 'partitioned'::regclass AND attnum > 0; SELECT attname, attnotnull FROM pg_attribute
WHERE attrelid = 'partitioned'::regclass AND attnum > 0
ORDER BY attnum;
-- prevent a function referenced in partition key from being dropped -- prevent a function referenced in partition key from being dropped
DROP FUNCTION plusone(int); DROP FUNCTION plusone(int);
...@@ -548,7 +550,9 @@ CREATE TABLE parted ( ...@@ -548,7 +550,9 @@ CREATE TABLE parted (
CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a'); CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a');
-- only inherited attributes (never local ones) -- only inherited attributes (never local ones)
SELECT attname, attislocal, attinhcount FROM pg_attribute WHERE attrelid = 'part_a'::regclass and attnum > 0; SELECT attname, attislocal, attinhcount FROM pg_attribute
WHERE attrelid = 'part_a'::regclass and attnum > 0
ORDER BY attnum;
-- able to specify column default, column constraint, and table constraint -- able to specify column default, column constraint, and table constraint
CREATE TABLE part_b PARTITION OF parted ( CREATE TABLE part_b PARTITION OF parted (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment