micromegas/servers/
sqlinfo.rs

1// from https://github.com/influxdata/influxdb3_core/blob/main/flightsql/src/sql_info/
2
3/// SQL keywords supported by the FlightSQL server.
4pub const SQL_INFO_SQL_KEYWORDS: &[&str] = &[
5    // SQL-92 Reserved Words
6    "absolute",
7    "action",
8    "add",
9    "all",
10    "allocate",
11    "alter",
12    "and",
13    "any",
14    "are",
15    "as",
16    "asc",
17    "assertion",
18    "at",
19    "authorization",
20    "avg",
21    "begin",
22    "between",
23    "bit",
24    "bit_length",
25    "both",
26    "by",
27    "cascade",
28    "cascaded",
29    "case",
30    "cast",
31    "catalog",
32    "char",
33    "char_length",
34    "character",
35    "character_length",
36    "check",
37    "close",
38    "coalesce",
39    "collate",
40    "collation",
41    "column",
42    "commit",
43    "connect",
44    "connection",
45    "constraint",
46    "constraints",
47    "continue",
48    "convert",
49    "corresponding",
50    "count",
51    "create",
52    "cross",
53    "current",
54    "current_date",
55    "current_time",
56    "current_timestamp",
57    "current_user",
58    "cursor",
59    "date",
60    "day",
61    "deallocate",
62    "dec",
63    "decimal",
64    "declare",
65    "default",
66    "deferrable",
67    "deferred",
68    "delete",
69    "desc",
70    "describe",
71    "descriptor",
72    "diagnostics",
73    "disconnect",
74    "distinct",
75    "domain",
76    "double",
77    "drop",
78    "else",
79    "end",
80    "end-exec",
81    "escape",
82    "except",
83    "exception",
84    "exec",
85    "execute",
86    "exists",
87    "external",
88    "extract",
89    "false",
90    "fetch",
91    "first",
92    "float",
93    "for",
94    "foreign",
95    "found",
96    "from",
97    "full",
98    "get",
99    "global",
100    "go",
101    "goto",
102    "grant",
103    "group",
104    "having",
105    "hour",
106    "identity",
107    "immediate",
108    "in",
109    "indicator",
110    "initially",
111    "inner",
112    "input",
113    "insensitive",
114    "insert",
115    "int",
116    "integer",
117    "intersect",
118    "interval",
119    "into",
120    "is",
121    "isolation",
122    "join",
123    "key",
124    "language",
125    "last",
126    "leading",
127    "left",
128    "level",
129    "like",
130    "local",
131    "lower",
132    "match",
133    "max",
134    "min",
135    "minute",
136    "module",
137    "month",
138    "names",
139    "national",
140    "natural",
141    "nchar",
142    "next",
143    "no",
144    "not",
145    "null",
146    "nullif",
147    "numeric",
148    "octet_length",
149    "of",
150    "on",
151    "only",
152    "open",
153    "option",
154    "or",
155    "order",
156    "outer",
157    "output",
158    "overlaps",
159    "pad",
160    "partial",
161    "position",
162    "precision",
163    "prepare",
164    "preserve",
165    "primary",
166    "prior",
167    "privileges",
168    "procedure",
169    "public",
170    "read",
171    "real",
172    "references",
173    "relative",
174    "restrict",
175    "revoke",
176    "right",
177    "rollback",
178    "rows",
179    "schema",
180    "scroll",
181    "second",
182    "section",
183    "select",
184    "session",
185    "session_user",
186    "set",
187    "size",
188    "smallint",
189    "some",
190    "space",
191    "sql",
192    "sqlcode",
193    "sqlerror",
194    "sqlstate",
195    "substring",
196    "sum",
197    "system_user",
198    "table",
199    "temporary",
200    "then",
201    "time",
202    "timestamp",
203    "timezone_hour",
204    "timezone_minute",
205    "to",
206    "trailing",
207    "transaction",
208    "translate",
209    "translation",
210    "trim",
211    "true",
212    "union",
213    "unique",
214    "unknown",
215    "update",
216    "upper",
217    "usage",
218    "user",
219    "using",
220    "value",
221    "values",
222    "varchar",
223    "varying",
224    "view",
225    "when",
226    "whenever",
227    "where",
228    "with",
229    "work",
230    "write",
231    "year",
232    "zone",
233];
234
235/// Numeric functions supported by the FlightSQL server.
236pub const SQL_INFO_NUMERIC_FUNCTIONS: &[&str] = &[
237    "abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", "floor", "ln", "log", "log10",
238    "log2", "pow", "power", "round", "signum", "sin", "sqrt", "tan", "trunc",
239];
240
241/// Date and time functions supported by the FlightSQL server.
242pub const SQL_INFO_DATE_TIME_FUNCTIONS: &[&str] = &[
243    "current_date",
244    "current_time",
245    "date_bin",
246    "date_part",
247    "date_trunc",
248    "datepart",
249    "datetrunc",
250    "from_unixtime",
251    "now",
252    "to_timestamp",
253    "to_timestamp_micros",
254    "to_timestamp_millis",
255    "to_timestamp_seconds",
256];
257
258/// System functions supported by the FlightSQL server.
259pub const SQL_INFO_SYSTEM_FUNCTIONS: &[&str] = &["array", "arrow_typeof", "struct"];
260
261/// String functions supported by the FlightSQL server.
262pub const SQL_INFO_STRING_FUNCTIONS: &[&str] = &[
263    "arrow_typeof",
264    "ascii",
265    "bit_length",
266    "btrim",
267    "char_length",
268    "character_length",
269    "chr",
270    "concat",
271    "concat_ws",
272    "digest",
273    "from_unixtime",
274    "initcap",
275    "left",
276    "length",
277    "lower",
278    "lpad",
279    "ltrim",
280    "md5",
281    "octet_length",
282    "random",
283    "regexp_match",
284    "regexp_replace",
285    "repeat",
286    "replace",
287    "reverse",
288    "right",
289    "rpad",
290    "rtrim",
291    "sha224",
292    "sha256",
293    "sha384",
294    "sha512",
295    "split_part",
296    "starts_with",
297    "strpos",
298    "substr",
299    "to_hex",
300    "translate",
301    "trim",
302    "upper",
303    "uuid",
304];