• Tom Lane's avatar
    Fix I/O-conversion-related memory leaks in plpgsql. · 58a9596e
    Tom Lane authored
    Datatype I/O functions are allowed to leak memory in CurrentMemoryContext,
    since they are generally called in short-lived contexts.  However, plpgsql
    calls such functions for purposes of type conversion, and was calling them
    in its procedure context.  Therefore, any leaked memory would not be
    recovered until the end of the plpgsql function.  If such a conversion
    was done within a loop, quite a bit of memory could get consumed.  Fix by
    calling such functions in the transient "eval_econtext", and adjust other
    logic to match.  Back-patch to all supported versions.
    
    Andres Freund, Jan Urbański, Tom Lane
    58a9596e
pl_exec.c 161 KB