Tags: rosperitus/pony
Tags
PonyORM release 0.7.10 (2019-04-20) # Bugfixes * Python3.7 and PyPy decompiling fixes * Fix reading NULL from Optional nullable array column * Fix handling of empty arrays in queries * ponyorm#415: error message typo * ponyorm#432: PonyFlask - request object can trigger teardown_request without real request * Fix GROUP CONCAT separator for MySQL
PonyORM release 0.7.8 (2019-01-19) # Bugfixes * ponyorm#414: prefetching Optional relationships fails on 0.7.7 * Fix a bug caused by incorrect deduplication of column values
PonyORM release 0.7.8 (2019-01-19) # Bugfixes * ponyorm#414: prefetching Optional relationships fails on 0.7.7 * Fix a bug caused by incorrect deduplication of column values
PonyORM release 0.7.7 (2019-01-17) # Major features * Array type support for PostgreSQL and SQLite * isinstance() support in queries * Support of queries based on collections: select(x for x in y.items) # Other features * Support of Entity.select(**kwargs) * Support of SKIP LOCKED option in 'SELECT ... FOR UPDATE' * New function make_proxy(obj) to make cros-db_session proxy objects * Specify ON DELETE CASCADE/SET NULL in foreign keys * Support of LIMIT in `SELECT FROM (SELECT ...)` type of queries * Support for negative JSON array indexes in SQLite # Improvements * Improved query prefetching: use fewer number of SQL queries * Memory optimization: deduplication of values recieved from the database in the same session * increase DBAPIProvider.max_params_count value # Bugfixes * ponyorm#405: breaking change with cx_Oracle 7.0: DML RETURNING now returns a list * ponyorm#380: db_session should work with async functions * ponyorm#385: test fails with python3.6 * ponyorm#386: release unlocked lock error in SQLite * ponyorm#390: TypeError: writable buffers are not hashable * ponyorm#398: add auto coversion of numpy numeric types * ponyorm#404: GAE local run detection * Fix Flask compatibility: add support of LocalProxy object * db_session(sql_debug=True) should log SQL commands also during db_session.__exit__() * Fix duplicated table join in FROM clause * Fix accessing global variables from hybrid methods and properties * Fix m2m collection loading bug * Fix composite index bug: stackoverflow.com/questions/53147694 * Fix MyEntity[obj.get_pk()] if pk is composite * MySQL group_concat_max_len option set to max of 32bit platforms to avoid truncation * Show all attribute options in show(Entity) call * For nested db_session retry option should be ignored * Fix py_json_unwrap * Other minor fixes
Pony ORM Release 0.7.6 (2018-08-10) # Features since 0.7.5: * f-strings support in queries: `select(f'{s.name} - {s.age}' for s in Student)` * ponyorm#344: It is now possible to specify offset without limit: `query.limit(offset=10)` * ponyorm#371: Support of explicit casting of JSON expressions to `str`, `int` or `float` * `@db.on_connect` decorator added # Bugfixes * Fix bulk delete bug introduced in 0.7.4 * ponyorm#370 Fix memory leak introduced in 0.7.4 * Now `exists()` in query does not throw away condition in generator expression: `exists(s.gpa > 3 for s in Student)` * ponyorm#373: 0.7.4/0.7.5 breaks queries using the `in` operator to test membership of another query result * ponyorm#374: `auto=True` can be used with all PrimaryKey types, not only `int` * ponyorm#369: Make QueryResult looks like a list object again: add concatenation with lists, `.shuffle()` and `.to_list()` methods * ponyorm#355: Fix binary primary keys `PrimaryKey(buffer)` in Python2 * Interactive mode support for PyCharm console * Fix wrong table aliases in complex queries * Fix query optimization code for complex queries * Fix a bug with hybrid properties that use external functions
Pony ORM Release 0.7.6rc1 (2018-08-08) # New features * f-strings support in queries: select(f'{s.name} - {s.age}' for s in Student) * ponyorm#344: It is now possible to specify offset without limit: `query.limit(offset=10)` * ponyorm#371: Support of explicit casting of JSON expressions to `str`, `int` or `float` * `@db.on_connect` decorator added # Bugfixes * Fix bulk delete bug introduced in 0.7.4 * ponyorm#370 Fix memory leak introduced in 0.7.4 * Now exists() in query does not throw away condition in generator expression: `exists(s.gpa > 3 for s in Student)` * ponyorm#373: 0.7.4/0.7.5 breaks queries using the `in` operator to test membership of another query result * ponyorm#374: `auto=True` can be used with all PrimaryKey types, not only int * ponyorm#369: Make QueryResult looks like a list object again: add concatenation with lists, `.shuffle()` and `.to_list()` methods * ponyorm#355: Fix binary primary keys `PrimaryKey(buffer)` in Python2 * Interactive mode support for PyCharm console * Fix wrong table aliases in complex queries * Fix query optimization code for complex queries
Pony ORM Release 0.7.4 (2018-07-23) # Major features * Hybrid methods and properties added: https://docs.ponyorm.com/entities.html#hybrid-methods-and-properties * Allow to base queries on another queries: `select(x.a for x in prev_query if x.b)` * Added support of Python 3.7 * Added support of PyPy * `group_concat()` aggregate function added * pony.flask subpackage added for integration with Flask # Other features * `distinct` option added to aggregate functions * Support of explicit casting to `float` and `bool` in queries # Improvements * Apply @cut_traceback decorator only when pony.MODE is 'INTERACTIVE' # Bugfixes * In SQLite3 `LIKE` is case sensitive now * ponyorm#249: Fix incorrect mixin used for Timedelta * ponyorm#251: correct dealing with qualified table names * ponyorm#301: Fix aggregation over JSON Column * ponyorm#306: Support of frozenset constants added * ponyorm#308: Fixed an error when assigning JSON attribute value to the same attribute: obj.json_attr = obj.json_attr * ponyorm#313: Fix missed retry on exception raised during db_session.__exit__ * ponyorm#314: Fix AttributeError: 'NoneType' object has no attribute 'seeds' * ponyorm#315: Fix attribute lifting for JSON attributes * ponyorm#321: Fix KeyError on obj.delete() * ponyorm#325: duplicating percentage sign in raw SQL queries without parameters * ponyorm#331: Overriding __len__ in entity fails * ponyorm#336: entity declaration serialization * ponyorm#357: reconnect after PostgreSQL server closed the connection unexpectedly * Fix Python implementation of between() function and rename arguments: between(a, x, y) -> between(x, a, b) * Fix retry handling: in PostgreSQL and Oracle an error can be raised during commit * Fix optimistic update checks for composite foreign keys * Don't raise OptimisticCheckError if db_session is not optimistic * Handling incorrect datetime values in MySQL * Improved ImportError exception messages when MySQLdb, pymysql, psycopg2 or psycopg2cffi driver was not found * desc() function fixed to allow reverse its effect by calling desc(desc(x)) * __contains__ method should check if objects belong to the same db_session * Fix pony.MODE detection; mod_wsgi detection according to official doc * A lot of inner fixes
Pony ORM Release 0.7.3 (2017-10-23) # New features * `where()` method added to query * `coalesce()` function added * `between(x, a, b)` function added * ponyorm#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 * ponyorm#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 ponyorm#170: Problem with a primary key column used as a part of another key * Fixes ponyorm#223: incorrect result of `getattr(entity, attrname)` when the same lambda applies to different entities * Fixes ponyorm#266: Add handler to `"pony.orm"` logger does not work * Fixes ponyorm#278: Cascade delete error: FOREIGN KEY constraint failed, with complex entity relationships * Fixes ponyorm#283: Lost Json update immediately after object creation * Fixes ponyorm#284: `query.order_by()` orders Json numbers like strings * Fixes ponyorm#288: Expression text parsing issue in Python 3 * Fixes ponyorm#293: translation of if-expressions in expression * Fixes ponyorm#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
PreviousNext