Bump sqlalchemy from 1.3.20 to 1.4.9
Bumps sqlalchemy from 1.3.20 to 1.4.9.
Release notes
Sourced from sqlalchemy's releases.
1.4.9
Released: April 17, 2021
orm
[orm] [usecase] Established support for
_orm.synoynm()
in conjunction with hybrid property, assocaitionproxy is set up completely, including that synonyms can be established linking to these constructs which work fully. This is a behavior that was semi-explicitly disallowed previously, however since it did not fail in every scenario, explicit support for assoc proxy and hybrids has been added.References: #6267
[orm] [performance] [bug] [regression] [sql] Fixed a critical performance issue where the traversal of a
_sql.select()
construct would traverse a repetitive product of the represented FROM clauses as they were each referred towards by columns in the columns clause; for a series of nested subqueries with lots of columns this could cause a large delay and significant memory growth. This traversal is used by a wide variety of SQL and ORM functions, including by the ORM_orm.Session
when it's configured to have "table-per-bind", which while this is not a common use case, it seems to be what Flask-SQLAlchemy is hardcoded as using, so the issue impacts Flask-SQLAlchemy users. The traversal has been repaired to uniqify on FROM clauses which was effectively what would happen implicitly with the pre-1.4 architecture.References: #6304
[orm] [bug] [regression] Fixed regression where an attribute that is mapped to a
_orm.synonym()
could not be used in column loader options such as_orm.load_only()
.References: #6272
sql
[sql] [bug] [regression] Fixed regression where an empty in statement on a tuple would result in an error when compiled with the option
literal_binds=True
.References: #6290
postgresql
- [postgresql] [bug] [regression] [sql] Fixed an argument error in the default and PostgreSQL compilers that would interfere with an UPDATE..FROM or DELETE..FROM..USING statement
... (truncated)
Commits
- See full diff in compare view