diff --git a/src/pl/plpython/plpy_procedure.c b/src/pl/plpython/plpy_procedure.c index 858cecc64d211aa3c27587477a2c68ca15834409..00405f0adac00ac0438cc3b3437e89414d9e331e 100644 --- a/src/pl/plpython/plpy_procedure.c +++ b/src/pl/plpython/plpy_procedure.c @@ -29,7 +29,6 @@ static HTAB *PLy_procedure_cache = NULL; static PLyProcedure *PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger); -static void invalidate_procedure_caches(Datum arg, int cacheid, uint32 hashvalue); static bool PLy_procedure_argument_valid(PLyTypeInfo *arg); static bool PLy_procedure_valid(PLyProcedure *proc, HeapTuple procTup); static char *PLy_procedure_munge_source(const char *name, const char *src); @@ -45,29 +44,6 @@ init_procedure_caches(void) hash_ctl.entrysize = sizeof(PLyProcedureEntry); PLy_procedure_cache = hash_create("PL/Python procedures", 32, &hash_ctl, HASH_ELEM | HASH_BLOBS); - CacheRegisterSyscacheCallback(TRFTYPELANG, - invalidate_procedure_caches, - (Datum) 0); -} - -static void -invalidate_procedure_caches(Datum arg, int cacheid, uint32 hashvalue) -{ - HASH_SEQ_STATUS status; - PLyProcedureEntry *hentry; - - Assert(PLy_procedure_cache != NULL); - - /* flush all entries */ - hash_seq_init(&status, PLy_procedure_cache); - - while ((hentry = (PLyProcedureEntry *) hash_seq_search(&status))) - { - if (hash_search(PLy_procedure_cache, - (void *) &hentry->key, - HASH_REMOVE, NULL) == NULL) - elog(ERROR, "hash table corrupted"); - } } /*