Thread: pgsql: Add the ability to store inheritance-tree statistics in

pgsql: Add the ability to store inheritance-tree statistics in

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Add the ability to store inheritance-tree statistics in pg_statistic,
and teach ANALYZE to compute such stats for tables that have subclasses.
Per my proposal of yesterday.

autovacuum still needs to be taught about running ANALYZE on parent tables
when their subclasses change, but the feature is useful even without that.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        catalogs.sgml (r2.214 -> r2.215)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml?r1=2.214&r2=2.215)
    pgsql/src/backend/catalog:
        heap.c (r1.362 -> r1.363)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/heap.c?r1=1.362&r2=1.363)
        system_views.sql (r1.63 -> r1.64)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/system_views.sql?r1=1.63&r2=1.64)
    pgsql/src/backend/commands:
        analyze.c (r1.143 -> r1.144)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c?r1=1.143&r2=1.144)
        vacuum.c (r1.399 -> r1.400)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c?r1=1.399&r2=1.400)
    pgsql/src/backend/executor:
        nodeHash.c (r1.123 -> r1.124)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c?r1=1.123&r2=1.124)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.455 -> r1.456)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c?r1=1.455&r2=1.456)
        outfuncs.c (r1.376 -> r1.377)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c?r1=1.376&r2=1.377)
    pgsql/src/backend/optimizer/plan:
        createplan.c (r1.267 -> r1.268)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/createplan.c?r1=1.267&r2=1.268)
    pgsql/src/backend/utils/adt:
        selfuncs.c (r1.263 -> r1.264)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/selfuncs.c?r1=1.263&r2=1.264)
    pgsql/src/backend/utils/cache:
        lsyscache.c (r1.163 -> r1.164)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c?r1=1.163&r2=1.164)
        syscache.c (r1.121 -> r1.122)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/syscache.c?r1=1.121&r2=1.122)
    pgsql/src/include/catalog:
        catversion.h (r1.561 -> r1.562)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.561&r2=1.562)
        indexing.h (r1.111 -> r1.112)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/indexing.h?r1=1.111&r2=1.112)
        pg_statistic.h (r1.39 -> r1.40)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_statistic.h?r1=1.39&r2=1.40)
    pgsql/src/include/nodes:
        plannodes.h (r1.113 -> r1.114)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/plannodes.h?r1=1.113&r2=1.114)
    pgsql/src/include/utils:
        syscache.h (r1.75 -> r1.76)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/syscache.h?r1=1.75&r2=1.76)
    pgsql/src/test/regress/expected:
        rules.out (r1.153 -> r1.154)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rules.out?r1=1.153&r2=1.154)