mirror of
https://github.com/postgres/postgres.git
synced 2026-04-15 22:10:45 -04:00
Convert macros to static inline functions (block.h)
Remove BlockIdIsValid(), which wasn't used and is unnecessary. Remove BlockIdCopy(), which wasn't used and can be done by struct assignment. (BlockIdEquals() also isn't used, but seems reasonable to keep around.) Reviewed-by: Amul Sul <sulamul@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/5b558da8-99fb-0a99-83dd-f72f05388517%40enterprisedb.com
This commit is contained in:
parent
495ed0ef2d
commit
d63d957e33
1 changed files with 23 additions and 30 deletions
|
|
@ -59,7 +59,7 @@ typedef struct BlockIdData
|
|||
typedef BlockIdData *BlockId; /* block identifier */
|
||||
|
||||
/* ----------------
|
||||
* support macros
|
||||
* support functions
|
||||
* ----------------
|
||||
*/
|
||||
|
||||
|
|
@ -67,49 +67,42 @@ typedef BlockIdData *BlockId; /* block identifier */
|
|||
* BlockNumberIsValid
|
||||
* True iff blockNumber is valid.
|
||||
*/
|
||||
#define BlockNumberIsValid(blockNumber) \
|
||||
((BlockNumber) (blockNumber) != InvalidBlockNumber)
|
||||
|
||||
/*
|
||||
* BlockIdIsValid
|
||||
* True iff the block identifier is valid.
|
||||
*/
|
||||
#define BlockIdIsValid(blockId) \
|
||||
PointerIsValid(blockId)
|
||||
static inline bool
|
||||
BlockNumberIsValid(BlockNumber blockNumber)
|
||||
{
|
||||
return blockNumber != InvalidBlockNumber;
|
||||
}
|
||||
|
||||
/*
|
||||
* BlockIdSet
|
||||
* Sets a block identifier to the specified value.
|
||||
*/
|
||||
#define BlockIdSet(blockId, blockNumber) \
|
||||
( \
|
||||
(blockId)->bi_hi = (blockNumber) >> 16, \
|
||||
(blockId)->bi_lo = (blockNumber) & 0xffff \
|
||||
)
|
||||
|
||||
/*
|
||||
* BlockIdCopy
|
||||
* Copy a block identifier.
|
||||
*/
|
||||
#define BlockIdCopy(toBlockId, fromBlockId) \
|
||||
( \
|
||||
(toBlockId)->bi_hi = (fromBlockId)->bi_hi, \
|
||||
(toBlockId)->bi_lo = (fromBlockId)->bi_lo \
|
||||
)
|
||||
static inline void
|
||||
BlockIdSet(BlockIdData *blockId, BlockNumber blockNumber)
|
||||
{
|
||||
blockId->bi_hi = blockNumber >> 16;
|
||||
blockId->bi_lo = blockNumber & 0xffff;
|
||||
}
|
||||
|
||||
/*
|
||||
* BlockIdEquals
|
||||
* Check for block number equality.
|
||||
*/
|
||||
#define BlockIdEquals(blockId1, blockId2) \
|
||||
((blockId1)->bi_hi == (blockId2)->bi_hi && \
|
||||
(blockId1)->bi_lo == (blockId2)->bi_lo)
|
||||
static inline bool
|
||||
BlockIdEquals(const BlockIdData *blockId1, const BlockIdData *blockId2)
|
||||
{
|
||||
return (blockId1->bi_hi == blockId2->bi_hi &&
|
||||
blockId1->bi_lo == blockId2->bi_lo);
|
||||
}
|
||||
|
||||
/*
|
||||
* BlockIdGetBlockNumber
|
||||
* Retrieve the block number from a block identifier.
|
||||
*/
|
||||
#define BlockIdGetBlockNumber(blockId) \
|
||||
((((BlockNumber) (blockId)->bi_hi) << 16) | ((BlockNumber) (blockId)->bi_lo))
|
||||
static inline BlockNumber
|
||||
BlockIdGetBlockNumber(const BlockIdData *blockId)
|
||||
{
|
||||
return (((BlockNumber) blockId->bi_hi) << 16) | ((BlockNumber) blockId->bi_lo);
|
||||
}
|
||||
|
||||
#endif /* BLOCK_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue