maps entities in a FOREACH clause MATCH (n) FOREACH(v in [1,2,3,4] | CREATE (:L{x:v})-[:R]->(n))
| 327 | // maps entities in a FOREACH clause |
| 328 | // MATCH (n) FOREACH(v in [1,2,3,4] | CREATE (:L{x:v})-[:R]->(n)) |
| 329 | static void _AST_MapForeachClauseReferences |
| 330 | ( |
| 331 | AST *ast, |
| 332 | const cypher_astnode_t *foreach_clause |
| 333 | ) { |
| 334 | ASSERT(ast != NULL); |
| 335 | ASSERT(foreach_clause != NULL); |
| 336 | |
| 337 | // extract list expression from FOREACH |
| 338 | const cypher_astnode_t *exp = cypher_ast_foreach_get_expression(foreach_clause); |
| 339 | _AST_MapExpression(ast, exp); |
| 340 | |
| 341 | // process each clause within FOREACH body |
| 342 | uint nclauses = cypher_ast_foreach_nclauses(foreach_clause); |
| 343 | for(uint i = 0; i < nclauses; i++) { |
| 344 | const cypher_astnode_t *clause = cypher_ast_foreach_get_clause( |
| 345 | foreach_clause, i); |
| 346 | _ASTClause_BuildReferenceMap(ast, clause); |
| 347 | } |
| 348 | } |
| 349 | |
| 350 | // maps entities in a CALL {} clause |
| 351 | static void _AST_MapCallSubqueryReferences |
no test coverage detected