@query-farm/vgi 0.42.0 → 0.44.0

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 (59) hide show
  1. package/README.md +5 -2
  2. package/dist/attach-ticket.d.ts +18 -7
  3. package/dist/client-entry.js +215 -91
  4. package/dist/client-entry.js.map +10 -9
  5. package/dist/codec/asd.d.ts +3 -1
  6. package/dist/codec/conform.d.ts +51 -0
  7. package/dist/errors.d.ts +5 -1
  8. package/dist/generated/vgi-service.d.ts +1315 -0
  9. package/dist/index.core.d.ts +1 -1
  10. package/dist/index.js +2143 -932
  11. package/dist/index.js.map +29 -28
  12. package/dist/protocol/dispatch.d.ts +14 -5
  13. package/dist/protocol/handlers/aggregate.d.ts +3 -2
  14. package/dist/protocol/handlers/catalog/admin.d.ts +2 -2
  15. package/dist/protocol/handlers/catalog/index.d.ts +3 -2
  16. package/dist/protocol/handlers/catalog/index_methods.d.ts +2 -2
  17. package/dist/protocol/handlers/catalog/macro.d.ts +2 -2
  18. package/dist/protocol/handlers/catalog/shared.d.ts +7 -14
  19. package/dist/protocol/handlers/catalog/table.d.ts +2 -2
  20. package/dist/protocol/handlers/catalog/view.d.ts +2 -2
  21. package/dist/protocol/handlers/function.d.ts +3 -2
  22. package/dist/protocol/handlers/shared.d.ts +2 -2
  23. package/dist/protocol/handlers/table-buffering.d.ts +3 -2
  24. package/dist/protocol/handlers/unimplemented.d.ts +4 -17
  25. package/dist/protocol/serializers/shared.d.ts +2 -1
  26. package/dist/rpc-server.d.ts +2 -2
  27. package/dist/serve-entry.js +2104 -903
  28. package/dist/serve-entry.js.map +25 -24
  29. package/dist/worker-cf-entry.js +2045 -842
  30. package/dist/worker-cf-entry.js.map +29 -28
  31. package/package.json +3 -3
  32. package/src/attach-ticket.ts +41 -13
  33. package/src/catalog/composite.ts +2 -1
  34. package/src/catalog/interface.ts +5 -4
  35. package/src/catalog/read-only.ts +8 -6
  36. package/src/client/client.ts +13 -5
  37. package/src/codec/asd.ts +5 -2
  38. package/src/codec/conform.ts +193 -0
  39. package/src/errors.ts +27 -7
  40. package/src/functions/registry.ts +3 -2
  41. package/src/generated/vgi-service.ts +2678 -0
  42. package/src/http/fetch.ts +1 -1
  43. package/src/index.core.ts +3 -1
  44. package/src/protocol/dispatch.ts +40 -29
  45. package/src/protocol/handlers/aggregate.ts +205 -232
  46. package/src/protocol/handlers/catalog/admin.ts +228 -299
  47. package/src/protocol/handlers/catalog/index.ts +17 -16
  48. package/src/protocol/handlers/catalog/index_methods.ts +26 -36
  49. package/src/protocol/handlers/catalog/macro.ts +54 -77
  50. package/src/protocol/handlers/catalog/shared.ts +30 -47
  51. package/src/protocol/handlers/catalog/table.ts +205 -270
  52. package/src/protocol/handlers/catalog/view.ts +59 -85
  53. package/src/protocol/handlers/function.ts +127 -156
  54. package/src/protocol/handlers/shared.ts +8 -6
  55. package/src/protocol/handlers/table-buffering.ts +53 -71
  56. package/src/protocol/handlers/unimplemented.ts +18 -62
  57. package/src/protocol/serializers/bind.ts +3 -1
  58. package/src/protocol/serializers/shared.ts +5 -2
  59. package/src/rpc-server.ts +7 -7
@@ -2,337 +2,272 @@
2
2
  // Catalog table handlers: table_get/create/drop, scan_function_get,
