]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Remove version warning in SQL Server
authorFederico Caselli <cfederico87@gmail.com>
Wed, 18 Mar 2026 19:45:39 +0000 (20:45 +0100)
committerFederico Caselli <cfederico87@gmail.com>
Wed, 18 Mar 2026 19:45:55 +0000 (20:45 +0100)
Remove warning for SQL Server dialect when a new version is detected.
The warning was originally added more than 15 years ago due to an unexpected
value returned when using an old version of FreeTDS.
The assumption is that since then the issue has been resolved, so make the
SQL Server dialect behave like the other ones that don't have an upper bound
check on the version number.

This effectively reverts 64d92c836ce029e33b57bcabd4ca76944549e022
that was added for #1825

Fixes: #13185
Change-Id: I79c6951b2fbb6da2caefca97dc3e1b9d8f48f0ab
(cherry picked from commit f5e4c2bcaa27cf1e1e73e5fc8d4ca19180954ae8)

doc/build/changelog/unreleased_20/13185.rst [new file with mode: 0644]
lib/sqlalchemy/dialects/mssql/base.py
test/dialect/mssql/test_engine.py

diff --git a/doc/build/changelog/unreleased_20/13185.rst b/doc/build/changelog/unreleased_20/13185.rst
new file mode 100644 (file)
index 0000000..a4c1b20
--- /dev/null
@@ -0,0 +1,10 @@
+.. change::
+    :tags: mssql, usecase
+    :tickets: 13185
+
+    Remove warning for SQL Server dialect when a new version is detected.
+    The warning was originally added more than 15 years ago due to an unexpected
+    value returned when using an old version of FreeTDS.
+    The assumption is that since then the issue has been resolved, so make the
+    SQL Server dialect behave like the other ones that don't have an upper bound
+    check on the version number.
index a4f23f9a50b202694fdac2645c416437f898cad8..d754904b305ac9c7120b8c417b50556b3b714049 100644 (file)
@@ -3254,13 +3254,6 @@ class MSDialect(default.DefaultDialect):
         self._setup_supports_comments(connection)
 
     def _setup_version_attributes(self):
-        if self.server_version_info[0] not in list(range(8, 17)):
-            util.warn(
-                "Unrecognized server version info '%s'.  Some SQL Server "
-                "features may not function properly."
-                % ".".join(str(x) for x in self.server_version_info)
-            )
-
         if self.server_version_info >= MS_2008_VERSION:
             self.supports_multivalues_insert = True
         else:
index 26b7208ec8a8bbc9d22fa2f1746b9e98cfc8b1e1..a1b2e9a79cb49738d9a9e304dc05903e423d2f94 100644 (file)
@@ -375,18 +375,6 @@ class ParseConnectTest(fixtures.TestBase):
             False,
         )
 
-    @testing.requires.mssql_freetds
-    def test_bad_freetds_warning(self):
-        engine = engines.testing_engine()
-
-        def _bad_version(connection):
-            return 95, 10, 255
-
-        engine.dialect._get_server_version_info = _bad_version
-        assert_raises_message(
-            exc.SAWarning, "Unrecognized server version info", engine.connect
-        )
-
 
 class FastExecutemanyTest(fixtures.TestBase):
     __only_on__ = "mssql"