On Sun, Jun 10, 2012 at 7:55 PM, Magnus Hagander <[email protected]> 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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers