]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
make URL immutable
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 21 Aug 2020 18:44:04 +0000 (14:44 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 26 Aug 2020 00:10:16 +0000 (20:10 -0400)
commit3668b3a30c4b9a9f4af13457f43bfc34c28cf448
tree6be6b991de7f3eb06181fd045b003e1b6d7e250e
parent9b6b867fe59d74c23edca782dcbba9af99b62817
make URL immutable

it's not really correct that URL is mutable and doesn't do
any argument checking.   propose replacing it with an immutable
named tuple with rich copy-and-mutate methods.

At the moment this makes a hard change to the CreateEnginePlugin
docs that previously recommended url.query.pop().  I can't find
any plugins on github other than my own that are using this
feature, so see if we can just make a hard change on this one.

Fixes: #5526
Change-Id: I28a0a471d80792fa8c28f4fa573d6352966a4a79
20 files changed:
doc/build/changelog/migration_14.rst
doc/build/changelog/unreleased_14/5526.rst [new file with mode: 0644]
doc/build/conf.py
doc/build/core/engines.rst
doc/build/core/internals.rst
lib/sqlalchemy/dialects/mysql/provision.py
lib/sqlalchemy/dialects/oracle/provision.py
lib/sqlalchemy/dialects/sqlite/pysqlite.py
lib/sqlalchemy/engine/__init__.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/create.py
lib/sqlalchemy/engine/interfaces.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/engine/url.py
lib/sqlalchemy/testing/assertions.py
lib/sqlalchemy/testing/assertsql.py
lib/sqlalchemy/testing/provision.py
test/engine/test_execute.py
test/engine/test_parseconnect.py
test/engine/test_reconnect.py