diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/db_op.py | 20 | ||||
| -rw-r--r-- | src/server/neo4j_util.py | 6 |
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 _: _): |
