From b2c94371d8ed85005ca44a26c0f7eb337124760e Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 11 Aug 2024 15:41:36 -0400 Subject: [PATCH] turn off pyodbc pooling new updates of unixodbc are turning this on in CI revealing that our isolation level tests assume no pooling takes place, so disable this, which is only at global module level for pyodbc Change-Id: I971dfddc90d248281e8ca8677a3a41af6de28b86 (cherry picked from commit 896dbdb5920ffb645a8948c254f73dd0fcb0d3c0) --- lib/sqlalchemy/dialects/mssql/provision.py | 7 +++++++ lib/sqlalchemy/testing/provision.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/dialects/mssql/provision.py b/lib/sqlalchemy/dialects/mssql/provision.py index dd001da246..20c39f0d11 100644 --- a/lib/sqlalchemy/dialects/mssql/provision.py +++ b/lib/sqlalchemy/dialects/mssql/provision.py @@ -18,10 +18,17 @@ from ...testing.provision import drop_all_schema_objects_pre_tables from ...testing.provision import drop_db from ...testing.provision import get_temp_table_name from ...testing.provision import log +from ...testing.provision import post_configure_engine from ...testing.provision import run_reap_dbs from ...testing.provision import temp_table_keyword_args +@post_configure_engine.for_db("mssql") +def post_configure_engine(url, engine, follower_ident): + if engine.driver == "pyodbc": + engine.dialect.dbapi.pooling = False + + @create_db.for_db("mssql") def _mssql_create_db(cfg, eng, ident): with eng.connect().execution_options(isolation_level="AUTOCOMMIT") as conn: diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index 56c1be2518..eea9c66dbc 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -314,7 +314,7 @@ def update_db_opts(db_url, db_opts): def post_configure_engine(url, engine, follower_ident): """Perform extra steps after configuring an engine for testing. - (For the internal dialects, currently only used by sqlite, oracle) + (For the internal dialects, currently only used by sqlite, oracle, mssql) """ pass -- 2.47.2