Expressions need to be registered with it's owning Pipe

apoc

(Paul Drangeid) #1

Running 3.5.3 with latest APOC.

If I run this with the "FOREACH" line commented out, it runs just fine. If I leave the FOREACH in I receive this error:
Neo.DatabaseError.Statement.ExecutionFailed: Expressions need to be registered with it's owning Pipe, so the profiling knows where to report db-hits

Here's the cypher:

MATCH (n:Clientdomain)--(a:Company {name:'Some Company'})--(kba:Knowbe4account)
OPTIONAL MATCH (cnp:Contact {name:'None Provided'})
WITH a,kba,cnp,"super-secret-token" as token,"https://us.api.knowbe4.com/v1/users" as url
CALL apoc.load.jsonParams(url,{Authorization:"Bearer "+token,Accept:"application/json"},null) yield value
OPTIONAL MATCH (c:Contact)--(a) where toLower(trim(value.email)) = toLower(trim(c.email))
OPTIONAL MATCH (c2:Contact)--(a) where toLower(trim(c.name)) = toLower(trim(value.first_name))+' '+toLower(trim(value.last_name))
FOREACH (ignoreMe in CASE WHEN not((kba)--(c)) and exists(c.acctrecid) THEN [1] ELSE [] END | MERGE (kba)-[:KNOWBEFORE_USER]-(c))
return c,kba

I know this ran properly in a previous version (not sure which exactly)


(Michael Hunger) #2

I think this is a Cypher error, can you raise it a GitHub issue on github.com/neo4j/neo4j/issues ?


(Paul Drangeid) #3

Thanks Michael - issue submitted. Also - I didn't want to raise a github error on the apoc.load.ldap question I posted earlier (in regards to failures when querying the ROOT level of an Active Directory) until you had a chance to see if I was doing something wrong with syntax. Happy to raise a bugreport if necessary. Cheers!


(Michael Hunger) #4

It would be good to raise the issue but best with a minimal example without apoc or such
Also if you could test which of the two case predicates causes the issue that would help


(Paul Drangeid) #5

Unfortunately I'm not exactly sure what is causing it. This example is the only place I'm seeing the error, (can't really reproduce without the data from the API). I've tried each of the CASE predicates separately, doesn't seem to matter.