Skip to main content

rudb_parse/generated/
keywords.rs

1//! Every word DuckDB's grammar knows about, and which classes each one is in.
2//!
3//! @generated by `cargo xtask gen-grammar` from the vendored grammar. Do not edit.
4//! `cargo xtask gen-grammar --check` runs in the gate and fails if this file and the
5//! grammar disagree.
6//!
7//! Sorted and lower cased, so a lookup is one binary search with the candidate folded
8//! the same way. One table rather than five, because the classes are not disjoint and
9//! five tables would store the overlapping words more than once and then have to decide
10//! which answer wins. A mask of zero means the word is spelled by some rule and is in no
11//! class, which makes it matchable as a literal and transparent everywhere else.
12
13/// The `reserved_keyword` class.
14pub const RESERVED: u8 = 1 << 0;
15/// The `unreserved_keyword` class.
16pub const UNRESERVED: u8 = 1 << 1;
17/// The `column_name_keyword` class.
18pub const COLUMN_NAME: u8 = 1 << 2;
19/// The `func_name_keyword` class.
20pub const FUNC_NAME: u8 = 1 << 3;
21/// The `type_name_keyword` class.
22pub const TYPE_NAME: u8 = 1 << 4;
23
24/// The longest keyword, so that folding a candidate can use a fixed buffer and a longer
25/// word can skip the lookup without touching the table at all.
26pub const LONGEST: usize = 15;
27
28/// The words, sorted by the lower cased spelling.
29pub static KEYWORDS: [(&str, u8); 514] = [
30    ("abort", UNRESERVED),
31    ("absolute", UNRESERVED),
32    ("access", UNRESERVED),
33    ("action", UNRESERVED),
34    ("add", UNRESERVED),
35    ("admin", UNRESERVED),
36    ("after", UNRESERVED),
37    ("aggregate", UNRESERVED),
38    ("alias", 0),
39    ("all", RESERVED),
40    ("also", UNRESERVED),
41    ("alter", UNRESERVED),
42    ("always", UNRESERVED),
43    ("analyse", RESERVED),
44    ("analyze", RESERVED),
45    ("and", RESERVED),
46    ("anti", TYPE_NAME),
47    ("any", RESERVED),
48    ("approx", UNRESERVED),
49    ("array", RESERVED),
50    ("as", RESERVED),
51    ("asc", RESERVED),
52    ("ascending", 0),
53    ("asof", FUNC_NAME | TYPE_NAME),
54    ("assertion", UNRESERVED),
55    ("assignment", UNRESERVED),
56    ("asymmetric", RESERVED),
57    ("at", FUNC_NAME | TYPE_NAME),
58    ("attach", UNRESERVED),
59    ("attribute", UNRESERVED),
60    ("authorization", FUNC_NAME | TYPE_NAME),
61    ("backward", UNRESERVED),
62    ("before", UNRESERVED),
63    ("begin", UNRESERVED),
64    ("between", COLUMN_NAME),
65    ("bigint", COLUMN_NAME),
66    ("binary", FUNC_NAME | TYPE_NAME),
67    ("bit", COLUMN_NAME),
68    ("boolean", COLUMN_NAME),
69    ("both", RESERVED),
70    ("by", TYPE_NAME),
71    ("cache", UNRESERVED),
72    ("call", UNRESERVED),
73    ("called", UNRESERVED),
74    ("cascade", UNRESERVED),
75    ("cascaded", UNRESERVED),
76    ("case", RESERVED),
77    ("cast", RESERVED),
78    ("catalog", UNRESERVED),
79    ("centuries", UNRESERVED),
80    ("century", UNRESERVED),
81    ("chain", UNRESERVED),
82    ("char", COLUMN_NAME),
83    ("character", COLUMN_NAME),
84    ("characteristics", UNRESERVED),
85    ("check", RESERVED),
86    ("checkpoint", UNRESERVED),
87    ("class", UNRESERVED),
88    ("close", UNRESERVED),
89    ("cluster", UNRESERVED),
90    ("coalesce", COLUMN_NAME),
91    ("collate", RESERVED),
92    ("collation", FUNC_NAME | TYPE_NAME),
93    ("column", RESERVED),
94    ("columns", COLUMN_NAME | TYPE_NAME),
95    ("comment", UNRESERVED),
96    ("comments", UNRESERVED),
97    ("commit", UNRESERVED),
98    ("committed", UNRESERVED),
99    ("compression", UNRESERVED),
100    ("concurrently", FUNC_NAME | TYPE_NAME),
101    ("configuration", UNRESERVED),
102    ("conflict", UNRESERVED),
103    ("connect", UNRESERVED),
104    ("connection", UNRESERVED),
105    ("constraint", RESERVED),
106    ("constraints", UNRESERVED),
107    ("content", UNRESERVED),
108    ("continue", UNRESERVED),
109    ("conversion", UNRESERVED),
110    ("copy", UNRESERVED),
111    ("cost", UNRESERVED),
112    ("create", RESERVED),
113    ("cross", FUNC_NAME | TYPE_NAME),
114    ("csv", UNRESERVED),
115    ("cube", UNRESERVED),
116    ("current", UNRESERVED),
117    ("cursor", UNRESERVED),
118    ("cycle", UNRESERVED),
119    ("data", UNRESERVED),
120    ("database", UNRESERVED),
121    ("databases", 0),
122    ("day", UNRESERVED),
123    ("days", UNRESERVED),
124    ("deallocate", UNRESERVED),
125    ("dec", COLUMN_NAME),
126    ("decade", UNRESERVED),
127    ("decades", UNRESERVED),
128    ("decimal", COLUMN_NAME),
129    ("declare", UNRESERVED),
130    ("default", RESERVED),
131    ("defaults", UNRESERVED),
132    ("deferrable", RESERVED),
133    ("deferred", UNRESERVED),
134    ("definer", UNRESERVED),
135    ("delete", UNRESERVED),
136    ("delimiter", UNRESERVED),
137    ("delimiters", UNRESERVED),
138    ("depends", UNRESERVED),
139    ("desc", RESERVED),
140    ("descending", 0),
141    ("describe", RESERVED),
142    ("destroy", 0),
143    ("detach", UNRESERVED),
144    ("dictionary", UNRESERVED),
145    ("disable", UNRESERVED),
146    ("discard", UNRESERVED),
147    ("disconnect", UNRESERVED),
148    ("distance", UNRESERVED),
149    ("distinct", RESERVED),
150    ("do", RESERVED),
151    ("document", UNRESERVED),
152    ("domain", UNRESERVED),
153    ("double", UNRESERVED),
154    ("drop", UNRESERVED),
155    ("each", UNRESERVED),
156    ("else", RESERVED),
157    ("enable", UNRESERVED),
158    ("encoding", UNRESERVED),
159    ("encrypted", UNRESERVED),
160    ("end", RESERVED),
161    ("enum", UNRESERVED),
162    ("error", UNRESERVED),
163    ("escape", UNRESERVED),
164    ("event", UNRESERVED),
165    ("exact", UNRESERVED),
166    ("except", RESERVED),
167    ("exclude", UNRESERVED),
168    ("excluding", UNRESERVED),
169    ("exclusive", UNRESERVED),
170    ("execute", UNRESERVED),
171    ("exists", COLUMN_NAME),
172    ("explain", UNRESERVED),
173    ("export", UNRESERVED),
174    ("export_state", UNRESERVED),
175    ("extension", UNRESERVED),
176    ("extensions", UNRESERVED),
177    ("external", UNRESERVED),
178    ("extract", COLUMN_NAME),
179    ("false", RESERVED),
180    ("family", UNRESERVED),
181    ("fetch", RESERVED),
182    ("filter", UNRESERVED),
183    ("first", UNRESERVED),
184    ("float", COLUMN_NAME),
185    ("following", UNRESERVED),
186    ("for", RESERVED),
187    ("force", UNRESERVED),
188    ("foreign", RESERVED),
189    ("forward", UNRESERVED),
190    ("freeze", FUNC_NAME | TYPE_NAME),
191    ("from", RESERVED),
192    ("full", FUNC_NAME | TYPE_NAME),
193    ("function", UNRESERVED),
194    ("functions", UNRESERVED),
195    ("generated", COLUMN_NAME | FUNC_NAME),
196    ("geometry", 0),
197    ("glob", FUNC_NAME | TYPE_NAME),
198    ("global", UNRESERVED),
199    ("grant", UNRESERVED),
200    ("granted", UNRESERVED),
201    ("group", RESERVED),
202    ("grouping", COLUMN_NAME),
203    ("grouping_id", COLUMN_NAME),
204    ("groups", UNRESERVED),
205    ("handler", UNRESERVED),
206    ("having", RESERVED),
207    ("header", UNRESERVED),
208    ("hold", UNRESERVED),
209    ("hour", UNRESERVED),
210    ("hours", UNRESERVED),
211    ("identity", UNRESERVED),
212    ("if", UNRESERVED),
213    ("ignore", UNRESERVED),
214    ("ilike", FUNC_NAME | TYPE_NAME),
215    ("immediate", UNRESERVED),
216    ("immutable", UNRESERVED),
217    ("implicit", UNRESERVED),
218    ("import", UNRESERVED),
219    ("in", RESERVED),
220    ("include", UNRESERVED),
221    ("including", UNRESERVED),
222    ("increment", UNRESERVED),
223    ("index", UNRESERVED),
224    ("indexes", UNRESERVED),
225    ("inherit", UNRESERVED),
226    ("inherits", UNRESERVED),
227    ("initially", RESERVED),
228    ("inline", UNRESERVED),
229    ("inner", FUNC_NAME | TYPE_NAME),
230    ("inout", COLUMN_NAME),
231    ("input", UNRESERVED),
232    ("insensitive", UNRESERVED),
233    ("insert", UNRESERVED),
234    ("install", UNRESERVED),
235    ("instead", UNRESERVED),
236    ("int", COLUMN_NAME),
237    ("integer", COLUMN_NAME),
238    ("intersect", RESERVED),
239    ("interval", COLUMN_NAME),
240    ("into", RESERVED),
241    ("invoker", UNRESERVED),
242    ("is", FUNC_NAME | TYPE_NAME),
243    ("isnull", FUNC_NAME | TYPE_NAME),
244    ("isolation", UNRESERVED),
245    ("join", FUNC_NAME | TYPE_NAME),
246    ("json", UNRESERVED),
247    ("key", UNRESERVED),
248    ("keys", 0),
249    ("label", UNRESERVED),
250    ("lambda", RESERVED),
251    ("language", UNRESERVED),
252    ("large", UNRESERVED),
253    ("last", UNRESERVED),
254    ("lateral", RESERVED),
255    ("leading", RESERVED),
256    ("leakproof", UNRESERVED),
257    ("left", FUNC_NAME | TYPE_NAME),
258    ("level", UNRESERVED),
259    ("like", FUNC_NAME | TYPE_NAME),
260    ("limit", RESERVED),
261    ("listen", UNRESERVED),
262    ("load", UNRESERVED),
263    ("local", UNRESERVED),
264    ("location", UNRESERVED),
265    ("lock", UNRESERVED),
266    ("locked", UNRESERVED),
267    ("logged", UNRESERVED),
268    ("macro", UNRESERVED),
269    ("map", COLUMN_NAME | FUNC_NAME),
270    ("mapping", UNRESERVED),
271    ("match", UNRESERVED),
272    ("matched", UNRESERVED),
273    ("materialized", UNRESERVED),
274    ("maxvalue", UNRESERVED),
275    ("merge", UNRESERVED),
276    ("method", UNRESERVED),
277    ("microsecond", UNRESERVED),
278    ("microseconds", UNRESERVED),
279    ("millennia", UNRESERVED),
280    ("millennium", UNRESERVED),
281    ("millisecond", UNRESERVED),
282    ("milliseconds", UNRESERVED),
283    ("minute", UNRESERVED),
284    ("minutes", UNRESERVED),
285    ("minvalue", UNRESERVED),
286    ("mode", UNRESERVED),
287    ("month", UNRESERVED),
288    ("months", UNRESERVED),
289    ("move", UNRESERVED),
290    ("name", UNRESERVED),
291    ("names", UNRESERVED),
292    ("national", COLUMN_NAME),
293    ("natural", FUNC_NAME | TYPE_NAME),
294    ("nchar", COLUMN_NAME),
295    ("nearest", UNRESERVED),
296    ("new", UNRESERVED),
297    ("next", UNRESERVED),
298    ("no", UNRESERVED),
299    ("none", COLUMN_NAME),
300    ("not", RESERVED),
301    ("nothing", UNRESERVED),
302    ("notify", UNRESERVED),
303    ("notnull", FUNC_NAME | TYPE_NAME),
304    ("nowait", UNRESERVED),
305    ("null", RESERVED),
306    ("nullif", COLUMN_NAME),
307    ("nulls", UNRESERVED),
308    ("numeric", COLUMN_NAME),
309    ("object", UNRESERVED),
310    ("of", UNRESERVED),
311    ("off", UNRESERVED),
312    ("offset", RESERVED),
313    ("oids", UNRESERVED),
314    ("old", UNRESERVED),
315    ("on", RESERVED),
316    ("only", RESERVED),
317    ("operator", UNRESERVED),
318    ("option", UNRESERVED),
319    ("options", UNRESERVED),
320    ("or", RESERVED),
321    ("order", RESERVED),
322    ("ordinality", UNRESERVED),
323    ("others", UNRESERVED),
324    ("out", COLUMN_NAME),
325    ("outer", FUNC_NAME | TYPE_NAME),
326    ("over", UNRESERVED),
327    ("overlaps", FUNC_NAME | TYPE_NAME),
328    ("overlay", COLUMN_NAME),
329    ("overriding", UNRESERVED),
330    ("owned", UNRESERVED),
331    ("owner", UNRESERVED),
332    ("parallel", UNRESERVED),
333    ("parser", UNRESERVED),
334    ("partial", UNRESERVED),
335    ("partition", UNRESERVED),
336    ("partitioned", UNRESERVED),
337    ("passing", UNRESERVED),
338    ("password", UNRESERVED),
339    ("percent", UNRESERVED),
340    ("persistent", UNRESERVED),
341    ("pivot", RESERVED),
342    ("pivot_longer", RESERVED),
343    ("pivot_wider", RESERVED),
344    ("placing", RESERVED),
345    ("plans", UNRESERVED),
346    ("policy", UNRESERVED),
347    ("position", COLUMN_NAME),
348    ("positional", FUNC_NAME | TYPE_NAME),
349    ("pragma", UNRESERVED),
350    ("preceding", UNRESERVED),
351    ("precision", COLUMN_NAME),
352    ("prefix", 0),
353    ("prepare", UNRESERVED),
354    ("prepared", UNRESERVED),
355    ("preserve", UNRESERVED),
356    ("primary", RESERVED),
357    ("prior", UNRESERVED),
358    ("privileges", UNRESERVED),
359    ("procedural", UNRESERVED),
360    ("procedure", UNRESERVED),
361    ("program", UNRESERVED),
362    ("public", 0),
363    ("publication", UNRESERVED),
364    ("qualify", RESERVED),
365    ("quarter", UNRESERVED),
366    ("quarters", UNRESERVED),
367    ("quote", UNRESERVED),
368    ("range", UNRESERVED),
369    ("read", UNRESERVED),
370    ("real", COLUMN_NAME),
371    ("reassign", UNRESERVED),
372    ("recheck", UNRESERVED),
373    ("recursive", UNRESERVED),
374    ("ref", UNRESERVED),
375    ("references", RESERVED),
376    ("referencing", UNRESERVED),
377    ("refresh", UNRESERVED),
378    ("register", 0),
379    ("reindex", UNRESERVED),
380    ("relative", UNRESERVED),
381    ("release", UNRESERVED),
382    ("rename", UNRESERVED),
383    ("repeatable", UNRESERVED),
384    ("replace", UNRESERVED),
385    ("replica", UNRESERVED),
386    ("repository", 0),
387    ("reset", UNRESERVED),
388    ("resource", UNRESERVED),
389    ("resources", 0),
390    ("respect", UNRESERVED),
391    ("restart", UNRESERVED),
392    ("restrict", UNRESERVED),
393    ("returning", RESERVED),
394    ("returns", UNRESERVED),
395    ("revoke", UNRESERVED),
396    ("right", FUNC_NAME | TYPE_NAME),
397    ("role", UNRESERVED),
398    ("rollback", UNRESERVED),
399    ("rollup", UNRESERVED),
400    ("row", COLUMN_NAME),
401    ("rows", UNRESERVED),
402    ("rule", UNRESERVED),
403    ("sample", UNRESERVED),
404    ("savepoint", UNRESERVED),
405    ("schema", UNRESERVED),
406    ("schemas", UNRESERVED),
407    ("scope", UNRESERVED),
408    ("scroll", UNRESERVED),
409    ("search", UNRESERVED),
410    ("second", UNRESERVED),
411    ("seconds", UNRESERVED),
412    ("secret", UNRESERVED),
413    ("secure", UNRESERVED),
414    ("security", UNRESERVED),
415    ("select", RESERVED),
416    ("semi", TYPE_NAME),
417    ("sequence", UNRESERVED),
418    ("sequences", UNRESERVED),
419    ("serializable", UNRESERVED),
420    ("server", UNRESERVED),
421    ("session", UNRESERVED),
422    ("set", UNRESERVED),
423    ("setof", COLUMN_NAME),
424    ("sets", UNRESERVED),
425    ("share", UNRESERVED),
426    ("show", RESERVED),
427    ("similar", FUNC_NAME | TYPE_NAME),
428    ("similarity", UNRESERVED),
429    ("simple", UNRESERVED),
430    ("skip", UNRESERVED),
431    ("smallint", COLUMN_NAME),
432    ("snapshot", UNRESERVED),
433    ("some", RESERVED),
434    ("sorted", UNRESERVED),
435    ("source", UNRESERVED),
436    ("sql", UNRESERVED),
437    ("stable", UNRESERVED),
438    ("standalone", UNRESERVED),
439    ("start", UNRESERVED),
440    ("statement", UNRESERVED),
441    ("statistics", UNRESERVED),
442    ("stdin", UNRESERVED),
443    ("stdout", UNRESERVED),
444    ("storage", UNRESERVED),
445    ("stored", UNRESERVED),
446    ("strict", UNRESERVED),
447    ("strip", UNRESERVED),
448    ("struct", COLUMN_NAME | FUNC_NAME),
449    ("subscription", UNRESERVED),
450    ("substring", COLUMN_NAME),
451    ("summarize", RESERVED),
452    ("symmetric", RESERVED),
453    ("sysid", UNRESERVED),
454    ("system", UNRESERVED),
455    ("table", RESERVED),
456    ("tables", UNRESERVED),
457    ("tablesample", FUNC_NAME | TYPE_NAME),
458    ("tablespace", UNRESERVED),
459    ("target", UNRESERVED),
460    ("temp", UNRESERVED),
461    ("template", UNRESERVED),
462    ("temporary", UNRESERVED),
463    ("text", UNRESERVED),
464    ("then", RESERVED),
465    ("ties", UNRESERVED),
466    ("time", COLUMN_NAME),
467    ("timestamp", COLUMN_NAME),
468    ("to", RESERVED),
469    ("trailing", RESERVED),
470    ("transaction", UNRESERVED),
471    ("transform", UNRESERVED),
472    ("treat", COLUMN_NAME),
473    ("trigger", UNRESERVED),
474    ("trim", COLUMN_NAME),
475    ("true", RESERVED),
476    ("truncate", UNRESERVED),
477    ("trusted", UNRESERVED),
478    ("try", 0),
479    ("try_cast", COLUMN_NAME | TYPE_NAME),
480    ("tuple", COLUMN_NAME | FUNC_NAME),
481    ("type", UNRESERVED),
482    ("types", UNRESERVED),
483    ("unbounded", UNRESERVED),
484    ("uncommitted", UNRESERVED),
485    ("unencrypted", UNRESERVED),
486    ("union", RESERVED),
487    ("unique", RESERVED),
488    ("unknown", UNRESERVED),
489    ("unlisten", UNRESERVED),
490    ("unlogged", UNRESERVED),
491    ("unpack", TYPE_NAME),
492    ("unpivot", RESERVED),
493    ("until", UNRESERVED),
494    ("update", UNRESERVED),
495    ("use", UNRESERVED),
496    ("user", UNRESERVED),
497    ("using", RESERVED),
498    ("vacuum", UNRESERVED),
499    ("valid", UNRESERVED),
500    ("validate", UNRESERVED),
501    ("validator", UNRESERVED),
502    ("value", UNRESERVED),
503    ("values", COLUMN_NAME),
504    ("varchar", COLUMN_NAME),
505    ("variable", UNRESERVED),
506    ("variables", 0),
507    ("variadic", RESERVED),
508    ("variant", 0),
509    ("varying", UNRESERVED),
510    ("verbose", FUNC_NAME | TYPE_NAME),
511    ("version", UNRESERVED),
512    ("view", UNRESERVED),
513    ("views", UNRESERVED),
514    ("virtual", UNRESERVED),
515    ("volatile", UNRESERVED),
516    ("week", UNRESERVED),
517    ("weeks", UNRESERVED),
518    ("when", RESERVED),
519    ("where", RESERVED),
520    ("whitespace", UNRESERVED),
521    ("window", RESERVED),
522    ("with", RESERVED),
523    ("within", UNRESERVED),
524    ("without", UNRESERVED),
525    ("work", UNRESERVED),
526    ("wrapper", UNRESERVED),
527    ("write", UNRESERVED),
528    ("xml", UNRESERVED),
529    ("xmlattributes", COLUMN_NAME),
530    ("xmlconcat", COLUMN_NAME),
531    ("xmlelement", COLUMN_NAME),
532    ("xmlexists", COLUMN_NAME),
533    ("xmlforest", COLUMN_NAME),
534    ("xmlnamespaces", COLUMN_NAME),
535    ("xmlparse", COLUMN_NAME),
536    ("xmlpi", COLUMN_NAME),
537    ("xmlroot", COLUMN_NAME),
538    ("xmlserialize", COLUMN_NAME),
539    ("xmltable", COLUMN_NAME),
540    ("year", UNRESERVED),
541    ("years", UNRESERVED),
542    ("yes", UNRESERVED),
543    ("zone", UNRESERVED),
544];