]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/log
thirdparty/sqlalchemy/sqlalchemy.git
5 years agoMerge "Correct reflection for composite primary keys" into rel_1_3
mike bayer [Mon, 26 Oct 2020 14:29:36 +0000 (14:29 +0000)] 
Merge "Correct reflection for composite primary keys" into rel_1_3

5 years agoimprove engine logging docs
Mike Bayer [Sat, 24 Oct 2020 16:59:22 +0000 (12:59 -0400)] 
improve engine logging docs

the text here was a little confusing and didn't refer to major
configurational elements such as hide_parameters.

Change-Id: I4e2179e5a64c326d30b65a8871b924725c41b453
(cherry picked from commit a1c51879aeb7811a23e454d2e90ad3bbae92b7a1)

5 years agoCorrect reflection for composite primary keys
fulpm [Tue, 20 Oct 2020 21:54:50 +0000 (17:54 -0400)] 
Correct reflection for composite primary keys

Fixes: #5661
### Description
Fixes reflection of composite primary keys to maintain the correct column order in the MSSQL
and SQLite dialects.

Closes: #5662
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5662
Pull-request-sha: b568dec7070b4f3ee46a528bdf16fb237baade2a

Change-Id: I452b23cbf7f389c4a0a34cffce5c32498efe37d2
(cherry picked from commit 7937a409f9e685341b6a5b8385491befe0aaa4d4)

5 years agoDon't load expired objects from evaluator
Mike Bayer [Wed, 21 Oct 2020 19:01:03 +0000 (15:01 -0400)] 
Don't load expired objects from evaluator

part 2 of e3dc20ff27fa75e571fb2631e64737ea8f25f7c5, the
pre-evaluate step was also emitting SELECT for expired objects.

Fixes: #5664
Change-Id: I9f5de2a5d480eafeb290ec0c45ce2a82ec93475b
(cherry picked from commit cd7d14f7ce8ef54e66d166b4904e8c21e967a5a2)

5 years agoDon't populate expired attrs w/ evaluator
Mike Bayer [Wed, 21 Oct 2020 17:58:22 +0000 (13:58 -0400)] 
Don't populate expired attrs w/ evaluator

Fixed bug in :meth:`_orm.Query.update` where objects in the
:class:`_orm.Session` that were already expired would be unnecessarily
SELECTed individually when they were refreshed by the "evaluate"
synchronize strategy.

For 1.4 there was also a similar issue with fetch that would actually
get the wrong data back, as the new value would be loaded, then
applied with the evaluator.

Fixes: #5664
Change-Id: I6e6aff88462654fcefa9fce2b45f5446c418deee
(cherry picked from commit e3dc20ff27fa75e571fb2631e64737ea8f25f7c5)

5 years agoImprove assoc proxy docs for 1.3 changes
Mike Bayer [Tue, 20 Oct 2020 14:20:39 +0000 (10:20 -0400)] 
Improve assoc proxy docs for 1.3 changes

Fixes: #5647
Change-Id: I98979577f5354eba993ade9fc5056db718f47a18
(cherry picked from commit 04d45f8adeafe5bb8981e7cfd94b11d36248d860)

5 years agoEnsure no compiler visit method tries to access .statement
Mike Bayer [Mon, 19 Oct 2020 14:19:29 +0000 (10:19 -0400)] 
Ensure no compiler visit method tries to access .statement

Fixed structural compiler issue where some constructs such as MySQL /
PostgreSQL "on conflict / on duplicate key" would rely upon the state of
the :class:`_sql.Compiler` object being fixed against their statement as
the top level statement, which would fail in cases where those statements
are branched from a different context, such as a DDL construct linked to a
SQL statement.

Fixes: #5656
Change-Id: I568bf40adc7edcf72ea6c7fd6eb9d07790de189e
(cherry picked from commit dfcd117afca36ea3f5f574f9bef6036dae609de8)

5 years agoindicate legacy ping recipe for handle_error cases
Mike Bayer [Thu, 15 Oct 2020 17:21:34 +0000 (13:21 -0400)] 
indicate legacy ping recipe for handle_error cases

in prep for a new feature as part of #5648.

Change-Id: I6720b0ea797c188de5e8163f79fb7b7994d6e76e
(cherry picked from commit 41d3e16773e84692b6625ccb67da204b5362d9c3)

5 years agoAdd discussed changes
Evan Taylor Yates [Tue, 13 Oct 2020 19:21:30 +0000 (12:21 -0700)] 
Add discussed changes

link: https://github.com/sqlalchemy/sqlalchemy/pull/5636
(cherry picked from commit 7740ce6900ad3e65364660a270cc72458421433a)

Change-Id: Id6edf10e2fa3ec293c3833c6a80dbdabaaa2580e

5 years agoMerge "Add SQL Server 01000 disconnect" into rel_1_3
mike bayer [Wed, 14 Oct 2020 20:34:52 +0000 (20:34 +0000)] 
Merge "Add SQL Server 01000 disconnect" into rel_1_3

5 years agoblock python keywords from random list of names
Mike Bayer [Wed, 14 Oct 2020 17:50:44 +0000 (13:50 -0400)] 
block python keywords from random list of names

Change-Id: I0259bed2ee06e741889e8b9bed6bf6ad106fa425
(cherry picked from commit b03d5358ec83ad7484ccd452e63ab34e874b53b3)

5 years agoAdd SQL Server 01000 disconnect
Mike Bayer [Wed, 14 Oct 2020 16:05:40 +0000 (12:05 -0400)] 
Add SQL Server 01000 disconnect

Fixes: #5646
Change-Id: I25fcba7cf866871f1232b586e7e604162bd8cc43
(cherry picked from commit 01633d94a526eb304729ed95dfbf6780c30dd258)

5 years agoVersion 1.3.21 placeholder
Mike Bayer [Mon, 12 Oct 2020 22:33:32 +0000 (18:33 -0400)] 
Version 1.3.21 placeholder

5 years ago- 1.3.20 rel_1_3_20
Mike Bayer [Mon, 12 Oct 2020 22:30:08 +0000 (18:30 -0400)] 
- 1.3.20

5 years agotypo
Mike Bayer [Mon, 12 Oct 2020 22:29:20 +0000 (18:29 -0400)] 
typo

