neo4j / neo4j-python-driver

Neo4j Bolt driver for Python
https://neo4j.com/docs/api/python-driver/current/
Other
893 stars 187 forks source link

Propagate errors across all results in a transaction #973

Closed robsdedude closed 11 months ago

robsdedude commented 11 months ago

A new error ResultFailedError is introduced. It will be raised when using a Result object after the result or another result in the same transaction has failed.

User code would only ever run into this situation when catch exceptions and deciding to ignore them. Now, an error will be raised instead of undefined behavior. The undefined behavior before this fix could be (among other things) protocol violations, incomplete summary data, and hard to interpret errors.

Depends on: