cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

How to unregister apoc procedures created by apoc.custom.asProcedure

Hey guys,

I'm wondering how to unregister procedures registered by apoc.custom.asProcedure ?

I tried to call apoc.custom.asProcedure(name, null), but it is still in the list when I call apoc.custom.list(). (It's statement is "null" in the list). I have called dbms.clearQueryCaches() after calling apoc.custom.asProcedure(name, null).

Any idea how to force Neo4j to really forget previously registered procedure?

Cheers

Istvan

1 REPLY 1

I have the same question.
I found that Neo4j remembered not only the last registered custom prodecudes, but also all the past versions of the procedures (through dbms.procedures), until you restart the Neo4j database instance. I looked at the source code of the CypherProcedures.java file and believed the custom procedures were stored in the kernel database through the "org.neo4j.internal.kernel.api.Procedures". I think the only way to date to delete a procedure registered to the kernel is to get the "procedureHandle.id()" by "procedureHandle.signature().name()" of it and delete it with Java through that API.
Does anyone get any idea of doing that with Cypher? Looks like there is no way to access the kernel with Cypher, right?