Closed jeffreylovitz closed 5 years ago
Hi @jeffreylovitz!
Thanks for picking up on this. While the opencypher TCK doesn't test for the use of a WHERE
predicate on a CALL
clause, I do think the grammar should support it.
This shouldn't be too hard to add. Would you be interested in doing so? You'd need to add an optional WHERE
predicate to the call-clause
in the parser (https://github.com/cleishm/libcypher-parser/blob/v0.6.2/lib/src/parser.leg#L326-L341), similarly to other clauses that accept this predicate (e.g. https://github.com/cleishm/libcypher-parser/blob/v0.6.2/lib/src/parser.leg#L306), and also update the AST builder call_clause
to accept the AST nodes for the WHERE
.
Cheers, Chris
Thanks, @cleishm!
I can give this a shot. If I understand correctly, after making the changes you outline, the CALL
interface will have to be extended for the functionality cypher_ast_call_get_predicate
. Are there other tasks this change entails?
Resolved by #17
Procedure calls cannot currently be succeeded by WHERE conditions:
Interpolating a WITH projection allows us to make this combination:
The CALL...WHERE construction is supported in Neo4j.