aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/xlog_internal.h
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2010-03-28 09:27:02 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2010-03-28 09:27:02 +0000
commita760893dbda9934e287789d54bbd3c4ca3914ce0 (patch)
treedc27a0fd902264a9d9a6f882edca421df9ef255f /src/include/access/xlog_internal.h
parent59292f28cace8c0d4b038cadbb127b440e3a7815 (diff)
downloadpostgresql-a760893dbda9934e287789d54bbd3c4ca3914ce0.tar.gz
postgresql-a760893dbda9934e287789d54bbd3c4ca3914ce0.zip
Derive latestRemovedXid for btree deletes by reading heap pages. The
WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated.
Diffstat (limited to 'src/include/access/xlog_internal.h')
-rw-r--r--src/include/access/xlog_internal.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/access/xlog_internal.h b/src/include/access/xlog_internal.h
index 0787eb582c0..c93e3848e87 100644
--- a/src/include/access/xlog_internal.h
+++ b/src/include/access/xlog_internal.h
@@ -11,7 +11,7 @@
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/access/xlog_internal.h,v 1.30 2010/03/19 17:42:10 sriggs Exp $
+ * $PostgreSQL: pgsql/src/include/access/xlog_internal.h,v 1.31 2010/03/28 09:27:02 sriggs Exp $
*/
#ifndef XLOG_INTERNAL_H
#define XLOG_INTERNAL_H
@@ -71,7 +71,7 @@ typedef struct XLogContRecord
/*
* Each page of XLOG file has a header like this:
*/
-#define XLOG_PAGE_MAGIC 0x9002 /* can be used as WAL version indicator */
+#define XLOG_PAGE_MAGIC 0x9003 /* can be used as WAL version indicator */
typedef struct XLogPageHeaderData
{