diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-01-20 03:35:01 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-01-20 04:00:42 +0200 |
| commit | 222631895311568411f9af4e1c66004c2b9f1ce1 (patch) | |
| tree | d0b033a795513466133675217a348b45ef7c5ba2 /src | |
| parent | ad23b2f6ee70b9a38fe74052d9ae01300ac20d3f (diff) | |
DBO_block_chain__commit: process_result_set() - return Topo_Diff
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/db_op.py | 27 |
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 |
