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.
pull/18/head
Tom Lane 9 years ago
parent 5b29e6b688
commit 5ad966ab1c
  1. 3
      src/test/regress/expected/alter_table.out
  2. 8
      src/test/regress/expected/create_table.out
  3. 3
      src/test/regress/sql/alter_table.sql
  4. 8
      src/test/regress/sql/create_table.sql

@ -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

@ -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

@ -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);

@ -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 (

Loading…
Cancel
Save