]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
fully implement future engine and remove legacy
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 1 Nov 2021 19:44:44 +0000 (15:44 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 7 Nov 2021 19:30:35 +0000 (14:30 -0500)
commitd050193daaa8d91371c759296f3304b8641c1976
treef3f880ccd528d1dc6c1dafa1a19b71c7c953fdce
parent248d232459e38561999c4172acaaddd651c1a933
fully implement future engine and remove legacy

The major action here is to lift and move future.Connection
and future.Engine fully into sqlalchemy.engine.base.   This
removes lots of engine concepts, including:

* autocommit
* Connection running without a transaction, autobegin
  is now present in all cases
* most "autorollback" is obsolete
* Core-level subtransactions (i.e. MarkerTransaction)
* "branched" connections, copies of connections
* execution_options() returns self, not a new connection
* old argument formats, distill_params(), simplifies calling
  scheme between engine methods
* before/after_execute() events (oriented towards compiled constructs)
  don't emit for exec_driver_sql().  before/after_cursor_execute()
  is still included for this
* old helper methods superseded by context managers, connection.transaction(),
  engine.transaction() engine.run_callable()
* ancient engine-level reflection methods has_table(), table_names()
* sqlalchemy.testing.engines.proxying_engine

References: #7257

Change-Id: Ib20ed816642d873b84221378a9ec34480e01e82c
62 files changed:
doc/build/core/connections.rst
doc/build/core/future.rst
doc/build/core/pooling.rst
doc/build/errors.rst
doc/build/glossary.rst
doc/build/orm/session_api.rst
lib/sqlalchemy/dialects/mysql/base.py
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/dialects/postgresql/provision.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/create.py
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/engine/events.py
lib/sqlalchemy/engine/interfaces.py
lib/sqlalchemy/engine/util.py
lib/sqlalchemy/event/legacy.py
lib/sqlalchemy/ext/asyncio/engine.py
lib/sqlalchemy/ext/compiler.py
lib/sqlalchemy/future/engine.py
lib/sqlalchemy/orm/persistence.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/pool/base.py
lib/sqlalchemy/sql/base.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/ddl.py
lib/sqlalchemy/sql/dml.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/expression.py
lib/sqlalchemy/sql/functions.py
lib/sqlalchemy/sql/lambdas.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
lib/sqlalchemy/testing/assertsql.py
lib/sqlalchemy/testing/engines.py
lib/sqlalchemy/testing/fixtures.py
lib/sqlalchemy/testing/suite/test_dialect.py
lib/sqlalchemy/testing/suite/test_results.py
test/aaa_profiling/test_orm.py
test/dialect/mssql/test_reflection.py
test/dialect/mysql/test_dialect.py
test/dialect/mysql/test_for_update.py
test/dialect/postgresql/test_dialect.py
test/dialect/test_sqlite.py
test/engine/test_ddlevents.py
test/engine/test_deprecations.py
test/engine/test_execute.py
test/engine/test_logging.py
test/engine/test_parseconnect.py
test/engine/test_processors.py
test/engine/test_reconnect.py
test/engine/test_transaction.py
test/orm/test_bind.py
test/orm/test_transaction.py
test/orm/test_unitofworkv2.py
test/profiles.txt
test/requirements.py
test/sql/test_compiler.py
test/sql/test_cte.py
test/sql/test_defaults.py
test/sql/test_deprecations.py
test/sql/test_resultset.py
test/sql/test_sequences.py