@duckdb/duckdb-wasm 0.1.13-dev8.0 → 0.1.13

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 (42) hide show
  1. package/README.md +2 -15
  2. package/dist/duckdb-browser-blocking.mjs +33 -0
  3. package/dist/duckdb-browser-blocking.mjs.map +7 -0
  4. package/dist/duckdb-browser-next-coi.pthread.worker.js +2 -3
  5. package/dist/duckdb-browser-next-coi.pthread.worker.js.map +3 -3
  6. package/dist/duckdb-browser-next-coi.worker.js +8 -8
  7. package/dist/duckdb-browser-next-coi.worker.js.map +3 -3
  8. package/dist/duckdb-browser-next.worker.js +8 -8
  9. package/dist/duckdb-browser-next.worker.js.map +3 -3
  10. package/dist/duckdb-browser.mjs +32 -0
  11. package/dist/duckdb-browser.mjs.map +7 -0
  12. package/dist/duckdb-browser.worker.js +8 -8
  13. package/dist/duckdb-browser.worker.js.map +3 -3
  14. package/dist/duckdb-next-coi.wasm +0 -0
  15. package/dist/duckdb-next.wasm +0 -0
  16. package/dist/duckdb-node-blocking.cjs +36 -3
  17. package/dist/duckdb-node-blocking.cjs.map +3 -3
  18. package/dist/duckdb-node-next.worker.cjs +36 -3
  19. package/dist/duckdb-node-next.worker.cjs.map +3 -3
  20. package/dist/duckdb-node.cjs +1 -1
  21. package/dist/duckdb-node.cjs.map +3 -3
  22. package/dist/duckdb-node.worker.cjs +35 -2
  23. package/dist/duckdb-node.worker.cjs.map +3 -3
  24. package/dist/duckdb.wasm +0 -0
  25. package/dist/tests-browser.js +89 -198
  26. package/dist/tests-browser.js.map +3 -3
  27. package/dist/tests-node.cjs +14734 -106
  28. package/dist/tests-node.cjs.map +3 -3
  29. package/dist/types/src/bindings/connection.d.ts +0 -6
  30. package/dist/types/src/parallel/async_connection.d.ts +0 -6
  31. package/dist/types/src/targets/duckdb-browser-blocking.d.ts +0 -1
  32. package/dist/types/src/targets/duckdb.d.ts +0 -1
  33. package/dist/types/src/utils/index.d.ts +0 -1
  34. package/package.json +33 -45
  35. package/dist/duckdb-browser-blocking.js +0 -33
  36. package/dist/duckdb-browser-blocking.js.map +0 -7
  37. package/dist/duckdb-browser.js +0 -32
  38. package/dist/duckdb-browser.js.map +0 -7
  39. package/dist/duckdb.d.ts +0 -1
  40. package/dist/duckdb.mjs +0 -2
  41. package/dist/duckdb.mjs.map +0 -7
  42. package/dist/types/src/utils/ipc_buffer.d.ts +0 -4
