diff options
| author | Tom Lane | 2016-09-09 22:17:07 +0000 |
|---|---|---|
| committer | Tom Lane | 2016-09-09 22:17:07 +0000 |
| commit | 1a4be103a523db8d47b464463ba175cc664442b2 (patch) | |
| tree | 51b2d399b5d8531f049001d8d0a6bf4366a1b7dc /src/include | |
| parent | b1328d78f88cdf4f7504004159e530b776f0de16 (diff) | |
Convert PageAddItem into a macro to save a few cycles.
Nowadays this is just a backwards-compatibility wrapper around
PageAddItemExtended, so let's avoid the extra level of function call.
In addition, because pretty much all callers are passing constants
for the two bool arguments, compilers will be able to constant-fold
the conversion to a flags bitmask.
Discussion: <552.1473445163@sss.pgh.pa.us>
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/storage/bufpage.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h index 0ea47f5457e..4cedff7fa4b 100644 --- a/src/include/storage/bufpage.h +++ b/src/include/storage/bufpage.h @@ -410,10 +410,13 @@ do { \ #define PAI_OVERWRITE (1 << 0) #define PAI_IS_HEAP (1 << 1) +#define PageAddItem(page, item, size, offsetNumber, overwrite, is_heap) \ + PageAddItemExtended(page, item, size, offsetNumber, \ + ((overwrite) ? PAI_OVERWRITE : 0) | \ + ((is_heap) ? PAI_IS_HEAP : 0)) + extern void PageInit(Page page, Size pageSize, Size specialSize); extern bool PageIsVerified(Page page, BlockNumber blkno); -extern OffsetNumber PageAddItem(Page page, Item item, Size size, - OffsetNumber offsetNumber, bool overwrite, bool is_heap); extern OffsetNumber PageAddItemExtended(Page page, Item item, Size size, OffsetNumber offsetNumber, int flags); extern Page PageGetTempPage(Page page); |
