Skip to content

Bump sqlalchemy from 1.4.26 to 1.4.27

Guillaume Gay requested to merge dependabot/pip/sqlalchemy-1.4.27 into main

Created by: dependabot[bot]

Bumps sqlalchemy from 1.4.26 to 1.4.27.

Release notes

Sourced from sqlalchemy's releases.

1.4.27

Released: November 11, 2021

orm

  • [orm] [bug] Fixed bug in "relationship to aliased class" feature introduced at relationship_aliased_class where it was not possible to create a loader strategy option targeting an attribute on the target using the _orm.aliased() construct directly in a second loader option, such as selectinload(A.aliased_bs).joinedload(aliased_b.cs), without explicitly qualifying using _orm.PropComparator.of_type() on the preceding element of the path. Additionally, targeting the non-aliased class directly would be accepted (inappropriately), but would silently fail, such as selectinload(A.aliased_bs).joinedload(B.cs); this now raises an error referring to the typing mismatch.

    References: #7224

  • [orm] [bug] All _result.Result objects will now consistently raise _exc.ResourceClosedError if they are used after a hard close, which includes the "hard close" that occurs after calling "single row or value" methods like _result.Result.first() and _result.Result.scalar(). This was already the behavior of the most common class of result objects returned for Core statement executions, i.e. those based on _engine.CursorResult, so this behavior is not new. However, the change has been extended to properly accommodate for the ORM "filtering" result objects returned when using 2.0 style ORM queries, which would previously behave in "soft closed" style of returning empty results, or wouldn't actually "soft close" at all and would continue yielding from the underlying cursor.

    As part of this change, also added _result.Result.close() to the base _result.Result class and implemented it for the filtered result implementations that are used by the ORM, so that it is possible to call the _engine.CursorResult.close() method on the underlying _engine.CursorResult when the the yield_per execution option is in use to close a server side cursor before remaining ORM results have been fetched. This was again already available for Core result sets but the change makes it available for 2.0 style ORM results as well.

    References: #7274

  • [orm] [bug] [regression] Fixed 1.4 regression where _orm.Query.filter_by() would not function correctly on a _orm.Query that was produced from _orm.Query.union(), _orm.Query.from_self() or similar.

    References: #7239

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Merge request reports

Loading