• Peter Eisentraut's avatar
    Use HTABs instead of Python dictionary objects to cache procedures · 46211da1
    Peter Eisentraut authored
    Two separate hash tables are used for regular procedures and for
    trigger procedures, since the way trigger procedures work is quite
    different from normal stored procedures.  Change the signatures of
    PLy_procedure_{get,create} to accept the function OID and a Boolean
    flag indicating whether it's a trigger.  This should make implementing
    a PL/Python validator easier.
    
    Using HTABs instead of Python dictionaries makes error recovery
    easier, and allows for procedures to be cached based on their OIDs,
    not their names.  It also allows getting rid of the PyCObject field
    that used to hold a pointer to PLyProcedure, since PyCObjects are
    deprecated in Python 2.7 and replaced by Capsules in Python 3.
    
    Jan Urbański
    46211da1
plpython.c 89.6 KB