Change-Id: I0a753a2b48ed932c3209b93df0a96efe90af17c5
(cherry picked from commit 501c5dff8ea12aaac44f1dee6bca2db6a468d89c)

5 years agochangelog edits for 1.3.20
Mike Bayer [Mon, 12 Oct 2020 22:22:01 +0000 (18:22 -0400)] 
changelog edits for 1.3.20

Change-Id: Ic053a30e9f0e6c99b638a0629e1192336bff3f76
(cherry picked from commit 6bf0e4ce35c0929e7e8dcb7c25fabe7f7c599f38)

5 years agoSupport indexing on expressions and functions for the MySQL dialect
RamonWill [Wed, 16 Sep 2020 21:47:21 +0000 (17:47 -0400)] 
Support indexing on expressions and functions for the MySQL dialect

A user noticed that creating an index where the "key part" was an expression
or function would raise an error for MySQL because the key part was not
parenthesized. The proposed change will check whether a key part is not a
Column or Unary Expression  and parenthesize if the case is False.

This fix also contains a minor fix to a test case that was previously incorrect
(`def test_create_index_expr():`).

**Have a nice day!**
Fixes: #5462
Closes: #5587
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5587
Pull-request-sha: 7515e50cd7435744fc79c210b2f3aa4c0546ba28

Change-Id: Id1b3b3026983c0e05808baa243e354f82b78180c
(cherry picked from commit 9dedf37446108196b585ffdcef8dd48c378d1401)

5 years agoRepair reduction in Over
Mike Bayer [Mon, 12 Oct 2020 16:47:38 +0000 (12:47 -0400)] 
Repair reduction in Over

Fixed issue where a plain pickle dumps call of the :class:`_sql.Over`
construct didn't work.

Fixes: #5644
Change-Id: I4b07f74ecd5d52f0794128585367012200a38a36
(cherry picked from commit 9322de12f5c5eca397b13cb7db2b6196f58aceb3)

5 years agoAdd python 3.9 to ci test and wheel workflow
Federico Caselli [Thu, 8 Oct 2020 18:34:02 +0000 (20:34 +0200)] 
Add python 3.9 to ci test and wheel workflow

Change-Id: I3b80b836ca547fa92f324acb265180cdeea17611
(cherry picked from commit 21e327690558639b0eead6c1abf0019039a02d3b)

5 years agopin pytest lower bound at 4.6.11
Mike Bayer [Thu, 8 Oct 2020 16:52:39 +0000 (12:52 -0400)] 
pin pytest lower bound at 4.6.11

we need 4.6 to support Python 2.  however 4.6.0 is too low,
4.6.11 seems to work in both python 2 and 3, pin on that

Change-Id: I0a5995ca5e5bf08a06997130e4ffbaaceef8d942
(cherry picked from commit bcc17b1d6e2cac3b0e45c0b17a62cf2d5fc5c5ab)

5 years agoAdd changelog for pytest 6.x fix.
Mike Bayer [Thu, 8 Oct 2020 15:56:04 +0000 (11:56 -0400)] 
Add changelog for pytest 6.x fix.

pytest 6.x support was fixed in 40cdb9c for 1.3 and in ffafbd4
for master.   Add a note as this is an observable issue
in 1.3.19.

Fixes: #5635
Change-Id: Iee67822d6962800646546c69ee0ad0c494007c86
(cherry picked from commit 92af8dae09618198685b82f10072c8d43ad6a877)

5 years agoUse preloaded for sql.util import in exc
Mike Bayer [Wed, 7 Oct 2020 01:46:03 +0000 (21:46 -0400)] 
Use preloaded for sql.util import in exc

Repaired a function-level import that was not using SQLAlchemy's standard
late-import system within the sqlalchemy.exc module.

Moves 1.3 dependencies() to sqlalchemy.util.preloaded so that it
does not depend on langhelpers which depends on exc.

Fixes: #5632
Change-Id: I61b7ce9cd461071ce543714739f67aa5aeb47fd6
(cherry picked with major changes from commit 2f28ba5513fc7da4efb315e1a03d50ebe40ca566)

5 years agoMerge "raise on lower-case column shared to multiple tables" into rel_1_3
mike bayer [Wed, 30 Sep 2020 13:57:06 +0000 (13:57 +0000)] 
Merge "raise on lower-case column shared to multiple tables" into rel_1_3

5 years agoraise on lower-case column shared to multiple tables
Mike Bayer [Wed, 30 Sep 2020 12:37:57 +0000 (08:37 -0400)] 
raise on lower-case column shared to multiple tables

Fixed bug where an error was not raised for lower-case
:func:`_column` added to lower-case :func:`_table` object. This now raises
:class:`_exc.ArgumentError` which has always been the case for
upper-case :class:`_schema.Column` and :class:`_schema.Table`.

Fixes: #5618
Change-Id: Ifcbdf27c022fd2996a5b99559df71fc1c1e0f19c
(cherry picked from commit ba0febcf54f194fc93d40a6bf72502ee50ba9993)

5 years agofix too-short underline
Mike Bayer [Wed, 30 Sep 2020 13:01:32 +0000 (09:01 -0400)] 
fix too-short underline

Change-Id: Id9ac0b45f0859199e7db61ef5d4fac956b74b2ba
(cherry picked from commit 467d1e1576905833d9ca0aacf1839d8a638ceb1b)

5 years agoMerge "Support for multiple hosts in PostgreSQL connection string" into rel_1_3
mike bayer [Wed, 30 Sep 2020 12:07:48 +0000 (12:07 +0000)] 
Merge "Support for multiple hosts in PostgreSQL connection string" into rel_1_3

5 years agoScan for tables without relying upon whereclause
Mike Bayer [Tue, 29 Sep 2020 18:17:42 +0000 (14:17 -0400)] 
Scan for tables without relying upon whereclause

Fixed bug where an UPDATE statement against a JOIN using MySQL multi-table
format would fail to include the table prefix for the target table if the
statement had no WHERE clause, as only the WHERE clause were scanned to
detect a "multi table update" at that particular point.  The target
is now also scanned if it's a JOIN to get the leftmost table as the
primary table and the additional entries as additional FROM entries.

