MCPcopy Create free account
hub / github.com/RedisGraph/RedisGraph / _AST_MapForeachClauseReferences

Function _AST_MapForeachClauseReferences

src/ast/ast_build_reference_map.c:329–348  ·  view source on GitHub ↗

maps entities in a FOREACH clause MATCH (n) FOREACH(v in [1,2,3,4] | CREATE (:L{x:v})-[:R]->(n))

Source from the content-addressed store, hash-verified

327// maps entities in a FOREACH clause
328// MATCH (n) FOREACH(v in [1,2,3,4] | CREATE (:L{x:v})-[:R]->(n))
329static 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
351static void _AST_MapCallSubqueryReferences

Callers 1

Calls 2

_AST_MapExpressionFunction · 0.85

Tested by

no test coverage detected