aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/xlogutils.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-04-14 20:27:24 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-04-14 20:27:24 +0000
commitdefe93463c69f8e0bb717294a34d67c34ac0b03f (patch)
tree110d957ae6e376ac6c6ceed323be70c03ea55c40 /src/include/access/xlogutils.h
parent0fcc3c2f1d3cc71aa8affe082568b6e033ffa429 (diff)
downloadpostgresql-defe93463c69f8e0bb717294a34d67c34ac0b03f.tar.gz
postgresql-defe93463c69f8e0bb717294a34d67c34ac0b03f.zip
Make the world safe for full_page_writes. Allow XLOG records that try to
update no-longer-existing pages to fall through as no-ops, but make a note of each page number referenced by such records. If we don't see a later XLOG entry dropping the table or truncating away the page, complain at the end of XLOG replay. Since this fixes the known failure mode for full_page_writes = off, revert my previous band-aid patch that disabled that GUC variable.
Diffstat (limited to 'src/include/access/xlogutils.h')
-rw-r--r--src/include/access/xlogutils.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/include/access/xlogutils.h b/src/include/access/xlogutils.h
index a684656d035..6c2db1dc7b5 100644
--- a/src/include/access/xlogutils.h
+++ b/src/include/access/xlogutils.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/xlogutils.h,v 1.20 2006/03/29 21:17:39 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlogutils.h,v 1.21 2006/04/14 20:27:24 tgl Exp $
*/
#ifndef XLOG_UTILS_H
#define XLOG_UTILS_H
@@ -16,11 +16,13 @@
extern void XLogInitRelationCache(void);
+extern void XLogCheckInvalidPages(void);
extern void XLogCloseRelationCache(void);
extern Relation XLogOpenRelation(RelFileNode rnode);
extern void XLogDropRelation(RelFileNode rnode);
extern void XLogDropDatabase(Oid dbid);
+extern void XLogTruncateRelation(RelFileNode rnode, BlockNumber nblocks);
extern Buffer XLogReadBuffer(Relation reln, BlockNumber blkno, bool init);