Skip to content

Commit d0273c0

Browse files
committed
misc
1 parent e1a118e commit d0273c0

File tree

5 files changed

+28
-12
lines changed

5 files changed

+28
-12
lines changed

src/backend/access/transam/xlog.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
77
* Portions Copyright (c) 1994, Regents of the University of California
88
*
9-
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.16 2000/06/02 15:57:16 momjian Exp $
9+
* $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.17 2000/07/04 01:49:43 vadim Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -1402,7 +1402,7 @@ StartupXLOG()
14021402
record = ReadRecord(&RecPtr, buffer);
14031403
if (TransactionIdIsValid(record->xl_xid) &&
14041404
!TransactionIdDidCommit(record->xl_xid))
1405-
RmgrTable[record->xl_rmid].rm_undo(record);
1405+
RmgrTable[record->xl_rmid].rm_undo(EndRecPtr, record);
14061406
RecPtr = record->xl_prev;
14071407
} while (XLByteLE(checkPoint.undo, RecPtr));
14081408
elog(LOG, "Undo done at (%u, %u)",

src/include/access/htup.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: htup.h,v 1.32 2000/07/03 02:54:17 vadim Exp $
10+
* $Id: htup.h,v 1.33 2000/07/04 01:49:43 vadim Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -87,6 +87,8 @@ typedef struct xl_heap_delete
8787
xl_heaptid dtid; /* deleted tuple id */
8888
} xl_heap_delete;
8989

90+
#define SizeOfHeapDelete (offsetof(xl_heaptid, tid) + SizeOfIptrData))
91+
9092
/* This is what we need to know about insert - 26 + data */
9193
typedef struct xl_heap_insert
9294
{
@@ -99,6 +101,8 @@ typedef struct xl_heap_insert
99101
/* TUPLE DATA FOLLOWS AT END OF STRUCT */
100102
} xl_heap_insert;
101103

104+
#define SizeOfHeapInsert (offsetof(xl_heap_insert, mask) + sizeof(uint8))
105+
102106
/* This is what we need to know about update - 28 + data */
103107
typedef struct xl_heap_update
104108
{
@@ -111,13 +115,17 @@ typedef struct xl_heap_update
111115
/* NEW TUPLE DATA FOLLOWS AT END OF STRUCT */
112116
} xl_heap_update;
113117

118+
#define SizeOfHeapUpdate (offsetof(xl_heap_update, mask) + sizeof(uint8))
119+
114120
/* This is what we need to know about tuple move - 24 bytes */
115121
typedef struct xl_heap_move
116122
{
117123
xl_heaptid ftid; /* moved from */
118124
ItemPointerData ttid; /* moved to */
119125
} xl_heap_move;
120126

127+
#define SizeOfHeapMove (offsetof(xl_heap_move, ttid) + SizeOfIptrData))
128+
121129
/* end of XLOG stuff */
122130

123131
#endif /* XLOG */

src/include/access/rmgr.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ typedef uint8 RmgrId;
1313
typedef struct RmgrData
1414
{
1515
char *rm_name;
16-
char *(*rm_redo) (); /* REDO(XLogRecPtr rptr) */
17-
char *(*rm_undo) (); /* UNDO(XLogRecPtr rptr) */
16+
void (*rm_redo)(); /* REDO(XLogRecPtr lsn, XLogRecord rptr) */
17+
void (*rm_undo)(); /* UNDO(XLogRecPtr lsn, XLogRecord rptr) */
1818
} RmgrData;
1919

2020
extern RmgrData *RmgrTable;
@@ -24,11 +24,12 @@ extern RmgrData *RmgrTable;
2424
*/
2525
#define RM_XLOG_ID 0
2626
#define RM_XACT_ID 1
27-
#define RM_HEAP_ID 2
28-
#define RM_BTREE_ID 3
29-
#define RM_HASH_ID 4
30-
#define RM_RTREE_ID 5
31-
#define RM_GIST_ID 6
27+
#define RM_SMGR_ID 2
28+
#define RM_HEAP_ID 10
29+
#define RM_BTREE_ID 11
30+
#define RM_HASH_ID 12
31+
#define RM_RTREE_ID 13
32+
#define RM_GIST_ID 14
3233
#define RM_MAX_ID RM_GIST_ID
3334

3435
#endif /* RMGR_H */

src/include/access/xlog.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ typedef struct XLogRecord
2222
XLogRecPtr xl_prev; /* ptr to previous record in log */
2323
XLogRecPtr xl_xact_prev; /* ptr to previous record of this xact */
2424
TransactionId xl_xid; /* xact id */
25-
uint16 xl_len; /* len of record on this page */
25+
uint16 xl_len; /* len of record *data* on this page */
2626
uint8 xl_info;
2727
RmgrId xl_rmid; /* resource manager inserted this record */
2828

@@ -32,6 +32,10 @@ typedef struct XLogRecord
3232

3333
#define SizeOfXLogRecord DOUBLEALIGN(sizeof(XLogRecord))
3434
#define MAXLOGRECSZ (2 * BLCKSZ)
35+
36+
#define XLogRecGetData(record) \
37+
((char*)record + SizeOfXLogRecord)
38+
3539
/*
3640
* When there is no space on current page we continue on the next
3741
* page with subrecord.

src/include/storage/itemptr.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: itemptr.h,v 1.14 2000/01/26 05:58:33 momjian Exp $
10+
* $Id: itemptr.h,v 1.15 2000/07/04 01:49:44 vadim Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -30,6 +30,9 @@ typedef struct ItemPointerData
3030
OffsetNumber ip_posid;
3131
} ItemPointerData;
3232

33+
#define SizeOfIptrData \
34+
(offsetof(ItemPointerData, ip_posid) + sizeof(OffsetNumber))
35+
3336
typedef ItemPointerData *ItemPointer;
3437

3538
/* ----------------

0 commit comments

Comments
 (0)