1.4.3
1.4.3
Released: March 25, 2021
orm
-
[orm] [bug] Fixed a bug where python 2.7.5 (default on CentOS 7) wasn't able to import
sqlalchemy, because on this version of Pythonexec "statement"
and
exec("statement")
do not behave the same way. The compatibility
exec_()
function was used instead.References: #6069
-
[orm] [bug] Fixed bug where ORM queries using a correlated subquery in conjunction with
_orm.column_property()
would fail to correlate correctly to an
enclosing subquery or to a CTE when_sql.Select.correlate_except()
were used in the property to control correlation, in cases where the
subquery contained the same selectables as ones within the correlated
subquery that were intended to not be correlated.References: #6060
-
[orm] [bug] Fixed bug where combinations of the new "relationship with criteria"
feature could fail in conjunction with features that make use of the new
"lambda SQL" feature, including loader strategies such as selectinload and
lazyload, for more complicated scenarios such as polymorphic loading.References: #6131
-
[orm] [bug] Repaired support so that the
_sql.ClauseElement.params()
method can
work correctly with a_sql.Select
object that includes joins
across ORM relationship structures, which is a new feature in 1.4.References: #6124
-
[orm] [bug] Fixed issue where a "removed in 2.0" warning were generated internally by
the relationship loader mechanics.References: #6115
orm declarative
-
[orm] [declarative] [bug] [regression] Fixed regression where the
.metadata
attribute on a per class level
would not be honored, breaking the use case of per-class-hierarchy
schema.MetaData
for abstract declarative classes and mixins.References: #6128
engine
-
[engine] [bug] [regression] Restored the
_engine.ResultProxy
name back to the
sqlalchemy.engine
namespace. This name refers to the
_engine.LegacyCursorResult
object.References: #6119
mypy
-
[mypy] [bug] Added support for the Mypy extension to correctly interpret a declarative
base class that's generated using the_orm.as_declarative()
function
as well as the_orm.registry.as_declarative_base()
method. -
[mypy] [bug] Fixed bug in Mypy plugin where the Python type detection
for the_types.Boolean
column type would produce
an exception; additionally implemented support for_types.Enum
,
including detection of a string-based enum vs. use of Pythonenum.Enum
.References: #6109
postgresql
-
[postgresql] [bug] [reflection] Fixed reflection of identity columns in tables with mixed case names
in PostgreSQL.References: #6129
sqlite
-
[sqlite] [feature] [asyncio] Added support for the aiosqlite database driver for use with the
SQLAlchemy asyncio extension.References: #5920
-
[sqlite] [bug] [regression] Repaired the
pysqlcipher
dialect to connect correctly which had
regressed in 1.4, and added test + CI support to maintain the driver
in working condition. The dialect now imports thesqlcipher3
module
for Python 3 by default before falling back topysqlcipher3
which
is documented as now being unmaintained.References: #5848