While reading patch-2 (2-move-continuation-record-to-page-header.patch) of
WAL Format
Changes(http://archives.postgresql.org/message-id/4FDA5136.6080206@enterpris
edb.com), I had few observations which are summarized below:
1.
@@ -693,7 +693,6 @@ XLogInsert(RmgrId rmid, uint8 info, XLogRecData *rdata)
{
XLogCtlInsert *Insert = &XLogCtl->Insert;
XLogRecord *record;
- XLogContRecord *contrecord;
XLogRecPtr RecPtr;
XLogRecPtr WriteRqst;
uint32 freespace;
@@ -1082,9 +1081,7 @@ begin:;
curridx = Insert->curridx;
/* Insert cont-record header */
Insert->currpage->xlp_info |= XLP_FIRST_IS_CONTRECORD;
- contrecord = (XLogContRecord *) Insert->currpos;
- contrecord->xl_rem_len = write_len;
- Insert->currpos += SizeOfXLogContRecord;
+ Insert->currpage->xlp_rem_len = write_len;
After above code changes the comment "/* Insert cont-record header */"
should be changed.
2.
Is XLP_FIRST_IS_CONTRECORD required after putting xl_rem_len in page header;
Can't we do handling based on xl_rem_len?
Sorry for sending the observations in pieces rather than all-together, as I
am not sure how much I will be able to complete.
So what ever I am able to read, I am sending you my doubts or observations.
With Regards,
Amit Kapila.