On Sun, Jun 10, 2012 at 7:55 PM, Magnus Hagander <mag...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers