Is there a reason we don't use pg_type.typcategory to detect arrays in
Postgres 8.4? Right now I see this in pg_dump.c:
if (g_fout->remoteVersion >= 80300) {appendPQExpBuffer(query, "SELECT tableoid, oid, typname, "
"typnamespace," "(%s typowner) AS rolname, " "typinput::oid AS typinput, " "typoutput::oid
AStypoutput, typelem, typrelid, " "CASE WHEN typrelid = 0 THEN ' '::\"char\" " "ELSE (SELECT relkind
FROMpg_class WHERE oid = typrelid) END AS typrelkind, " "typtype, typisdefined, " "typname[0] = '_'
ANDtypelem != 0 AND "
--> "(SELECT typarray FROM pg_type te WHERE oid = pg_type.typelem) = oid AS isarray " "FROM pg_type",
username_subquery); }
It seems the appropriate 8.4+ test would be:
t.typtype = 'b' AND t.typcategory = 'A'
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +