1#[cfg(feature = "serde")]
31use serde::{Deserialize, Serialize};
32
33#[cfg(feature = "visitor")]
34use sqlparser_derive::{Visit, VisitMut};
35
36macro_rules! kw_def {
39 ($ident:ident = $string_keyword:expr) => {
40 pub const $ident: &'static str = $string_keyword;
41 };
42 ($ident:ident) => {
43 kw_def!($ident = stringify!($ident));
44 };
45}
46
47macro_rules! define_keywords {
50 ($(
51 $ident:ident $(= $string_keyword:expr)?
52 ),*) => {
53 #[derive(Debug, Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Hash)]
54 #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
55 #[cfg_attr(feature = "visitor", derive(Visit, VisitMut))]
56 #[allow(non_camel_case_types)]
57 pub enum Keyword {
58 NoKeyword,
59 $($ident),*
60 }
61
62 pub const ALL_KEYWORDS_INDEX: &[Keyword] = &[
63 $(Keyword::$ident),*
64 ];
65
66 $(kw_def!($ident $(= $string_keyword)?);)*
67 pub const ALL_KEYWORDS: &[&str] = &[
68 $($ident),*
69 ];
70 };
71}
72
73define_keywords!(
75 ABORT,
76 ABS,
77 ABSENT,
78 ABSOLUTE,
79 ACCESS,
80 ACCOUNT,
81 ACTION,
82 ADD,
83 ADMIN,
84 AFTER,
85 AGAINST,
86 AGGREGATION,
87 ALERT,
88 ALGORITHM,
89 ALIAS,
90 ALL,
91 ALLOCATE,
92 ALTER,
93 ALWAYS,
94 ANALYZE,
95 AND,
96 ANTI,
97 ANY,
98 APPLICATION,
99 APPLY,
100 APPLYBUDGET,
101 ARCHIVE,
102 ARE,
103 ARRAY,
104 ARRAY_MAX_CARDINALITY,
105 AS,
106 ASC,
107 ASENSITIVE,
108 ASOF,
109 ASSERT,
110 ASYMMETRIC,
111 AT,
112 ATOMIC,
113 ATTACH,
114 AUDIT,
115 AUTHENTICATION,
116 AUTHORIZATION,
117 AUTO,
118 AUTOINCREMENT,
119 AUTO_INCREMENT,
120 AVG,
121 AVRO,
122 BACKWARD,
123 BASE64,
124 BASE_LOCATION,
125 BEFORE,
126 BEGIN,
127 BEGIN_FRAME,
128 BEGIN_PARTITION,
129 BERNOULLI,
130 BETWEEN,
131 BIGDECIMAL,
132 BIGINT,
133 BIGNUMERIC,
134 BINARY,
135 BIND,
136 BINDING,
137 BIT,
138 BLOB,
139 BLOCK,
140 BLOOMFILTER,
141 BOOL,
142 BOOLEAN,
143 BOTH,
144 BOX,
145 BROWSE,
146 BTREE,
147 BUCKET,
148 BUCKETS,
149 BY,
150 BYPASSRLS,
151 BYTEA,
152 BYTES,
153 CACHE,
154 CALL,
155 CALLED,
156 CARDINALITY,
157 CASCADE,
158 CASCADED,
159 CASE,
160 CASES,
161 CAST,
162 CATALOG,
163 CATALOG_SYNC,
164 CATCH,
165 CEIL,
166 CEILING,
167 CENTURY,
168 CHAIN,
169 CHANGE,
170 CHANGE_TRACKING,
171 CHANNEL,
172 CHAR,
173 CHARACTER,
174 CHARACTERS,
175 CHARACTER_LENGTH,
176 CHARSET,
177 CHAR_LENGTH,
178 CHECK,
179 CIRCLE,
180 CLEAR,
181 CLOB,
182 CLONE,
183 CLOSE,
184 CLUSTER,
185 CLUSTERED,
186 CLUSTERING,
187 COALESCE,
188 COLLATE,
189 COLLATION,
190 COLLECT,
191 COLLECTION,
192 COLUMN,
193 COLUMNS,
194 COLUMNSTORE,
195 COMMENT,
196 COMMIT,
197 COMMITTED,
198 COMPATIBLE,
199 COMPRESSION,
200 COMPUTE,
201 CONCURRENTLY,
202 CONDITION,
203 CONFLICT,
204 CONNECT,
205 CONNECTION,
206 CONNECTOR,
207 CONSTRAINT,
208 CONTAINS,
209 CONTINUE,
210 CONVERT,
211 COPY,
212 COPY_OPTIONS,
213 CORR,
214 CORRESPONDING,
215 COUNT,
216 COVAR_POP,
217 COVAR_SAMP,
218 CREATE,
219 CREATEDB,
220 CREATEROLE,
221 CREDENTIALS,
222 CROSS,
223 CSV,
224 CUBE,
225 CUME_DIST,
226 CURRENT,
227 CURRENT_CATALOG,
228 CURRENT_DATE,
229 CURRENT_DEFAULT_TRANSFORM_GROUP,
230 CURRENT_PATH,
231 CURRENT_ROLE,
232 CURRENT_ROW,
233 CURRENT_SCHEMA,
234 CURRENT_TIME,
235 CURRENT_TIMESTAMP,
236 CURRENT_TRANSFORM_GROUP_FOR_TYPE,
237 CURRENT_USER,
238 CURSOR,
239 CYCLE,
240 DATA,
241 DATABASE,
242 DATABASES,
243 DATA_RETENTION_TIME_IN_DAYS,
244 DATE,
245 DATE32,
246 DATETIME,
247 DATETIME64,
248 DAY,
249 DAYOFWEEK,
250 DAYOFYEAR,
251 DAYS,
252 DCPROPERTIES,
253 DEALLOCATE,
254 DEC,
255 DECADE,
256 DECIMAL,
257 DECLARE,
258 DEDUPLICATE,
259 DEFAULT,
260 DEFAULT_DDL_COLLATION,
261 DEFERRABLE,
262 DEFERRED,
263 DEFINE,
264 DEFINED,
265 DEFINER,
266 DELAYED,
267 DELETE,
268 DELIMITED,
269 DELIMITER,
270 DELTA,
271 DENSE_RANK,
272 DEREF,
273 DESC,
274 DESCRIBE,
275 DETACH,
276 DETAIL,
277 DETERMINISTIC,
278 DIRECTORY,
279 DISABLE,
280 DISCARD,
281 DISCONNECT,
282 DISTINCT,
283 DISTRIBUTE,
284 DIV,
285 DO,
286 DOUBLE,
287 DOW,
288 DOY,
289 DROP,
290 DRY,
291 DUPLICATE,
292 DYNAMIC,
293 EACH,
294 ELEMENT,
295 ELEMENTS,
296 ELSE,
297 EMPTY,
298 ENABLE,
299 ENABLE_SCHEMA_EVOLUTION,
300 ENCODING,
301 ENCRYPTION,
302 END,
303 END_EXEC = "END-EXEC",
304 ENDPOINT,
305 END_FRAME,
306 END_PARTITION,
307 ENFORCED,
308 ENGINE,
309 ENUM,
310 ENUM16,
311 ENUM8,
312 EPHEMERAL,
313 EPOCH,
314 EQUALS,
315 ERROR,
316 ESCAPE,
317 ESCAPED,
318 ESTIMATE,
319 EVENT,
320 EVERY,
321 EVOLVE,
322 EXCEPT,
323 EXCEPTION,
324 EXCHANGE,
325 EXCLUDE,
326 EXCLUSIVE,
327 EXEC,
328 EXECUTE,
329 EXECUTION,
330 EXISTS,
331 EXP,
332 EXPANSION,
333 EXPLAIN,
334 EXPLICIT,
335 EXPORT,
336 EXTENDED,
337 EXTENSION,
338 EXTERNAL,
339 EXTERNAL_VOLUME,
340 EXTRACT,
341 FAIL,
342 FAILOVER,
343 FALSE,
344 FETCH,
345 FIELDS,
346 FILE,
347 FILES,
348 FILE_FORMAT,
349 FILL,
350 FILTER,
351 FINAL,
352 FIRST,
353 FIRST_VALUE,
354 FIXEDSTRING,
355 FLOAT,
356 FLOAT32,
357 FLOAT4,
358 FLOAT64,
359 FLOAT8,
360 FLOOR,
361 FLUSH,
362 FN,
363 FOLLOWING,
364 FOR,
365 FORCE,
366 FORCE_NOT_NULL,
367 FORCE_NULL,
368 FORCE_QUOTE,
369 FOREIGN,
370 FORMAT,
371 FORMATTED,
372 FORWARD,
373 FRAME_ROW,
374 FREE,
375 FREEZE,
376 FROM,
377 FSCK,
378 FULFILLMENT,
379 FULL,
380 FULLTEXT,
381 FUNCTION,
382 FUNCTIONS,
383 FUSION,
384 GENERAL,
385 GENERATE,
386 GENERATED,
387 GEOGRAPHY,
388 GET,
389 GLOBAL,
390 GRANT,
391 GRANTED,
392 GRANTS,
393 GRAPHVIZ,
394 GROUP,
395 GROUPING,
396 GROUPS,
397 HASH,
398 HAVING,
399 HEADER,
400 HEAP,
401 HIGH_PRIORITY,
402 HISTORY,
403 HIVEVAR,
404 HOLD,
405 HOSTS,
406 HOUR,
407 HOURS,
408 ICEBERG,
409 ID,
410 IDENTITY,
411 IDENTITY_INSERT,
412 IF,
413 IGNORE,
414 ILIKE,
415 IMMEDIATE,
416 IMMUTABLE,
417 IMPORT,
418 IMPORTED,
419 IN,
420 INCLUDE,
421 INCLUDE_NULL_VALUES,
422 INCREMENT,
423 INDEX,
424 INDICATOR,
425 INHERIT,
426 INITIALLY,
427 INNER,
428 INOUT,
429 INPATH,
430 INPLACE,
431 INPUT,
432 INPUTFORMAT,
433 INSENSITIVE,
434 INSERT,
435 INSTALL,
436 INSTANT,
437 INSTEAD,
438 INT,
439 INT128,
440 INT16,
441 INT2,
442 INT256,
443 INT32,
444 INT4,
445 INT64,
446 INT8,
447 INTEGER,
448 INTEGRATION,
449 INTERPOLATE,
450 INTERSECT,
451 INTERSECTION,
452 INTERVAL,
453 INTO,
454 INVOKER,
455 IO,
456 IS,
457 ISODOW,
458 ISOLATION,
459 ISOWEEK,
460 ISOYEAR,
461 ITEMS,
462 JAR,
463 JOIN,
464 JSON,
465 JSONB,
466 JSONFILE,
467 JSON_TABLE,
468 JULIAN,
469 KEY,
470 KEYS,
471 KILL,
472 LAG,
473 LAMBDA,
474 LANGUAGE,
475 LARGE,
476 LAST,
477 LAST_VALUE,
478 LATERAL,
479 LEAD,
480 LEADING,
481 LEFT,
482 LEVEL,
483 LIKE,
484 LIKE_REGEX,
485 LIMIT,
486 LINE,
487 LINES,
488 LIST,
489 LISTEN,
490 LISTING,
491 LN,
492 LOAD,
493 LOCAL,
494 LOCALTIME,
495 LOCALTIMESTAMP,
496 LOCATION,
497 LOCK,
498 LOCKED,
499 LOG,
500 LOGIN,
501 LOGS,
502 LONGBLOB,
503 LONGTEXT,
504 LOWCARDINALITY,
505 LOWER,
506 LOW_PRIORITY,
507 LS,
508 LSEG,
509 MACRO,
510 MANAGE,
511 MANAGED,
512 MANAGEDLOCATION,
513 MAP,
514 MASKING,
515 MATCH,
516 MATCHED,
517 MATCHES,
518 MATCH_CONDITION,
519 MATCH_RECOGNIZE,
520 MATERIALIZE,
521 MATERIALIZED,
522 MAX,
523 MAXVALUE,
524 MAX_DATA_EXTENSION_TIME_IN_DAYS,
525 MEASURES,
526 MEDIUMBLOB,
527 MEDIUMINT,
528 MEDIUMTEXT,
529 MEMBER,
530 MERGE,
531 METADATA,
532 METHOD,
533 METRIC,
534 MICROSECOND,
535 MICROSECONDS,
536 MILLENIUM,
537 MILLENNIUM,
538 MILLISECOND,
539 MILLISECONDS,
540 MIN,
541 MINUS,
542 MINUTE,
543 MINUTES,
544 MINVALUE,
545 MOD,
546 MODE,
547 MODIFIES,
548 MODIFY,
549 MODULE,
550 MONITOR,
551 MONTH,
552 MONTHS,
553 MSCK,
554 MULTISET,
555 MUTATION,
556 NAME,
557 NANOSECOND,
558 NANOSECONDS,
559 NATIONAL,
560 NATURAL,
561 NCHAR,
562 NCLOB,
563 NESTED,
564 NETWORK,
565 NEW,
566 NEXT,
567 NFC,
568 NFD,
569 NFKC,
570 NFKD,
571 NO,
572 NOBYPASSRLS,
573 NOCREATEDB,
574 NOCREATEROLE,
575 NOINHERIT,
576 NOLOGIN,
577 NONE,
578 NOORDER,
579 NOREPLICATION,
580 NORMALIZE,
581 NORMALIZED,
582 NOSCAN,
583 NOSUPERUSER,
584 NOT,
585 NOTHING,
586 NOTIFY,
587 NOWAIT,
588 NO_WRITE_TO_BINLOG,
589 NTH_VALUE,
590 NTILE,
591 NULL,
592 NULLABLE,
593 NULLIF,
594 NULLS,
595 NUMERIC,
596 NVARCHAR,
597 OBJECT,
598 OBJECTS,
599 OCCURRENCES_REGEX,
600 OCTETS,
601 OCTET_LENGTH,
602 OF,
603 OFF,
604 OFFSET,
605 OFFSETS,
606 OLD,
607 OMIT,
608 ON,
609 ONE,
610 ONLY,
611 OPEN,
612 OPENJSON,
613 OPERATE,
614 OPERATOR,
615 OPTIMIZATION,
616 OPTIMIZE,
617 OPTIMIZED,
618 OPTIMIZER_COSTS,
619 OPTION,
620 OPTIONS,
621 OR,
622 ORC,
623 ORDER,
624 ORDINALITY,
625 ORGANIZATION,
626 OUT,
627 OUTER,
628 OUTPUTFORMAT,
629 OVER,
630 OVERFLOW,
631 OVERLAPS,
632 OVERLAY,
633 OVERRIDE,
634 OVERWRITE,
635 OWNED,
636 OWNER,
637 OWNERSHIP,
638 PACKAGE,
639 PACKAGES,
640 PARALLEL,
641 PARAMETER,
642 PARQUET,
643 PART,
644 PARTITION,
645 PARTITIONED,
646 PARTITIONS,
647 PASSWORD,
648 PAST,
649 PATH,
650 PATTERN,
651 PER,
652 PERCENT,
653 PERCENTILE_CONT,
654 PERCENTILE_DISC,
655 PERCENT_RANK,
656 PERIOD,
657 PERMISSIVE,
658 PERSISTENT,
659 PIVOT,
660 PLACING,
661 PLAN,
662 PLANS,
663 POINT,
664 POLICY,
665 POLYGON,
666 POOL,
667 PORTION,
668 POSITION,
669 POSITION_REGEX,
670 POWER,
671 PRAGMA,
672 PRECEDES,
673 PRECEDING,
674 PRECISION,
675 PREPARE,
676 PRESERVE,
677 PREWHERE,
678 PRIMARY,
679 PRIOR,
680 PRIVILEGES,
681 PROCEDURE,
682 PROFILE,
683 PROGRAM,
684 PROJECTION,
685 PUBLIC,
686 PURCHASE,
687 PURGE,
688 QUALIFY,
689 QUARTER,
690 QUERY,
691 QUOTE,
692 RAISERROR,
693 RANGE,
694 RANK,
695 RAW,
696 RCFILE,
697 READ,
698 READS,
699 READ_ONLY,
700 REAL,
701 RECLUSTER,
702 RECURSIVE,
703 REF,
704 REFERENCES,
705 REFERENCING,
706 REGCLASS,
707 REGEXP,
708 REGR_AVGX,
709 REGR_AVGY,
710 REGR_COUNT,
711 REGR_INTERCEPT,
712 REGR_R2,
713 REGR_SLOPE,
714 REGR_SXX,
715 REGR_SXY,
716 REGR_SYY,
717 RELATIVE,
718 RELAY,
719 RELEASE,
720 RELEASES,
721 REMOTE,
722 REMOVE,
723 RENAME,
724 REORG,
725 REPAIR,
726 REPEATABLE,
727 REPLACE,
728 REPLICA,
729 REPLICATE,
730 REPLICATION,
731 RESET,
732 RESOLVE,
733 RESPECT,
734 RESTART,
735 RESTRICT,
736 RESTRICTED,
737 RESTRICTIONS,
738 RESTRICTIVE,
739 RESULT,
740 RESULTSET,
741 RESUME,
742 RETAIN,
743 RETURN,
744 RETURNING,
745 RETURNS,
746 REVOKE,
747 RIGHT,
748 RLIKE,
749 RM,
750 ROLE,
751 ROLES,
752 ROLLBACK,
753 ROLLUP,
754 ROOT,
755 ROW,
756 ROWID,
757 ROWS,
758 ROW_NUMBER,
759 RULE,
760 RUN,
761 SAFE,
762 SAFE_CAST,
763 SAMPLE,
764 SAVEPOINT,
765 SCHEMA,
766 SCHEMAS,
767 SCOPE,
768 SCROLL,
769 SEARCH,
770 SECOND,
771 SECONDARY,
772 SECONDS,
773 SECRET,
774 SECURITY,
775 SEED,
776 SELECT,
777 SEMI,
778 SENSITIVE,
779 SEPARATOR,
780 SEQUENCE,
781 SEQUENCEFILE,
782 SEQUENCES,
783 SERDE,
784 SERDEPROPERTIES,
785 SERIALIZABLE,
786 SERVICE,
787 SESSION,
788 SESSION_USER,
789 SET,
790 SETERROR,
791 SETS,
792 SETTINGS,
793 SHARE,
794 SHARING,
795 SHOW,
796 SIGNED,
797 SIMILAR,
798 SKIP,
799 SLOW,
800 SMALLINT,
801 SNAPSHOT,
802 SOME,
803 SORT,
804 SORTED,
805 SOURCE,
806 SPATIAL,
807 SPECIFIC,
808 SPECIFICTYPE,
809 SQL,
810 SQLEXCEPTION,
811 SQLSTATE,
812 SQLWARNING,
813 SQRT,
814 STABLE,
815 STAGE,
816 START,
817 STARTS,
818 STATEMENT,
819 STATIC,
820 STATISTICS,
821 STATUS,
822 STDDEV_POP,
823 STDDEV_SAMP,
824 STDIN,
825 STDOUT,
826 STEP,
827 STORAGE_INTEGRATION,
828 STORAGE_SERIALIZATION_POLICY,
829 STORED,
830 STRICT,
831 STRING,
832 STRUCT,
833 SUBMULTISET,
834 SUBSTRING,
835 SUBSTRING_REGEX,
836 SUCCEEDS,
837 SUM,
838 SUPER,
839 SUPERUSER,
840 SUPPORT,
841 SUSPEND,
842 SWAP,
843 SYMMETRIC,
844 SYNC,
845 SYSTEM,
846 SYSTEM_TIME,
847 SYSTEM_USER,
848 TABLE,
849 TABLES,
850 TABLESAMPLE,
851 TAG,
852 TARGET,
853 TASK,
854 TBLPROPERTIES,
855 TEMP,
856 TEMPORARY,
857 TEMPTABLE,
858 TERMINATED,
859 TERSE,
860 TEXT,
861 TEXTFILE,
862 THEN,
863 TIES,
864 TIME,
865 TIMESTAMP,
866 TIMESTAMPTZ,
867 TIMETZ,
868 TIMEZONE,
869 TIMEZONE_ABBR,
870 TIMEZONE_HOUR,
871 TIMEZONE_MINUTE,
872 TIMEZONE_REGION,
873 TINYBLOB,
874 TINYINT,
875 TINYTEXT,
876 TO,
877 TOP,
878 TOTALS,
879 TRACE,
880 TRAILING,
881 TRANSACTION,
882 TRANSIENT,
883 TRANSLATE,
884 TRANSLATE_REGEX,
885 TRANSLATION,
886 TREAT,
887 TRIGGER,
888 TRIM,
889 TRIM_ARRAY,
890 TRUE,
891 TRUNCATE,
892 TRY,
893 TRY_CAST,
894 TRY_CONVERT,
895 TUPLE,
896 TYPE,
897 UESCAPE,
898 UINT128,
899 UINT16,
900 UINT256,
901 UINT32,
902 UINT64,
903 UINT8,
904 UNBOUNDED,
905 UNCACHE,
906 UNCOMMITTED,
907 UNDEFINED,
908 UNFREEZE,
909 UNION,
910 UNIQUE,
911 UNKNOWN,
912 UNLISTEN,
913 UNLOAD,
914 UNLOCK,
915 UNLOGGED,
916 UNMATCHED,
917 UNNEST,
918 UNPIVOT,
919 UNSAFE,
920 UNSET,
921 UNSIGNED,
922 UNTIL,
923 UPDATE,
924 UPPER,
925 URL,
926 USAGE,
927 USE,
928 USER,
929 USER_RESOURCES,
930 USING,
931 UUID,
932 VACUUM,
933 VALID,
934 VALIDATION_MODE,
935 VALUE,
936 VALUES,
937 VALUE_OF,
938 VARBINARY,
939 VARBIT,
940 VARCHAR,
941 VARIABLE,
946 VARIABLES,
947 VARYING,
948 VAR_POP,
949 VAR_SAMP,
950 VERBOSE,
951 VERSION,
952 VERSIONING,
953 VERSIONS,
954 VIEW,
955 VIEWS,
956 VIRTUAL,
957 VOLATILE,
958 VOLUME,
959 WAREHOUSE,
960 WAREHOUSES,
961 WEEK,
962 WEEKS,
963 WHEN,
964 WHENEVER,
965 WHERE,
966 WIDTH_BUCKET,
967 WINDOW,
968 WITH,
969 WITHIN,
970 WITHOUT,
971 WITHOUT_ARRAY_WRAPPER,
972 WORK,
973 WRITE,
974 XML,
975 XOR,
976 YEAR,
977 YEARS,
978 ZONE,
979 ZORDER
980);
981
982pub const RESERVED_FOR_TABLE_ALIAS: &[Keyword] = &[
985 Keyword::WITH,
987 Keyword::EXPLAIN,
988 Keyword::ANALYZE,
989 Keyword::SELECT,
990 Keyword::WHERE,
991 Keyword::GROUP,
992 Keyword::SORT,
993 Keyword::HAVING,
994 Keyword::ORDER,
995 Keyword::PIVOT,
996 Keyword::UNPIVOT,
997 Keyword::TOP,
998 Keyword::LATERAL,
999 Keyword::VIEW,
1000 Keyword::LIMIT,
1001 Keyword::OFFSET,
1002 Keyword::FETCH,
1003 Keyword::UNION,
1004 Keyword::EXCEPT,
1005 Keyword::INTERSECT,
1006 Keyword::MINUS,
1007 Keyword::ON,
1009 Keyword::JOIN,
1010 Keyword::INNER,
1011 Keyword::CROSS,
1012 Keyword::FULL,
1013 Keyword::LEFT,
1014 Keyword::RIGHT,
1015 Keyword::NATURAL,
1016 Keyword::USING,
1017 Keyword::CLUSTER,
1018 Keyword::DISTRIBUTE,
1019 Keyword::GLOBAL,
1020 Keyword::ANTI,
1021 Keyword::SEMI,
1022 Keyword::RETURNING,
1023 Keyword::ASOF,
1024 Keyword::MATCH_CONDITION,
1025 Keyword::OUTER,
1027 Keyword::SET,
1028 Keyword::QUALIFY,
1029 Keyword::WINDOW,
1030 Keyword::END,
1031 Keyword::FOR,
1032 Keyword::PARTITION,
1034 Keyword::PREWHERE,
1036 Keyword::SETTINGS,
1037 Keyword::FORMAT,
1038 Keyword::START,
1040 Keyword::CONNECT,
1041 Keyword::MATCH_RECOGNIZE,
1043 Keyword::SAMPLE,
1045 Keyword::TABLESAMPLE,
1046 Keyword::FROM,
1047];
1048
1049pub const RESERVED_FOR_COLUMN_ALIAS: &[Keyword] = &[
1052 Keyword::WITH,
1054 Keyword::EXPLAIN,
1055 Keyword::ANALYZE,
1056 Keyword::SELECT,
1057 Keyword::WHERE,
1058 Keyword::GROUP,
1059 Keyword::SORT,
1060 Keyword::HAVING,
1061 Keyword::ORDER,
1062 Keyword::TOP,
1063 Keyword::LATERAL,
1064 Keyword::VIEW,
1065 Keyword::LIMIT,
1066 Keyword::OFFSET,
1067 Keyword::FETCH,
1068 Keyword::UNION,
1069 Keyword::EXCEPT,
1070 Keyword::INTERSECT,
1071 Keyword::MINUS,
1072 Keyword::CLUSTER,
1073 Keyword::DISTRIBUTE,
1074 Keyword::RETURNING,
1075 Keyword::FROM,
1077 Keyword::INTO,
1078 Keyword::END,
1079];
1080
1081pub const RESERVED_FOR_TABLE_FACTOR: &[Keyword] = &[
1085 Keyword::INTO,
1086 Keyword::LIMIT,
1087 Keyword::HAVING,
1088 Keyword::WHERE,
1089];
1090
1091pub const RESERVED_FOR_IDENTIFIER: &[Keyword] = &[
1095 Keyword::EXISTS,
1096 Keyword::INTERVAL,
1097 Keyword::STRUCT,
1098 Keyword::TRIM,
1099];