Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Tom Lane wrote:
>> Although I've not done anything about it here, I'm not happy about the
>> handling of dependencies for stats objects.
> Here are two patches regarding handling of dependencies.
Oh, sorry --- I already pushed something about this.
> The first one
> implements your first suggestion: add a NORMAL dependency on each
> column, and do away with RemoveStatisticsExt. This works well and
> should uncontroversial.
No, I wanted an AUTO dependency there, for exactly the reason you
mention:
> If we only do this, then DROP TABLE needs to say CASCADE if there's a
> statistics object in the table.
I don't think we really want that, do we? A stats object can't be of
any value if the underlying table is gone. Perhaps that calculus
would change for cross-table stats but I don't see why.
> This seems pointless to me, so the
> second patch throws in an additional dependency on the table as a whole,
> AUTO this time, so that if the table is dropped, the statistics goes
> away without requiring cascade. There is no point in forcing CASCADE
> for this case, ISTM. This works well too, but I admit there might be
> resistance to doing it. OTOH this is how CREATE INDEX works.
Uh, no it isn't. Indexes have auto dependencies on the individual
columns they index, and *not* on the table as a whole.
regards, tom lane