diff options
author | Neil Conway <neilc@samurai.com> | 2003-12-14 00:34:47 +0000 |
---|---|---|
committer | Neil Conway <neilc@samurai.com> | 2003-12-14 00:34:47 +0000 |
commit | fef0c8345a96f953ebfe59fcc22a9eeb980b25c5 (patch) | |
tree | 853c777b605251bd9143a855d21cd12e62c9be06 /src/include | |
parent | 81e9455150bcb1ebc5774c7c4fd4d5ed6ba8ac1b (diff) | |
download | postgresql-fef0c8345a96f953ebfe59fcc22a9eeb980b25c5.tar.gz postgresql-fef0c8345a96f953ebfe59fcc22a9eeb980b25c5.zip |
I posted some bufmgr cleanup a few weeks ago, but it conflicted with
some concurrent changes Jan was making to the bufmgr. Here's an
updated version of the patch -- it should apply cleanly to CVS
HEAD and passes the regression tests.
This patch makes the following changes:
- remove the UnlockAndReleaseBuffer() and UnlockAndWriteBuffer()
macros, and replace uses of them with calls to the appropriate
functions.
- remove a bunch of #ifdef BMTRACE code: it is ugly & broken
(i.e. it doesn't compile)
- make BufferReplace() return a bool, not an int
- cleanup some logic in bufmgr.c; should be functionality
equivalent to the previous code, just cleaner now
- remove the BM_PRIVATE flag as it is unused
- improve a few comments, etc.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/storage/buf_internals.h | 43 | ||||
-rw-r--r-- | src/include/storage/bufmgr.h | 15 |
2 files changed, 9 insertions, 49 deletions
diff --git a/src/include/storage/buf_internals.h b/src/include/storage/buf_internals.h index 5478f1064e8..9e7864c7508 100644 --- a/src/include/storage/buf_internals.h +++ b/src/include/storage/buf_internals.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/buf_internals.h,v 1.65 2003/11/29 22:41:13 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/storage/buf_internals.h,v 1.66 2003/12/14 00:34:47 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -33,14 +33,13 @@ extern int ShowPinTrace; * Flags for buffer descriptors */ #define BM_DIRTY (1 << 0) -#define BM_PRIVATE (1 << 1) -#define BM_VALID (1 << 2) -#define BM_DELETED (1 << 3) -#define BM_FREE (1 << 4) -#define BM_IO_IN_PROGRESS (1 << 5) -#define BM_IO_ERROR (1 << 6) -#define BM_JUST_DIRTIED (1 << 7) -#define BM_PIN_COUNT_WAITER (1 << 8) +#define BM_VALID (1 << 1) +#define BM_DELETED (1 << 2) +#define BM_FREE (1 << 3) +#define BM_IO_IN_PROGRESS (1 << 4) +#define BM_IO_ERROR (1 << 5) +#define BM_JUST_DIRTIED (1 << 6) +#define BM_PIN_COUNT_WAITER (1 << 7) typedef bits16 BufFlags; @@ -136,32 +135,6 @@ typedef struct Buffer id; } BufferLookupEnt; -/* - * mao tracing buffer allocation - */ - -/*#define BMTRACE*/ - -#ifdef BMTRACE - -typedef struct _bmtrace -{ - int bmt_pid; - int bmt_buf; - Oid bmt_dbid; - Oid bmt_relid; - BlockNumber bmt_blkno; - int bmt_op; - -#define BMT_NOTUSED 0 -#define BMT_ALLOCFND 1 -#define BMT_ALLOCNOTFND 2 -#define BMT_DEALLOC 3 - -} bmtrace; -#endif /* BMTRACE */ - - /* counters in buf_init.c */ extern long int ReadBufferCount; extern long int ReadLocalBufferCount; diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index c4ac75262cf..7f955ceef3a 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.72 2003/11/29 22:41:13 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/storage/bufmgr.h,v 1.73 2003/12/14 00:34:47 neilc Exp $ * *------------------------------------------------------------------------- */ @@ -57,19 +57,6 @@ extern long *LocalRefCount; */ #define BAD_BUFFER_ID(bid) ((bid) < 1 || (bid) > NBuffers) -#define INVALID_DESCRIPTOR (-3) - -#define UnlockAndReleaseBuffer(buffer) \ -( \ - LockBuffer(buffer, BUFFER_LOCK_UNLOCK), \ - ReleaseBuffer(buffer) \ -) - -#define UnlockAndWriteBuffer(buffer) \ -( \ - LockBuffer(buffer, BUFFER_LOCK_UNLOCK), \ - WriteBuffer(buffer) \ -) /* * BufferIsValid |