1.3.24
Released: March 30, 2021
orm
-
[orm] [bug] Removed very old warning that states that passive_deletes is not intended
for many-to-one relationships. While it is likely that in many cases
placing this parameter on a many-to-one relationship is not what was
intended, there are use cases where delete cascade may want to be
disallowed following from such a relationship.References: #5983
-
[orm] [bug] Fixed issue where the process of joining two tables could fail if one of
the tables had an unrelated, unresolvable foreign key constraint which
would raise_exc.NoReferenceError
within the join process, which
nonetheless could be bypassed to allow the join to complete. The logic
which tested the exception for significance within the process would make
assumptions about the construct which would fail.References: #5952
-
[orm] [bug] Fixed issue where the
_mutable.MutableComposite
construct could be
placed into an invalid state when the parent object was already loaded, and
then covered by a subsequent query, due to the composite properties'
refresh handler replacing the object with a new one not handled by the
mutable extension.References: #6001
engine
-
[engine] [bug] Fixed bug where the "schema_translate_map" feature failed to be taken into
account for the use case of direct execution of
_schema.DefaultGenerator
objects such as sequences, which included
the case where they were "pre-executed" in order to generate primary key
values when implicit_returning was disabled.References: #5929
schema
-
[schema] [bug] Fixed bug first introduced in as some combination of #2892,
#2919 nnd #3832 where the attachment events for a
_types.TypeDecorator
would be doubled up against the "impl" class,
if the "impl" were also a_types.SchemaType
. The real-world case
is any_types.TypeDecorator
against_types.Enum
or
_types.Boolean
would get a doubled
_schema.CheckConstraint
when thecreate_constraint=True
flag
is set.References: #6152
-
[schema] [bug] [sqlite] Fixed issue where the CHECK constraint generated by
_types.Boolean
or_types.Enum
would fail to render the naming convention
correctly after the first compilation, due to an unintended change of state
within the name given to the constraint. This issue was first introduced in
0.9 in the fix for issue #3067, and the fix revises the approach taken at
that time which appears to have been more involved than what was needed.References: #6007
-
[schema] [bug] Repaired / implemented support for primary key constraint naming
conventions that use column names/keys/etc as part of the convention. In
particular, this includes that thePrimaryKeyConstraint
object
that's automatically associated with aschema.Table
will update
its name as new primary key_schema.Column
objects are added to
the table and then to the constraint. Internal failure modes related to
this constraint construction process including no columns present, no name
present or blank name present are now accommodated.References: #5919
-
[schema] [bug] Adjusted the logic that emits DROP statements for
_schema.Sequence
objects among the dropping of multiple tables, such that all
_schema.Sequence
objects are dropped after all tables, even if the
given_schema.Sequence
is related only to a_schema.Table
object and not directly to the overall_schema.MetaData
object.
The use case supports the same_schema.Sequence
being associated
with more than one_schema.Table
at a time.References: #6071
postgresql
-
[postgresql] [bug] Fixed issue where using
_postgresql.aggregate_order_by
would
return ARRAY(NullType) under certain conditions, interfering with
the ability of the result object to return data correctly.References: #5989
-
[postgresql] [bug] [reflection] Fixed issue in PostgreSQL reflection where a column expressing "NOT NULL"
will supersede the nullability of a corresponding domain.References: #6161
-
[postgresql] [bug] [types] Adjusted the psycopg2 dialect to emit an explicit PostgreSQL-style cast for
bound parameters that contain ARRAY elements. This allows the full range of
datatypes to function correctly within arrays. The asyncpg dialect already
generated these internal casts in the final statement. This also includes
support for array slice updates as well as the PostgreSQL-specific
_postgresql.ARRAY.contains()
method.References: #6023
mssql
-
[mssql] [bug] [reflection] Fixed issue regarding SQL Server reflection for older SQL Server 2005
version, a call to sp_columns would not proceed correctly without being
prefixed with the EXEC keyword. This method is not used in current 1.4
series.References: #5921