reserved_words.py 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570
  1. # dialects/mysql/reserved_words.py
  2. # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors
  3. # <see AUTHORS file>
  4. #
  5. # This module is part of SQLAlchemy and is released under
  6. # the MIT License: https://www.opensource.org/licenses/mit-license.php
  7. # generated using:
  8. # https://gist.github.com/kkirsche/4f31f2153ed7a3248be1ec44ca6ddbc9
  9. #
  10. # https://mariadb.com/kb/en/reserved-words/
  11. # includes: Reserved Words, Oracle Mode (separate set unioned)
  12. # excludes: Exceptions, Function Names
  13. RESERVED_WORDS_MARIADB = {
  14. "accessible",
  15. "add",
  16. "all",
  17. "alter",
  18. "analyze",
  19. "and",
  20. "as",
  21. "asc",
  22. "asensitive",
  23. "before",
  24. "between",
  25. "bigint",
  26. "binary",
  27. "blob",
  28. "both",
  29. "by",
  30. "call",
  31. "cascade",
  32. "case",
  33. "change",
  34. "char",
  35. "character",
  36. "check",
  37. "collate",
  38. "column",
  39. "condition",
  40. "constraint",
  41. "continue",
  42. "convert",
  43. "create",
  44. "cross",
  45. "current_date",
  46. "current_role",
  47. "current_time",
  48. "current_timestamp",
  49. "current_user",
  50. "cursor",
  51. "database",
  52. "databases",
  53. "day_hour",
  54. "day_microsecond",
  55. "day_minute",
  56. "day_second",
  57. "dec",
  58. "decimal",
  59. "declare",
  60. "default",
  61. "delayed",
  62. "delete",
  63. "desc",
  64. "describe",
  65. "deterministic",
  66. "distinct",
  67. "distinctrow",
  68. "div",
  69. "do_domain_ids",
  70. "double",
  71. "drop",
  72. "dual",
  73. "each",
  74. "else",
  75. "elseif",
  76. "enclosed",
  77. "escaped",
  78. "except",
  79. "exists",
  80. "exit",
  81. "explain",
  82. "false",
  83. "fetch",
  84. "float",
  85. "float4",
  86. "float8",
  87. "for",
  88. "force",
  89. "foreign",
  90. "from",
  91. "fulltext",
  92. "general",
  93. "grant",
  94. "group",
  95. "having",
  96. "high_priority",
  97. "hour_microsecond",
  98. "hour_minute",
  99. "hour_second",
  100. "if",
  101. "ignore",
  102. "ignore_domain_ids",
  103. "ignore_server_ids",
  104. "in",
  105. "index",
  106. "infile",
  107. "inner",
  108. "inout",
  109. "insensitive",
  110. "insert",
  111. "int",
  112. "int1",
  113. "int2",
  114. "int3",
  115. "int4",
  116. "int8",
  117. "integer",
  118. "intersect",
  119. "interval",
  120. "into",
  121. "is",
  122. "iterate",
  123. "join",
  124. "key",
  125. "keys",
  126. "kill",
  127. "leading",
  128. "leave",
  129. "left",
  130. "like",
  131. "limit",
  132. "linear",
  133. "lines",
  134. "load",
  135. "localtime",
  136. "localtimestamp",
  137. "lock",
  138. "long",
  139. "longblob",
  140. "longtext",
  141. "loop",
  142. "low_priority",
  143. "master_heartbeat_period",
  144. "master_ssl_verify_server_cert",
  145. "match",
  146. "maxvalue",
  147. "mediumblob",
  148. "mediumint",
  149. "mediumtext",
  150. "middleint",
  151. "minute_microsecond",
  152. "minute_second",
  153. "mod",
  154. "modifies",
  155. "natural",
  156. "no_write_to_binlog",
  157. "not",
  158. "null",
  159. "numeric",
  160. "offset",
  161. "on",
  162. "optimize",
  163. "option",
  164. "optionally",
  165. "or",
  166. "order",
  167. "out",
  168. "outer",
  169. "outfile",
  170. "over",
  171. "page_checksum",
  172. "parse_vcol_expr",
  173. "partition",
  174. "position",
  175. "precision",
  176. "primary",
  177. "procedure",
  178. "purge",
  179. "range",
  180. "read",
  181. "read_write",
  182. "reads",
  183. "real",
  184. "recursive",
  185. "ref_system_id",
  186. "references",
  187. "regexp",
  188. "release",
  189. "rename",
  190. "repeat",
  191. "replace",
  192. "require",
  193. "resignal",
  194. "restrict",
  195. "return",
  196. "returning",
  197. "revoke",
  198. "right",
  199. "rlike",
  200. "rows",
  201. "row_number",
  202. "schema",
  203. "schemas",
  204. "second_microsecond",
  205. "select",
  206. "sensitive",
  207. "separator",
  208. "set",
  209. "show",
  210. "signal",
  211. "slow",
  212. "smallint",
  213. "spatial",
  214. "specific",
  215. "sql",
  216. "sql_big_result",
  217. "sql_calc_found_rows",
  218. "sql_small_result",
  219. "sqlexception",
  220. "sqlstate",
  221. "sqlwarning",
  222. "ssl",
  223. "starting",
  224. "stats_auto_recalc",
  225. "stats_persistent",
  226. "stats_sample_pages",
  227. "straight_join",
  228. "table",
  229. "terminated",
  230. "then",
  231. "tinyblob",
  232. "tinyint",
  233. "tinytext",
  234. "to",
  235. "trailing",
  236. "trigger",
  237. "true",
  238. "undo",
  239. "union",
  240. "unique",
  241. "unlock",
  242. "unsigned",
  243. "update",
  244. "usage",
  245. "use",
  246. "using",
  247. "utc_date",
  248. "utc_time",
  249. "utc_timestamp",
  250. "values",
  251. "varbinary",
  252. "varchar",
  253. "varcharacter",
  254. "varying",
  255. "when",
  256. "where",
  257. "while",
  258. "window",
  259. "with",
  260. "write",
  261. "xor",
  262. "year_month",
  263. "zerofill",
  264. }.union(
  265. {
  266. "body",
  267. "elsif",
  268. "goto",
  269. "history",
  270. "others",
  271. "package",
  272. "period",
  273. "raise",
  274. "rowtype",
  275. "system",
  276. "system_time",
  277. "versioning",
  278. "without",
  279. }
  280. )
  281. # https://dev.mysql.com/doc/refman/8.3/en/keywords.html
  282. # https://dev.mysql.com/doc/refman/8.0/en/keywords.html
  283. # https://dev.mysql.com/doc/refman/5.7/en/keywords.html
  284. # https://dev.mysql.com/doc/refman/5.6/en/keywords.html
  285. # includes: MySQL x.0 Keywords and Reserved Words
  286. # excludes: MySQL x.0 New Keywords and Reserved Words,
  287. # MySQL x.0 Removed Keywords and Reserved Words
  288. RESERVED_WORDS_MYSQL = {
  289. "accessible",
  290. "add",
  291. "admin",
  292. "all",
  293. "alter",
  294. "analyze",
  295. "and",
  296. "array",
  297. "as",
  298. "asc",
  299. "asensitive",
  300. "before",
  301. "between",
  302. "bigint",
  303. "binary",
  304. "blob",
  305. "both",
  306. "by",
  307. "call",
  308. "cascade",
  309. "case",
  310. "change",
  311. "char",
  312. "character",
  313. "check",
  314. "collate",
  315. "column",
  316. "condition",
  317. "constraint",
  318. "continue",
  319. "convert",
  320. "create",
  321. "cross",
  322. "cube",
  323. "cume_dist",
  324. "current_date",
  325. "current_time",
  326. "current_timestamp",
  327. "current_user",
  328. "cursor",
  329. "database",
  330. "databases",
  331. "day_hour",
  332. "day_microsecond",
  333. "day_minute",
  334. "day_second",
  335. "dec",
  336. "decimal",
  337. "declare",
  338. "default",
  339. "delayed",
  340. "delete",
  341. "dense_rank",
  342. "desc",
  343. "describe",
  344. "deterministic",
  345. "distinct",
  346. "distinctrow",
  347. "div",
  348. "double",
  349. "drop",
  350. "dual",
  351. "each",
  352. "else",
  353. "elseif",
  354. "empty",
  355. "enclosed",
  356. "escaped",
  357. "except",
  358. "exists",
  359. "exit",
  360. "explain",
  361. "false",
  362. "fetch",
  363. "first_value",
  364. "float",
  365. "float4",
  366. "float8",
  367. "for",
  368. "force",
  369. "foreign",
  370. "from",
  371. "fulltext",
  372. "function",
  373. "general",
  374. "generated",
  375. "get",
  376. "get_master_public_key",
  377. "grant",
  378. "group",
  379. "grouping",
  380. "groups",
  381. "having",
  382. "high_priority",
  383. "hour_microsecond",
  384. "hour_minute",
  385. "hour_second",
  386. "if",
  387. "ignore",
  388. "ignore_server_ids",
  389. "in",
  390. "index",
  391. "infile",
  392. "inner",
  393. "inout",
  394. "insensitive",
  395. "insert",
  396. "int",
  397. "int1",
  398. "int2",
  399. "int3",
  400. "int4",
  401. "int8",
  402. "integer",
  403. "intersect",
  404. "interval",
  405. "into",
  406. "io_after_gtids",
  407. "io_before_gtids",
  408. "is",
  409. "iterate",
  410. "join",
  411. "json_table",
  412. "key",
  413. "keys",
  414. "kill",
  415. "lag",
  416. "last_value",
  417. "lateral",
  418. "lead",
  419. "leading",
  420. "leave",
  421. "left",
  422. "like",
  423. "limit",
  424. "linear",
  425. "lines",
  426. "load",
  427. "localtime",
  428. "localtimestamp",
  429. "lock",
  430. "long",
  431. "longblob",
  432. "longtext",
  433. "loop",
  434. "low_priority",
  435. "master_bind",
  436. "master_heartbeat_period",
  437. "master_ssl_verify_server_cert",
  438. "match",
  439. "maxvalue",
  440. "mediumblob",
  441. "mediumint",
  442. "mediumtext",
  443. "member",
  444. "middleint",
  445. "minute_microsecond",
  446. "minute_second",
  447. "mod",
  448. "modifies",
  449. "natural",
  450. "no_write_to_binlog",
  451. "not",
  452. "nth_value",
  453. "ntile",
  454. "null",
  455. "numeric",
  456. "of",
  457. "on",
  458. "optimize",
  459. "optimizer_costs",
  460. "option",
  461. "optionally",
  462. "or",
  463. "order",
  464. "out",
  465. "outer",
  466. "outfile",
  467. "over",
  468. "parse_gcol_expr",
  469. "parallel",
  470. "partition",
  471. "percent_rank",
  472. "persist",
  473. "persist_only",
  474. "precision",
  475. "primary",
  476. "procedure",
  477. "purge",
  478. "qualify",
  479. "range",
  480. "rank",
  481. "read",
  482. "read_write",
  483. "reads",
  484. "real",
  485. "recursive",
  486. "references",
  487. "regexp",
  488. "release",
  489. "rename",
  490. "repeat",
  491. "replace",
  492. "require",
  493. "resignal",
  494. "restrict",
  495. "return",
  496. "revoke",
  497. "right",
  498. "rlike",
  499. "role",
  500. "row",
  501. "row_number",
  502. "rows",
  503. "schema",
  504. "schemas",
  505. "second_microsecond",
  506. "select",
  507. "sensitive",
  508. "separator",
  509. "set",
  510. "show",
  511. "signal",
  512. "slow",
  513. "smallint",
  514. "spatial",
  515. "specific",
  516. "sql",
  517. "sql_after_gtids",
  518. "sql_before_gtids",
  519. "sql_big_result",
  520. "sql_calc_found_rows",
  521. "sql_small_result",
  522. "sqlexception",
  523. "sqlstate",
  524. "sqlwarning",
  525. "ssl",
  526. "starting",
  527. "stored",
  528. "straight_join",
  529. "system",
  530. "table",
  531. "terminated",
  532. "then",
  533. "tinyblob",
  534. "tinyint",
  535. "tinytext",
  536. "to",
  537. "trailing",
  538. "trigger",
  539. "true",
  540. "undo",
  541. "union",
  542. "unique",
  543. "unlock",
  544. "unsigned",
  545. "update",
  546. "usage",
  547. "use",
  548. "using",
  549. "utc_date",
  550. "utc_time",
  551. "utc_timestamp",
  552. "values",
  553. "varbinary",
  554. "varchar",
  555. "varcharacter",
  556. "varying",
  557. "virtual",
  558. "when",
  559. "where",
  560. "while",
  561. "window",
  562. "with",
  563. "write",
  564. "xor",
  565. "year_month",
  566. "zerofill",
  567. }