]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
changelog, doc edits
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 22 Sep 2021 15:16:04 +0000 (11:16 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 22 Sep 2021 15:16:04 +0000 (11:16 -0400)
Change-Id: Iafb50de7e28626d9cee755db9c05ac7189b4d963

12 files changed:
doc/build/changelog/unreleased_14/4123.rst [moved from doc/build/changelog/unreleased_14/4132.rst with 88% similarity]
doc/build/changelog/unreleased_14/6746.rst
doc/build/changelog/unreleased_14/6832.rst
doc/build/changelog/unreleased_14/6913.rst
doc/build/changelog/unreleased_14/6955.rst
doc/build/changelog/unreleased_14/6958.rst
doc/build/changelog/unreleased_14/6963.rst
doc/build/changelog/unreleased_14/6983.rst
doc/build/changelog/unreleased_14/7024.rst
doc/build/changelog/unreleased_14/7036.rst
doc/build/changelog/unreleased_14/7052.rst
lib/sqlalchemy/engine/create.py

similarity index 88%
rename from doc/build/changelog/unreleased_14/4132.rst
rename to doc/build/changelog/unreleased_14/4123.rst
index bb0ed352911bc0eb983f87ebfd0cbc01b90e8b85..cc2ad97689c9f8af56b34904f632e92abd3bacb6 100644 (file)
@@ -2,7 +2,7 @@
     :tags: usecase, sql
     :tickets: 4123
 
-    Added new parameter :meth:`_sql.HasCte.cte.nesting` to the
+    Added new parameter :paramref:`_sql.HasCTE.cte.nesting` to the
     :class:`_sql.CTE` constructor and :meth:`_sql.HasCTE.cte` method, which
     flags the CTE as one which should remain nested within an enclosing CTE,
     rather than being moved to the top level of the outermost SELECT. While in
index cff1a4ae94fd4001cd8067b4f1be41f01c90e583..f0fd1614ec2ad0e936feedcee03c48624b04be7f 100644 (file)
@@ -1,7 +1,7 @@
 .. change::
-    :tags: orm
+    :tags: asyncio, bug
     :tickets: 6746
 
-    Deprecate usage of :class:`_orm.scoped_session` with asyncio drivers.
-    When using Asyncio the :class:`_asyncio.async_scoped_session` should
-    be used instead.
+    Deprecate usage of :class:`_orm.scoped_session` with asyncio drivers. When
+    using Asyncio the :class:`_asyncio.async_scoped_session` should be used
+    instead.
index fcc5b6f6ef043e85a150242bf0588a3d9d071762..22c50e22180e5b02ade6b1812da9fcbce4352ba9 100644 (file)
@@ -1,5 +1,5 @@
 .. change::
-    :tags: engine, asyncio
+    :tags: engine, asyncio, usecase
     :tickets: 6832
 
     Improve the interface used by adapted drivers, like the asyncio ones,
index 43ce34c218a2fc803e3736960842f6b27e9e891b..0acad24ce48a20b9ad146a728e9eee4a515acc1f 100644 (file)
@@ -3,7 +3,7 @@
     :tickets: 6913
 
     Fixed issue where the ability of the
-    :meth:`_engine.ConnectionEvents.before_execute` method to alter the SQL
+    :meth:`_events.ConnectionEvents.before_execute` method to alter the SQL
     statement object passed, returning the new object to be invoked, was
     inadvertently removed. This behavior has been restored.
 
index 5896f3b4a4e5b03f6c1a4203e6b96834d19a3c40..c9ddbf12e520190626be96250b775c7ed492139d 100644 (file)
@@ -3,7 +3,8 @@
     :tickets: 6955
 
     Added loader options to :meth:`_orm.Session.merge` and
-    :meth:`_asyncio.AsyncSession.merge`, which will apply the given loader
-    options to the ``get()`` used internally by merge, allowing eager loading
-    of relationships etc. to be applied when the merge process loads a new
-    object. Pull request courtesy Daniel Stone.
+    :meth:`_asyncio.AsyncSession.merge` via a new
+    :paramref:`_orm.Session.merge.options` parameter, which will apply the
+    given loader options to the ``get()`` used internally by merge, allowing
+    eager loading of relationships etc. to be applied when the merge process
+    loads a new object. Pull request courtesy Daniel Stone.
index 61fd1413100634f6c5a3142fb90fb3cec7d65afb..1b9c8d036792912cdb0ec89064c365bef83801f6 100644 (file)
@@ -2,8 +2,9 @@
     :tags: bug, engine
     :tickets: 6958
 
-    Ensure that ``str()`` is called on the an ``URL.password`` argument,
-    allowing usage of objects that implement the ``__str__()`` method
-    as password attributes.
-    Also clarified that one such object is not appropriate to dynamically
-    change the password.
+    Ensure that ``str()`` is called on the an
+    :paramref:`_url.URL.create.password` argument, allowing usage of objects
+    that implement the ``__str__()`` method as password attributes. Also
+    clarified that one such object is not appropriate to dynamically change the
+    password for each database connection; the approaches at
+    :ref:`engines_dynamic_tokens` should be used instead.
index 8b0473b16994fce9d75eabf78f732423d41ddc4a..130f741cb407208523fe16a2b0ebad2102169b89 100644 (file)
@@ -2,11 +2,12 @@
     :tags: bug, engine, postgresql
     :tickets: 6963
 
-    Fixed issue where an engine that had ``implicit_returning`` set to False
-    would fail to function when PostgreSQL's "fast insertmany" feature were
-    used in conjunction with a ``Sequence``, as well as if any kind of
-    "executemany" with "return_defaults()" were used in conjunction with a
-    ``Sequence``. Note that PostgreSQL "fast insertmany" uses "RETURNING" by
-    definition, when the SQL statement is passed to the driver; overall, the
-    ``implicit_returning`` flag is legacy and has no real use in modern
-    SQLAlchemy, and will be deprecated in a separate change.
\ No newline at end of file
+    Fixed issue where an engine that had
+    :paramref:`_sa.create_engine.implicit_returning` set to False would fail to
+    function when PostgreSQL's "fast insertmany" feature were used in
+    conjunction with a ``Sequence``, as well as if any kind of "executemany"
+    with "return_defaults()" were used in conjunction with a ``Sequence``. Note
+    that PostgreSQL "fast insertmany" uses "RETURNING" by definition, when the
+    SQL statement is passed to the driver; overall, the
+    :paramref:`_sa.create_engine.implicit_returning` flag is legacy and has no
+    real use in modern SQLAlchemy, and will be deprecated in a separate change.
\ No newline at end of file
index 2aa31e8eba70088767e8aa0f7b5b524e9dcc34bf..ae69bdbaa6c8988b97c2d3c6fa34154ba92ca2fe 100644 (file)
@@ -2,5 +2,6 @@
     :tags: bug, engine
     :tickets: 6983
 
-    Fixed issue in ``URL`` where validation of "drivername" would not
-    appropriately respond to the ``None`` value where a string were expected.
+    Fixed issue in :class:`_engine.URL` where validation of "drivername" would
+    not appropriately respond to the ``None`` value where a string were
+    expected.
index f0c44a04219740951c6a4851a4d8a1fc2284c4ec..9f9e1b4fbe33569641b1a5a4f60156521b94f5e2 100644 (file)
@@ -1,5 +1,5 @@
 .. change::
-    :tags: bug, installation
+    :tags: bug, platform
     :tickets: 7024
 
     Further adjusted the "greenlet" package specifier in setup.cfg to use a
index f908206d023f177a6afd6a67073ada2a104fed82..69b6f8db863bfea1cd0d37ebb41198fef32b1fbe 100644 (file)
@@ -2,6 +2,6 @@
     :tags: bug, sql
     :tickets: 7036
 
-    Fixed issue related to new ``add_cte()`` feature where pairing two
-    "INSERT..FROM SELECT" statements simultaneously would lose track of the two
-    independent SELECT statements, leading to the wrong SQL.
+    Fixed issue related to new :meth:`_sql.HasCTE.add_cte` feature where
+    pairing two "INSERT..FROM SELECT" statements simultaneously would lose
+    track of the two independent SELECT statements, leading to the wrong SQL.
index 3c927c333b0cbd11a9fe4d292bf38e54dcfa7182..748011b1515f89efdf326d26cca2e0ffd4be75a4 100644 (file)
@@ -2,5 +2,6 @@
     :tags: bug, sql
     :tickets: 7052
 
-    Implemented a method in ``FunctionElement`` that is essentially abstract in
-    an ancestor class (even though not used), leading to pylint complaints.
+    Implemented missing methods in :class:`_functions.FunctionElement` which,
+    while unused, would lead pylint to report them as unimplemented abstract
+    methods.
index f9dccb66ce800c87abec062750f52961d4730011..5e56ecdd9f8ff29fc9e2b9827226984de0d4e45a 100644 (file)
@@ -261,14 +261,18 @@ def create_engine(url, **kwargs):
             :ref:`dbengine_logging` - further detail on how to configure
             logging.
 
-    :param implicit_returning=True: When ``True``, a RETURNING-
-        compatible construct, if available, will be used to
-        fetch newly generated primary key values when a single row
-        INSERT statement is emitted with no existing returning()
-        clause.  This applies to those backends which support RETURNING
-        or a compatible construct, including PostgreSQL, Firebird, Oracle,
-        Microsoft SQL Server.   Set this to ``False`` to disable
-        the automatic usage of RETURNING.
+    :param implicit_returning=True:  Legacy flag that when set to ``False``
+        will disable the use of ``RETURNING`` on supporting backends where it
+        would normally be used to fetch newly generated primary key values for
+        single-row INSERT statements that do not otherwise specify a RETURNING
+        clause.  This behavior applies primarily to the PostgreSQL, Oracle,
+        SQL Server backends.
+
+        .. warning:: this flag originally allowed the "implicit returning"
+           feature to be *enabled* back when it was very new and there was not
+           well-established database support.  In modern SQLAlchemy, this flag
+           should **always be set to True**.  Some SQLAlchemy features will
+           fail to function properly if this flag is set to ``False``.
 
     :param isolation_level: this string parameter is interpreted by various
         dialects in order to affect the transaction isolation level of the