@cereusdb/minimal 0.3.0 → 0.4.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.
@@ -31,6 +31,60 @@ export class CereusDB {
31
31
  }
32
32
 
33
33
  }
34
+ /**
35
+ * Create (`create = true`) or attach a persistent database. Returns the
36
+ * database (catalog) name.
37
+ * @param {string} location
38
+ * @param {string | null | undefined} name
39
+ * @param {boolean} create
40
+ * @param {boolean} if_not_exists
41
+ * @returns {Promise<string>}
42
+ */
43
+ attach_database(location, name, create, if_not_exists) {
44
+ const ptr0 = passStringToWasm0(location, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
45
+ const len0 = WASM_VECTOR_LEN;
46
+ var ptr1 = isLikeNone(name) ? 0 : passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
47
+ var len1 = WASM_VECTOR_LEN;
48
+ let ret;
49
+ __wbg_termination_guard();
50
+ try {
51
+ ret = wasm.cereusdb_attach_database(this.__wbg_ptr, ptr0, len0, ptr1, len1, create, if_not_exists);;
52
+ } catch(e) {
53
+ __wbg_handle_catch(e);
54
+ }
55
+ return ret;
56
+ }
57
+ /**
58
+ * Describe all databases, schemas, tables and views as a JSON string.
59
+ * @returns {Promise<string>}
60
+ */
61
+ catalog_json() {
62
+ let ret;
63
+ __wbg_termination_guard();
64
+ try {
65
+ ret = wasm.cereusdb_catalog_json(this.__wbg_ptr);;
66
+ } catch(e) {
67
+ __wbg_handle_catch(e);
68
+ }
69
+ return ret;
70
+ }
71
+ /**
72
+ * Rewrite every table of a persistent database into a single segment.
73
+ * @param {string} name
74
+ * @returns {Promise<void>}
75
+ */
76
+ compact_database(name) {
77
+ const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
78
+ const len0 = WASM_VECTOR_LEN;
79
+ let ret;
80
+ __wbg_termination_guard();
81
+ try {
82
+ ret = wasm.cereusdb_compact_database(this.__wbg_ptr, ptr0, len0);;
83
+ } catch(e) {
84
+ __wbg_handle_catch(e);
85
+ }
86
+ return ret;
87
+ }
34
88
  /**
35
89
  * Create a new CereusDB instance.
36
90
  * Initializes DataFusion context and registers all spatial functions.
@@ -50,7 +104,45 @@ export class CereusDB {
50
104
  return CereusDB.__wrap(ret[0]);
51
105
  }
52
106
  /**
53
- * Drop a registered table.
107
+ * Detach a persistent database after writing pending changes.
108
+ * @param {string} name
109
+ * @param {boolean} if_exists
110
+ * @returns {Promise<void>}
111
+ */
112
+ detach_database(name, if_exists) {
113
+ const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
114
+ const len0 = WASM_VECTOR_LEN;
115
+ let ret;
116
+ __wbg_termination_guard();
117
+ try {
118
+ ret = wasm.cereusdb_detach_database(this.__wbg_ptr, ptr0, len0, if_exists);;
119
+ } catch(e) {
120
+ __wbg_handle_catch(e);
121
+ }
122
+ return ret;
123
+ }
124
+ /**
125
+ * Drop a database by name or location URL. Persistent databases are
126
+ * deleted from storage.
127
+ * @param {string} target
128
+ * @param {boolean} if_exists
129
+ * @returns {Promise<void>}
130
+ */
131
+ drop_database(target, if_exists) {
132
+ const ptr0 = passStringToWasm0(target, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
133
+ const len0 = WASM_VECTOR_LEN;
134
+ let ret;
135
+ __wbg_termination_guard();
136
+ try {
137
+ ret = wasm.cereusdb_drop_database(this.__wbg_ptr, ptr0, len0, if_exists);;
138
+ } catch(e) {
139
+ __wbg_handle_catch(e);
140
+ }
141
+ return ret;
142
+ }
143
+ /**
144
+ * Drop a registered table. Call `flush()` to write the change when the
145
+ * table belongs to a persistent database.
54
146
  * @param {string} table_name
55
147
  */
56
148
  drop_table(table_name) {
@@ -67,6 +159,111 @@ export class CereusDB {
67
159
  throw takeFromExternrefTable0(ret[0]);
68
160
  }
69
161
  }
162
+ /**
163
+ * Run a query and encode the result as GeoParquet. `options` may set
164
+ * `compression` and `rowGroupSize`.
165
+ * @param {string} query
166
+ * @param {any} options
167
+ * @returns {Promise<Uint8Array>}
168
+ */
169
+ export_geoparquet(query, options) {
170
+ const ptr0 = passStringToWasm0(query, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
171
+ const len0 = WASM_VECTOR_LEN;
172
+ let ret;
173
+ __wbg_termination_guard();
174
+ try {
175
+ ret = wasm.cereusdb_export_geoparquet(this.__wbg_ptr, ptr0, len0, options);;
176
+ } catch(e) {
177
+ __wbg_handle_catch(e);
178
+ }
179
+ return ret;
180
+ }
181
+ /**
182
+ * Write all pending changes of attached persistent databases.
183
+ * @returns {Promise<void>}
184
+ */
185
+ flush() {
186
+ let ret;
187
+ __wbg_termination_guard();
188
+ try {
189
+ ret = wasm.cereusdb_flush(this.__wbg_ptr);;
190
+ } catch(e) {
191
+ __wbg_handle_catch(e);
192
+ }
193
+ return ret;
194
+ }
195
+ /**
196
+ * Insert Arrow IPC data (stream or file format) into a table, matching
197
+ * columns by name. Returns the number of inserted rows.
198
+ * @param {string} table_name
199
+ * @param {Uint8Array} data
200
+ * @returns {Promise<number>}
201
+ */
202
+ insert_arrow(table_name, data) {
203
+ const ptr0 = passStringToWasm0(table_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
204
+ const len0 = WASM_VECTOR_LEN;
205
+ const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
206
+ const len1 = WASM_VECTOR_LEN;
207
+ let ret;
208
+ __wbg_termination_guard();
209
+ try {
210
+ ret = wasm.cereusdb_insert_arrow(this.__wbg_ptr, ptr0, len0, ptr1, len1);;
211
+ } catch(e) {
212
+ __wbg_handle_catch(e);
213
+ }
214
+ return ret;
215
+ }
216
+ /**
217
+ * Database locations stored in the backend for `scheme`, attached or not.
218
+ * @param {string} scheme
219
+ * @returns {Promise<any>}
220
+ */
221
+ list_database_locations(scheme) {
222
+ const ptr0 = passStringToWasm0(scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
223
+ const len0 = WASM_VECTOR_LEN;
224
+ let ret;
225
+ __wbg_termination_guard();
226
+ try {
227
+ ret = wasm.cereusdb_list_database_locations(this.__wbg_ptr, ptr0, len0);;
228
+ } catch(e) {
229
+ __wbg_handle_catch(e);
230
+ }
231
+ return ret;
232
+ }
233
+ /**
234
+ * List all tables and views as `catalog.schema.table`.
235
+ * @returns {any}
236
+ */
237
+ qualified_tables() {
238
+ let ret;
239
+ __wbg_termination_guard();
240
+ try {
241
+ ret = wasm.cereusdb_qualified_tables(this.__wbg_ptr);;
242
+ } catch(e) {
243
+ __wbg_handle_catch(e);
244
+ }
245
+ if (ret[2]) {
246
+ throw takeFromExternrefTable0(ret[1]);
247
+ }
248
+ return takeFromExternrefTable0(ret[0]);
249
+ }
250
+ /**
251
+ * Set the function `(filename, bytes, mimeType)` that receives files
252
+ * written by `COPY ... TO`. `null` removes it.
253
+ * @param {any} handler
254
+ */
255
+ register_export_handler(handler) {
256
+ let ret;
257
+ __wbg_termination_guard();
258
+ try {
259
+ ret = wasm.cereusdb_register_export_handler(this.__wbg_ptr, handler);;
260
+ } catch(e) {
261
+ __wbg_handle_catch(e);
262
+ }
263
+ if (ret[1]) {
264
+ throw takeFromExternrefTable0(ret[0]);
265
+ }
266
+ }
70
267
  /**
71
268
  * Register a GeoJSON string as a named table.
72
269
  * @param {string} table_name
@@ -215,6 +412,26 @@ export class CereusDB {
215
412
  }
216
413
  return ret;
217
414
  }
415
+ /**
416
+ * Register the storage backend used for database locations with the given
417
+ * URL scheme (for example `opfs`).
418
+ * @param {string} scheme
419
+ * @param {any} backend
420
+ */
421
+ register_storage_backend(scheme, backend) {
422
+ const ptr0 = passStringToWasm0(scheme, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
423
+ const len0 = WASM_VECTOR_LEN;
424
+ let ret;
425
+ __wbg_termination_guard();
426
+ try {
427
+ ret = wasm.cereusdb_register_storage_backend(this.__wbg_ptr, ptr0, len0, backend);;
428
+ } catch(e) {
429
+ __wbg_handle_catch(e);
430
+ }
431
+ if (ret[1]) {
432
+ throw takeFromExternrefTable0(ret[0]);
433
+ }
434
+ }
218
435
  /**
219
436
  * Execute a SQL query.
220
437
  * Returns results as Arrow IPC bytes (Uint8Array).
@@ -314,6 +531,14 @@ const import9 = __wasi;
314
531
  function __wbg_get_imports() {
315
532
  const import0 = {
316
533
  __proto__: null,
534
+ __wbg_Error_83742b46f01ce22d: function(arg0, arg1) {
535
+ const ret = Error(getStringFromWasm0(arg0, arg1));
536
+ return ret;
537
+ },
538
+ __wbg_Number_a5a435bd7bbec835: function(arg0) {
539
+ const ret = Number(arg0);
540
+ return ret;
541
+ },
317
542
  __wbg_String_8564e559799eccda: function(arg0, arg1) {
318
543
  const ret = String(arg1);
319
544
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -321,6 +546,17 @@ function __wbg_get_imports() {
321
546
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
322
547
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
323
548
  },
549
+ __wbg___wbindgen_bigint_get_as_i64_447a76b5c6ef7bda: function(arg0, arg1) {
550
+ const v = arg1;
551
+ const ret = typeof(v) === 'bigint' ? v : undefined;
552
+ getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
553
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
554
+ },
555
+ __wbg___wbindgen_boolean_get_c0f3f60bac5a78d1: function(arg0) {
556
+ const v = arg0;
557
+ const ret = typeof(v) === 'boolean' ? v : undefined;
558
+ return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
559
+ },
324
560
  __wbg___wbindgen_debug_string_5398f5bb970e0daa: function(arg0, arg1) {
325
561
  const ret = debugString(arg1);
326
562
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -328,20 +564,63 @@ function __wbg_get_imports() {
328
564
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
329
565
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
330
566
  },
567
+ __wbg___wbindgen_in_41dbb8413020e076: function(arg0, arg1) {
568
+ const ret = arg0 in arg1;
569
+ return ret;
570
+ },
571
+ __wbg___wbindgen_is_bigint_e2141d4f045b7eda: function(arg0) {
572
+ const ret = typeof(arg0) === 'bigint';
573
+ return ret;
574
+ },
331
575
  __wbg___wbindgen_is_function_3c846841762788c1: function(arg0) {
332
576
  const ret = typeof(arg0) === 'function';
333
577
  return ret;
334
578
  },
579
+ __wbg___wbindgen_is_null_0b605fc6b167c56f: function(arg0) {
580
+ const ret = arg0 === null;
581
+ return ret;
582
+ },
583
+ __wbg___wbindgen_is_object_781bc9f159099513: function(arg0) {
584
+ const val = arg0;
585
+ const ret = typeof(val) === 'object' && val !== null;
586
+ return ret;
587
+ },
335
588
  __wbg___wbindgen_is_undefined_52709e72fb9f179c: function(arg0) {
336
589
  const ret = arg0 === undefined;
337
590
  return ret;
338
591
  },
592
+ __wbg___wbindgen_jsval_eq_ee31bfad3e536463: function(arg0, arg1) {
593
+ const ret = arg0 === arg1;
594
+ return ret;
595
+ },
596
+ __wbg___wbindgen_jsval_loose_eq_5bcc3bed3c69e72b: function(arg0, arg1) {
597
+ const ret = arg0 == arg1;
598
+ return ret;
599
+ },
600
+ __wbg___wbindgen_number_get_34bb9d9dcfa21373: function(arg0, arg1) {
601
+ const obj = arg1;
602
+ const ret = typeof(obj) === 'number' ? obj : undefined;
603
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
604
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
605
+ },
606
+ __wbg___wbindgen_string_get_395e606bd0ee4427: function(arg0, arg1) {
607
+ const obj = arg1;
608
+ const ret = typeof(obj) === 'string' ? obj : undefined;
609
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
610
+ var len1 = WASM_VECTOR_LEN;
611
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
612
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
613
+ },
339
614
  __wbg___wbindgen_throw_6ddd609b62940d55: function(arg0, arg1) {
340
615
  throw new WebAssembly.Exception(__wbindgen_wrapped_jstag, [new Error(getStringFromWasm0(arg0, arg1))]);
341
616
  },
342
617
  __wbg__wbg_cb_unref_6b5b6b8576d35cb1: function(arg0) {
343
618
  arg0._wbg_cb_unref();
344
619
  },
620
+ __wbg_apply_ac9afb97ca32f169: function(arg0, arg1, arg2) {
621
+ const ret = arg0.apply(arg1, arg2);
622
+ return ret;
623
+ },
345
624
  __wbg_arrayBuffer_eb8e9ca620af2a19: function(arg0) {
346
625
  const ret = arg0.arrayBuffer();
347
626
  return ret;
@@ -350,6 +629,10 @@ function __wbg_get_imports() {
350
629
  const ret = arg0.call(arg1, arg2);
351
630
  return ret;
352
631
  },
632
+ __wbg_call_f858478a02f9600f: function(arg0, arg1, arg2, arg3, arg4) {
633
+ const ret = arg0.call(arg1, arg2, arg3, arg4);
634
+ return ret;
635
+ },
353
636
  __wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
354
637
  let deferred0_0;
355
638
  let deferred0_1;
@@ -374,6 +657,10 @@ function __wbg_get_imports() {
374
657
  const ret = arg0.fetch(arg1);
375
658
  return ret;
376
659
  },
660
+ __wbg_from_4bdf88943703fd48: function(arg0) {
661
+ const ret = Array.from(arg0);
662
+ return ret;
663
+ },
377
664
  __wbg_getRandomValues_3f44b700395062e5: function(arg0, arg1) {
378
665
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
379
666
  },
@@ -384,6 +671,28 @@ function __wbg_get_imports() {
384
671
  const ret = arg0.getTime();
385
672
  return ret;
386
673
  },
674
+ __wbg_get_3ef1eba1850ade27: function(arg0, arg1) {
675
+ const ret = Reflect.get(arg0, arg1);
676
+ return ret;
677
+ },
678
+ __wbg_get_unchecked_329cfe50afab7352: function(arg0, arg1) {
679
+ const ret = arg0[arg1 >>> 0];
680
+ return ret;
681
+ },
682
+ __wbg_get_with_ref_key_6412cf3094599694: function(arg0, arg1) {
683
+ const ret = arg0[arg1];
684
+ return ret;
685
+ },
686
+ __wbg_instanceof_ArrayBuffer_101e2bf31071a9f6: function(arg0) {
687
+ let result;
688
+ try {
689
+ result = arg0 instanceof ArrayBuffer;
690
+ } catch (_) {
691
+ result = false;
692
+ }
693
+ const ret = result;
694
+ return ret;
695
+ },
387
696
  __wbg_instanceof_Response_9b4d9fd451e051b1: function(arg0) {
388
697
  let result;
389
698
  try {
@@ -394,6 +703,16 @@ function __wbg_get_imports() {
394
703
  const ret = result;
395
704
  return ret;
396
705
  },
706
+ __wbg_instanceof_Uint8Array_740438561a5b956d: function(arg0) {
707
+ let result;
708
+ try {
709
+ result = arg0 instanceof Uint8Array;
710
+ } catch (_) {
711
+ result = false;
712
+ }
713
+ const ret = result;
714
+ return ret;
715
+ },
397
716
  __wbg_instanceof_Window_23e677d2c6843922: function(arg0) {
398
717
  let result;
399
718
  try {
@@ -404,6 +723,18 @@ function __wbg_get_imports() {
404
723
  const ret = result;
405
724
  return ret;
406
725
  },
726
+ __wbg_isArray_33b91feb269ff46e: function(arg0) {
727
+ const ret = Array.isArray(arg0);
728
+ return ret;
729
+ },
730
+ __wbg_isSafeInteger_ecd6a7f9c3e053cd: function(arg0) {
731
+ const ret = Number.isSafeInteger(arg0);
732
+ return ret;
733
+ },
734
+ __wbg_length_b3416cf66a5452c8: function(arg0) {
735
+ const ret = arg0.length;
736
+ return ret;
737
+ },
407
738
  __wbg_length_ea16607d7b61445b: function(arg0) {
408
739
  const ret = arg0.length;
409
740
  return ret;
@@ -431,6 +762,10 @@ function __wbg_get_imports() {
431
762
  const ret = new Object();
432
763
  return ret;
433
764
  },
765
+ __wbg_new_from_slice_22da9388ac046e50: function(arg0, arg1) {
766
+ const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
767
+ return ret;
768
+ },
434
769
  __wbg_new_typed_aaaeaf29cf802876: function(arg0, arg1) {
435
770
  try {
436
771
  var state0 = {a: arg0, b: arg1};
@@ -449,6 +784,10 @@ function __wbg_get_imports() {
449
784
  state0.a = state0.b = 0;
450
785
  }
451
786
  },
787
+ __wbg_new_typed_bccac67128ed885a: function() {
788
+ const ret = new Array();
789
+ return ret;
790
+ },
452
791
  __wbg_new_with_length_825018a1616e9e55: function(arg0) {
453
792
  const ret = new Uint8Array(arg0 >>> 0);
454
793
  return ret;
@@ -472,6 +811,10 @@ function __wbg_get_imports() {
472
811
  __wbg_prototypesetcall_d62e5099504357e6: function(arg0, arg1, arg2) {
473
812
  Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
474
813
  },
814
+ __wbg_push_e87b0e732085a946: function(arg0, arg1) {
815
+ const ret = arg0.push(arg1);
816
+ return ret;
817
+ },
475
818
  __wbg_queueMicrotask_0c399741342fb10f: function(arg0) {
476
819
  const ret = arg0.queueMicrotask;
477
820
  return ret;
@@ -530,16 +873,29 @@ function __wbg_get_imports() {
530
873
  const ret = arg0.then(arg1, arg2);
531
874
  return ret;
532
875
  },
876
+ __wbg_warn_69424c2d92a2fa73: function(arg0) {
877
+ console.warn(arg0);
878
+ },
533
879
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
534
- // Cast intrinsic for `Closure(Closure { dtor_idx: 4534, function: Function { arguments: [Externref], shim_idx: 20198, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
880
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 4167, function: Function { arguments: [Externref], shim_idx: 20855, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
535
881
  const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h8db467765ce434ac, wasm_bindgen__convert__closures_____invoke__h7573a8a64f443504);
536
882
  return ret;
537
883
  },
538
- __wbindgen_cast_0000000000000002: function(arg0, arg1) {
884
+ __wbindgen_cast_0000000000000002: function(arg0) {
885
+ // Cast intrinsic for `F64 -> Externref`.
886
+ const ret = arg0;
887
+ return ret;
888
+ },
889
+ __wbindgen_cast_0000000000000003: function(arg0, arg1) {
539
890
  // Cast intrinsic for `Ref(String) -> Externref`.
540
891
  const ret = getStringFromWasm0(arg0, arg1);
541
892
  return ret;
542
893
  },
894
+ __wbindgen_cast_0000000000000004: function(arg0) {
895
+ // Cast intrinsic for `U64 -> Externref`.
896
+ const ret = BigInt.asUintN(64, arg0);
897
+ return ret;
898
+ },
543
899
  __wbindgen_init_externref_table: function() {
544
900
  const table = wasm.__wbindgen_externrefs;
545
901
  const offset = table.grow(4);
@@ -9,15 +9,65 @@ export class CereusDB {
9
9
  private constructor();
10
10
  free(): void;
11
11
  [Symbol.dispose](): void;
12
+ /**
13
+ * Create (`create = true`) or attach a persistent database. Returns the
14
+ * database (catalog) name.
15
+ */
16
+ attach_database(location: string, name: string | null | undefined, create: boolean, if_not_exists: boolean): Promise<string>;
17
+ /**
18
+ * Describe all databases, schemas, tables and views as a JSON string.
19
+ */
20
+ catalog_json(): Promise<string>;
21
+ /**
22
+ * Rewrite every table of a persistent database into a single segment.
23
+ */
24
+ compact_database(name: string): Promise<void>;
12
25
  /**
13
26
  * Create a new CereusDB instance.
14
27
  * Initializes DataFusion context and registers all spatial functions.
15
28
  */
16
29
  static create(): CereusDB;
17
30
  /**
18
- * Drop a registered table.
31
+ * Detach a persistent database after writing pending changes.
32
+ */
33
+ detach_database(name: string, if_exists: boolean): Promise<void>;
34
+ /**
35
+ * Drop a database by name or location URL. Persistent databases are
36
+ * deleted from storage.
37
+ */
38
+ drop_database(target: string, if_exists: boolean): Promise<void>;
39
+ /**
40
+ * Drop a registered table. Call `flush()` to write the change when the
41
+ * table belongs to a persistent database.
19
42
  */
20
43
  drop_table(table_name: string): void;
44
+ /**
45
+ * Run a query and encode the result as GeoParquet. `options` may set
46
+ * `compression` and `rowGroupSize`.
47
+ */
48
+ export_geoparquet(query: string, options: any): Promise<Uint8Array>;
49
+ /**
50
+ * Write all pending changes of attached persistent databases.
51
+ */
52
+ flush(): Promise<void>;
53
+ /**
54
+ * Insert Arrow IPC data (stream or file format) into a table, matching
55
+ * columns by name. Returns the number of inserted rows.
56
+ */
57
+ insert_arrow(table_name: string, data: Uint8Array): Promise<number>;
58
+ /**
59
+ * Database locations stored in the backend for `scheme`, attached or not.
60
+ */
61
+ list_database_locations(scheme: string): Promise<any>;
62
+ /**
63
+ * List all tables and views as `catalog.schema.table`.
64
+ */
65
+ qualified_tables(): any;
66
+ /**
67
+ * Set the function `(filename, bytes, mimeType)` that receives files
68
+ * written by `COPY ... TO`. `null` removes it.
69
+ */
70
+ register_export_handler(handler: any): void;
21
71
  /**
22
72
  * Register a GeoJSON string as a named table.
23
73
  */
@@ -51,6 +101,11 @@ export class CereusDB {
51
101
  * The server must support CORS.
52
102
  */
53
103
  register_remote_parquet(table_name: string, url: string): Promise<void>;
104
+ /**
105
+ * Register the storage backend used for database locations with the given
106
+ * URL scheme (for example `opfs`).
107
+ */
108
+ register_storage_backend(scheme: string, backend: any): void;
54
109
  /**
55
110
  * Execute a SQL query.
56
111
  * Returns results as Arrow IPC bytes (Uint8Array).
@@ -88,8 +143,19 @@ export interface InitOutput {
88
143
  readonly malloc: (a: number) => number;
89
144
  readonly __wbg_cereusdb_free: (a: number, b: number) => void;
90
145
  readonly _abort_js: () => void;
146
+ readonly cereusdb_attach_database: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => any;
147
+ readonly cereusdb_catalog_json: (a: number) => any;
148
+ readonly cereusdb_compact_database: (a: number, b: number, c: number) => any;
91
149
  readonly cereusdb_create: () => [number, number, number];
150
+ readonly cereusdb_detach_database: (a: number, b: number, c: number, d: number) => any;
151
+ readonly cereusdb_drop_database: (a: number, b: number, c: number, d: number) => any;
92
152
  readonly cereusdb_drop_table: (a: number, b: number, c: number) => [number, number];
153
+ readonly cereusdb_export_geoparquet: (a: number, b: number, c: number, d: any) => any;
154
+ readonly cereusdb_flush: (a: number) => any;
155
+ readonly cereusdb_insert_arrow: (a: number, b: number, c: number, d: number, e: number) => any;
156
+ readonly cereusdb_list_database_locations: (a: number, b: number, c: number) => any;
157
+ readonly cereusdb_qualified_tables: (a: number) => [number, number, number];
158
+ readonly cereusdb_register_export_handler: (a: number, b: any) => [number, number];
93
159
  readonly cereusdb_register_geojson: (a: number, b: number, c: number, d: number, e: number) => [number, number];
94
160
  readonly cereusdb_register_geotiff_buffer: (a: number, b: number, c: number, d: number, e: number) => [number, number];
95
161
  readonly cereusdb_register_object_stores: (a: number, b: any) => [number, number];
@@ -97,6 +163,7 @@ export interface InitOutput {
97
163
  readonly cereusdb_register_parquet_table: (a: number, b: number, c: number, d: number, e: number, f: any) => any;
98
164
  readonly cereusdb_register_raster_buffer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
99
165
  readonly cereusdb_register_remote_parquet: (a: number, b: number, c: number, d: number, e: number) => any;
166
+ readonly cereusdb_register_storage_backend: (a: number, b: number, c: number, d: any) => [number, number];
100
167
  readonly cereusdb_sql: (a: number, b: number, c: number) => any;
101
168
  readonly cereusdb_sql_json: (a: number, b: number, c: number) => any;
102
169
  readonly cereusdb_tables: (a: number) => [number, number, number];