]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 1.2.9
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 29 Jun 2018 17:45:16 +0000 (13:45 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 29 Jun 2018 17:45:16 +0000 (13:45 -0400)
18 files changed:
doc/build/changelog/changelog_12.rst
doc/build/changelog/unreleased_12/3505.rst [deleted file]
doc/build/changelog/unreleased_12/3645.rst [deleted file]
doc/build/changelog/unreleased_12/4228.rst [deleted file]
doc/build/changelog/unreleased_12/4243.rst [deleted file]
doc/build/changelog/unreleased_12/4269.rst [deleted file]
doc/build/changelog/unreleased_12/4270.rst [deleted file]
doc/build/changelog/unreleased_12/4273.rst [deleted file]
doc/build/changelog/unreleased_12/4275.rst [deleted file]
doc/build/changelog/unreleased_12/4279.rst [deleted file]
doc/build/changelog/unreleased_12/4283.rst [deleted file]
doc/build/changelog/unreleased_12/4286.rst [deleted file]
doc/build/changelog/unreleased_12/4287.rst [deleted file]
doc/build/changelog/unreleased_12/4290.rst [deleted file]
doc/build/changelog/unreleased_12/4291.rst [deleted file]
doc/build/changelog/unreleased_12/4293.rst [deleted file]
doc/build/changelog/unreleased_12/mysqlconnector_percents.rst [deleted file]
doc/build/changelog/unreleased_12/pr452.rst [deleted file]

index ebea9b753cab019690b97e982faa17aa8b8eb0cc..8a7c2059a95e489839d7193f66edf157989d6afc 100644 (file)
 
 .. changelog::
     :version: 1.2.9
-    :include_notes_from: unreleased_12
+    :released: June 29, 2018
+
+    .. change::
+        :tags: bug, mysql
+
+        Fixed percent-sign doubling in mysql-connector-python dialect, which does
+        not require de-doubling of percent signs.   Additionally, the  mysql-
+        connector-python driver is inconsistent in how it passes the column names
+        in cursor.description, so a workaround decoder has been added to
+        conditionally decode these randomly-sometimes-bytes values to unicode only
+        if needed.  Also improved test support for mysql-connector-python, however
+        it should be noted that this driver still has issues with unicode that
+        continue to be unresolved as of yet.
+
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 4228
+
+        Fixed bug in MSSQL reflection where when two same-named tables in different
+        schemas had same-named primary key constraints, foreign key constraints
+        referring to one of the tables would have their columns doubled, causing
+        errors.   Pull request courtesy Sean Dunn.
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 4279
+
+        Fixed regression in 1.2 due to :ticket:`4147` where a :class:`.Table` that
+        has had some of its indexed columns redefined with new ones, as would occur
+        when overriding columns during reflection or when using
+        :paramref:`.Table.extend_existing`, such that the :meth:`.Table.tometadata`
+        method would fail when attempting to copy those indexes as they still
+        referred to the replaced column.   The copy logic now accommodates for this
+        condition.
+
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 4293
+
+        Fixed bug in index reflection where on MySQL 8.0 an index that includes
+        ASC or DESC in an indexed column specfication would not be correctly
+        reflected, as MySQL 8.0 introduces support for returning this information
+        in a table definition string.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 3505
+
+        Fixed issue where chaining multiple join elements inside of
+        :meth:`.Query.join` might not correctly adapt to the previous left-hand
+        side, when chaining joined inheritance classes that share the same base
+        class.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4287
+
+        Fixed bug in cache key generation for baked queries which could cause a
+        too-short cache key to be generated for the case of eager loads across
+        subclasses.  This could in turn cause the eagerload query to be cached in
+        place of a non-eagerload query, or vice versa, for a polymorhic "selectin"
+        load, or possibly for lazy loads or selectin loads as well.
+
+    .. change::
+        :tags: bug, sqlite
+        :versions: 1.3.0b1
+
+        Fixed issue in test suite where SQLite 3.24 added a new reserved word that
+        conflicted with a usage in TypeReflectionTest.  Pull request courtesy Nils
+        Philippsen.
+
+    .. change::
+        :tags: feature, oracle
+        :tickets: 4290
+        :versions: 1.3.0b1
+
+        Added a new event currently used only by the cx_Oracle dialect,
+        :meth:`.DialectEvents.setiputsizes`.  The event passes a dictionary of
+        :class:`.BindParameter` objects to DBAPI-specific type objects that will be
+        passed, after conversion to parameter names, to the cx_Oracle
+        ``cursor.setinputsizes()`` method.  This allows both visibility into the
+        setinputsizes process as well as the ability to alter the behavior of what
+        datatypes are passed to this method.
+
+        .. seealso::
+
+            :ref:`cx_oracle_setinputsizes`
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4286
+
+        Fixed bug in new polymorphic selectin loading where the BakedQuery used
+        internally would be mutated by the given loader options, which would both
+        inappropriately mutate the subclass query as well as carry over the effect
+        to subsequent queries.
+
+    .. change::
+        :tags: bug, py3k
+        :tickets: 4291
+
+        Replaced the usage of inspect.formatargspec() with a vendored version
+        copied from the Python standard library, as inspect.formatargspec()
+        is deprecated and as of Python 3.7.0 is emitting a warning.
+
+    .. change::
+        :tags: feature, ext
+        :tickets: 4243
+        :versions: 1.3.0b1
+
+        Added new attribute :attr:`.Query.lazy_loaded_from` which is populated
+        with an :class:`.InstanceState` that is using this :class:`.Query` in
+        order to lazy load a relationship.  The rationale for this is that
+        it serves as a hint for the horizontal sharding feature to use, such that
+        the identity token of the state can be used as the default identity token
+        to use for the query within id_chooser().
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 4283
+
+        Fixed bug in MySQLdb dialect and variants such as PyMySQL where an
+        additional "unicode returns" check upon connection makes explicit use of
+        the "utf8" character set, which in MySQL 8.0 emits a warning that utf8mb4
+        should be used.  This is now replaced with a utf8mb4 equivalent.
+        Documentation is also updated for the MySQL dialect to specify utf8mb4 in
+        all examples.  Additional changes have been made to the test suite to use
+        utf8mb3 charsets and databases (there seem to be collation issues in some
+        edge cases with utf8mb4), and to support configuration default changes made
+        in MySQL 8.0 such as explicit_defaults_for_timestamp as well as new errors
+        raised for invalid MyISAM indexes.
+
+
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 3645
+
+        The :class:`.Update` construct now accommodates a :class:`.Join` object
+        as supported by MySQL for UPDATE..FROM.  As the construct already
+        accepted an alias object for a similar purpose, the feature of UPDATE
+        against a non-table was already implied so this has been added.
+
+    .. change::
+        :tags: bug, mssql, py3k
+        :tickets: 4273
+
+        Fixed issue within the SQL Server dialect under Python 3 where when running
+        against a non-standard SQL server database that does not contain either the
+        "sys.dm_exec_sessions" or "sys.dm_pdw_nodes_exec_sessions" views, leading
+        to a failure to fetch the isolation level, the error raise would fail due
+        to an UnboundLocalError.
+
+
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4269
+
+        Fixed regression caused by :ticket:`4256` (itself a regression fix for
+        :ticket:`4228`) which breaks an undocumented behavior which converted for a
+        non-sequence of entities passed directly to the :class:`.Query` constructor
+        into a single-element sequence.  While this behavior was never supported or
+        documented, it's already in use so has been added as a behavioral contract
+        to :class:`.Query`.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4270
+
+        Fixed an issue that was both a performance regression in 1.2 as well as an
+        incorrect result regarding the "baked" lazy loader, involving the
+        generation of cache keys from the original :class:`.Query` object's loader
+        options.  If the loader options were built up in a "branched" style using
+        common base elements for multiple options, the same options would be
+        rendered into the cache key repeatedly, causing both a performance issue as
+        well as generating the wrong cache key.  This is fixed, along with a
+        performance improvement when such "branched" options are applied via
+        :meth:`.Query.options` to prevent the same option objects from being
+        applied repeatedly.
+
+    .. change::
+        :tags: bug, oracle, mysql
+        :tickets: 4275
+        :versions: 1.3.0b1
+
+        Fixed INSERT FROM SELECT with CTEs for the Oracle and MySQL dialects, where
+        the CTE was being placed above the entire statement as is typical with
+        other databases, however Oracle and MariaDB 10.2 wants the CTE underneath
+        the "INSERT" segment. Note that the Oracle and MySQL dialects don't yet
+        work when a CTE is applied to a subquery inside of an UPDATE or DELETE
+        statement, as the CTE is still applied to the top rather than inside the
+        subquery.
+
 
 .. changelog::
     :version: 1.2.8
diff --git a/doc/build/changelog/unreleased_12/3505.rst b/doc/build/changelog/unreleased_12/3505.rst
deleted file mode 100644 (file)
index b299059..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 3505
-
-    Fixed issue where chaining multiple join elements inside of
-    :meth:`.Query.join` might not correctly adapt to the previous left-hand
-    side, when chaining joined inheritance classes that share the same base
-    class.
diff --git a/doc/build/changelog/unreleased_12/3645.rst b/doc/build/changelog/unreleased_12/3645.rst
deleted file mode 100644 (file)
index e750744..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 3645
-
-    The :class:`.Update` construct now accommodates a :class:`.Join` object
-    as supported by MySQL for UPDATE..FROM.  As the construct already
-    accepted an alias object for a similar purpose, the feature of UPDATE
-    against a non-table was already implied so this has been added.
diff --git a/doc/build/changelog/unreleased_12/4228.rst b/doc/build/changelog/unreleased_12/4228.rst
deleted file mode 100644 (file)
index c3a436d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, mssql
-    :tickets: 4228
-
-    Fixed bug in MSSQL reflection where when two same-named tables in different
-    schemas had same-named primary key constraints, foreign key constraints
-    referring to one of the tables would have their columns doubled, causing
-    errors.   Pull request courtesy Sean Dunn.
diff --git a/doc/build/changelog/unreleased_12/4243.rst b/doc/build/changelog/unreleased_12/4243.rst
deleted file mode 100644 (file)
index bd27d5c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: feature, ext
-    :tickets: 4243
-    :versions: 1.3.0b1
-
-    Added new attribute :attr:`.Query.lazy_loaded_from` which is populated
-    with an :class:`.InstanceState` that is using this :class:`.Query` in
-    order to lazy load a relationship.  The rationale for this is that
-    it serves as a hint for the horizontal sharding feature to use, such that
-    the identity token of the state can be used as the default identity token
-    to use for the query within id_chooser().
diff --git a/doc/build/changelog/unreleased_12/4269.rst b/doc/build/changelog/unreleased_12/4269.rst
deleted file mode 100644 (file)
index 63dacfe..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4269
-
-    Fixed regression caused by :ticket:`4256` (itself a regression fix for
-    :ticket:`4228`) which breaks an undocumented behavior which converted for a
-    non-sequence of entities passed directly to the :class:`.Query` constructor
-    into a single-element sequence.  While this behavior was never supported or
-    documented, it's already in use so has been added as a behavioral contract
-    to :class:`.Query`.
diff --git a/doc/build/changelog/unreleased_12/4270.rst b/doc/build/changelog/unreleased_12/4270.rst
deleted file mode 100644 (file)
index f7b449b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4270
-
-    Fixed an issue that was both a performance regression in 1.2 as well as an
-    incorrect result regarding the "baked" lazy loader, involving the
-    generation of cache keys from the original :class:`.Query` object's loader
-    options.  If the loader options were built up in a "branched" style using
-    common base elements for multiple options, the same options would be
-    rendered into the cache key repeatedly, causing both a performance issue as
-    well as generating the wrong cache key.  This is fixed, along with a
-    performance improvement when such "branched" options are applied via
-    :meth:`.Query.options` to prevent the same option objects from being
-    applied repeatedly.
diff --git a/doc/build/changelog/unreleased_12/4273.rst b/doc/build/changelog/unreleased_12/4273.rst
deleted file mode 100644 (file)
index ec8b95c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, mssql, py3k
-    :tickets: 4273
-
-    Fixed issue within the SQL Server dialect under Python 3 where when running
-    against a non-standard SQL server database that does not contain either the
-    "sys.dm_exec_sessions" or "sys.dm_pdw_nodes_exec_sessions" views, leading
-    to a failure to fetch the isolation level, the error raise would fail due
-    to an UnboundLocalError.
-
-
diff --git a/doc/build/changelog/unreleased_12/4275.rst b/doc/build/changelog/unreleased_12/4275.rst
deleted file mode 100644 (file)
index 8d18be5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: bug, oracle, mysql
-    :tickets: 4275
-    :versions: 1.3.0b1
-
-    Fixed INSERT FROM SELECT with CTEs for the Oracle and MySQL dialects, where
-    the CTE was being placed above the entire statement as is typical with
-    other databases, however Oracle and MariaDB 10.2 wants the CTE underneath
-    the "INSERT" segment. Note that the Oracle and MySQL dialects don't yet
-    work when a CTE is applied to a subquery inside of an UPDATE or DELETE
-    statement, as the CTE is still applied to the top rather than inside the
-    subquery.
-
diff --git a/doc/build/changelog/unreleased_12/4279.rst b/doc/build/changelog/unreleased_12/4279.rst
deleted file mode 100644 (file)
index f7cedbf..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 4279
-
-    Fixed regression in 1.2 due to :ticket:`4147` where a :class:`.Table` that
-    has had some of its indexed columns redefined with new ones, as would occur
-    when overriding columns during reflection or when using
-    :paramref:`.Table.extend_existing`, such that the :meth:`.Table.tometadata`
-    method would fail when attempting to copy those indexes as they still
-    referred to the replaced column.   The copy logic now accommodates for this
-    condition.
-
diff --git a/doc/build/changelog/unreleased_12/4283.rst b/doc/build/changelog/unreleased_12/4283.rst
deleted file mode 100644 (file)
index a110015..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 4283
-
-    Fixed bug in MySQLdb dialect and variants such as PyMySQL where an
-    additional "unicode returns" check upon connection makes explicit use of
-    the "utf8" character set, which in MySQL 8.0 emits a warning that utf8mb4
-    should be used.  This is now replaced with a utf8mb4 equivalent.
-    Documentation is also updated for the MySQL dialect to specify utf8mb4 in
-    all examples.  Additional changes have been made to the test suite to use
-    utf8mb3 charsets and databases (there seem to be collation issues in some
-    edge cases with utf8mb4), and to support configuration default changes made
-    in MySQL 8.0 such as explicit_defaults_for_timestamp as well as new errors
-    raised for invalid MyISAM indexes.
-
-
diff --git a/doc/build/changelog/unreleased_12/4286.rst b/doc/build/changelog/unreleased_12/4286.rst
deleted file mode 100644 (file)
index ff3cc81..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4286
-
-    Fixed bug in new polymorphic selectin loading where the BakedQuery used
-    internally would be mutated by the given loader options, which would both
-    inappropriately mutate the subclass query as well as carry over the effect
-    to subsequent queries.
diff --git a/doc/build/changelog/unreleased_12/4287.rst b/doc/build/changelog/unreleased_12/4287.rst
deleted file mode 100644 (file)
index d53327b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4287
-
-    Fixed bug in cache key generation for baked queries which could cause a
-    too-short cache key to be generated for the case of eager loads across
-    subclasses.  This could in turn cause the eagerload query to be cached in
-    place of a non-eagerload query, or vice versa, for a polymorhic "selectin"
-    load, or possibly for lazy loads or selectin loads as well.
diff --git a/doc/build/changelog/unreleased_12/4290.rst b/doc/build/changelog/unreleased_12/4290.rst
deleted file mode 100644 (file)
index ee93f87..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
-    :tags: feature, oracle
-    :tickets: 4290
-    :versions: 1.3.0b1
-
-    Added a new event currently used only by the cx_Oracle dialect,
-    :meth:`.DialectEvents.setiputsizes`.  The event passes a dictionary of
-    :class:`.BindParameter` objects to DBAPI-specific type objects that will be
-    passed, after conversion to parameter names, to the cx_Oracle
-    ``cursor.setinputsizes()`` method.  This allows both visibility into the
-    setinputsizes process as well as the ability to alter the behavior of what
-    datatypes are passed to this method.
-
-    .. seealso::
-
-        :ref:`cx_oracle_setinputsizes`
diff --git a/doc/build/changelog/unreleased_12/4291.rst b/doc/build/changelog/unreleased_12/4291.rst
deleted file mode 100644 (file)
index 0fd5e7c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: bug, py3k
-    :tickets: 4291
-
-    Replaced the usage of inspect.formatargspec() with a vendored version
-    copied from the Python standard library, as inspect.formatargspec()
-    is deprecated and as of Python 3.7.0 is emitting a warning.
diff --git a/doc/build/changelog/unreleased_12/4293.rst b/doc/build/changelog/unreleased_12/4293.rst
deleted file mode 100644 (file)
index 51fac20..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 4293
-
-    Fixed bug in index reflection where on MySQL 8.0 an index that includes
-    ASC or DESC in an indexed column specfication would not be correctly
-    reflected, as MySQL 8.0 introduces support for returning this information
-    in a table definition string.
diff --git a/doc/build/changelog/unreleased_12/mysqlconnector_percents.rst b/doc/build/changelog/unreleased_12/mysqlconnector_percents.rst
deleted file mode 100644 (file)
index c12dd5f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, mysql
-
-    Fixed percent-sign doubling in mysql-connector-python dialect, which does
-    not require de-doubling of percent signs.   Additionally, the  mysql-
-    connector-python driver is inconsistent in how it passes the column names
-    in cursor.description, so a workaround decoder has been added to
-    conditionally decode these randomly-sometimes-bytes values to unicode only
-    if needed.  Also improved test support for mysql-connector-python, however
-    it should be noted that this driver still has issues with unicode that
-    continue to be unresolved as of yet.
-
diff --git a/doc/build/changelog/unreleased_12/pr452.rst b/doc/build/changelog/unreleased_12/pr452.rst
deleted file mode 100644 (file)
index 471b203..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: bug, sqlite
-    :versions: 1.3.0b1
-
-    Fixed issue in test suite where SQLite 3.24 added a new reserved word that
-    conflicted with a usage in TypeReflectionTest.  Pull request courtesy Nils
-    Philippsen.