]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 1.3.16
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 8 Apr 2020 02:47:20 +0000 (22:47 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 8 Apr 2020 02:47:20 +0000 (22:47 -0400)
16 files changed:
doc/build/changelog/changelog_13.rst
doc/build/changelog/unreleased_13/5052.rst [deleted file]
doc/build/changelog/unreleased_13/5063.rst [deleted file]
doc/build/changelog/unreleased_13/5137.rst [deleted file]
doc/build/changelog/unreleased_13/5146.rst [deleted file]
doc/build/changelog/unreleased_13/5162.rst [deleted file]
doc/build/changelog/unreleased_13/5164.rst [deleted file]
doc/build/changelog/unreleased_13/5183.rst [deleted file]
doc/build/changelog/unreleased_13/5200.rst [deleted file]
doc/build/changelog/unreleased_13/5201.rst [deleted file]
doc/build/changelog/unreleased_13/5205.rst [deleted file]
doc/build/changelog/unreleased_13/5207.rst [deleted file]
doc/build/changelog/unreleased_13/5210.rst [deleted file]
doc/build/changelog/unreleased_13/5228.rst [deleted file]
doc/build/changelog/unreleased_13/5238.rst [deleted file]
doc/build/changelog/unreleased_13/5239.rst [deleted file]

index 0db2c9eb0acaa508353cd744533b23851f848722..a6e1a2d8029442f5015e813b26ce797212e2a269 100644 (file)
 
 .. changelog::
     :version: 1.3.16
-    :include_notes_from: unreleased_13
+    :released: April 7, 2020
+
+    .. change::
+        :tags: oracle, usecase
+        :tickets: 5200
+
+        Implemented AUTOCOMMIT isolation level for Oracle when using cx_Oracle.
+        Also added a fixed default isolation level of READ COMMITTED for Oracle.
+
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 5239
+
+        Fixed issue in MySQL dialect when connecting to a psuedo-MySQL database
+        such as that provided by ProxySQL, the up front check for isolation level
+        when it returns no row will not prevent the dialect from continuing to
+        connect. A warning is emitted that the isolation level could not be
+        detected.
+
+
+    .. change::
+        :tags: bug, tests
+        :tickets: 5201
+
+        Fixed an issue that prevented the test suite from running with the
+        recently released py.test 5.4.0.
+
+
+    .. change::
+        :tags: bug, oracle, reflection
+        :tickets: 5146
+
+        Fixed regression / incorrect fix caused by fix for :ticket:`5146` where the
+        Oracle dialect reads from the "all_tab_comments" view to get table comments
+        but fails to accommodate for the current owner of the table being
+        requested, causing it to read the wrong comment if multiple tables of the
+        same name exist in multiple schemas.
+
+
+    .. change::
+        :tags: types, enum
+        :tickets: 5183
+
+        The :class:`.Enum` type now supports the parameter :paramref:`.Enum.length`
+        to specify the length of the VARCHAR column to create when using
+        non native enums by setting :paramref:`.Enum.native_enum` to ``False``
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 5228
+
+        Fixed bug in :func:`.orm.selectinload` loading option where two or more
+        loaders that represent different relationships with the same string key
+        name as referenced from a single :func:`.orm.with_polymorphic` construct
+        with multiple subclass mappers would fail to invoke each subqueryload
+        separately, instead making use of a single string-based slot that would
+        prevent the other loaders from being invoked.
+
+
+    .. change::
+        :tags: schema, reflection
+        :tickets: 5063
+
+        Added support for reflection of "computed" columns, which are now returned
+        as part of the structure returned by :meth:`.Inspector.get_columns`.
+        When reflecting full :class:`.Table` objects, computed columns will
+        be represented using the :class:`.Computed` construct.
+
+    .. change::
+        :tags: orm, performance
+        :tickets: 5162
+
+        Modified the queries used by subqueryload and selectinload to no longer
+        ORDER BY the primary key of the parent entity;  this ordering was there to
+        allow the rows as they come in to be copied into lists directly with a
+        minimal level of Python-side collation.   However, these ORDER BY clauses
+        can negatively impact the performance of the query as in many scenarios
+        these columns are derived from a subquery or are otherwise not actual
+        primary key columns such that SQL planners cannot make use of indexes. The
+        Python-side collation uses the native itertools.group_by() to collate the
+        incoming rows, and has been modified to allow multiple
+        row-groups-per-parent to be assembled together using list.extend(), which
+        should still allow for relatively fast Python-side performance.  There will
+        still be an ORDER BY present for a relationship that includes an explicit
+        order_by parameter, however this is the only ORDER BY that will be added to
+        the query for both kinds of loading.
+
+    .. change::
+        :tags: mssql, mysql, oracle, usecase
+        :tickets: 5137
+
+        Added support for :meth:`.ColumnOperators.is_distinct_from` and
+        :meth:`.ColumnOperators.isnot_distinct_from` to SQL Server,
+        MySQL, and Oracle.
+
+    .. change::
+        :tags: sqlite, usecase
+        :tickets: 5164
+
+        Implemented AUTOCOMMIT isolation level for SQLite when using pysqlite.
+
+    .. change::
+        :tags: bug, postgresql
+        :tickets: 5205
+
+        Fixed issue where a "covering" index, e.g. those which have an  INCLUDE
+        clause, would be reflected including all the columns in INCLUDE clause as
+        regular columns.  A warning is now emitted if these additional columns are
+        detected indicating that they are currently ignored.  Note that full
+        support for "covering" indexes is part of :ticket:`4458`.  Pull request
+        courtesy Marat Sharafutdinov.
+
+    .. change::
+        :tags: sql, types
+        :tickets: 5052
+
+        Add ability to literal compile a :class:`DateTime`, :class:`Date`
+        or :class:"Time" when using the string dialect for debugging purposes.
+        This change does not impact real dialect implementation that retain
+        their current behavior.
+
+    .. change::
+        :tags: installer
+        :tickets: 5207
+
+        Ensured that the "pyproject.toml" file is not included in builds, as the
+        presence of this file indicates to pip that a pep-517 installation process
+        should be used.  As this mode of operation appears to be not well supported
+        by current tools / distros, these problems are avoided within the scope
+        of SQLAlchemy installation by omitting the file.
+
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 5210
+
+        Fixed issue where a lazyload that uses session-local "get" against a target
+        many-to-one relationship where an object with the correct primary key is
+        present, however it's an instance of a sibling class, does not correctly
+        return None as is the case when the lazy loader actually emits a load for
+        that row.
+
+    .. change::
+        :tags: bug, orm, declarative
+        :tickets: 5238
+
+        The string argument accepted as the first positional argument by the
+        :func:`.relationship` function when using the Declarative API is no longer
+        interpreted using the Python ``eval()`` function; instead, the name is dot
+        separated and the names are looked up directly in the name resolution
+        dictionary without treating the value as a Python expression.  However,
+        passing a string argument to the other :func:`.relationship` parameters
+        that necessarily must accept Python expressions will still use ``eval()``;
+        the documentation has been clarified to ensure that there is no ambiguity
+        that this is in use.
+
+        .. seealso::
+
+            :ref:`declarative_relationship_eval` - details on string evaluation
 
 .. changelog::
     :version: 1.3.15
diff --git a/doc/build/changelog/unreleased_13/5052.rst b/doc/build/changelog/unreleased_13/5052.rst
deleted file mode 100644 (file)
index 9680ba5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: sql, types
-    :tickets: 5052
-
-    Add ability to literal compile a :class:`DateTime`, :class:`Date`
-    or :class:"Time" when using the string dialect for debugging purposes.
-    This change does not impact real dialect implementation that retain
-    their current behavior.
diff --git a/doc/build/changelog/unreleased_13/5063.rst b/doc/build/changelog/unreleased_13/5063.rst
deleted file mode 100644 (file)
index ca8ad66..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: schema, reflection
-    :tickets: 5063
-
-    Added support for reflection of "computed" columns, which are now returned
-    as part of the structure returned by :meth:`.Inspector.get_columns`.
-    When reflecting full :class:`.Table` objects, computed columns will
-    be represented using the :class:`.Computed` construct.
diff --git a/doc/build/changelog/unreleased_13/5137.rst b/doc/build/changelog/unreleased_13/5137.rst
deleted file mode 100644 (file)
index c53ca01..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: mssql, mysql, oracle, usecase
-    :tickets: 5137
-
-    Added support for :meth:`.ColumnOperators.is_distinct_from` and
-    :meth:`.ColumnOperators.isnot_distinct_from` to SQL Server,
-    MySQL, and Oracle.
diff --git a/doc/build/changelog/unreleased_13/5146.rst b/doc/build/changelog/unreleased_13/5146.rst
deleted file mode 100644 (file)
index 56e5554..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, oracle, reflection
-    :tickets: 5146
-
-    Fixed regression / incorrect fix caused by fix for :ticket:`5146` where the
-    Oracle dialect reads from the "all_tab_comments" view to get table comments
-    but fails to accommodate for the current owner of the table being
-    requested, causing it to read the wrong comment if multiple tables of the
-    same name exist in multiple schemas.
-
diff --git a/doc/build/changelog/unreleased_13/5162.rst b/doc/build/changelog/unreleased_13/5162.rst
deleted file mode 100644 (file)
index 61ff4a1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-.. change::
-    :tags: orm, performance
-    :tickets: 5162
-
-    Modified the queries used by subqueryload and selectinload to no longer
-    ORDER BY the primary key of the parent entity;  this ordering was there to
-    allow the rows as they come in to be copied into lists directly with a
-    minimal level of Python-side collation.   However, these ORDER BY clauses
-    can negatively impact the performance of the query as in many scenarios
-    these columns are derived from a subquery or are otherwise not actual
-    primary key columns such that SQL planners cannot make use of indexes. The
-    Python-side collation uses the native itertools.group_by() to collate the
-    incoming rows, and has been modified to allow multiple
-    row-groups-per-parent to be assembled together using list.extend(), which
-    should still allow for relatively fast Python-side performance.  There will
-    still be an ORDER BY present for a relationship that includes an explicit
-    order_by parameter, however this is the only ORDER BY that will be added to
-    the query for both kinds of loading.
diff --git a/doc/build/changelog/unreleased_13/5164.rst b/doc/build/changelog/unreleased_13/5164.rst
deleted file mode 100644 (file)
index 5883ecb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-.. change::
-    :tags: sqlite, usecase
-    :tickets: 5164
-
-    Implemented AUTOCOMMIT isolation level for SQLite when using pysqlite.
diff --git a/doc/build/changelog/unreleased_13/5183.rst b/doc/build/changelog/unreleased_13/5183.rst
deleted file mode 100644 (file)
index 21265e0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: types, enum
-    :tickets: 5183
-
-    The :class:`.Enum` type now supports the parameter :paramref:`.Enum.length`
-    to specify the length of the VARCHAR column to create when using
-    non native enums by setting :paramref:`.Enum.native_enum` to ``False``
diff --git a/doc/build/changelog/unreleased_13/5200.rst b/doc/build/changelog/unreleased_13/5200.rst
deleted file mode 100644 (file)
index b7e156c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: oracle, usecase
-    :tickets: 5200
-
-    Implemented AUTOCOMMIT isolation level for Oracle when using cx_Oracle.
-    Also added a fixed default isolation level of READ COMMITTED for Oracle.
-
diff --git a/doc/build/changelog/unreleased_13/5201.rst b/doc/build/changelog/unreleased_13/5201.rst
deleted file mode 100644 (file)
index 45ec9db..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: bug, tests
-    :tickets: 5201
-
-    Fixed an issue that prevented the test suite from running with the
-    recently released py.test 5.4.0.
-
diff --git a/doc/build/changelog/unreleased_13/5205.rst b/doc/build/changelog/unreleased_13/5205.rst
deleted file mode 100644 (file)
index 00129e7..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, postgresql
-    :tickets: 5205
-
-    Fixed issue where a "covering" index, e.g. those which have an  INCLUDE
-    clause, would be reflected including all the columns in INCLUDE clause as
-    regular columns.  A warning is now emitted if these additional columns are
-    detected indicating that they are currently ignored.  Note that full
-    support for "covering" indexes is part of :ticket:`4458`.  Pull request
-    courtesy Marat Sharafutdinov.
diff --git a/doc/build/changelog/unreleased_13/5207.rst b/doc/build/changelog/unreleased_13/5207.rst
deleted file mode 100644 (file)
index 076c51c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: installer
-    :tickets: 5207
-
-    Ensured that the "pyproject.toml" file is not included in builds, as the
-    presence of this file indicates to pip that a pep-517 installation process
-    should be used.  As this mode of operation appears to be not well supported
-    by current tools / distros, these problems are avoided within the scope
-    of SQLAlchemy installation by omitting the file.
-
diff --git a/doc/build/changelog/unreleased_13/5210.rst b/doc/build/changelog/unreleased_13/5210.rst
deleted file mode 100644 (file)
index 0a50ba0..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 5210
-
-    Fixed issue where a lazyload that uses session-local "get" against a target
-    many-to-one relationship where an object with the correct primary key is
-    present, however it's an instance of a sibling class, does not correctly
-    return None as is the case when the lazy loader actually emits a load for
-    that row.
diff --git a/doc/build/changelog/unreleased_13/5228.rst b/doc/build/changelog/unreleased_13/5228.rst
deleted file mode 100644 (file)
index 2f0b6a5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 5228
-
-    Fixed bug in :func:`.orm.selectinload` loading option where two or more
-    loaders that represent different relationships with the same string key
-    name as referenced from a single :func:`.orm.with_polymorphic` construct
-    with multiple subclass mappers would fail to invoke each subqueryload
-    separately, instead making use of a single string-based slot that would
-    prevent the other loaders from being invoked.
-
diff --git a/doc/build/changelog/unreleased_13/5238.rst b/doc/build/changelog/unreleased_13/5238.rst
deleted file mode 100644 (file)
index 1fb54eb..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-.. change::
-    :tags: bug, orm, declarative
-    :tickets: 5238
-
-    The string argument accepted as the first positional argument by the
-    :func:`.relationship` function when using the Declarative API is no longer
-    interpreted using the Python ``eval()`` function; instead, the name is dot
-    separated and the names are looked up directly in the name resolution
-    dictionary without treating the value as a Python expression.  However,
-    passing a string argument to the other :func:`.relationship` parameters
-    that necessarily must accept Python expressions will still use ``eval()``;
-    the documentation has been clarified to ensure that there is no ambiguity
-    that this is in use.
-
-    .. seealso::
-
-        :ref:`declarative_relationship_eval` - details on string evaluation
\ No newline at end of file
diff --git a/doc/build/changelog/unreleased_13/5239.rst b/doc/build/changelog/unreleased_13/5239.rst
deleted file mode 100644 (file)
index 6d0c720..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 5239
-
-    Fixed issue in MySQL dialect when connecting to a psuedo-MySQL database
-    such as that provided by ProxySQL, the up front check for isolation level
-    when it returns no row will not prevent the dialect from continuing to
-    connect. A warning is emitted that the isolation level could not be
-    detected.
-