@altimateai/altimate-code 0.5.1 → 0.5.3

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 (101) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/bin/altimate +6 -0
  3. package/bin/altimate-code +6 -0
  4. package/dbt-tools/bin/altimate-dbt +2 -0
  5. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/__init__.py +0 -0
  6. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/fetch_schema.py +35 -0
  7. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/utils.py +353 -0
  8. package/dbt-tools/dist/altimate_python_packages/altimate_packages/altimate/validate_sql.py +114 -0
  9. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__init__.py +178 -0
  10. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/__main__.py +96 -0
  11. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/_typing.py +17 -0
  12. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/__init__.py +3 -0
  13. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/__init__.py +18 -0
  14. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/_typing.py +18 -0
  15. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/column.py +332 -0
  16. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/dataframe.py +866 -0
  17. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/functions.py +1267 -0
  18. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/group.py +59 -0
  19. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/normalize.py +78 -0
  20. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/operations.py +53 -0
  21. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/readwriter.py +108 -0
  22. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/session.py +190 -0
  23. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/transforms.py +9 -0
  24. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/types.py +212 -0
  25. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/util.py +32 -0
  26. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dataframe/sql/window.py +134 -0
  27. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/__init__.py +118 -0
  28. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/athena.py +166 -0
  29. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/bigquery.py +1331 -0
  30. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/clickhouse.py +1393 -0
  31. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/databricks.py +131 -0
  32. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dialect.py +1915 -0
  33. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/doris.py +561 -0
  34. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/drill.py +157 -0
  35. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/druid.py +20 -0
  36. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/duckdb.py +1159 -0
  37. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/dune.py +16 -0
  38. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/hive.py +787 -0
  39. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/materialize.py +94 -0
  40. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/mysql.py +1324 -0
  41. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/oracle.py +378 -0
  42. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/postgres.py +778 -0
  43. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/presto.py +788 -0
  44. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/prql.py +203 -0
  45. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/redshift.py +448 -0
  46. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/risingwave.py +78 -0
  47. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/snowflake.py +1464 -0
  48. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark.py +202 -0
  49. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/spark2.py +349 -0
  50. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/sqlite.py +320 -0
  51. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/starrocks.py +343 -0
  52. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tableau.py +61 -0
  53. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/teradata.py +356 -0
  54. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/trino.py +115 -0
  55. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/dialects/tsql.py +1403 -0
  56. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/diff.py +456 -0
  57. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/errors.py +93 -0
  58. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/__init__.py +95 -0
  59. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/context.py +101 -0
  60. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/env.py +246 -0
  61. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/python.py +460 -0
  62. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/executor/table.py +155 -0
  63. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/expressions.py +8870 -0
  64. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/generator.py +4993 -0
  65. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/helper.py +582 -0
  66. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/jsonpath.py +227 -0
  67. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/lineage.py +423 -0
  68. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/__init__.py +11 -0
  69. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/annotate_types.py +589 -0
  70. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/canonicalize.py +222 -0
  71. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_ctes.py +43 -0
  72. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_joins.py +181 -0
  73. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/eliminate_subqueries.py +189 -0
  74. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/isolate_table_selects.py +50 -0
  75. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/merge_subqueries.py +415 -0
  76. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize.py +200 -0
  77. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/normalize_identifiers.py +64 -0
  78. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimize_joins.py +91 -0
  79. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/optimizer.py +94 -0
  80. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_predicates.py +222 -0
  81. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/pushdown_projections.py +172 -0
  82. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify.py +104 -0
  83. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_columns.py +1024 -0
  84. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/qualify_tables.py +155 -0
  85. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/scope.py +904 -0
  86. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/simplify.py +1587 -0
  87. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/optimizer/unnest_subqueries.py +302 -0
  88. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/parser.py +8501 -0
  89. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/planner.py +463 -0
  90. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/schema.py +588 -0
  91. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/serde.py +68 -0
  92. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/time.py +687 -0
  93. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/tokens.py +1520 -0
  94. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/transforms.py +1020 -0
  95. package/dbt-tools/dist/altimate_python_packages/altimate_packages/sqlglot/trie.py +81 -0
  96. package/dbt-tools/dist/altimate_python_packages/dbt_core_integration.py +825 -0
  97. package/dbt-tools/dist/altimate_python_packages/dbt_utils.py +157 -0
  98. package/dbt-tools/dist/index.js +23859 -0
  99. package/package.json +13 -13
  100. package/postinstall.mjs +42 -0
  101. package/skills/altimate-setup/SKILL.md +31 -0
