• Tom Lane's avatar
    Fix some oversights in commit 2455ab48. · de570047
    Tom Lane authored
    The idea was to generate all the junk in a destroyable subcontext rather
    than leaking it in the caller's context, but partition_bounds_create was
    still being called in the caller's context, allowing plenty of scope for
    leakage.  Also, get_rel_relkind() was still being called in the rel's
    rd_pdcxt, creating a risk of session-lifespan memory wastage.
    
    Simplify the logic a bit while at it.  Also, reduce rd_pdcxt to
    ALLOCSET_SMALL_SIZES, since it seems likely to not usually be big.
    
    Probably something like this needs to be back-patched into v11,
    but for now let's get some buildfarm testing on this.
    
    Discussion: https://postgr.es/m/15943.1552601288@sss.pgh.pa.us
    de570047
partdesc.c 10.7 KB