Fixes: #5617
Change-Id: I26d74afebe06e28af28acf960258f170a1627823
(cherry picked from commit 7d8c93d3d0eaf39ec7beb1dcb32ee0e11d3f77fa)

5 years agobump variance on test_string, test_unicode
Mike Bayer [Tue, 29 Sep 2020 19:44:33 +0000 (15:44 -0400)] 
bump variance on test_string, test_unicode

a recent rerun of profiles added more profiling data that's
failing over small differences.   15% variance is fine for these
tests that are looking for thousands of encode calls.

Change-Id: I33dac346b2ff07f86b4bc278a7309ca9b7efbaab
(cherry picked from commit 147f0969301184b952366f39195caaabe6d63dbf)

5 years agoupgrade to black 20.8b1
Mike Bayer [Mon, 28 Sep 2020 18:24:11 +0000 (14:24 -0400)] 
upgrade to black 20.8b1

It's better, the majority of these changes look more readable to me.
also found some docstrings that had formatting / quoting issues.

Cross-implemented with master

Change-Id: I582a45fde3a5648b2f36bab96bad56881321899b

5 years agoset pytest rootdir
Mike Bayer [Mon, 28 Sep 2020 02:19:27 +0000 (22:19 -0400)] 
set pytest rootdir

With pytest 6.1.0 the root directory calculation logic has
changed and is unreliable on our jenkins setup.   make
sure this is set explicitly.

Change-Id: I1d48b887030c32d2f3361fc36e65e8a988d2ba81
References: https://github.com/pytest-dev/pytest/issues/7807
(cherry picked from commit 7193f94294718159eeabc296812519b30dad67b5)

5 years agoSupport pytest 6.x
Mike Bayer [Sun, 27 Sep 2020 01:01:01 +0000 (21:01 -0400)] 
Support pytest 6.x

pytest has removed support for pytest.Class().collect()
and we need to use from_parent.

Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4
(cherry picked from commit ffafbd4b9657a4ee8bec57c0861414144f37bdc5)

5 years agoAdd pypi shields
Mike Bayer [Wed, 23 Sep 2020 18:47:43 +0000 (14:47 -0400)] 
Add pypi shields

These are all available from the same shields.io source,
courtesy @dolfinus

Fixes: #5594
Change-Id: I985c415f50627d328384a8fddf9a1457663ee00d
(cherry picked from commit 826303baaad6c66389d1b2857688e64ab3360846)

5 years agoSupport for multiple hosts in PostgreSQL connection string
RamonWill [Wed, 2 Sep 2020 22:43:53 +0000 (18:43 -0400)] 
Support for multiple hosts in PostgreSQL connection string

Provide support for multiple hosts in the PostgreSQL connection string.

A user requested for SQLAlchemy to support multiple hosts within a PostgreSQL URL string. The proposed fix allows this. In the event that the url contains multiple hosts the proposed code will convert the query["hosts"] tuple into a single string. This allows the hosts to then get converted into a valid dsn variable in the psycopg2 connect function.

This pull request is:

