From cc87402d6e40994a53adeba0e11efb1bafcd6451 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Sun, 8 Jun 2008 22:00:48 +0000 Subject: [PATCH] Move BufferGetPageSize and BufferGetPage from bufpage.h to bufmgr.h. It is more logical that way, and also it reduces the amount of unnecessary includes in bufpage.h, which is widely used. Zdenek Kotala. My previous patch to bufpage.h should also have credited him as author, but I forgot (sorry about that). --- src/backend/access/gin/ginentrypage.c | 4 +++- src/backend/access/heap/heapam.c | 3 ++- src/backend/access/heap/hio.c | 4 ++-- src/backend/access/heap/pruneheap.c | 4 ++-- src/backend/access/heap/rewriteheap.c | 3 ++- src/backend/access/transam/xlog.c | 4 ++-- src/backend/access/transam/xlogutils.c | 4 ++-- src/backend/commands/analyze.c | 3 ++- src/backend/storage/buffer/bufmgr.c | 4 ++-- src/include/storage/bufmgr.h | 26 +++++++++++++++++++++++++- src/include/storage/bufpage.h | 26 +------------------------- 11 files changed, 45 insertions(+), 40 deletions(-) diff --git a/src/backend/access/gin/ginentrypage.c b/src/backend/access/gin/ginentrypage.c index 42f98cf1e3..3d43353d61 100644 --- a/src/backend/access/gin/ginentrypage.c +++ b/src/backend/access/gin/ginentrypage.c @@ -8,13 +8,15 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/gin/ginentrypage.c,v 1.14 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/access/gin/ginentrypage.c,v 1.15 2008/06/08 22:00:46 alvherre Exp $ *------------------------------------------------------------------------- */ #include "postgres.h" + #include "access/gin.h" #include "access/tuptoaster.h" +#include "storage/bufmgr.h" /* * forms tuple for entry tree. On leaf page, Index tuple has diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 45ec881e39..c0b46e20e7 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.257 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.258 2008/06/08 22:00:47 alvherre Exp $ * * * INTERFACE ROUTINES @@ -52,6 +52,7 @@ #include "catalog/namespace.h" #include "miscadmin.h" #include "pgstat.h" +#include "storage/bufmgr.h" #include "storage/lmgr.h" #include "storage/procarray.h" #include "storage/smgr.h" diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c index bd6eab29cf..df902a02f3 100644 --- a/src/backend/access/heap/hio.c +++ b/src/backend/access/heap/hio.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/heap/hio.c,v 1.70 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/access/heap/hio.c,v 1.71 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -16,7 +16,7 @@ #include "postgres.h" #include "access/hio.h" -#include "storage/bufpage.h" +#include "storage/bufmgr.h" #include "storage/freespace.h" #include "storage/lmgr.h" diff --git a/src/backend/access/heap/pruneheap.c b/src/backend/access/heap/pruneheap.c index ce3d92c630..f86c53aad2 100644 --- a/src/backend/access/heap/pruneheap.c +++ b/src/backend/access/heap/pruneheap.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/heap/pruneheap.c,v 1.12 2008/05/13 15:44:08 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/access/heap/pruneheap.c,v 1.13 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -19,7 +19,7 @@ #include "access/transam.h" #include "miscadmin.h" #include "pgstat.h" -#include "storage/bufpage.h" +#include "storage/bufmgr.h" #include "storage/off.h" #include "utils/inval.h" #include "utils/tqual.h" diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c index 04246d7497..dd7ed961ae 100644 --- a/src/backend/access/heap/rewriteheap.c +++ b/src/backend/access/heap/rewriteheap.c @@ -96,7 +96,7 @@ * Portions Copyright (c) 1994-5, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/heap/rewriteheap.c,v 1.12 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/access/heap/rewriteheap.c,v 1.13 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -106,6 +106,7 @@ #include "access/rewriteheap.h" #include "access/transam.h" #include "access/tuptoaster.h" +#include "storage/bufmgr.h" #include "storage/smgr.h" #include "utils/memutils.h" diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 6fda1d8270..26f0fa7293 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.312 2008/05/28 15:22:05 mha Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.313 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -38,7 +38,7 @@ #include "miscadmin.h" #include "pgstat.h" #include "postmaster/bgwriter.h" -#include "storage/bufpage.h" +#include "storage/bufmgr.h" #include "storage/fd.h" #include "storage/ipc.h" #include "storage/pmsignal.h" diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c index f49f6dc209..a73bdb52a4 100644 --- a/src/backend/access/transam/xlogutils.c +++ b/src/backend/access/transam/xlogutils.c @@ -11,14 +11,14 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlogutils.c,v 1.53 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlogutils.c,v 1.54 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ #include "postgres.h" #include "access/xlogutils.h" -#include "storage/bufpage.h" +#include "storage/bufmgr.h" #include "storage/smgr.h" #include "utils/hsearch.h" diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index 29371ba41f..fb6f528386 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/analyze.c,v 1.121 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/commands/analyze.c,v 1.122 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -33,6 +33,7 @@ #include "parser/parse_relation.h" #include "pgstat.h" #include "postmaster/autovacuum.h" +#include "storage/bufmgr.h" #include "storage/proc.h" #include "storage/procarray.h" #include "utils/acl.h" diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index ab0407188a..7ee888d78d 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.230 2008/05/12 16:06:09 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.231 2008/06/08 22:00:47 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -36,7 +36,7 @@ #include "miscadmin.h" #include "postmaster/bgwriter.h" #include "storage/buf_internals.h" -#include "storage/bufpage.h" +#include "storage/bufmgr.h" #include "storage/ipc.h" #include "storage/proc.h" #include "storage/smgr.h" diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index 6ad711b071..d503d56eba 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.111 2008/01/01 19:45:58 momjian Exp $ + * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.112 2008/06/08 22:00:48 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ #define BUFMGR_H #include "storage/buf.h" +#include "storage/bufpage.h" #include "utils/rel.h" typedef void *Block; @@ -114,6 +115,29 @@ extern PGDLLIMPORT int32 *LocalRefCount; (Block) (BufferBlocks + ((Size) ((buffer) - 1)) * BLCKSZ) \ ) +/* + * BufferGetPageSize + * Returns the page size within a buffer. + * + * Notes: + * Assumes buffer is valid. + * + * The buffer can be a raw disk block and need not contain a valid + * (formatted) disk page. + */ +/* XXX should dig out of buffer descriptor */ +#define BufferGetPageSize(buffer) \ +( \ + AssertMacro(BufferIsValid(buffer)), \ + (Size)BLCKSZ \ +) + +/* + * BufferGetPage + * Returns the page associated with a buffer. + */ +#define BufferGetPage(buffer) ((Page)BufferGetBlock(buffer)) + /* * prototypes for functions in bufmgr.c */ diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h index 0565ba201a..a52fb62a9f 100644 --- a/src/include/storage/bufpage.h +++ b/src/include/storage/bufpage.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.80 2008/06/06 22:35:22 alvherre Exp $ + * $PostgreSQL: pgsql/src/include/storage/bufpage.h,v 1.81 2008/06/08 22:00:48 alvherre Exp $ * *------------------------------------------------------------------------- */ @@ -15,7 +15,6 @@ #define BUFPAGE_H #include "access/xlogdefs.h" -#include "storage/bufmgr.h" #include "storage/item.h" #include "storage/off.h" @@ -290,29 +289,6 @@ typedef PageHeaderData *PageHeader; (Item)(((char *)(page)) + ItemIdGetOffset(itemId)) \ ) -/* - * BufferGetPageSize - * Returns the page size within a buffer. - * - * Notes: - * Assumes buffer is valid. - * - * The buffer can be a raw disk block and need not contain a valid - * (formatted) disk page. - */ -/* XXX should dig out of buffer descriptor */ -#define BufferGetPageSize(buffer) \ -( \ - AssertMacro(BufferIsValid(buffer)), \ - (Size)BLCKSZ \ -) - -/* - * BufferGetPage - * Returns the page associated with a buffer. - */ -#define BufferGetPage(buffer) ((Page)BufferGetBlock(buffer)) - /* * PageGetMaxOffsetNumber * Returns the maximum offset number used by the given page. -- 2.40.0