Update sqlalchemy requirement from ~=1.4.22 to ~=1.4.45
Created by: dependabot[bot]
Updates the requirements on sqlalchemy to permit the latest version.
Release notes
Sourced from sqlalchemy's releases.
1.4.45
Released: December 10, 2022
orm
[orm] [bug] Fixed bug where
_orm.Session.merge()
would fail to preserve the current loaded contents of relationship attributes that were indicated with the_orm.relationship.viewonly
parameter, thus defeating strategies that use_orm.Session.merge()
to pull fully loaded objects from caches and other similar techniques. In a related change, fixed issue where an object that contains a loaded relationship that was nonetheless configured aslazy='raise'
on the mapping would fail when passed to_orm.Session.merge()
; checks for "raise" are now suspended within the merge process assuming the_orm.Session.merge.load
parameter remains at its default ofTrue
.Overall, this is a behavioral adjustment to a change introduced in the 1.4 series as of #4994, which took "merge" out of the set of cascades applied by default to "viewonly" relationships. As "viewonly" relationships aren't persisted under any circumstances, allowing their contents to transfer during "merge" does not impact the persistence behavior of the target object. This allows
_orm.Session.merge()
to correctly suit one of its use cases, that of adding objects to aSession
that were loaded elsewhere, often for the purposes of restoring from a cache.References: #8862
[orm] [bug] Fixed issues in
_orm.with_expression()
where expressions that were composed of columns that were referenced from the enclosing SELECT would not render correct SQL in some contexts, in the case where the expression had a label name that matched the attribute which used_orm.query_expression()
, even when_orm.query_expression()
had no default expression. For the moment, if the_orm.query_expression()
does have a default expression, that label name is still used for that default, and an additional label with the same name will continue to be ignored. Overall, this case is pretty thorny so further adjustments might be warranted.References: #8881
engine
[engine] [bug] Fixed issue where
_engine.Result.freeze()
method would not work for textual SQL using either_sql.text()
or_engine.Connection.exec_driver_sql()
.References: #8963
... (truncated)
Commits
- See full diff in compare view
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)