summaryrefslogtreecommitdiff
path: root/src/server/neo4j_cypher_parser.py
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-03-30 19:39:28 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-01 22:25:52 +0300
commit8f3b57823eaa8b0439bf0477e67b8a81fc901ec6 (patch)
tree6fd0efcc178584c1b952cb3d39c84e83ef10ef42 /src/server/neo4j_cypher_parser.py
parent4be62c462b1b02948cdfca132430ba3614c45449 (diff)
neo4j_cypher_parser: rotate__pin_under_new_parent(): add forgotten self.parent update
Diffstat (limited to 'src/server/neo4j_cypher_parser.py')
-rw-r--r--src/server/neo4j_cypher_parser.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/neo4j_cypher_parser.py b/src/server/neo4j_cypher_parser.py
index 5a1bd402..73efd1fb 100644
--- a/src/server/neo4j_cypher_parser.py
+++ b/src/server/neo4j_cypher_parser.py
@@ -86,15 +86,16 @@ class pt_abs_node(object):
return ret
def rotate__pin_under_new_parent(self, n_type): # pin current node under a new parent node
- n_parent = self.parent
- n_set = n_type()
- n_set.parent = n_parent
- n_set.sub_exp_set.append(self)
- for i in range(0, len(n_parent.sub_exp_set)):
+ parent_cur = self.parent
+ parent_new = n_type()
+ parent_new.parent = parent_cur
+ parent_new.sub_exp_set.append(self)
+ for i in range(0, len(parent_cur.sub_exp_set)):
if self != self.parent.sub_exp_set[i]: # lookup self in parent child set
continue
- self.parent.sub_exp_set[i] = n_set
- return n_set
+ parent_cur.sub_exp_set[i] = parent_new
+ self.parent = parent_new
+ return parent_new
def spawn_sibling(self, n_type=None, *args, **kwargs):
if not n_type: # by default spawn siblig of the same type as self