Thread: pgsql: Use HTABs instead of Python dictionary objects to cache procedur

pgsql: Use HTABs instead of Python dictionary objects to cache procedur

From
Peter Eisentraut
Date:
Use HTABs instead of Python dictionary objects to cache procedures

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

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=46211da1b84bc3537e799ee1126098e71c2428e8

Modified Files
--------------
src/pl/plpython/plpython.c |  204 ++++++++++++++++++++++++--------------------
1 files changed, 110 insertions(+), 94 deletions(-)