diff options
| author | Alon Levy <alon@pobox.com> | 2015-05-12 12:01:31 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-05-12 12:30:04 +0300 |
| commit | 59561dd91a845f2d442691ee3e3c6e21e597c2e4 (patch) | |
| tree | 4c99220538041b0ca16871707f35705986141e4c /src/server | |
| parent | f945ce9461e2cc9364d48ea7a52391f579e47a36 (diff) | |
server: return ts_created in meta dicts for topo_diff and attr_diff
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/db_op.py | 6 | ||||
| -rw-r--r-- | src/server/rz_kernel.py | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py index 8a08feb6..b2bb9932 100644 --- a/src/server/db_op.py +++ b/src/server/db_op.py @@ -245,7 +245,7 @@ class DBO_block_chain__commit(DB_op): 'create (new_head)-[r:%s {link_attr}]->(old_head)' % (neo4j_schema.META_LABEL__VC_PARENT), 'remove old_head:%s' % (neo4j_schema.META_LABEL__VC_HEAD), 'set new_head.ts_created=timestamp()', - 'return {head_parent_commit: old_head, head_commit: new_head}' + 'return {head_parent_commit: old_head, head_commit: new_head, ts_created: new_head.ts_created}' ] q_param_set = {'commit_attr': {'blob': blob, @@ -292,15 +292,18 @@ class DBO_block_chain__commit(DB_op): hash_parent = None hash_child = None + ts_created = None for _, _, r_set in self.iter__r_set(): for row in r_set: for ret_dict in row: assert None == hash_parent # assert hash values set once only assert None == hash_child + assert None == ts_created hash_parent = ret_dict['head_parent_commit']['hash'] hash_child = ret_dict['head_commit']['hash'] + ts_created = ret_dict['ts_created'] ret.node_set_add = [{'id': self.n_id, '__label_set': ['__Commit']} @@ -309,6 +312,7 @@ class DBO_block_chain__commit(DB_op): l['id'] = self.l_id l['__type'] = '__Parent' ret.link_set_add = [l] + ret.meta['ts_created'] = ts_created return ret class DBO_block_chain__init(DB_op): diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py index 7bc2ceef..8a719317 100644 --- a/src/server/rz_kernel.py +++ b/src/server/rz_kernel.py @@ -204,7 +204,9 @@ class RZ_Kernel(object): op = QT_RZDOC_NS_Filter(rzdoc)(op) op_ret = self.db_ctl.exec_op(op) - self.exec_chain_commit_op(topo_diff, ctx) + ts_created = self.exec_chain_commit_op(topo_diff, ctx, topo_diff.meta) + topo_diff.meta['ts_created'] = ts_created + op_ret['meta'] = topo_diff.meta return topo_diff, op_ret def diff_commit__attr(self, attr_diff, ctx): @@ -221,10 +223,11 @@ class RZ_Kernel(object): op = QT_RZDOC_NS_Filter(rzdoc)(op) op_ret = self.db_ctl.exec_op(op) - self.exec_chain_commit_op(attr_diff, ctx) + ts_created = self.exec_chain_commit_op(attr_diff, ctx) + attr_diff.meta['ts_created'] = ts_created return attr_diff, op_ret - def exec_chain_commit_op(self, diff_obj, ctx): + def exec_chain_commit_op(self, diff_obj, ctx, meta=None): # FIXME: clean if isinstance(diff_obj, Topo_Diff): @@ -233,9 +236,10 @@ class RZ_Kernel(object): commit_obj = diff_obj rzdoc = ctx.rzdoc - op = DBO_block_chain__commit(commit_obj, ctx) + op = DBO_block_chain__commit(commit_obj, ctx, meta) op = QT_RZDOC_Meta_NS_Filter(rzdoc)(op) - self.db_ctl.exec_op(op) + op_ret = self.db_ctl.exec_op(op) + return op_ret.meta['ts_created'] def load_node_set_by_id_attr(self, id_set, ctx=None): op = DBO_match_node_set_by_id_attribute(id_set=id_set) |
