diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-09-28 12:31:54 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-09-28 12:34:09 -0400 |
commit | 21bf37f6e429276aa8cc60c1aa756e4bafa74b3e (patch) | |
tree | d40a34002f11a3b01b45d246774bca049fba1940 | |
parent | 4a2760ffd227af7b5aead674e3c2f72b28617a12 (diff) | |
download | sqlalchemy-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.py | 15 |
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 |