]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
turn off pyodbc pooling
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 11 Aug 2024 19:41:36 +0000 (15:41 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 11 Aug 2024 19:42:19 +0000 (15:42 -0400)
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
lib/sqlalchemy/testing/provision.py

index 143d386c45e14ec867aab5c942791fe80da36e51..1c684b1dfefa86ee49ec433e4efa815f8bfd19a2 100644 (file)
@@ -22,10 +22,17 @@ from ...testing.provision import generate_driver_url
 from ...testing.provision import get_temp_table_name
 from ...testing.provision import log
 from ...testing.provision import normalize_sequence
+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
+
+
 @generate_driver_url.for_db("mssql")
 def generate_driver_url(url, driver, query_str):
     backend = url.get_backend_name()
index e50c6eb5d5d4f91d0347bcf6aa2d929456a59516..c6dc43e5383a41103737103b9a0322b8d13b0c44 100644 (file)
@@ -362,7 +362,7 @@ def update_db_opts(db_url, db_opts, options):
 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)
     """