diff options
| -rw-r--r-- | src-py/db_controller.py | 14 | ||||
| -rw-r--r-- | src-py/neo4j_util.py | 7 |
2 files changed, 17 insertions, 4 deletions
diff --git a/src-py/db_controller.py b/src-py/db_controller.py index 875eb0bc..7cd1af7b 100644 --- a/src-py/db_controller.py +++ b/src-py/db_controller.py @@ -351,15 +351,21 @@ class DB_Driver_REST(DB_Driver_Base): except Exception as e: raise Exception('failed to open transaction:' + e.message) - def exex_op_statements(self, op): + def exec_statement_set(self, op): + tx_url = "{0}/{1}".format(self.tx_base_url, op.tx_id) statement_set = db_util.statement_set_to_REST_form(op.statement_set) try: - ret = db_util.post_neo4j(tx_url, statement_set) - op._assign_results_errors(ret) + post_ret = db_util.post_neo4j(tx_url, statement_set) + op.result_set = post_ret['results'] + op.error_set = post_ret['errors'] + if 0 != len(op.error_set): + raise Neo4JException(op.error_set) + self.log_committed_queries(statement_set) - return ret + except Neo4JException as e: + raise e except Exception as e: raise Exception('failed exec op statements: err: {0}, url: {1}'.format(e.message, tx_url)) diff --git a/src-py/neo4j_util.py b/src-py/neo4j_util.py index 8d70ced9..5b7cfee7 100644 --- a/src-py/neo4j_util.py +++ b/src-py/neo4j_util.py @@ -7,6 +7,13 @@ import urllib2 import model import string +class Neo4JException(Exception): + def __init__(self, error_set): + self.error_set = error_set + + def __str__(self): + return 'neo4j error set: ' + str(self.error_set) + class DB_row(object): def __init__(self, data): self.data = data |
