Strengthen type_sanity's check on pg_type.typarray. It failed to
authorTom Lane
Sat, 13 Oct 2007 22:33:38 +0000 (22:33 +0000)
committerTom Lane
Sat, 13 Oct 2007 22:33:38 +0000 (22:33 +0000)
complain about types that didn't have typarray set.  Noted while
working on txid patch.

src/test/regress/expected/type_sanity.out
src/test/regress/sql/type_sanity.sql

index 2a551a7d0b89b332631d47f11a4d1f209f6abf06..932353238d7988305b2672faf0a5e70badcdd6b1 100644 (file)
@@ -62,7 +62,7 @@ FROM pg_type as p1
 WHERE p1.typtype in ('b','e') AND p1.typname NOT LIKE E'\\_%' AND NOT EXISTS
     (SELECT 1 FROM pg_type as p2
      WHERE p2.typname = ('_' || p1.typname)::name AND
-           p2.typelem = p1.oid);
+           p2.typelem = p1.oid and p1.typarray = p2.oid);
  oid | typname 
 -----+---------
  210 | smgr
index d0967e69c92cc09d606bb35e53a19b392c6fa183..44a150a3179dac85e06a8e5592cd0bef80d5590e 100644 (file)
@@ -57,7 +57,7 @@ FROM pg_type as p1
 WHERE p1.typtype in ('b','e') AND p1.typname NOT LIKE E'\\_%' AND NOT EXISTS
     (SELECT 1 FROM pg_type as p2
      WHERE p2.typname = ('_' || p1.typname)::name AND
-           p2.typelem = p1.oid);
+           p2.typelem = p1.oid and p1.typarray = p2.oid);
 
 -- Make sure typarray points to a varlena array type of our own base
 SELECT p1.oid, p1.typname as basetype, p2.typname as arraytype,