]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
update mariadb checks
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 14 Aug 2020 20:19:58 +0000 (16:19 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 14 Aug 2020 20:56:45 +0000 (16:56 -0400)
We want to revise mariadb version info stuff in
SQLAlchemy master so use _is_mariadb and
_mariadb_normalized_version_info
both of which are as far back as rel_1_1 at least

Change-Id: I7040a8a65a81762c11b4033cfed6b015cc97999c

alembic/testing/assertions.py
alembic/testing/fixtures.py
alembic/util/sqla_compat.py

index a78e5e8e379eea3bc1307a68e206abe2e996ec49..e43b3d06c64771d6331197f8dc02258d132f4269 100644 (file)
@@ -65,14 +65,10 @@ def _get_dialect(name):
     if name is None or name == "default":
         return default.DefaultDialect()
     else:
-        try:
-            dialect_mod = _dialect_mods[name]
-        except KeyError:
-            dialect_mod = getattr(
-                __import__("sqlalchemy.dialects.%s" % name).dialects, name
-            )
-            _dialect_mods[name] = dialect_mod
-        d = dialect_mod.dialect()
+        from sqlalchemy.engine import url
+
+        d = url.URL(name).get_dialect()()
+
         if name == "postgresql":
             d.implicit_returning = True
         elif name == "mssql":
index 29514556009405e83fd6608a43d75a7b0579fc66..6acfa9bfd45608f6544bdbcd267c9dae8441667b 100644 (file)
@@ -24,6 +24,7 @@ from ..util.compat import configparser
 from ..util.compat import string_types
 from ..util.compat import text_type
 from ..util.sqla_compat import create_mock_engine
+from ..util.sqla_compat import sqla_14
 
 testing_config = configparser.ConfigParser()
 testing_config.read(["test.cfg"])
@@ -144,9 +145,9 @@ def op_fixture(
         opts["as_sql"] = as_sql
     if literal_binds:
         opts["literal_binds"] = literal_binds
-    if dialect == "mariadb":
+    if not sqla_14 and dialect == "mariadb":
         ctx_dialect = _get_dialect("mysql")
-        ctx_dialect.server_version_info = (10, 0, 0, "MariaDB")
+        ctx_dialect.server_version_info = (10, 4, 0, "MariaDB")
 
     else:
         ctx_dialect = _get_dialect(dialect)
index d3030332be3ae72ef893f59c45c567724ff7eb08..94127f926fcbbfd9f74b01dd89e894fd7143fb28 100644 (file)
@@ -281,17 +281,14 @@ def _comment_attribute(obj):
 
 
 def _is_mariadb(mysql_dialect):
-    return (
-        mysql_dialect.server_version_info
-        and "MariaDB" in mysql_dialect.server_version_info
-    )
+    if sqla_14:
+        return mysql_dialect.is_mariadb
+    else:
+        return mysql_dialect.server_version_info and mysql_dialect._is_mariadb
 
 
 def _mariadb_normalized_version_info(mysql_dialect):
-    if len(mysql_dialect.server_version_info) > 5:
-        return mysql_dialect.server_version_info[3:]
-    else:
-        return mysql_dialect.server_version_info
+    return mysql_dialect._mariadb_normalized_version_info
 
 
 if sqla_14: