summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-04-13 15:59:49 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-13 15:59:49 +0300
commitc182078bfd033f90b82a98d9087fb31778ca59dc (patch)
tree5400e3c2c0102301700c45bf8233d604b3effcb7 /src
parent5bf28d7fdff4ecd5b1a0e8a26912e63af936c1cb (diff)
rz_kernel: clear cache entries after delete, rename
Diffstat (limited to 'src')
-rw-r--r--src/server/rz_kernel.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py
index 85e78565..fefcbad4 100644
--- a/src/server/rz_kernel.py
+++ b/src/server/rz_kernel.py
@@ -284,12 +284,13 @@ class RZ_Kernel(object):
op = DBO_rzdoc__delete(rzdoc)
self.db_ctl.exec_op(op)
+ self.cache__rzdoc_name_to_rzdoc.pop(rzdoc.name, None)
+
for r_assoc in self.rzdoc_reader_assoc_map[rzdoc]:
r_assoc.mark__invalid = True
# FIXME:
# - broadcast delete event
- # - clear cache mapping entry
def rzdoc__lookup_by_name(self, rzdoc_name, ctx=None):
"""
@@ -317,8 +318,12 @@ class RZ_Kernel(object):
op = DBO_rzdoc__rename(cur_name, new_name)
rzdoc = self.db_ctl.exec_op(op)
- return rzdoc # may be None
+
+ self.cache__rzdoc_name_to_rzdoc.pop(cur_name, None)
+ self.cache__rzdoc_name_to_rzdoc.pop(new_name, None)
+
# FIXME:
# - broadcast rename event
- # - update cache mapping entry
# - notify all rzdoc readers
+
+ return rzdoc # may be None