Fujii Masao wrote: > *** a/src/backend/replication/walsender.c > --- b/src/backend/replication/walsender.c > *************** > *** 661,666 **** XLogSend(StringInfo outMsg) > --- 661,673 ---- > > sentPtr = endptr; > > + if (sentPtr.xrecoff >= XLogFileSize) > + { > + /* crossing a logid boundary */ > + sentPtr.xlogid += 1; > + sentPtr.xrecoff = 0; > + } > + > /* > * Read the log directly into the output buffer to prevent > * extra memcpy calls. >
Before that, endptr is advanced using XLByteAdvance() macro, which does handle xlogid boundaries. Is XLByteAdvance() broken? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers