postgresql/src
Heikki Linnakangas a45c70acf3 Fix double-XLogBeginInsert call in GIN page splits.
If data checksums or wal_log_hints is on, and a GIN page is split, the code
to find a new, empty, block was called after having already called
XLogBeginInsert(). That causes an assertion failure or PANIC, if finding the
new block involves updating a FSM page that had not been modified since last
checkpoint, because that update is WAL-logged, which calls XLogBeginInsert
again. Nested XLogBeginInsert calls are not supported.

To fix, rearrange GIN code so that XLogBeginInsert is called later, after
finding the victim buffers.

Reported by Jeff Janes.
2015-06-28 22:16:21 +03:00
..
backend Fix double-XLogBeginInsert call in GIN page splits. 2015-06-28 22:16:21 +03:00
bin Don't choke on files that are removed while pg_rewind runs. 2015-06-28 21:35:51 +03:00
common pgindent run for 9.5 2015-05-23 21:35:49 -04:00
include Add missing_ok option to the SQL functions for reading files. 2015-06-28 21:35:46 +03:00
interfaces Check for out of memory when allocating sqlca. 2015-06-15 14:21:03 +02:00
makefiles Fix parallel make risk with new check temp-install setup 2015-04-29 20:34:22 -04:00
pl PL/Perl: Add alternative expected file for Perl 5.22 2015-06-21 10:37:24 -04:00
port Truncate strings in tarCreateHeader() with strlcpy(), not sprintf(). 2015-06-21 20:04:36 -04:00
template Remove duplicate specification of -Ae for HP-UX C compiler. 2015-01-13 22:52:11 -05:00
test Fix DDL command collection for TRANSFORM 2015-06-26 18:17:54 -03:00
timezone Update time zone data files to tzdata release 2015d. 2015-05-15 19:35:29 -04:00
tools pgindent: add typedef blog URL 2015-06-01 11:27:30 -04:00
tutorial Remove no-longer-required function declarations. 2015-05-24 12:20:23 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Create libpgcommon, and move pg_malloc et al to it 2013-02-12 11:21:05 -03:00
Makefile.global.in doc build: use unique Makefile variable to control temp install 2015-05-12 12:30:50 -04:00
Makefile.shlib Add transforms feature 2015-04-26 10:33:14 -04:00
nls-global.mk Setup error context callback for transaction lock waits 2014-03-19 15:10:36 -03:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00