Thread

Commits

  1. Rename alloc/free functions in reorderbuffer.c

  1. 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)
    
  2. 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
    
    
    
    
  3. 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)