summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-10-26 15:52:25 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2021-10-26 15:54:10 -0400
commit1b5e2b1e05181b9ecd757ce964482c65869395e3 (patch)
treeeb2f6a6302c3e340bad63c488f4baa018dab6d0c
parentd2cf7dcfe0cd7e9986376b6e7edd4b7d60108599 (diff)
downloadsqlalchemy-1b5e2b1e05181b9ecd757ce964482c65869395e3.tar.gz
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
-rw-r--r--lib/sqlalchemy/dialects/mysql/reserved_words.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/reserved_words.py b/lib/sqlalchemy/dialects/mysql/reserved_words.py
index fc2b13b44..e2c39852d 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