aboutsummaryrefslogtreecommitdiff
path: root/src/include/access/xlog.h
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-02-21 00:06:22 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-02-21 00:06:22 +0000
commit70508ba7aed76954b7e630a4952e1360c15db830 (patch)
tree5e688d748e5a183a1248153203ff8ededfd020a8 /src/include/access/xlog.h
parent4df0f1d26f62e835bb357fa7c2e3d5de5fcbf802 (diff)
downloadpostgresql-70508ba7aed76954b7e630a4952e1360c15db830.tar.gz
postgresql-70508ba7aed76954b7e630a4952e1360c15db830.zip
Make btree index structure adjustments and WAL logging changes needed to
support btree compaction, as per proposal of a few days ago. btree index pages no longer store parent links, instead they have a level indicator (counting up from zero for leaf pages). The FixBTree recovery logic is removed, and replaced by code that detects missing parent-level insertions during WAL replay. Also, generate appropriate WAL entries when updating btree metapage and when building a btree index from scratch. I believe btree indexes are now completely WAL-legal for the first time. initdb forced due to index and WAL changes.
Diffstat (limited to 'src/include/access/xlog.h')
-rw-r--r--src/include/access/xlog.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h
index 1659c65b930..a1be9bacf3b 100644
--- a/src/include/access/xlog.h
+++ b/src/include/access/xlog.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: xlog.h,v 1.40 2002/11/15 02:44:57 momjian Exp $
+ * $Id: xlog.h,v 1.41 2003/02/21 00:06:22 tgl Exp $
*/
#ifndef XLOG_H
#define XLOG_H
@@ -145,10 +145,12 @@ typedef XLogPageHeaderData *XLogPageHeader;
*/
typedef struct RmgrData
{
- char *rm_name;
+ const char *rm_name;
void (*rm_redo) (XLogRecPtr lsn, XLogRecord *rptr);
void (*rm_undo) (XLogRecPtr lsn, XLogRecord *rptr);
void (*rm_desc) (char *buf, uint8 xl_info, char *rec);
+ void (*rm_startup) (void);
+ void (*rm_cleanup) (void);
} RmgrData;
extern RmgrData RmgrTable[];