package/dist/duckdb.wasm CHANGED
Binary file
@@ -16,21 +16,21 @@ var duckdb = (() => {
16
16
  var __commonJS = (cb, mod) => function __require2() {
17
17
  return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
18
  };
19
- var __reExport = (target, module2, desc) => {
20
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
21
- for (let key of __getOwnPropNames(module2))
19
+ var __reExport = (target, module, desc) => {
20
+ if (module && typeof module === "object" || typeof module === "function") {
21
+ for (let key of __getOwnPropNames(module))
22
22
  if (!__hasOwnProp.call(target, key) && key !== "default")
23
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
23
+ __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
24
24
  }
25
25
  return target;
26
26
  };
27
- var __toModule = (module2) => {
28
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
27
+ var __toModule = (module) => {
28
+ return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
29
29
  };
30
30
 
31
31
  // ../../node_modules/tslib/tslib.js
32
32
  var require_tslib = __commonJS({
33
- "../../node_modules/tslib/tslib.js"(exports2, module2) {
33
+ "../../node_modules/tslib/tslib.js"(exports2, module) {
34
34
  var __extends;
35
35
  var __assign;
36
36
  var __rest;
@@ -61,8 +61,8 @@ var duckdb = (() => {
61
61
  define("tslib", ["exports"], function(exports3) {
62
62
  factory(createExporter(root, createExporter(exports3)));
63
63
  });
64
- } else if (typeof module2 === "object" && typeof module2.exports === "object") {
65
- factory(createExporter(root, createExporter(module2.exports)));
64
+ } else if (typeof module === "object" && typeof module.exports === "object") {
65
+ factory(createExporter(root, createExporter(module.exports)));
66
66
  } else {
67
67
  factory(createExporter(root));
68
68
  }
@@ -14621,25 +14621,6 @@ return true;`);
14621
14621
  }
14622
14622
  });
14623
14623
 
14624
- // ../../node_modules/apache-arrow/Arrow.dom.mjs
14625
- var import_adapters = __toModule(require_adapters());
14626
- var import_builder = __toModule(require_builder2());
14627
- var import_reader = __toModule(require_reader());
14628
- var import_writer = __toModule(require_writer());
14629
- var import_iterable = __toModule(require_iterable());
14630
- var import_builder2 = __toModule(require_builder3());
14631
- var import_reader2 = __toModule(require_reader2());
14632
- var import_writer2 = __toModule(require_writer2());
14633
- var import_Arrow = __toModule(require_Arrow());
14634
- import_adapters.default.toDOMStream = import_iterable.toDOMStream;
14635
- import_builder.Builder["throughDOM"] = import_builder2.builderThroughDOMStream;
14636
- import_reader.RecordBatchReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14637
- import_reader.RecordBatchFileReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14638
- import_reader.RecordBatchStreamReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14639
- import_writer.RecordBatchWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14640
- import_writer.RecordBatchFileWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14641
- import_writer.RecordBatchStreamWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14642
-
14643
14624
  // src/log.ts
14644
14625
  var LogLevel;
14645
14626
  (function(LogLevel2) {
@@ -14685,14 +14666,24 @@ return true;`);
14685
14666
  StatusCode2[StatusCode2["SUCCESS"] = 0] = "SUCCESS";
14686
14667
  })(StatusCode || (StatusCode = {}));
14687
14668
 
14688
- // src/utils/ipc_buffer.ts
14689
- var IPCBuffer = class extends import_Arrow.AsyncByteQueue {
14690
- flush() {
14691
- const buffer = super.toUint8Array(true);
14692
- this._values.length = 0;
14693
- return buffer;
14694
- }
14695
- };
14669
+ // ../../node_modules/apache-arrow/Arrow.dom.mjs
14670
+ var import_adapters = __toModule(require_adapters());
14671
+ var import_builder = __toModule(require_builder2());
14672
+ var import_reader = __toModule(require_reader());
14673
+ var import_writer = __toModule(require_writer());
14674
+ var import_iterable = __toModule(require_iterable());
14675
+ var import_builder2 = __toModule(require_builder3());
14676
+ var import_reader2 = __toModule(require_reader2());
14677
+ var import_writer2 = __toModule(require_writer2());
14678
+ var import_Arrow = __toModule(require_Arrow());
14679
+ import_adapters.default.toDOMStream = import_iterable.toDOMStream;
14680
+ import_builder.Builder["throughDOM"] = import_builder2.builderThroughDOMStream;
14681
+ import_reader.RecordBatchReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14682
+ import_reader.RecordBatchFileReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14683
+ import_reader.RecordBatchStreamReader["throughDOM"] = import_reader2.recordBatchReaderThroughDOMStream;
14684
+ import_writer.RecordBatchWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14685
+ import_writer.RecordBatchFileWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14686
+ import_writer.RecordBatchStreamWriter["throughDOM"] = import_writer2.recordBatchWriterThroughDOMStream;
14696
14687
 
14697
14688
  // src/bindings/connection.ts
14698
14689
  var DuckDBConnection = class {
@@ -14725,31 +14716,9 @@ return true;`);
14725
14716
  const stmt = this._bindings.createPrepared(this._conn, text);
14726
14717
  return new PreparedStatement(this._bindings, this._conn, stmt);
14727
14718
  }
14728
- insertArrowVectors(children, options) {
14729
- this.insertArrowTable(import_Arrow.Table.new(children), options);
14730
- }
14731
14719
  insertArrowTable(table, options) {
14732
- if (table.schema.fields.length == 0) {
14733
- console.warn("The schema is empty! If you used arrow.Table.from, consider constructing schema and batches manually");
14734
- }
14735
- this.insertArrowBatches(table.schema, table.chunks, options);
14736
- }
14737
- insertArrowBatches(schema, batches, options) {
14738
- if (schema.fields.length == 0) {
14739
- console.warn("The schema is empty! If you used arrow.Table.from, consider constructing schema and batches manually");
14740
- }
14741
- const buffer = new IPCBuffer();
14742
- const writer = new import_Arrow.RecordBatchStreamWriter().reset(buffer, schema);
14743
- let first = true;
14744
- for (const batch of batches) {
14745
- if (!first) {
14746
- this._bindings.insertArrowFromIPCStream(this._conn, buffer.flush(), options);
14747
- }
14748
- first = false;
14749
- writer.write(batch);
14750
- }
14751
- writer.finish();
14752
- this._bindings.insertArrowFromIPCStream(this._conn, buffer.flush(), options);
14720
+ const buffer = table.serialize("binary", true);
14721
+ this.insertArrowFromIPCStream(buffer, options);
14753
14722
  }
14754
14723
  insertArrowFromIPCStream(buffer, options) {
14755
14724
  this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);
@@ -15142,6 +15111,8 @@ return true;`);
15142
15111
  return res;
15143
15112
  }
15144
15113
  insertArrowFromIPCStream(conn, buffer, options) {
15114
+ if (buffer.length == 0)
15115
+ return;
15145
15116
  const bufferPtr = this.mod._malloc(buffer.length);
15146
15117
  const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + buffer.length);
15147
15118
  bufferOfs.set(buffer);
@@ -15303,7 +15274,7 @@ return true;`);
15303
15274
  InsertMode2[InsertMode2["IMPORT"] = 1] = "IMPORT";
15304
15275
  })(InsertMode || (InsertMode = {}));
15305
15276
 
15306
- // src/bindings/duckdb_wasm.js
15277
+ // src/bindings/duckdb.js
15307
15278
  var import_meta = {};
15308
15279
  var DuckDB = function() {
15309
15280
  var _scriptDir = import_meta.url;
@@ -15766,7 +15737,7 @@ return true;`);
15766
15737
  }
15767
15738
  var wasmBinaryFile;
15768
15739
  if (Module["locateFile"]) {
15769
- wasmBinaryFile = "duckdb_wasm.wasm";
15740
+ wasmBinaryFile = "./duckdb-wasm.wasm";
15770
15741
  if (!isDataURI(wasmBinaryFile)) {
15771
15742
  wasmBinaryFile = locateFile(wasmBinaryFile);
15772
15743
  }
@@ -15806,7 +15777,7 @@ return true;`);
15806
15777
  }
15807
15778
  function createWasm() {
15808
15779
  var info = { "a": asmLibraryArg };
15809
- function receiveInstance(instance, module2) {
15780
+ function receiveInstance(instance, module) {
15810
15781
  var exports3 = instance.exports;
15811
15782
  Module["asm"] = exports3;
15812
15783
  wasmMemory = Module["asm"]["Ae"];
@@ -20038,7 +20009,7 @@ return true;`);
20038
20009
  return DuckDB3.ready;
20039
20010
  };
20040
20011
  }();
20041
- var duckdb_wasm_default = DuckDB;
20012
+ var duckdb_default = DuckDB;
20042
20013
 
20043
20014
  // src/bindings/bindings_browser_base.ts
20044
20015
  var DuckDBBrowserBindings = class extends DuckDBBindingsBase {
@@ -20082,7 +20053,7 @@ return true;`);
20082
20053
  super(logger, runtime, mainModuleURL, pthreadWorkerURL);
20083
20054
  }
20084
20055
  instantiateImpl(moduleOverrides) {
20085
- return duckdb_wasm_default({
20056
+ return duckdb_default({
20086
20057
  ...moduleOverrides,
20087
20058
  instantiateWasm: this.instantiateWasm.bind(this),
20088
20059
  locateFile: this.locateFile.bind(this)
@@ -20404,28 +20375,9 @@ return true;`);
20404
20375
  const stmt = await this._bindings.createPrepared(this._conn, text);
20405
20376
  return new AsyncPreparedStatement(this._bindings, this._conn, stmt);
20406
20377
  }
