> Bruce Momjian writes:
>
> > I have found that many TODO items would benefit from a pg_depend table
> > that tracks object dependencies. TODO updated.
>
> I'm not so convinced on that idea. Assume you're dropping object foo.
> You look at pg_depend and see that objects 145928, 264792, and 1893723
> depend on it. Great, what do you do now?
>
> Every system catalog (except the really badly designed ones) already
> contains dependency information. What might help is that we make the
> internal API for altering and dropping any kind of object more consistent
> and general so that they can call each other in the dependency case.
> (E.g., make sure none of them require whereToSendOutput or parser state as
> an argument.)
Yes, it is not simple. The table is just one part of it. Code has to
do lookups and have cascade/failure options based on what it finds.
Things can get quite complicated, especially circular dependencies. It
needs a general overhaul and has to hit every area. We need a central
location to keep all this info.
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026