Maps entities in a given path.
| 114 | |
| 115 | // Maps entities in a given path. |
| 116 | static void _AST_MapReferencedEntitiesInPath(AST *ast, const cypher_astnode_t *path, |
| 117 | bool force_mapping) { |
| 118 | uint path_len = cypher_ast_pattern_path_nelements(path); |
| 119 | // Node are in even positions. |
| 120 | for(uint i = 0; i < path_len; i += 2) |
| 121 | _AST_MapReferencedNode(ast, cypher_ast_pattern_path_get_element(path, i), force_mapping); |
| 122 | // Edges are in odd positions. |
| 123 | for(uint i = 1; i < path_len; i += 2) |
| 124 | _AST_MapReferencedEdge(ast, cypher_ast_pattern_path_get_element(path, i), force_mapping); |
| 125 | } |
| 126 | |
| 127 | // Add referenced aliases from MATCH clause - inline filtered and explicit WHERE filter. |
| 128 | static void _AST_MapMatchClauseReferences(AST *ast, const cypher_astnode_t *match_clause) { |
no test coverage detected