summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2017-09-28 12:31:54 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2017-09-28 12:34:09 -0400
commit21bf37f6e429276aa8cc60c1aa756e4bafa74b3e (patch)
treed40a34002f11a3b01b45d246774bca049fba1940
parent4a2760ffd227af7b5aead674e3c2f72b28617a12 (diff)
downloadsqlalchemy-21bf37f6e429276aa8cc60c1aa756e4bafa74b3e.tar.gz
Warn for mariadb 10.2 < 9
There's a few CHECK constraint issues we managed to get resolved as of MariaDB 10.2.8 then 10.2.9. They are pretty severe so warn users for these particular mariadb versions. Change-Id: Ie0899f94fda25960975ebee72f3044370f43eb7c Fixes: #4097
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index b1b249001..bdc117e91 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -1868,6 +1868,21 @@ class MySQLDialect(default.DefaultDialect):
default.DefaultDialect.initialize(self, connection)
+ self._warn_for_known_db_issues()
+
+ def _warn_for_known_db_issues(self):
+ if self._is_mariadb:
+ mdb_version = self._mariadb_normalized_version_info
+ if mdb_version > (10, 2) and mdb_version < (10, 2, 9):
+ util.warn(
+ "MariaDB %r before 10.2.9 has known issues regarding "
+ "CHECK constraints, which impact handling of NULL values "
+ "with SQLAlchemy's boolean datatype (MDEV-13596). An "
+ "additional issue prevents proper migrations of columns "
+ "with CHECK constraints (MDEV-11114). Please upgrade to "
+ "MariaDB 10.2.9 or greater, or use the MariaDB 10.1 "
+ "series, to avoid these issues." % (mdb_version, ))
+
@property
def _is_mariadb(self):
return 'MariaDB' in self.server_version_info