From: Kevin Kirsche Date: Tue, 19 Oct 2021 19:40:50 +0000 (-0400) Subject: refactor: add unit test for differing behavior of MySQL and MariaDB reserved word... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=49ec848d29357ed544e741e5146c99617380c6ea;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git refactor: add unit test for differing behavior of MySQL and MariaDB reserved word lists --- diff --git a/test/dialect/mysql/test_compiler.py b/test/dialect/mysql/test_compiler.py index c6c3bf99d5..126d69c9cd 100644 --- a/test/dialect/mysql/test_compiler.py +++ b/test/dialect/mysql/test_compiler.py @@ -80,6 +80,38 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): "mysql_table.`master_ssl_verify_server_cert` FROM mysql_table", ) + def test_reserved_words_mysql_vs_mariadb(self): + # note: in the event that MariaDB adds "lead" to the list of reserved words + # at https://mariadb.com/kb/en/reserved-words/ this test will need to be + # updated. Similarly, if MySQL adds page_checksum as a reserved word, this + # will need to be updated. As of Oct. 19, 2021 this test is valid. + # + # values were taken from diff in Github pull request 7207 + table = Table( + "rw_table", + MetaData(), + Column("lead", Integer), + Column("master_ssl_verify_server_cert", Integer), + Column("page_checksum", Integer), + ) + x = select(table) + + self.assert_compile( + x, + "SELECT rw_table.lead, " + "rw_table.`master_ssl_verify_server_cert`, " + "rw_table.`page_checksum` FROM rw_table", + dialect="mariadb", + ) + + self.assert_compile( + x, + "SELECT rw_table.`lead`, " + "rw_table.`master_ssl_verify_server_cert`, " + "rw_table.page_checksum FROM rw_table", + dialect="mysql", + ) + def test_create_index_simple(self): m = MetaData() tbl = Table("testtbl", m, Column("data", String(255)))