SQLAlchemy 2.0.47__cp313-cp313t-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. sqlalchemy/__init__.py +283 -0
  2. sqlalchemy/connectors/__init__.py +18 -0
  3. sqlalchemy/connectors/aioodbc.py +184 -0
  4. sqlalchemy/connectors/asyncio.py +429 -0
  5. sqlalchemy/connectors/pyodbc.py +250 -0
  6. sqlalchemy/cyextension/__init__.py +6 -0
  7. sqlalchemy/cyextension/collections.cp313t-win_amd64.pyd +0 -0
  8. sqlalchemy/cyextension/collections.pyx +409 -0
  9. sqlalchemy/cyextension/immutabledict.cp313t-win_amd64.pyd +0 -0
  10. sqlalchemy/cyextension/immutabledict.pxd +8 -0
  11. sqlalchemy/cyextension/immutabledict.pyx +133 -0
  12. sqlalchemy/cyextension/processors.cp313t-win_amd64.pyd +0 -0
  13. sqlalchemy/cyextension/processors.pyx +68 -0
  14. sqlalchemy/cyextension/resultproxy.cp313t-win_amd64.pyd +0 -0
  15. sqlalchemy/cyextension/resultproxy.pyx +102 -0
  16. sqlalchemy/cyextension/util.cp313t-win_amd64.pyd +0 -0
  17. sqlalchemy/cyextension/util.pyx +90 -0
  18. sqlalchemy/dialects/__init__.py +62 -0
  19. sqlalchemy/dialects/_typing.py +30 -0
  20. sqlalchemy/dialects/mssql/__init__.py +88 -0
  21. sqlalchemy/dialects/mssql/aioodbc.py +63 -0
  22. sqlalchemy/dialects/mssql/base.py +4093 -0
  23. sqlalchemy/dialects/mssql/information_schema.py +285 -0
  24. sqlalchemy/dialects/mssql/json.py +129 -0
  25. sqlalchemy/dialects/mssql/provision.py +185 -0
  26. sqlalchemy/dialects/mssql/pymssql.py +126 -0
  27. sqlalchemy/dialects/mssql/pyodbc.py +760 -0
  28. sqlalchemy/dialects/mysql/__init__.py +104 -0
  29. sqlalchemy/dialects/mysql/aiomysql.py +250 -0
  30. sqlalchemy/dialects/mysql/asyncmy.py +231 -0
  31. sqlalchemy/dialects/mysql/base.py +3949 -0
  32. sqlalchemy/dialects/mysql/cymysql.py +106 -0
  33. sqlalchemy/dialects/mysql/dml.py +225 -0
  34. sqlalchemy/dialects/mysql/enumerated.py +282 -0
  35. sqlalchemy/dialects/mysql/expression.py +146 -0
  36. sqlalchemy/dialects/mysql/json.py +91 -0
  37. sqlalchemy/dialects/mysql/mariadb.py +72 -0
  38. sqlalchemy/dialects/mysql/mariadbconnector.py +322 -0
  39. sqlalchemy/dialects/mysql/mysqlconnector.py +302 -0
  40. sqlalchemy/dialects/mysql/mysqldb.py +314 -0
  41. sqlalchemy/dialects/mysql/provision.py +153 -0
  42. sqlalchemy/dialects/mysql/pymysql.py +158 -0
  43. sqlalchemy/dialects/mysql/pyodbc.py +157 -0
  44. sqlalchemy/dialects/mysql/reflection.py +727 -0
  45. sqlalchemy/dialects/mysql/reserved_words.py +570 -0
  46. sqlalchemy/dialects/mysql/types.py +835 -0
  47. sqlalchemy/dialects/oracle/__init__.py +81 -0
  48. sqlalchemy/dialects/oracle/base.py +3802 -0
  49. sqlalchemy/dialects/oracle/cx_oracle.py +1555 -0
  50. sqlalchemy/dialects/oracle/dictionary.py +507 -0
  51. sqlalchemy/dialects/oracle/oracledb.py +941 -0
  52. sqlalchemy/dialects/oracle/provision.py +297 -0
  53. sqlalchemy/dialects/oracle/types.py +316 -0
  54. sqlalchemy/dialects/oracle/vector.py +365 -0
  55. sqlalchemy/dialects/postgresql/__init__.py +167 -0
  56. sqlalchemy/dialects/postgresql/_psycopg_common.py +189 -0
  57. sqlalchemy/dialects/postgresql/array.py +519 -0
  58. sqlalchemy/dialects/postgresql/asyncpg.py +1284 -0
  59. sqlalchemy/dialects/postgresql/base.py +5378 -0
  60. sqlalchemy/dialects/postgresql/dml.py +339 -0
  61. sqlalchemy/dialects/postgresql/ext.py +540 -0
  62. sqlalchemy/dialects/postgresql/hstore.py +406 -0
  63. sqlalchemy/dialects/postgresql/json.py +404 -0
  64. sqlalchemy/dialects/postgresql/named_types.py +524 -0
  65. sqlalchemy/dialects/postgresql/operators.py +129 -0
  66. sqlalchemy/dialects/postgresql/pg8000.py +669 -0
  67. sqlalchemy/dialects/postgresql/pg_catalog.py +326 -0
  68. sqlalchemy/dialects/postgresql/provision.py +183 -0
  69. sqlalchemy/dialects/postgresql/psycopg.py +862 -0
  70. sqlalchemy/dialects/postgresql/psycopg2.py +892 -0
  71. sqlalchemy/dialects/postgresql/psycopg2cffi.py +61 -0
  72. sqlalchemy/dialects/postgresql/ranges.py +1031 -0
  73. sqlalchemy/dialects/postgresql/types.py +313 -0
  74. sqlalchemy/dialects/sqlite/__init__.py +57 -0
  75. sqlalchemy/dialects/sqlite/aiosqlite.py +482 -0
  76. sqlalchemy/dialects/sqlite/base.py +3056 -0
  77. sqlalchemy/dialects/sqlite/dml.py +263 -0
  78. sqlalchemy/dialects/sqlite/json.py +92 -0
  79. sqlalchemy/dialects/sqlite/provision.py +229 -0
  80. sqlalchemy/dialects/sqlite/pysqlcipher.py +157 -0
  81. sqlalchemy/dialects/sqlite/pysqlite.py +756 -0
  82. sqlalchemy/dialects/type_migration_guidelines.txt +145 -0
  83. sqlalchemy/engine/__init__.py +62 -0
  84. sqlalchemy/engine/_py_processors.py +136 -0
  85. sqlalchemy/engine/_py_row.py +128 -0
  86. sqlalchemy/engine/_py_util.py +74 -0
  87. sqlalchemy/engine/base.py +3390 -0
  88. sqlalchemy/engine/characteristics.py +155 -0
  89. sqlalchemy/engine/create.py +893 -0
  90. sqlalchemy/engine/cursor.py +2298 -0
  91. sqlalchemy/engine/default.py +2394 -0
  92. sqlalchemy/engine/events.py +965 -0
  93. sqlalchemy/engine/interfaces.py +3471 -0
  94. sqlalchemy/engine/mock.py +134 -0
  95. sqlalchemy/engine/processors.py +61 -0
  96. sqlalchemy/engine/reflection.py +2102 -0
  97. sqlalchemy/engine/result.py +2399 -0
  98. sqlalchemy/engine/row.py +400 -0
  99. sqlalchemy/engine/strategies.py +16 -0
  100. sqlalchemy/engine/url.py +924 -0
  101. sqlalchemy/engine/util.py +167 -0
  102. sqlalchemy/event/__init__.py +26 -0
  103. sqlalchemy/event/api.py +220 -0
  104. sqlalchemy/event/attr.py +676 -0
  105. sqlalchemy/event/base.py +472 -0
  106. sqlalchemy/event/legacy.py +258 -0
  107. sqlalchemy/event/registry.py +390 -0
  108. sqlalchemy/events.py +17 -0
  109. sqlalchemy/exc.py +832 -0
  110. sqlalchemy/ext/__init__.py +11 -0
  111. sqlalchemy/ext/associationproxy.py +2027 -0
  112. sqlalchemy/ext/asyncio/__init__.py +25 -0
  113. sqlalchemy/ext/asyncio/base.py +281 -0
  114. sqlalchemy/ext/asyncio/engine.py +1471 -0
  115. sqlalchemy/ext/asyncio/exc.py +21 -0
  116. sqlalchemy/ext/asyncio/result.py +965 -0
  117. sqlalchemy/ext/asyncio/scoping.py +1599 -0
  118. sqlalchemy/ext/asyncio/session.py +1947 -0
  119. sqlalchemy/ext/automap.py +1701 -0
  120. sqlalchemy/ext/baked.py +570 -0
  121. sqlalchemy/ext/compiler.py +600 -0
  122. sqlalchemy/ext/declarative/__init__.py +65 -0
  123. sqlalchemy/ext/declarative/extensions.py +564 -0
  124. sqlalchemy/ext/horizontal_shard.py +478 -0
  125. sqlalchemy/ext/hybrid.py +1535 -0
  126. sqlalchemy/ext/indexable.py +364 -0
  127. sqlalchemy/ext/instrumentation.py +450 -0
  128. sqlalchemy/ext/mutable.py +1085 -0
  129. sqlalchemy/ext/mypy/__init__.py +6 -0
  130. sqlalchemy/ext/mypy/apply.py +324 -0
  131. sqlalchemy/ext/mypy/decl_class.py +515 -0
  132. sqlalchemy/ext/mypy/infer.py +590 -0
  133. sqlalchemy/ext/mypy/names.py +335 -0
  134. sqlalchemy/ext/mypy/plugin.py +303 -0
  135. sqlalchemy/ext/mypy/util.py +357 -0
  136. sqlalchemy/ext/orderinglist.py +439 -0
  137. sqlalchemy/ext/serializer.py +185 -0
  138. sqlalchemy/future/__init__.py +16 -0
  139. sqlalchemy/future/engine.py +15 -0
  140. sqlalchemy/inspection.py +174 -0
  141. sqlalchemy/log.py +288 -0
  142. sqlalchemy/orm/__init__.py +171 -0
  143. sqlalchemy/orm/_orm_constructors.py +2661 -0
  144. sqlalchemy/orm/_typing.py +179 -0
  145. sqlalchemy/orm/attributes.py +2845 -0
  146. sqlalchemy/orm/base.py +971 -0
  147. sqlalchemy/orm/bulk_persistence.py +2135 -0
  148. sqlalchemy/orm/clsregistry.py +571 -0
  149. sqlalchemy/orm/collections.py +1627 -0
  150. sqlalchemy/orm/context.py +3334 -0
  151. sqlalchemy/orm/decl_api.py +2004 -0
  152. sqlalchemy/orm/decl_base.py +2192 -0
  153. sqlalchemy/orm/dependency.py +1302 -0
  154. sqlalchemy/orm/descriptor_props.py +1092 -0
  155. sqlalchemy/orm/dynamic.py +300 -0
  156. sqlalchemy/orm/evaluator.py +379 -0
  157. sqlalchemy/orm/events.py +3252 -0
  158. sqlalchemy/orm/exc.py +237 -0
  159. sqlalchemy/orm/identity.py +302 -0
  160. sqlalchemy/orm/instrumentation.py +754 -0
  161. sqlalchemy/orm/interfaces.py +1496 -0
  162. sqlalchemy/orm/loading.py +1686 -0
  163. sqlalchemy/orm/mapped_collection.py +557 -0
  164. sqlalchemy/orm/mapper.py +4444 -0
  165. sqlalchemy/orm/path_registry.py +809 -0
  166. sqlalchemy/orm/persistence.py +1788 -0
  167. sqlalchemy/orm/properties.py +935 -0
  168. sqlalchemy/orm/query.py +3459 -0
  169. sqlalchemy/orm/relationships.py +3508 -0
  170. sqlalchemy/orm/scoping.py +2148 -0
  171. sqlalchemy/orm/session.py +5280 -0
  172. sqlalchemy/orm/state.py +1168 -0
  173. sqlalchemy/orm/state_changes.py +196 -0
  174. sqlalchemy/orm/strategies.py +3470 -0
  175. sqlalchemy/orm/strategy_options.py +2568 -0
  176. sqlalchemy/orm/sync.py +164 -0
  177. sqlalchemy/orm/unitofwork.py +796 -0
  178. sqlalchemy/orm/util.py +2403 -0
  179. sqlalchemy/orm/writeonly.py +674 -0
  180. sqlalchemy/pool/__init__.py +44 -0
  181. sqlalchemy/pool/base.py +1524 -0
  182. sqlalchemy/pool/events.py +375 -0
  183. sqlalchemy/pool/impl.py +588 -0
  184. sqlalchemy/py.typed +0 -0
  185. sqlalchemy/schema.py +69 -0
  186. sqlalchemy/sql/__init__.py +145 -0
  187. sqlalchemy/sql/_dml_constructors.py +132 -0
  188. sqlalchemy/sql/_elements_constructors.py +1872 -0
  189. sqlalchemy/sql/_orm_types.py +20 -0
  190. sqlalchemy/sql/_py_util.py +75 -0
  191. sqlalchemy/sql/_selectable_constructors.py +763 -0
  192. sqlalchemy/sql/_typing.py +482 -0
  193. sqlalchemy/sql/annotation.py +587 -0
  194. sqlalchemy/sql/base.py +2293 -0
  195. sqlalchemy/sql/cache_key.py +1057 -0
  196. sqlalchemy/sql/coercions.py +1404 -0
  197. sqlalchemy/sql/compiler.py +8081 -0
  198. sqlalchemy/sql/crud.py +1752 -0
  199. sqlalchemy/sql/ddl.py +1444 -0
  200. sqlalchemy/sql/default_comparator.py +551 -0
  201. sqlalchemy/sql/dml.py +1850 -0
  202. sqlalchemy/sql/elements.py +5589 -0
  203. sqlalchemy/sql/events.py +458 -0
  204. sqlalchemy/sql/expression.py +159 -0
  205. sqlalchemy/sql/functions.py +2158 -0
  206. sqlalchemy/sql/lambdas.py +1442 -0
  207. sqlalchemy/sql/naming.py +209 -0
  208. sqlalchemy/sql/operators.py +2623 -0
  209. sqlalchemy/sql/roles.py +323 -0
  210. sqlalchemy/sql/schema.py +6222 -0
  211. sqlalchemy/sql/selectable.py +7265 -0
  212. sqlalchemy/sql/sqltypes.py +3930 -0
  213. sqlalchemy/sql/traversals.py +1024 -0
  214. sqlalchemy/sql/type_api.py +2368 -0
  215. sqlalchemy/sql/util.py +1485 -0
  216. sqlalchemy/sql/visitors.py +1164 -0
  217. sqlalchemy/testing/__init__.py +96 -0
  218. sqlalchemy/testing/assertions.py +994 -0
  219. sqlalchemy/testing/assertsql.py +520 -0
  220. sqlalchemy/testing/asyncio.py +135 -0
  221. sqlalchemy/testing/config.py +434 -0
  222. sqlalchemy/testing/engines.py +483 -0
  223. sqlalchemy/testing/entities.py +117 -0
  224. sqlalchemy/testing/exclusions.py +476 -0
  225. sqlalchemy/testing/fixtures/__init__.py +28 -0
  226. sqlalchemy/testing/fixtures/base.py +384 -0
  227. sqlalchemy/testing/fixtures/mypy.py +332 -0
  228. sqlalchemy/testing/fixtures/orm.py +227 -0
  229. sqlalchemy/testing/fixtures/sql.py +482 -0
  230. sqlalchemy/testing/pickleable.py +155 -0
  231. sqlalchemy/testing/plugin/__init__.py +6 -0
  232. sqlalchemy/testing/plugin/bootstrap.py +51 -0
  233. sqlalchemy/testing/plugin/plugin_base.py +828 -0
  234. sqlalchemy/testing/plugin/pytestplugin.py +892 -0
  235. sqlalchemy/testing/profiling.py +329 -0
  236. sqlalchemy/testing/provision.py +603 -0
  237. sqlalchemy/testing/requirements.py +1945 -0
  238. sqlalchemy/testing/schema.py +198 -0
  239. sqlalchemy/testing/suite/__init__.py +19 -0
  240. sqlalchemy/testing/suite/test_cte.py +237 -0
  241. sqlalchemy/testing/suite/test_ddl.py +389 -0
  242. sqlalchemy/testing/suite/test_deprecations.py +153 -0
  243. sqlalchemy/testing/suite/test_dialect.py +776 -0
  244. sqlalchemy/testing/suite/test_insert.py +630 -0
  245. sqlalchemy/testing/suite/test_reflection.py +3557 -0
  246. sqlalchemy/testing/suite/test_results.py +504 -0
  247. sqlalchemy/testing/suite/test_rowcount.py +258 -0
  248. sqlalchemy/testing/suite/test_select.py +2010 -0
  249. sqlalchemy/testing/suite/test_sequence.py +317 -0
  250. sqlalchemy/testing/suite/test_types.py +2147 -0
  251. sqlalchemy/testing/suite/test_unicode_ddl.py +189 -0
  252. sqlalchemy/testing/suite/test_update_delete.py +139 -0
  253. sqlalchemy/testing/util.py +535 -0
  254. sqlalchemy/testing/warnings.py +52 -0
  255. sqlalchemy/types.py +74 -0
  256. sqlalchemy/util/__init__.py +162 -0
  257. sqlalchemy/util/_collections.py +712 -0
  258. sqlalchemy/util/_concurrency_py3k.py +288 -0
  259. sqlalchemy/util/_has_cy.py +40 -0
  260. sqlalchemy/util/_py_collections.py +541 -0
  261. sqlalchemy/util/compat.py +421 -0
  262. sqlalchemy/util/concurrency.py +110 -0
  263. sqlalchemy/util/deprecations.py +401 -0
  264. sqlalchemy/util/langhelpers.py +2203 -0
  265. sqlalchemy/util/preloaded.py +150 -0
  266. sqlalchemy/util/queue.py +322 -0
  267. sqlalchemy/util/tool_support.py +201 -0
  268. sqlalchemy/util/topological.py +120 -0
  269. sqlalchemy/util/typing.py +734 -0
  270. sqlalchemy-2.0.47.dist-info/METADATA +243 -0
  271. sqlalchemy-2.0.47.dist-info/RECORD +274 -0
  272. sqlalchemy-2.0.47.dist-info/WHEEL +5 -0
  273. sqlalchemy-2.0.47.dist-info/licenses/LICENSE +19 -0
  274. sqlalchemy-2.0.47.dist-info/top_level.txt +1 -0