20407
- async insertArrowVectors(children, options) {
20408
- await this.insertArrowTable(import_Arrow.Table.new(children), options);
20409
- }
20410
20378
  async insertArrowTable(table, options) {
20411
- if (table.schema.fields.length == 0) {
20412
- console.warn("The schema is empty! If you used arrow.Table.from, consider constructing schema and batches manually");
20413
- }
20414
- await this.insertArrowBatches(table.schema, table.chunks, options);
20415
- }
20416
- async insertArrowBatches(schema, batches, options) {
20417
- const buffer = new IPCBuffer();
20418
- const writer = new import_Arrow.RecordBatchStreamWriter().reset(buffer, schema);
20419
- let first = true;
20420
- for (const batch of batches) {
20421
- if (!first) {
20422
- await this._bindings.insertArrowFromIPCStream(this._conn, buffer.flush(), options);
20423
- }
20424
- first = false;
20425
- writer.write(batch);
20426
- }
20427
- writer.finish();
20428
- await this._bindings.insertArrowFromIPCStream(this._conn, buffer.flush(), options);
20379
+ const buffer = table.serialize("binary", true);
20380
+ await this.insertArrowFromIPCStream(buffer, options);
20429
20381
  }
20430
20382
  async insertArrowFromIPCStream(buffer, options) {
20431
20383
  await this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);
