postgresql/src/include
Tom Lane 7ae3c0f67b Fix failure to ensure that a snapshot is available to datatype input functions
when they are invoked by the parser.  We had been setting up a snapshot at
plan time but really it needs to be done earlier, before parse analysis.
Per report from Dmitry Koterov.

Also fix two related problems discovered while poking at this one:
exec_bind_message called datatype input functions without establishing a
snapshot, and SET CONSTRAINTS IMMEDIATE could call trigger functions without
establishing a snapshot.

Backpatch to 8.2.  The underlying problem goes much further back, but it is
masked in 8.1 and before because we didn't attempt to invoke domain check
constraints within datatype input.  It would only be exposed if a C-language
datatype input function used the snapshot; which evidently none do, or we'd
have heard complaints sooner.  Since this code has changed a lot over time,
a back-patch is hardly risk-free, and so I'm disinclined to patch further
than absolutely necessary.
2008-12-13 02:00:53 +00:00
..
access Fix GiST's killing tuple: GISTScanOpaque->curpos wasn't 2008-10-22 12:55:59 +00:00
bootstrap pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
catalog Add a defense to prevent core dumps if 8.2 version of rank_cd() is used with 2006-12-28 01:09:04 +00:00
commands Back-patch the 8.3 fix that prohibits TRUNCATE, CLUSTER, and REINDEX when the 2008-05-27 21:13:25 +00:00
executor Ensure that the contents of a holdable cursor don't depend on out-of-line 2008-12-01 17:06:35 +00:00
lib Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
libpq Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
mb pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
nodes Fix an oversight in the code that makes transitive-equality deductions from 2008-12-01 21:06:31 +00:00
optimizer Get rid of adjust_appendrel_attr_needed(), which has been broken ever since 2008-11-11 18:13:54 +00:00
parser Fix failure to ensure that a snapshot is available to datatype input functions 2008-12-13 02:00:53 +00:00
port Back-patch mingw configure-check for gettimeofday so that 8.2 can 2007-11-29 16:44:26 +00:00
postmaster Implement a chunking protocol for writes to the syslogger pipe, with messages 2007-06-14 01:49:39 +00:00
regex Fix assorted security-grade bugs in the regex engine. All of these problems 2008-01-03 20:48:49 +00:00
rewrite Fix pull_up_simple_union_all to copy all rtable entries from child subquery to 2008-08-14 20:32:11 +00:00
storage Widen the nLocks counts in local lock tables from int to int64. This 2008-09-16 01:56:43 +00:00
tcop On platforms that have getrlimit(RLIMIT_STACK), use it to ensure that 2006-10-07 19:25:29 +00:00
utils Install a more robust solution for the problem of infinite error-processing 2008-10-27 19:37:36 +00:00
c.h Allow Borland CC to compile libpq and psql. 2007-01-11 02:40:12 +00:00
fmgr.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
funcapi.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
getaddrinfo.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
getopt_long.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Makefile Allow installation into directories containing spaces in the name. 2005-12-09 21:19:36 +00:00
miscadmin.h Make standard maintenance operations (including VACUUM, ANALYZE, REINDEX, 2008-01-03 21:23:45 +00:00
pg_config.h.in Back-patch mingw configure-check for gettimeofday so that 8.2 can 2007-11-29 16:44:26 +00:00
pg_config.h.win32 tag 8.2.11 2008-10-31 02:44:09 +00:00
pg_config_manual.h Add built-in userlock manipulation functions to replace the former 2006-09-18 22:40:40 +00:00
pg_trace.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
pgstat.h Remove the pgstat_drop_relation() call from smgr_internal_unlink(), because 2007-07-08 22:23:25 +00:00
pgtime.h Fix up timetz input so that a date is required only when the specified 2006-10-18 16:43:14 +00:00
port.h Avoid using unnecessary pgwin32_safestat in libpq. 2008-04-16 14:24:38 +00:00
postgres.h Adjust DatumGetBool macro so that it isn't fooled by garbage in the Datum 2008-03-25 19:31:31 +00:00
postgres_ext.h Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
postgres_fe.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
rusagestub.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00