@@ -0,0 +1,570 @@
1
+ # dialects/mysql/reserved_words.py
2
+ # Copyright (C) 2005-2026 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
+
8
+ # generated using:
9
+ # https://gist.github.com/kkirsche/4f31f2153ed7a3248be1ec44ca6ddbc9
10
+ #
11
+ # https://mariadb.com/kb/en/reserved-words/
12
+ # includes: Reserved Words, Oracle Mode (separate set unioned)
13
+ # excludes: Exceptions, Function Names
14
+
15
+ RESERVED_WORDS_MARIADB = {
16
+ "accessible",
17
+ "add",
18
+ "all",
19
+ "alter",
20
+ "analyze",
21
+ "and",
22
+ "as",
23
+ "asc",
24
+ "asensitive",
25
+ "before",
26
+ "between",
27
+ "bigint",
28
+ "binary",
29
+ "blob",
30
+ "both",
31
+ "by",
32
+ "call",
33
+ "cascade",
34
+ "case",
35
+ "change",
36
+ "char",
37
+ "character",
38
+ "check",
39
+ "collate",
40
+ "column",
41
+ "condition",
42
+ "constraint",
43
+ "continue",
44
+ "convert",
45
+ "create",
46
+ "cross",
47
+ "current_date",
48
+ "current_role",
49
+ "current_time",
50
+ "current_timestamp",
51
+ "current_user",
52
+ "cursor",
53
+ "database",
54
+ "databases",
55
+ "day_hour",
56
+ "day_microsecond",
57
+ "day_minute",
58
+ "day_second",
59
+ "dec",
60
+ "decimal",
61
+ "declare",
62
+ "default",
63
+ "delayed",
64
+ "delete",
65
+ "desc",
66
+ "describe",
67
+ "deterministic",
68
+ "distinct",
69
+ "distinctrow",
70
+ "div",
71
+ "do_domain_ids",
72
+ "double",
73
+ "drop",
74
+ "dual",
75
+ "each",
76
+ "else",
77
+ "elseif",
78
+ "enclosed",
79
+ "escaped",
80
+ "except",
81
+ "exists",
82
+ "exit",
83
+ "explain",
84
+ "false",
85
+ "fetch",
86
+ "float",
87
+ "float4",
88
+ "float8",
89
+ "for",
90
+ "force",
91
+ "foreign",
92
+ "from",
93
+ "fulltext",
94
+ "general",
95
+ "grant",
96
+ "group",
97
+ "having",
98
+ "high_priority",
99
+ "hour_microsecond",
100
+ "hour_minute",
101
+ "hour_second",
102
+ "if",
103
+ "ignore",
104
+ "ignore_domain_ids",
105
+ "ignore_server_ids",
106
+ "in",
107
+ "index",
108
+ "infile",
109
+ "inner",
110
+ "inout",
111
+ "insensitive",
112
+ "insert",
113
+ "int",
114
+ "int1",
115
+ "int2",
116
+ "int3",
117
+ "int4",
118
+ "int8",
119
+ "integer",
120
+ "intersect",
121
+ "interval",
122
+ "into",
123
+ "is",
124
+ "iterate",
125
+ "join",
126
+ "key",
127
+ "keys",
128
+ "kill",
129
+ "leading",
130
+ "leave",
131
+ "left",
132
+ "like",
133
+ "limit",
134
+ "linear",
135
+ "lines",
136
+ "load",
137
+ "localtime",
138
+ "localtimestamp",
139
+ "lock",
140
+ "long",
141
+ "longblob",
142
+ "longtext",
143
+ "loop",
144
+ "low_priority",
145
+ "master_heartbeat_period",
146
+ "master_ssl_verify_server_cert",
147
+ "match",
148
+ "maxvalue",
149
+ "mediumblob",
150
+ "mediumint",
151
+ "mediumtext",
152
+ "middleint",
153
+ "minute_microsecond",
154
+ "minute_second",
155
+ "mod",
156
+ "modifies",
157
+ "natural",
158
+ "no_write_to_binlog",
159
+ "not",
160
+ "null",
161
+ "numeric",
162
+ "offset",
163
+ "on",
164
+ "optimize",
165
+ "option",
166
+ "optionally",
167
+ "or",
168
+ "order",
169
+ "out",
170
+ "outer",
171
+ "outfile",
172
+ "over",
173
+ "page_checksum",
174
+ "parse_vcol_expr",
175
+ "partition",
176
+ "position",
177
+ "precision",
178
+ "primary",
179
+ "procedure",
180
+ "purge",
181
+ "range",
182
+ "read",
183
+ "read_write",
184
+ "reads",
185
+ "real",
186
+ "recursive",
187
+ "ref_system_id",
188
+ "references",
189
+ "regexp",
190
+ "release",
191
+ "rename",
192
+ "repeat",
193
+ "replace",
194
+ "require",
195
+ "resignal",
196
+ "restrict",
197
+ "return",
198
+ "returning",
199
+ "revoke",
200
+ "right",
201
+ "rlike",
202
+ "rows",
203
+ "row_number",
204
+ "schema",
205
+ "schemas",
206
+ "second_microsecond",
207
+ "select",
208
+ "sensitive",
209
+ "separator",
210
+ "set",
211
+ "show",
212
+ "signal",
213
+ "slow",
214
+ "smallint",
215
+ "spatial",
216
+ "specific",
217
+ "sql",
218
+ "sql_big_result",
219
+ "sql_calc_found_rows",
220
+ "sql_small_result",
221
+ "sqlexception",
222
+ "sqlstate",
223
+ "sqlwarning",
224
+ "ssl",
225
+ "starting",
226
+ "stats_auto_recalc",
227
+ "stats_persistent",
228
+ "stats_sample_pages",
229
+ "straight_join",
230
+ "table",
231
+ "terminated",
232
+ "then",
233
+ "tinyblob",
234
+ "tinyint",
235
+ "tinytext",
236
+ "to",
237
+ "trailing",
238
+ "trigger",
239
+ "true",
240
+ "undo",
241
+ "union",
242
+ "unique",
243
+ "unlock",
244
+ "unsigned",
245
+ "update",
246
+ "usage",
247
+ "use",
248
+ "using",
249
+ "utc_date",
250
+ "utc_time",
251
+ "utc_timestamp",
252
+ "values",
253
+ "varbinary",
254
+ "varchar",
255
+ "varcharacter",
256
+ "varying",
257
+ "when",
258
+ "where",
259
+ "while",
260
+ "window",
261
+ "with",
262
+ "write",
263
+ "xor",
264
+ "year_month",
265
+ "zerofill",
266
+ }.union(
267
+ {
268
+ "body",
269
+ "elsif",
270
+ "goto",
271
+ "history",
272
+ "others",
273
+ "package",
274
+ "period",
275
+ "raise",
276
+ "rowtype",
277
+ "system",
278
+ "system_time",
279
+ "versioning",
280
+ "without",
281
+ }
282
+ )
283
+
284
+ # https://dev.mysql.com/doc/refman/8.3/en/keywords.html
285
+ # https://dev.mysql.com/doc/refman/8.0/en/keywords.html
286
+ # https://dev.mysql.com/doc/refman/5.7/en/keywords.html
287
+ # https://dev.mysql.com/doc/refman/5.6/en/keywords.html
288
+ # includes: MySQL x.0 Keywords and Reserved Words
289
+ # excludes: MySQL x.0 New Keywords and Reserved Words,
290
+ # MySQL x.0 Removed Keywords and Reserved Words
291
+ RESERVED_WORDS_MYSQL = {
292
+ "accessible",
293
+ "add",
294
+ "admin",
295
+ "all",
296
+ "alter",
297
+ "analyze",
298
+ "and",
299
+ "array",
300
+ "as",
301
+ "asc",
302
+ "asensitive",
303
+ "before",
304
+ "between",
305
+ "bigint",
306
+ "binary",
307
+ "blob",
308
+ "both",
309
+ "by",
310
+ "call",
311
+ "cascade",
312
+ "case",
313
+ "change",
314
+ "char",
315
+ "character",
316
+ "check",
317
+ "collate",
318
+ "column",
319
+ "condition",
320
+ "constraint",
321
+ "continue",
322
+ "convert",
323
+ "create",
324
+ "cross",
325
+ "cube",
326
+ "cume_dist",
327
+ "current_date",
328
+ "current_time",
329
+ "current_timestamp",
330
+ "current_user",
331
+ "cursor",
332
+ "database",
333
+ "databases",
334
+ "day_hour",
335
+ "day_microsecond",
336
+ "day_minute",
337
+ "day_second",
338
+ "dec",
339
+ "decimal",
340
+ "declare",
341
+ "default",
342
+ "delayed",
343
+ "delete",
344
+ "dense_rank",
345
+ "desc",
346
+ "describe",
347
+ "deterministic",
348
+ "distinct",
349
+ "distinctrow",
350
+ "div",
351
+ "double",
352
+ "drop",
353
+ "dual",
354
+ "each",
355
+ "else",
356
+ "elseif",
357
+ "empty",
358
+ "enclosed",
359
+ "escaped",
360
+ "except",
361
+ "exists",
362
+ "exit",
363
+ "explain",
364
+ "false",
365
+ "fetch",
366
+ "first_value",
367
+ "float",
368
+ "float4",
369
+ "float8",
370
+ "for",
371
+ "force",
372
+ "foreign",
373
+ "from",
374
+ "fulltext",
375
+ "function",
376
+ "general",
377
+ "generated",
378
+ "get",
379
+ "get_master_public_key",
380
+ "grant",
381
+ "group",
382
+ "grouping",
383
+ "groups",
384
+ "having",
385
+ "high_priority",
386
+ "hour_microsecond",
387
+ "hour_minute",
388
+ "hour_second",
389
+ "if",
390
+ "ignore",
391
+ "ignore_server_ids",
392
+ "in",
393
+ "index",
394
+ "infile",
395
+ "inner",
396
+ "inout",
397
+ "insensitive",
398
+ "insert",
399
+ "int",
400
+ "int1",
401
+ "int2",
402
+ "int3",
403
+ "int4",
404
+ "int8",
405
+ "integer",
406
+ "intersect",
407
+ "interval",
408
+ "into",
409
+ "io_after_gtids",
410
+ "io_before_gtids",
411
+ "is",
412
+ "iterate",
413
+ "join",
414
+ "json_table",
415
+ "key",
416
+ "keys",
417
+ "kill",
418
+ "lag",
419
+ "last_value",
420
+ "lateral",
421
+ "lead",
422
+ "leading",
423
+ "leave",
424
+ "left",
425
+ "like",
426
+ "limit",
427
+ "linear",
428
+ "lines",
429
+ "load",
430
+ "localtime",
431
+ "localtimestamp",
432
+ "lock",
433
+ "long",
434
+ "longblob",
435
+ "longtext",
436
+ "loop",
437
+ "low_priority",
438
+ "master_bind",
439
+ "master_heartbeat_period",
440
+ "master_ssl_verify_server_cert",
441
+ "match",
442
+ "maxvalue",
443
+ "mediumblob",
444
+ "mediumint",
445
+ "mediumtext",
446
+ "member",
447
+ "middleint",
448
+ "minute_microsecond",
449
+ "minute_second",
450
+ "mod",
451
+ "modifies",
452
+ "natural",
453
+ "no_write_to_binlog",
454
+ "not",
455
+ "nth_value",
456
+ "ntile",
457
+ "null",
458
+ "numeric",
459
+ "of",
460
+ "on",
461
+ "optimize",
462
+ "optimizer_costs",
463
+ "option",
464
+ "optionally",
465
+ "or",
466
+ "order",
467
+ "out",
468
+ "outer",
469
+ "outfile",
470
+ "over",
471
+ "parse_gcol_expr",
472
+ "parallel",
473
+ "partition",
474
+ "percent_rank",
475
+ "persist",
476
+ "persist_only",
477
+ "precision",
478
+ "primary",
479
+ "procedure",
480
+ "purge",
481
+ "qualify",
482
+ "range",
483
+ "rank",
484
+ "read",
485
+ "read_write",
486
+ "reads",
487
+ "real",
488
+ "recursive",
489
+ "references",
490
+ "regexp",
491
+ "release",
492
+ "rename",
493
+ "repeat",
494
+ "replace",
495
+ "require",
496
+ "resignal",
497
+ "restrict",
498
+ "return",
499
+ "revoke",
500
+ "right",
501
+ "rlike",
502
+ "role",
503
+ "row",
504
+ "row_number",
505
+ "rows",
506
+ "schema",
507
+ "schemas",
508
+ "second_microsecond",
509
+ "select",
510
+ "sensitive",
511
+ "separator",
512
+ "set",
513
+ "show",
514
+ "signal",
515
+ "slow",
516
+ "smallint",
517
+ "spatial",
518
+ "specific",
519
+ "sql",
520
+ "sql_after_gtids",
521
+ "sql_before_gtids",
522
+ "sql_big_result",
523
+ "sql_calc_found_rows",
524
+ "sql_small_result",
525
+ "sqlexception",
526
+ "sqlstate",
527
+ "sqlwarning",
528
+ "ssl",
529
+ "starting",
530
+ "stored",
531
+ "straight_join",
532
+ "system",
533
+ "table",
534
+ "terminated",
535
+ "then",
536
+ "tinyblob",
537
+ "tinyint",
538
+ "tinytext",
539
+ "to",
540
+ "trailing",
541
+ "trigger",
542
+ "true",
543
+ "undo",
544
+ "union",
545
+ "unique",
546
+ "unlock",
547
+ "unsigned",
548
+ "update",
549
+ "usage",
550
+ "use",
551
+ "using",
552
+ "utc_date",
553
+ "utc_time",
554
+ "utc_timestamp",
555
+ "values",
556
+ "varbinary",
557
+ "varchar",
558
+ "varcharacter",
559
+ "varying",
560
+ "virtual",
561
+ "when",
562
+ "where",
563
+ "while",
564
+ "window",
565
+ "with",
566
+ "write",
567
+ "xor",
568
+ "year_month",
569
+ "zerofill",
570
+ }