]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
changelog edits for 1.4.36
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 26 Apr 2022 19:32:30 +0000 (15:32 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 26 Apr 2022 19:35:22 +0000 (15:35 -0400)
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)

doc/build/changelog/unreleased_14/6515.rst
doc/build/changelog/unreleased_14/7875.rst [new file with mode: 0644]
doc/build/changelog/unreleased_14/7930.rst
doc/build/changelog/unreleased_14/7936.rst
doc/build/changelog/unreleased_14/7937.rst
doc/build/changelog/unreleased_14/7943.rst
doc/build/changelog/unreleased_14/7953.rst
doc/build/changelog/unreleased_14/7958.rst
doc/build/changelog/unreleased_20/7953.rst [new file with mode: 0644]

index 0ac5332b552867f58ca77fe6cad501dd5e2cbb14..7db6a67c7ab545878894adf09df783b6bec46fe1 100644 (file)
@@ -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 (file)
index 0000000..3e14f5c
--- /dev/null
@@ -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.
+
index bf4f9988ca265b29d586af7f994316031f06d71a..56a2ef530f525d5097f451834d89825a0045c5e0 100644 (file)
@@ -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.
index bcad142b0bc4f7990f1bf87cd2e2cd377397fc49..48c63328e58d15c9811d167a6f6f09f80f58cee8 100644 (file)
@@ -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.
index 96d80d6cd27135a55e34109897dbb7d082d4e6f6..50dd00aa85400684739ccf82e520030dc76b06fa 100644 (file)
@@ -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.
 
index e5ed12e7f8fe42e2e61c1c0b53078d257a1da59d..87fef1c21a0dcf291c60a0c3106ec692f8fbef70 100644 (file)
@@ -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
index 0f2fd39363a9eae600b6a62ec120b727cf9543ff..31b57d2f1edc0cb74bb99c5b8d68129f6dbc2728 100644 (file)
@@ -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.
+
index 057647bd87689c3991b7b25ca38ee402949a0c16..dc9f96a317dc1a0350fd21247dc7c9db2f18b229 100644 (file)
@@ -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 (file)
index 0000000..0f2fd39
--- /dev/null
@@ -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.