3
3
  // column_statistics_get, comment_set, rename, plus all column_* mutations.
4
4
 
5
- import { type VgiSchema, schema, type VgiField, field, type VgiDataType, binary, utf8, bool, int32, list } from "../../../arrow/index.js";
6
- import { Protocol } from "@query-farm/vgi-rpc";
5
+ import type { VgiService } from "../../../generated/vgi-service.js";
7
6
  import { encodeTableInfo } from "../../../generated/vgi-client.js";
8
7
  import {
9
- CatalogTableColumnAddParamsSchema,
10
- CatalogTableColumnDefaultDropParamsSchema,
11
- CatalogTableColumnDefaultSetParamsSchema,
12
- CatalogTableColumnDropParamsSchema,
13
- CatalogTableColumnRenameParamsSchema,
14
- CatalogTableColumnStatisticsGetParamsSchema,
15
- CatalogTableColumnTypeChangeParamsSchema,
16
- CatalogTableCommentSetParamsSchema,
17
- CatalogTableCreateParamsSchema,
18
- CatalogTableDropParamsSchema,
19
- CatalogTableGetParamsSchema,
20
8
  CatalogTableGetResultSchema,
21
- CatalogTableNotNullDropParamsSchema,
22
- CatalogTableNotNullSetParamsSchema,
23
- CatalogTableRenameParamsSchema,
24
- CatalogTableScanBranchesGetParamsSchema,
25
- CatalogTableScanFunctionGetParamsSchema,
26
9
  ScanBranchesResultSchema,
27
10
  ScanFunctionResultSchema,
28
11
  } from "../../../generated/vgi-protocol-schemas.js";
29
12
  import { toUint8Array } from "../../../util/bytes.js";
30
13
  import {
31
- RESULT_BINARY_SCHEMA,
32
- RESULT_BINARY_NULLABLE_SCHEMA,
33
14
  wrapResult,
34
15
  } from "../shared.js";
35
16
  import {
36
17
  type GetCatalog,
37
- emptyResultSchema,
38
- catalogUnary,
18
+ catalogHandler,
39
19
  } from "./shared.js";
40
20
 
