summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/db_op.py20
-rw-r--r--src/server/neo4j_util.py6
2 files changed, 16 insertions, 10 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py
index b725c358..fd4b3ba9 100644
--- a/src/server/db_op.py
+++ b/src/server/db_op.py
@@ -24,12 +24,18 @@ class DB_op(object):
id_str = m.group('id')
self.tx_id = int(id_str)
- def add_statement(self, query, query_params={}):
+ def add_statement(self, q_str_or_array, query_params={}):
"""
add a DB query language statement
+
+ @param q_str_or_array: cypher query to add - if passed as an array ' '.join(q_str_or_array)
+ is used to convert it to string type
@return: statement index (zero based)
"""
- s = db_util.statement_to_REST_form(query, query_params)
+ if type(q_str_or_array) is list:
+ q_str_or_array = ' '.join(q_str_or_array)
+
+ s = db_util.statement_to_REST_form(q_str_or_array, query_params)
self.statement_set.append(s)
return len(self.statement_set)
@@ -344,6 +350,7 @@ class DBO_attr_diff_commit(DB_op):
blob = json.dumps(attr_diff)
chain_commit_op = DBO_block_chain__commit(blob)
+
self.add_sub_op(chain_commit_op)
def add_link_rename_statements(self, id_attr, new_label):
@@ -548,9 +555,8 @@ class DBO_rm_node_set(DB_op):
'return n_id'
]
- q = ' '.join(q_arr)
q_params = {'id_set': id_set}
- self.add_statement(q, q_params)
+ self.add_statement(q_arr, q_params)
class DBO_rm_link_set(DB_op):
def __init__(self, id_set):
@@ -571,9 +577,8 @@ class DBO_rm_link_set(DB_op):
'return r_id'
]
- q = ' '.join(q_arr)
q_params = {'id_set': id_set}
- self.add_statement(q, q_params)
+ self.add_statement(q_arr, q_params)
class DBO_rz_clone(DB_op):
def __init__(self, filter_label=None, limit=128):
@@ -598,8 +603,7 @@ class DBO_rz_clone(DB_op):
'optional match (n)-[r]->(m)',
'return n,labels(n),collect([m.id, r, type(r)])']
- q = ' '.join(q_arr)
- self.add_statement(q)
+ self.add_statement(q_arr)
def process_result_set(self):
ret_n_set = []
diff --git a/src/server/neo4j_util.py b/src/server/neo4j_util.py
index 5cd920a1..2fb44889 100644
--- a/src/server/neo4j_util.py
+++ b/src/server/neo4j_util.py
@@ -115,6 +115,7 @@ def statement_to_REST_form(query, parameters={}):
turn cypher query to neo4j json API format
"""
assert isinstance(query, six.string_types)
+
if isinstance(parameters, list):
for v in parameters:
assert isinstance(v, dict)
@@ -188,7 +189,6 @@ def gen_query_create_from_node_map(node_map, input_to_DB_property_map=lambda _:
'return n, labels(n)'
]
- q = ' '.join(q_arr)
q_params_set = []
for n_prop_set in n_set:
@@ -196,7 +196,9 @@ def gen_query_create_from_node_map(node_map, input_to_DB_property_map=lambda _:
q_params = input_to_DB_property_map(n_prop_set)
q_params_set.append(q_params)
- ret.append((q, {'node_attr': q_params_set}))
+
+ ret.append((q_arr, {'node_attr': q_params_set}))
+
return ret
def gen_query_create_from_link_map(link_map, input_to_DB_property_map=lambda _: _):