summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-01-20 03:35:01 +0200
committerLV-426 <lv-426@taproot.org.il>2015-01-20 04:00:42 +0200
commit222631895311568411f9af4e1c66004c2b9f1ce1 (patch)
treed0b033a795513466133675217a348b45ef7c5ba2 /src
parentad23b2f6ee70b9a38fe74052d9ae01300ac20d3f (diff)
DBO_block_chain__commit: process_result_set() - return Topo_Diff
Diffstat (limited to 'src')
-rw-r--r--src/server/db_op.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py
index 6bf98389..15c55c72 100644
--- a/src/server/db_op.py
+++ b/src/server/db_op.py
@@ -219,6 +219,33 @@ class DBO_block_chain__commit(DB_op):
}
self.add_statement(q_arr, q_param_set)
+ def process_result_set(self):
+ """
+ @return: a Topo_Diff object consisting of the commit node and parent link
+ """
+ ret = Topo_Diff()
+
+ hash_parent = None
+ hash_child = None
+ for _, _, r_set in self:
+ for row in r_set:
+ for ret_dict in row:
+
+ assert None == hash_parent # assert hash values set once only
+ assert None == hash_child
+
+ hash_parent = ret_dict['HEAD^']['hash']
+ hash_child = ret_dict['HEAD']['hash']
+
+ ret.node_set_add = [{'id': self.n_id,
+ 'name': self.n_name_value,
+ '__label_set': ['Commit']}
+ ]
+ l = Link.Link_Ptr(src_id=hash_parent, dst_id=hash_child)
+ l['id'] = self.l_id
+ l['__type'] = '__Parent'
+ ret.link_set_add = [l]
+ return ret
class DBO_block_chain__list(DB_op):
"""
Return block chain hash list