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 AS typoutput, typelem, typrelid, "
                          "CASE WHEN typrelid = 0 THEN ' '::\"char\" "
                          "ELSE (SELECT relkind FROM pg_class WHERE oid = 
typrelid) END AS typrelkind, "
                          "typtype, typisdefined, "
                          "typname[0] = '_' AND typelem != 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  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to