@@ -20891,6 +20843,8 @@ return true;`);
20891
20843
  await this.postTask(task);
20892
20844
  }
20893
20845
  async insertArrowFromIPCStream(conn, buffer, options) {
20846
+ if (buffer.length == 0)
20847
+ return;
20894
20848
  const task = new WorkerTask(WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM, [conn, buffer, options]);
20895
20849
  await this.postTask(task, [buffer.buffer]);
20896
20850
  }
@@ -20936,19 +20890,36 @@ return true;`);
20936
20890
 
20937
20891
  // package.json
20938
20892
  var name = "@duckdb/duckdb-wasm";
20939
- var version = "0.1.13-dev8.0";
20893
+ var version = "0.1.13";
20940
20894
  var description = "DuckDB powered by WebAssembly";
20941
20895
  var license = "MPL-2.0";
20942
20896
  var repository = {
20943
20897
  type: "git",
20944
20898
  url: "https://github.com/duckdb/duckdb-wasm.git"
20945
20899
  };
20900
+ var keywords = [
20901
+ "sql",
20902
+ "duckdb",
20903
+ "relational",
20904
+ "database",
20905
+ "data",
20906
+ "query",
20907
+ "wasm",
20908
+ "analytics",
20909
+ "olap",
20910
+ "arrow",
20911
+ "parquet",
20912
+ "json",
20913
+ "csv"
20914
+ ];
20946
20915
  var dependencies = {
20947
20916
  "apache-arrow": "^6.0.1",
20948
- "wasm-feature-detect": "^1.2.11"
20917
+ "wasm-feature-detect": "^1.2.11",
20918
+ "fast-glob": "^3.2.7",
20919
+ "web-worker": "^1.2.0",
20920
+ "@types/emscripten": "^1.39.4"
20949
20921
  };
20950
20922
  var devDependencies = {
20951
- "@types/emscripten": "^1.39.4",
20952
20923
  "@types/jasmine": "^3.10.2",
20953
20924
  "@typescript-eslint/eslint-plugin": "^5.4.0",
20954
20925
  "@typescript-eslint/parser": "^5.4.0",
@@ -20956,7 +20927,6 @@ return true;`);
20956
20927
  eslint: "^8.2.0",
20957
20928
  "eslint-plugin-jasmine": "^4.1.2",
20958
20929
  "eslint-plugin-react": "^7.27.0",
20959
- "fast-glob": "^3.2.7",
20960
20930
  jasmine: "^3.10.0",
20961
20931
  "jasmine-core": "^3.10.1",
20962
20932
  "jasmine-spec-reporter": "^7.0.0",
@@ -20974,8 +20944,7 @@ return true;`);
20974
20944
  puppeteer: "^11.0.0",
