Skip to content

Commit 738478a

Browse files
committed
Merge branch '4.4' into impersonation
2 parents aaa3bfa + 66b3a9b commit 738478a

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

neo4j/work/summary.py

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,24 +129,52 @@ class SummaryCounters:
129129
#:
130130
system_updates = 0
131131

132+
_contains_updates = None
133+
_contains_system_updates = None
134+
132135
def __init__(self, statistics):
136+
key_to_attr_name = {
137+
"nodes-created": "nodes_created",
138+
"nodes-deleted": "nodes_deleted",
139+
"relationships-created": "relationships_created",
140+
"relationships-deleted": "relationships_deleted",
141+
"properties-set": "properties_set",
142+
"labels-added": "labels_added",
143+
"labels-removed": "labels_removed",
144+
"indexes-added": "indexes_added",
145+
"indexes-removed": "indexes_removed",
146+
"constraints-added": "constraints_added",
147+
"constraints-removed": "constraints_removed",
148+
"system-updates": "system_updates",
149+
"contains-updates": "_contains_updates",
150+
"contains-system-updates": "_contains_system_updates",
151+
}
133152
for key, value in dict(statistics).items():
134-
key = key.replace("-", "_")
135-
setattr(self, key, value)
153+
attr_name = key_to_attr_name.get(key)
154+
if attr_name:
155+
setattr(self, attr_name, value)
136156

137157
def __repr__(self):
138158
return repr(vars(self))
139159

140160
@property
141161
def contains_updates(self):
142-
"""True if any of the counters except for system_updates, are greater than 0. Otherwise False."""
143-
return bool(self.nodes_created or self.nodes_deleted or
144-
self.relationships_created or self.relationships_deleted or
145-
self.properties_set or self.labels_added or self.labels_removed or
146-
self.indexes_added or self.indexes_removed or
147-
self.constraints_added or self.constraints_removed)
162+
"""True if any of the counters except for system_updates, are greater
163+
than 0. Otherwise False."""
164+
if self._contains_updates is not None:
165+
return self._contains_updates
166+
return bool(
167+
self.nodes_created or self.nodes_deleted
168+
or self.relationships_created or self.relationships_deleted
169+
or self.properties_set or self.labels_added
170+
or self.labels_removed or self.indexes_added
171+
or self.indexes_removed or self.constraints_added
172+
or self.constraints_removed
173+
)
148174

149175
@property
150176
def contains_system_updates(self):
151177
"""True if the system database was updated, otherwise False."""
178+
if self._contains_system_updates is not None:
179+
return self._contains_system_updates
152180
return self.system_updates > 0

0 commit comments

Comments
 (0)