Re: Array detection in pg_dump

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Array detection in pg_dump
Date: 2009-08-06 23:23:05
Message-ID: 200908062323.n76NN5l28789@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2009-08-06 23:52:33 Re: Alpha Releases: Docs?
Previous Message Bruce Momjian 2009-08-06 23:19:42 Re: Array detection in pg_dump