Python用の新しいneo4jドライバーを使い始めたばかりで、トランザクションに完全に行き詰まりました。トランザクションが正常に完了したかどうかを確認するにはどうすればよいですか? commit
関数が自動的にエラーを発生させないと言うことができる限り、たとえば、間違った Cypher クエリを指定した場合、これに関する情報は得られません。
last_result
オブジェクトから引数を読み取ろうとしSession
たところ、次のような sth が思いつきました。
import neo4j.v1 as neo
def db_confirm_transaction_success(session):
try:
w = list(session.last_result)
return True
except neo.CypherError as e:
session.last_result._consumed = True
return False
except neo.ResultError as e:
session.last_result._consumed = True
return False
それはうまくいきます...それでも、プライベート属性を変更する必要があり、単に正しい/正しくないようです。よりシンプルでエレガントなソリューションが必要です。
よろしくお願いします。
編集: 属性を明確にするためにTransaction.success
、トランザクションをコミットまたはロールバックする必要があるかどうかを示します。それでも、たとえば Cypher エラーは、クエリの実行時間までに特定できます。