@@ -0,0 +1,561 @@
1
+ from __future__ import annotations
2
+
3
+ from sqlglot import exp
4
+ from sqlglot.dialects.dialect import (
5
+ approx_count_distinct_sql,
6
+ build_timestamp_trunc,
7
+ rename_func,
8
+ time_format,
9
+ unit_to_str,
10
+ )
11
+ from sqlglot.dialects.mysql import MySQL
12
+
13
+
14
+ def _lag_lead_sql(self, expression: exp.Lag | exp.Lead) -> str:
15
+ return self.func(
16
+ "LAG" if isinstance(expression, exp.Lag) else "LEAD",
17
+ expression.this,
18
+ expression.args.get("offset") or exp.Literal.number(1),
19
+ expression.args.get("default") or exp.null(),
20
+ )
21
+
22
+
23
+ class Doris(MySQL):
24
+ DATE_FORMAT = "'yyyy-MM-dd'"
25
+ DATEINT_FORMAT = "'yyyyMMdd'"
26
+ TIME_FORMAT = "'yyyy-MM-dd HH:mm:ss'"
27
+
28
+ class Parser(MySQL.Parser):
29
+ FUNCTIONS = {
30
+ **MySQL.Parser.FUNCTIONS,
31
+ "COLLECT_SET": exp.ArrayUniqueAgg.from_arg_list,
32
+ "DATE_TRUNC": build_timestamp_trunc,
33
+ "MONTHS_ADD": exp.AddMonths.from_arg_list,
34
+ "REGEXP": exp.RegexpLike.from_arg_list,
35
+ "TO_DATE": exp.TsOrDsToDate.from_arg_list,
36
+ }
37
+
38
+ FUNCTION_PARSERS = MySQL.Parser.FUNCTION_PARSERS.copy()
39
+ FUNCTION_PARSERS.pop("GROUP_CONCAT")
40
+
41
+ class Generator(MySQL.Generator):
42
+ LAST_DAY_SUPPORTS_DATE_PART = False
43
+ VARCHAR_REQUIRES_SIZE = False
44
+
45
+ TYPE_MAPPING = {
46
+ **MySQL.Generator.TYPE_MAPPING,
47
+ exp.DataType.Type.TEXT: "STRING",
48
+ exp.DataType.Type.TIMESTAMP: "DATETIME",
49
+ exp.DataType.Type.TIMESTAMPTZ: "DATETIME",
50
+ }
51
+
52
+ CAST_MAPPING = {}
53
+ TIMESTAMP_FUNC_TYPES = set()
54
+
55
+ TRANSFORMS = {
56
+ **MySQL.Generator.TRANSFORMS,
57
+ exp.AddMonths: rename_func("MONTHS_ADD"),
58
+ exp.ApproxDistinct: approx_count_distinct_sql,
59
+ exp.ArgMax: rename_func("MAX_BY"),
60
+ exp.ArgMin: rename_func("MIN_BY"),
61
+ exp.ArrayAgg: rename_func("COLLECT_LIST"),
62
+ exp.ArrayToString: rename_func("ARRAY_JOIN"),
63
+ exp.ArrayUniqueAgg: rename_func("COLLECT_SET"),
64
+ exp.CurrentTimestamp: lambda self, _: self.func("NOW"),
65
+ exp.DateTrunc: lambda self, e: self.func("DATE_TRUNC", e.this, unit_to_str(e)),
66
+ exp.GroupConcat: lambda self, e: self.func(
67
+ "GROUP_CONCAT", e.this, e.args.get("separator") or exp.Literal.string(",")
68
+ ),
69
+ exp.JSONExtractScalar: lambda self, e: self.func("JSON_EXTRACT", e.this, e.expression),
70
+ exp.Lag: _lag_lead_sql,
71
+ exp.Lead: _lag_lead_sql,
72
+ exp.Map: rename_func("ARRAY_MAP"),
73
+ exp.RegexpLike: rename_func("REGEXP"),
74
+ exp.RegexpSplit: rename_func("SPLIT_BY_STRING"),
75
+ exp.Split: rename_func("SPLIT_BY_STRING"),
76
+ exp.StringToArray: rename_func("SPLIT_BY_STRING"),
77
+ exp.StrToUnix: lambda self, e: self.func("UNIX_TIMESTAMP", e.this, self.format_time(e)),
78
+ exp.TimeStrToDate: rename_func("TO_DATE"),
79
+ exp.TsOrDsAdd: lambda self, e: self.func("DATE_ADD", e.this, e.expression),
80
+ exp.TsOrDsToDate: lambda self, e: self.func("TO_DATE", e.this),
81
+ exp.TimeToUnix: rename_func("UNIX_TIMESTAMP"),
82
+ exp.TimestampTrunc: lambda self, e: self.func("DATE_TRUNC", e.this, unit_to_str(e)),
83
+ exp.UnixToStr: lambda self, e: self.func(
84
+ "FROM_UNIXTIME", e.this, time_format("doris")(self, e)
85
+ ),
86
+ exp.UnixToTime: rename_func("FROM_UNIXTIME"),
87
+ }
88
+
89
+ # https://github.com/apache/doris/blob/e4f41dbf1ec03f5937fdeba2ee1454a20254015b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisLexer.g4#L93
90
+ RESERVED_KEYWORDS = {
91
+ "account_lock",
92
+ "account_unlock",
93
+ "add",
94
+ "adddate",
95
+ "admin",
96
+ "after",
97
+ "agg_state",
98
+ "aggregate",
99
+ "alias",
100
+ "all",
101
+ "alter",
102
+ "analyze",
103
+ "analyzed",
104
+ "and",
105
+ "anti",
106
+ "append",
107
+ "array",
108
+ "array_range",
109
+ "as",
110
+ "asc",
111
+ "at",
112
+ "authors",
113
+ "auto",
114
+ "auto_increment",
115
+ "backend",
116
+ "backends",
117
+ "backup",
118
+ "begin",
119
+ "belong",
120
+ "between",
121
+ "bigint",
122
+ "bin",
123
+ "binary",
124
+ "binlog",
125
+ "bitand",
126
+ "bitmap",
127
+ "bitmap_union",
128
+ "bitor",
129
+ "bitxor",
130
+ "blob",
131
+ "boolean",
132
+ "brief",
133
+ "broker",
134
+ "buckets",
135
+ "build",
136
+ "builtin",
137
+ "bulk",
138
+ "by",
139
+ "cached",
140
+ "call",
141
+ "cancel",
142
+ "case",
143
+ "cast",
144
+ "catalog",
145
+ "catalogs",
146
+ "chain",
147
+ "char",
148
+ "character",
149
+ "charset",
150
+ "check",
151
+ "clean",
152
+ "cluster",
153
+ "clusters",
154
+ "collate",
155
+ "collation",
156
+ "collect",
157
+ "column",
158
+ "columns",
159
+ "comment",
160
+ "commit",
161
+ "committed",
162
+ "compact",
163
+ "complete",
164
+ "config",
165
+ "connection",
166
+ "connection_id",
167
+ "consistent",
168
+ "constraint",
169
+ "constraints",
170
+ "convert",
171
+ "copy",
172
+ "count",
173
+ "create",
174
+ "creation",
175
+ "cron",
176
+ "cross",
177
+ "cube",
178
+ "current",
179
+ "current_catalog",
180
+ "current_date",
181
+ "current_time",
182
+ "current_timestamp",
183
+ "current_user",
184
+ "data",
185
+ "database",
186
+ "databases",
187
+ "date",
188
+ "date_add",
189
+ "date_ceil",
190
+ "date_diff",
191
+ "date_floor",
192
+ "date_sub",
193
+ "dateadd",
194
+ "datediff",
195
+ "datetime",
196
+ "datetimev2",
197
+ "datev2",
198
+ "datetimev1",
199
+ "datev1",
200
+ "day",
201
+ "days_add",
202
+ "days_sub",
203
+ "decimal",
204
+ "decimalv2",
205
+ "decimalv3",
206
+ "decommission",
207
+ "default",
208
+ "deferred",
209
+ "delete",
210
+ "demand",
211
+ "desc",
212
+ "describe",
213
+ "diagnose",
214
+ "disk",
215
+ "distinct",
216
+ "distinctpc",
217
+ "distinctpcsa",
218
+ "distributed",
219
+ "distribution",
220
+ "div",
221
+ "do",
222
+ "doris_internal_table_id",
223
+ "double",
224
+ "drop",
225
+ "dropp",
226
+ "dual",
227
+ "duplicate",
228
+ "dynamic",
229
+ "else",
230
+ "enable",
231
+ "encryptkey",
232
+ "encryptkeys",
233
+ "end",
234
+ "ends",
235
+ "engine",
236
+ "engines",
237
+ "enter",
238
+ "errors",
239
+ "events",
240
+ "every",
241
+ "except",
242
+ "exclude",
243
+ "execute",
244
+ "exists",
245
+ "expired",
246
+ "explain",
247
+ "export",
248
+ "extended",
249
+ "external",
250
+ "extract",
251
+ "failed_login_attempts",
252
+ "false",
253
+ "fast",
254
+ "feature",
255
+ "fields",
256
+ "file",
257
+ "filter",
258
+ "first",
259
+ "float",
260
+ "follower",
261
+ "following",
262
+ "for",
263
+ "foreign",
264
+ "force",
265
+ "format",
266
+ "free",
267
+ "from",
268
+ "frontend",
269
+ "frontends",
270
+ "full",
271
+ "function",
272
+ "functions",
273
+ "generic",
274
+ "global",
275
+ "grant",
276
+ "grants",
277
+ "graph",
278
+ "group",
279
+ "grouping",
280
+ "groups",
281
+ "hash",
282
+ "having",
283
+ "hdfs",
284
+ "help",
285
+ "histogram",
286
+ "hll",
287
+ "hll_union",
288
+ "hostname",
289
+ "hour",
290
+ "hub",
291
+ "identified",
292
+ "if",
293
+ "ignore",
294
+ "immediate",
295
+ "in",
296
+ "incremental",
297
+ "index",
298
+ "indexes",
299
+ "infile",
300
+ "inner",
301
+ "insert",
302
+ "install",
303
+ "int",
304
+ "integer",
305
+ "intermediate",
306
+ "intersect",
307
+ "interval",
308
+ "into",
309
+ "inverted",
310
+ "ipv4",
311
+ "ipv6",
312
+ "is",
313
+ "is_not_null_pred",
314
+ "is_null_pred",
315
+ "isnull",
316
+ "isolation",
317
+ "job",
318
+ "jobs",
319
+ "join",
320
+ "json",
321
+ "jsonb",
322
+ "key",
323
+ "keys",
324
+ "kill",
325
+ "label",
326
+ "largeint",
327
+ "last",
328
+ "lateral",
329
+ "ldap",
330
+ "ldap_admin_password",
331
+ "left",
332
+ "less",
333
+ "level",
334
+ "like",
335
+ "limit",
336
+ "lines",
337
+ "link",
338
+ "list",
339
+ "load",
340
+ "local",
341
+ "localtime",
342
+ "localtimestamp",
343
+ "location",
344
+ "lock",
345
+ "logical",
346
+ "low_priority",
347
+ "manual",
348
+ "map",
349
+ "match",
350
+ "match_all",
351
+ "match_any",
352
+ "match_phrase",
353
+ "match_phrase_edge",
354
+ "match_phrase_prefix",
355
+ "match_regexp",
356
+ "materialized",
357
+ "max",
358
+ "maxvalue",
359
+ "memo",
360
+ "merge",
361
+ "migrate",
362
+ "migrations",
363
+ "min",
364
+ "minus",
365
+ "minute",
366
+ "modify",
367
+ "month",
368
+ "mtmv",
369
+ "name",
370
+ "names",
371
+ "natural",
372
+ "negative",
373
+ "never",
374
+ "next",
375
+ "ngram_bf",
376
+ "no",
377
+ "non_nullable",
378
+ "not",
379
+ "null",
380
+ "nulls",
381
+ "observer",
382
+ "of",
383
+ "offset",
384
+ "on",
385
+ "only",
386
+ "open",
387
+ "optimized",
388
+ "or",
389
+ "order",
390
+ "outer",
391
+ "outfile",
392
+ "over",
393
+ "overwrite",
394
+ "parameter",
395
+ "parsed",
396
+ "partition",
397
+ "partitions",
398
+ "password",
399
+ "password_expire",
400
+ "password_history",
401
+ "password_lock_time",
402
+ "password_reuse",
403
+ "path",
404
+ "pause",
405
+ "percent",
406
+ "period",
407
+ "permissive",
408
+ "physical",
409
+ "plan",
410
+ "process",
411
+ "plugin",
412
+ "plugins",
413
+ "policy",
414
+ "preceding",
415
+ "prepare",
416
+ "primary",
417
+ "proc",
418
+ "procedure",
419
+ "processlist",
420
+ "profile",
421
+ "properties",
422
+ "property",
423
+ "quantile_state",
424
+ "quantile_union",
425
+ "query",
426
+ "quota",
427
+ "random",
428
+ "range",
429
+ "read",
430
+ "real",
431
+ "rebalance",
432
+ "recover",
433
+ "recycle",
434
+ "refresh",
435
+ "references",
436
+ "regexp",
437
+ "release",
438
+ "rename",
439
+ "repair",
440
+ "repeatable",
441
+ "replace",
442
+ "replace_if_not_null",
443
+ "replica",
444
+ "repositories",
445
+ "repository",
446
+ "resource",
447
+ "resources",
448
+ "restore",
449
+ "restrictive",
450
+ "resume",
451
+ "returns",
452
+ "revoke",
453
+ "rewritten",
454
+ "right",
455
+ "rlike",
456
+ "role",
457
+ "roles",
458
+ "rollback",
459
+ "rollup",
460
+ "routine",
461
+ "row",
462
+ "rows",
463
+ "s3",
464
+ "sample",
465
+ "schedule",
466
+ "scheduler",
467
+ "schema",
468
+ "schemas",
469
+ "second",
470
+ "select",
471
+ "semi",
472
+ "sequence",
473
+ "serializable",
474
+ "session",
475
+ "set",
476
+ "sets",
477
+ "shape",
478
+ "show",
479
+ "signed",
480
+ "skew",
481
+ "smallint",
482
+ "snapshot",
483
+ "soname",
484
+ "split",
485
+ "sql_block_rule",
486
+ "start",
487
+ "starts",
488
+ "stats",
489
+ "status",
490
+ "stop",
491
+ "storage",
492
+ "stream",
493
+ "streaming",
494
+ "string",
495
+ "struct",
496
+ "subdate",
497
+ "sum",
498
+ "superuser",
499
+ "switch",
500
+ "sync",
501
+ "system",
502
+ "table",
503
+ "tables",
504
+ "tablesample",
505
+ "tablet",
506
+ "tablets",
507
+ "task",
508
+ "tasks",
509
+ "temporary",
510
+ "terminated",
511
+ "text",
512
+ "than",
513
+ "then",
514
+ "time",
515
+ "timestamp",
516
+ "timestampadd",
517
+ "timestampdiff",
518
+ "tinyint",
519
+ "to",
520
+ "transaction",
521
+ "trash",
522
+ "tree",
523
+ "triggers",
524
+ "trim",
525
+ "true",
526
+ "truncate",
527
+ "type",
528
+ "type_cast",
529
+ "types",
530
+ "unbounded",
531
+ "uncommitted",
532
+ "uninstall",
533
+ "union",
534
+ "unique",
535
+ "unlock",
536
+ "unsigned",
537
+ "update",
538
+ "use",
539
+ "user",
540
+ "using",
541
+ "value",
542
+ "values",
543
+ "varchar",
544
+ "variables",
545
+ "variant",
546
+ "vault",
547
+ "verbose",
548
+ "version",
549
+ "view",
550
+ "warnings",
551
+ "week",
552
+ "when",
553
+ "where",
554
+ "whitelist",
555
+ "with",
556
+ "work",
557
+ "workload",
558
+ "write",
559
+ "xor",
560
+ "year",
561
+ }