From 6ba3167188421a7cd812508e2d5403a66dd6a180 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Mon, 18 Oct 2021 18:44:17 -0400 Subject: [PATCH] refactor: undo separation of files per zzzeek's comment --- lib/sqlalchemy/dialects/mysql/base.py | 311 ++++++++++++++++- .../dialects/mysql/reserved_words.py | 313 ------------------ 2 files changed, 310 insertions(+), 314 deletions(-) delete mode 100644 lib/sqlalchemy/dialects/mysql/reserved_words.py diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py index bacc5130eb..6a45bb9722 100644 --- a/lib/sqlalchemy/dialects/mysql/base.py +++ b/lib/sqlalchemy/dialects/mysql/base.py @@ -949,7 +949,6 @@ from .enumerated import SET from .json import JSON from .json import JSONIndexType from .json import JSONPathType -from .reserved_words import RESERVED_WORDS from .types import _FloatType from .types import _IntegerType from .types import _MatchType @@ -1004,6 +1003,316 @@ from ...types import DATE from ...types import VARBINARY from ...util import topological +# MySQL Reserved Words List: +# https://dev.mysql.com/doc/refman/8.0/en/keywords.html +# +# MariaDB Reserved Words List: +# https://mariadb.com/kb/en/reserved-words/ +RESERVED_WORDS = set( + [ + "accessible", + "action", + "add", + "admin", + "all", + "alter", + "analyze", + "and", + "array", # 8.0 + "as", + "asc", + "asensitive", + "before", + "between", + "bigint", + "binary", + "blob", + "both", + "by", + "call", + "cascade", + "case", + "change", + "char", + "character", + "check", + "collate", + "column", + "columns", + "condition", + "constraint", + "continue", + "convert", + "create", + "cross", + "cube", + "cume_dist", + "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", + "empty", + "enclosed", + "escaped", + "except", + "exists", + "exit", + "explain", + "false", + "fetch", + "fields", + "first_value", + "float", + "float4", + "float8", + "for", + "force", + "foreign", + "from", + "fulltext", + "function", + "general", + "generated", + "get", + "grant", + "group", + "grouping", + "groups", + "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", + "io_after_gtids", + "io_before_gtids", + "is", + "iterate", + "join", + "json_table", + "key", + "keys", + "kill", + "last_value", + "lateral", + "leading", + "leave", + "left", + "level", + "like", + "limit", + "linear", + "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", # 8.0 + "middleint", + "minute_microsecond", + "minute_second", + "mod", + "mode", + "modifies", + "natural", + "no_write_to_binlog", + "not", + "nth_value", + "ntile", + "null", + "numeric", + "of", + "offset", + "on", + "one_shot", + "optimize", + "optimizer_costs", + "option", + "optionally", + "or", + "order", + "out", + "outer", + "outfile", + "over", + "page_checksum", + "parse_vcol_expr", + "partition", + "position", + "percent_rank", + "persist", + "persist_only", + "precision", + "primary", + "privileges", + "procedure", + "purge", + "range", + "rank", + "read", + "read_only", + "read_only", + "read_write", + "read_write", # 5.1 + "reads", + "real", + "recursive", + "ref_system_id", + "references", + "regexp", + "release", + "rename", + "repeat", + "replace", + "require", + "resignal", + "restrict", + "return", + "returning", + "revoke", + "right", + "rlike", + "role", + "row", + "row_number", + "rows", + "schema", + "schemas", + "second_microsecond", + "select", + "sensitive", + "separator", + "set", + "show", + "signal", + "slow", # 5.5 + "smallint", + "soname", + "spatial", + "specific", + "sql", + "sql_after_gtids", + "sql_before_gtids", # 5.6 + "sql_big_result", + "sql_small_result", + "sql_calc_found_rows", + "sql_small_result", + "sqlexception", + "sqlstate", + "sqlwarning", + "ssl", + "starting", + "status", + "stats_auto_recalc", + "stats_persistent", + "stats_sample_pages", + "stored", + "straight_join", + "system", + "table", + "tables", # 4.1 + "terminated", + "text", + "then", + "time", + "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", # 5.7 + "when", + "where", + "while", + "window", # 8.0 + "with", + "write", + "x509", + "xor", + "year_month", + "zerofill", # 5.0 + ] +) AUTOCOMMIT_RE = re.compile( r"\s*(?:UPDATE|INSERT|CREATE|DELETE|DROP|ALTER|LOAD +DATA|REPLACE)", diff --git a/lib/sqlalchemy/dialects/mysql/reserved_words.py b/lib/sqlalchemy/dialects/mysql/reserved_words.py deleted file mode 100644 index 5e84af3f18..0000000000 --- a/lib/sqlalchemy/dialects/mysql/reserved_words.py +++ /dev/null @@ -1,313 +0,0 @@ -#!/usr/bin/env python3 - - -# MySQL Reserved Words List: -# https://dev.mysql.com/doc/refman/8.0/en/keywords.html -# -# MariaDB Reserved Words List: -# https://mariadb.com/kb/en/reserved-words/ -RESERVED_WORDS = set( - [ - "accessible", - "action", - "add", - "admin", - "all", - "alter", - "analyze", - "and", - "array", # 8.0 - "as", - "asc", - "asensitive", - "before", - "between", - "bigint", - "binary", - "blob", - "both", - "by", - "call", - "cascade", - "case", - "change", - "char", - "character", - "check", - "collate", - "column", - "columns", - "condition", - "constraint", - "continue", - "convert", - "create", - "cross", - "cube", - "cume_dist", - "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", - "empty", - "enclosed", - "escaped", - "except", - "exists", - "exit", - "explain", - "false", - "fetch", - "fields", - "first_value", - "float", - "float4", - "float8", - "for", - "force", - "foreign", - "from", - "fulltext", - "function", - "general", - "generated", - "get", - "grant", - "group", - "grouping", - "groups", - "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", - "io_after_gtids", - "io_before_gtids", - "is", - "iterate", - "join", - "json_table", - "key", - "keys", - "kill", - "last_value", - "lateral", - "leading", - "leave", - "left", - "level", - "like", - "limit", - "linear", - "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", # 8.0 - "middleint", - "minute_microsecond", - "minute_second", - "mod", - "mode", - "modifies", - "natural", - "no_write_to_binlog", - "not", - "nth_value", - "ntile", - "null", - "numeric", - "of", - "offset", - "on", - "one_shot", - "optimize", - "optimizer_costs", - "option", - "optionally", - "or", - "order", - "out", - "outer", - "outfile", - "over", - "page_checksum", - "parse_vcol_expr", - "partition", - "position", - "percent_rank", - "persist", - "persist_only", - "precision", - "primary", - "privileges", - "procedure", - "purge", - "range", - "rank", - "read", - "read_only", - "read_only", - "read_write", - "read_write", # 5.1 - "reads", - "real", - "recursive", - "ref_system_id", - "references", - "regexp", - "release", - "rename", - "repeat", - "replace", - "require", - "resignal", - "restrict", - "return", - "returning", - "revoke", - "right", - "rlike", - "role", - "row", - "row_number", - "rows", - "schema", - "schemas", - "second_microsecond", - "select", - "sensitive", - "separator", - "set", - "show", - "signal", - "slow", # 5.5 - "smallint", - "soname", - "spatial", - "specific", - "sql", - "sql_after_gtids", - "sql_before_gtids", # 5.6 - "sql_big_result", - "sql_small_result", - "sql_calc_found_rows", - "sql_small_result", - "sqlexception", - "sqlstate", - "sqlwarning", - "ssl", - "starting", - "status", - "stats_auto_recalc", - "stats_persistent", - "stats_sample_pages", - "stored", - "straight_join", - "system", - "table", - "tables", # 4.1 - "terminated", - "text", - "then", - "time", - "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", # 5.7 - "when", - "where", - "while", - "window", # 8.0 - "with", - "write", - "x509", - "xor", - "year_month", - "zerofill", # 5.0 - ] -) -- 2.47.3