On Fri, Mar 02, 2007 at 06:59:50PM -0500, Tom Lane wrote:
> David Fetter <[EMAIL PROTECTED]> writes:
> > 1.  In src/backend/commands/tablecmds.c, change DefineRelation as
> > follows:
> >     * After the first call to heap_create_with_catalog, construct and
> >       do another call to for the array type.
> 
> I'm still not happy about the idea of doing this for every relation
> (and doing it for sequences and indexes would be the height of
> wastefulness).  How about we only do it for composite types?

How about doing it for user-defined tables, views and composite types,
and skipping ?

> >     * Add an appropriate pg_depend entry.
> > 2.  Change RemoveRelation to reflect the above.
> 
> You only need one of those two: either you drop by hand or you let the
> dependency machinery deal with it.  Not both.

pg_depend it is, then :)

> > Does the above make sense?  Have I missed anything critical?
> 
> Ummm ... making it actually work?  Possibly that just falls out, but
> I'm not sure.
> 
> If it turns out that it does Just Work, you might take a stab at
> arrays of domains too.

OK.

I noticed something in src/backend/commands/tablecmds.c which worries
me, namely that it ignores functions and views.  It should at least be
checking that the typeoid isn't in pg_proc.prorettype or
pg_proc.proargtypes, and if possible, the DECLARE section of pl/pgsql
functions.

Is there a way to do SQL at that place in the back-end, or is there
some different kind of Magick(TM) needed to access these kinds of
things at that level?

Cheers,
D
-- 
David Fetter <[EMAIL PROTECTED]> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666
                              Skype: davidfetter

Remember to vote!
Consider donating to PostgreSQL: http://www.postgresql.org/about/donate

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to