20975
20945
  rimraf: "^3.0.2",
20976
20946
  typedoc: "^0.22.9",
20977
- typescript: "^4.5.2",
20978
- "web-worker": "^1.2.0"
20947
+ typescript: "^4.5.2"
20979
20948
  };
20980
20949
  var optionalDependencies = {
20981
20950
  fsevents: "*"
@@ -21002,11 +20971,11 @@ return true;`);
21002
20971
  "dist",
21003
20972
  "!dist/types/test"
21004
20973
  ];
21005
- var main_ = "./dist/duckdb-node.cjs";
21006
- var module = "./dist/duckdb.mjs";
21007
- var types = "./dist/duckdb.d.ts";
20974
+ var main_ = "dist/duckdb-browser.mjs";
20975
+ var types = "dist/duckdb-browser.d.ts";
20976
+ var jsdelivr = "dist/duckdb-browser.mjs";
20977
+ var unpkg = "dist/duckdb-browser.mjs";
21008
20978
  var browser = {
21009
- "./dist/duckdb-node.cjs": "./dist/duckdb-browser.js",
21010
20979
  fs: false,
21011
20980
  path: false,
21012
20981
  perf_hooks: false,
@@ -21017,63 +20986,36 @@ return true;`);
21017
20986
  "./dist/duckdb.wasm": "./dist/duckdb.wasm",
21018
20987
  "./dist/duckdb-next.wasm": "./dist/duckdb-next.wasm",
21019
20988
  "./dist/duckdb-next-coi.wasm": "./dist/duckdb-next-coi.wasm",
21020
- "./dist/duckdb-browser": "./dist/duckdb-browser.js",
21021
- "./dist/duckdb-browser-blocking": "./dist/duckdb-browser-blocking.js",
21022
- "./dist/duckdb-browser-next": "./dist/duckdb-browser-next.js",
21023
- "./dist/duckdb-browser-next-coi": "./dist/duckdb-browser-next-coi.js",
20989
+ "./dist/duckdb-browser": "./dist/duckdb-browser.mjs",
20990
+ "./dist/duckdb-browser-blocking": "./dist/duckdb-browser-blocking.mjs",
21024
20991
  "./dist/duckdb-browser-next-coi.pthread.worker.js": "./dist/duckdb-browser-next-coi.pthread.worker.js",
21025
20992
  "./dist/duckdb-browser-next-coi.worker.js": "./dist/duckdb-browser-next-coi.worker.js",
21026
20993
  "./dist/duckdb-browser-next.worker.js": "./dist/duckdb-browser-next.worker.js",
21027
20994
  "./dist/duckdb-browser.worker.js": "./dist/duckdb-browser.worker.js",
21028
20995
  "./dist/duckdb-node": "./dist/duckdb-node.cjs",
21029
20996
  "./dist/duckdb-node-blocking": "./dist/duckdb-node-blocking.cjs",
21030
- "./dist/duckdb-node-next": "./dist/duckdb-node-next.cjs",
21031
- "./dist/duckdb-node-next.worker.js": "./dist/duckdb-node-next.worker.js",
21032
- "./dist/duckdb-node.worker.js": "./dist/duckdb-node.worker.js",
21033
- "./next-coi": {
21034
- browser: {
21035
- types: "./dist/duckdb-browser-next-coi.d.ts",
21036
- script: "./dist/duckdb-browser-next-coi.js",
21037
- default: "./dist/duckdb-browser-next-coi.js"
21038
- }
21039
- },
21040
- "./next": {
21041
- browser: {
21042
- types: "./dist/duckdb-browser-next.d.ts",
21043
- script: "./dist/duckdb-browser-next.js",
21044
- default: "./dist/duckdb-browser-next.js"
21045
- },
21046
- node: {
21047
- types: "./dist/duckdb-node-next.d.ts",
21048
- require: "./dist/duckdb-node-next.cjs",
21049
- default: "./dist/duckdb-node-next.cjs"
21050
- }
21051
- },
20997
+ "./dist/duckdb-node-next.worker.cjs": "./dist/duckdb-node-next.worker.cjs",
20998
+ "./dist/duckdb-node.worker.cjs": "./dist/duckdb-node.worker.cjs",
21052
20999
  "./blocking": {
21053
21000
  browser: {
21054
21001
  types: "./dist/duckdb-browser-blocking.d.ts",
21055
- script: "./dist/duckdb-browser-blocking.js",
21056
- default: "./dist/duckdb-browser-blocking.js"
21002
+ import: "./dist/duckdb-browser-blocking.mjs"
21057
21003
  },
21058
21004
  node: {
21059
21005
  types: "./dist/duckdb-node-blocking.d.ts",
21060
21006
  require: "./dist/duckdb-node-blocking.cjs",
21061
- default: "./dist/duckdb-node-blocking.cjs"
21007
+ import: "./dist/duckdb-node-blocking.cjs"
21062
21008
  }
21063
21009
  },
