summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src-py/db_controller.py14
-rw-r--r--src-py/neo4j_util.py7
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