- [ ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [X ] A short code fix
- please include the issue number, and create an issue if none exists, which
  must include a complete example of the issue.  one line code fixes without an
  issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.   one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
  include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**
Fixes: #4392
Closes: #5554
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5554
Pull-request-sha: 3f7a0ab8df9f1411a9f1ac0e152583bc7bf0c365

Change-Id: I3f3768d51b8331de786ffdc025b7ecfc662eafe5
(cherry picked from commit a3640ae933a80f7c98faf6223cd9376c5deb588a)

5 years agoStringify correctly for non-str exception argument
Andrzej BartosiÅ„ski [Sat, 19 Sep 2020 16:47:46 +0000 (12:47 -0400)] 
Stringify correctly for non-str exception argument

Fixed issue where a non-string object sent to
:class:`_exc.SQLAlchemyError` or a subclass, as occurs with some third
party dialects, would fail to stringify correctly. Pull request
courtesy Andrzej BartosiÅ„ski.

Fixes: #5599
Closes: #5600
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5600
Pull-request-sha: cdccccc42a6ac8de771593a43ee8675bfd8dbeb6

Change-Id: Icd710d9015abc80f61a84893d75fbb33ee0fe46e
(cherry picked from commit c4f28fb414c342ba362fdee8a68bd169f01aa7d2)

5 years agoAdd support for Azure authentication options
Gord Thompson [Thu, 17 Sep 2020 16:32:31 +0000 (10:32 -0600)] 
Add support for Azure authentication options

Fixes: #5592
Change-Id: I0688e5ea0fc6b01a0b72f397daea8f57a2ec0766
(cherry picked from commit dcd2be16b9c9a6a52b6bb7e144e31998b7cee631)

5 years agoFix ORM gc-related test that seems to be failing on CI
Mike Bayer [Wed, 16 Sep 2020 13:50:25 +0000 (09:50 -0400)] 
Fix ORM gc-related test that seems to be failing on CI

The test relied on the primary key value not being
of a certain number.

Change-Id: I9bd76bee542da44b630a426f1102fc682ad2d7b3
(cherry picked from commit de8e53a831fdd834eb9cca697b5793a7c38b22a7)

5 years agoAdd warning for skip_locked with MariaDB backend.
Gord Thompson [Sun, 13 Sep 2020 22:38:13 +0000 (16:38 -0600)] 
Add warning for skip_locked with MariaDB backend.

The "skip_locked" keyword used with ``with_for_update()`` will emit a
warning when used on MariaDB backends, and will then be ignored.   This is
a deprecated behavior that will raise in SQLAlchemy 1.4, as an application
that requests "skip locked" is looking for a non-blocking operation which
is not available on those backends.

Fixes: #5578
Change-Id: I49ccb6c6ff46eafed12b77f51e1da8e0e397966c
(cherry picked with major changes from commit b25d0cda90fe906fda2fe8401a810c4da0bf7268)

5 years agoPass all pool parameters in recreate()
Mike Bayer [Mon, 14 Sep 2020 14:14:48 +0000 (10:14 -0400)] 
Pass all pool parameters in recreate()

The following pool parameters were not being propagated to the new pool
created when :meth:`_engine.Engine.dispose` were called: ``pre_ping``,
``use_lifo``.  Additionally the ``recycle`` and ``reset_on_return``
parameters were not propagated for the :class:`_engine.AssertionPool`
class.  These issues have been fixed.

Fixes: #5582
Change-Id: Ifdb703aa7e849652242b9ff8071c854cd1d77e71
(cherry picked from commit 3d803a8ed3e07332dff872180680bed6175dd483)

5 years agoAdd 3rd party integration issues FAQ; add numpy
Mike Bayer [Thu, 10 Sep 2020 19:48:14 +0000 (15:48 -0400)] 
Add 3rd party integration issues FAQ; add numpy

Users of numpy and pandas should refer to this section
where we will try to catalog the common issues that don't
really have an automatic solution.

Fixes: #5552
Change-Id: I02990e328616ccb21933ffda1167c52256bace07
(cherry picked from commit 96bb6dc56d1da2b4fa30afd08ac4dfa665752913)

5 years agoMerge "Include PostgreSQL in trigger test and correct documentation example" into...
mike bayer [Thu, 10 Sep 2020 16:38:31 +0000 (16:38 +0000)] 
Merge "Include PostgreSQL in trigger test and correct documentation example" into rel_1_3

5 years agoAdd more docs for populate_existing(); link with_for_update
Mike Bayer [Thu, 10 Sep 2020 15:56:34 +0000 (11:56 -0400)] 
Add more docs for populate_existing(); link with_for_update

The populate_existing() method is actually changing
to be an execution option, however it has almost no
mention in the narrative docs so add docs in terms of the
1.x version first, including that we mention you almost
definitely want to use this method if you are also using
with_for_update().

Fixes: #5572
Fixes: #4774
Change-Id: Ieca916400622c1ffc1ae81204132a02a0983594c
(cherry picked from commit e78c8f84958a031056684d7056aff0eab6ced226)

5 years agoFix typo in :paramref:`_engine.create_engine.isolation_level` names
Federico Caselli [Tue, 8 Sep 2020 21:09:21 +0000 (23:09 +0200)] 
Fix typo in :paramref:`_engine.create_engine.isolation_level` names

Fixes: #5563
Change-Id: I29204fdf679d750c66ed17daf70bc8d7cb1b7f65
(cherry picked from commit 17f7faf3df8dc3d30e632c60a5d69d342876ad3d)

5 years agoPostgreSQL dialect-level isolation_level parameter is legacy
Mike Bayer [Tue, 8 Sep 2020 15:01:28 +0000 (11:01 -0400)] 
PostgreSQL dialect-level isolation_level parameter is legacy

The isolation level section in the docs inadvertently
copied the PostgreSQL example using the PGDialect.isolation_level
parameter and not the execution_options.  ensure only
the execution_options version is documented.

Change-Id: I94e02ede62d3dded40e3fcbce8d04608dc063108
(cherry picked from commit 6dc8d1dc6955db8107b683f2c2f3e4b62aad574b)

5 years agoMerge "Add new MySQL reserved words: `cube`, `lateral`." into rel_1_3
mike bayer [Thu, 3 Sep 2020 16:17:40 +0000 (16:17 +0000)] 
Merge "Add new MySQL reserved words: `cube`, `lateral`." into rel_1_3

5 years agoAdd caveat re: with_expression and already-loaded object
Mike Bayer [Wed, 2 Sep 2020 18:47:03 +0000 (14:47 -0400)] 
Add caveat re: with_expression and already-loaded object

Adds a test for the populate_existing() behavior as well.

Fixes: #5553
Change-Id: Ib0db6227c3fec7d0065f2a7caa36b3fd94ef14fd
(cherry picked from commit b050169600019ef249a8b315e7435c752623c900)

5 years agoAdd new MySQL reserved words: `cube`, `lateral`.
StefanosChaliasos [Thu, 27 Aug 2020 17:53:35 +0000 (13:53 -0400)] 
Add new MySQL reserved words: `cube`, `lateral`.

Closes: #5539
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5539
Pull-request-sha: 8c228be322023041b11691d93dafa1be090f01a0

Change-Id: Ic756472a19563e793cf7e33b24eb1ad5e913dbc0

5 years agoMerge "Provide more detailed error message for Query.join()" into rel_1_3
mike bayer [Tue, 1 Sep 2020 13:50:24 +0000 (13:50 +0000)] 
Merge "Provide more detailed error message for Query.join()" into rel_1_3

5 years agoProvide more detailed error message for Query.join()
RamonWill [Thu, 6 Aug 2020 20:08:13 +0000 (16:08 -0400)] 
Provide more detailed error message for Query.join()

An :class:`.ArgumentError` with more detail is now raised if the target
parameter for :meth:`_query.Query.join` is set to an unmapped object.
Prior to this change a less detailed ``AttributeError`` was raised.
Pull request courtesy Ramon Williams.

Fixes: #4428
Closes: #5452
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5452
Pull-request-sha: b148df547037e9a254fe331eff8e922c78426261

Change-Id: I873453d1fdb651178216aac698baac63ae5a94e8

5 years agoInclude PostgreSQL in trigger test and correct documentation example
RamonWill [Sun, 30 Aug 2020 13:05:06 +0000 (09:05 -0400)] 
Include PostgreSQL in trigger test and correct documentation example

Include PostgreSQL dialect in trigger test and correct DDL example in documentation

A user highlighted that the syntax in the DDL trigger example was incorrect for PostgreSQL. The trigger tests where also skipping the PostgreSQL dialect until the syntax was corrected. This PR fixes both of these issues.

This pull request is:

- [X ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [ ] A short code fix
- please include the issue number, and create an issue if none exists, which
  must include a complete example of the issue.  one line code fixes without an
  issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.   one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
  include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**
Fixes: #4037
Closes: #5548
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5548
Pull-request-sha: 1db5e47adb90f9d51e247711dcfdbb274fb7bf73

Change-Id: I06edbcab99c82a3ce25581b81f8d2a4a028c07c3
(cherry picked from commit 2e887c7a4105a973a015b9ecbb4ea5a11dafb26a)

5 years agoMerge "internal test framework files for standardization of is_not/not_in;" into...
mike bayer [Sun, 30 Aug 2020 14:33:16 +0000 (14:33 +0000)] 
Merge "internal test framework files for standardization of is_not/not_in;" into rel_1_3

5 years agoUpdate connection docs for migrating off of nesting
Mike Bayer [Sat, 29 Aug 2020 22:24:18 +0000 (18:24 -0400)] 
Update connection docs for migrating off of nesting

Change-Id: I3a81140f00a4a9945121bfb8ec4c0e3953b4085f

5 years agointernal test framework files for standardization of is_not/not_in;
jonathan vanasco [Mon, 24 Aug 2020 22:53:31 +0000 (18:53 -0400)] 
internal test framework files for standardization of is_not/not_in;

this is safe for 1.3.x

Change-Id: Icba38fdc20f5d8ac407383a4278ccb346e09af38
(cherry picked from commit 672087176eaf3d0e867c6b5c67bfea3c713be42e)

5 years agoMerge "ARM64 Support to Github Actions For Testing And Development Of Wheels" into...
Federico Caselli [Fri, 28 Aug 2020 20:25:22 +0000 (20:25 +0000)] 
Merge "ARM64 Support to Github Actions For Testing And Development Of Wheels" into rel_1_3

5 years agoRaise NotImplemenedError for association proxy __clause_element__
Mike Bayer [Thu, 27 Aug 2020 19:50:47 +0000 (15:50 -0400)] 
Raise NotImplemenedError for association proxy __clause_element__

It's not possible right now to use an association proxy element as a plain
column expression to be SELECTed from or used in a SQL function.  An
informative error is now raised when this occurs.

Fixes: #5542
Change-Id: I334e767ebc0b56c1dccc4a1e5185b0435af77b93
(cherry picked from commit d78686b4f109fdc78ca6239e5a5af791717bc48d)

5 years agoDocument caveat about backrefs and attribute_mapped_collection
Mike Bayer [Wed, 26 Aug 2020 15:44:34 +0000 (11:44 -0400)] 
Document caveat about backrefs and attribute_mapped_collection

Fixes: #5538
Change-Id: I2bda6bed40d35560a71bf0ed09d141047ce59e82
(cherry picked from commit fe772672b4fc00df0b66aca92e2092779a844a2d)

5 years agoMerge "More descriptive error for non-mapped string prop name" into rel_1_3
mike bayer [Wed, 26 Aug 2020 02:43:41 +0000 (02:43 +0000)] 
Merge "More descriptive error for non-mapped string prop name" into rel_1_3

5 years agoMore descriptive error for non-mapped string prop name
jonathan vanasco [Mon, 20 Apr 2020 17:56:49 +0000 (13:56 -0400)] 
More descriptive error for non-mapped string prop name

Fixed issue where using a loader option against a string attribute name
that is not actually a mapped attribute, such as a plain Python descriptor,
would raise an uninformative AttributeError;  a descriptive error is now
raised.

Fixes: #4589
Closes: #4594
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/4594
Pull-request-sha: 2b7ed5240f49be90f9390e3d041c9cb957083465

Change-Id: I66b9937991eb7cdbe074a92f490af1c80d16449e
(cherry picked from commit 7700005a1f3504e26633a55db5cddeac114cb78f)

5 years agoARM64 Support to Github Actions For Testing And Development Of Wheels
odidev [Sun, 23 Aug 2020 18:54:56 +0000 (14:54 -0400)] 
ARM64 Support to Github Actions For Testing And Development Of Wheels

**Added**:
1. ARM64 jobs in Github Workflows For Testing And Development Of Wheels
2. Two script files for creating wheels and testing.

Resolves #5436

Signed-off-by: odidev <odidev@puresoftware.com>
Co-authored-by: Federico Caselli <cfederico87@gmail.com>
Closes: #5480
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5480
Pull-request-sha: 131ef520bbf863ad9b65ca3bf3c2d2d214405702

Change-Id: Ia10dadd93365ba4beeefbd27c060bc077c2d7aeb
(cherry picked from commit 7f9caaa7ea893a1803f7bdf7b4355740cf940a3d)

5 years agoFix typo in docs examples of psycopg2.connect
Federico Caselli [Mon, 24 Aug 2020 21:05:10 +0000 (23:05 +0200)] 
Fix typo in docs examples of psycopg2.connect

Fixes: #5535
Change-Id: I7341137ec63c5a7978f9fe15ad1a932e068321c2
(cherry picked from commit eb8cf282103b0b3d57e620152a451b059745f8df)

5 years agoImplement DDL visitor for PG ENUM with schema translate support
Mike Bayer [Wed, 19 Aug 2020 02:53:09 +0000 (22:53 -0400)] 
Implement DDL visitor for PG ENUM with schema translate support

Fixed issue where the :class:`_postgresql.ENUM` type would not consult the
schema translate map when emitting a CREATE TYPE or DROP TYPE during the
test to see if the type exists or not.  Additionally, repaired an issue
where if the same enum were encountered multiple times in a single DDL
sequence, the "check" query would run repeatedly rather than relying upon a
cached value.

Fixes: #5520
Change-Id: I79f46e29ac0168e873ff178c242f8d78f6679aeb
(cherry picked from commit c290a40a543f8355ee712e2e565698b6ebdb162f)

5 years agoDeliver straight BinaryExpr w/ no negate for any() / all()
Mike Bayer [Tue, 18 Aug 2020 18:17:06 +0000 (14:17 -0400)] 
Deliver straight BinaryExpr w/ no negate for any() / all()

Adjusted the :meth:`_types.ARRAY.Comparator.any` and
:meth:`_types.ARRAY.Comparator.all` methods to implement a straight "NOT"
operation for negation, rather than negating the comparison operator.

Fixes: #5518
Change-Id: I87ee9278c321aafe51a679fcfcbb5fbb11307fda
(cherry picked from commit 8bc793c4dbc876722dfaad0ca731938c70b54b6c)

5 years agoClarify that session.close() is like reset
Mike Bayer [Tue, 18 Aug 2020 14:52:04 +0000 (10:52 -0400)] 
Clarify that session.close() is like reset

This is a manual edit, not really a cherry-pick, but the
below ref is where this is from.

Fixes: #5517
Change-Id: I86809cf84de3ec19a279ae13f4e5e71336d8b359
(cherry picked from commit 7277c12e4d1bdc9647b9b306d89b5847d1c5a4d7)

5 years agoFix wheel check in linux workflow and improve it
Federico Caselli [Mon, 17 Aug 2020 21:29:50 +0000 (23:29 +0200)] 
Fix wheel check in linux workflow and improve it

Change-Id: I3b208674649e41bca0285d00aa11cc5975eb971a
(cherry picked from commit e7875b39f8e28e0c27d96926f7cab3f7839c0250)

5 years agoVersion 1.3.20 placeholder
Mike Bayer [Mon, 17 Aug 2020 20:12:11 +0000 (16:12 -0400)] 
Version 1.3.20 placeholder

5 years ago- 1.3.19 rel_1_3_19
Mike Bayer [Mon, 17 Aug 2020 19:59:44 +0000 (15:59 -0400)] 
- 1.3.19

5 years agoMake discriminator column used by ConcreteBase configurable
Jesse Bakker [Mon, 17 Aug 2020 14:35:35 +0000 (10:35 -0400)] 
Make discriminator column used by ConcreteBase configurable

The name of the virtual column used when using the
:class:`_declarative.AbstractConcreteBase` and
:class:`_declarative.ConcreteBase` classes can now be customized, to allow
for models that have a column that is actually named ``type``.  Pull
request courtesy Jesse-Bakker.

Fixes: #5513
Closes: #5514
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5514
Pull-request-sha: 5e7429f3531e2e22fffe996c9760905578d16ef9

Change-Id: I733737844d4f4e1f52dd2475a66c7044ff7292f5
(cherry picked from commit db2b2e21d6458d29a156a8532a52425333e0317a)

5 years agoerror message for Lookup
RamonWill [Wed, 12 Aug 2020 18:50:20 +0000 (14:50 -0400)] 
error message for Lookup

Th proposed change will provide the user with the target Enum Class name as well as up to four possible enum values when a LookupError is raised in the Enum Class.

A user requested that the enum name and possible values are included to the LookupError message to make debugging easier. The criteria included using ellipses for Enums containing more than four values and using ellipses for enum values that were greater than a certain number of characters (for this resolution the limit is 11 characters).

This pull request is:

- [ ] A documentation / typographical error fix
- Good to go, no issue or tests are needed
- [X ] A short code fix
- please include the issue number, and create an issue if none exists, which
  must include a complete example of the issue.  one line code fixes without an
  issue and demonstration will not be accepted.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.   one line code fixes without tests will not be accepted.
- [ ] A new feature implementation
- please include the issue number, and create an issue if none exists, which must
  include a complete example of how the feature would look.
- Please include: `Fixes: #<issue number>` in the commit message
- please include tests.

**Have a nice day!**
Fixes: #4733
Closes: #5490
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5490
Pull-request-sha: 55e76f2ae796b59b7de157cfaae5235dffa359cb

Change-Id: I4541f9efed1c05401587a413e9e748d46938bcd1
(cherry picked from commit a8bd2116764fb6039742a34409254175846bb700)

5 years agoupdate for pytest-xdist terminology
Mike Bayer [Fri, 14 Aug 2020 16:22:17 +0000 (12:22 -0400)] 
update for pytest-xdist terminology

With version 2.0.0 they removed the old terminology, which
I had no idea had been changed in any case for several years.

pushing this out for all branches

Change-Id: I51e4f577aeb9ef8205348b50489549f77072a613
(cherry picked from commit f91d335e31e5e14794e349b74edc08aad0f361e3)

5 years agoFurther fixes for ticket 5470
Mike Bayer [Thu, 13 Aug 2020 14:43:53 +0000 (10:43 -0400)] 
Further fixes for ticket 5470

The fix for #5470 didn't actually take into account that
the "distinct" logic in query was also doubling up the criteria.
Added many more tests.   the 1.3 version here will be different
than 1.4 as the regression is not quite the same.

Fixes: #5470
Change-Id: I16a23917cab175761de9c867d9d9ac55031d9b97
(cherry picked from commit 7ac2d5c93b6334528aff93939559eee133f3e9fc)

5 years agoMerge "Fix mysql CREATE TABLE / COLLATE issue" into rel_1_3
mike bayer [Wed, 12 Aug 2020 15:04:31 +0000 (15:04 +0000)] 
Merge "Fix mysql CREATE TABLE / COLLATE issue" into rel_1_3

5 years agoupdate deterministic sort ordering doc
Mike Bayer [Tue, 11 Aug 2020 16:27:10 +0000 (12:27 -0400)] 
update deterministic sort ordering doc

reword the sorting in terms of the actual behavior,
put correct changed version

References: #5494
Change-Id: I725338526afe28454910d029c153e4476f8c686f
(cherry picked from commit 5b44be7a13ccefc46b8a69fd95677051de5f3bf7)

5 years agoFix mysql CREATE TABLE / COLLATE issue
Gord Thompson [Thu, 6 Aug 2020 23:19:52 +0000 (17:19 -0600)] 
Fix mysql CREATE TABLE / COLLATE issue

Fixes: #5411
Change-Id: Ib0c53f5ed3f9d3ff0586580c9a9cce73b4b870f4
(cherry picked from commit 32e0b128f6c077017673f7049e2b667bf96f53e3)

5 years agoFix typos
Karthikeyan Singaravelan [Sun, 9 Aug 2020 10:02:57 +0000 (10:02 +0000)] 
Fix typos

(cherry picked from commit 71f14f6de8ee1865fd68d7989f751eed95dde719)

Change-Id: Ie5e32ee12696aa0234dc6282b83220100c2288a0

5 years agoMerge "Add complete platform data to profiling data" into rel_1_3
mike bayer [Fri, 7 Aug 2020 17:27:29 +0000 (17:27 +0000)] 
Merge "Add complete platform data to profiling data" into rel_1_3

5 years agoMerge "Pass schema_translate_map from DDLCompiler to SQLCompiler" into rel_1_3
mike bayer [Fri, 7 Aug 2020 17:22:35 +0000 (17:22 +0000)] 
Merge "Pass schema_translate_map from DDLCompiler to SQLCompiler" into rel_1_3

5 years agoPass schema_translate_map from DDLCompiler to SQLCompiler
Mike Bayer [Fri, 7 Aug 2020 15:24:29 +0000 (11:24 -0400)] 
Pass schema_translate_map from DDLCompiler to SQLCompiler

Fixed issue where the
:paramref:`_engine.Connection.execution_options.schema_translate_map`
feature would not take effect when the :meth:`_schema.Sequence.next_value`
function function for a :class:`_schema.Sequence` were used in the
:paramref:`_schema.Column.server_default` parameter and the create table
DDL were emitted.

Fixes: #5500
Change-Id: I74a9fa13d22749d06c8202669f9ea220d9d984d9
(cherry picked from commit ed50a003e296ac6bfb998f2b401091d87874cb4c)

5 years agoAdd complete platform data to profiling data
Federico Caselli [Mon, 27 Jul 2020 19:57:32 +0000 (21:57 +0200)] 
Add complete platform data to profiling data

Initially to distinsuish between arm and x86_64
architecture, expand out the profile key to include
machine, system, python impl in all cases.

For 1.3, also bump cpython version to 3.8 to match CI

Ref: #5436
Change-Id: I7e48f0462ba7d9c680b2dac45ce7b0cf709b9b22
(cherry picked from commit 24a9e6974c177e90d2213080b1f6d8270d78f69b)

5 years agoInclude bulk update/delete in RoutingSession example
Mike Bayer [Fri, 7 Aug 2020 16:32:50 +0000 (12:32 -0400)] 
Include bulk update/delete in RoutingSession example

Fixes: #5407
Change-Id: Ia0965dbc88d744cded5c23021898388f2cf95f8d
(cherry picked from commit 7f52c10357cbc98e467f317128b3fea2018eaf7c)

5 years agobase all_orm_descriptors ordering on cls.__dict__ + cls.__mro__
Mike Bayer [Thu, 6 Aug 2020 19:53:17 +0000 (15:53 -0400)] 
base all_orm_descriptors ordering on cls.__dict__ + cls.__mro__

Adjusted the workings of the :meth:`_orm.Mapper.all_orm_descriptors`
accessor to represent the attributes in the order that they are located in
a deterministic way, assuming the use of Python 3.6 or higher which
maintains the sorting order of class attributes based on how they were
declared.   This sorting is not guaranteed to match the declared order of
attributes in all cases however; see the method documentation for the exact
scheme.

Fixes: #5494
Change-Id: I6ee8d4ace3eb8b3f7c9c0f2a3d7e27b5f62abfd3
(cherry picked from commit 9a3fee2cb6b608eb5c0263cf5a7e9085f74f2e73)

5 years agoFixes for MySQL 8
Mike Bayer [Thu, 6 Aug 2020 00:32:02 +0000 (20:32 -0400)] 
Fixes for MySQL 8

MySQL 8.0.19 has some changes to how it reports on display widths
for int types (seems like it omits it in some cases), and also
no longer cares about the length for YEAR.   Another adjustment
to the ordering of constraints reported in one case also.
At least one CI machine is at 8.0.21 now.

Change-Id: Ie2101bed3ad75dcbb62cd05abe95ef14ad895cf5
(cherry picked from commit 5668fd73ea51bffbccb8b1ae8923ef2d545efacb)

5 years agoAdd MariaDB 1927 to is_disconnect codes
Mike Bayer [Wed, 5 Aug 2020 14:31:21 +0000 (10:31 -0400)] 
Add MariaDB 1927 to is_disconnect codes

Added MariaDB code 1927 to the list of "disconnect" codes, as recent
MariaDB versions apparently use this code when the database server was
stopped.

Fixes: #5493
Change-Id: I63f1d692f36cb0411ead278556e3f8c64ab72ea4
(cherry picked from commit 2a946254023135eddd222974cf300ffaa5583f02)

5 years agofix formatting
Mike Bayer [Tue, 4 Aug 2020 14:40:46 +0000 (10:40 -0400)] 
fix formatting

Change-Id: I8315cfef6e5c4b87d64fc770998a1229cc690870
(cherry picked from commit c813fe1678c4edbce32f0652353ed70f0a14566f)

5 years agoAdd note that fast_executemany uses memory
Mike Bayer [Tue, 4 Aug 2020 14:13:51 +0000 (10:13 -0400)] 
Add note that fast_executemany uses memory

Ideally this would be a per-execution option, or Pyodbc
could perhaps run the data in chunks.

Fixes: #5334
Change-Id: If4a11b312346b8e4c2b8cd38840b3a2ba56dec3b
(cherry picked from commit 64f3c097970dd8f2e141ef9bc71c685b19671267)

5 years agoMerge "Improve github action workflows" into rel_1_3
mike bayer [Sun, 2 Aug 2020 00:11:46 +0000 (00:11 +0000)] 
Merge "Improve github action workflows" into rel_1_3

5 years agoMerge "Consider default FROM DUAL for MySQL" into rel_1_3
mike bayer [Wed, 29 Jul 2020 18:44:40 +0000 (18:44 +0000)] 
Merge "Consider default FROM DUAL for MySQL" into rel_1_3

5 years agoConsider default FROM DUAL for MySQL
Mike Bayer [Tue, 28 Jul 2020 20:46:53 +0000 (16:46 -0400)] 
Consider default FROM DUAL for MySQL

MySQL claims it doesn't require FROM DUAL for no
FROM clause even though the issue at #5481 locates
a case which requires one.  See if FROM DUAL the same
way as Oracle without attempting to guess is potentially
feasible.

Fixes: #5481
Change-Id: I2a28876c10a8ce2d121cd344dcdd837db321d4ab
(cherry picked from commit 59b65b3008de5d6c5e4318846d04e50e5851e957)

5 years agoPassive deletes edits
Mike Bayer [Wed, 29 Jul 2020 17:14:49 +0000 (13:14 -0400)] 
Passive deletes edits

Change-Id: I863df033cae9bda4ce96d446a92984ae82797565
(cherry picked from commit 1ec03c15234f54a4d6387141a99b24bedf3b13c2)

5 years agoRemove errant link
Mike Bayer [Wed, 29 Jul 2020 16:51:29 +0000 (12:51 -0400)] 
Remove errant link

The link to "passive_deletes" has moved in
9e1ee412b8650761af6df993e119906682604728 however the tag
stayed here and caused a self link.

Fixes: #5484
Change-Id: I3ac5970be30504367294b9e9a83eb5a2c579cc71
(cherry picked from commit 4ac56e6ca3bbf5c42e4c187460bf7109e09992a2)

5 years agoImprove github action workflows
Federico Caselli [Mon, 27 Jul 2020 20:31:29 +0000 (22:31 +0200)] 
Improve github action workflows

- in create wheel set minimum versions of setuptools and wheel to avoid
  failure in python 3.5 with metadata configured in setup.cfg
- update action versions
- test also cext in the pull requests

Change-Id: Iaa5e4e4000c7faa688b51f2f41428c7dd7cae9c3
(cherry picked from commit 8e89f040391cddad1bec9002bbb6b3c39f43445e)

5 years agoEnsure is_comparison passed for PG RANGE op() methods
Jim Bosch [Sun, 26 Jul 2020 20:50:14 +0000 (16:50 -0400)] 
Ensure is_comparison passed for PG RANGE op() methods

Fixed issue where the return type for the various RANGE comparison
operators would itself be the same RANGE type rather than BOOLEAN, which
would cause an undesirable result in the case that a
:class:`.TypeDecorator` that defined result-processing behavior were in
use.  Pull request courtesy Jim Bosch.

Fixes: #5476
Closes: #5477
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5477
Pull-request-sha: 925b117e0c91cdd67d9ddbd9d65f5ca3e88af91f

Change-Id: I52ab4d4362d379c8253990f9d328a40990a64520
(cherry picked from commit 07e57a0330fb7b1bbe0c59f442111a34e4b7c960)

5 years agoImprove delete cascade and passive deletes sections
Mike Bayer [Sun, 26 Jul 2020 17:17:56 +0000 (13:17 -0400)] 
Improve delete cascade and passive deletes sections

Add cross linking from Core to ORM and also add new sections
and examples regarding many-to-many.    Move the section
out of "collections" and into the "cascades" chapter
where it's more likely to be found.

Change-Id: If29360e463e5745279bc5335bd12352d50ad8953
(cherry picked from commit 9e1ee412b8650761af6df993e119906682604728)

5 years agoUpdate docs with actual MariaDB JSON support
DefteZ [Fri, 24 Jul 2020 23:45:41 +0000 (01:45 +0200)] 
Update docs with actual MariaDB JSON support

(cherry picked from commit a26b88cd6b2034b7048d5b4729d3fa90ddfb255d)

5 years agoAllow Grouping to pass along proxy_set of element
Mike Bayer [Tue, 21 Jul 2020 16:36:20 +0000 (12:36 -0400)] 
Allow Grouping to pass along proxy_set of element

Repaired an issue where the "ORDER BY" clause rendering a label name rather
than a complete expression, which is particularly important for SQL Server,
would fail to occur if the expression were enclosed in a parenthesized
grouping in some cases.   This case has been added to test support.

Fixes: #5470
Change-Id: Ie0e27c39e5d53be78b32f7810f93d2d0536375e7
(cherry picked from commit 30ec982ba697eb320d804164c6bc965ae239abe8)

5 years agoFix mssql dialect escaping object names containing ']'
Gord Thompson [Sat, 18 Jul 2020 00:06:41 +0000 (18:06 -0600)] 
Fix mssql dialect escaping object names containing ']'

Fixes: #5467
Change-Id: I054ec219717ba62847a9daf1214e215dd6b70633
(cherry picked from commit 547e959157f841f4f6d1e405ceed14755fcbd0bd)

5 years agoAdd requirement for test_get_view_definition
Gord Thompson [Wed, 15 Jul 2020 22:00:56 +0000 (16:00 -0600)] 
Add requirement for test_get_view_definition

Bypass the test if the views are not being created.

Change-Id: I3945acb418575d12e5fe0e4657eb5e3b1c08b90e
(cherry picked from commit 6158fe6cbf69c29d51a8e57aab4e36d6b4598079)

5 years agoRepair doubled "using engines in fork()" section
Mike Bayer [Wed, 15 Jul 2020 23:14:46 +0000 (19:14 -0400)] 
Repair doubled "using engines in fork()" section

This section was written twice in two different ways with
the same recipe.  consolidate into one section and
add additional caveats regading dispose.

Change-Id: I20524935e7c10e3624d561ea2735312fd04e673d
References: #5460
(cherry picked from commit f4aa9def8f35136d1fe3bba81aaeddb72e7772a2)

5 years agoMerge "Add missing function to documentation: cte, Exits" into rel_1_3
mike bayer [Mon, 13 Jul 2020 19:08:46 +0000 (19:08 +0000)] 
Merge "Add missing function to documentation: cte, Exits" into rel_1_3

5 years agotest single and double quote inspection scenarios
Mike Bayer [Mon, 13 Jul 2020 14:49:57 +0000 (10:49 -0400)] 
test single and double quote inspection scenarios

Applied a sweep through all included dialects to ensure names that contain
single or double quotes are properly escaped when querying system tables,
for all :class:`.Inspector` methods that accept object names as an argument
(e.g. table names, view names, etc).   SQLite and MSSQL contained two
quoting issues that were repaired.

Fixes: #5456
Change-Id: I3bc98806f5166f3d82275650079ff561446f2aef
(cherry picked from commit 4351f7183c81bdb64a9a3ba47aa4b9891f42ffdb)

5 years agoMerge "more docs for autocommit isolation level" into rel_1_3
mike bayer [Mon, 13 Jul 2020 03:28:53 +0000 (03:28 +0000)] 
Merge "more docs for autocommit isolation level" into rel_1_3

5 years agomore docs for autocommit isolation level
Mike Bayer [Sun, 12 Jul 2020 23:52:54 +0000 (19:52 -0400)] 
more docs for autocommit isolation level

this concept is not clear that we offer real
DBAPI autocommit everywhere.  backport 1.3 with edits
as well

Change-Id: I2e8328b7fb6e1cdc5453ab29c94276f60c7ca149
(cherry picked from commit 28fbb0cb94ddf92a014adbfe63a15b7d0797ccee)