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

Reply via email to