diff options
19 files changed, 181 insertions, 164 deletions
diff --git a/doc/build/changelog/changelog_14.rst b/doc/build/changelog/changelog_14.rst index fa70f5606..322c96000 100644 --- a/doc/build/changelog/changelog_14.rst +++ b/doc/build/changelog/changelog_14.rst @@ -15,7 +15,185 @@ This document details individual issue-level changes made throughout .. changelog:: :version: 1.4.33 - :include_notes_from: unreleased_14 + :released: March 31, 2022 + + .. change:: + :tags: bug, engine + :tickets: 7853 + + Further clarified connection-level logging to indicate the BEGIN, ROLLBACK + and COMMIT log messages do not actually indicate a real transaction when + the AUTOCOMMIT isolation level is in use; messaging has been extended to + include the BEGIN message itself, and the messaging has also been fixed to + accommodate when the :class:`.Engine` level + :paramref:`.create_engine.isolation_level` parameter was used directly. + + .. change:: + :tags: bug, mssql, regression + :tickets: 7812 + + Fixed regression caused by :ticket:`7160` where FK reflection in + conjunction with a low compatibility level setting (compatibility level 80: + SQL Server 2000) causes an "Ambiguous column name" error. Patch courtesy + @Lin-Your. + + .. change:: + :tags: usecase, schema + :tickets: 7860 + + Added support so that the :paramref:`.Table.to_metadata.referred_schema_fn` + callable passed to :meth:`.Table.to_metadata` may return the value + :attr:`.BLANK_SCHEMA` to indicate that the referenced foreign key should be + reset to None. The :attr:`.RETAIN_SCHEMA` symbol may also be returned from + this function to indicate "no change", which will behave the same as + ``None`` currently does which also indicates no change. + + + .. change:: + :tags: bug, sqlite, reflection + :tickets: 5463 + + Fixed bug where the name of CHECK constraints under SQLite would not be + reflected if the name were created using quotes, as is the case when the + name uses mixed case or special characters. + + + .. change:: + :tags: bug, orm, regression + :tickets: 7868 + + Fixed regression in "dynamic" loader strategy where the + :meth:`_orm.Query.filter_by` method would not be given an appropriate + entity to filter from, in the case where a "secondary" table were present + in the relationship being queried and the mapping were against something + complex such as a "with polymorphic". + + .. change:: + :tags: bug, orm + :tickets: 7801 + + Fixed bug where :func:`_orm.composite` attributes would not work in + conjunction with the :func:`_orm.selectin_polymorphic` loader strategy for + joined table inheritance. + + + .. change:: + :tags: bug, orm, performance + :tickets: 7823 + + Improvements in memory usage by the ORM, removing a significant set of + intermediary expression objects that are typically stored when a copy of an + expression object is created. These clones have been greatly reduced, + reducing the number of total expression objects stored in memory by + ORM mappings by about 30%. + + .. change:: + :tags: usecase, orm + :tickets: 7805 + + Added :paramref:`_orm.with_polymorphic.adapt_on_names` to the + :func:`_orm.with_polymorphic` function, which allows a polymorphic load + (typically with concrete mapping) to be stated against an alternative + selectable that will adapt to the original mapped selectable on column + names alone. + + .. change:: + :tags: usecase, sql + :tickets: 7845 + + Added new parameter + :paramref:`.FunctionElement.table_valued.joins_implicitly`, for the + :meth:`.FunctionElement.table_valued` construct. This parameter indicates + that the given table-valued function implicitly joins to the table it + refers towards, essentially disabling the "from linting" feature, i.e. the + "cartesian product" warning, from taking effect due to the presence of this + parameter. May be used for functions such as ``func.json_each()``. + + .. change:: + :tags: usecase, engine + :tickets: 7877, 7815 + + Added new parameter :paramref:`.Engine.dispose.close`, defaulting to True. + When False, the engine disposal does not touch the connections in the old + pool at all, simply dropping the pool and replacing it. This use case is so + that when the original pool is transferred from a parent process, the + parent process may continue to use those connections. + + .. seealso:: + + :ref:`pooling_multiprocessing` - revised documentation + + .. change:: + :tags: bug, orm + :tickets: 7799 + + Fixed issue where the :func:`_orm.selectin_polymorphic` loader option would + not work with joined inheritance mappers that don't have a fixed + "polymorphic_on" column. Additionally added test support for a wider + variety of usage patterns with this construct. + + .. change:: + :tags: usecase, orm + :tickets: 7861 + + Added new attributes :attr:`.UpdateBase.returning_column_descriptions` and + :attr:`.UpdateBase.entity_description` to allow for inspection of ORM + attributes and entities that are installed as part of an :class:`.Insert`, + :class:`.Update`, or :class:`.Delete` construct. The + :attr:`.Select.column_descriptions` accessor is also now implemented for + Core-only selectables. + + .. change:: + :tags: bug, sql + :tickets: 7876 + + The :paramref:`.bindparam.literal_execute` parameter now takes part + of the cache generation of a :func:`.bindparam`, since it changes + the sql string generated by the compiler. + Previously the correct bind values were used, but the ``literal_execute`` + would be ignored on subsequent executions of the same query. + + .. change:: + :tags: bug, orm + :tickets: 7862 + + Fixed bug in :func:`_orm.with_loader_criteria` function where loader + criteria would not be applied to a joined eager load that were invoked + within the scope of a refresh operation for the parent object. + + .. change:: + :tags: bug, orm + :tickets: 7842 + + Fixed issue where the :class:`_orm.Mapper` would reduce a user-defined + :paramref:`_orm.Mapper.primary_key` argument too aggressively, in the case + of mapping to a ``UNION`` where for some of the SELECT entries, two columns + are essentially equivalent, but in another, they are not, such as in a + recursive CTE. The logic here has been changed to accept a given + user-defined PK as given, where columns will be related to the mapped + selectable but no longer "reduced" as this heuristic can't accommodate for + all situations. + + .. change:: + :tags: bug, ext + :tickets: 7827 + + Improved the error message that's raised for the case where the + :func:`.association_proxy` construct attempts to access a target attribute + at the class level, and this access fails. The particular use case here is + when proxying to a hybrid attribute that does not include a working + class-level implementation. + + + .. change:: + :tags: bug, sql, regression + :tickets: 7798 + + Fixed regression caused by :ticket:`7760` where the new capabilities of + :class:`.TextualSelect` were not fully implemented within the compiler + properly, leading to issues with composed INSERT constructs such as "INSERT + FROM SELECT" and "INSERT...ON CONFLICT" when combined with CTE and textual + statements. .. changelog:: :version: 1.4.32 diff --git a/doc/build/changelog/unreleased_14/5463.rst b/doc/build/changelog/unreleased_14/5463.rst deleted file mode 100644 index 5de6182ac..000000000 --- a/doc/build/changelog/unreleased_14/5463.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, sqlite, reflection - :tickets: 5463 - - Fixed bug where the name of CHECK constraints under SQLite would not be - reflected if the name were created using quotes, as is the case when the - name uses mixed case or special characters. - diff --git a/doc/build/changelog/unreleased_14/7798.rst b/doc/build/changelog/unreleased_14/7798.rst deleted file mode 100644 index 31a5bb2e4..000000000 --- a/doc/build/changelog/unreleased_14/7798.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql, regression - :tickets: 7798 - - Fixed regression caused by :ticket:`7760` where the new capabilities of - :class:`.TextualSelect` were not fully implemented within the compiler - properly, leading to issues with composed INSERT constructs such as "INSERT - FROM SELECT" and "INSERT...ON CONFLICT" when combined with CTE and textual - statements. diff --git a/doc/build/changelog/unreleased_14/7799.rst b/doc/build/changelog/unreleased_14/7799.rst deleted file mode 100644 index 8d88d23bc..000000000 --- a/doc/build/changelog/unreleased_14/7799.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 7799 - - Fixed issue where the :func:`_orm.selectin_polymorphic` loader option would - not work with joined inheritance mappers that don't have a fixed - "polymorphic_on" column. Additionally added test support for a wider - variety of usage patterns with this construct.
\ No newline at end of file diff --git a/doc/build/changelog/unreleased_14/7801.rst b/doc/build/changelog/unreleased_14/7801.rst deleted file mode 100644 index 4df3bdf87..000000000 --- a/doc/build/changelog/unreleased_14/7801.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 7801 - - Fixed bug where :func:`_orm.composite` attributes would not work in - conjunction with the :func:`_orm.selectin_polymorphic` loader strategy for - joined table inheritance. - diff --git a/doc/build/changelog/unreleased_14/7805.rst b/doc/build/changelog/unreleased_14/7805.rst deleted file mode 100644 index 2d2940239..000000000 --- a/doc/build/changelog/unreleased_14/7805.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: usecase, orm - :tickets: 7805 - - Added :paramref:`_orm.with_polymorphic.adapt_on_names` to the - :func:`_orm.with_polymorphic` function, which allows a polymorphic load - (typically with concrete mapping) to be stated against an alternative - selectable that will adapt to the original mapped selectable on column - names alone. diff --git a/doc/build/changelog/unreleased_14/7812.rst b/doc/build/changelog/unreleased_14/7812.rst deleted file mode 100644 index 00c7d3834..000000000 --- a/doc/build/changelog/unreleased_14/7812.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, mssql, regression - :tickets: 7812 - - Fixed regression caused by :ticket:`7160` where FK reflection in - conjunction with a low compatibility level setting (compatibility level 80: - SQL Server 2000) causes an "Ambiguous column name" error. Patch courtesy - @Lin-Your. diff --git a/doc/build/changelog/unreleased_14/7823.rst b/doc/build/changelog/unreleased_14/7823.rst deleted file mode 100644 index 249a749d0..000000000 --- a/doc/build/changelog/unreleased_14/7823.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm, performance - :tickets: 7823 - - Improvements in memory usage by the ORM, removing a significant set of - intermediary expression objects that are typically stored when a copy of an - expression object is created. These clones have been greatly reduced, - reducing the number of total expression objects stored in memory by - ORM mappings by about 30%. diff --git a/doc/build/changelog/unreleased_14/7827.rst b/doc/build/changelog/unreleased_14/7827.rst deleted file mode 100644 index aedf25809..000000000 --- a/doc/build/changelog/unreleased_14/7827.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, ext - :tickets: 7827 - - Improved the error message that's raised for the case where the - :func:`.association_proxy` construct attempts to access a target attribute - at the class level, and this access fails. The particular use case here is - when proxying to a hybrid attribute that does not include a working - class-level implementation. - diff --git a/doc/build/changelog/unreleased_14/7842.rst b/doc/build/changelog/unreleased_14/7842.rst deleted file mode 100644 index c165ed44b..000000000 --- a/doc/build/changelog/unreleased_14/7842.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 7842 - - Fixed issue where the :class:`_orm.Mapper` would reduce a user-defined - :paramref:`_orm.Mapper.primary_key` argument too aggressively, in the case - of mapping to a ``UNION`` where for some of the SELECT entries, two columns - are essentially equivalent, but in another, they are not, such as in a - recursive CTE. The logic here has been changed to accept a given - user-defined PK as given, where columns will be related to the mapped - selectable but no longer "reduced" as this heuristic can't accommodate for - all situations. diff --git a/doc/build/changelog/unreleased_14/7845.rst b/doc/build/changelog/unreleased_14/7845.rst deleted file mode 100644 index 1cfa9cdf6..000000000 --- a/doc/build/changelog/unreleased_14/7845.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: usecase, sql - :tickets: 7845 - - Added new parameter - :paramref:`.FunctionElement.table_valued.joins_implicitly`, for the - :meth:`.FunctionElement.table_valued` construct. This parameter indicates - that the given table-valued function implicitly joins to the table it - refers towards, essentially disabling the "from linting" feature, i.e. the - "cartesian product" warning, from taking effect due to the presence of this - parameter. May be used for functions such as ``func.json_each()``. diff --git a/doc/build/changelog/unreleased_14/7853.rst b/doc/build/changelog/unreleased_14/7853.rst deleted file mode 100644 index 66856c29e..000000000 --- a/doc/build/changelog/unreleased_14/7853.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 7853 - - Further clarified connection-level logging to indicate the BEGIN, ROLLBACK - and COMMIT log messages do not actually indicate a real transaction when - the AUTOCOMMIT isolation level is in use; messaging has been extended to - include the BEGIN message itself, and the messaging has also been fixed to - accommodate when the :class:`.Engine` level - :paramref:`.create_engine.isolation_level` parameter was used directly. diff --git a/doc/build/changelog/unreleased_14/7860.rst b/doc/build/changelog/unreleased_14/7860.rst deleted file mode 100644 index cc41aa00b..000000000 --- a/doc/build/changelog/unreleased_14/7860.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: usecase, schema - :tickets: 7860 - - Added support so that the :paramref:`.Table.to_metadata.referred_schema_fn` - callable passed to :meth:`.Table.to_metadata` may return the value - :attr:`.BLANK_SCHEMA` to indicate that the referenced foreign key should be - reset to None. The :attr:`.RETAIN_SCHEMA` symbol may also be returned from - this function to indicate "no change", which will behave the same as - ``None`` currently does which also indicates no change. - diff --git a/doc/build/changelog/unreleased_14/7861.rst b/doc/build/changelog/unreleased_14/7861.rst deleted file mode 100644 index 49ac82ad8..000000000 --- a/doc/build/changelog/unreleased_14/7861.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: usecase, orm - :tickets: 7861 - - Added new attributes :attr:`.UpdateBase.returning_column_descriptions` and - :attr:`.UpdateBase.entity_description` to allow for inspection of ORM - attributes and entities that are installed as part of an :class:`.Insert`, - :class:`.Update`, or :class:`.Delete` construct. The - :attr:`.Select.column_descriptions` accessor is also now implemented for - Core-only selectables. diff --git a/doc/build/changelog/unreleased_14/7862.rst b/doc/build/changelog/unreleased_14/7862.rst deleted file mode 100644 index 00252ec8d..000000000 --- a/doc/build/changelog/unreleased_14/7862.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 7862 - - Fixed bug in :func:`_orm.with_loader_criteria` function where loader - criteria would not be applied to a joined eager load that were invoked - within the scope of a refresh operation for the parent object. diff --git a/doc/build/changelog/unreleased_14/7868.rst b/doc/build/changelog/unreleased_14/7868.rst deleted file mode 100644 index d57b22296..000000000 --- a/doc/build/changelog/unreleased_14/7868.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 7868 - - Fixed regression in "dynamic" loader strategy where the - :meth:`_orm.Query.filter_by` method would not be given an appropriate - entity to filter from, in the case where a "secondary" table were present - in the relationship being queried and the mapping were against something - complex such as a "with polymorphic". diff --git a/doc/build/changelog/unreleased_14/7876.rst b/doc/build/changelog/unreleased_14/7876.rst deleted file mode 100644 index c3b1c77b7..000000000 --- a/doc/build/changelog/unreleased_14/7876.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 7876 - - The :paramref:`.bindparam.literal_execute` parameter now takes part - of the cache generation of a :func:`.bindparam`, since it changes - the sql string generated by the compiler. - Previously the correct bind values were used, but the ``literal_execute`` - would be ignored on subsequent executions of the same query. diff --git a/doc/build/changelog/unreleased_14/7877.rst b/doc/build/changelog/unreleased_14/7877.rst deleted file mode 100644 index d6ad6facd..000000000 --- a/doc/build/changelog/unreleased_14/7877.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: usecase, engine - :tickets: 7877, 7815 - - Added new parameter :paramref:`.Engine.dispose.close`, defaulting to True. - When False, the engine disposal does not touch the connections in the old - pool at all, simply dropping the pool and replacing it. This use case is so - that when the original pool is transferred from a parent process, the - parent process may continue to use those connections. - - .. seealso:: - - :ref:`pooling_multiprocessing` - revised documentation diff --git a/doc/build/conf.py b/doc/build/conf.py index 7f55f5208..591478dac 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -213,9 +213,9 @@ copyright = u"2007-2022, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "1.4" # The full version, including alpha/beta/rc tags. -release = "1.4.32" +release = "1.4.33" -release_date = "March 6, 2022" +release_date = "March 31, 2022" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako" |