diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-04-29 03:51:44 +0300 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-04-29 17:46:39 +0300 |
| commit | 972c50e10e3727d697457299ae71918c1f444af5 (patch) | |
| tree | 008a89a70126d8fe79a2772702d0a9119f2a8a23 /src | |
| parent | 3c63ec6518f5f43ca907a56896445383469862f9 (diff) | |
db_op: DBO_rzdb__fetch_DB_metablock
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/db_op.py | 23 |
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): |
