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.
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
(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
) 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
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);
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);
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 (