Simplify use of AllocSetContextCreate() wrapper macro.
Tom Lane <tgl@sss.pgh.pa.us>
Simplify use of AllocSetContextCreate() wrapper macro. We can allow this macro to accept either abbreviated or non-abbreviated allocation parameters by making use of __VA_ARGS__. As noted by Andres Freund, it's unlikely that any compiler would have __builtin_constant_p but not __VA_ARGS__, so this gives up little or no error checking, and it avoids a minor but annoying API break for extensions. With this change, there is no reason for anybody to call AllocSetContextCreateExtended directly, so in HEAD I renamed it to AllocSetContextCreateInternal. It's probably too late for an ABI break like that in 11, though. Discussion: https://postgr.es/m/20181012170355.bhxi273skjt6sag4@alap3.anarazel.de
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/xact.c | modified | +5 −5 |
| src/backend/utils/mmgr/aset.c | modified | +6 −4 |
| src/backend/utils/mmgr/mcxt.c | modified | +5 −5 |
| src/include/utils/memutils.h | modified | +6 −7 |
Discussion
- AllocSetContextCreate changes breake extensions 11 messages · 2018-10-12 → 2018-12-03