41
- export function registerCatalogTableMethods(protocol: Protocol, getCatalog: GetCatalog, signingKey?: Uint8Array): void {
21
+ export function catalogTableHandlers(getCatalog: GetCatalog, signingKey?: Uint8Array): Partial<VgiService> {
42
22
  // catalog_table_get
43
- catalogUnary(protocol, signingKey, "catalog_table_get", {
44
- params: CatalogTableGetParamsSchema,
45
- result: RESULT_BINARY_SCHEMA,
46
- handler: async (params) => {
47
- const cat = getCatalog();
48
- const info = await cat.tableGet(
49
- toUint8Array(params.attach_opaque_data),
50
- params.schema_path,
51
- params.name,
52
- params.at_unit,
53
- params.at_value,
54
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
55
- );
56
- return wrapResult({
57
- items: info ? [encodeTableInfo(info)] : [],
58
- }, CatalogTableGetResultSchema);
59
- },
23
+ const catalogTableGet = catalogHandler(signingKey, async (params) => {
24
+ const cat = getCatalog();
25
+ const info = await cat.tableGet(
26
+ toUint8Array(params.attach_opaque_data),
27
+ params.schema_path,
28
+ params.name,
29
+ params.at_unit,
30
+ params.at_value,
31
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
32
+ );
33
+ return wrapResult({
34
+ items: info ? [encodeTableInfo(info)] : [],
35
+ }, CatalogTableGetResultSchema);
60
36
  });
61
37
 
62
38
  // catalog_table_create
63
- catalogUnary(protocol, signingKey, "catalog_table_create", {
64
- params: CatalogTableCreateParamsSchema,
65
- result: emptyResultSchema,
66
- handler: async (params) => {
67
- const cat = getCatalog();
68
- await cat.tableCreate(
69
- toUint8Array(params.attach_opaque_data),
70
- params.schema_path,
71
- params.name,
72
- toUint8Array(params.columns),
73
- params.on_conflict,
74
- params.not_null_constraints ?? [],
75
- params.unique_constraints ?? [],
76
- params.check_constraints ?? [],
77
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
78
- );
79
- return {};
80
- },
39
+ const catalogTableCreate = catalogHandler(signingKey, async (params) => {
40
+ const cat = getCatalog();
41
+ await cat.tableCreate(
42
+ toUint8Array(params.attach_opaque_data),
43
+ params.schema_path,
44
+ params.name,
45
+ toUint8Array(params.columns),
46
+ params.on_conflict,
47
+ params.not_null_constraints ?? [],
48
+ params.unique_constraints ?? [],
49
+ params.check_constraints ?? [],
50
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
51
+ );
52
+ return {};
81
53
  });
82
54
 
83
55
  // catalog_table_drop
84
- catalogUnary(protocol, signingKey, "catalog_table_drop", {
85
- params: CatalogTableDropParamsSchema,
86
- result: emptyResultSchema,
87
- handler: async (params) => {
88
- const cat = getCatalog();
89
- await cat.tableDrop(
90
- toUint8Array(params.attach_opaque_data),
91
- params.schema_path,
92
- params.name,
93
- params.ignore_not_found,
94
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
95
- );
96
- return {};
97
- },
56
+ const catalogTableDrop = catalogHandler(signingKey, async (params) => {
57
+ const cat = getCatalog();
58
+ await cat.tableDrop(
59
+ toUint8Array(params.attach_opaque_data),
60
+ params.schema_path,
61
+ params.name,
62
+ params.ignore_not_found,
63
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
64
+ );
65
+ return {};
98
66
  });
99
67
 
100
68
  // catalog_table_column_statistics_get
101
- catalogUnary(protocol, signingKey, "catalog_table_column_statistics_get", {
102
- params: CatalogTableColumnStatisticsGetParamsSchema,
103
- result: RESULT_BINARY_NULLABLE_SCHEMA,
104
- handler: async (params) => {
105
- const cat = getCatalog();
106
- const stats = await cat.tableColumnStatisticsGet(
107
- toUint8Array(params.attach_opaque_data),
108
- params.schema_path,
109
- params.name,
110
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined,
111
- );
112
- return { result: stats?.bytes ?? null };
113
- },
69
+ const catalogTableColumnStatisticsGet = catalogHandler(signingKey, async (params) => {
70
+ const cat = getCatalog();
71
+ const stats = await cat.tableColumnStatisticsGet(
72
+ toUint8Array(params.attach_opaque_data),
73
+ params.schema_path,
74
+ params.name,
75
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined,
76
+ );
77
+ return { result: stats?.bytes ?? null };
114
78
  });
115
79
 
116
80
  // catalog_table_scan_function_get
117
- catalogUnary(protocol, signingKey, "catalog_table_scan_function_get", {
118
- params: CatalogTableScanFunctionGetParamsSchema,
119
- result: RESULT_BINARY_SCHEMA,
120
- handler: async (params) => {
121
- const cat = getCatalog();
122
- const scanResult = await cat.tableScanFunctionGet(
123
- toUint8Array(params.attach_opaque_data),
124
- params.schema_path,
125
- params.name,
126
- params.at_unit,
127
- params.at_value,
128
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
129
- );
130
- return wrapResult(scanResult, ScanFunctionResultSchema);
131
- },
81
+ const catalogTableScanFunctionGet = catalogHandler(signingKey, async (params) => {
82
+ const cat = getCatalog();
83
+ const scanResult = await cat.tableScanFunctionGet(
84
+ toUint8Array(params.attach_opaque_data),
85
+ params.schema_path,
86
+ params.name,
87
+ params.at_unit,
88
+ params.at_value,
89
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
90
+ );
91
+ return wrapResult(scanResult, ScanFunctionResultSchema);
132
92
  });
133
93
 
134
94
  // catalog_table_scan_branches_get — branches-aware variant of
135
95
  // scan_function_get. The branches-aware C++ extension calls this for every
136
96
  // table scan; single-source catalogs synthesise a one-branch result.
137
- catalogUnary(protocol, signingKey, "catalog_table_scan_branches_get", {
138
- params: CatalogTableScanBranchesGetParamsSchema,
139
- result: RESULT_BINARY_SCHEMA,
140
- handler: async (params) => {
141
- const cat = getCatalog();
142
- const branchesResult = await cat.tableScanBranchesGet(
143
- toUint8Array(params.attach_opaque_data),
144
- params.schema_path,
145
- params.name,
146
- params.at_unit,
147
- params.at_value,
148
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
149
- );
150
- return wrapResult(branchesResult, ScanBranchesResultSchema);
151
- },
97
+ const catalogTableScanBranchesGet = catalogHandler(signingKey, async (params) => {
98
+ const cat = getCatalog();
99
+ const branchesResult = await cat.tableScanBranchesGet(
100
+ toUint8Array(params.attach_opaque_data),
101
+ params.schema_path,
102
+ params.name,
103
+ params.at_unit,
104
+ params.at_value,
105
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
106
+ );
107
+ return wrapResult(branchesResult, ScanBranchesResultSchema);
152
108
  });
153
109
 
154
110
  // catalog_table_comment_set
155
- catalogUnary(protocol, signingKey, "catalog_table_comment_set", {
156
- params: CatalogTableCommentSetParamsSchema,
157
- result: emptyResultSchema,
158
- handler: async (params) => {
159
- const cat = getCatalog();
160
- await cat.tableCommentSet(
161
- toUint8Array(params.attach_opaque_data),
162
- params.schema_path,
163
- params.name,
164
- params.comment,
165
- params.ignore_not_found,
166
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
167
- );
168
- return {};
169
- },
111
+ const catalogTableCommentSet = catalogHandler(signingKey, async (params) => {
112
+ const cat = getCatalog();
113
+ await cat.tableCommentSet(
114
+ toUint8Array(params.attach_opaque_data),
115
+ params.schema_path,
116
+ params.name,
117
+ params.comment,
118
+ params.ignore_not_found,
119
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
120
+ );
121
+ return {};
170
122
  });
171
123
 
172
124
  // catalog_table_rename
173
- catalogUnary(protocol, signingKey, "catalog_table_rename", {
174
- params: CatalogTableRenameParamsSchema,
175
- result: emptyResultSchema,
176
- handler: async (params) => {
177
- const cat = getCatalog();
178
- await cat.tableRename(
179
- toUint8Array(params.attach_opaque_data),
180
- params.schema_path,
181
- params.name,
182
- params.new_name,
183
- params.ignore_not_found,
184
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
185
- );
186
- return {};
187
- },
125
+ const catalogTableRename = catalogHandler(signingKey, async (params) => {
126
+ const cat = getCatalog();
127
+ await cat.tableRename(
128
+ toUint8Array(params.attach_opaque_data),
129
+ params.schema_path,
130
+ params.name,
131
+ params.new_name,
132
+ params.ignore_not_found,
133
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
134
+ );
135
+ return {};
188
136
  });
189
137
 
190
138
  // catalog_table_column_add
191
- catalogUnary(protocol, signingKey, "catalog_table_column_add", {
192
- params: CatalogTableColumnAddParamsSchema,
193
- result: emptyResultSchema,
194
- handler: async (params) => {
195
- const cat = getCatalog();
196
- await cat.tableColumnAdd(
197
- toUint8Array(params.attach_opaque_data),
198
- params.schema_path,
199
- params.name,
200
- params.column_name,
201
- params.column_type,
202
- params.default_value,
203
- params.ignore_not_found,
204
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
205
- );
206
- return {};
207
- },
139
+ const catalogTableColumnAdd = catalogHandler(signingKey, async (params) => {
140
+ const cat = getCatalog();
141
+ await cat.tableColumnAdd(
142
+ toUint8Array(params.attach_opaque_data),
143
+ params.schema_path,
144
+ params.name,
145
+ params.column_name,
146
+ params.column_type,
147
+ params.default_value,
148
+ params.ignore_not_found,
149
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
150
+ );
151
+ return {};
208
152
  });
209
153
 
210
154
  // catalog_table_column_drop
211
- catalogUnary(protocol, signingKey, "catalog_table_column_drop", {
212
- params: CatalogTableColumnDropParamsSchema,
213
- result: emptyResultSchema,
214
- handler: async (params) => {
215
- const cat = getCatalog();
216
- await cat.tableColumnDrop(
217
- toUint8Array(params.attach_opaque_data),
218
- params.schema_path,
219
- params.name,
220
- params.column_name,
221
- params.ignore_not_found,
222
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
223
- );
224
- return {};
225
- },
155
+ const catalogTableColumnDrop = catalogHandler(signingKey, async (params) => {
156
+ const cat = getCatalog();
157
+ await cat.tableColumnDrop(
158
+ toUint8Array(params.attach_opaque_data),
159
+ params.schema_path,
160
+ params.name,
161
+ params.column_name,
162
+ params.ignore_not_found,
163
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
164
+ );
165
+ return {};
226
166
  });
227
167
 
228
168
  // catalog_table_column_rename
229
- catalogUnary(protocol, signingKey, "catalog_table_column_rename", {
230
- params: CatalogTableColumnRenameParamsSchema,
231
- result: emptyResultSchema,
232
- handler: async (params) => {
233
- const cat = getCatalog();
234
- await cat.tableColumnRename(
235
- toUint8Array(params.attach_opaque_data),
236
- params.schema_path,
237
- params.name,
238
- params.column_name,
239
- params.new_name,
240
- params.ignore_not_found,
241
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
242
- );
243
- return {};
244
- },
169
+ const catalogTableColumnRename = catalogHandler(signingKey, async (params) => {
170
+ const cat = getCatalog();
171
+ await cat.tableColumnRename(
172
+ toUint8Array(params.attach_opaque_data),
173
+ params.schema_path,
174
+ params.name,
175
+ params.column_name,
176
+ params.new_name,
177
+ params.ignore_not_found,
178
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
179
+ );
180
+ return {};
245
181
  });
246
182
 
247
183
  // catalog_table_column_default_set
248
- catalogUnary(protocol, signingKey, "catalog_table_column_default_set", {
249
- params: CatalogTableColumnDefaultSetParamsSchema,
250
- result: emptyResultSchema,
251
- handler: async (params) => {
252
- const cat = getCatalog();
253
- await cat.tableColumnDefaultSet(
254
- toUint8Array(params.attach_opaque_data),
255
- params.schema_path,
256
- params.name,
257
- params.column_name,
258
- params.default_value,
259
- params.ignore_not_found,
260
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
261
- );
262
- return {};
263
- },
184
+ const catalogTableColumnDefaultSet = catalogHandler(signingKey, async (params) => {
185
+ const cat = getCatalog();
186
+ await cat.tableColumnDefaultSet(
187
+ toUint8Array(params.attach_opaque_data),
188
+ params.schema_path,
189
+ params.name,
190
+ params.column_name,
191
+ params.default_value,
192
+ params.ignore_not_found,
193
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
194
+ );
195
+ return {};
264
196
  });
265
197
 
266
198
  // catalog_table_column_default_drop
267
- catalogUnary(protocol, signingKey, "catalog_table_column_default_drop", {
268
- params: CatalogTableColumnDefaultDropParamsSchema,
269
- result: emptyResultSchema,
270
- handler: async (params) => {
271
- const cat = getCatalog();
272
- await cat.tableColumnDefaultDrop(
273
- toUint8Array(params.attach_opaque_data),
274
- params.schema_path,
275
- params.name,
276
- params.column_name,
277
- params.ignore_not_found,
278
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
279
- );
280
- return {};
281
- },
199
+ const catalogTableColumnDefaultDrop = catalogHandler(signingKey, async (params) => {
200
+ const cat = getCatalog();
201
+ await cat.tableColumnDefaultDrop(
202
+ toUint8Array(params.attach_opaque_data),
203
+ params.schema_path,
204
+ params.name,
205
+ params.column_name,
206
+ params.ignore_not_found,
207
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
208
+ );
209
+ return {};
282
210
  });
283
211
 
284
212
  // catalog_table_column_type_change
285
- catalogUnary(protocol, signingKey, "catalog_table_column_type_change", {
286
- params: CatalogTableColumnTypeChangeParamsSchema,
287
- result: emptyResultSchema,
288
- handler: async (params) => {
289
- const cat = getCatalog();
290
- await cat.tableColumnTypeChange(
291
- toUint8Array(params.attach_opaque_data),
292
- params.schema_path,
293
- params.name,
294
- params.column_name,
295
- params.new_type,
296
- params.ignore_not_found,
297
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
298
- );
299
- return {};
300
- },
213
+ const catalogTableColumnTypeChange = catalogHandler(signingKey, async (params) => {
214
+ const cat = getCatalog();
215
+ await cat.tableColumnTypeChange(
216
+ toUint8Array(params.attach_opaque_data),
217
+ params.schema_path,
218
+ params.name,
219
+ params.column_name,
220
+ params.new_type,
221
+ params.ignore_not_found,
222
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
223
+ );
224
+ return {};
301
225
  });
302
226
 
303
227
  // catalog_table_not_null_set
304
- catalogUnary(protocol, signingKey, "catalog_table_not_null_set", {
305
- params: CatalogTableNotNullSetParamsSchema,
306
- result: emptyResultSchema,
307
- handler: async (params) => {
308
- const cat = getCatalog();
309
- await cat.tableNotNullSet(
310
- toUint8Array(params.attach_opaque_data),
311
- params.schema_path,
312
- params.name,
313
- params.column_name,
314
- params.ignore_not_found,
315
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
316
- );
317
- return {};
318
- },
228
+ const catalogTableNotNullSet = catalogHandler(signingKey, async (params) => {
229
+ const cat = getCatalog();
230
+ await cat.tableNotNullSet(
231
+ toUint8Array(params.attach_opaque_data),
232
+ params.schema_path,
233
+ params.name,
234
+ params.column_name,
235
+ params.ignore_not_found,
236
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
237
+ );
238
+ return {};
319
239
  });
320
240
 
321
241
  // catalog_table_not_null_drop
322
- catalogUnary(protocol, signingKey, "catalog_table_not_null_drop", {
323
- params: CatalogTableNotNullDropParamsSchema,
324
- result: emptyResultSchema,
325
- handler: async (params) => {
326
- const cat = getCatalog();
327
- await cat.tableNotNullDrop(
328
- toUint8Array(params.attach_opaque_data),
329
- params.schema_path,
330
- params.name,
331
- params.column_name,
332
- params.ignore_not_found,
333
- params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
334
- );
335
- return {};
336
- },
242
+ const catalogTableNotNullDrop = catalogHandler(signingKey, async (params) => {
243
+ const cat = getCatalog();
244
+ await cat.tableNotNullDrop(
245
+ toUint8Array(params.attach_opaque_data),
246
+ params.schema_path,
247
+ params.name,
248
+ params.column_name,
249
+ params.ignore_not_found,
250
+ params.transaction_opaque_data ? toUint8Array(params.transaction_opaque_data) : undefined
251
+ );
252
+ return {};
337
253
  });
254
+
255
+ return {
256
+ catalogTableGet,
257
+ catalogTableCreate,
258
+ catalogTableDrop,
259
+ catalogTableColumnStatisticsGet,
260
+ catalogTableScanFunctionGet,
261
+ catalogTableScanBranchesGet,
262
+ catalogTableCommentSet,
263
+ catalogTableRename,
264
+ catalogTableColumnAdd,
265
+ catalogTableColumnDrop,
266
+ catalogTableColumnRename,
267
+ catalogTableColumnDefaultSet,
268
+ catalogTableColumnDefaultDrop,
269
+ catalogTableColumnTypeChange,
270
+ catalogTableNotNullSet,
271
+ catalogTableNotNullDrop,
272
+ };
338
273
  }