]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 1.2.8
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 May 2018 19:23:41 +0000 (15:23 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 May 2018 19:23:41 +0000 (15:23 -0400)
14 files changed:
doc/build/changelog/changelog_12.rst
doc/build/changelog/unreleased_12/4128.rst [deleted file]
doc/build/changelog/unreleased_12/4247.rst [deleted file]
doc/build/changelog/unreleased_12/4249.rst [deleted file]
doc/build/changelog/unreleased_12/4250.rst [deleted file]
doc/build/changelog/unreleased_12/4252.rst [deleted file]
doc/build/changelog/unreleased_12/4256.rst [deleted file]
doc/build/changelog/unreleased_12/4258.rst [deleted file]
doc/build/changelog/unreleased_12/4259.rst [deleted file]
doc/build/changelog/unreleased_12/4264.rst [deleted file]
doc/build/changelog/unreleased_12/4266.rst [deleted file]
doc/build/changelog/unreleased_12/post_criteria_subqueryload.rst [deleted file]
doc/build/changelog/unreleased_12/pr442.rst [deleted file]
doc/build/changelog/unreleased_12/pr_441.rst [deleted file]

index 1919a7bedbbfd5aa3afb77709a2285ac0451c3f1..706173b0606c196b696daac2f048a6e8a3da1705 100644 (file)
 
 .. changelog::
     :version: 1.2.8
-    :include_notes_from: unreleased_12
+    :released: May 28, 2018
+
+    .. change::
+       :tags: bug, orm
+       :tickets: 4256
+
+       Fixed regression in 1.2.7 caused by :ticket:`4228`, which itself was fixing
+       a 1.2-level regression, where the ``query_cls`` callable passed to a
+       :class:`.Session` was assumed to be a subclass of :class:`.Query`  with
+       class method availability, as opposed to an arbitrary callable.    In
+       particular, the dogpile caching example illustrates ``query_cls`` as a
+       function and not a :class:`.Query` subclass.
+
+    .. change::
+        :tags: bug, engine
+        :tickets: 4252
+        :versions: 1.3.0b1
+
+        Fixed connection pool issue whereby if a disconnection error were raised
+        during the connection pool's "reset on return" sequence in conjunction with
+        an explicit transaction opened against the enclosing :class:`.Connection`
+        object (such as from calling :meth:`.Session.close` without a rollback or
+        commit, or calling :meth:`.Connection.close` without first closing a
+        transaction declared with :meth:`.Connection.begin`), a double-checkin would
+        result, which could then lead towards concurrent checkouts of the same
+        connection. The double-checkin condition is now prevented overall by an
+        assertion, as well as the specific double-checkin scenario has been
+        fixed.
+
+    .. change::
+        :tags: bug, oracle
+        :tickets: 4264
+        :versions: 1.3.0b1
+
+        The Oracle BINARY_FLOAT and BINARY_DOUBLE datatypes now participate within
+        cx_Oracle.setinputsizes(), passing along NATIVE_FLOAT, so as to support the
+        NaN value.  Additionally, :class:`.oracle.BINARY_FLOAT`,
+        :class:`.oracle.BINARY_DOUBLE` and :class:`.oracle.DOUBLE_PRECISION` now
+        subclass :class:`.Float`, since these are floating point datatypes, not
+        decimal.  These datatypes were already defaulting the
+        :paramref:`.Float.asdecimal` flag to False in line with what
+        :class:`.Float` already does.
+
+    .. change::
+        :tags: bug, oracle
+        :versions: 1.3.0b1
+
+        Added reflection capabilities for the :class:`.oracle.BINARY_FLOAT`,
+        :class:`.oracle.BINARY_DOUBLE` datatypes.
+
+
+    .. change::
+       :tags: bug, ext
+       :tickets: 4247
+
+       The horizontal sharding extension now makes use of the identity token
+       added to ORM identity keys as part of :ticket:`4137`, when an object
+       refresh or column-based deferred load or unexpiration operation occurs.
+       Since we know the "shard" that the object originated from, we make
+       use of this value when refreshing, thereby avoiding queries against
+       other shards that don't match this object's identity in any case.
+
+    .. change::
+        :tags: bug, sql
+        :versions: 1.3.0b1
+
+        Fixed issue where the "ambiguous literal" error message used when
+        interpreting literal values as SQL expression values would encounter a
+        tuple value, and fail to format the message properly. Pull request courtesy
+        Miguel Ventura.
+
+    .. change::
+        :tags: bug, mssql
+        :tickets: 4250
+
+        Fixed a 1.2 regression caused by :ticket:`4061` where the SQL Server
+        "BIT" type would be considered to be "native boolean".  The goal here
+        was to avoid creating a CHECK constraint on the column, however the bigger
+        issue is that the BIT value does not behave like a true/false constant
+        and cannot be interpreted as a standalone expression, e.g.
+        "WHERE <column>".   The SQL Server dialect now goes back to being
+        non-native boolean, but with an extra flag that still avoids creating
+        the CHECK constraint.
+
+    .. change::
+        :tags: bug, oracle
+        :tickets: 4259
+        :versions: 1.3.0b1
+
+        Altered the Oracle dialect such that when an :class:`.Integer` type is in
+        use, the cx_Oracle.NUMERIC type is set up for setinputsizes().  In
+        SQLAlchemy 1.1 and earlier, cx_Oracle.NUMERIC was passed for all numeric
+        types unconditionally, and in 1.2 this was removed to allow for better
+        numeric precision.  However, for integers, some database/client setups
+        will fail to coerce boolean values True/False into integers which introduces
+        regressive behavior when using SQLAlchemy 1.2.  Overall, the setinputsizes
+        logic seems like it will need a lot more flexibility going forward so this
+        is a start for that.
+
+    .. change::
+        :tags: bug, engine
+        :versions: 1.3.0b1
+
+        Fixed a reference leak issue where the values of the parameter dictionary
+        used in a statement execution would remain referenced by the "compiled
+        cache", as a result of storing the key view used by Python 3 dictionary
+        keys().  Pull request courtesy Olivier Grisel.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4128
+
+        Fixed a long-standing regression that occurred in version
+        1.0, which prevented the use of a custom :class:`.MapperOption`
+        that alters the _params of a :class:`.Query` object for a
+        lazy load, since the lazy loader itself would overwrite those
+        parameters.   This applies to the "temporal range" example
+        on the wiki.  Note however that the
+        :meth:`.Query.populate_existing` method is now required in
+        order to rewrite the mapper options associated with an object
+        already loaded in the identity map.
+
+        As part of this change, a custom defined
+        :class:`.MapperOption` will now cause lazy loaders related to
+        the target object to use a non-baked query by default unless
+        the :meth:`.MapperOption._generate_cache_key` method is implemented.
+        In particular, this repairs one regression which occured when
+        using the dogpile.cache "advanced" example, which was not
+        returning cached results and instead emitting SQL due to an
+        incompatibility with the baked query loader; with the change,
+        the ``RelationshipCache`` option included for many releases
+        in the dogpile example will disable the "baked" query altogether.
+        Note that the dogpile example is also modernized to avoid both
+        of these issues as part of issue :ticket:`4258`.
+
+    .. change::
+       :tags: bug, ext
+       :tickets: 4266
+       :versions: 1.3.0b1
+
+       Fixed a race condition which could occur if automap
+       :meth:`.AutomapBase.prepare` were used within a multi-threaded context
+       against other threads which  may call :func:`.configure_mappers` as a
+       result of use of other mappers.  The unfinished mapping work of automap
+       is particularly sensitive to being pulled in by a
+       :func:`.configure_mappers` step leading to errors.
+
+    .. change::
+        :tags: bug, orm
+
+        Fixed bug where the new :meth:`.baked.Result.with_post_criteria`
+        method would not interact with a subquery-eager loader correctly,
+        in that the "post criteria" would not be applied to embedded
+        subquery eager loaders.   This is related to :ticket:`4128` in that
+        the post criteria feature is now used by the lazy loader.
+
+    .. change::
+       :tags: bug, tests
+       :tickets: 4249
+       :versions: 1.3.0b1
+
+       Fixed a bug in the test suite where if an external dialect returned
+       ``None`` for ``server_version_info``, the exclusion logic would raise an
+       ``AttributeError``.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4258
+
+        Updated the dogpile.caching example to include new structures that
+        accommodate for the "baked" query system, which is used by default within
+        lazy loaders and some eager relationship loaders. The dogpile.caching
+        "relationship_caching" and "advanced" examples were also broken due to
+        :ticket:`4256`.  The issue here is also worked-around by the fix in
+        :ticket:`4128`.
 
 .. changelog::
     :version: 1.2.7
diff --git a/doc/build/changelog/unreleased_12/4128.rst b/doc/build/changelog/unreleased_12/4128.rst
deleted file mode 100644 (file)
index f9cfe13..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4128
-
-    Fixed a long-standing regression that occurred in version
-    1.0, which prevented the use of a custom :class:`.MapperOption`
-    that alters the _params of a :class:`.Query` object for a
-    lazy load, since the lazy loader itself would overwrite those
-    parameters.   This applies to the "temporal range" example
-    on the wiki.  Note however that the
-    :meth:`.Query.populate_existing` method is now required in
-    order to rewrite the mapper options associated with an object
-    already loaded in the identity map.
-
-    As part of this change, a custom defined
-    :class:`.MapperOption` will now cause lazy loaders related to
-    the target object to use a non-baked query by default unless
-    the :meth:`.MapperOption._generate_cache_key` method is implemented.
-    In particular, this repairs one regression which occured when
-    using the dogpile.cache "advanced" example, which was not
-    returning cached results and instead emitting SQL due to an
-    incompatibility with the baked query loader; with the change,
-    the ``RelationshipCache`` option included for many releases
-    in the dogpile example will disable the "baked" query altogether.
-    Note that the dogpile example is also modernized to avoid both
-    of these issues as part of issue :ticket:`4258`.
diff --git a/doc/build/changelog/unreleased_12/4247.rst b/doc/build/changelog/unreleased_12/4247.rst
deleted file mode 100644 (file)
index f1858b9..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-       :tags: bug, ext
-       :tickets: 4247
-
-       The horizontal sharding extension now makes use of the identity token
-       added to ORM identity keys as part of :ticket:`4137`, when an object
-       refresh or column-based deferred load or unexpiration operation occurs.
-       Since we know the "shard" that the object originated from, we make
-       use of this value when refreshing, thereby avoiding queries against
-       other shards that don't match this object's identity in any case.
\ No newline at end of file
diff --git a/doc/build/changelog/unreleased_12/4249.rst b/doc/build/changelog/unreleased_12/4249.rst
deleted file mode 100644 (file)
index 11f346e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-       :tags: bug, tests
-       :tickets: 4249
-       :versions: 1.3.0b1
-
-       Fixed a bug in the test suite where if an external dialect returned
-       ``None`` for ``server_version_info``, the exclusion logic would raise an
-       ``AttributeError``.
diff --git a/doc/build/changelog/unreleased_12/4250.rst b/doc/build/changelog/unreleased_12/4250.rst
deleted file mode 100644 (file)
index d28bc1d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, mssql
-    :tickets: 4250
-
-    Fixed a 1.2 regression caused by :ticket:`4061` where the SQL Server
-    "BIT" type would be considered to be "native boolean".  The goal here
-    was to avoid creating a CHECK constraint on the column, however the bigger
-    issue is that the BIT value does not behave like a true/false constant
-    and cannot be interpreted as a standalone expression, e.g.
-    "WHERE <column>".   The SQL Server dialect now goes back to being
-    non-native boolean, but with an extra flag that still avoids creating
-    the CHECK constraint.
diff --git a/doc/build/changelog/unreleased_12/4252.rst b/doc/build/changelog/unreleased_12/4252.rst
deleted file mode 100644 (file)
index 7ca8c7d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :tickets: 4252
-    :versions: 1.3.0b1
-
-    Fixed connection pool issue whereby if a disconnection error were raised
-    during the connection pool's "reset on return" sequence in conjunction with
-    an explicit transaction opened against the enclosing :class:`.Connection`
-    object (such as from calling :meth:`.Session.close` without a rollback or
-    commit, or calling :meth:`.Connection.close` without first closing a
-    transaction declared with :meth:`.Connection.begin`), a double-checkin would
-    result, which could then lead towards concurrent checkouts of the same
-    connection. The double-checkin condition is now prevented overall by an
-    assertion, as well as the specific double-checkin scenario has been
-    fixed.
\ No newline at end of file
diff --git a/doc/build/changelog/unreleased_12/4256.rst b/doc/build/changelog/unreleased_12/4256.rst
deleted file mode 100644 (file)
index 9937b95..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-       :tags: bug, orm
-       :tickets: 4256
-
-       Fixed regression in 1.2.7 caused by :ticket:`4228`, which itself was fixing
-       a 1.2-level regression, where the ``query_cls`` callable passed to a
-       :class:`.Session` was assumed to be a subclass of :class:`.Query`  with
-       class method availability, as opposed to an arbitrary callable.    In
-       particular, the dogpile caching example illustrates ``query_cls`` as a
-       function and not a :class:`.Query` subclass.
diff --git a/doc/build/changelog/unreleased_12/4258.rst b/doc/build/changelog/unreleased_12/4258.rst
deleted file mode 100644 (file)
index 62a0953..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4258
-
-    Updated the dogpile.caching example to include new structures that
-    accommodate for the "baked" query system, which is used by default within
-    lazy loaders and some eager relationship loaders. The dogpile.caching
-    "relationship_caching" and "advanced" examples were also broken due to
-    :ticket:`4256`.  The issue here is also worked-around by the fix in
-    :ticket:`4128`.
diff --git a/doc/build/changelog/unreleased_12/4259.rst b/doc/build/changelog/unreleased_12/4259.rst
deleted file mode 100644 (file)
index ee3abd3..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
-    :tags: bug, oracle
-    :tickets: 4259
-    :versions: 1.3.0b1
-
-    Altered the Oracle dialect such that when an :class:`.Integer` type is in
-    use, the cx_Oracle.NUMERIC type is set up for setinputsizes().  In
-    SQLAlchemy 1.1 and earlier, cx_Oracle.NUMERIC was passed for all numeric
-    types unconditionally, and in 1.2 this was removed to allow for better
-    numeric precision.  However, for integers, some database/client setups
-    will fail to coerce boolean values True/False into integers which introduces
-    regressive behavior when using SQLAlchemy 1.2.  Overall, the setinputsizes
-    logic seems like it will need a lot more flexibility going forward so this
-    is a start for that.
diff --git a/doc/build/changelog/unreleased_12/4264.rst b/doc/build/changelog/unreleased_12/4264.rst
deleted file mode 100644 (file)
index 77878f8..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-.. change::
-    :tags: bug, oracle
-    :tickets: 4264
-    :versions: 1.3.0b1
-
-    The Oracle BINARY_FLOAT and BINARY_DOUBLE datatypes now participate within
-    cx_Oracle.setinputsizes(), passing along NATIVE_FLOAT, so as to support the
-    NaN value.  Additionally, :class:`.oracle.BINARY_FLOAT`,
-    :class:`.oracle.BINARY_DOUBLE` and :class:`.oracle.DOUBLE_PRECISION` now
-    subclass :class:`.Float`, since these are floating point datatypes, not
-    decimal.  These datatypes were already defaulting the
-    :paramref:`.Float.asdecimal` flag to False in line with what
-    :class:`.Float` already does.
-
-.. change::
-    :tags: bug, oracle
-    :versions: 1.3.0b1
-
-    Added reflection capabilities for the :class:`.oracle.BINARY_FLOAT`,
-    :class:`.oracle.BINARY_DOUBLE` datatypes.
-
diff --git a/doc/build/changelog/unreleased_12/4266.rst b/doc/build/changelog/unreleased_12/4266.rst
deleted file mode 100644 (file)
index 923c7c8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-       :tags: bug, ext
-       :tickets: 4266
-       :versions: 1.3.0b1
-
-       Fixed a race condition which could occur if automap
-       :meth:`.AutomapBase.prepare` were used within a multi-threaded context
-       against other threads which  may call :func:`.configure_mappers` as a
-       result of use of other mappers.  The unfinished mapping work of automap
-       is particularly sensitive to being pulled in by a
-       :func:`.configure_mappers` step leading to errors.
diff --git a/doc/build/changelog/unreleased_12/post_criteria_subqueryload.rst b/doc/build/changelog/unreleased_12/post_criteria_subqueryload.rst
deleted file mode 100644 (file)
index 2b8942f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, orm
-
-    Fixed bug where the new :meth:`.baked.Result.with_post_criteria`
-    method would not interact with a subquery-eager loader correctly,
-    in that the "post criteria" would not be applied to embedded
-    subquery eager loaders.   This is related to :ticket:`4128` in that
-    the post criteria feature is now used by the lazy loader.
diff --git a/doc/build/changelog/unreleased_12/pr442.rst b/doc/build/changelog/unreleased_12/pr442.rst
deleted file mode 100644 (file)
index 6cc5c2c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :versions: 1.3.0b1
-
-    Fixed issue where the "ambiguous literal" error message used when
-    interpreting literal values as SQL expression values would encounter a
-    tuple value, and fail to format the message properly. Pull request courtesy
-    Miguel Ventura.
diff --git a/doc/build/changelog/unreleased_12/pr_441.rst b/doc/build/changelog/unreleased_12/pr_441.rst
deleted file mode 100644 (file)
index 28ddb7d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :versions: 1.3.0b1
-
-    Fixed a reference leak issue where the values of the parameter dictionary
-    used in a statement execution would remain referenced by the "compiled
-    cache", as a result of storing the key view used by Python 3 dictionary
-    keys().  Pull request courtesy Olivier Grisel.