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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy