{"push_id":548959479,"size":1,"distinct_size":1,"ref":"refs/heads/2.2-rewriter-enable-conditions","head":"8888d9707e8b0dc36e303eaee7833e8d77449b4a","before":"dd2e0c4ad316a6bd355ea6a9b369c61fb5a0c2b7","commits":[{"sha":"8888d9707e8b0dc36e303eaee7833e8d77449b4a","author":{"email":"4cd6b59ce20b6e5738e4ab7125c87aeb46810be2@neotechnology.com","name":"Davide Grohmann"},"message":"Added checks used in AST rewriting\n\nMany different rewriters act on the AST. To assert that no\nrewriter reverts something already done by a previous rewriter,\nthis commit adds checks to make sure that does not happen.\n\nAssumptions checked by this commit:\n* Reference equality - the current code assumes that each\nAST object is only used once - in a few places, IdentityMap's are used.\nTo make sure that we do not break this assumption, this commit\nadds a check so that the assumption is tested while rewriting is\nhappening.\n\n* No unaliased return items\n* No use of RETURN *\nThe compiler assumes all return expressions are explicitly listed\nand have aliases.\n\n* Contains no \"a <> b\"\nThe compiler uses \"not(a = b)\"\n\n* Contains no named paths except for shortest path\nNamed paths in a query are turned into expressions.","distinct":true,"url":"https://api.github.com/repos/davidegrohmann/neo4j/commits/8888d9707e8b0dc36e303eaee7833e8d77449b4a"}]}