Thread
Commits
-
Rename alloc/free functions in reorderbuffer.c
- ac4494646dae 18.0 landed
-
Rename functions to alloc/free things in reorderbuffer.c
Heikki Linnakangas <hlinnaka@iki.fi> — 2025-03-12T17:53:08Z
I noticed some weird naming conventions in reorderbuffer.c which are leftovers from a long time ago when reorderbuffer.c maintained its own small memory pools to reduce palloc/pfree overhead. For example: extern Oid *ReorderBufferGetRelids(ReorderBuffer *rb, int nrelids); extern void ReorderBufferReturnRelids(ReorderBuffer *rb, Oid *relids); ReorderBufferGetRelids allocates an array with MemoryContextAlloc, and ReorderBufferReturnRelids just calls pfree. The pools are long gone, and now the naming looks weird. Attached patch renames those functions and other such functions to use the terms Alloc/Free. I actually wonder if we should go further and remove these functions altogether, and change the callers to call MemoryContextAlloc directly. But I didn't do that yet. Any objections? -- Heikki Linnakangas Neon (https://neon.tech)
-
Re: Rename functions to alloc/free things in reorderbuffer.c
Tom Lane <tgl@sss.pgh.pa.us> — 2025-03-12T19:31:21Z
Heikki Linnakangas <hlinnaka@iki.fi> writes: > ReorderBufferGetRelids allocates an array with MemoryContextAlloc, and > ReorderBufferReturnRelids just calls pfree. The pools are long gone, and > now the naming looks weird. > Attached patch renames those functions and other such functions to use > the terms Alloc/Free. I actually wonder if we should go further and > remove these functions altogether, and change the callers to call > MemoryContextAlloc directly. But I didn't do that yet. Yeah, that is very confusing, especially since nearby code uses names like ReorderBufferGetFoo for functions that are lookups not allocations. +1 for Alloc/Free where that's an accurate description. Given that a lot of these are not just one-liners, I'm not sure that getting rid of the ones that are would help much. regards, tom lane
-
Re: Rename functions to alloc/free things in reorderbuffer.c
Heikki Linnakangas <hlinnaka@iki.fi> — 2025-03-12T20:04:36Z
On 12/03/2025 21:31, Tom Lane wrote: > Heikki Linnakangas <hlinnaka@iki.fi> writes: >> ReorderBufferGetRelids allocates an array with MemoryContextAlloc, and >> ReorderBufferReturnRelids just calls pfree. The pools are long gone, and >> now the naming looks weird. > >> Attached patch renames those functions and other such functions to use >> the terms Alloc/Free. I actually wonder if we should go further and >> remove these functions altogether, and change the callers to call >> MemoryContextAlloc directly. But I didn't do that yet. > > Yeah, that is very confusing, especially since nearby code uses > names like ReorderBufferGetFoo for functions that are lookups not > allocations. +1 for Alloc/Free where that's an accurate description. Committed, thanks! > Given that a lot of these are not just one-liners, I'm not sure that > getting rid of the ones that are would help much. Fair -- Heikki Linnakangas Neon (https://neon.tech)