summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2022-07-07 06:30:52 +0000
committerPeter Eisentraut2022-07-07 06:36:51 +0000
commitd63d957e330c611f7a8c0ed02e4407f40f975026 (patch)
treeb600b852d4ccde421e0ca71d2a8fe5b964c47963
parent495ed0ef2d72a6a74def296e042022479d5d07bd (diff)
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 <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/5b558da8-99fb-0a99-83dd-f72f05388517%40enterprisedb.com
-rw-r--r--src/include/storage/block.h53
1 files changed, 23 insertions, 30 deletions
diff --git a/src/include/storage/block.h b/src/include/storage/block.h
index d756e3fda5e..4d7b776f1c7 100644
--- a/src/include/storage/block.h
+++ b/src/include/storage/block.h
@@ -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 */