github coleifer/peewee 3.17.0

latest releases: 3.17.8, 3.17.7, 3.17.6...
13 months ago
  • Only roll-back in the outermost @db.transaction decorator/ctx manager if an unhandled exception occurs. Previously, an unhandled exception that occurred in a nested transaction context would trigger a rollback. The use of nested transaction has long been discouraged in the documentation: the recommendation is to always use db.atomic, which will use savepoints to properly handle nested blocks. However, the new behavior should make it easier to reason about transaction boundaries - see #2767 for discussion.
  • Cover transaction BEGIN in the reconnect-mixin. Given that no transaction has been started, reconnecting when beginning a new transaction ensures that a reconnect will occur if it is safe to do so.
  • Add support for setting isolation_level in db.atomic() and db.transaction() when using Postgres and MySQL/MariaDB, which will apply to the wrapped transaction. Note: Sqlite has supported a similar lock_type parameter for some time.
  • Add support for the Sqlite SQLITE_DETERMINISTIC function flag. This allows user-defined Sqlite functions to be used in indexes and may be used by the query planner.
  • Fix unreported bug in dataset import when inferred field name differs from column name.

View commits

Don't miss a new peewee release

NewReleases is sending notifications on new releases.