postgresql/src/backend
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
..
access Fix assert failure at end of recovery, broken by XLogInsert scaling patch. 2013-07-17 23:12:22 +03:00
bootstrap Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
catalog Update messages, comments and documentation for materialized views. 2013-07-05 15:37:51 -04:00
commands Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY. 2013-07-16 12:55:44 -05:00
executor Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
foreign Arrange to cache FdwRoutine structs in foreign tables' relcache entries. 2013-03-06 23:48:09 -05:00
lib pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
libpq Avoid reading below the start of a stack variable in tokenize_file(). 2013-06-12 19:50:52 -04:00
main Renovate display of non-ASCII messages on Windows. 2013-06-26 11:17:33 -04:00
nodes Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
optimizer Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
parser Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
po Translation updates 2013-06-24 14:16:44 -04:00
port Use SA_RESTART for all signals, including SIGALRM. 2013-06-15 15:39:51 -04:00
postmaster Allow background workers to be started dynamically. 2013-07-16 13:02:15 -04:00
regex pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
replication Support clean switchover. 2013-06-26 02:14:37 +09:00
rewrite Update messages, comments and documentation for materialized views. 2013-07-05 15:37:51 -04:00
snowball Update copyrights for 2013 2013-01-01 17:15:01 -05:00
storage Allow background workers to be started dynamically. 2013-07-16 13:02:15 -04:00
tcop Add session_preload_libraries configuration parameter 2013-07-12 21:23:50 -04:00
tsearch pgindent run for release 9.3 2013-05-29 16:58:43 -04:00
utils Fix end-of-loop optimization in pglz_find_match() function. 2013-07-17 20:37:09 +03:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile Move relpath() to libpgcommon 2013-02-21 22:46:17 -03:00
nls.mk Translation updates 2013-05-05 22:34:23 -04:00