Опубликовано 4 марта 2024 г. 18:00 by Xadmin просмотров: 153

Теперь доступна SQLAlchemy 2.0.28.

Релиз 2.0.28 включает в себя два исправления регрессии, связанные с ORM, одно из которых - регресс производительности в отношении параметров "критериев" ORM, таких как конструкция with_expression(), а также при добавлении критериев WHERE в параметры загрузчика, такие как selectinload(). Подход к замене значительно проще и может иметь заметный эффект для приложений, которые сталкиваются с этим конкретным путем к коду / сценарием.

Ссылки на подробный список изменений для версии 2.0.28 находятся в Changelog.

SQLAlchemy 2.0.28 доступна на Download Page.

2.0.28

Released: March 4, 2024

orm

  • [orm] [bug] [regression]

    Fixed regression caused by #9779 where using the “secondary” table in a relationship and_() expression would fail to be aliased to match how the “secondary” table normally renders within a Select.join() expression, leading to an invalid query.

    References: #11010

     

  • [orm] [bug] [performance] [regression]

    Adjusted the fix made in #10570, released in 2.0.23, where new logic was added to reconcile possibly changing bound parameter values across cache key generations used within the with_expression() construct. The new logic changes the approach by which the new bound parameter values are associated with the statement, avoiding the need to deep-copy the statement which can result in a significant performance penalty for very deep / complex SQL constructs. The new approach no longer requires this deep-copy step.

    References: #11085

     

engine

asyncio

tests

  • [tests] [change]

    pytest support in the tox.ini file has been updated to support pytest 8.1.

Share this post