From 1b5e2b1e05181b9ecd757ce964482c65869395e3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 26 Oct 2021 15:52:25 -0400 Subject: [PATCH] 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 --- .../dialects/mysql/reserved_words.py | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) 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 -- 2.47.3