From 1084153cac3847401c2454dbebc3e2cc85b462aa Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 13 May 2020 17:35:25 -0400 Subject: [PATCH] - 1.3.17 --- doc/build/changelog/changelog_13.rst | 174 ++++++++++++++++++++- doc/build/changelog/unreleased_13/4138.rst | 5 - doc/build/changelog/unreleased_13/5237.rst | 9 -- doc/build/changelog/unreleased_13/5246.rst | 8 - doc/build/changelog/unreleased_13/5255.rst | 8 - doc/build/changelog/unreleased_13/5262.rst | 8 - doc/build/changelog/unreleased_13/5265.rst | 8 - doc/build/changelog/unreleased_13/5266.rst | 8 - doc/build/changelog/unreleased_13/5269.rst | 10 -- doc/build/changelog/unreleased_13/5271.rst | 7 - doc/build/changelog/unreleased_13/5278.rst | 7 - doc/build/changelog/unreleased_13/5288.rst | 8 - doc/build/changelog/unreleased_13/5298.rst | 9 -- doc/build/changelog/unreleased_13/5303.rst | 11 -- doc/build/changelog/unreleased_13/5304.rst | 10 -- doc/build/changelog/unreleased_13/5314.rst | 13 -- doc/build/changelog/unreleased_13/5316.rst | 14 -- doc/build/changelog/unreleased_13/5326.rst | 12 -- doc/build/conf.py | 4 +- 19 files changed, 175 insertions(+), 158 deletions(-) delete mode 100644 doc/build/changelog/unreleased_13/4138.rst delete mode 100644 doc/build/changelog/unreleased_13/5237.rst delete mode 100644 doc/build/changelog/unreleased_13/5246.rst delete mode 100644 doc/build/changelog/unreleased_13/5255.rst delete mode 100644 doc/build/changelog/unreleased_13/5262.rst delete mode 100644 doc/build/changelog/unreleased_13/5265.rst delete mode 100644 doc/build/changelog/unreleased_13/5266.rst delete mode 100644 doc/build/changelog/unreleased_13/5269.rst delete mode 100644 doc/build/changelog/unreleased_13/5271.rst delete mode 100644 doc/build/changelog/unreleased_13/5278.rst delete mode 100644 doc/build/changelog/unreleased_13/5288.rst delete mode 100644 doc/build/changelog/unreleased_13/5298.rst delete mode 100644 doc/build/changelog/unreleased_13/5303.rst delete mode 100644 doc/build/changelog/unreleased_13/5304.rst delete mode 100644 doc/build/changelog/unreleased_13/5314.rst delete mode 100644 doc/build/changelog/unreleased_13/5316.rst delete mode 100644 doc/build/changelog/unreleased_13/5326.rst diff --git a/doc/build/changelog/changelog_13.rst b/doc/build/changelog/changelog_13.rst index f53c68aa53..a9039a7029 100644 --- a/doc/build/changelog/changelog_13.rst +++ b/doc/build/changelog/changelog_13.rst @@ -12,7 +12,179 @@ .. changelog:: :version: 1.3.17 - :include_notes_from: unreleased_13 + :released: May 13, 2020 + + .. change:: + :tags: bug, oracle + :tickets: 5246 + + Some modifications to how the cx_oracle dialect sets up per-column + outputtype handlers for LOB and numeric datatypes to adjust for potential + changes coming in cx_Oracle 8. + + + .. change:: + :tags: bug, orm + :tickets: 5288 + + Fixed bug where using :func:`.with_polymorphic` as the target of a join via + :meth:`.RelationshipComparator.of_type` on a mapper that already has a + subquery-based with_polymorphic setting that's equivalent to the one + requested would not correctly alias the ON clause in the join. + + .. change:: + :tags: bug, oracle, performance + :tickets: 5314 + + Changed the implementation of fetching CLOB and BLOB objects to use + cx_Oracle's native implementation which fetches CLOB/BLOB objects inline + with other result columns, rather than performing a separate fetch. As + always, this can be disabled by setting auto_convert_lobs to False. + + As part of this change, the behavior of a CLOB that was given a blank + string on INSERT now returns None on SELECT, which is now consistent with + that of VARCHAR on Oracle. + + + .. change:: + :tags: usecase, postgresql + :tickets: 5265 + + Added support for columns or type :class:`.ARRAY` of :class:`.Enum`, + :class:`.JSON` or :class:`_postgresql.JSONB` in PostgreSQL. + Previously a workaround was required in these use cases. + + + .. change:: + :tags: schema + :tickets: 4138 + + Add ``comment`` attribute to :class:`_schema.Column` ``__repr__`` method. + + .. change:: + :tags: bug, orm + :tickets: 5303 + + Fixed issue in the area of where loader options such as selectinload() + interact with the baked query system, such that the caching of a query is + not supposed to occur if the loader options themselves have elements such + as with_polymorphic() objects in them that currently are not + cache-compatible. The baked loader could sometimes not fully invalidate + itself in these some of these scenarios leading to missed eager loads. + + + .. change:: + :tags: bug, engine + :tickets: 5326 + + Fixed fairly critical issue where the DBAPI connection could be returned to + the connection pool while still in an un-rolled-back state. The reset agent + responsible for rolling back the connection could be corrupted in the case + that the transaction was "closed" without being rolled back or committed, + which can occur in some scenarios when using ORM sessions and emitting + .close() in a certain pattern involving savepoints. The fix ensures that + the reset agent is always active. + + + .. change:: + :tags: bug, orm + :tickets: 5304 + + Modified the internal "identity set" implementation, which is a set that + hashes objects on their id() rather than their hash values, to not actually + call the ``__hash__()`` method of the objects, which are typically + user-mapped objects. Some methods were calling this method as a side + effect of the implementation. + + + .. change:: + :tags: usecase, postgresql + :tickets: 5266 + + Raise an explicit :class:`.exc.CompileError` when adding a table with a + column of type :class:`.ARRAY` of :class:`.Enum` configured with + :paramref:`.Enum.native_enum` set to ``False`` when + :paramref:`.Enum.create_constraint` is not set to ``False`` + + .. change:: + :tags: bug, schema + :tickets: 5298 + + Fixed issue where an :class:`.Index` that is deferred in being associated + with a table, such as as when it contains a :class:`.Column` that is not + associated with any :class:`.Table` yet, would fail to attach correctly if + it also contained a non table-oriented expession. + + + .. change:: + :tags: change, firebird + :tickets: 5278 + + Adjusted dialect loading for ``firebird://`` URIs so the external + sqlalchemy-firebird dialect will be used if it has been installed, + otherwise fall back to the (now deprecated) internal Firebird dialect. + + .. change:: + :tags: bug, mssql, reflection + :tickets: 5255 + + Fix a regression introduced by the reflection of computed column in + MSSQL when using the legacy TDS version 4.2. The dialect will try + to detect the protocol version of first connect and run in compatibility + mode if it cannot detect it. + + .. change:: + :tags: bug, mssql, reflection + :tickets: 5271 + + Fix a regression introduced by the reflection of computed column in + MSSQL when using SQL server versions before 2012, which does not support + the ``concat`` function. + + .. change:: + :tags: bug, orm + :tickets: 5269 + + An informative error message is raised when an ORM many-to-one comparison + is attempted against an object that is not an actual mapped instance. + Comparisons such as those to scalar subqueries aren't supported; + generalized comparison with subqueries is better achieved using + :meth:`~.RelationshipProperty.Comparator.has`. + + + .. change:: + :tags: usecase, orm + :tickets: 5262 + + Added an accessor :attr:`.ColumnProperty.Comparator.expressions` which + provides access to the group of columns mapped under a multi-column + :class:`.ColumnProperty` attribute. + + + .. change:: + :tags: bug, schema + :tickets: 5316 + + A warning is emitted when making use of the :attr:`.MetaData.sorted_tables` + attribute as well as the :func:`_schema.sort_tables` function, and the + given tables cannot be correctly sorted due to a cyclic dependency between + foreign key constraints. In this case, the functions will no longer sort + the involved tables by foreign key, and a warning will be emitted. Other + tables that are not part of the cycle will still be returned in dependency + order. Previously, the sorted_table routines would return a collection that + would unconditionally omit all foreign keys when a cycle was detected, and + no warning was emitted. + + + .. change:: + :tags: orm, usecase + :tickets: 5237 + + Introduce :paramref:`_orm.relationship.sync_backref` flag in a relationship + to control if the synchronization events that mutate the in-Python + attributes are added. This supersedes the previous change :ticket:`5149`, + which warned that ``viewonly=True`` relationship target of a + back_populates or backref configuration would be disallowed. .. changelog:: :version: 1.3.16 diff --git a/doc/build/changelog/unreleased_13/4138.rst b/doc/build/changelog/unreleased_13/4138.rst deleted file mode 100644 index 600f608e58..0000000000 --- a/doc/build/changelog/unreleased_13/4138.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. change:: - :tags: schema - :tickets: 4138 - - Add ``comment`` attribute to :class:`_schema.Column` ``__repr__`` method. diff --git a/doc/build/changelog/unreleased_13/5237.rst b/doc/build/changelog/unreleased_13/5237.rst deleted file mode 100644 index f654cea18c..0000000000 --- a/doc/build/changelog/unreleased_13/5237.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: orm, usecase - :tickets: 5237 - - Introduce :paramref:`_orm.relationship.sync_backref` flag in a relationship - to control if the synchronization events that mutate the in-Python - attributes are added. This supersedes the previous change :ticket:`5149`, - which warned that ``viewonly=True`` relationship target of a - back_populates or backref configuration would be disallowed. diff --git a/doc/build/changelog/unreleased_13/5246.rst b/doc/build/changelog/unreleased_13/5246.rst deleted file mode 100644 index c535ce2e11..0000000000 --- a/doc/build/changelog/unreleased_13/5246.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, oracle - :tickets: 5246 - - Some modifications to how the cx_oracle dialect sets up per-column - outputtype handlers for LOB and numeric datatypes to adjust for potential - changes coming in cx_Oracle 8. - diff --git a/doc/build/changelog/unreleased_13/5255.rst b/doc/build/changelog/unreleased_13/5255.rst deleted file mode 100644 index 7f8f941c82..0000000000 --- a/doc/build/changelog/unreleased_13/5255.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, mssql, reflection - :tickets: 5255 - - Fix a regression introduced by the reflection of computed column in - MSSQL when using the legacy TDS version 4.2. The dialect will try - to detect the protocol version of first connect and run in compatibility - mode if it cannot detect it. diff --git a/doc/build/changelog/unreleased_13/5262.rst b/doc/build/changelog/unreleased_13/5262.rst deleted file mode 100644 index 32d3405b47..0000000000 --- a/doc/build/changelog/unreleased_13/5262.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: usecase, orm - :tickets: 5262 - - Added an accessor :attr:`.ColumnProperty.Comparator.expressions` which - provides access to the group of columns mapped under a multi-column - :class:`.ColumnProperty` attribute. - diff --git a/doc/build/changelog/unreleased_13/5265.rst b/doc/build/changelog/unreleased_13/5265.rst deleted file mode 100644 index f2b32f5fb9..0000000000 --- a/doc/build/changelog/unreleased_13/5265.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: usecase, postgresql - :tickets: 5265 - - Added support for columns or type :class:`.ARRAY` of :class:`.Enum`, - :class:`.JSON` or :class:`_postgresql.JSONB` in PostgreSQL. - Previously a workaround was required in these use cases. - diff --git a/doc/build/changelog/unreleased_13/5266.rst b/doc/build/changelog/unreleased_13/5266.rst deleted file mode 100644 index 4aec9f44bb..0000000000 --- a/doc/build/changelog/unreleased_13/5266.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: usecase, postgresql - :tickets: 5266 - - Raise an explicit :class:`.exc.CompileError` when adding a table with a - column of type :class:`.ARRAY` of :class:`.Enum` configured with - :paramref:`.Enum.native_enum` set to ``False`` when - :paramref:`.Enum.create_constraint` is not set to ``False`` diff --git a/doc/build/changelog/unreleased_13/5269.rst b/doc/build/changelog/unreleased_13/5269.rst deleted file mode 100644 index 90b50f5dc5..0000000000 --- a/doc/build/changelog/unreleased_13/5269.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 5269 - - An informative error message is raised when an ORM many-to-one comparison - is attempted against an object that is not an actual mapped instance. - Comparisons such as those to scalar subqueries aren't supported; - generalized comparison with subqueries is better achieved using - :meth:`~.RelationshipProperty.Comparator.has`. - diff --git a/doc/build/changelog/unreleased_13/5271.rst b/doc/build/changelog/unreleased_13/5271.rst deleted file mode 100644 index ea2296b14c..0000000000 --- a/doc/build/changelog/unreleased_13/5271.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, mssql, reflection - :tickets: 5271 - - Fix a regression introduced by the reflection of computed column in - MSSQL when using SQL server versions before 2012, which does not support - the ``concat`` function. diff --git a/doc/build/changelog/unreleased_13/5278.rst b/doc/build/changelog/unreleased_13/5278.rst deleted file mode 100644 index aaf59ae167..0000000000 --- a/doc/build/changelog/unreleased_13/5278.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: change, firebird - :tickets: 5278 - - Adjusted dialect loading for ``firebird://`` URIs so the external - sqlalchemy-firebird dialect will be used if it has been installed, - otherwise fall back to the (now deprecated) internal Firebird dialect. diff --git a/doc/build/changelog/unreleased_13/5288.rst b/doc/build/changelog/unreleased_13/5288.rst deleted file mode 100644 index d5fbdf5af1..0000000000 --- a/doc/build/changelog/unreleased_13/5288.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 5288 - - Fixed bug where using :func:`.with_polymorphic` as the target of a join via - :meth:`.RelationshipComparator.of_type` on a mapper that already has a - subquery-based with_polymorphic setting that's equivalent to the one - requested would not correctly alias the ON clause in the join. diff --git a/doc/build/changelog/unreleased_13/5298.rst b/doc/build/changelog/unreleased_13/5298.rst deleted file mode 100644 index 0b9af1258d..0000000000 --- a/doc/build/changelog/unreleased_13/5298.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, schema - :tickets: 5298 - - Fixed issue where an :class:`.Index` that is deferred in being associated - with a table, such as as when it contains a :class:`.Column` that is not - associated with any :class:`.Table` yet, would fail to attach correctly if - it also contained a non table-oriented expession. - diff --git a/doc/build/changelog/unreleased_13/5303.rst b/doc/build/changelog/unreleased_13/5303.rst deleted file mode 100644 index 38358a0fef..0000000000 --- a/doc/build/changelog/unreleased_13/5303.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 5303 - - Fixed issue in the area of where loader options such as selectinload() - interact with the baked query system, such that the caching of a query is - not supposed to occur if the loader options themselves have elements such - as with_polymorphic() objects in them that currently are not - cache-compatible. The baked loader could sometimes not fully invalidate - itself in these some of these scenarios leading to missed eager loads. - diff --git a/doc/build/changelog/unreleased_13/5304.rst b/doc/build/changelog/unreleased_13/5304.rst deleted file mode 100644 index d08db88492..0000000000 --- a/doc/build/changelog/unreleased_13/5304.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 5304 - - Modified the internal "identity set" implementation, which is a set that - hashes objects on their id() rather than their hash values, to not actually - call the ``__hash__()`` method of the objects, which are typically - user-mapped objects. Some methods were calling this method as a side - effect of the implementation. - diff --git a/doc/build/changelog/unreleased_13/5314.rst b/doc/build/changelog/unreleased_13/5314.rst deleted file mode 100644 index a8ff9d30c2..0000000000 --- a/doc/build/changelog/unreleased_13/5314.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: bug, oracle, performance - :tickets: 5314 - - Changed the implementation of fetching CLOB and BLOB objects to use - cx_Oracle's native implementation which fetches CLOB/BLOB objects inline - with other result columns, rather than performing a separate fetch. As - always, this can be disabled by setting auto_convert_lobs to False. - - As part of this change, the behavior of a CLOB that was given a blank - string on INSERT now returns None on SELECT, which is now consistent with - that of VARCHAR on Oracle. - diff --git a/doc/build/changelog/unreleased_13/5316.rst b/doc/build/changelog/unreleased_13/5316.rst deleted file mode 100644 index 2edfce10db..0000000000 --- a/doc/build/changelog/unreleased_13/5316.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. change:: - :tags: bug, schema - :tickets: 5316 - - A warning is emitted when making use of the :attr:`.MetaData.sorted_tables` - attribute as well as the :func:`_schema.sort_tables` function, and the - given tables cannot be correctly sorted due to a cyclic dependency between - foreign key constraints. In this case, the functions will no longer sort - the involved tables by foreign key, and a warning will be emitted. Other - tables that are not part of the cycle will still be returned in dependency - order. Previously, the sorted_table routines would return a collection that - would unconditionally omit all foreign keys when a cycle was detected, and - no warning was emitted. - diff --git a/doc/build/changelog/unreleased_13/5326.rst b/doc/build/changelog/unreleased_13/5326.rst deleted file mode 100644 index baebc18900..0000000000 --- a/doc/build/changelog/unreleased_13/5326.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 5326 - - Fixed fairly critical issue where the DBAPI connection could be returned to - the connection pool while still in an un-rolled-back state. The reset agent - responsible for rolling back the connection could be corrupted in the case - that the transaction was "closed" without being rolled back or committed, - which can occur in some scenarios when using ORM sessions and emitting - .close() in a certain pattern involving savepoints. The fix ensures that - the reset agent is always active. - diff --git a/doc/build/conf.py b/doc/build/conf.py index 843c7504da..dd99c07e38 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -167,9 +167,9 @@ copyright = u"2007-2020, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "1.3" # The full version, including alpha/beta/rc tags. -release = "1.3.16" +release = "1.3.17" -release_date = "April 7, 2020" +release_date = "May 13, 2020" site_base = os.environ.get("RTD_SITE_BASE", "http://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" -- 2.39.5