Andres Freund <and...@anarazel.de> writes: > On 2015-07-01 12:55:48 -0300, Alvaro Herrera wrote: >> Tom Lane wrote: >>> I'm thinking we really ought to mount a campaign to replace some of these >>> macros with inlined-if-possible functions.
>> My guess is that changing a very small amount of them will do a large >> enough portion of the job. > I think it'd be good to convert the macros in bufpage.h and bufmgr.h > that either currently have multiple evaluation hazards, or have a > AssertMacro() in them. The former for obvious reasons, the latter > because that immediately makes them rather large (on and it implies > multiple evaluation hazards anyway). > That'd mean inlining PageSetPageSizeAndVersion(), PageGetSpecialSize(), > PageGetSpecialPointer(), PageGetItem(), PageGetMaxOffsetNumber(), > PageIsPrunable(), PageSetPrunable(), PageClearPrunable(), > BufferIsValid(), BufferGetBlock(), BufferGetPageSize(). Sounds reasonable to me. If you do this, I'll see whether pademelon can be adjusted to build using the minimum macro expansion buffer size specified by the C standard. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers