From aa215e6e7c6c129acfc5ad9c5fb6140d15dfed84 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 12 Jan 2015 15:59:50 +0200 Subject: server/db_op: fix DBO_diff_commit__attr for name write Since we used delete on the __attr_write key value dictionary, the return value we cached was missing the name attribute, causing the client not to see it. Fix it with a deepcopy. --- src/server/db_op.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/db_op.py b/src/server/db_op.py index e5a37f0d..66af843f 100644 --- a/src/server/db_op.py +++ b/src/server/db_op.py @@ -2,6 +2,7 @@ from collections import namedtuple import hashlib import json import re +from copy import deepcopy from model.graph import Attr_Diff from model.graph import Topo_Diff @@ -330,7 +331,7 @@ class DBO_diff_commit__attr(DB_op): def __init__(self, attr_diff): super(DBO_diff_commit__attr, self).__init__() - self.op_return_value__attr_diff = attr_diff # cache attr_diff as return value on success + self.op_return_value__attr_diff = deepcopy(attr_diff) # cache copy as return value on success for id_attr, n_attr_diff in attr_diff.type__node.items(): # TODO parameterize multiple attr removal -- cgit v1.3.1