Skip to content

Bump sqlalchemy from 1.3.20 to 1.4.18

Bumps sqlalchemy from 1.3.20 to 1.4.18.

Release notes

Sourced from sqlalchemy's releases.

1.4.18

Released: June 10, 2021

orm

  • [orm] [performance] [bug] [regression] Fixed regression involving how the ORM would resolve a given mapped column to a result row, where under cases such as joined eager loading, a slightly more expensive "fallback" could take place to set up this resolution due to some logic that was removed since 1.3. The issue could also cause deprecation warnings involving column resolution to be emitted when using a 1.4 style query with joined eager loading.

    References: #6596

  • [orm] [bug] Clarified the current purpose of the _orm.relationship.bake_queries flag, which in 1.4 is to enable or disable "lambda caching" of statements within the "lazyload" and "selectinload" loader strategies; this is separate from the more foundational SQL query cache that is used for most statements. Additionally, the lazy loader no longer uses its own cache for many-to-one SQL queries, which was an implementation quirk that doesn't exist for any other loader scenario. Finally, the "lru cache" warning that the lazyloader and selectinloader strategies could emit when handling a wide array of class/relationship combinations has been removed; based on analysis of some end-user cases, this warning doesn't suggest any significant issue. While setting bake_queries=False for such a relationship will remove this cache from being used, there's no particular performance gain in this case as using no caching vs. using a cache that needs to refresh often likely still wins out on the caching being used side.

    References: #6072, #6487

  • [orm] [bug] [regression] Adjusted the means by which classes such as _orm.scoped_session and _asyncio.AsyncSession are generated from the base _orm.Session class, such that custom _orm.Session subclasses such as that used by Flask-SQLAlchemy don't need to implement positional arguments when they call into the superclass method, and can continue using the same argument styles as in previous releases.

    References: #6285

  • [orm] [bug] [regression] Fixed issue where query production for joinedload against a complex left hand side involving joined-table inheritance could fail to produce a correct query, due to a clause adaption issue.

    References: #6595

  • [orm] [bug] Fixed issue in experimental "select ORM objects from INSERT/UPDATE" use

... (truncated)

Commits

Merge request reports