postgresql/src
Tom Lane da63fec7db Add missing buffer lock acquisition in GetTupleForTrigger().
If we had not been holding buffer pin continuously since the tuple was
initially fetched by the UPDATE or DELETE query, it would be possible for
VACUUM or a page-prune operation to move the tuple while we're trying to
copy it.  This would result in a garbage "old" tuple value being passed to
an AFTER ROW UPDATE or AFTER ROW DELETE trigger.  The preconditions for
this are somewhat improbable, and the timing constraints are very tight;
so it's not so surprising that this hasn't been reported from the field,
even though the bug has been there a long time.

Problem found by Andres Freund.  Back-patch to all active branches.
2012-11-30 13:55:55 -05:00
..
backend Add missing buffer lock acquisition in GetTupleForTrigger(). 2012-11-30 13:55:55 -05:00
bin Fix pg_resetxlog to use correct path to postmaster.pid. 2012-11-22 11:24:29 -05:00
include Produce a more useful error message for over-length Unix socket paths. 2012-11-29 19:57:01 -05:00
interfaces Add libpq function PQconninfo() 2012-11-30 15:11:08 +09:00
makefiles Fix PGXS support for building loadable modules on AIX. 2012-10-09 21:04:06 -04:00
pl Refactor flex and bison make rules 2012-10-11 06:57:04 -04:00
port Remove redundant code for getnameinfo() replacement 2012-10-04 21:45:14 -04:00
template Remove _FORTIFY_SOURCE 2012-10-10 21:42:38 -04:00
test Fix SELECT DISTINCT with index-optimized MIN/MAX on inheritance trees. 2012-11-26 12:57:58 -05:00
timezone In our source code, make a copy of getopt's 'optarg' string arguments, 2012-10-12 13:35:43 -04:00
tools Adjust find_status for newer Linux 'nm' output format. 2012-11-13 21:08:07 -05:00
tutorial Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
DEVELOPERS
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in Have make never delete intermediate files automatically 2012-10-31 23:33:35 -04:00
Makefile.shlib Remove configure flag --disable-shared, as it is no longer used by any 2012-08-30 16:26:53 -04:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
nls-global.mk Lots of doc corrections. 2012-04-23 22:43:09 -04:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00