Re: Array detection in pg_dump - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Array detection in pg_dump
Date
Msg-id 200908062323.n76NN5l28789@momjian.us
Whole thread Raw
In response to Re: Array detection in pg_dump  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Bruce Momjian wrote:
> Bruce Momjian wrote:
> > 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 "
> 
>                                       ^^
> 
> Oh, and what does that 'te' do?  Seems useless.

Oh, I see it now;  'te' makes the pg_type reference in the subquery
reference the outer pg_type;  Wow that is confusing.  I will clear that
up in my pg_migrator version.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Array detection in pg_dump
Next
From: Bruce Momjian
Date:
Subject: Re: Alpha Releases: Docs?