• Tom Lane's avatar
    Do a conditional SPI_push/SPI_pop when replanning a query in · 0d4899e4
    Tom Lane authored
    RevalidateCachedPlan.  This is to avoid a "SPI_ERROR_CONNECT" failure when
    the planner calls a SPI-using function and we are already inside one.
    The alternative fix is to expect callers of RevalidateCachedPlan to do this,
    which seems likely to result in additional hard-to-detect bugs of omission.
    Per reports from Frank van Vugt and Marek Lewczuk.
    
    Back-patch to 8.3. It's much harder to trigger the bug in 8.3, due to a
    smaller set of cases in which plans can be invalidated, but it could happen.
    (I think perhaps only a SI reset event could make 8.3 fail here, but that's
    certainly within the realm of possibility.)
    0d4899e4
plancache.c 29.9 KB