surrealdb_core/syn/token/
keyword.rs

1macro_rules! keyword {
2	($($name:ident => $value:tt),* $(,)?) => {
3
4		#[repr(u8)]
5		#[derive(Clone, Copy, Eq, PartialEq, Hash, Debug)]
6		#[non_exhaustive] pub enum Keyword{
7			$($name,)*
8		}
9
10		impl Keyword{
11			pub fn as_str(&self) -> &'static str{
12				match self{
13					$(Keyword::$name => $value,)*
14				}
15			}
16		}
17
18		macro_rules! keyword_t {
19			$(($value) => {
20				$crate::syn::token::Keyword::$name
21			};)*
22		}
23	};
24}
25
26keyword! {
27	Access => "ACCESS",
28	After => "AFTER",
29	Algorithm => "ALGORITHM",
30	All => "ALL",
31	Alter => "ALTER",
32	Always => "ALWAYS",
33	Analyze => "ANALYZE",
34	Analyzer => "ANALYZER",
35	Api => "API",
36	As => "AS",
37	Ascending => "ASCENDING",
38	Ascii => "ASCII",
39	Assert => "ASSERT",
40	At => "AT",
41	Authenticate => "AUTHENTICATE",
42	Auto => "AUTO",
43	Bearer => "BEARER",
44	Before => "BEFORE",
45	Begin => "BEGIN",
46	Blank => "BLANK",
47	Reject => "REJECT",
48	Bm25 => "BM25",
49	Break => "BREAK",
50	By => "BY",
51	Camel => "CAMEL",
52	Cancel => "CANCEL",
53	Cascade => "CASCADE",
54	ChangeFeed => "CHANGEFEED",
55	Changes => "CHANGES",
56	Capacity => "CAPACITY",
57	Class => "CLASS",
58	Comment => "COMMENT",
59	Commit => "COMMIT",
60	Concurrently => "CONCURRENTLY",
61	Config => "CONFIG",
62	Content => "CONTENT",
63	Continue => "CONTINUE",
64	Create => "CREATE",
65	Database => "DATABASE",
66	Default => "DEFAULT",
67	Define => "DEFINE",
68	Delete => "DELETE",
69	Descending => "DESCENDING",
70	Diff => "DIFF",
71	Dimension => "DIMENSION",
72	Distance => "DISTANCE",
73	DocIdsCache => "DOC_IDS_CACHE",
74	DocIdsOrder => "DOC_IDS_ORDER",
75	DocLengthsCache => "DOC_LENGTHS_CACHE",
76	DocLengthsOrder => "DOC_LENGTHS_ORDER",
77	Drop => "DROP",
78	Duplicate => "DUPLICATE",
79	Efc => "EFC",
80	Edgengram => "EDGENGRAM",
81	Event => "EVENT",
82	Else => "ELSE",
83	End => "END",
84	Enforced => "ENFORCED",
85	Exclude => "EXCLUDE",
86	Exists => "EXISTS",
87	Expired => "EXPIRED",
88	Explain => "EXPLAIN",
89	Expunge => "EXPUNGE",
90	ExtendCandidates => "EXTEND_CANDIDATES",
91	False => "false",
92	Fetch => "FETCH",
93	Field => "FIELD",
94	Fields => "FIELDS",
95	Filters => "FILTERS",
96	Flexible => "FLEXIBLE",
97	For => "FOR",
98	From => "FROM",
99	Full => "FULL",
100	Function => "FUNCTION",
101	Functions => "FUNCTIONS",
102	Grant => "GRANT",
103	Graphql => "GRAPHQL",
104	Group => "GROUP",
105	Headers => "HEADERS",
106	Highlights => "HIGHLIGHTS",
107	Hnsw => "HNSW",
108	Ignore => "IGNORE",
109	Include => "INCLUDE",
110	Index => "INDEX",
111	Info => "INFO",
112	Insert => "INSERT",
113	Into => "INTO",
114	If => "IF",
115	Is => "IS",
116	Issuer => "ISSUER",
117	Jwt => "JWT",
118	Jwks => "JWKS",
119	Key => "KEY",
120	KeepPrunedConnections => "KEEP_PRUNED_CONNECTIONS",
121	Kill => "KILL",
122	Let => "LET",
123	Limit => "LIMIT",
124	Live => "LIVE",
125	Lowercase => "LOWERCASE",
126	Lm => "LM",
127	M => "M",
128	M0 => "M0",
129	Mapper => "MAPPER",
130	Middleware => "MIDDLEWARE",
131	Merge => "MERGE",
132	Model => "MODEL",
133	MTree => "MTREE",
134	MTreeCache => "MTREE_CACHE",
135	Namespace => "NAMESPACE",
136	Ngram => "NGRAM",
137	No => "NO",
138	NoIndex => "NOINDEX",
139	None => "NONE",
140	Null => "NULL",
141	Numeric => "NUMERIC",
142	Omit => "OMIT",
143	On => "ON",
144	Only => "ONLY",
145	Option => "OPTION",
146	Order => "ORDER",
147	Original => "ORIGINAL",
148	Overwrite => "OVERWRITE",
149	Parallel => "PARALLEL",
150	Param => "PARAM",
151	Passhash => "PASSHASH",
152	Password => "PASSWORD",
153	Patch => "PATCH",
154	Permissions => "PERMISSIONS",
155	PostingsCache => "POSTINGS_CACHE",
156	PostingsOrder => "POSTINGS_ORDER",
157	Punct => "PUNCT",
158	Purge => "PURGE",
159	Range => "RANGE",
160	Readonly => "READONLY",
161	Rebuild => "REBUILD",
162	Reference => "REFERENCE",
163	Refresh => "REFRESH",
164	Relate => "RELATE",
165	Relation => "RELATION",
166	Remove => "REMOVE",
167	Replace => "REPLACE",
168	Return => "RETURN",
169	Revoke => "REVOKE",
170	Revoked => "REVOKED",
171	Roles => "ROLES",
172	Root => "ROOT",
173	Schemafull => "SCHEMAFULL",
174	Schemaless => "SCHEMALESS",
175	Scope => "SCOPE",
176	Search => "SEARCH",
177	Select => "SELECT",
178	Session => "SESSION",
179	Set => "SET",
180	Show => "SHOW",
181	Signin => "SIGNIN",
182	Signup => "SIGNUP",
183	Since => "SINCE",
184	Sleep => "SLEEP",
185	Snowball => "SNOWBALL",
186	Split => "SPLIT",
187	Start => "START",
188	Structure => "STRUCTURE",
189	Table => "TABLE",
190	Tables => "TABLES",
191	TempFiles => "TEMPFILES",
192	TermsCache => "TERMS_CACHE",
193	TermsOrder => "TERMS_ORDER",
194	Then => "THEN",
195	Throw => "THROW",
196	Timeout => "TIMEOUT",
197	Tokenizers => "TOKENIZERS",
198	Token => "TOKEN",
199	To => "TO",
200	Transaction => "TRANSACTION",
201	True => "true",
202	Type => "TYPE",
203	Unique => "UNIQUE",
204	Unset => "UNSET",
205	Update => "UPDATE",
206	Upsert => "UPSERT",
207	Uppercase => "UPPERCASE",
208	Url => "URL",
209	Use => "USE",
210	User => "USER",
211	Value => "VALUE",
212	Values => "VALUES",
213	Version => "VERSION",
214	Vs => "VS",
215	When => "WHEN",
216	Where => "WHERE",
217	With => "WITH",
218	AllInside => "ALLINSIDE",
219	AndKw => "ANDKW",
220	AnyInside => "ANYINSIDE",
221	Inside => "INSIDE",
222	Intersects => "INTERSECTS",
223	NoneInside => "NONEINSIDE",
224	NotInside => "NOTINSIDE",
225	OrKw => "OR",
226	Outside => "OUTSIDE",
227	Not => "NOT",
228	And => "AND",
229	Collate => "COLLATE",
230	ContainsAll => "CONTAINSALL",
231	ContainsAny => "CONTAINSANY",
232	ContainsNone => "CONTAINSNONE",
233	ContainsNot => "CONTAINSNOT",
234	Contains => "CONTAINS",
235	In => "IN",
236	Out => "OUT",
237	Normal => "NORMAL",
238
239	Any => "ANY",
240	Array => "ARRAY",
241	Geometry => "GEOMETRY",
242	Record => "RECORD",
243	Future => "FUTURE",
244	Bool => "BOOL",
245	Bytes => "BYTES",
246	Datetime => "DATETIME",
247	Decimal => "DECIMAL",
248	Duration => "DURATION",
249	Float => "FLOAT",
250	Fn => "fn",
251	Int => "INT",
252	Number => "NUMBER",
253	Object => "OBJECT",
254	String => "STRING",
255	Uuid => "UUID",
256	Ulid => "ULID",
257	Rand => "RAND",
258	References => "REFERENCES",
259	Feature => "FEATURE",
260	Line => "LINE",
261	Point => "POINT",
262	Polygon => "POLYGON",
263	MultiPoint => "MULTIPOINT",
264	MultiLine => "MULTILINE",
265	MultiPolygon => "MULTIPOLYGON",
266	Collection => "COLLECTION",
267
268	FN => "fn",
269	ML => "ml",
270
271	Get => "GET",
272	Post => "POST",
273	Put => "PUT",
274	Trace => "TRACE",
275}
276
277pub(crate) use keyword_t;