21064
21010
  ".": {
21065
- types: "./dist/duckdb.d.ts",
21066
- import: "./dist/duckdb.mjs",
21067
- module: "./dist/duckdb.mjs",
21068
21011
  browser: {
21069
21012
  types: "./dist/duckdb-browser.d.ts",
21070
- script: "./dist/duckdb-browser.js",
21071
- default: "./dist/duckdb-browser.js"
21013
+ import: "./dist/duckdb-browser.mjs"
21072
21014
  },
21073
21015
  node: {
21074
21016
  types: "./dist/duckdb-node.d.ts",
21075
21017
  require: "./dist/duckdb-node.cjs",
21076
- default: "./dist/duckdb-node.cjs"
21018
+ import: "./dist/duckdb-node.cjs"
21077
21019
  }
21078
21020
  }
21079
21021
  };
@@ -21083,14 +21025,16 @@ return true;`);
21083
21025
  description,
21084
21026
  license,
21085
21027
  repository,
21028
+ keywords,
21086
21029
  dependencies,
21087
21030
  devDependencies,
21088
21031
  optionalDependencies,
21089
21032
  scripts,
21090
21033
  files,
21091
21034
  "main:": main_,
21092
- module,
21093
21035
  types,
21036
+ jsdelivr,
21037
+ unpkg,
21094
21038
  browser,
21095
21039
  exports
21096
21040
  };
@@ -22155,32 +22099,6 @@ return true;`);
22155
22099
  }
22156
22100
 
22157
22101
  // test/insert_arrow.test.ts
