postgresql/src
Heikki Linnakangas 59c02a36f0 Fix assert failure at end of recovery, broken by XLogInsert scaling patch.
Initialization of the first XLOG buffer at end-of-recovery was broken for
the case that the last read WAL record ended at a page boundary. Instead of
trying to copy the last full xlog page to the buffer cache in that case,
just set shared state so that the next page is initialized when the first
WAL record after startup is inserted. (that's what we did in earlier
version, too)

To make the shared state required for that case less surprising, replace the
XLogCtl->curridx variable, which was the index of the latest initialized
buffer, with an XLogRecPtr of how far the buffers have been initialized.
That also allows us to get rid of the XLogRecEndPtrToBufIdx macro.

While we're at it, make a similar change for XLogCtl->Write.curridx, getting
rid of that variable and calculating the next buffer to write from
XLogCtl->LogwrtResult instead.
2013-07-17 23:12:22 +03:00
..
backend Fix assert failure at end of recovery, broken by XLogInsert scaling patch. 2013-07-17 23:12:22 +03:00
bin Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY. 2013-07-16 12:55:44 -05:00
common pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
include Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
interfaces Fix PQconninfoParse error message handling 2013-07-15 20:04:14 -04:00
makefiles Install all a Makefile's extension controls, not just the first. 2013-07-03 19:03:31 -04:00
pl Make comments reflect that omission of SPI_gettypmod() is intentional. 2013-07-12 18:07:46 -04:00
port Send SIGKILL to children if they don't die quickly in immediate shutdown 2013-06-28 17:49:46 -04:00
template Remove _FORTIFY_SOURCE 2012-10-10 21:42:38 -04:00
test Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
timezone pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
tools Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
tutorial Modernize string literal syntax in tutorial example. 2013-01-19 17:20:32 -05: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 Improve support for building PGXS modules with VPATH. 2013-07-01 12:53:05 -04:00
Makefile.shlib Add pkg-config files for libpq and ecpg libraries 2013-03-31 16:58:40 -04:00
nls-global.mk NLS: Use msgmerge --previous option 2012-12-13 23:12:12 -05:00
win32.mak Autoconfiscate selection of 64-bit int type for 64-bit large object API. 2012-10-07 21:52:43 -04:00