csv-sql-engine 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/LICENSE-CC0 +121 -0
  2. package/LICENSE-MIT +21 -0
  3. package/README.md +49 -0
  4. package/dist/augments/trim-lines.d.ts +6 -0
  5. package/dist/augments/trim-lines.js +12 -0
  6. package/dist/csv/csv-file.d.ts +70 -0
  7. package/dist/csv/csv-file.js +98 -0
  8. package/dist/csv/csv-text.d.ts +52 -0
  9. package/dist/csv/csv-text.js +79 -0
  10. package/dist/engine/define-ast-handler.d.ts +27 -0
  11. package/dist/engine/define-ast-handler.js +8 -0
  12. package/dist/engine/engine.d.ts +16 -0
  13. package/dist/engine/engine.js +66 -0
  14. package/dist/engine/handlers/row-delete.handler.d.ts +6 -0
  15. package/dist/engine/handlers/row-delete.handler.js +51 -0
  16. package/dist/engine/handlers/row-insert.handler.d.ts +6 -0
  17. package/dist/engine/handlers/row-insert.handler.js +54 -0
  18. package/dist/engine/handlers/row-select.handler.d.ts +6 -0
  19. package/dist/engine/handlers/row-select.handler.js +46 -0
  20. package/dist/engine/handlers/row-update.handler.d.ts +6 -0
  21. package/dist/engine/handlers/row-update.handler.js +61 -0
  22. package/dist/engine/handlers/table-alter.handler.d.ts +6 -0
  23. package/dist/engine/handlers/table-alter.handler.js +85 -0
  24. package/dist/engine/handlers/table-create.handler.d.ts +6 -0
  25. package/dist/engine/handlers/table-create.handler.js +38 -0
  26. package/dist/engine/handlers/table-drop.handler.d.ts +6 -0
  27. package/dist/engine/handlers/table-drop.handler.js +36 -0
  28. package/dist/engine/params.d.ts +51 -0
  29. package/dist/engine/params.js +1 -0
  30. package/dist/engine/where-matcher.d.ts +9 -0
  31. package/dist/engine/where-matcher.js +52 -0
  32. package/dist/errors/csv-sql-engine.error.d.ts +9 -0
  33. package/dist/errors/csv-sql-engine.error.js +9 -0
  34. package/dist/errors/csv.error.d.ts +57 -0
  35. package/dist/errors/csv.error.js +68 -0
  36. package/dist/errors/sql.error.d.ts +45 -0
  37. package/dist/errors/sql.error.js +64 -0
  38. package/dist/index.d.ts +20 -0
  39. package/dist/index.js +20 -0
  40. package/dist/sql/ast.d.ts +472 -0
  41. package/dist/sql/ast.js +266 -0
  42. package/dist/sql/parse-sql.d.ts +9 -0
  43. package/dist/sql/parse-sql.js +38 -0
  44. package/dist/sql/sql.d.ts +24 -0
  45. package/dist/sql/sql.js +26 -0
  46. package/package.json +99 -11
