duckdb 0.6.2-dev529.0 → 0.6.2-dev551.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 (29) hide show
  1. package/.mocharc.json +2 -2
  2. package/lib/duckdb.d.ts +29 -11
  3. package/lib/duckdb.js +6 -0
  4. package/package.json +1 -1
  5. package/src/duckdb.hpp +2 -2
  6. package/src/parquet-amalgamation.cpp +36726 -36726
  7. package/test/{affected.test.js → affected.test.ts} +8 -10
  8. package/test/{arrow.test.js → arrow.test.ts} +12 -11
  9. package/test/{data_type_support.test.js → data_type_support.test.ts} +36 -35
  10. package/test/{database_fail.test.js → database_fail.test.ts} +25 -24
  11. package/test/{each.test.js → each.test.ts} +10 -9
  12. package/test/{exec.test.js → exec.test.ts} +7 -6
  13. package/test/{extension.test.js → extension.test.ts} +20 -19
  14. package/test/{interrupt.test.js → interrupt.test.ts} +7 -7
  15. package/test/{jsdoc.test.js → jsdoc.test.ts} +19 -20
  16. package/test/{named_columns.test.js → named_columns.test.ts} +4 -6
  17. package/test/{null_error.test.js → null_error.test.ts} +5 -6
  18. package/test/{open_close.test.js → open_close.test.ts} +10 -10
  19. package/test/{parallel_insert.test.js → parallel_insert.test.ts} +6 -7
  20. package/test/{parquet.js → parquet.test.ts} +2 -4
  21. package/test/{pathnames.test.js → pathnames.test.ts} +24 -22
  22. package/test/{prepare.test.js → prepare.test.ts} +53 -50
  23. package/test/{query_result.test.js → query_result.test.ts} +4 -4
  24. package/test/{serialization.test.js → serialization.test.ts} +10 -9
  25. package/test/support/helper.ts +42 -0
  26. package/test/{syntax_error.test.js → syntax_error.test.ts} +4 -4
  27. package/test/{udf.test.js → udf.test.ts} +26 -25
  28. package/test/{unicode.test.js → unicode.test.ts} +23 -22
  29. package/test/support/helper.js +0 -37
@@ -1,16 +1,17 @@
1
- var duckdb = require('..');
2
- var assert = require('assert');
1
+ import * as duckdb from "..";
2
+ import {TableData} from "..";
3
+ import * as assert from 'assert';
3
4
 
