]> granicus.if.org Git - postgresql/commit
Fix dependencies for extended statistics objects.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 12 May 2017 20:26:31 +0000 (16:26 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 12 May 2017 20:26:31 +0000 (16:26 -0400)
commit928c4de30991ca24a46a92f006892c039af30833
tree05cf21945b7e0e5cd26cc9edad01ca2f061a66bd
parentbc085205c8a425fcaa54e27c6dcd83101130439b
Fix dependencies for extended statistics objects.

A stats object ought to have a dependency on each individual column
it reads, not the entire table.  Doing this honestly lets us get rid
of the hard-wired logic in RemoveStatisticsExt, which seems to have
been misguidedly modeled on RemoveStatistics; and it will be far easier
to extend to multiple tables later.

Also, add overlooked dependency on owner, and make the dependency on
schema be NORMAL like every other such dependency.

There remains some unfinished work here, which is to allow statistics
objects to be extension members.  That takes more effort than just
adding the dependency call, though, so I left it out for now.

initdb forced because this changes the set of pg_depend records that
should exist for a statistics object.

Discussion: https://postgr.es/m/22676.1494557205@sss.pgh.pa.us
src/backend/catalog/heap.c
src/backend/commands/statscmds.c
src/include/catalog/catversion.h
src/include/catalog/heap.h
src/test/regress/expected/stats_ext.out
src/test/regress/sql/stats_ext.sql