Convert macros to static inline functions - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Convert macros to static inline functions
Date
Msg-id 5b558da8-99fb-0a99-83dd-f72f05388517@enterprisedb.com
Whole thread Raw
Responses Re: Convert macros to static inline functions
Re: Convert macros to static inline functions
Re: Convert macros to static inline functions
List pgsql-hackers
Inspired by [0], I looked to convert more macros to inline functions. 
The attached patches are organized "bottom up" in terms of their API 
layering; some of the later ones depend on some of the earlier ones.


Note 1: Some macros that do by-value assignments like

#define PageXLogRecPtrSet(ptr, lsn) \
  ((ptr).xlogid = (uint32) ((lsn) >> 32), (ptr).xrecoff = (uint32) (lsn))

can't be converted to functions without changing the API, so I left 
those alone for now.


Note 2: Many macros in htup_details.h operate both on HeapTupleHeader 
and on MinimalTuple, so converting them to a function doesn't work in a 
straightforward way.  I have some in-progress work in that area, but I 
have not included any of that here.


[0]: 
https://www.postgresql.org/message-id/202203241021.uts52sczx3al@alvherre.pgsql
Attachment

pgsql-hackers by date:

Previous
From: torikoshia
Date:
Subject: Re: RFC: Logging plan of the running query
Next
From: "osumi.takamichi@fujitsu.com"
Date:
Subject: RE: Skipping schema changes in publication