]> 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:41:36 +0000 (15:41 -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

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 74cdb0c73d9beef874cfeecd2027e81331ff44c4..b57ec1afb52632521ab636ebcb2f3d2676d47214 100644 (file)
@@ -361,7 +361,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)
     """