• Tom Lane's avatar
    Create a stack of pl/python "execution contexts". · ed75380b
    Tom Lane authored
    This replaces the former global variable PLy_curr_procedure, and provides
    a place to stash per-call-level information.  In particular we create a
    per-call-level scratch memory context.
    
    For the moment, the scratch context is just used to avoid leaking memory
    from datatype output function calls in PLyDict_FromTuple.  There probably
    will be more use-cases in future.
    
    Although this is a fix for a pre-existing memory leakage bug, it seems
    sufficiently invasive to not want to back-patch; it feels better as part
    of the major rearrangement of plpython code that we've already done as
    part of 9.2.
    
    Jan Urbański
    ed75380b
plpy_cursorobject.c 10.4 KB