]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 1.3.7
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Aug 2019 17:54:27 +0000 (13:54 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 14 Aug 2019 17:54:27 +0000 (13:54 -0400)
14 files changed:
doc/build/changelog/changelog_13.rst
doc/build/changelog/unreleased_13/4623.rst [deleted file]
doc/build/changelog/unreleased_13/4751.rst [deleted file]
doc/build/changelog/unreleased_13/4777.rst [deleted file]
doc/build/changelog/unreleased_13/4778.rst [deleted file]
doc/build/changelog/unreleased_13/4780.rst [deleted file]
doc/build/changelog/unreleased_13/4782.rst [deleted file]
doc/build/changelog/unreleased_13/4783.rst [deleted file]
doc/build/changelog/unreleased_13/4787.rst [deleted file]
doc/build/changelog/unreleased_13/4793.rst [deleted file]
doc/build/changelog/unreleased_13/4794.rst [deleted file]
doc/build/changelog/unreleased_13/4798.rst [deleted file]
doc/build/changelog/unreleased_13/4803.rst [deleted file]
doc/build/changelog/unreleased_13/4804.rst [deleted file]

index f820020bcae22b063f19063f7d086be9838d4d93..fe4b630c9567af555f2431c9111e8c2767cfbd42 100644 (file)
 
 .. changelog::
     :version: 1.3.7
-    :include_notes_from: unreleased_13
+    :released: August 14, 2019
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 4778
+
+        Fixed issue where :class:`.Index` object which contained a mixture of
+        functional expressions which were not resolvable to a particular column,
+        in combination with string-based column names, would fail to initialize
+        its internal state correctly leading to failures during DDL compilation.
+
+    .. change::
+        :tags: bug, sqlite
+        :tickets: 4798
+
+        The dialects that support json are supposed to take arguments
+        ``json_serializer`` and ``json_deserializer`` at the create_engine() level,
+        however the SQLite dialect calls them ``_json_serilizer`` and
+        ``_json_deserilalizer``.  The names have been corrected, the old names are
+        accepted with a change warning, and these parameters are now documented as
+        :paramref:`.create_engine.json_serializer` and
+        :paramref:`.create_engine.json_deserializer`.
+
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 4804
+
+        The MySQL dialects will emit "SET NAMES" at the start of a connection when
+        charset is given to the MySQL driver, to appease an apparent behavior
+        observed in MySQL 8.0 that raises a collation error when a UNION includes
+        string columns unioned against columns of the form CAST(NULL AS CHAR(..)),
+        which is what SQLAlchemy's polymorphic_union function does.   The issue
+        seems to have affected PyMySQL for at least a year, however has recently
+        appeared as of mysqlclient 1.4.4 based on changes in how this DBAPI creates
+        a connection.  As the presence of this directive impacts three separate
+        MySQL charset settings which each have intricate effects based on their
+        presense,  SQLAlchemy will now emit the directive on new connections to
+        ensure correct behavior.
+
+    .. change::
+        :tags: usecase, postgresql
+        :tickets: 4623
+
+        Added new dialect flag for the psycopg2 dialect, ``executemany_mode`` which
+        supersedes the previous experimental ``use_batch_mode`` flag.
+        ``executemany_mode`` supports both the "execute batch" and "execute values"
+        functions provided by psycopg2, the latter which is used for compiled
+        :func:`.insert` constructs.   Pull request courtesy Yuval Dinari.
+
+        .. seealso::
+
+            :ref:`psycopg2_executemany_mode`
+
+
+
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 4787
+
+        Fixed bug where :meth:`.TypeEngine.column_expression` method would not be
+        applied to subsequent SELECT statements inside of a UNION or other
+        :class:`.CompoundSelect`, even though the SELECT statements are rendered at
+        the topmost level of the statement.   New logic now differentiates between
+        rendering the column expression, which is needed for all SELECTs in the
+        list, vs. gathering the returned data type for the result row, which is
+        needed only for the first SELECT.
+
+    .. change:
+        :tags: bug, sqlite
+        :tickets: 4793
+
+        Fixed bug where usage of "PRAGMA table_info" in SQLite dialect meant that
+        reflection features to detect for table existence, list of table columns,
+        and list of foreign keys, would default to any table in any attached
+        database, when no schema name was given and the table did not exist in the
+        base schema.  The fix explicitly runs PRAGMA for the 'main' schema and then
+        the 'temp' schema if the 'main' returned no rows, to maintain the behavior
+        of tables + temp tables in the "no schema" namespace, attached tables only
+        in the "schema" namespace.
+
+
+    .. change::
+        :tags: bug, sql
+        :tickets: 4780
+
+        Fixed issue where internal cloning of SELECT constructs could lead to a key
+        error if the copy of the SELECT changed its state such that its list of
+        columns changed.  This was observed to be occurring in some ORM scenarios
+        which may be unique to 1.3 and above, so is partially a regression fix.
+
+
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4777
+
+        Fixed regression caused by new selectinload for many-to-one logic where
+        a primaryjoin condition not based on real foreign keys would cause
+        KeyError if a related object did not exist for a given key value on the
+        parent object.
+
+    .. change::
+        :tags: usecase, mysql
+        :tickets: 4783
+
+        Added reserved words ARRAY and MEMBER to the MySQL reserved words list, as
+        MySQL 8.0 has now made these reserved.
+
+
+    .. change::
+        :tags: bug, events
+        :tickets: 4794
+
+        Fixed issue in event system where using the ``once=True`` flag with
+        dynamically generated listener functions would cause event registration of
+        future events to fail if those listener functions were garbage collected
+        after they were used, due to an assumption that a listened function is
+        strongly referenced.  The "once" wrapped is now modified to strongly
+        reference the inner function persistently, and documentation is updated
+        that using "once" does not imply automatic de-registration of listener
+        functions.
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 4751
+
+        Added another fix for an upstream MySQL 8 issue where a case sensitive
+        table name is reported incorrectly in foreign key constraint reflection,
+        this is an extension of the fix first added for :ticket:`4344` which
+        affects a case sensitive column name.  The new issue occurs through MySQL
+        8.0.17, so the general logic of the 88718 fix remains in place.
+
+        .. seealso::
+
+            https://bugs.mysql.com/bug.php?id=96365 - upstream bug
+
+
+    .. change::
+        :tags: usecase, mssql
+        :tickets: 4782
+
+        Added new :func:`.mssql.try_cast` construct for SQL Server which emits
+        "TRY_CAST" syntax.  Pull request courtesy Leonel Atencio.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 4803
+
+        Fixed bug where using :meth:`.Query.first` or a slice expression in
+        conjunction with a query that has an expression based "offset" applied
+        would raise TypeError, due to an "or" conditional against "offset" that did
+        not expect it to be a SQL expression as opposed to an integer or None.
+
 
 .. changelog::
     :version: 1.3.6
diff --git a/doc/build/changelog/unreleased_13/4623.rst b/doc/build/changelog/unreleased_13/4623.rst
deleted file mode 100644 (file)
index 34ea80e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-.. change::
-    :tags: usecase, postgresql
-    :tickets: 4623
-
-    Added new dialect flag for the psycopg2 dialect, ``executemany_mode`` which
-    supersedes the previous experimental ``use_batch_mode`` flag.
-    ``executemany_mode`` supports both the "execute batch" and "execute values"
-    functions provided by psycopg2, the latter which is used for compiled
-    :func:`.insert` constructs.   Pull request courtesy Yuval Dinari.
-
-    .. seealso::
-
-        :ref:`psycopg2_executemany_mode`
-
-
-
diff --git a/doc/build/changelog/unreleased_13/4751.rst b/doc/build/changelog/unreleased_13/4751.rst
deleted file mode 100644 (file)
index 086defe..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 4751
-
-    Added another fix for an upstream MySQL 8 issue where a case sensitive
-    table name is reported incorrectly in foreign key constraint reflection,
-    this is an extension of the fix first added for :ticket:`4344` which
-    affects a case sensitive column name.  The new issue occurs through MySQL
-    8.0.17, so the general logic of the 88718 fix remains in place.
-
-    .. seealso::
-
-        https://bugs.mysql.com/bug.php?id=96365 - upstream bug
-
diff --git a/doc/build/changelog/unreleased_13/4777.rst b/doc/build/changelog/unreleased_13/4777.rst
deleted file mode 100644 (file)
index ba7b397..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4777
-
-    Fixed regression caused by new selectinload for many-to-one logic where
-    a primaryjoin condition not based on real foreign keys would cause
-    KeyError if a related object did not exist for a given key value on the
-    parent object.
\ No newline at end of file
diff --git a/doc/build/changelog/unreleased_13/4778.rst b/doc/build/changelog/unreleased_13/4778.rst
deleted file mode 100644 (file)
index ce8a0ab..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 4778
-
-    Fixed issue where :class:`.Index` object which contained a mixture of
-    functional expressions which were not resolvable to a particular column,
-    in combination with string-based column names, would fail to initialize
-    its internal state correctly leading to failures during DDL compilation.
diff --git a/doc/build/changelog/unreleased_13/4780.rst b/doc/build/changelog/unreleased_13/4780.rst
deleted file mode 100644 (file)
index 55886f3..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 4780
-
-    Fixed issue where internal cloning of SELECT constructs could lead to a key
-    error if the copy of the SELECT changed its state such that its list of
-    columns changed.  This was observed to be occurring in some ORM scenarios
-    which may be unique to 1.3 and above, so is partially a regression fix.
-
-
diff --git a/doc/build/changelog/unreleased_13/4782.rst b/doc/build/changelog/unreleased_13/4782.rst
deleted file mode 100644 (file)
index bde8704..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-.. change::
-    :tags: usecase, mssql
-    :tickets: 4782
-
-    Added new :func:`.mssql.try_cast` construct for SQL Server which emits
-    "TRY_CAST" syntax.  Pull request courtesy Leonel Atencio.
diff --git a/doc/build/changelog/unreleased_13/4783.rst b/doc/build/changelog/unreleased_13/4783.rst
deleted file mode 100644 (file)
index 983fa88..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. change::
-    :tags: usecase, mysql
-    :tickets: 4783
-
-    Added reserved words ARRAY and MEMBER to the MySQL reserved words list, as
-    MySQL 8.0 has now made these reserved.
-
diff --git a/doc/build/changelog/unreleased_13/4787.rst b/doc/build/changelog/unreleased_13/4787.rst
deleted file mode 100644 (file)
index 911a287..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-.. change::
-    :tags: bug, sql
-    :tickets: 4787
-
-    Fixed bug where :meth:`.TypeEngine.column_expression` method would not be
-    applied to subsequent SELECT statements inside of a UNION or other
-    :class:`.CompoundSelect`, even though the SELECT statements are rendered at
-    the topmost level of the statement.   New logic now differentiates between
-    rendering the column expression, which is needed for all SELECTs in the
-    list, vs. gathering the returned data type for the result row, which is
-    needed only for the first SELECT.
diff --git a/doc/build/changelog/unreleased_13/4793.rst b/doc/build/changelog/unreleased_13/4793.rst
deleted file mode 100644 (file)
index 2227ba1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change:
-    :tags: bug, sqlite
-    :tickets: 4793
-
-    Fixed bug where usage of "PRAGMA table_info" in SQLite dialect meant that
-    reflection features to detect for table existence, list of table columns,
-    and list of foreign keys, would default to any table in any attached
-    database, when no schema name was given and the table did not exist in the
-    base schema.  The fix explicitly runs PRAGMA for the 'main' schema and then
-    the 'temp' schema if the 'main' returned no rows, to maintain the behavior
-    of tables + temp tables in the "no schema" namespace, attached tables only
-    in the "schema" namespace.
-
diff --git a/doc/build/changelog/unreleased_13/4794.rst b/doc/build/changelog/unreleased_13/4794.rst
deleted file mode 100644 (file)
index 7ba9e92..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, events
-    :tickets: 4794
-
-    Fixed issue in event system where using the ``once=True`` flag with
-    dynamically generated listener functions would cause event registration of
-    future events to fail if those listener functions were garbage collected
-    after they were used, due to an assumption that a listened function is
-    strongly referenced.  The "once" wrapped is now modified to strongly
-    reference the inner function persistently, and documentation is updated
-    that using "once" does not imply automatic de-registration of listener
-    functions.
diff --git a/doc/build/changelog/unreleased_13/4798.rst b/doc/build/changelog/unreleased_13/4798.rst
deleted file mode 100644 (file)
index 6d63811..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-.. change::
-    :tags: bug, sqlite
-    :tickets: 4798
-
-    The dialects that support json are supposed to take arguments
-    ``json_serializer`` and ``json_deserializer`` at the create_engine() level,
-    however the SQLite dialect calls them ``_json_serilizer`` and
-    ``_json_deserilalizer``.  The names have been corrected, the old names are
-    accepted with a change warning, and these parameters are now documented as
-    :paramref:`.create_engine.json_serializer` and
-    :paramref:`.create_engine.json_deserializer`.
-
diff --git a/doc/build/changelog/unreleased_13/4803.rst b/doc/build/changelog/unreleased_13/4803.rst
deleted file mode 100644 (file)
index 317816e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 4803
-
-    Fixed bug where using :meth:`.Query.first` or a slice expression in
-    conjunction with a query that has an expression based "offset" applied
-    would raise TypeError, due to an "or" conditional against "offset" that did
-    not expect it to be a SQL expression as opposed to an integer or None.
-
diff --git a/doc/build/changelog/unreleased_13/4804.rst b/doc/build/changelog/unreleased_13/4804.rst
deleted file mode 100644 (file)
index 58f521e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 4804
-
-    The MySQL dialects will emit "SET NAMES" at the start of a connection when
-    charset is given to the MySQL driver, to appease an apparent behavior
-    observed in MySQL 8.0 that raises a collation error when a UNION includes
-    string columns unioned against columns of the form CAST(NULL AS CHAR(..)),
-    which is what SQLAlchemy's polymorphic_union function does.   The issue
-    seems to have affected PyMySQL for at least a year, however has recently
-    appeared as of mysqlclient 1.4.4 based on changes in how this DBAPI creates
-    a connection.  As the presence of this directive impacts three separate
-    MySQL charset settings which each have intricate effects based on their
-    presense,  SQLAlchemy will now emit the directive on new connections to
-    ensure correct behavior.