summaryrefslogtreecommitdiff
path: root/src/backend/storage/block.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/block.h')
-rw-r--r--src/backend/storage/block.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/src/backend/storage/block.h b/src/backend/storage/block.h
deleted file mode 100644
index 5c006aa9d9..0000000000
--- a/src/backend/storage/block.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * block.h--
- * POSTGRES disk block definitions.
- *
- *
- * Copyright (c) 1994, Regents of the University of California
- *
- * $Id: block.h,v 1.1.1.1 1996/07/09 06:21:52 scrappy Exp $
- *
- *-------------------------------------------------------------------------
- */
-#ifndef BLOCK_H
-#define BLOCK_H
-
-#include "c.h"
-
-/*
- * BlockNumber:
- *
- * each data file (heap or index) is divided into postgres disk blocks
- * (which may be thought of as the unit of i/o -- a postgres buffer
- * contains exactly one disk block). the blocks are numbered
- * sequentially, 0 to 0xFFFFFFFE.
- *
- * InvalidBlockNumber is the same thing as P_NEW in buf.h.
- *
- * the access methods, the buffer manager and the storage manager are
- * more or less the only pieces of code that should be accessing disk
- * blocks directly.
- */
-typedef uint32 BlockNumber;
-
-#define InvalidBlockNumber ((BlockNumber) 0xFFFFFFFF)
-
-/*
- * BlockId:
- *
- * this is a storage type for BlockNumber. in other words, this type
- * is used for on-disk structures (e.g., in HeapTupleData) whereas
- * BlockNumber is the type on which calculations are performed (e.g.,
- * in access method code).
- *
- * there doesn't appear to be any reason to have separate types except
- * for the fact that BlockIds can be SHORTALIGN'd (and therefore any
- * structures that contains them, such as ItemPointerData, can also be
- * SHORTALIGN'd). this is an important consideration for reducing the
- * space requirements of the line pointer (ItemIdData) array on each
- * page and the header of each heap or index tuple, so it doesn't seem
- * wise to change this without good reason.
- */
-typedef struct BlockIdData {
- uint16 bi_hi;
- uint16 bi_lo;
-} BlockIdData;
-
-typedef BlockIdData *BlockId; /* block identifier */
-
-/* ----------------
- * support macros
- * ----------------
- */
-
-/*
- * BlockNumberIsValid --
- * True iff blockNumber is valid.
- */
-#define BlockNumberIsValid(blockNumber) \
- ((bool) ((int32) (blockNumber) != InvalidBlockNumber))
-
-/*
- * BlockIdIsValid --
- * True iff the block identifier is valid.
- */
-#define BlockIdIsValid(blockId) \
- ((bool) PointerIsValid(blockId))
-
-/*
- * BlockIdSet --
- * Sets a block identifier to the specified value.
- */
-#define BlockIdSet(blockId, blockNumber) \
- Assert(PointerIsValid(blockId)); \
- (blockId)->bi_hi = (blockNumber) >> 16; \
- (blockId)->bi_lo = (blockNumber) & 0xffff
-
-/*
- * BlockIdCopy --
- * Copy a block identifier.
- */
-#define BlockIdCopy(toBlockId, fromBlockId) \
- Assert(PointerIsValid(toBlockId)); \
- Assert(PointerIsValid(fromBlockId)); \
- (toBlockId)->bi_hi = (fromBlockId)->bi_hi; \
- (toBlockId)->bi_lo = (fromBlockId)->bi_lo
-
-/*
- * BlockIdEquals --
- * Check for block number equality.
- */
-#define BlockIdEquals(blockId1, blockId2) \
- ((blockId1)->bi_hi == (blockId2)->bi_hi && \
- (blockId1)->bi_lo == (blockId2)->bi_lo)
-
-/*
- * BlockIdGetBlockNumber --
- * Retrieve the block number from a block identifier.
- */
-#define BlockIdGetBlockNumber(blockId) \
- (AssertMacro(BlockIdIsValid(blockId)) ? \
- (BlockNumber) (((blockId)->bi_hi << 16) | ((uint16) (blockId)->bi_lo)) : \
- (BlockNumber) InvalidBlockNumber)
-
-#endif /* BLOCK_H */