@@ -0,0 +1,472 @@
1
+ /**
2
+ * All AST types (corresponding to various SQL commands). Extracted from
3
+ * [node-sql-parser](https://npmjs.com/package/node-sql-parser).
4
+ *
5
+ * @category Internal
6
+ */
7
+ export declare enum AstType {
8
+ Alter = "alter",
9
+ Create = "create",
10
+ Delete = "delete",
11
+ Drop = "drop",
12
+ Insert = "insert",
13
+ Replace = "replace",
14
+ Select = "select",
15
+ Update = "update",
16
+ Use = "use"
17
+ }
18
+ /**
19
+ * Shape definition for parsed AST output of a SQL command's list of applicable tables.
20
+ *
21
+ * @category Internal
22
+ */
23
+ export declare const tablesShape: import("object-shape-tester").Shape<{
24
+ table: string;
25
+ }[]>;
26
+ /**
27
+ * All supported and known alter table actions.
28
+ *
29
+ * @category Internal
30
+ */
31
+ export declare enum AlterExpressionAction {
32
+ Add = "add",
33
+ Rename = "rename",
34
+ Drop = "drop"
35
+ }
36
+ /**
37
+ * Shape definition for parsed AST output of a ALTER command.
38
+ *
39
+ * @category Internal
40
+ */
41
+ export declare const alterExpressionShape: import("object-shape-tester").Shape<import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
42
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Add>;
43
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
44
+ column: import("@sinclair/typebox").TObject<{
45
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
46
+ column: import("@sinclair/typebox").TString;
47
+ }>;
48
+ default_val: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TObject<{
49
+ value: import("@sinclair/typebox").TObject<{
50
+ value: import("@sinclair/typebox").TString;
51
+ }>;
52
+ }>)[]>>;
53
+ }> | import("@sinclair/typebox").TObject<{
54
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Rename>;
55
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
56
+ old_column: import("@sinclair/typebox").TObject<{
57
+ column: import("@sinclair/typebox").TString;
58
+ }>;
59
+ column: import("@sinclair/typebox").TObject<{
60
+ column: import("@sinclair/typebox").TString;
61
+ }>;
62
+ }> | import("@sinclair/typebox").TObject<{
63
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Drop>;
64
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
65
+ column: import("@sinclair/typebox").TObject<{
66
+ column: import("@sinclair/typebox").TString;
67
+ }>;
68
+ }>)[]>>>;
69
+ /**
70
+ * Keywords allowed for the create command. Extracted from
71
+ * [node-sql-parser](https://npmjs.com/package/node-sql-parser).
72
+ *
73
+ * @category Internal
74
+ */
75
+ export declare enum CreateKeyword {
76
+ Aggregate = "aggregate",
77
+ Database = "database",
78
+ Domain = "domain",
79
+ Extension = "extension",
80
+ Function = "function",
81
+ Index = "index",
82
+ Schema = "schema",
83
+ Table = "table",
84
+ Trigger = "trigger",
85
+ Type = "type",
86
+ User = "user",
87
+ View = "view"
88
+ }
89
+ /**
90
+ * Known / supported where types from the SQL AST.
91
+ *
92
+ * @category Internal
93
+ */
94
+ export declare enum WhereType {
95
+ BinaryExpression = "binary_expr"
96
+ }
97
+ /**
98
+ * Known / supported where operators from the SQL AST.
99
+ *
100
+ * @category Internal
101
+ */
102
+ export declare enum WhereOperator {
103
+ Equals = "=",
104
+ Or = "OR",
105
+ And = "AND"
106
+ }
107
+ /**
108
+ * SQL AST shape for the column selection part of a where clause.
109
+ *
110
+ * @category Internal
111
+ */
112
+ export declare const whereColumnShape: import("object-shape-tester").Shape<{
113
+ type: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<"column_ref">>;
114
+ /** The column name. */
115
+ column: string;
116
+ }>;
117
+ /**
118
+ * SQL AST shape for basic where comparison.
119
+ *
120
+ * @category Internal
121
+ */
122
+ export declare const basicWhereShape: import("object-shape-tester").Shape<{
123
+ operator: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>>;
124
+ left: {
125
+ type: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<"column_ref">>;
126
+ /** The column name. */
127
+ column: string;
128
+ };
129
+ right: {
130
+ value: import("object-shape-tester").Shape<import("type-fest").Primitive>;
131
+ };
132
+ }>;
133
+ /**
134
+ * SQL AST _schema_ for conjunction where clauses (like `or` or `and`).
135
+ *
136
+ * @category Internal
137
+ * @see {@link whereConjunctionShape} for the shape.
138
+ */
139
+ export declare const whereConjunctionSchema: import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
140
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
141
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
142
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
143
+ left: import("@sinclair/typebox").TObject<{
144
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
145
+ column: import("@sinclair/typebox").TString;
146
+ }>;
147
+ right: import("@sinclair/typebox").TObject<{
148
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
149
+ }>;
150
+ }>, import("@sinclair/typebox").TThis]>;
151
+ right: import("@sinclair/typebox").TObject<{
152
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
153
+ left: import("@sinclair/typebox").TObject<{
154
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
155
+ column: import("@sinclair/typebox").TString;
156
+ }>;
157
+ right: import("@sinclair/typebox").TObject<{
158
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
159
+ }>;
160
+ }>;
161
+ }>>;
162
+ /**
163
+ * SQL AST _shape_ for conjunction where clauses (like `or` or `and`).
164
+ *
165
+ * @category Internal
166
+ * @see {@link whereConjunctionSchema} for the schema.
167
+ */
168
+ export declare const whereConjunctionShape: import("object-shape-tester").Shape<import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
169
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
170
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
171
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
172
+ left: import("@sinclair/typebox").TObject<{
173
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
174
+ column: import("@sinclair/typebox").TString;
175
+ }>;
176
+ right: import("@sinclair/typebox").TObject<{
177
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
178
+ }>;
179
+ }>, import("@sinclair/typebox").TThis]>;
180
+ right: import("@sinclair/typebox").TObject<{
181
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
182
+ left: import("@sinclair/typebox").TObject<{
183
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
184
+ column: import("@sinclair/typebox").TString;
185
+ }>;
186
+ right: import("@sinclair/typebox").TObject<{
187
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
188
+ }>;
189
+ }>;
190
+ }>>>;
191
+ /**
192
+ * SQL AST shape for SQL where clauses.
193
+ *
194
+ * @category Internal
195
+ */
196
+ export declare const whereShape: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
197
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
198
+ left: import("@sinclair/typebox").TObject<{
199
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
200
+ column: import("@sinclair/typebox").TString;
201
+ }>;
202
+ right: import("@sinclair/typebox").TObject<{
203
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
204
+ }>;
205
+ }> | import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
206
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
207
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
208
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
209
+ left: import("@sinclair/typebox").TObject<{
210
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
211
+ column: import("@sinclair/typebox").TString;
212
+ }>;
213
+ right: import("@sinclair/typebox").TObject<{
214
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
215
+ }>;
216
+ }>, import("@sinclair/typebox").TThis]>;
217
+ right: import("@sinclair/typebox").TObject<{
218
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
219
+ left: import("@sinclair/typebox").TObject<{
220
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
221
+ column: import("@sinclair/typebox").TString;
222
+ }>;
223
+ right: import("@sinclair/typebox").TObject<{
224
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
225
+ }>;
226
+ }>;
227
+ }>>)[]>>;
228
+ /**
229
+ * SQL AST type for SQL where clauses.
230
+ *
231
+ * @category Internal
232
+ */
233
+ export type Where = typeof whereShape.runtimeType;
234
+ /**
235
+ * SQL AST shape for queries that also select data.
236
+ *
237
+ * @category Internal
238
+ */
239
+ export declare const returningShape: import("object-shape-tester").Shape<{
240
+ type: import("object-shape-tester").Shape<import("@sinclair/typebox").TUnsafe<"returning">>;
241
+ columns: {
242
+ expr: {
243
+ column: string;
244
+ };
245
+ }[];
246
+ }>;
247
+ /**
248
+ * The AST types provided by node-sql-parser are missing a lot of information, so we define our own
249
+ * here.
250
+ *
251
+ * @category Internal
252
+ */
253
+ export declare const sqlAstShape: import("object-shape-tester").Shape<import("object-shape-tester").Shape<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
254
+ type: import("@sinclair/typebox").TUnsafe<AstType.Insert>;
255
+ table: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
256
+ table: import("@sinclair/typebox").TString;
257
+ }>>;
258
+ columns: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>)[]>>;
259
+ values: import("@sinclair/typebox").TObject<{
260
+ values: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
261
+ value: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
262
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
263
+ }>>;
264
+ }>>;
265
+ }>;
266
+ returning: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TObject<{
267
+ type: import("@sinclair/typebox").TUnsafe<"returning">;
268
+ columns: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
269
+ expr: import("@sinclair/typebox").TObject<{
270
+ column: import("@sinclair/typebox").TString;
271
+ }>;
272
+ }>>;
273
+ }>)[]>>;
274
+ }> | import("@sinclair/typebox").TObject<{
275
+ type: import("@sinclair/typebox").TUnsafe<AstType.Delete>;
276
+ table: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
277
+ table: import("@sinclair/typebox").TString;
278
+ }>>;
279
+ from: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
280
+ table: import("@sinclair/typebox").TString;
281
+ }>>;
282
+ where: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
283
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
284
+ left: import("@sinclair/typebox").TObject<{
285
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
286
+ column: import("@sinclair/typebox").TString;
287
+ }>;
288
+ right: import("@sinclair/typebox").TObject<{
289
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
290
+ }>;
291
+ }> | import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
292
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
293
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
294
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
295
+ left: import("@sinclair/typebox").TObject<{
296
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
297
+ column: import("@sinclair/typebox").TString;
298
+ }>;
299
+ right: import("@sinclair/typebox").TObject<{
300
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
301
+ }>;
302
+ }>, import("@sinclair/typebox").TThis]>;
303
+ right: import("@sinclair/typebox").TObject<{
304
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
305
+ left: import("@sinclair/typebox").TObject<{
306
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
307
+ column: import("@sinclair/typebox").TString;
308
+ }>;
309
+ right: import("@sinclair/typebox").TObject<{
310
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
311
+ }>;
312
+ }>;
313
+ }>>)[]>;
314
+ returning: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TObject<{
315
+ type: import("@sinclair/typebox").TUnsafe<"returning">;
316
+ columns: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
317
+ expr: import("@sinclair/typebox").TObject<{
318
+ column: import("@sinclair/typebox").TString;
319
+ }>;
320
+ }>>;
321
+ }>)[]>>;
322
+ }> | import("@sinclair/typebox").TObject<{
323
+ type: import("@sinclair/typebox").TUnsafe<AstType.Select>;
324
+ columns: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
325
+ expr: import("@sinclair/typebox").TObject<{
326
+ column: import("@sinclair/typebox").TString;
327
+ }>;
328
+ }>>;
329
+ from: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
330
+ table: import("@sinclair/typebox").TString;
331
+ }>>;
332
+ where: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
333
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
334
+ left: import("@sinclair/typebox").TObject<{
335
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
336
+ column: import("@sinclair/typebox").TString;
337
+ }>;
338
+ right: import("@sinclair/typebox").TObject<{
339
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
340
+ }>;
341
+ }> | import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
342
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
343
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
344
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
345
+ left: import("@sinclair/typebox").TObject<{
346
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
347
+ column: import("@sinclair/typebox").TString;
348
+ }>;
349
+ right: import("@sinclair/typebox").TObject<{
350
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
351
+ }>;
352
+ }>, import("@sinclair/typebox").TThis]>;
353
+ right: import("@sinclair/typebox").TObject<{
354
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
355
+ left: import("@sinclair/typebox").TObject<{
356
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
357
+ column: import("@sinclair/typebox").TString;
358
+ }>;
359
+ right: import("@sinclair/typebox").TObject<{
360
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
361
+ }>;
362
+ }>;
363
+ }>>)[]>;
364
+ }> | import("@sinclair/typebox").TObject<{
365
+ type: import("@sinclair/typebox").TUnsafe<AstType.Update>;
366
+ table: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
367
+ table: import("@sinclair/typebox").TString;
368
+ }>>;
369
+ where: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
370
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
371
+ left: import("@sinclair/typebox").TObject<{
372
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
373
+ column: import("@sinclair/typebox").TString;
374
+ }>;
375
+ right: import("@sinclair/typebox").TObject<{
376
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
377
+ }>;
378
+ }> | import("@sinclair/typebox").TRecursive<import("@sinclair/typebox").TObject<{
379
+ operator: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<WhereOperator.Or>, import("@sinclair/typebox").TLiteral<WhereOperator.And>]>;
380
+ left: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
381
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
382
+ left: import("@sinclair/typebox").TObject<{
383
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
384
+ column: import("@sinclair/typebox").TString;
385
+ }>;
386
+ right: import("@sinclair/typebox").TObject<{
387
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
388
+ }>;
389
+ }>, import("@sinclair/typebox").TThis]>;
390
+ right: import("@sinclair/typebox").TObject<{
391
+ operator: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TUnsafe<WhereOperator.Equals>[]>;
392
+ left: import("@sinclair/typebox").TObject<{
393
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
394
+ column: import("@sinclair/typebox").TString;
395
+ }>;
396
+ right: import("@sinclair/typebox").TObject<{
397
+ value: import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TString | import("@sinclair/typebox").TNumber | import("@sinclair/typebox").TBoolean | import("@sinclair/typebox").TSymbol | import("@sinclair/typebox").TBigInt;
398
+ }>;
399
+ }>;
400
+ }>>)[]>;
401
+ set: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
402
+ column: import("@sinclair/typebox").TString;
403
+ value: import("@sinclair/typebox").TObject<{
404
+ value: import("@sinclair/typebox").TString;
405
+ }>;
406
+ }>>;
407
+ returning: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TObject<{
408
+ type: import("@sinclair/typebox").TUnsafe<"returning">;
409
+ columns: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
410
+ expr: import("@sinclair/typebox").TObject<{
411
+ column: import("@sinclair/typebox").TString;
412
+ }>;
413
+ }>>;
414
+ }>)[]>>;
415
+ }> | import("@sinclair/typebox").TObject<{
416
+ type: import("@sinclair/typebox").TUnsafe<AstType.Drop>;
417
+ name: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
418
+ table: import("@sinclair/typebox").TString;
419
+ }>>;
420
+ prefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TUnsafe<"if exists">)[]>>;
421
+ keyword: import("@sinclair/typebox").TUnsafe<"table">;
422
+ }> | import("@sinclair/typebox").TObject<{
423
+ type: import("@sinclair/typebox").TUnsafe<AstType.Alter>;
424
+ table: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
425
+ table: import("@sinclair/typebox").TString;
426
+ }>>;
427
+ expr: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TObject<{
428
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Add>;
429
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
430
+ column: import("@sinclair/typebox").TObject<{
431
+ type: import("@sinclair/typebox").TUnsafe<"column_ref">;
432
+ column: import("@sinclair/typebox").TString;
433
+ }>;
434
+ default_val: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TUndefined | import("@sinclair/typebox").TNull | import("@sinclair/typebox").TObject<{
435
+ value: import("@sinclair/typebox").TObject<{
436
+ value: import("@sinclair/typebox").TString;
437
+ }>;
438
+ }>)[]>>;
439
+ }> | import("@sinclair/typebox").TObject<{
440
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Rename>;
441
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
442
+ old_column: import("@sinclair/typebox").TObject<{
443
+ column: import("@sinclair/typebox").TString;
444
+ }>;
445
+ column: import("@sinclair/typebox").TObject<{
446
+ column: import("@sinclair/typebox").TString;
447
+ }>;
448
+ }> | import("@sinclair/typebox").TObject<{
449
+ action: import("@sinclair/typebox").TUnsafe<AlterExpressionAction.Drop>;
450
+ resource: import("@sinclair/typebox").TUnsafe<"column">;
451
+ column: import("@sinclair/typebox").TObject<{
452
+ column: import("@sinclair/typebox").TString;
453
+ }>;
454
+ }>)[]>>;
455
+ }> | import("@sinclair/typebox").TObject<{
456
+ type: import("@sinclair/typebox").TUnsafe<AstType.Create>;
457
+ keyword: import("@sinclair/typebox").TUnion<(import("@sinclair/typebox").TLiteral<CreateKeyword.Aggregate> | import("@sinclair/typebox").TLiteral<CreateKeyword.Database> | import("@sinclair/typebox").TLiteral<CreateKeyword.Domain> | import("@sinclair/typebox").TLiteral<CreateKeyword.Extension> | import("@sinclair/typebox").TLiteral<CreateKeyword.Function> | import("@sinclair/typebox").TLiteral<CreateKeyword.Index> | import("@sinclair/typebox").TLiteral<CreateKeyword.Schema> | import("@sinclair/typebox").TLiteral<CreateKeyword.Table> | import("@sinclair/typebox").TLiteral<CreateKeyword.Trigger> | import("@sinclair/typebox").TLiteral<CreateKeyword.Type> | import("@sinclair/typebox").TLiteral<CreateKeyword.User> | import("@sinclair/typebox").TLiteral<CreateKeyword.View>)[]>;
458
+ table: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
459
+ table: import("@sinclair/typebox").TString;
460
+ }>>;
461
+ create_definitions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
462
+ column: import("@sinclair/typebox").TObject<{
463
+ column: import("@sinclair/typebox").TString;
464
+ }>;
465
+ }>>;
466
+ }>)[]>>>;
467
+ /**
468
+ * SQL string parsing output.
469
+ *
470
+ * @category Internal
471
+ */
472
+ export type SqlAst = typeof sqlAstShape.runtimeType;