• Tom Lane's avatar
    Prevent memory leaks in parseRelOptions(). · a844c299
    Tom Lane authored
    parseRelOptions() tended to leak memory in the caller's context.  Most
    of the time this doesn't really matter since the caller's context is
    at most query-lifespan, and the function won't be invoked very many times.
    However, when testing with CLOBBER_CACHE_RECURSIVELY, the same relcache
    entry can get rebuilt a *lot* of times in one query, leading to significant
    intraquery memory bloat if it has any reloptions.  Noted while
    investigating a related report from Tomas Vondra.
    
    In passing, get rid of some Asserts that are redundant with the one
    done by deconstruct_array().
    
    As with other patches to avoid leaks in CLOBBER_CACHE testing, it doesn't
    really seem worth back-patching this.
    a844c299
reloptions.c 34.1 KB