From: Mike Bayer Date: Mon, 12 Oct 2020 22:33:31 +0000 (-0400) Subject: cherry-pick changelog from 1.3.20 X-Git-Tag: rel_1_4_0b1~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2cb257ec9ea51184273680dec491477d933e91c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git cherry-pick changelog from 1.3.20 --- diff --git a/doc/build/changelog/changelog_13.rst b/doc/build/changelog/changelog_13.rst index 78a7d7ff2d..b2b56d2daf 100644 --- a/doc/build/changelog/changelog_13.rst +++ b/doc/build/changelog/changelog_13.rst @@ -12,7 +12,167 @@ .. changelog:: :version: 1.3.20 - :include_notes_from: unreleased_13 + :released: October 12, 2020 + + .. change:: + :tags: bug, orm + :tickets: 4428 + + An :class:`.ArgumentError` with more detail is now raised if the target + parameter for :meth:`_query.Query.join` is set to an unmapped object. + Prior to this change a less detailed ``AttributeError`` was raised. + Pull request courtesy Ramon Williams. + + .. change:: + :tags: bug, mysql + :tickets: 5568 + + The "skip_locked" keyword used with ``with_for_update()`` will emit a + warning when used on MariaDB backends, and will then be ignored. This is + a deprecated behavior that will raise in SQLAlchemy 1.4, as an application + that requests "skip locked" is looking for a non-blocking operation which + is not available on those backends. + + + + .. change:: + :tags: bug, engine + :tickets: 5599 + + Fixed issue where a non-string object sent to + :class:`_exc.SQLAlchemyError` or a subclass, as occurs with some third + party dialects, would fail to stringify correctly. Pull request + courtesy Andrzej Bartosiński. + + .. change:: + :tags: bug, sql + :tickets: 5644 + + Fixed issue where the ``pickle.dumps()`` operation against + :class:`_expression.Over` construct would produce a recursion overflow. + + .. change:: + :tags: postgresql, usecase + :tickets: 4392 + + The psycopg2 dialect now support PostgreSQL multiple host connections, by + passing host/port combinations to the query string. Pull request courtesy + Ramon Williams. + + .. seealso:: + + :ref:`psycopg2_multi_host` + + .. change:: + :tags: bug, mysql + :tickets: 5617 + + Fixed bug where an UPDATE statement against a JOIN using MySQL multi-table + format would fail to include the table prefix for the target table if the + statement had no WHERE clause, as only the WHERE clause were scanned to + detect a "multi table update" at that particular point. The target + is now also scanned if it's a JOIN to get the leftmost table as the + primary table and the additional entries as additional FROM entries. + + + .. change:: + :tags: bug, postgresql + :tickets: 5518 + + Adjusted the :meth:`_types.ARRAY.Comparator.any` and + :meth:`_types.ARRAY.Comparator.all` methods to implement a straight "NOT" + operation for negation, rather than negating the comparison operator. + + .. change:: + :tags: bug, pool + :tickets: 5582 + + Fixed issue where the following pool parameters were not being propagated + to the new pool created when :meth:`_engine.Engine.dispose` were called: + ``pre_ping``, ``use_lifo``. Additionally the ``recycle`` and + ``reset_on_return`` parameter is now propagated for the + :class:`_engine.AssertionPool` class. + + .. change:: + :tags: bug, ext, associationproxy + :tickets: 5541, 5542 + + An informative error is now raised when attempting to use an association + proxy element as a plain column expression to be SELECTed from or used in a + SQL function; this use case is not currently supported. + + + .. change:: + :tags: bug, sql + :tickets: 5618 + + Fixed bug where an error was not raised in the case where a + :func:`_sql.column` were added to more than one :func:`_sql.table` at a + time. This raised correctly for the :class:`_schema.Column` and + :class:`_schema.Table` objects. An :class:`_exc.ArgumentError` is now + raised when this occurs. + + .. change:: + :tags: bug, orm + :tickets: 4589 + + Fixed issue where using a loader option against a string attribute name + that is not actually a mapped attribute, such as a plain Python descriptor, + would raise an uninformative AttributeError; a descriptive error is now + raised. + + + + .. change:: + :tags: mysql, usecase + :tickets: 5462 + + Adjusted the MySQL dialect to correctly parenthesize functional index + expressions as accepted by MySQL 8. Pull request courtesy Ramon Williams. + + .. change:: + :tags: bug, engine + :tickets: 5632 + + Repaired a function-level import that was not using SQLAlchemy's standard + late-import system within the sqlalchemy.exc module. + + + .. change:: + :tags: change, mysql + :tickets: 5539 + + Add new MySQL reserved words: ``cube``, ``lateral`` added in MySQL 8.0.1 + and 8.0.14, respectively; this indicates that these terms will be quoted if + used as table or column identifier names. + + .. change:: + :tags: bug, mssql + :tickets: 5592 + + Fixed issue where a SQLAlchemy connection URI for Azure DW with + ``authentication=ActiveDirectoryIntegrated`` (and no username+password) + was not constructing the ODBC connection string in a way that was + acceptable to the Azure DW instance. + + .. change:: + :tags: bug, postgresql + :tickets: 5520 + + Fixed issue where the :class:`_postgresql.ENUM` type would not consult the + schema translate map when emitting a CREATE TYPE or DROP TYPE during the + test to see if the type exists or not. Additionally, repaired an issue + where if the same enum were encountered multiple times in a single DDL + sequence, the "check" query would run repeatedly rather than relying upon a + cached value. + + + .. change:: + :tags: bug, tests + :tickets: 5635 + + Fixed incompatibilities in the test suite when running against Pytest 6.x. + .. changelog:: :version: 1.3.19 diff --git a/doc/build/changelog/unreleased_13/4392.rst b/doc/build/changelog/unreleased_13/4392.rst deleted file mode 100644 index 7d42bf6922..0000000000 --- a/doc/build/changelog/unreleased_13/4392.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: postgresql, usecase - :tickets: 4392 - - The psycopg2 dialect now support PostgreSQL multiple host connections, by - passing host/port combinations to the query string. Pull request courtesy - Ramon Williams. - - .. seealso:: - - :ref:`psycopg2_multi_host` \ No newline at end of file diff --git a/doc/build/changelog/unreleased_13/4428.rst b/doc/build/changelog/unreleased_13/4428.rst deleted file mode 100644 index e677669976..0000000000 --- a/doc/build/changelog/unreleased_13/4428.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 4428 - - An :class:`.ArgumentError` with more detail is now raised if the target - parameter for :meth:`_query.Query.join` is set to an unmapped object. - Prior to this change a less detailed ``AttributeError`` was raised. - Pull request courtesy Ramon Williams. diff --git a/doc/build/changelog/unreleased_13/4589.rst b/doc/build/changelog/unreleased_13/4589.rst deleted file mode 100644 index 8f75bab232..0000000000 --- a/doc/build/changelog/unreleased_13/4589.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 4589 - - Fixed issue where using a loader option against a string attribute name - that is not actually a mapped attribute, such as a plain Python descriptor, - would raise an uninformative AttributeError; a descriptive error is now - raised. - - diff --git a/doc/build/changelog/unreleased_13/5462.rst b/doc/build/changelog/unreleased_13/5462.rst deleted file mode 100644 index f2c7517bd4..0000000000 --- a/doc/build/changelog/unreleased_13/5462.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: mysql, usecase - :tickets: 5462 - - Adjusted the MySQL dialect to correctly parenthesize functional index - expressions as accepted by MySQL 8. Pull request courtesy Ramon Williams. diff --git a/doc/build/changelog/unreleased_13/5518.rst b/doc/build/changelog/unreleased_13/5518.rst deleted file mode 100644 index 1cd2a259fe..0000000000 --- a/doc/build/changelog/unreleased_13/5518.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 5518 - - Adjusted the :meth:`_types.ARRAY.Comparator.any` and - :meth:`_types.ARRAY.Comparator.all` methods to implement a straight "NOT" - operation for negation, rather than negating the comparison operator. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_13/5520.rst b/doc/build/changelog/unreleased_13/5520.rst deleted file mode 100644 index 5dd7477fe2..0000000000 --- a/doc/build/changelog/unreleased_13/5520.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 5520 - - Fixed issue where the :class:`_postgresql.ENUM` type would not consult the - schema translate map when emitting a CREATE TYPE or DROP TYPE during the - test to see if the type exists or not. Additionally, repaired an issue - where if the same enum were encountered multiple times in a single DDL - sequence, the "check" query would run repeatedly rather than relying upon a - cached value. - diff --git a/doc/build/changelog/unreleased_13/5539.rst b/doc/build/changelog/unreleased_13/5539.rst deleted file mode 100644 index 3cb6b21286..0000000000 --- a/doc/build/changelog/unreleased_13/5539.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: change, mysql - :tickets: 5539 - - Add new MySQL reserved words: ``cube``, ``lateral`` added in MySQL 8.0.1 - and 8.0.14, respectively; this indicates that these terms will be quoted if - used as table or column identifier names. diff --git a/doc/build/changelog/unreleased_13/5541.rst b/doc/build/changelog/unreleased_13/5541.rst deleted file mode 100644 index f3cdee424d..0000000000 --- a/doc/build/changelog/unreleased_13/5541.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, ext, associationproxy - :tickets: 5541, 5542 - - An informative error is now raised when attempting to use an association - proxy element as a plain column expression to be SELECTed from or used in a - SQL function; this use case is not currently supported. - diff --git a/doc/build/changelog/unreleased_13/5578.rst b/doc/build/changelog/unreleased_13/5578.rst deleted file mode 100644 index 28dc955f37..0000000000 --- a/doc/build/changelog/unreleased_13/5578.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, mysql - :tickets: 5568 - - The "skip_locked" keyword used with ``with_for_update()`` will emit a - warning when used on MariaDB backends, and will then be ignored. This is - a deprecated behavior that will raise in SQLAlchemy 1.4, as an application - that requests "skip locked" is looking for a non-blocking operation which - is not available on those backends. - - diff --git a/doc/build/changelog/unreleased_13/5582.rst b/doc/build/changelog/unreleased_13/5582.rst deleted file mode 100644 index 9f8e2df383..0000000000 --- a/doc/build/changelog/unreleased_13/5582.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, pool - :tickets: 5582 - - Fixed issue where the following pool parameters were not being propagated - to the new pool created when :meth:`_engine.Engine.dispose` were called: - ``pre_ping``, ``use_lifo``. Additionally the ``recycle`` and - ``reset_on_return`` parameter is now propagated for the - :class:`_engine.AssertionPool` class. diff --git a/doc/build/changelog/unreleased_13/5592.rst b/doc/build/changelog/unreleased_13/5592.rst deleted file mode 100644 index 294fadfffc..0000000000 --- a/doc/build/changelog/unreleased_13/5592.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, mssql - :tickets: 5592 - - Fixed issue where a SQLAlchemy connection URI for Azure DW with - ``authentication=ActiveDirectoryIntegrated`` (and no username+password) - was not constructing the ODBC connection string in a way that was - acceptable to the Azure DW instance. diff --git a/doc/build/changelog/unreleased_13/5599.rst b/doc/build/changelog/unreleased_13/5599.rst deleted file mode 100644 index c5a5dcc3a7..0000000000 --- a/doc/build/changelog/unreleased_13/5599.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 5599 - - Fixed issue where a non-string object sent to - :class:`_exc.SQLAlchemyError` or a subclass, as occurs with some third - party dialects, would fail to stringify correctly. Pull request - courtesy Andrzej Bartosiński. diff --git a/doc/build/changelog/unreleased_13/5617.rst b/doc/build/changelog/unreleased_13/5617.rst deleted file mode 100644 index da20787ca8..0000000000 --- a/doc/build/changelog/unreleased_13/5617.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, mysql - :tickets: 5617 - - Fixed bug where an UPDATE statement against a JOIN using MySQL multi-table - format would fail to include the table prefix for the target table if the - statement had no WHERE clause, as only the WHERE clause were scanned to - detect a "multi table update" at that particular point. The target - is now also scanned if it's a JOIN to get the leftmost table as the - primary table and the additional entries as additional FROM entries. - diff --git a/doc/build/changelog/unreleased_13/5618.rst b/doc/build/changelog/unreleased_13/5618.rst deleted file mode 100644 index 93960201b8..0000000000 --- a/doc/build/changelog/unreleased_13/5618.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 5618 - - Fixed bug where an error was not raised in the case where a - :func:`_sql.column` were added to more than one :func:`_sql.table` at a - time. This raised correctly for the :class:`_schema.Column` and - :class:`_schema.Table` objects. An :class:`_exc.ArgumentError` is now - raised when this occurs. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_13/5632.rst b/doc/build/changelog/unreleased_13/5632.rst deleted file mode 100644 index fb906944ee..0000000000 --- a/doc/build/changelog/unreleased_13/5632.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, engine - :tickets: 5632 - - Repaired a function-level import that was not using SQLAlchemy's standard - late-import system within the sqlalchemy.exc module. - diff --git a/doc/build/changelog/unreleased_13/5635.rst b/doc/build/changelog/unreleased_13/5635.rst deleted file mode 100644 index 90350a7600..0000000000 --- a/doc/build/changelog/unreleased_13/5635.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, tests - :tickets: 5635 - - Fixed incompatibilities in the test suite when running against Pytest 6.x. - diff --git a/doc/build/changelog/unreleased_13/5644.rst b/doc/build/changelog/unreleased_13/5644.rst deleted file mode 100644 index f9218489b0..0000000000 --- a/doc/build/changelog/unreleased_13/5644.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 5644 - - Fixed issue where the ``pickle.dumps()`` operation against - :class:`_expression.Over` construct would produce a recursion overflow.