postgresql/src/include/utils
Tom Lane f2ba1e994c Avoid unexpected conversion overflow in planner for distant date values.
The "date" type supports a wider range of dates than int64 timestamps do.
However, there is pre-int64-timestamp code in the planner that assumes that
all date values can be converted to timestamp with impunity.  Fortunately,
what we really need out of the conversion is always a double (float8)
value; so even when the date is out of timestamp's range it's possible to
produce a sane answer.  All we need is a code path that doesn't try to
force the result into int64.  Per trouble report from David Rericha.

Back-patch to all supported versions.  Although this is surely a corner
case, there's not much point in advertising a date range wider than
timestamp's if we will choke on such values in unexpected places.
2010-12-28 22:49:57 -05:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
acl.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
array.h Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
ascii.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
attoptcache.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
builtins.h Add pg_read_binary_file() and whole-file-at-once versions of pg_read_file(). 2010-12-16 06:56:28 +09:00
bytea.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
cash.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
catcache.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
combocid.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
date.h Avoid unexpected conversion overflow in planner for distant date values. 2010-12-28 22:49:57 -05:00
datetime.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
datum.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
dynahash.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
dynamic_loader.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
elog.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
errcodes.h Corrections to patch adding SQL/MED error codes. 2010-12-26 21:35:25 -05:00
fmgrtab.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
formatting.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
geo_decls.h KNNGIST, otherwise known as order-by-operator support for GIST. 2010-12-03 20:53:29 -05:00
guc.h Use GUC lexer for recovery.conf parsing. 2010-12-03 08:56:44 -05:00
guc_tables.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
help_config.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
hsearch.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
inet.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
int8.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
inval.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
logtape.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
lsyscache.h Create core infrastructure for KNNGIST. 2010-12-02 20:51:37 -05:00
memutils.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
nabstime.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
numeric.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
palloc.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_crc.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_locale.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_lzcompress.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
pg_rusage.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
plancache.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
portal.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
ps_status.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rbtree.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
rel.h Generalize concept of temporary relations to "relation persistence". 2010-12-13 12:34:26 -05:00
relcache.h Generalize concept of temporary relations to "relation persistence". 2010-12-13 12:34:26 -05:00
relmapper.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
resowner.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
selfuncs.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
snapmgr.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
snapshot.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
spccache.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
syscache.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
timestamp.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tqual.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
tuplesort.h Teach CLUSTER to use seqscan-and-sort when it's faster than indexscan. 2010-10-07 20:00:28 -04:00
tuplestore.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
typcache.h Provide hashing support for arrays. 2010-10-30 21:56:11 -04:00
tzparser.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
uuid.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
varbit.h Rename the C functions bitand(), bitor() to bit_and(), bit_or(). 2010-12-27 14:57:41 -05:00
xml.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00