Re: pg_receivexlog and feedback message

Fujii Masao <masao.fujii@gmail.com>

From: Fujii Masao <masao.fujii@gmail.com>
To: Magnus Hagander <magnus@hagander.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-06-10T14:02:16Z
Lists: pgsql-hackers
On Sun, Jun 10, 2012 at 7:55 PM, Magnus Hagander <magnus@hagander.net> wrote:
> How about this?

+				/*
+				 * Set flushed position to the last byte in the previous
+				 * file. Per above we know that xrecoff%XLOG_SEG_SIZE=0
+				 */
+				flushedpos = blockpos;
+				if (flushedpos.xrecoff == 0)
+				{
+					flushedpos.xlogid--;
+					flushedpos.xrecoff = XLogFileSize-1;
+				}
+				else
+					flushedpos.xrecoff--;

flushedpos.xrecoff doesn't need to be decremented by one.
If xrecoff % XLOG_SEG_SIZE = 0, the position should be the last
byte of previous (i.e., flushed) WAL file.

Regards,

-- 
Fujii Masao