Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# New features * `where()` method added to query * `coalesce()` function added * `between(x, a, b)` function added * #295: Add `_table_options_` for entity class to specify engine, tablespace, etc. * Make debug flag thread-local * `sql_debugging` context manager added * `sql_debug` and show_values arguments to db_session added * `set_sql_debug` function added as alias to (to be deprecated) `sql_debug` function * Allow `db_session` to accept `ddl` parameter when used as context manager * Add `optimistic=True` option to db_session * Skip optimistic checks for queries in `db_session` with `serializable=True` * `fk_name` option added for attributes in order to specify foreign key name * #280: Now it's possible to specify `timeout` option, as well as pass other keyword arguments for `sqlite3.connect` function * Add support of explicit casting to int in queries using `int()` function * Added modulo division % native support in queries # Bugfixes * Fix bugs with composite table names * Fix invalid foreign key & index names for tables which names include schema name * For queries like `select(x for x in MyObject if not x.description)` add "OR x.info IS NULL" for nullable string columns * Add optimistic checking for `delete()` method * Show updated attributes when `OptimisticCheckError` is being raised * Fix incorrect aliases in nested queries * Correctly pass exception from user-defined functions in SQLite * More clear error messages for `UnrepeatableReadError` * Fix `db_session(strict=True)` which was broken in 2d3afb2 * Fixes #170: Problem with a primary key column used as a part of another key * Fixes #223: incorrect result of `getattr(entity, attrname)` when the same lambda applies to different entities * Fixes #266: Add handler to `"pony.orm"` logger does not work * Fixes #278: Cascade delete error: FOREIGN KEY constraint failed, with complex entity relationships * Fixes #283: Lost Json update immediately after object creation * Fixes #284: `query.order_by()` orders Json numbers like strings * Fixes #288: Expression text parsing issue in Python 3 * Fixes #293: translation of if-expressions in expression * Fixes #294: Real stack traces swallowed within IPython shell * `Collection.count()` method should check if session is alive * Set `obj._session_cache_` to None after exiting from db session for better garbage collection * Unload collections which are not fully loaded after exiting from db session for better garbage collection * Raise on unknown options for attributes that are part of relationship
- Loading branch information