diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-05-07 00:43:27 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-05-07 00:43:27 +0000 |
commit | f905d65ee35b3f84b6d4433a5198af0e2e7bd090 (patch) | |
tree | 68f5955bb1a7ecaa531cf6b3752f563943dbe079 /src/include/nodes/primnodes.h | |
parent | 9583aea9d09f6b3839ede8e57f990262b24e6979 (diff) | |
download | postgresql-f905d65ee35b3f84b6d4433a5198af0e2e7bd090.tar.gz postgresql-f905d65ee35b3f84b6d4433a5198af0e2e7bd090.zip |
Rewrite of planner statistics-gathering code. ANALYZE is now available as
a separate statement (though it can still be invoked as part of VACUUM, too).
pg_statistic redesigned to be more flexible about what statistics are
stored. ANALYZE now collects a list of several of the most common values,
not just one, plus a histogram (not just the min and max values). Random
sampling is used to make the process reasonably fast even on very large
tables. The number of values and histogram bins collected is now
user-settable via an ALTER TABLE command.
There is more still to do; the new stats are not being used everywhere
they could be in the planner. But the remaining changes for this project
should be localized, and the behavior is already better than before.
A not-very-related change is that sorting now makes use of btree comparison
routines if it can find one, rather than invoking '<' twice.
Diffstat (limited to 'src/include/nodes/primnodes.h')
-rw-r--r-- | src/include/nodes/primnodes.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index 3ae8e09f57a..9e69ed60992 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -10,7 +10,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: primnodes.h,v 1.53 2001/03/22 04:00:52 momjian Exp $ + * $Id: primnodes.h,v 1.54 2001/05/07 00:43:25 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -45,8 +45,8 @@ typedef struct FunctionCache *FunctionCachePtr; * reskey and reskeyop are the execution-time representation of sorting. * reskey must be zero in any non-sort-key item. The reskey of sort key * targetlist items for a sort plan node is 1,2,...,n for the n sort keys. - * The reskeyop of each such targetlist item is the sort operator's - * regproc OID. reskeyop will be zero in non-sort-key items. + * The reskeyop of each such targetlist item is the sort operator's OID. + * reskeyop will be zero in non-sort-key items. * * Both reskey and reskeyop are typically zero during parse/plan stages. * The executor does not pay any attention to ressortgroupref. @@ -62,7 +62,7 @@ typedef struct Resdom Index ressortgroupref; /* nonzero if referenced by a sort/group clause */ Index reskey; /* order of key in a sort (for those > 0) */ - Oid reskeyop; /* sort operator's regproc Oid */ + Oid reskeyop; /* sort operator's Oid */ bool resjunk; /* set to true to eliminate the attribute * from final target list */ } Resdom; |