diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-29 20:11:45 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-12-29 20:11:45 +0000 |
commit | 649b5ec7c8a3050a30bd6d36003ba3a681c9a198 (patch) | |
tree | af041b646426d71d9ea1113837b5f7a9001082c9 /src/include/nodes/plannodes.h | |
parent | 84d723b6cefcf25b8c800f8aa6cf3c9538a546b4 (diff) | |
download | postgresql-649b5ec7c8a3050a30bd6d36003ba3a681c9a198.tar.gz postgresql-649b5ec7c8a3050a30bd6d36003ba3a681c9a198.zip |
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.
Diffstat (limited to 'src/include/nodes/plannodes.h')
-rw-r--r-- | src/include/nodes/plannodes.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index e9c994e4f27..68c95d5cf8a 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/plannodes.h,v 1.113 2009/10/26 02:26:42 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/plannodes.h,v 1.114 2009/12/29 20:11:45 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -570,9 +570,9 @@ typedef struct Unique * hash build node * * If the executor is supposed to try to apply skew join optimization, then - * skewTable/skewColumn identify the outer relation's join key column, from - * which the relevant MCV statistics can be fetched. Also, its type - * information is provided to save a lookup. + * skewTable/skewColumn/skewInherit identify the outer relation's join key + * column, from which the relevant MCV statistics can be fetched. Also, its + * type information is provided to save a lookup. * ---------------- */ typedef struct Hash @@ -580,6 +580,7 @@ typedef struct Hash Plan plan; Oid skewTable; /* outer join key's table OID, or InvalidOid */ AttrNumber skewColumn; /* outer join key's column #, or zero */ + bool skewInherit; /* is outer join rel an inheritance tree? */ Oid skewColType; /* datatype of the outer key column */ int32 skewColTypmod; /* typmod of the outer key column */ /* all other info is in the parent HashJoin node */ |