FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typinput = p2.oid AND p1.typtype = 'b' AND
(p2.pronargs != 1 OR p2.proretset) AND
- (p2.pronargs != 3 OR p2.proretset OR p1.typelem = 0);
+ (p2.pronargs != 3 OR p2.proretset OR p2.proargtypes[2] != 23);
oid|typname|oid|proname
---+-------+---+-------
(0 rows)
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typreceive = p2.oid AND p1.typtype = 'b' AND
(p2.pronargs != 1 OR p2.proretset) AND
- (p2.pronargs != 3 OR p2.proretset OR p1.typelem = 0);
+ (p2.pronargs != 3 OR p2.proretset OR p2.proargtypes[2] != 23);
oid|typname|oid|proname
---+-------+---+-------
(0 rows)
QUERY: SELECT p1.oid, p1.relname
FROM pg_class as p1
-WHERE (p1.relkind != 'r' AND p1.relkind != 'i' AND p1.relkind != 's');
+WHERE (p1.relkind != 'r' AND p1.relkind != 'i' AND
+ p1.relkind != 's' AND p1.relkind != 'S');
oid|relname
---+-------
(0 rows)
p1.typreceive = 0 OR p1.typsend = 0);
-- Check for bogus typinput routines
--- The first OR subclause detects bogus non-array cases,
--- the second one detects bogus array cases.
-- FIXME: ought to check prorettype, but there are special cases that make it
-- hard: prorettype might be binary-compatible with the type but not the same,
-- and for array types array_in's result has nothing to do with anything.
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typinput = p2.oid AND p1.typtype = 'b' AND
(p2.pronargs != 1 OR p2.proretset) AND
- (p2.pronargs != 3 OR p2.proretset OR p1.typelem = 0);
+ (p2.pronargs != 3 OR p2.proretset OR p2.proargtypes[2] != 23);
-- Check for bogus typoutput routines
-- The first OR subclause detects bogus non-array cases,
(p2.pronargs != 2 OR p2.proretset OR p1.typelem = 0);
-- Check for bogus typreceive routines
--- The first OR subclause detects bogus non-array cases,
--- the second one detects bogus array cases.
-- FIXME: ought to check prorettype, but there are special cases that make it
-- hard: prorettype might be binary-compatible with the type but not the same,
-- and for array types array_in's result has nothing to do with anything.
FROM pg_type AS p1, pg_proc AS p2
WHERE p1.typreceive = p2.oid AND p1.typtype = 'b' AND
(p2.pronargs != 1 OR p2.proretset) AND
- (p2.pronargs != 3 OR p2.proretset OR p1.typelem = 0);
+ (p2.pronargs != 3 OR p2.proretset OR p2.proargtypes[2] != 23);
-- Check for bogus typsend routines
-- The first OR subclause detects bogus non-array cases,
SELECT p1.oid, p1.relname
FROM pg_class as p1
-WHERE (p1.relkind != 'r' AND p1.relkind != 'i' AND p1.relkind != 's');
+WHERE (p1.relkind != 'r' AND p1.relkind != 'i' AND
+ p1.relkind != 's' AND p1.relkind != 'S');
-- Indexes should have an access method, others not.