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	Count => "COUNT",
65	Create => "CREATE",
66	Database => "DATABASE",
67	Default => "DEFAULT",
68	Define => "DEFINE",
69	Delete => "DELETE",
70	Descending => "DESCENDING",
71	Diff => "DIFF",
72	Dimension => "DIMENSION",
73	Distance => "DISTANCE",
74	DocIdsCache => "DOC_IDS_CACHE",
75	DocIdsOrder => "DOC_IDS_ORDER",
76	DocLengthsCache => "DOC_LENGTHS_CACHE",
77	DocLengthsOrder => "DOC_LENGTHS_ORDER",
78	Drop => "DROP",
79	Duplicate => "DUPLICATE",
80	Efc => "EFC",
81	Edgengram => "EDGENGRAM",
82	Event => "EVENT",
83	Else => "ELSE",
84	End => "END",
85	Enforced => "ENFORCED",
86	Exclude => "EXCLUDE",
87	Exists => "EXISTS",
88	Expired => "EXPIRED",
89	Explain => "EXPLAIN",
90	Expunge => "EXPUNGE",
91	ExtendCandidates => "EXTEND_CANDIDATES",
92	False => "false",
93	Fetch => "FETCH",
94	Field => "FIELD",
95	Fields => "FIELDS",
96	Filters => "FILTERS",
97	Flexible => "FLEXIBLE",
98	For => "FOR",
99	From => "FROM",
100	Full => "FULL",
101	Function => "FUNCTION",
102	Functions => "FUNCTIONS",
103	Grant => "GRANT",
104	Graphql => "GRAPHQL",
105	Group => "GROUP",
106	Headers => "HEADERS",
107	Highlights => "HIGHLIGHTS",
108	Hnsw => "HNSW",
109	Ignore => "IGNORE",
110	Include => "INCLUDE",
111	Index => "INDEX",
112	Info => "INFO",
113	Insert => "INSERT",
114	Into => "INTO",
115	If => "IF",
116	Is => "IS",
117	Issuer => "ISSUER",
118	Jwt => "JWT",
119	Jwks => "JWKS",
120	Key => "KEY",
121	KeepPrunedConnections => "KEEP_PRUNED_CONNECTIONS",
122	Kill => "KILL",
123	Let => "LET",
124	Limit => "LIMIT",
125	Live => "LIVE",
126	Lowercase => "LOWERCASE",
127	Lm => "LM",
128	M => "M",
129	M0 => "M0",
130	Mapper => "MAPPER",
131	Middleware => "MIDDLEWARE",
132	Merge => "MERGE",
133	Model => "MODEL",
134	MTree => "MTREE",
135	MTreeCache => "MTREE_CACHE",
136	Namespace => "NAMESPACE",
137	Ngram => "NGRAM",
138	No => "NO",
139	NoIndex => "NOINDEX",
140	None => "NONE",
141	Null => "NULL",
142	Numeric => "NUMERIC",
143	Omit => "OMIT",
144	On => "ON",
145	Only => "ONLY",
146	Option => "OPTION",
147	Order => "ORDER",
148	Original => "ORIGINAL",
149	Overwrite => "OVERWRITE",
150	Parallel => "PARALLEL",
151	Param => "PARAM",
152	Passhash => "PASSHASH",
153	Password => "PASSWORD",
154	Patch => "PATCH",
155	Permissions => "PERMISSIONS",
156	PostingsCache => "POSTINGS_CACHE",
157	PostingsOrder => "POSTINGS_ORDER",
158	Punct => "PUNCT",
159	Purge => "PURGE",
160	Range => "RANGE",
161	Readonly => "READONLY",
162	Rebuild => "REBUILD",
163	Reference => "REFERENCE",
164	Refresh => "REFRESH",
165	Regex => "REGEX",
166	Relate => "RELATE",
167	Relation => "RELATION",
168	Remove => "REMOVE",
169	Replace => "REPLACE",
170	Return => "RETURN",
171	Revoke => "REVOKE",
172	Revoked => "REVOKED",
173	Roles => "ROLES",
174	Root => "ROOT",
175	Schemafull => "SCHEMAFULL",
176	Schemaless => "SCHEMALESS",
177	Scope => "SCOPE",
178	Search => "SEARCH",
179	Select => "SELECT",
180	Session => "SESSION",
181	Set => "SET",
182	Show => "SHOW",
183	Signin => "SIGNIN",
184	Signup => "SIGNUP",
185	Since => "SINCE",
186	Sleep => "SLEEP",
187	Snowball => "SNOWBALL",
188	Split => "SPLIT",
189	Start => "START",
190	Structure => "STRUCTURE",
191	Table => "TABLE",
192	Tables => "TABLES",
193	TempFiles => "TEMPFILES",
194	TermsCache => "TERMS_CACHE",
195	TermsOrder => "TERMS_ORDER",
196	Then => "THEN",
197	Throw => "THROW",
198	Timeout => "TIMEOUT",
199	Tokenizers => "TOKENIZERS",
200	Token => "TOKEN",
201	To => "TO",
202	Transaction => "TRANSACTION",
203	True => "true",
204	Type => "TYPE",
205	Unique => "UNIQUE",
206	Unset => "UNSET",
207	Update => "UPDATE",
208	Upsert => "UPSERT",
209	Uppercase => "UPPERCASE",
210	Url => "URL",
211	Use => "USE",
212	User => "USER",
213	Value => "VALUE",
214	Values => "VALUES",
215	Version => "VERSION",
216	Vs => "VS",
217	When => "WHEN",
218	Where => "WHERE",
219	With => "WITH",
220	AllInside => "ALLINSIDE",
221	AndKw => "ANDKW",
222	AnyInside => "ANYINSIDE",
223	Inside => "INSIDE",
224	Intersects => "INTERSECTS",
225	NoneInside => "NONEINSIDE",
226	NotInside => "NOTINSIDE",
227	OrKw => "OR",
228	Outside => "OUTSIDE",
229	Not => "NOT",
230	And => "AND",
231	Collate => "COLLATE",
232	ContainsAll => "CONTAINSALL",
233	ContainsAny => "CONTAINSANY",
234	ContainsNone => "CONTAINSNONE",
235	ContainsNot => "CONTAINSNOT",
236	Contains => "CONTAINS",
237	In => "IN",
238	Out => "OUT",
239	Normal => "NORMAL",
240
241	Any => "ANY",
242	Array => "ARRAY",
243	Geometry => "GEOMETRY",
244	Record => "RECORD",
245	Future => "FUTURE",
246	Bool => "BOOL",
247	Bytes => "BYTES",
248	Datetime => "DATETIME",
249	Decimal => "DECIMAL",
250	Duration => "DURATION",
251	Float => "FLOAT",
252	Fn => "fn",
253	Int => "INT",
254	Number => "NUMBER",
255	Object => "OBJECT",
256	String => "STRING",
257	Uuid => "UUID",
258	Ulid => "ULID",
259	Rand => "RAND",
260	References => "REFERENCES",
261	Feature => "FEATURE",
262	Line => "LINE",
263	Point => "POINT",
264	Polygon => "POLYGON",
265	MultiPoint => "MULTIPOINT",
266	MultiLine => "MULTILINE",
267	MultiPolygon => "MULTIPOLYGON",
268	Collection => "COLLECTION",
269
270	FN => "fn",
271	ML => "ml",
272
273	Get => "GET",
274	Post => "POST",
275	Put => "PUT",
276	Trace => "TRACE",
277}
278
279pub(crate) use keyword_t;