postgresql/src/include/utils
Heikki Linnakangas 918eee0c49 Collect and use histograms of lower and upper bounds for range types.
This enables selectivity estimation of the <<, >>, &<, &> and && operators,
as well as the normal inequality operators: <, <=, >=, >. "range @> element"
is also supported, but the range-variant @> and <@ operators are not,
because they cannot be sensibly estimated with lower and upper bound
histograms alone. We would need to make some assumption about the lengths of
the ranges for that. Alexander's patch included a separate histogram of
lengths for that, but I left that out of the patch for simplicity. Hopefully
that will be added as a followup patch.

The fraction of empty ranges is also calculated and used in estimation.

Alexander Korotkov, heavily modified by me.
2012-08-27 15:58:46 +03:00
..
.gitignore Avoid maintaining three separate copies of the error codes list. 2011-02-03 22:32:49 -05:00
acl.h Syntax support and documentation for event triggers. 2012-07-18 10:16:16 -04:00
array.h Add array_remove() and array_replace() functions. 2012-07-11 13:59:35 -04:00
ascii.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
attoptcache.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
builtins.h Support having multiple Unix-domain sockets per postmaster. 2012-08-10 17:27:15 -04:00
bytea.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
cash.h Add casts from int4 and int8 to numeric. 2011-04-05 09:35:43 -04:00
catcache.h Expose an API for calculating catcache hash values. 2012-03-07 14:51:13 -05:00
combocid.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
date.h Add transform functions for various temporal typmod coercisions. 2012-02-08 09:33:37 -05:00
datetime.h Mark DateTimeParseError() noreturn 2012-08-21 23:32:58 -04:00
datum.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
dynahash.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
dynamic_loader.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
elog.h Teach compiler that ereport(>=ERROR) does not return 2012-08-21 00:03:32 -04:00
evtcache.h Make new event trigger facility actually do something. 2012-07-20 11:39:01 -04:00
fmgrtab.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
formatting.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
geo_decls.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
guc.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
guc_tables.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
help_config.h Unify calling conventions for postgres/postmaster sub-main functions 2012-06-25 21:30:12 +03:00
hsearch.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
inet.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
int8.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
inval.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
json.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
logtape.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
lsyscache.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
memutils.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
nabstime.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
numeric.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
palloc.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pg_crc.h Add const qualifiers where they are accidentally cast away 2012-02-28 12:42:08 +02:00
pg_crc_tables.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
pg_locale.h Replace empty locale name with implied value in CREATE DATABASE and initdb. 2012-03-25 21:47:22 -04:00
pg_lzcompress.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_rusage.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
plancache.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
portal.h Run a portal's cleanup hook immediately when pushing it to FAILED state. 2012-02-15 16:19:01 -05:00
ps_status.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rangetypes.h Collect and use histograms of lower and upper bounds for range types. 2012-08-27 15:58:46 +03:00
rbtree.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rel.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
relcache.h Remove RELKIND_UNCATALOGED. 2012-06-14 09:47:30 -04:00
relmapper.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
reltrigger.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
resowner.h Add a small cache of locks owned by a resource owner in ResourceOwner. 2012-06-21 15:30:26 +03:00
selfuncs.h Refactor pattern_fixed_prefix() to avoid dealing in incomplete patterns. 2012-07-09 23:22:55 -04:00
snapmgr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
snapshot.h Slightly reorganize struct SnapshotData. 2012-01-06 22:56:00 -05:00
sortsupport.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
spccache.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
syscache.h Syntax support and documentation for event triggers. 2012-07-18 10:16:16 -04:00
timeout.h Introduce timeout handling framework 2012-07-16 22:55:33 -04:00
timestamp.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
tqual.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
tuplesort.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
tuplestore.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
typcache.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00
tzparser.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
uuid.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
varbit.h Add a transform function for varbit typmod coercisions. 2012-02-07 12:42:50 -05:00
xml.h Run pgindent on 9.2 source tree in preparation for first 9.3 2012-06-10 15:20:04 -04:00