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