|
|
|
# dialects/mysql/reserved_words.py
|
|
|
|
# Copyright (C) 2005-2024 the SQLAlchemy authors and contributors
|
|
|
|
# <see AUTHORS file>
|
|
|
|
#
|
|
|
|
# This module is part of SQLAlchemy and is released under
|
|
|
|
# the MIT License: https://www.opensource.org/licenses/mit-license.php
|
|
|
|
|
|
|
|
# generated using:
|
|
|
|
# https://gist.github.com/kkirsche/4f31f2153ed7a3248be1ec44ca6ddbc9
|
|
|
|
#
|
|
|
|
# https://mariadb.com/kb/en/reserved-words/
|
|
|
|
# includes: Reserved Words, Oracle Mode (separate set unioned)
|
|
|
|
# excludes: Exceptions, Function Names
|
|
|
|
# mypy: ignore-errors
|
|
|
|
|
|
|
|
RESERVED_WORDS_MARIADB = {
|
|
|
|
"accessible",
|
|
|
|
"add",
|
|
|
|
"all",
|
|
|
|
"alter",
|
|
|
|
"analyze",
|
|
|
|
"and",
|
|
|
|
"as",
|
|
|
|
"asc",
|
|
|
|
"asensitive",
|
|
|
|
"before",
|
|
|
|
"between",
|
|
|
|
"bigint",
|
|
|
|
"binary",
|
|
|
|
"blob",
|
|
|
|
"both",
|
|
|
|
"by",
|
|
|
|
"call",
|
|
|
|
"cascade",
|
|
|
|
"case",
|
|
|
|
"change",
|
|
|
|
"char",
|
|
|
|
"character",
|
|
|
|
"check",
|
|
|
|
"collate",
|
|
|
|
"column",
|
|
|
|
"condition",
|
|
|
|
"constraint",
|
|
|
|
"continue",
|
|
|
|
"convert",
|
|
|
|
"create",
|
|
|
|
"cross",
|
|
|
|
"current_date",
|
|
|
|
"current_role",
|
|
|
|
"current_time",
|
|
|
|
"current_timestamp",
|
|
|
|
"current_user",
|
|
|
|
"cursor",
|
|
|
|
"database",
|
|
|
|
"databases",
|
|
|
|
"day_hour",
|
|
|
|
"day_microsecond",
|
|
|
|
"day_minute",
|
|
|
|
"day_second",
|
|
|
|
"dec",
|
|
|
|
"decimal",
|
|
|
|
"declare",
|
|
|
|
"default",
|
|
|
|
"delayed",
|
|
|
|
"delete",
|
|
|
|
"desc",
|
|
|
|
"describe",
|
|
|
|
"deterministic",
|
|
|
|
"distinct",
|
|
|
|
"distinctrow",
|
|
|
|
"div",
|
|
|
|
"do_domain_ids",
|
|
|
|
"double",
|
|
|
|
"drop",
|
|
|
|
"dual",
|
|
|
|
"each",
|
|
|
|
"else",
|
|
|
|
"elseif",
|
|
|
|
"enclosed",
|
|
|
|
"escaped",
|
|
|
|
"except",
|
|
|
|
"exists",
|
|
|
|
"exit",
|
|
|
|
"explain",
|
|
|
|
"false",
|
|
|
|
"fetch",
|
|
|
|
"float",
|
|
|
|
"float4",
|
|
|
|
"float8",
|
|
|
|
"for",
|
|
|
|
"force",
|
|
|
|
"foreign",
|
|
|
|
"from",
|
|
|
|
"fulltext",
|
|
|
|
"general",
|
|
|
|
"grant",
|
|
|
|
"group",
|
|
|
|
"having",
|
|
|
|
"high_priority",
|
|
|
|
"hour_microsecond",
|
|
|
|
"hour_minute",
|
|
|
|
"hour_second",
|
|
|
|
"if",
|
|
|
|
"ignore",
|
|
|
|
"ignore_domain_ids",
|
|
|
|
"ignore_server_ids",
|
|
|
|
"in",
|
|
|
|
"index",
|
|
|
|
"infile",
|
|
|
|
"inner",
|
|
|
|
"inout",
|
|
|
|
"insensitive",
|
|
|
|
"insert",
|
|
|
|
"int",
|
|
|
|
"int1",
|
|
|
|
"int2",
|
|
|
|
"int3",
|
|
|
|
"int4",
|
|
|
|
"int8",
|
|
|
|
"integer",
|
|
|
|
"intersect",
|
|
|
|
"interval",
|
|
|
|
"into",
|
|
|
|
"is",
|
|
|
|
"iterate",
|
|
|
|
"join",
|
|
|
|
"key",
|
|
|
|
"keys",
|
|
|
|
"kill",
|
|
|
|
"leading",
|
|
|
|
"leave",
|
|
|
|
"left",
|
|
|
|
"like",
|
|
|
|
"limit",
|
|
|
|
"linear",
|
|
|
|
"lines",
|
|
|
|
"load",
|
|
|
|
"localtime",
|
|
|
|
"localtimestamp",
|
|
|
|
"lock",
|
|
|
|
"long",
|
|
|
|
"longblob",
|
|
|
|
"longtext",
|
|
|
|
"loop",
|
|
|
|
"low_priority",
|
|
|
|
"master_heartbeat_period",
|
|
|
|
"master_ssl_verify_server_cert",
|
|
|
|
"match",
|
|
|
|
"maxvalue",
|
|
|
|
"mediumblob",
|
|
|
|
"mediumint",
|
|
|
|
"mediumtext",
|
|
|
|
"middleint",
|
|
|
|
"minute_microsecond",
|
|
|
|
"minute_second",
|
|
|
|
"mod",
|
|
|
|
"modifies",
|
|
|
|
"natural",
|
|
|
|
"no_write_to_binlog",
|
|
|
|
"not",
|
|
|
|
"null",
|
|
|
|
"numeric",
|
|
|
|
"offset",
|
|
|
|
"on",
|
|
|
|
"optimize",
|
|
|
|
"option",
|
|
|
|
"optionally",
|
|
|
|
"or",
|
|
|
|
"order",
|
|
|
|
"out",
|
|
|
|
"outer",
|
|
|
|
"outfile",
|
|
|
|
"over",
|
|
|
|
"page_checksum",
|
|
|
|
"parse_vcol_expr",
|
|
|
|
"partition",
|
|
|
|
"position",
|
|
|
|
"precision",
|
|
|
|
"primary",
|
|
|
|
"procedure",
|
|
|
|
"purge",
|
|
|
|
"range",
|
|
|
|
"read",
|
|
|
|
"read_write",
|
|
|
|
"reads",
|
|
|
|
"real",
|
|
|
|
"recursive",
|
|
|
|
"ref_system_id",
|
|
|
|
"references",
|
|
|
|
"regexp",
|
|
|
|
"release",
|
|
|
|
"rename",
|
|
|
|
"repeat",
|
|
|
|
"replace",
|
|
|
|
"require",
|
|
|
|
"resignal",
|
|
|
|
"restrict",
|
|
|
|
"return",
|
|
|
|
"returning",
|
|
|
|
"revoke",
|
|
|
|
"right",
|
|
|
|
"rlike",
|
|
|
|
"rows",
|
|
|
|
"row_number",
|
|
|
|
"schema",
|
|
|
|
"schemas",
|
|
|
|
"second_microsecond",
|
|
|
|
"select",
|
|
|
|
"sensitive",
|
|
|
|
"separator",
|
|
|
|
"set",
|
|
|
|
"show",
|
|
|
|
"signal",
|
|
|
|
"slow",
|
|
|
|
"smallint",
|
|
|
|
"spatial",
|
|
|
|
"specific",
|
|
|
|
"sql",
|
|
|
|
"sql_big_result",
|
|
|
|
"sql_calc_found_rows",
|
|
|
|
"sql_small_result",
|
|
|
|
"sqlexception",
|
|
|
|
"sqlstate",
|
|
|
|
"sqlwarning",
|
|
|
|
"ssl",
|
|
|
|
"starting",
|
|
|
|
"stats_auto_recalc",
|
|
|
|
"stats_persistent",
|
|
|
|
"stats_sample_pages",
|
|
|
|
"straight_join",
|
|
|
|
"table",
|
|
|
|
"terminated",
|
|
|
|
"then",
|
|
|
|
"tinyblob",
|
|
|
|
"tinyint",
|
|
|
|
"tinytext",
|
|
|
|
"to",
|
|
|
|
"trailing",
|
|
|
|
"trigger",
|
|
|
|
"true",
|
|
|
|
"undo",
|
|
|
|
"union",
|
|
|
|
"unique",
|
|
|
|
"unlock",
|
|
|
|
"unsigned",
|
|
|
|
"update",
|
|
|
|
"usage",
|
|
|
|
"use",
|
|
|
|
"using",
|
|
|
|
"utc_date",
|
|
|
|
"utc_time",
|
|
|
|
"utc_timestamp",
|
|
|
|
"values",
|
|
|
|
"varbinary",
|
|
|
|
"varchar",
|
|
|
|
"varcharacter",
|
|
|
|
"varying",
|
|
|
|
"when",
|
|
|
|
"where",
|
|
|
|
"while",
|
|
|
|
"window",
|
|
|
|
"with",
|
|
|
|
"write",
|
|
|
|
"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
|
|
|
|
# https://dev.mysql.com/doc/refman/5.6/en/keywords.html
|
|
|
|
# includes: MySQL x.0 Keywords and Reserved Words
|
|
|
|
# excludes: MySQL x.0 New Keywords and Reserved Words,
|
|
|
|
# MySQL x.0 Removed Keywords and Reserved Words
|
|
|
|
RESERVED_WORDS_MYSQL = {
|
|
|
|
"accessible",
|
|
|
|
"add",
|
|
|
|
"admin",
|
|
|
|
"all",
|
|
|
|
"alter",
|
|
|
|
"analyze",
|
|
|
|
"and",
|
|
|
|
"array",
|
|
|
|
"as",
|
|
|
|
"asc",
|
|
|
|
"asensitive",
|
|
|
|
"before",
|
|
|
|
"between",
|
|
|
|
"bigint",
|
|
|
|
"binary",
|
|
|
|
"blob",
|
|
|
|
"both",
|
|
|
|
"by",
|
|
|
|
"call",
|
|
|
|
"cascade",
|
|
|
|
"case",
|
|
|
|
"change",
|
|
|
|
"char",
|
|
|
|
"character",
|
|
|
|
"check",
|
|
|
|
"collate",
|
|
|
|
"column",
|
|
|
|
"condition",
|
|
|
|
"constraint",
|
|
|
|
"continue",
|
|
|
|
"convert",
|
|
|
|
"create",
|
|
|
|
"cross",
|
|
|
|
"cube",
|
|
|
|
"cume_dist",
|
|
|
|
"current_date",
|
|
|
|
"current_time",
|
|
|
|
"current_timestamp",
|
|
|
|
"current_user",
|
|
|
|
"cursor",
|
|
|
|
"database",
|
|
|
|
"databases",
|
|
|
|
"day_hour",
|
|
|
|
"day_microsecond",
|
|
|
|
"day_minute",
|
|
|
|
"day_second",
|
|
|
|
"dec",
|
|
|
|
"decimal",
|
|
|
|
"declare",
|
|
|
|
"default",
|
|
|
|
"delayed",
|
|
|
|
"delete",
|
|
|
|
"dense_rank",
|
|
|
|
"desc",
|
|
|
|
"describe",
|
|
|
|
"deterministic",
|
|
|
|
"distinct",
|
|
|
|
"distinctrow",
|
|
|
|
"div",
|
|
|
|
"double",
|
|
|
|
"drop",
|
|
|
|
"dual",
|
|
|
|
"each",
|
|
|
|
"else",
|
|
|
|
"elseif",
|
|
|
|
"empty",
|
|
|
|
"enclosed",
|
|
|
|
"escaped",
|
|
|
|
"except",
|
|
|
|
"exists",
|
|
|
|
"exit",
|
|
|
|
"explain",
|
|
|
|
"false",
|
|
|
|
"fetch",
|
|
|
|
"first_value",
|
|
|
|
"float",
|
|
|
|
"float4",
|
|
|
|
"float8",
|
|
|
|
"for",
|
|
|
|
"force",
|
|
|
|
"foreign",
|
|
|
|
"from",
|
|
|
|
"fulltext",
|
|
|
|
"function",
|
|
|
|
"general",
|
|
|
|
"generated",
|
|
|
|
"get",
|
|
|
|
"get_master_public_key",
|
|
|
|
"grant",
|
|
|
|
"group",
|
|
|
|
"grouping",
|
|
|
|
"groups",
|
|
|
|
"having",
|
|
|
|
"high_priority",
|
|
|
|
"hour_microsecond",
|
|
|
|
"hour_minute",
|
|
|
|
"hour_second",
|
|
|
|
"if",
|
|
|
|
"ignore",
|
|
|
|
"ignore_server_ids",
|
|
|
|
"in",
|
|
|
|
"index",
|
|
|
|
"infile",
|
|
|
|
"inner",
|
|
|
|
"inout",
|
|
|
|
"insensitive",
|
|
|
|
"insert",
|
|
|
|
"int",
|
|
|
|
"int1",
|
|
|
|
"int2",
|
|
|
|
"int3",
|
|
|
|
"int4",
|
|
|
|
"int8",
|
|
|
|
"integer",
|
|
|
|
"interval",
|
|
|
|
"into",
|
|
|
|
"io_after_gtids",
|
|
|
|
"io_before_gtids",
|
|
|
|
"is",
|
|
|
|
"iterate",
|
|
|
|
"join",
|
|
|
|
"json_table",
|
|
|
|
"key",
|
|
|
|
"keys",
|
|
|
|
"kill",
|
|
|
|
"lag",
|
|
|
|
"last_value",
|
|
|
|
"lateral",
|
|
|
|
"lead",
|
|
|
|
"leading",
|
|
|
|
"leave",
|
|
|
|
"left",
|
|
|
|
"like",
|
|
|
|
"limit",
|
|
|
|
"linear",
|
|
|
|
"lines",
|
|
|
|
"load",
|
|
|
|
"localtime",
|
|
|
|
"localtimestamp",
|
|
|
|
"lock",
|
|
|
|
"long",
|
|
|
|
"longblob",
|
|
|
|
"longtext",
|
|
|
|
"loop",
|
|
|
|
"low_priority",
|
|
|
|
"master_bind",
|
|
|
|
"master_heartbeat_period",
|
|
|
|
"master_ssl_verify_server_cert",
|
|
|
|
"match",
|
|
|
|
"maxvalue",
|
|
|
|
"mediumblob",
|
|
|
|
"mediumint",
|
|
|
|
"mediumtext",
|
|
|
|
"member",
|
|
|
|
"middleint",
|
|
|
|
"minute_microsecond",
|
|
|
|
"minute_second",
|
|
|
|
"mod",
|
|
|
|
"modifies",
|
|
|
|
"natural",
|
|
|
|
"no_write_to_binlog",
|
|
|
|
"not",
|
|
|
|
"nth_value",
|
|
|
|
"ntile",
|
|
|
|
"null",
|
|
|
|
"numeric",
|
|
|
|
"of",
|
|
|
|
"on",
|
|
|
|
"optimize",
|
|
|
|
"optimizer_costs",
|
|
|
|
"option",
|
|
|
|
"optionally",
|
|
|
|
"or",
|
|
|
|
"order",
|
|
|
|
"out",
|
|
|
|
"outer",
|
|
|
|
"outfile",
|
|
|
|
"over",
|
|
|
|
"parse_gcol_expr",
|
|
|
|
"partition",
|
|
|
|
"percent_rank",
|
|
|
|
"persist",
|
|
|
|
"persist_only",
|
|
|
|
"precision",
|
|
|
|
"primary",
|
|
|
|
"procedure",
|
|
|
|
"purge",
|
|
|
|
"range",
|
|
|
|
"rank",
|
|
|
|
"read",
|
|
|
|
"read_write",
|
|
|
|
"reads",
|
|
|
|
"real",
|
|
|
|
"recursive",
|
|
|
|
"references",
|
|
|
|
"regexp",
|
|
|
|
"release",
|
|
|
|
"rename",
|
|
|
|
"repeat",
|
|
|
|
"replace",
|
|
|
|
"require",
|
|
|
|
"resignal",
|
|
|
|
"restrict",
|
|
|
|
"return",
|
|
|
|
"revoke",
|
|
|
|
"right",
|
|
|
|
"rlike",
|
|
|
|
"role",
|
|
|
|
"row",
|
|
|
|
"row_number",
|
|
|
|
"rows",
|
|
|
|
"schema",
|
|
|
|
"schemas",
|
|
|
|
"second_microsecond",
|
|
|
|
"select",
|
|
|
|
"sensitive",
|
|
|
|
"separator",
|
|
|
|
"set",
|
|
|
|
"show",
|
|
|
|
"signal",
|
|
|
|
"slow",
|
|
|
|
"smallint",
|
|
|
|
"spatial",
|
|
|
|
"specific",
|
|
|
|
"sql",
|
|
|
|
"sql_after_gtids",
|
|
|
|
"sql_before_gtids",
|
|
|
|
"sql_big_result",
|
|
|
|
"sql_calc_found_rows",
|
|
|
|
"sql_small_result",
|
|
|
|
"sqlexception",
|
|
|
|
"sqlstate",
|
|
|
|
"sqlwarning",
|
|
|
|
"ssl",
|
|
|
|
"starting",
|
|
|
|
"stored",
|
|
|
|
"straight_join",
|
|
|
|
"system",
|
|
|
|
"table",
|
|
|
|
"terminated",
|
|
|
|
"then",
|
|
|
|
"tinyblob",
|
|
|
|
"tinyint",
|
|
|
|
"tinytext",
|
|
|
|
"to",
|
|
|
|
"trailing",
|
|
|
|
"trigger",
|
|
|
|
"true",
|
|
|
|
"undo",
|
|
|
|
"union",
|
|
|
|
"unique",
|
|
|
|
"unlock",
|
|
|
|
"unsigned",
|
|
|
|
"update",
|
|
|
|
"usage",
|
|
|
|
"use",
|
|
|
|
"using",
|
|
|
|
"utc_date",
|
|
|
|
"utc_time",
|
|
|
|
"utc_timestamp",
|
|
|
|
"values",
|
|
|
|
"varbinary",
|
|
|
|
"varchar",
|
|
|
|
"varcharacter",
|
|
|
|
"varying",
|
|
|
|
"virtual",
|
|
|
|
"when",
|
|
|
|
"where",
|
|
|
|
"while",
|
|
|
|
"window",
|
|
|
|
"with",
|
|
|
|
"write",
|
|
|
|
"xor",
|
|
|
|
"year_month",
|
|
|
|
"zerofill",
|
|
|
|
}
|