.. changelog::
:version: 1.3.24
- :include_notes_from: unreleased_13
+ :released: March 30, 2021
+
+ .. change::
+ :tags: bug, schema
+ :tickets: 6152
+
+ Fixed bug first introduced in as some combination of :ticket:`2892`,
+ :ticket:`2919` nnd :ticket:`3832` where the attachment events for a
+ :class:`_types.TypeDecorator` would be doubled up against the "impl" class,
+ if the "impl" were also a :class:`_types.SchemaType`. The real-world case
+ is any :class:`_types.TypeDecorator` against :class:`_types.Enum` or
+ :class:`_types.Boolean` would get a doubled
+ :class:`_schema.CheckConstraint` when the ``create_constraint=True`` flag
+ is set.
+
+
+ .. change::
+ :tags: bug, schema, sqlite
+ :tickets: 6007
+ :versions: 1.4.0
+
+ Fixed issue where the CHECK constraint generated by :class:`_types.Boolean`
+ or :class:`_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.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 5983
+ :versions: 1.4.0
+
+ 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.
+
+
+
+ .. change::
+ :tags: bug, postgresql
+ :tickets: 5989
+ :versions: 1.4.0
+
+ Fixed issue where using :class:`_postgresql.aggregate_order_by` would
+ return ARRAY(NullType) under certain conditions, interfering with
+ the ability of the result object to return data correctly.
+
+ .. change::
+ :tags: bug, schema
+ :tickets: 5919
+ :versions: 1.4.0
+
+ 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 the :class:`.PrimaryKeyConstraint` object
+ that's automatically associated with a :class:`.schema.Table` will update
+ its name as new primary key :class:`_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.
+
+ .. change::
+ :tags: bug, schema
+ :tickets: 6071
+ :versions: 1.4.3
+
+ Adjusted the logic that emits DROP statements for :class:`_schema.Sequence`
+ objects among the dropping of multiple tables, such that all
+ :class:`_schema.Sequence` objects are dropped after all tables, even if the
+ given :class:`_schema.Sequence` is related only to a :class:`_schema.Table`
+ object and not directly to the overall :class:`_schema.MetaData` object.
+ The use case supports the same :class:`_schema.Sequence` being associated
+ with more than one :class:`_schema.Table` at a time.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 5952
+ :versions: 1.4.0
+
+ 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 :class:`_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.
+
+
+ .. change::
+ :tags: bug, postgresql, reflection
+ :tickets: 6161
+ :versions: 1.4.4
+
+ Fixed issue in PostgreSQL reflection where a column expressing "NOT NULL"
+ will supersede the nullability of a corresponding domain.
+
+ .. change::
+ :tags: bug, engine
+ :tickets: 5929
+ :versions: 1.4.0
+
+ Fixed bug where the "schema_translate_map" feature failed to be taken into
+ account for the use case of direct execution of
+ :class:`_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.
+
+ .. change::
+ :tags: bug, orm
+ :tickets: 6001
+ :versions: 1.4.0
+
+ Fixed issue where the :class:`_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.
+
+
+ .. change::
+ :tags: bug, types, postgresql
+ :tickets: 6023
+ :versions: 1.4.3
+
+ 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
+ :meth:`_postgresql.ARRAY.contains` method.
+
+ .. change::
+ :tags: bug, mssql, reflection
+ :tickets: 5921
+
+ 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.
+
.. changelog::
:version: 1.3.23