• Tom Lane's avatar
    Fix small memory leak in partial-aggregate deserialization functions. · bd1693e8
    Tom Lane authored
    A deserialize function's result is short-lived data during partial
    aggregation, since we're just going to pass it to the combine function
    and then it's of no use anymore.  However, the built-in deserialize
    functions allocated their results in the aggregate state context,
    resulting in a query-lifespan memory leak.  It's probably not possible for
    this to amount to anything much at present, since the number of leaked
    results would only be the number of worker processes.  But it might become
    a problem in future.  To fix, don't use the same convenience subroutine for
    setting up results that the aggregate transition functions use.
    
    David Rowley
    
    Report: <10050.1466637736@sss.pgh.pa.us>
    bd1693e8
numeric.c 208 KB