summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-04-29 03:51:44 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-29 17:46:39 +0300
commit972c50e10e3727d697457299ae71918c1f444af5 (patch)
tree008a89a70126d8fe79a2772702d0a9119f2a8a23 /src/server
parent3c63ec6518f5f43ca907a56896445383469862f9 (diff)
db_op: DBO_rzdb__fetch_DB_metablock
Diffstat (limited to 'src/server')
-rw-r--r--src/server/db_op.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py
index f28dc320..aa0046a0 100644
--- a/src/server/db_op.py
+++ b/src/server/db_op.py
@@ -716,6 +716,29 @@ class DBO_rm_link_set(DB_op):
q_params = {'id_set': id_set}
self.add_statement(q_arr, q_params)
+class DBO_rzdb__fetch_DB_metablock(DB_op):
+
+ def __init__(self, length_lim=None):
+ """
+ Fetch DB metadata
+
+ @retrun metablock or None if none was found
+ """
+ super(DBO_rzdb__fetch_DB_metablock, self).__init__()
+
+ q_arr = ['match (n:%s)' % (neo4j_schema.META_LABEL__RZDB_META),
+ 'return n'
+ ]
+ self.add_statement(q_arr)
+
+ def process_result_set(self):
+ ret = super(DBO_rzdb__fetch_DB_metablock, self).process_result_set()
+ if len(ret) > 1: # assert DB contains single metablock
+ raise Exception('found more than one DB metablocks, DB may be corrupt')
+ if 0 == len(ret):
+ return None
+ return ret.pop()
+
class DBO_rzdoc__clone(DB_op):
def __init__(self, limit=16384):