]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
changelog updates
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Apr 2023 01:37:20 +0000 (21:37 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Apr 2023 01:37:20 +0000 (21:37 -0400)
Additionally add mssql DOUBLE_PRECISION to mssql.__all__

Change-Id: I93f2db85feeff116278c5c6d0678e20d039a3e1f

doc/build/changelog/changelog_20.rst
doc/build/changelog/unreleased_20/9583.rst
doc/build/changelog/unreleased_20/9644.rst
doc/build/changelog/unreleased_20/9678.rst
doc/build/changelog/unreleased_20/9680.rst [deleted file]
doc/build/changelog/unreleased_20/9682.rst
doc/build/changelog/unreleased_20/9701.rst
doc/build/changelog/unreleased_20/c_slice.rst
lib/sqlalchemy/dialects/mssql/__init__.py

index f6ec81c15c26e0557f16e4114ddaad2fde1994c3..f97af2cb509c02940a502e18c26bef47ebbcca9d 100644 (file)
         :tags: feature, sql
         :tickets: 5465
 
-        Added :class:`.Double`, :class:`.DOUBLE`, :class:`.DOUBLE_PRECISION`
+        Added :class:`.Double`, :class:`.DOUBLE`,
+        :class:`_sqltypes.DOUBLE_PRECISION`
         datatypes to the base ``sqlalchemy.`` module namespace, for explicit use of
         double/double precision as well as generic "double" datatypes. Use
         :class:`.Double` for generic support that will resolve to DOUBLE/DOUBLE
index 81555f412546d05c53272c7e130778d7c874acfc..f087969b40dbbf0c2905faea12968b035c13a9b2 100644 (file)
@@ -5,11 +5,16 @@
     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 ORM-enabled insert feature not
+    :class:`_orm.Session`, due to the new
+    :ref:`ORM-enabled insert feature <orm_queryguide_bulk_insert>` not
     implementing this use case.
 
-    In addition, the bulk INSERT and UPDATE features now add these
-    capabilities:
+.. change::
+    :tags: usecase, orm
+    :tickets: 9583, 9595
+
+    The :ref:`ORM bulk INSERT and UPDATE <orm_expression_update_delete>`
+    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.
index f40c779174c2925444d3162b8dc05b800a3bdfc7..0be4146f269e2fcf443a72d07713cd4498b927f2 100644 (file)
@@ -4,5 +4,4 @@
 
     Improved typing of :class:`_engine.RowMapping` to indicate that it
     support also :class:`_schema.Column` as index objects, not only
-    string names.
-    Pull request curtesy or Andy Freeland.
+    string names. Pull request courtesy Andy Freeland.
index 6ea1525b34961bb78dfa6c69b0fe563fb2d8f0cb..d90140292cdc7d5ccbb1d5a353229960643ff7bb 100644 (file)
@@ -1,10 +1,26 @@
 .. change::
     :tags: engine, performance
-    :tickets: 9678
-
-    Improved :class:`_engine.Row` implementation to optimize
-    ``__getattr__`` performance.
-    The serialization of a :class:`_engine.Row` to pickle has changed with
-    this change. Pickle saved by older SQLAlchemy versions can still be loaded,
-    but new pickle saved by this version cannot be loaded by older ones.
-    Pull request curtesy of J. Nick Koston.
+    :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/9680.rst b/doc/build/changelog/unreleased_20/9680.rst
deleted file mode 100644 (file)
index e64d649..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: performance, sql
-    :tickets: 9680
-
-    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 disabled for nearly all drivers other than
-    psycopg2, all of which in modern forms support returning Python "bytes"
-    directly.  Pull request courtesy J. Nick Koston.
index bfd4b066401e023d1f5e38cd3a89fdb98f64881e..83dd1ea702cca984792dcdf2334de2c3e2f435ea 100644 (file)
@@ -1,6 +1,6 @@
 .. change::
-    :tags: bug, engine
+    :tags: bug, engine, regression
     :tickets: 9682
 
-    Fixed a bug that prevented use of :attr:`_engine.URL.normalized_query` in
-    SQLAlchemy v2.
+    Fixed regression which prevented the :attr:`_engine.URL.normalized_query`
+    attribute of :class:`_engine.URL` from functioning.
index 6c363404d15e9e80d26727d4d9af6736da434366..8ab979077924aaa56e6f246f3298037db09ffa85 100644 (file)
@@ -2,17 +2,20 @@
     :tags: bug, postgresql, regression
     :tickets: 9701
 
-    Fixed regression caused by the fix for :ticket:`9618` where floating point
-    values would lose precision being inserted in bulk, using either the
-    psycopg2 or psycopg drivers.
+    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, having it
-    resolve to ``DOUBLE PRECISION``, or :class:`_mssql.DOUBLE_PRECISION`,
-    at DDL rendering time.
+    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::
index c3e2e4bcc8bf82183fda840ab4db87bb1f68efc6..94f3e20e62f1d51e29a945b911d393449439e5e5 100644 (file)
@@ -6,4 +6,5 @@
     ``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`,
-    which it appears to be an oversight that this usage was omitted.
+    where it appears to be an oversight that the slice access use case was
+    omitted.
index e6ad5e120a215122f866b0e0ed1da5dd85a71f4b..3bbfad344cfce8d9ddbce1a77442e76e4c74a363 100644 (file)
@@ -68,6 +68,7 @@ __all__ = (
     "DATETIME2",
     "DATETIMEOFFSET",
     "DATE",
+    "DOUBLE_PRECISION",
     "TIME",
     "SMALLDATETIME",
     "BINARY",