22158
- function generateXInt32(n, cols) {
22159
- const columns = [];
22160
- for (let j = 0; j < cols; ++j) {
22161
- const column = [];
22162
- for (let i = 0; i < n; ++i) {
22163
- column.push(i);
22164
- }
22165
- columns.push(column);
22166
- }
22167
- return columns;
22168
- }
22169
- function generateArrowXInt32(n, cols) {
22170
- const columns = generateXInt32(n, cols);
22171
- const fields = [];
22172
- for (let j = 0; j < cols; ++j) {
22173
- fields.push(new import_Arrow.Field(`v${j}`, new import_Arrow.Int32()));
22174
- }
22175
- const schema = new import_Arrow.Schema(fields);
22176
- const batches = [];
22177
- for (let i = 0; i < n; ) {
22178
- const rows = Math.min(1e3, n - i);
22179
- batches.push(new import_Arrow.RecordBatch(schema, rows, columns.map((c) => import_Arrow.Int32Vector.from(c.slice(i, i + n)))));
22180
- i += rows;
22181
- }
22182
- return [schema, batches];
22183
- }
22184
22102
  var ARROW_INSERT_TESTS = [
22185
22103
  {
22186
22104
  name: "integers_1",
@@ -22290,42 +22208,13 @@ return true;`);
22290
22208
  for (const test of ARROW_INSERT_TESTS) {
22291
22209
  it(test.name, () => {
22292
22210
  conn.query(`DROP TABLE IF EXISTS ${test.options.schema || "main"}.${test.options.name}`);
22293
- conn.insertArrowBatches(test.schema, test.batches.map((b) => new import_Arrow.RecordBatch(test.schema, b.numRows, b.columns)), test.options);
22211
+ const table = new import_Arrow.Table(test.schema, test.batches.map((b) => new import_Arrow.RecordBatch(test.schema, b.numRows, b.columns)));
22212
+ conn.insertArrowTable(table, test.options);
22294
22213
  const results = conn.query(test.query);
22295
22214
  compareTable(results, test.expectedColumns);
22296
22215
  });
22297
22216
  }
22298
22217
  });
22299
- describe("Arrow insert from vectors", () => {
22300
- it("simple integers", () => {
22301
- conn.query(`DROP TABLE IF EXISTS insert_from_vectors`);
22302
- conn.insertArrowVectors({
22303
- a: import_Arrow.Int32Vector.from([1, 4, 7]),
22304
- b: import_Arrow.Int32Vector.from([2, 5, 8]),
22305
- c: import_Arrow.Utf8Vector.from(["3", "6", "9"])
22306
- }, {
22307
- name: "insert_from_vectors"
22308
- });
22309
- const results = conn.query("select * from insert_from_vectors");
22310
- compareTable(results, [
22311
- { name: "a", values: [1, 4, 7] },
22312
- { name: "b", values: [2, 5, 8] },
22313
- { name: "c", values: ["3", "6", "9"] }
22314
- ]);
22315
- conn.query(`DROP TABLE IF EXISTS insert_from_vectors`);
22316
- });
22317
- });
22318
- describe("Arrow benchmark inserts", () => {
22319
- it("generated integer batches", () => {
22320
- conn.query(`DROP TABLE IF EXISTS insert_generated_batches`);
22321
- const [schema, batches] = generateArrowXInt32(1e4, 2);
22322
- conn.insertArrowBatches(schema, batches, {
22323
- schema: "main",
22324
- name: "insert_generated_batches"
22325
- });
22326
- conn.query(`DROP TABLE IF EXISTS insert_generated_batches`);
22327
- });
22328
- });
22329
22218
  }
22330
22219
  function testArrowInsertAsync(db2) {
22331
22220
  let conn;
@@ -22338,24 +22227,26 @@ return true;`);
22338
22227
  await db2().flushFiles();
22339
22228
  await db2().dropFiles();
22340
22229
  });
22341
- describe("Arrow insert from iterable", () => {
22230
+ describe("Arrow async insert from iterable", () => {
22342
22231
  for (const test of ARROW_INSERT_TESTS) {
22343
22232
  it(test.name, async () => {
22344
22233
  await conn.query(`DROP TABLE IF EXISTS ${test.options.schema || "main"}.${test.options.name}`);
22345
- await conn.insertArrowBatches(test.schema, test.batches.map((b) => new import_Arrow.RecordBatch(test.schema, b.numRows, b.columns)), test.options);
22234
+ const table = new import_Arrow.Table(test.schema, test.batches.map((b) => new import_Arrow.RecordBatch(test.schema, b.numRows, b.columns)));
22235
+ await conn.insertArrowTable(table, test.options);
22346
22236
  const results = await conn.query(test.query);
22347
22237
  compareTable(results, test.expectedColumns);
22348
22238
  });
22349
22239
  }
22350
22240
  });
22351
- describe("Arrow insert from vectors", () => {
22241
+ describe("Arrow async insert from table", () => {
22352
22242
  it("simple integers", async () => {
22353
- await conn.query(`DROP TABLE IF EXISTS insert_from_vectors`);
22354
- await conn.insertArrowVectors({
22355
- a: import_Arrow.Int32Vector.from([1, 4, 7]),
22356
- b: import_Arrow.Int32Vector.from([2, 5, 8]),
22357
- c: import_Arrow.Utf8Vector.from(["3", "6", "9"])
22358
- }, {
22243
+ await conn.query(`DROP TABLE IF EXISTS insert_from_table`);
22244
+ const table = import_Arrow.Table.new([
22245
+ import_Arrow.Int32Vector.from([1, 4, 7]),
22246
+ import_Arrow.Int32Vector.from([2, 5, 8]),
22247
+ import_Arrow.Utf8Vector.from(["3", "6", "9"])
22248
+ ], ["a", "b", "c"]);
22249
+ await conn.insertArrowTable(table, {
22359
22250
  name: "insert_from_vectors"
22360
22251
  });
22361
22252
  const results = await conn.query("select * from insert_from_vectors");