From: Mike Bayer Date: Thu, 27 Apr 2023 01:43:30 +0000 (-0400) Subject: - 2.0.11 X-Git-Tag: rel_2_0_11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0b36e15d5ba390fb651ee1b83b0a143586d9244;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 2.0.11 --- diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst index f97af2cb50..9fe5b885b7 100644 --- a/doc/build/changelog/changelog_20.rst +++ b/doc/build/changelog/changelog_20.rst @@ -10,7 +10,112 @@ .. changelog:: :version: 2.0.11 - :include_notes_from: unreleased_20 + :released: April 26, 2023 + + .. change:: + :tags: bug, engine, regression + :tickets: 9682 + + Fixed regression which prevented the :attr:`_engine.URL.normalized_query` + attribute of :class:`_engine.URL` from functioning. + + .. change:: + :tags: bug, postgresql, regression + :tickets: 9701 + + Fixed critical regression caused by :ticket:`9618`, which modified the + architecture of the :term:`insertmanyvalues` feature for 2.0.10, which + caused floating point values to lose all decimal places when being inserted + using the insertmanyvalues feature with either the psycopg2 or psycopg + drivers. + + + .. change:: + :tags: bug, mssql + + Implemented the :class:`_sqltypes.Double` type for SQL Server, where it + will render ``DOUBLE PRECISION`` at DDL time. This is implemented using + a new MSSQL datatype :class:`_mssql.DOUBLE_PRECISION` which also may + be used directly. + + + .. change:: + :tags: bug, oracle + + Fixed issue in Oracle dialects where ``Decimal`` returning types such as + :class:`_sqltypes.Numeric` would return floating point values, rather than + ``Decimal`` objects, when these columns were used in the + :meth:`_dml.Insert.returning` clause to return INSERTed values. + + .. change:: + :tags: bug, orm + :tickets: 9583, 9595 + + Fixed 2.0 regression where use of :func:`_sql.bindparam()` inside of + :meth:`_dml.Insert.values` would fail to be interpreted correctly when + executing the :class:`_dml.Insert` statement using the ORM + :class:`_orm.Session`, due to the new + :ref:`ORM-enabled insert feature ` not + implementing this use case. + + .. change:: + :tags: usecase, orm + :tickets: 9583, 9595 + + The :ref:`ORM bulk INSERT and UPDATE ` + features now add these capabilities: + + * The requirement that extra parameters aren't passed when using ORM + INSERT using the "orm" dml_strategy setting is lifted. + * The requirement that additional WHERE criteria is not passed when using + ORM UPDATE using the "bulk" dml_strategy setting is lifted. Note that + in this case, the check for expected row count is turned off. + + .. change:: + :tags: usecase, sql + :tickets: 8285 + + Added support for slice access with :class:`.ColumnCollection`, e.g. + ``table.c[0:5]``, ``subquery.c[:-1]`` etc. Slice access returns a sub + :class:`.ColumnCollection` in the same way as passing a tuple of keys. This + is a natural continuation of the key-tuple access added for :ticket:`8285`, + where it appears to be an oversight that the slice access use case was + omitted. + + .. change:: + :tags: bug, typing + :tickets: 9644 + + Improved typing of :class:`_engine.RowMapping` to indicate that it + support also :class:`_schema.Column` as index objects, not only + string names. Pull request courtesy Andy Freeland. + + .. change:: + :tags: engine, performance + :tickets: 9678, 9680 + + A series of performance enhancements to :class:`_engine.Row`: + + * ``__getattr__`` performance of the row's "named tuple" interface has + been improved; within this change, the :class:`_engine.Row` + implementation has been streamlined, removing constructs and logic + that were specific to the 1.4 and prior series of SQLAlchemy. + As part of this change, the serialization format of :class:`_engine.Row` + has been modified slightly, however rows which were pickled with previous + SQLAlchemy 2.0 releases will be recognized within the new format. + Pull request courtesy J. Nick Koston. + + * Improved row processing performance for "binary" datatypes by making the + "bytes" handler conditional on a per driver basis. As a result, the + "bytes" result handler has been removed for nearly all drivers other than + psycopg2, all of which in modern forms support returning Python "bytes" + directly. Pull request courtesy J. Nick Koston. + + * Additional refactorings inside of :class:`_engine.Row` to improve + performance by Federico Caselli. + + + .. changelog:: :version: 2.0.10 diff --git a/doc/build/changelog/unreleased_20/9583.rst b/doc/build/changelog/unreleased_20/9583.rst deleted file mode 100644 index f087969b40..0000000000 --- a/doc/build/changelog/unreleased_20/9583.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9583, 9595 - - Fixed 2.0 regression where use of :func:`_sql.bindparam()` inside of - :meth:`_dml.Insert.values` would fail to be interpreted correctly when - executing the :class:`_dml.Insert` statement using the ORM - :class:`_orm.Session`, due to the new - :ref:`ORM-enabled insert feature ` not - implementing this use case. - -.. change:: - :tags: usecase, orm - :tickets: 9583, 9595 - - The :ref:`ORM bulk INSERT and UPDATE ` - features now add these capabilities: - - * The requirement that extra parameters aren't passed when using ORM - INSERT using the "orm" dml_strategy setting is lifted. - * The requirement that additional WHERE criteria is not passed when using - ORM UPDATE using the "bulk" dml_strategy setting is lifted. Note that - in this case, the check for expected row count is turned off. diff --git a/doc/build/changelog/unreleased_20/9644.rst b/doc/build/changelog/unreleased_20/9644.rst deleted file mode 100644 index 0be4146f26..0000000000 --- a/doc/build/changelog/unreleased_20/9644.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, typing - :tickets: 9644 - - Improved typing of :class:`_engine.RowMapping` to indicate that it - support also :class:`_schema.Column` as index objects, not only - string names. Pull request courtesy Andy Freeland. diff --git a/doc/build/changelog/unreleased_20/9678.rst b/doc/build/changelog/unreleased_20/9678.rst deleted file mode 100644 index d90140292c..0000000000 --- a/doc/build/changelog/unreleased_20/9678.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. change:: - :tags: engine, performance - :tickets: 9678, 9680 - - A series of performance enhancements to :class:`_engine.Row`: - - * ``__getattr__`` performance of the row's "named tuple" interface has - been improved; within this change, the :class:`_engine.Row` - implementation has been streamlined, removing constructs and logic - that were specific to the 1.4 and prior series of SQLAlchemy. - As part of this change, the serialization format of :class:`_engine.Row` - has been modified slightly, however rows which were pickled with previous - SQLAlchemy 2.0 releases will be recognized within the new format. - Pull request courtesy J. Nick Koston. - - * Improved row processing performance for "binary" datatypes by making the - "bytes" handler conditional on a per driver basis. As a result, the - "bytes" result handler has been removed for nearly all drivers other than - psycopg2, all of which in modern forms support returning Python "bytes" - directly. Pull request courtesy J. Nick Koston. - - * Additional refactorings inside of :class:`_engine.Row` to improve - performance by Federico Caselli. - - - diff --git a/doc/build/changelog/unreleased_20/9682.rst b/doc/build/changelog/unreleased_20/9682.rst deleted file mode 100644 index 83dd1ea702..0000000000 --- a/doc/build/changelog/unreleased_20/9682.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, engine, regression - :tickets: 9682 - - Fixed regression which prevented the :attr:`_engine.URL.normalized_query` - attribute of :class:`_engine.URL` from functioning. diff --git a/doc/build/changelog/unreleased_20/9701.rst b/doc/build/changelog/unreleased_20/9701.rst deleted file mode 100644 index 8ab9790779..0000000000 --- a/doc/build/changelog/unreleased_20/9701.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. change:: - :tags: bug, postgresql, regression - :tickets: 9701 - - Fixed critical regression caused by :ticket:`9618`, which modified the - architecture of the :term:`insertmanyvalues` feature for 2.0.10, which - caused floating point values to lose all decimal places when being inserted - using the insertmanyvalues feature with either the psycopg2 or psycopg - drivers. - - -.. change:: - :tags: bug, mssql - - Implemented the :class:`_sqltypes.Double` type for SQL Server, where it - will render ``DOUBLE PRECISION`` at DDL time. This is implemented using - a new MSSQL datatype :class:`_mssql.DOUBLE_PRECISION` which also may - be used directly. - - -.. change:: - :tags: bug, oracle - - Fixed issue in Oracle dialects where ``Decimal`` returning types such as - :class:`_sqltypes.Numeric` would return floating point values, rather than - ``Decimal`` objects, when these columns were used in the - :meth:`_dml.Insert.returning` clause to return INSERTed values. diff --git a/doc/build/changelog/unreleased_20/c_slice.rst b/doc/build/changelog/unreleased_20/c_slice.rst deleted file mode 100644 index 94f3e20e62..0000000000 --- a/doc/build/changelog/unreleased_20/c_slice.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: usecase, sql - :tickets: 8285 - - Added support for slice access with :class:`.ColumnCollection`, e.g. - ``table.c[0:5]``, ``subquery.c[:-1]`` etc. Slice access returns a sub - :class:`.ColumnCollection` in the same way as passing a tuple of keys. This - is a natural continuation of the key-tuple access added for :ticket:`8285`, - where it appears to be an oversight that the slice access use case was - omitted. diff --git a/doc/build/conf.py b/doc/build/conf.py index 8b1ec5efa1..ccedb4906a 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -242,9 +242,9 @@ copyright = "2007-2023, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "2.0" # The full version, including alpha/beta/rc tags. -release = "2.0.10" +release = "2.0.11" -release_date = "April 21, 2023" +release_date = "April 26, 2023" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"