array_upper(p1.proargtypes, 1) != p1.pronargs-1 OR
0::oid = ANY (p1.proargtypes) OR
procost <= 0 OR
- CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END;
+ CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END OR
+ provolatile NOT IN ('i', 's', 'v') OR
+ proparallel NOT IN ('s', 'r', 'u');
oid | proname
-----+---------
(0 rows)
-- Look for illegal values in pg_class fields
SELECT p1.oid, p1.relname
FROM pg_class as p1
-WHERE p1.relkind NOT IN ('r', 'i', 's', 'S', 'c', 't', 'v', 'f');
+WHERE relkind NOT IN ('r', 'i', 's', 'S', 'c', 't', 'v', 'f') OR
+ relpersistence NOT IN ('p', 'u', 't') OR
+ relreplident NOT IN ('d', 'n', 'f', 'i');
oid | relname
-----+---------
(0 rows)
array_upper(p1.proargtypes, 1) != p1.pronargs-1 OR
0::oid = ANY (p1.proargtypes) OR
procost <= 0 OR
- CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END;
+ CASE WHEN proretset THEN prorows <= 0 ELSE prorows != 0 END OR
+ provolatile NOT IN ('i', 's', 'v') OR
+ proparallel NOT IN ('s', 'r', 'u');
-- prosrc should never be null or empty
SELECT p1.oid, p1.proname
SELECT p1.oid, p1.relname
FROM pg_class as p1
-WHERE p1.relkind NOT IN ('r', 'i', 's', 'S', 'c', 't', 'v', 'f');
+WHERE relkind NOT IN ('r', 'i', 's', 'S', 'c', 't', 'v', 'f') OR
+ relpersistence NOT IN ('p', 'u', 't') OR
+ relreplident NOT IN ('d', 'n', 'f', 'i');
-- Indexes should have an access method, others not.