• Tom Lane's avatar
    Fix SQL function execution to be safe with long-lived FmgrInfos. · 2b78d101
    Tom Lane authored
    fmgr_sql had been designed on the assumption that the FmgrInfo it's called
    with has only query lifespan.  This is demonstrably unsafe in connection
    with range types, as shown in bug #7881 from Andrew Gierth.  Fix things
    so that we re-generate the function's cache data if the (sub)transaction
    it was made in is no longer active.
    
    Back-patch to 9.2.  This might be needed further back, but it's not clear
    whether the case can realistically arise without range types, so for now
    I'll desist from back-patching further.
    2b78d101
xact.h 8.59 KB