From: Mike Bayer Date: Fri, 28 Oct 2022 05:49:48 +0000 (-0400) Subject: open some compound tests for mysql 8.0.31 X-Git-Tag: rel_1_4_43~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d77db96f72b72cf4797ad54eed2e3dc889aecf4;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git open some compound tests for mysql 8.0.31 Not sure of exact version but as we have done a major rebuild of CI, newer mysql 8.0 is passing on these. Change-Id: Ibcfe0ce519ab6a2941ca514b4254944769b60df4 (cherry picked from commit 50d3b85c693a4ca673bcabd711f130ae58111f16) --- diff --git a/test/requirements.py b/test/requirements.py index ca074c79b2..feb5e2a522 100644 --- a/test/requirements.py +++ b/test/requirements.py @@ -731,7 +731,7 @@ class DefaultRequirements(SuiteRequirements): """Target database must support INTERSECT or equivalent.""" return fails_if( - ["firebird", self._mysql_not_mariadb_103, "sybase"], + ["firebird", self._mysql_not_mariadb_103_not_mysql8031, "sybase"], "no support for INTERSECT", ) @@ -739,7 +739,7 @@ class DefaultRequirements(SuiteRequirements): def except_(self): """Target database must support EXCEPT or equivalent (i.e. MINUS).""" return fails_if( - ["firebird", self._mysql_not_mariadb_103, "sybase"], + ["firebird", self._mysql_not_mariadb_103_not_mysql8031, "sybase"], "no support for EXCEPT", ) @@ -1732,12 +1732,38 @@ class DefaultRequirements(SuiteRequirements): or config.db.dialect._mariadb_normalized_version_info < (10, 3) ) + def _mysql_not_mariadb_103_not_mysql8031(self, config): + return (against(config, ["mysql", "mariadb"])) and ( + ( + config.db.dialect._is_mariadb + and config.db.dialect._mariadb_normalized_version_info + < (10, 3) + ) + or ( + not config.db.dialect._is_mariadb + and config.db.dialect.server_version_info < (8, 0, 31) + ) + ) + def _mysql_not_mariadb_104(self, config): return (against(config, ["mysql", "mariadb"])) and ( not config.db.dialect._is_mariadb or config.db.dialect._mariadb_normalized_version_info < (10, 4) ) + def _mysql_not_mariadb_104_not_mysql8031(self, config): + return (against(config, ["mysql", "mariadb"])) and ( + ( + config.db.dialect._is_mariadb + and config.db.dialect._mariadb_normalized_version_info + < (10, 4) + ) + or ( + not config.db.dialect._is_mariadb + and config.db.dialect.server_version_info < (8, 0, 31) + ) + ) + def _has_mysql_on_windows(self, config): with config.db.connect() as conn: return ( diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 0d81701132..2c0cf15276 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -1241,7 +1241,7 @@ class CompoundTest(fixtures.TablesTest): "has trouble extracting anonymous column from union subquery", ) @testing.fails_on( - testing.requires._mysql_not_mariadb_104, "FIXME: unknown" + testing.requires._mysql_not_mariadb_104_not_mysql8031, "FIXME: unknown" ) @testing.fails_on("sqlite", "FIXME: unknown") def test_union_all(self, connection): @@ -1362,7 +1362,7 @@ class CompoundTest(fixtures.TablesTest): eq_(found2, wanted) @testing.fails_on( - ["sqlite", testing.requires._mysql_not_mariadb_104], + ["sqlite", testing.requires._mysql_not_mariadb_104_not_mysql8031], "Can't handle this style of nesting", ) @testing.requires.except_ @@ -1400,7 +1400,7 @@ class CompoundTest(fixtures.TablesTest): @testing.requires.intersect @testing.fails_on( - ["sqlite", testing.requires._mysql_not_mariadb_104], + ["sqlite", testing.requires._mysql_not_mariadb_104_not_mysql8031], "sqlite can't handle leading parenthesis", ) def test_intersect_unions(self, connection):