• Tom Lane's avatar
    Modify error context callback functions to not assume that they can fetch · a836abe9
    Tom Lane authored
    catalog entries via SearchSysCache and related operations.  Although, at the
    time that these callbacks are called by elog.c, we have not officially aborted
    the current transaction, it still seems rather risky to initiate any new
    catalog fetches.  In all these cases the needed information is readily
    available in the caller and so it's just a matter of a bit of extra notation
    to pass it to the callback.
    
    Per crash report from Dennis Koegel.  I've concluded that the real fix for
    his problem is to clear the error context stack at entry to proc_exit, but
    it still seems like a good idea to make the callbacks a bit less fragile
    for other cases.
    
    Backpatch to 8.4.  We could go further back, but the patch doesn't apply
    cleanly.  In the absence of proof that this fixes something and isn't just
    paranoia, I'm not going to expend the effort.
    a836abe9
functions.c 41 KB