From: Mike Bayer Date: Tue, 26 Oct 2021 19:52:25 +0000 (-0400) Subject: add additional "oracle mode" reserved words X-Git-Tag: rel_1_4_27~33^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b5e2b1e05181b9ecd757ce964482c65869395e3;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add additional "oracle mode" reserved words despite mariadb's docs, the word "system" must be quoted in plain mariadb 10.5, not sure if that's "oracle mode" but it is > 10.3. observed keystone tests failing on a column of this name. Fixes: #7167 Change-Id: I153b79809e7da007bcceecec96c1340d1641f0de --- diff --git a/lib/sqlalchemy/dialects/mysql/reserved_words.py b/lib/sqlalchemy/dialects/mysql/reserved_words.py index fc2b13b44f..e2c39852d8 100644 --- a/lib/sqlalchemy/dialects/mysql/reserved_words.py +++ b/lib/sqlalchemy/dialects/mysql/reserved_words.py @@ -9,8 +9,8 @@ # https://gist.github.com/kkirsche/4f31f2153ed7a3248be1ec44ca6ddbc9 # # https://mariadb.com/kb/en/reserved-words/ -# includes: Reserved Words -# excludes: Exceptions, Oracle Mode, Function Names +# includes: Reserved Words, Oracle Mode (separate set unioned) +# excludes: Exceptions, Function Names RESERVED_WORDS_MARIADB = { "accessible", "add", @@ -261,7 +261,23 @@ RESERVED_WORDS_MARIADB = { "xor", "year_month", "zerofill", -} +}.union( + { + "body", + "elsif", + "goto", + "history", + "others", + "package", + "period", + "raise", + "rowtype", + "system", + "system_time", + "versioning", + "without", + } +) # https://dev.mysql.com/doc/refman/8.0/en/keywords.html # https://dev.mysql.com/doc/refman/5.7/en/keywords.html