]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(lots of) changelog updates for 2.0.5
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 6 Mar 2023 00:54:30 +0000 (19:54 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 6 Mar 2023 00:54:30 +0000 (19:54 -0500)
Change-Id: Iea2ca2cd1eb44b4e9139f2bb6c3d6239f67aeb56

13 files changed:
doc/build/changelog/changelog_20.rst
doc/build/changelog/unreleased_20/5648.rst
doc/build/changelog/unreleased_20/8853.rst
doc/build/changelog/unreleased_20/9343.rst
doc/build/changelog/unreleased_20/9349.rst
doc/build/changelog/unreleased_20/9367.rst
doc/build/changelog/unreleased_20/9376.rst
doc/build/changelog/unreleased_20/9379.rst
doc/build/changelog/unreleased_20/9391.rst
doc/build/changelog/unreleased_20/9401.rst
doc/build/changelog/unreleased_20/9423.rst
doc/build/changelog/unreleased_20/metadata_schema.rst
lib/sqlalchemy/engine/events.py

index eeee375b8f006ec46413100ffad2319d8464c255..9c430bfe0ede437e434bbb98c196df48a6aff867 100644 (file)
         lost.
 
     .. change::
-        :tags: bug, orm, regression
+        :tags: bug, orm, ression
         :tickets: 9232
 
         Fixed obscure ORM inheritance issue caused by :ticket:`8705` where some
index acc1251b11f19b5893d2fa8823154593e7c98dc3..84539ecd30495d32d936a869f63871d7d17bb4ca 100644 (file)
@@ -3,7 +3,7 @@
     :tickets: 5648
 
     The support for pool ping listeners to receive exception events via the
-    :meth:`.ConnectionEvents.handle_error` event added in 2.0.0b1 for
+    :meth:`.DialectEvents.handle_error` event added in 2.0.0b1 for
     :ticket:`5648` failed to take into account dialect-specific ping routines
     such as that of MySQL and PostgreSQL. The dialect feature has been reworked
     so that all dialects participate within event handling.   Additionally,
index a10ec43a669d2034ff4188c8b39305168ca59a0b..fd07869737cea1631c74915da6b346e786cfd909 100644 (file)
@@ -6,7 +6,7 @@
     name to be fully qualified regardless of whether or not
     ``from __annotations__ import future`` were present. This issue first fixed
     in 2.0.0b3 confirmed that this case worked via the test suite, however the
-    test suite apparently was not testing the behavior for the name ``Mapped``
-    not being locally present at all; string resolution has been updated to
-    ensure the ``Mapped`` symbol is locatable as applies to how the ORM uses
-    these functions.
+    test suite apparently was not testing the behavior for the name
+    :class:`_orm.Mapped` not being locally present at all; string resolution
+    has been updated to ensure the :class:`_orm.Mapped` symbol is locatable as
+    applies to how the ORM uses these functions.
index f6cf95e13cb9bc467ef89fb200d3dc92bb47a0e6..8c82ec1fa94c76aaa1a237573d3e53cd0b112045 100644 (file)
@@ -2,7 +2,7 @@
     :tags: engine, performance
     :tickets: 9343
 
-    A small optimization to the Cython implementation of :class:`.ResultProxy`
+    A small optimization to the Cython implementation of :class:`.Result`
     using a cdef for a particular int value to avoid Python overhead. Pull
     request courtesy Matus Valo.
 
index 957ac56871c3d8a990069e03bf720ebfb5ee710c..7e708f37989c3f881c84b2a4e46ec1299a28ccd8 100644 (file)
@@ -1,6 +1,7 @@
 .. change::
-    :tags: bug, schema, postgresql
-    :tickets: 9332
+    :tags: bug, postgresql
+    :tickets: 9349
 
-    ExcludeConstraint correctly uses literal compile when compiling
-    expression ddl.
+    Fixed issue in PostgreSQL :class:`_postgresql.ExcludeConstraint` where
+    literal values were being compiled as bound parameters and not direct
+    inline values as is required for DDL.
index 9355ffdead06d6696952129c21e2ed330f300841..883e5a215d627bb7c06ee79b7618b290dbaaf885 100644 (file)
@@ -2,10 +2,11 @@
     :tags: bug, ext
     :tickets: 9367
 
-    Fixed issue in automap where calling ``.prepare()`` from one of the mapped
-    classes would not use the correct base class when automap detected new
-    tables, instead using the given class, leading to mappers trying to
-    configure inheritance. While one should normally call ``.prepare()`` from
-    the base in any case, it shouldn't misbehave that badly when called from a
-    subclass.
+    Fixed issue in automap where calling :meth:`_automap.AutomapBase.prepare`
+    from a specific mapped class, rather than from the
+    :class:`_automap.AutomapBase` directly, would not use the correct base
+    class when automap detected new tables, instead using the given class,
+    leading to mappers trying to configure inheritance. While one should
+    normally call :meth:`_automap.AutomapBase.prepare` from the base in any
+    case, it shouldn't misbehave that badly when called from a subclass.
 
index 6d63d09d42a8bc9387dcb855dbe596dd55d575e6..1bec16485da0123d5576c428c060694573d3fab9 100644 (file)
@@ -2,7 +2,7 @@
     :tags: bug, typing
     :tickets: 9376
 
-    Improved typing for the mapping passed to :meth:`.UpdateBase.values` to be
-    more open-ended about collection type, by indicating read-only ``Mapping``
-    instead of writeable ``Dict`` which would error out on too limited of a key
-    type.
+    Improved typing for the mapping passed to :meth:`.Insert.values` and
+    :meth:`.Update.values` to be more open-ended about collection type, by
+    indicating read-only ``Mapping`` instead of writeable ``Dict`` which would
+    error out on too limited of a key type.
index 97e9b6c9bd68b65f331f80c771dd422c29388bfa..9784639df99d7816fbc86762068ecb28f364769e 100644 (file)
@@ -1,6 +1,8 @@
 .. change::
-    :tags: bug, sqlite
+    :tags: bug, sqlite, regression
     :tickets: 9379
 
-    Fixed bug that prevented SQLAlchemy to connect when using a very old
-    sqlite version (before 3.8.3) on python 3.8+.
+    Fixed regression for SQLite connections where use of the ``deterministic``
+    parameter when establishing database functions would fail for older SQLite
+    versions, those prior to version 3.8.3. The version checking logic has been
+    improved to accommodate for this case.
index 99336a71c74838cfda28df941536c6394ab45421..33c42f2654f3f525d1f0324464ef614211d5a38c 100644 (file)
@@ -2,6 +2,7 @@
     :tags: bug, typing
     :tickets: 9391
 
-    Added missing init overload to :class:`_sql.Numeric` to allow
-    type checkers to properly resolve the type var given the
-    ``asdecimal`` parameter.
+    Added missing init overload to the :class:`_types.Numeric` type object so
+    that pep-484 type checkers may properly resolve the complete type, deriving
+    from the :paramref:`_types.Numeric.asdecimal` parameter whether ``Decimal``
+    or ``float`` objects will be represented.
index 48d88f56bfa53ed5c9db069ce58eacba52daf08f..50232959b0e626d1b2e703ddd7df5a9ef82fbcee 100644 (file)
@@ -1,5 +1,8 @@
 .. change::
-    :tags: bug, schema, postgresql
+    :tags: bug, postgresql
     :tickets: 9401
 
-    Fixed issue when copying ExcludeConstraint.
+    Fixed issue where the PostgreSQL :class:`_postgresql.ExcludeConstraint`
+    construct would not be copyable within operations such as
+    :meth:`_schema.Table.to_metadata` as well as within some Alembic scenarios,
+    if the constraint contained textual expression elements.
index ddb6f9f4f7808cbf19c254c51f149a7e1602cd8f..84dc5cb3d1ffbb9fa22b2acc0f9c895c718b4599 100644 (file)
@@ -2,5 +2,5 @@
     :tags: bug, engine
     :tickets: 9423
 
-    Fixed bug where :meth:`_engine.Row`s could not be
-    unpickled by other processes.
+    Fixed bug where :class:`_engine.Row` objects could not be reliably unpickled
+    across processes due to an accidental reliance on an unstable hash value.
index 88664d1cb0ec7822c5da5a1963a99a125aa4c262..fdb84096506a626ecb8bb73092b118a28181c58a 100644 (file)
@@ -1,5 +1,5 @@
 .. change::
     :tags: schema
 
-    Validate that when provided the :paramref:`_sql.MetaData.schema`
-    argument of :class:`_sql.MetaData` is a string.
+    Validate that when provided the :paramref:`_schema.MetaData.schema`
+    argument of :class:`_schema.MetaData` is a string.
index b906389a90d0e587336a84dcd111bf402bb5df09..9028c8c33183985afb4f47c62c87e6613f9fe3e5 100644 (file)
@@ -744,6 +744,25 @@ class DialectEvents(event.Events[Dialect]):
         make use of a native ``ping()`` method supplied by the DBAPI which does
         not make use of disconnect codes.
 
+        .. versionchanged:: 2.0.0 The :meth:`.DialectEvents.handle_error`
+           event hook participates in connection pool "pre-ping" operations.
+           Within this usage, the :attr:`.ExceptionContext.engine` attribute
+           will be ``None``, however the :class:`.Dialect` in use is always
+           available via the :attr:`.ExceptionContext.dialect` attribute.
+
+        .. versionchanged:: 2.0.5 Added :attr:`.ExceptionContext.is_pre_ping`
+           attribute which will be set to ``True`` when the
+           :meth:`.DialectEvents.handle_error` event hook is triggered within
+           a connection pool pre-ping operation.
+
+        .. versionchanged:: 2.0.5 An issue was repaired that allows for the
+           PostgreSQL ``psycopg`` and ``psycopg2`` drivers, as well as all
+           MySQL drivers, to properly participate in the
+           :meth:`.DialectEvents.handle_error` event hook during
+           connection pool "pre-ping" operations; previously, the
+           implementation was non-working for these drivers.
+
+
         A handler function has two options for replacing
         the SQLAlchemy-constructed exception into one that is user
         defined.   It can either raise this new exception directly, in