From: Mike Bayer Date: Tue, 26 Apr 2022 19:32:30 +0000 (-0400) Subject: changelog edits for 1.4.36 X-Git-Tag: rel_2_0_0b1~334 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7efcda1758d1690b5974395806526808c748b65b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git changelog edits for 1.4.36 for 2.0, we split 7953 into two separate changelog files, one with the 2.0 fix to the logic itself, and the other under 1.4 indicating the warning being emitted. we also add into 1.4 the file for the C extension change made for 7875 so it renders into the 1.4 documentation. Change-Id: I0dd6b8ace355e4884b918484ae7b2c7a8319ff7e (cherry picked from commit 0c17ba55e695bd71048d750f0dcc24082338444c) --- diff --git a/doc/build/changelog/unreleased_14/6515.rst b/doc/build/changelog/unreleased_14/6515.rst index 0ac5332b55..7db6a67c7a 100644 --- a/doc/build/changelog/unreleased_14/6515.rst +++ b/doc/build/changelog/unreleased_14/6515.rst @@ -3,6 +3,6 @@ :tickets: 6515 Fixed bug in :class:`.ARRAY` datatype in combination with :class:`.Enum` on - PostgreSQL where using the ``.any()`` method to render SQL ANY(), given - members of the Python enumeration as arguments, would produce a type - adaptation failure on all drivers. + PostgreSQL where using the ``.any()`` or ``.all()`` methods to render SQL + ANY() or ALL(), given members of the Python enumeration as arguments, would + produce a type adaptation failure on all drivers. diff --git a/doc/build/changelog/unreleased_14/7875.rst b/doc/build/changelog/unreleased_14/7875.rst new file mode 100644 index 0000000000..3e14f5c7fa --- /dev/null +++ b/doc/build/changelog/unreleased_14/7875.rst @@ -0,0 +1,12 @@ +.. change:: + :tags: bug, engine + :tickets: 7875 + + Fixed a memory leak in the C extensions which could occur when calling upon + named members of :class:`.Row` when the member does not exist under Python + 3; in particular this could occur during NumPy transformations when it + attempts to call members such as ``.__array__``, but the issue was + surrounding any ``AttributeError`` thrown by the :class:`.Row` object. This + issue does not apply to version 2.0 which has already transitioned to + Cython. Thanks much to Sebastian Berg for identifying the problem. + diff --git a/doc/build/changelog/unreleased_14/7930.rst b/doc/build/changelog/unreleased_14/7930.rst index bf4f9988ca..56a2ef530f 100644 --- a/doc/build/changelog/unreleased_14/7930.rst +++ b/doc/build/changelog/unreleased_14/7930.rst @@ -2,6 +2,7 @@ :tags: bug, postgresql :tickets: 7930 - Fixed an issue what would cause autocommit mode to be reset - when using pre_ping in conjunction engine level autocommit - on the psycopg2 driver. + Fixed an issue in the psycopg2 dialect when using the + :paramref:`.create_engine.pool_pre_ping` parameter which would cause + user-configured ``AUTOCOMMIT`` isolation level to be inadvertently reset by + the "ping" handler. diff --git a/doc/build/changelog/unreleased_14/7936.rst b/doc/build/changelog/unreleased_14/7936.rst index bcad142b0b..48c63328e5 100644 --- a/doc/build/changelog/unreleased_14/7936.rst +++ b/doc/build/changelog/unreleased_14/7936.rst @@ -2,10 +2,10 @@ :tags: bug, orm, regression :tickets: 7936 - Fixed regression where the change in #7861, released in version 1.4.33, - that brought the :class:`.Insert` construct to be partially recognized as - an ORM-enabled statement did not properly transfer the correct mapper / - mapped table state to the :class:`.Session`, causing the + Fixed regression where the change made for :ticket:`7861`, released in + version 1.4.33, that brought the :class:`.Insert` construct to be partially + recognized as an ORM-enabled statement did not properly transfer the + correct mapper / mapped table state to the :class:`.Session`, causing the :meth:`.Session.get_bind` method to fail for a :class:`.Session` that was bound to engines and/or connections using the :paramref:`.Session.binds` parameter. diff --git a/doc/build/changelog/unreleased_14/7937.rst b/doc/build/changelog/unreleased_14/7937.rst index 96d80d6cd2..50dd00aa85 100644 --- a/doc/build/changelog/unreleased_14/7937.rst +++ b/doc/build/changelog/unreleased_14/7937.rst @@ -2,7 +2,8 @@ :tags: bug, asyncio :tickets: 7937 - Allow setting contextvar values inside async adapted event handlers. - Previously the value set to the contextvar would not be properly - propagated. + Repaired handling of ``contextvar.ContextVar`` objects inside of async + adapted event handlers. Previously, values applied to a ``ContextVar`` + would not be propagated in the specific case of calling upon awaitables + inside of non-awaitable code. diff --git a/doc/build/changelog/unreleased_14/7943.rst b/doc/build/changelog/unreleased_14/7943.rst index e5ed12e7f8..87fef1c21a 100644 --- a/doc/build/changelog/unreleased_14/7943.rst +++ b/doc/build/changelog/unreleased_14/7943.rst @@ -3,7 +3,7 @@ :tickets: 7943 Implemented :attr:`_postgresql.UUID.python_type` attribute for the - :class:`_postgresql.UUID` type object. The attribute will return either - ``str`` or ``uuid.UUID`` based on the :paramref:`_postgresql.UUID.as_uuid` - parameter setting. Previously, this attribute was unimplemented. Pull - request courtesy Alex Grönholm. \ No newline at end of file + PostgreSQL :class:`_postgresql.UUID` type object. The attribute will return + either ``str`` or ``uuid.UUID`` based on the + :paramref:`_postgresql.UUID.as_uuid` parameter setting. Previously, this + attribute was unimplemented. Pull request courtesy Alex Grönholm. \ No newline at end of file diff --git a/doc/build/changelog/unreleased_14/7953.rst b/doc/build/changelog/unreleased_14/7953.rst index 0f2fd39363..31b57d2f1e 100644 --- a/doc/build/changelog/unreleased_14/7953.rst +++ b/doc/build/changelog/unreleased_14/7953.rst @@ -2,9 +2,14 @@ :tags: bug, engine :tickets: 7953 - Fixed issue in :meth:`.Result.columns` method where calling upon - :meth:`.Result.columns` with a single index could in some cases, - particularly ORM result object cases, cause the :class:`.Result` to yield - scalar objects rather than :class:`.Row` objects, as though the - :meth:`.Result.scalars` method had been called. In SQLAlchemy 1.4, this - scenario emits a warning that the behavior will change in SQLAlchemy 2.0. + Added a warning regarding a bug which exists in the :meth:`.Result.columns` + method when passing 0 for the index in conjunction with a :class:`.Result` + that will return a single ORM entity, which indicates that the current + behavior of :meth:`.Result.columns` is broken in this case as the + :class:`.Result` object will yield scalar values and not :class:`.Row` + objects. The issue will be fixed in 2.0, which would be a + backwards-incompatible change for code that relies on the current broken + behavior. Code which wants to receive a collection of scalar values should + use the :meth:`.Result.scalars` method, which will return a new + :class:`.ScalarResult` object that yields non-row scalar objects. + diff --git a/doc/build/changelog/unreleased_14/7958.rst b/doc/build/changelog/unreleased_14/7958.rst index 057647bd87..dc9f96a317 100644 --- a/doc/build/changelog/unreleased_14/7958.rst +++ b/doc/build/changelog/unreleased_14/7958.rst @@ -12,9 +12,9 @@ the table alone without using a column name, if the name of the referent column is the same as that of the referred column. - The ``referred_column_0`` naming convention key was not previously not - tested with the :class:`.ForeignKey` object, only - :class:`.ForeignKeyConstraint`, and this bug reveals that the feature has - never worked correctly unless :class:`.ForeignKeyConstraint` is used for - all FK constraints. This bug traces back to the original introduction of - the feature introduced for :ticket:`3989`. + The ``referred_column_0`` naming convention key was previously not tested + with the :class:`.ForeignKey` object, only :class:`.ForeignKeyConstraint`, + and this bug reveals that the feature has never worked correctly unless + :class:`.ForeignKeyConstraint` is used for all FK constraints. This bug + traces back to the original introduction of the feature introduced for + :ticket:`3989`. diff --git a/doc/build/changelog/unreleased_20/7953.rst b/doc/build/changelog/unreleased_20/7953.rst new file mode 100644 index 0000000000..0f2fd39363 --- /dev/null +++ b/doc/build/changelog/unreleased_20/7953.rst @@ -0,0 +1,10 @@ +.. change:: + :tags: bug, engine + :tickets: 7953 + + Fixed issue in :meth:`.Result.columns` method where calling upon + :meth:`.Result.columns` with a single index could in some cases, + particularly ORM result object cases, cause the :class:`.Result` to yield + scalar objects rather than :class:`.Row` objects, as though the + :meth:`.Result.scalars` method had been called. In SQLAlchemy 1.4, this + scenario emits a warning that the behavior will change in SQLAlchemy 2.0.