• Tom Lane's avatar
    Remove lappend_cell...() family of List functions. · c2457769
    Tom Lane authored
    It seems worth getting rid of these functions because they require the
    caller to retain a ListCell pointer into a List that it's modifying,
    which is a dangerous practice with the new List implementation.
    (The only other List-modifying function that takes a ListCell pointer
    as input is list_delete_cell, which nowadays is preferentially used
    via the constrained API foreach_delete_current.)
    
    There was only one remaining caller of these functions after commit
    2f5b8eb5, and that was some fairly ugly GEQO code that can be much
    more clearly expressed using a list-index variable and list_insert_nth.
    Hence, rewrite that code, and remove the functions.
    
    Discussion: https://postgr.es/m/26193.1563228600@sss.pgh.pa.us
    c2457769
pg_list.h 19.4 KB