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

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

Also look through the rest of f0e44751d'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.
This commit is contained in:
Tom Lane 2017-01-13 17:32:37 -05:00
parent 5b29e6b688
commit 5ad966ab1c
4 changed files with 16 additions and 6 deletions

View File

@ -3353,7 +3353,8 @@ from pg_attribute
where attname = 'a'
and (attrelid = 'p'::regclass
or attrelid = 'p1'::regclass
or attrelid = 'p11'::regclass);
or attrelid = 'p11'::regclass)
order by attrelid::regclass::text;
attrelid | attname | attnum
----------+---------+--------
p | a | 1

View File

@ -400,7 +400,9 @@ SELECT relkind FROM pg_class WHERE relname = 'partitioned';
(1 row)
-- 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
---------+------------
a | t
@ -575,7 +577,9 @@ CREATE TABLE parted (
) PARTITION BY LIST (a);
CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a');
-- 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
---------+------------+-------------
a | f | 1

View File

@ -2206,7 +2206,8 @@ from pg_attribute
where attname = 'a'
and (attrelid = 'p'::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);

View File

@ -403,7 +403,9 @@ CREATE TABLE partitioned (
SELECT relkind FROM pg_class WHERE relname = 'partitioned';
-- 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
DROP FUNCTION plusone(int);
@ -548,7 +550,9 @@ CREATE TABLE parted (
CREATE TABLE part_a PARTITION OF parted FOR VALUES IN ('a');
-- 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
CREATE TABLE part_b PARTITION OF parted (