Properly access a buffer's LSN using existing access macros instead of abusing
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 20 Oct 2008 21:11:15 +0000 (21:11 +0000)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 20 Oct 2008 21:11:15 +0000 (21:11 +0000)
knowledge of page layout.

Stolen from Jonah Harris' CRC patch

src/backend/storage/buffer/bufmgr.c

index 46b4e0afa4e914e5ca4e58d388b04516b768be1f..86281c11288d78cf51301d526d2737f145a77a11 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.238 2008/09/17 13:15:55 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.239 2008/10/20 21:11:15 alvherre Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -48,7 +48,7 @@
 
 /* Note: these two macros only work on shared buffers, not local ones! */
 #define BufHdrGetBlock(bufHdr) ((Block) (BufferBlocks + ((Size) (bufHdr)->buf_id) * BLCKSZ))
-#define BufferGetLSN(bufHdr)   (*((XLogRecPtr*) BufHdrGetBlock(bufHdr)))
+#define BufferGetLSN(bufHdr)   (PageGetLSN(BufHdrGetBlock(bufHdr)))
 
 /* Note: this macro only works on local buffers, not shared ones! */
 #define LocalBufHdrGetBlock(bufHdr) \