• Tom Lane's avatar
    Improve out-of-memory error reports by including memory context name. · 1bb9e731
    Tom Lane authored
    Add the target context's name to the errdetail field of "out of memory"
    errors in mcxt.c.  Per discussion, this seems likely to be useful to
    help narrow down the cause of a reported failure, and it costs little.
    Also, now that context names are required to be compile-time constants
    in all cases, there's little reason to be concerned about security
    issues from exposing these names to users.  (Because of such concerns,
    we are *not* including the context "ident" field.)
    
    In passing, add unlikely() markers to the allocation-failed tests,
    just to be sure the compiler is on the right page about that.
    Also, in palloc and friends, copy CurrentMemoryContext into a local
    variable, as that's almost surely cheaper to reference than a global.
    
    Discussion: https://postgr.es/m/1099.1522285628@sss.pgh.pa.us
    1bb9e731
mcxt.c 32.6 KB