diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-21 00:06:22 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-02-21 00:06:22 +0000 |
commit | 70508ba7aed76954b7e630a4952e1360c15db830 (patch) | |
tree | 5e688d748e5a183a1248153203ff8ededfd020a8 /src/include/access/xlog.h | |
parent | 4df0f1d26f62e835bb357fa7c2e3d5de5fcbf802 (diff) | |
download | postgresql-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.h | 6 |
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[]; |