4
5
  describe('UDFs', function() {
5
6
  describe('arity', function() {
6
- var db;
7
+ let db: duckdb.Database;
7
8
  before(function(done) {
8
9
  db = new duckdb.Database(':memory:', done);
9
10
  });
10
11
 
11
12
  it('0ary int', function(done) {
12
13
  db.register_udf("udf", "integer", () => 42);
13
- db.all("select udf() v", function(err, rows) {
14
+ db.all("select udf() v", function(err: Error | null, rows: TableData) {
14
15
  if (err) throw err;
15
16
  assert.equal(rows[0].v, 42);
16
17
  });
@@ -19,7 +20,7 @@ describe('UDFs', function() {
19
20
 
20
21
  it('0ary double', function(done) {
21
22
  db.register_udf("udf", "double", () => 4.2);
22
- db.all("select udf() v", function(err, rows) {
23
+ db.all("select udf() v", function(err: null | Error, rows: TableData) {
23
24
  if (err) throw err;
24
25
  assert.equal(rows[0].v, 4.2);
25
26
  });
@@ -28,7 +29,7 @@ describe('UDFs', function() {
28
29
 
29
30
  it('0ary string', function(done) {
30
31
  db.register_udf("udf", "varchar", () => 'hello');
31
- db.all("select udf() v", function(err, rows) {
32
+ db.all("select udf() v", function(err: null | Error, rows: TableData) {
32
33
  if (err) throw err;
33
34
  assert.equal(rows[0].v, 'hello');
34
35
  });
@@ -37,7 +38,7 @@ describe('UDFs', function() {
37
38
 
38
39
  it('0ary int null', function(done) {
39
40
  db.register_udf("udf", "integer", () => undefined);
40
- db.all("select udf() v", function(err, rows) {
41
+ db.all("select udf() v", function(err: null | Error, rows: TableData) {
41
42
  if (err) throw err;
42
43
  assert.equal(rows[0].v, undefined);
43
44
  });
@@ -47,7 +48,7 @@ describe('UDFs', function() {
47
48
 
48
49
  it('0ary string null', function(done) {
49
50
  db.register_udf("udf", "varchar", () => undefined);
50
- db.all("select udf() v", function(err, rows) {
51
+ db.all("select udf() v", function(err: null | Error, rows: TableData) {
51
52
  if (err) throw err;
52
53
  assert.equal(rows[0].v, undefined);
53
54
  });
@@ -57,7 +58,7 @@ describe('UDFs', function() {
57
58
 
58
59
  it('unary int', function(done) {
59
60
  db.register_udf("udf", "integer", (x) => x+1);
60
- db.all("select udf(42) v", function(err, rows) {
61
+ db.all("select udf(42) v", function(err: null | Error, rows: TableData) {
61
62
  if (err) throw err;
62
63
  assert.equal(rows[0].v, 43);
63
64
  });
@@ -66,7 +67,7 @@ describe('UDFs', function() {
66
67
 
67
68
  it('unary double', function(done) {
68
69
  db.register_udf("udf", "double", (x) => x);
69
- db.all("select udf(4.2::double) v", function(err, rows) {
70
+ db.all("select udf(4.2::double) v", function(err: null | Error, rows: TableData) {
70
71
  if (err) throw err;
71
72
  assert.equal(rows[0].v, 4.2);
72
73
  });
@@ -75,7 +76,7 @@ describe('UDFs', function() {
75
76
 
76
77
  it('unary int null', function(done) {
77
78
  db.register_udf("udf", "integer", (x) => undefined);
78
- db.all("select udf(42) v", function(err, rows) {
79
+ db.all("select udf(42) v", function(err: null | Error, rows: TableData) {
79
80
  if (err) throw err;
80
81
  assert.equal(rows[0].v, undefined);
81
82
  });
@@ -85,7 +86,7 @@ describe('UDFs', function() {
85
86
 
86
87
  it('unary double null', function(done) {
87
88
  db.register_udf("udf", "double", (x) => undefined);
88
- db.all("select udf(4.2::double) v", function(err, rows) {
89
+ db.all("select udf(4.2::double) v", function(err: null | Error, rows: TableData) {
89
90
  if (err) throw err;
90
91
  assert.equal(rows[0].v, undefined);
91
92
  });
@@ -95,7 +96,7 @@ describe('UDFs', function() {
95
96
 
96
97
  it('unary string', function(done) {
97
98
  db.register_udf("udf", "varchar", (x) => 'hello ' + x);
98
- db.all("select udf('world') v", function(err, rows) {
99
+ db.all("select udf('world') v", function(err: null | Error, rows: TableData) {
99
100
  if (err) throw err;
100
101
  assert.equal(rows[0].v, 'hello world');
101
102
  });
@@ -104,7 +105,7 @@ describe('UDFs', function() {
104
105
 
105
106
  it('unary string null', function(done) {
106
107
  db.register_udf("udf", "varchar", (x) => undefined);
107
- db.all("select udf('world') v", function(err, rows) {
108
+ db.all("select udf('world') v", function(err: null | Error, rows: TableData) {
108
109
  if (err) throw err;
109
110
  assert.equal(rows[0].v, undefined);
110
111
  });
@@ -113,7 +114,7 @@ describe('UDFs', function() {
113
114
 
114
115
  it('binary int', function(done) {
115
116
  db.register_udf("udf", "integer", (x, y) => x + y);
116
- db.all("select udf(40, 2) v", function(err, rows) {
117
+ db.all("select udf(40, 2) v", function(err: null | Error, rows: TableData) {
117
118
  if (err) throw err;
118
119
  assert.equal(rows[0].v, 42);
119
120
  });
@@ -122,7 +123,7 @@ describe('UDFs', function() {
122
123
 
123
124
  it('binary string', function(done) {
124
125
  db.register_udf("udf", "varchar", (x, y) => x + ' ' + y);
125
- db.all("select udf('hello', 'world') v", function(err, rows) {
126
+ db.all("select udf('hello', 'world') v", function(err: null | Error, rows: TableData) {
126
127
  if (err) throw err;
127
128
  assert.equal(rows[0].v, 'hello world');
128
129
  });
@@ -131,7 +132,7 @@ describe('UDFs', function() {
131
132
 
132
133
  it('ternary int', function(done) {
133
134
  db.register_udf("udf", "integer", (x, y, z) => x + y + z);
134
- db.all("select udf(21, 20, 1) v", function(err, rows) {
135
+ db.all("select udf(21, 20, 1) v", function(err: null | Error, rows: TableData) {
135
136
  if (err) throw err;
136
137
  assert.equal(rows[0].v, 42);
137
138
  });
@@ -140,7 +141,7 @@ describe('UDFs', function() {
140
141
 
141
142
  it('unary larger series', function(done) {
142
143
  db.register_udf("udf", "integer", (x) => 1);
143
- db.all("select sum(udf(range::double)) v from range(10000)", function(err, rows) {
144
+ db.all("select sum(udf(range::double)) v from range(10000)", function(err: null | Error, rows: TableData) {
144
145
  if (err) throw err;
145
146
  assert.equal(rows[0].v, 10000);
146
147
  });
@@ -149,14 +150,14 @@ describe('UDFs', function() {
149
150
  });
150
151
 
151
152
  describe('types', function() {
152
- var db;
153
+ var db: duckdb.Database;
153
154
  before(function(done) {
154
155
  db = new duckdb.Database(':memory:', done);
155
156
  });
156
157
 
157
158
  it('tinyint', function(done) {
158
159
  db.register_udf("udf", "integer", (x) => x+1);
159
- db.all("select udf(42::tinyint) v", function(err, rows) {
160
+ db.all("select udf(42::tinyint) v", function(err: null | Error, rows: TableData) {
160
161
  if (err) throw err;
161
162
  assert.equal(rows[0].v, 43);
162
163
  });
@@ -165,7 +166,7 @@ describe('UDFs', function() {
165
166
 
166
167
  it('smallint', function(done) {
167
168
  db.register_udf("udf", "integer", (x) => x+1);
168
- db.all("select udf(42::smallint) v", function(err, rows) {
169
+ db.all("select udf(42::smallint) v", function(err: null | Error, rows: TableData) {
169
170
  if (err) throw err;
170
171
  assert.equal(rows[0].v, 43);
171
172
  });
@@ -174,7 +175,7 @@ describe('UDFs', function() {
174
175
 
175
176
  it('int', function(done) {
176
177
  db.register_udf("udf", "integer", (x) => x+1);
177
- db.all("select udf(42::integer) v", function(err, rows) {
178
+ db.all("select udf(42::integer) v", function(err: null | Error, rows: TableData) {
178
179
  if (err) throw err;
179
180
  assert.equal(rows[0].v, 43);
180
181
  });
@@ -183,7 +184,7 @@ describe('UDFs', function() {
183
184
 
184
185
  it('timestamp', function(done) {
185
186
  db.register_udf("udf", "timestamp", (x) => x);
186
- db.all("select udf(timestamp '1992-09-20 11:30:00') v", function(err, rows) {
187
+ db.all("select udf(timestamp '1992-09-20 11:30:00') v", function(err: null | Error, rows: TableData) {
187
188
  if (err) throw err;
188
189
  });
189
190
  db.unregister_udf("udf", done);
@@ -193,7 +194,7 @@ describe('UDFs', function() {
193
194
  db.register_udf("udf", "integer", a => {
194
195
  return (a.x == null ? -100 : a.x);
195
196
  });
196
- db.all("SELECT min(udf({'x': (case when v % 2 = 0 then v else null end)::INTEGER, 'y': 42}))::INTEGER as foo FROM generate_series(1, 10000) as t(v)", function(err, rows) {
197
+ db.all("SELECT min(udf({'x': (case when v % 2 = 0 then v else null end)::INTEGER, 'y': 42}))::INTEGER as foo FROM generate_series(1, 10000) as t(v)", function(err: null | Error, rows: TableData) {
197
198
  if (err) throw err;
198
199
  assert.equal(rows[0].foo, -100);
199
200
  });
@@ -204,7 +205,7 @@ describe('UDFs', function() {
204
205
  db.register_udf("udf", "integer", a => {
205
206
  return (a.x == null ? -100 : a.x.y);
206
207
  });
207
- db.all("SELECT min(udf({'x': (case when v % 2 = 0 then {'y': v::INTEGER } else null end), 'z': 42}))::INTEGER as foo FROM generate_series(1, 10000) as t(v)", function(err, rows) {
208
+ db.all("SELECT min(udf({'x': (case when v % 2 = 0 then {'y': v::INTEGER } else null end), 'z': 42}))::INTEGER as foo FROM generate_series(1, 10000) as t(v)", function(err: null | Error, rows: TableData) {
208
209
  if (err) throw err;
209
210
  assert.equal(rows[0].foo, -100);
210
211
  });
@@ -1,13 +1,14 @@
1
- var sqlite3 = require('..');
2
- var assert = require('assert');
1
+ import * as sqlite3 from '..';
2
+ import {TableData} from "..";
3
+ import * as assert from 'assert';
3
4
 
4
5
  describe('unicode', function() {
5
- var first_values = [],
6
- trailing_values = [],
7
- subranges = new Array(2),
8
- len = subranges.length,
9
- db,
10
- i;
6
+ let i;
7
+ let first_values: number[] = [],
8
+ trailing_values: number[] = [],
9
+ subranges = new Array(2),
10
+ len = subranges.length,
11
+ db: sqlite3.Database;
11
12
 
12
13
  before(function(done) { db = new sqlite3.Database(':memory:', done); });
13
14
 
@@ -35,12 +36,12 @@ describe('unicode', function() {
35
36
  subranges[1].push(i);
36
37
  }
37
38
 
38
- function random_choice(arr) {
39
+ function random_choice(arr: number[]) {
39
40
  return arr[Math.random() * arr.length | 0];
40
41
  }
41
42
 
42
43
  function random_utf8() {
43
- var first = random_choice(first_values);
44
+ const first = random_choice(first_values);
44
45
 
45
46
  if (first < 0x80) {
46
47
  return String.fromCharCode(first);
@@ -56,8 +57,8 @@ describe('unicode', function() {
56
57
  }
57
58
 
58
59
  function randomString() {
59
- var str = '',
60
- i;
60
+ let str = '',
61
+ i;
61
62
 
62
63
  for (i = Math.random() * 300; i > 0; i--) {
63
64
  str += random_utf8();
@@ -68,23 +69,23 @@ describe('unicode', function() {
68
69
 
69
70
 
70
71
  // Generate random data.
71
- var data = [];
72
- var length = Math.floor(Math.random() * 1000) + 200;
73
- for (var i = 0; i < length; i++) {
72
+ const data: string[] = [];
73
+ const length = Math.floor(Math.random() * 1000) + 200;
74
+ for (i = 0; i < length; i++) {
74
75
  data.push(randomString());
75
76
  }
76
77
 
77
- var inserted = 0;
78
- var retrieved = 0;
78
+ let inserted = 0;
79
+ let retrieved = 0;
79
80
 
80
81
  it('should create the table', function(done) {
81
82
  db.run("CREATE TABLE foo (id int, txt text)", done);
82
83
  });
83
84
 
84
85
  it('should insert all values', function(done) {
85
- var stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
86
- for (var i = 0; i < data.length; i++) {
87
- stmt.run(i, data[i], function(err) {
86
+ const stmt = db.prepare("INSERT INTO foo VALUES(?, ?)");
87
+ for (let i = 0; i < data.length; i++) {
88
+ stmt.run(i, data[i], function(err: null | Error) {
88
89
  if (err) throw err;
89
90
  inserted++;
90
91
  });
@@ -93,10 +94,10 @@ describe('unicode', function() {
93
94
  });
94
95
 
95
96
  it('should retrieve all values', function(done) {
96
- db.all("SELECT txt FROM foo ORDER BY id", function(err, rows) {
97
+ db.all("SELECT txt FROM foo ORDER BY id", function(err: null | Error, rows: TableData) {
97
98
  if (err) throw err;
98
99
 
99
- for (var i = 0; i < rows.length; i++) {
100
+ for (let i = 0; i < rows.length; i++) {
100
101
  assert.equal(rows[i].txt, data[i]);
101
102
  retrieved++;
102
103
  }
@@ -1,37 +0,0 @@
1
- var assert = require('assert');
2
- var fs = require('fs');
3
- var pathExists = require('fs').existsSync || require('path').existsSync;
4
-
5
- exports.deleteFile = function(name) {
6
- try {
7
- fs.unlinkSync(name);
8
- } catch(err) {
9
- if (err.errno !== process.ENOENT && err.code !== 'ENOENT' && err.syscall !== 'unlink') {
10
- throw err;
11
- }
12
- }
13
- };
14
-
15
- exports.ensureExists = function(name,cb) {
16
- if (!pathExists(name)) {
17
- fs.mkdirSync(name);
18
- };
19
- }
20
-
21
- assert.fileDoesNotExist = function(name) {
22
- try {
23
- fs.statSync(name);
24
- } catch(err) {
25
- if (err.errno !== process.ENOENT && err.code !== 'ENOENT' && err.syscall !== 'unlink') {
26
- throw err;
27
- }
28
- }
29
- };
30
-
31
- assert.fileExists = function(name) {
32
- try {
33
- fs.statSync(name);
34
- } catch(err) {
35
- throw err;
36
- }
37
- };