summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_kernel.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/rz_kernel.py b/src/server/rz_kernel.py
index 84d54acd..2f1ae59a 100644
--- a/src/server/rz_kernel.py
+++ b/src/server/rz_kernel.py
@@ -254,6 +254,12 @@ class RZ_Kernel(object):
rzdoc = self.db_ctl.exec_op(op)
return rzdoc # may be None
+ def rzdoc__lookup_by_name_with_cache(self, rzdoc_name):
+ cache_doc = self.cache__rzdoc_name_to_rzdoc.get(rzdoc_name)
+ if None != cache_doc:
+ return cache_doc
+ return self.rzdoc__lookup_by_name(rzdoc_name)
+
def rzdoc__create(self, rzdoc_name, ctx=None):
"""
Create & persist new RZDoc - may fail on unique name/id constraint violation
@@ -261,11 +267,8 @@ class RZ_Kernel(object):
@return: RZDoc object
@raise RZDoc_Exception__already_exists
"""
- try:
- self.cache_lookup__rzdoc(rzdoc_name)
+ if None != self.rzdoc__lookup_by_name_with_cache(rzdoc_name):
raise RZDoc_Exception__already_exists(rzdoc_name)
- except RZDoc_Exception__not_found:
- pass
rzdoc = RZDoc(rzdoc_name)
rzdoc.id = neo4j_util.generate_random_rzdoc_id()