Re: Convert macros to static inline functions
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-12-27T10:16:46Z
Lists: pgsql-hackers
Attachments
- 0001-Add-some-const-decorations-htup.h.patch (text/plain) patch 0001
- 0002-Convert-macros-to-static-inline-functions-htup_detai.patch (text/plain) patch 0002
- 0003-WIP-Use-some-generic-selection.patch (text/plain) patch 0003
On 16.05.22 10:27, Peter Eisentraut wrote: > Inspired by [0], I looked to convert more macros to inline functions. This is an older thread where I left something unfinished: > 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. Here is the patch set for this. There are actually only two macros that operate on both HeapTupleHeader and MinimalTuple, so it wasn't as much as I had written above. I just left those as macros. I converted the rest to inline functions in a straightforward way as before. A small amount of reordering was necessary. But just for language-nerd fun, I'm including here an additional patch showing how the remaining ones could be done with C11 generic selection. I'm not planning to commit that one at this time.
Commits
-
Add some const decorations (htup.h)
- b15b8c5cf882 18.0 landed
-
Convert macros to static inline functions (htup_details.h, itup.h)
- 34694ec888d6 18.0 landed
-
Convert macros to static inline functions (rel.h)
- 3edc71ec0438 16.0 landed
-
Convert macros to static inline functions (itup.h)
- 14a8bd98274a 16.0 landed
-
Convert macros to static inline functions (tupmacs.h)
- f58d7073b775 16.0 landed
-
Convert macros to static inline functions (xlog_internal.h)
- 507ba16b28c7 16.0 landed
-
Convert macros to static inline functions (bufmgr.h)
- 9c727360bcc7 16.0 landed
-
Convert macros to static inline functions (itemptr.h)
- aeb767ca0b02 16.0 landed
-
Convert macros to static inline functions (bufpage.h)
- 2cd2569c72b8 16.0 landed
-
Convert macros to static inline functions (block.h)
- d63d957e330c 16.0 landed