@duckdb/node-api 1.1.3-alpha.8 → 1.1.3-alpha.9
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.
- package/LICENSE +1 -1
- package/README.md +59 -3
- package/lib/DuckDBConnection.d.ts +13 -11
- package/lib/DuckDBConnection.js +33 -17
- package/lib/DuckDBDataChunk.d.ts +5 -1
- package/lib/DuckDBDataChunk.js +35 -2
- package/lib/DuckDBPreparedStatement.d.ts +9 -1
- package/lib/DuckDBPreparedStatement.js +41 -10
- package/lib/DuckDBType.d.ts +111 -2
- package/lib/DuckDBType.js +363 -12
- package/lib/DuckDBVector.d.ts +197 -61
- package/lib/DuckDBVector.js +1067 -177
- package/lib/conversion/bytesFromString.d.ts +1 -0
- package/lib/conversion/bytesFromString.js +7 -0
- package/lib/createValue.d.ts +4 -0
- package/lib/createValue.js +159 -0
- package/lib/typeForValue.d.ts +3 -0
- package/lib/typeForValue.js +83 -0
- package/lib/values/DuckDBBlobValue.d.ts +1 -1
- package/lib/values/DuckDBBlobValue.js +7 -4
- package/package.json +2 -2
package/lib/DuckDBType.js
CHANGED
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.DuckDBStructType = exports.DuckDBListType = exports.DuckDBEnumType = exports.TIMESTAMP_NS = exports.DuckDBTimestampNanosecondsType = exports.TIMESTAMP_MS = exports.DuckDBTimestampMillisecondsType = exports.TIMESTAMP_S = exports.DuckDBTimestampSecondsType = exports.DuckDBDecimalType = exports.BLOB = exports.DuckDBBlobType = exports.VARCHAR = exports.DuckDBVarCharType = exports.UHUGEINT = exports.DuckDBUHugeIntType = exports.HUGEINT = exports.DuckDBHugeIntType = exports.INTERVAL = exports.DuckDBIntervalType = exports.TIME = exports.DuckDBTimeType = exports.DATE = exports.DuckDBDateType = exports.DuckDBTimestampMicrosecondsType = exports.TIMESTAMP = exports.DuckDBTimestampType = exports.DOUBLE = exports.DuckDBDoubleType = exports.FLOAT = exports.DuckDBFloatType = exports.UBIGINT = exports.DuckDBUBigIntType = exports.UINTEGER = exports.DuckDBUIntegerType = exports.USMALLINT = exports.DuckDBUSmallIntType = exports.UTINYINT = exports.DuckDBUTinyIntType = exports.BIGINT = exports.DuckDBBigIntType = exports.INTEGER = exports.DuckDBIntegerType = exports.SMALLINT = exports.DuckDBSmallIntType = exports.TINYINT = exports.DuckDBTinyIntType = exports.BOOLEAN = exports.DuckDBBooleanType = exports.BaseDuckDBType = void 0;
|
|
7
|
+
exports.SQLNULL = exports.DuckDBSQLNullType = exports.VARINT = exports.DuckDBVarIntType = exports.ANY = exports.DuckDBAnyType = exports.TIMESTAMPTZ = exports.DuckDBTimestampTZType = exports.TIMETZ = exports.DuckDBTimeTZType = exports.BIT = exports.DuckDBBitType = exports.DuckDBUnionType = exports.UUID = exports.DuckDBUUIDType = exports.DuckDBArrayType = exports.DuckDBMapType = void 0;
|
|
8
|
+
exports.DECIMAL = DECIMAL;
|
|
9
|
+
exports.ENUM8 = ENUM8;
|
|
10
|
+
exports.ENUM16 = ENUM16;
|
|
11
|
+
exports.ENUM32 = ENUM32;
|
|
12
|
+
exports.ENUM = ENUM;
|
|
13
|
+
exports.LIST = LIST;
|
|
14
|
+
exports.STRUCT = STRUCT;
|
|
15
|
+
exports.MAP = MAP;
|
|
16
|
+
exports.ARRAY = ARRAY;
|
|
17
|
+
exports.UNION = UNION;
|
|
18
|
+
const node_bindings_1 = __importDefault(require("@duckdb/node-bindings"));
|
|
19
|
+
const DuckDBLogicalType_1 = require("./DuckDBLogicalType");
|
|
4
20
|
const DuckDBTypeId_1 = require("./DuckDBTypeId");
|
|
5
21
|
const sql_1 = require("./sql");
|
|
22
|
+
const values_1 = require("./values");
|
|
6
23
|
class BaseDuckDBType {
|
|
7
24
|
typeId;
|
|
8
25
|
alias;
|
|
@@ -13,6 +30,13 @@ class BaseDuckDBType {
|
|
|
13
30
|
toString() {
|
|
14
31
|
return DuckDBTypeId_1.DuckDBTypeId[this.typeId];
|
|
15
32
|
}
|
|
33
|
+
toLogicalType() {
|
|
34
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.create(node_bindings_1.default.create_logical_type(this.typeId));
|
|
35
|
+
if (this.alias) {
|
|
36
|
+
logicalType.alias = this.alias;
|
|
37
|
+
}
|
|
38
|
+
return logicalType;
|
|
39
|
+
}
|
|
16
40
|
}
|
|
17
41
|
exports.BaseDuckDBType = BaseDuckDBType;
|
|
18
42
|
class DuckDBBooleanType extends BaseDuckDBType {
|
|
@@ -25,6 +49,7 @@ class DuckDBBooleanType extends BaseDuckDBType {
|
|
|
25
49
|
}
|
|
26
50
|
}
|
|
27
51
|
exports.DuckDBBooleanType = DuckDBBooleanType;
|
|
52
|
+
exports.BOOLEAN = DuckDBBooleanType.instance;
|
|
28
53
|
class DuckDBTinyIntType extends BaseDuckDBType {
|
|
29
54
|
constructor(alias) {
|
|
30
55
|
super(DuckDBTypeId_1.DuckDBTypeId.TINYINT, alias);
|
|
@@ -35,8 +60,15 @@ class DuckDBTinyIntType extends BaseDuckDBType {
|
|
|
35
60
|
}
|
|
36
61
|
static Max = 2 ** 7 - 1;
|
|
37
62
|
static Min = -(2 ** 7);
|
|
63
|
+
get max() {
|
|
64
|
+
return DuckDBTinyIntType.Max;
|
|
65
|
+
}
|
|
66
|
+
get min() {
|
|
67
|
+
return DuckDBTinyIntType.Min;
|
|
68
|
+
}
|
|
38
69
|
}
|
|
39
70
|
exports.DuckDBTinyIntType = DuckDBTinyIntType;
|
|
71
|
+
exports.TINYINT = DuckDBTinyIntType.instance;
|
|
40
72
|
class DuckDBSmallIntType extends BaseDuckDBType {
|
|
41
73
|
constructor(alias) {
|
|
42
74
|
super(DuckDBTypeId_1.DuckDBTypeId.SMALLINT, alias);
|
|
@@ -47,8 +79,15 @@ class DuckDBSmallIntType extends BaseDuckDBType {
|
|
|
47
79
|
}
|
|
48
80
|
static Max = 2 ** 15 - 1;
|
|
49
81
|
static Min = -(2 ** 15);
|
|
82
|
+
get max() {
|
|
83
|
+
return DuckDBSmallIntType.Max;
|
|
84
|
+
}
|
|
85
|
+
get min() {
|
|
86
|
+
return DuckDBSmallIntType.Min;
|
|
87
|
+
}
|
|
50
88
|
}
|
|
51
89
|
exports.DuckDBSmallIntType = DuckDBSmallIntType;
|
|
90
|
+
exports.SMALLINT = DuckDBSmallIntType.instance;
|
|
52
91
|
class DuckDBIntegerType extends BaseDuckDBType {
|
|
53
92
|
constructor(alias) {
|
|
54
93
|
super(DuckDBTypeId_1.DuckDBTypeId.INTEGER, alias);
|
|
@@ -59,8 +98,15 @@ class DuckDBIntegerType extends BaseDuckDBType {
|
|
|
59
98
|
}
|
|
60
99
|
static Max = 2 ** 31 - 1;
|
|
61
100
|
static Min = -(2 ** 31);
|
|
101
|
+
get max() {
|
|
102
|
+
return DuckDBIntegerType.Max;
|
|
103
|
+
}
|
|
104
|
+
get min() {
|
|
105
|
+
return DuckDBIntegerType.Min;
|
|
106
|
+
}
|
|
62
107
|
}
|
|
63
108
|
exports.DuckDBIntegerType = DuckDBIntegerType;
|
|
109
|
+
exports.INTEGER = DuckDBIntegerType.instance;
|
|
64
110
|
class DuckDBBigIntType extends BaseDuckDBType {
|
|
65
111
|
constructor(alias) {
|
|
66
112
|
super(DuckDBTypeId_1.DuckDBTypeId.BIGINT, alias);
|
|
@@ -71,8 +117,15 @@ class DuckDBBigIntType extends BaseDuckDBType {
|
|
|
71
117
|
}
|
|
72
118
|
static Max = 2n ** 63n - 1n;
|
|
73
119
|
static Min = -(2n ** 63n);
|
|
120
|
+
get max() {
|
|
121
|
+
return DuckDBBigIntType.Max;
|
|
122
|
+
}
|
|
123
|
+
get min() {
|
|
124
|
+
return DuckDBBigIntType.Min;
|
|
125
|
+
}
|
|
74
126
|
}
|
|
75
127
|
exports.DuckDBBigIntType = DuckDBBigIntType;
|
|
128
|
+
exports.BIGINT = DuckDBBigIntType.instance;
|
|
76
129
|
class DuckDBUTinyIntType extends BaseDuckDBType {
|
|
77
130
|
constructor(alias) {
|
|
78
131
|
super(DuckDBTypeId_1.DuckDBTypeId.UTINYINT, alias);
|
|
@@ -83,20 +136,36 @@ class DuckDBUTinyIntType extends BaseDuckDBType {
|
|
|
83
136
|
}
|
|
84
137
|
static Max = 2 ** 8 - 1;
|
|
85
138
|
static Min = 0;
|
|
139
|
+
get max() {
|
|
140
|
+
return DuckDBUTinyIntType.Max;
|
|
141
|
+
}
|
|
142
|
+
get min() {
|
|
143
|
+
return DuckDBUTinyIntType.Min;
|
|
144
|
+
}
|
|
86
145
|
}
|
|
87
146
|
exports.DuckDBUTinyIntType = DuckDBUTinyIntType;
|
|
147
|
+
exports.UTINYINT = DuckDBUTinyIntType.instance;
|
|
88
148
|
class DuckDBUSmallIntType extends BaseDuckDBType {
|
|
89
149
|
constructor(alias) {
|
|
90
150
|
super(DuckDBTypeId_1.DuckDBTypeId.USMALLINT, alias);
|
|
91
151
|
}
|
|
92
152
|
static instance = new DuckDBUSmallIntType();
|
|
93
153
|
static create(alias) {
|
|
94
|
-
return alias
|
|
154
|
+
return alias
|
|
155
|
+
? new DuckDBUSmallIntType(alias)
|
|
156
|
+
: DuckDBUSmallIntType.instance;
|
|
95
157
|
}
|
|
96
158
|
static Max = 2 ** 16 - 1;
|
|
97
159
|
static Min = 0;
|
|
160
|
+
get max() {
|
|
161
|
+
return DuckDBUSmallIntType.Max;
|
|
162
|
+
}
|
|
163
|
+
get min() {
|
|
164
|
+
return DuckDBUSmallIntType.Min;
|
|
165
|
+
}
|
|
98
166
|
}
|
|
99
167
|
exports.DuckDBUSmallIntType = DuckDBUSmallIntType;
|
|
168
|
+
exports.USMALLINT = DuckDBUSmallIntType.instance;
|
|
100
169
|
class DuckDBUIntegerType extends BaseDuckDBType {
|
|
101
170
|
constructor(alias) {
|
|
102
171
|
super(DuckDBTypeId_1.DuckDBTypeId.UINTEGER, alias);
|
|
@@ -107,8 +176,15 @@ class DuckDBUIntegerType extends BaseDuckDBType {
|
|
|
107
176
|
}
|
|
108
177
|
static Max = 2 ** 32 - 1;
|
|
109
178
|
static Min = 0;
|
|
179
|
+
get max() {
|
|
180
|
+
return DuckDBUIntegerType.Max;
|
|
181
|
+
}
|
|
182
|
+
get min() {
|
|
183
|
+
return DuckDBUIntegerType.Min;
|
|
184
|
+
}
|
|
110
185
|
}
|
|
111
186
|
exports.DuckDBUIntegerType = DuckDBUIntegerType;
|
|
187
|
+
exports.UINTEGER = DuckDBUIntegerType.instance;
|
|
112
188
|
class DuckDBUBigIntType extends BaseDuckDBType {
|
|
113
189
|
constructor(alias) {
|
|
114
190
|
super(DuckDBTypeId_1.DuckDBTypeId.UBIGINT, alias);
|
|
@@ -119,8 +195,15 @@ class DuckDBUBigIntType extends BaseDuckDBType {
|
|
|
119
195
|
}
|
|
120
196
|
static Max = 2n ** 64n - 1n;
|
|
121
197
|
static Min = 0n;
|
|
198
|
+
get max() {
|
|
199
|
+
return DuckDBUBigIntType.Max;
|
|
200
|
+
}
|
|
201
|
+
get min() {
|
|
202
|
+
return DuckDBUBigIntType.Min;
|
|
203
|
+
}
|
|
122
204
|
}
|
|
123
205
|
exports.DuckDBUBigIntType = DuckDBUBigIntType;
|
|
206
|
+
exports.UBIGINT = DuckDBUBigIntType.instance;
|
|
124
207
|
class DuckDBFloatType extends BaseDuckDBType {
|
|
125
208
|
constructor(alias) {
|
|
126
209
|
super(DuckDBTypeId_1.DuckDBTypeId.FLOAT, alias);
|
|
@@ -129,10 +212,17 @@ class DuckDBFloatType extends BaseDuckDBType {
|
|
|
129
212
|
static create(alias) {
|
|
130
213
|
return alias ? new DuckDBFloatType(alias) : DuckDBFloatType.instance;
|
|
131
214
|
}
|
|
132
|
-
static
|
|
133
|
-
static
|
|
215
|
+
static Max = Math.fround(3.4028235e38);
|
|
216
|
+
static Min = Math.fround(-3.4028235e38);
|
|
217
|
+
get max() {
|
|
218
|
+
return DuckDBFloatType.Max;
|
|
219
|
+
}
|
|
220
|
+
get min() {
|
|
221
|
+
return DuckDBFloatType.Min;
|
|
222
|
+
}
|
|
134
223
|
}
|
|
135
224
|
exports.DuckDBFloatType = DuckDBFloatType;
|
|
225
|
+
exports.FLOAT = DuckDBFloatType.instance;
|
|
136
226
|
class DuckDBDoubleType extends BaseDuckDBType {
|
|
137
227
|
constructor(alias) {
|
|
138
228
|
super(DuckDBTypeId_1.DuckDBTypeId.DOUBLE, alias);
|
|
@@ -141,20 +231,45 @@ class DuckDBDoubleType extends BaseDuckDBType {
|
|
|
141
231
|
static create(alias) {
|
|
142
232
|
return alias ? new DuckDBDoubleType(alias) : DuckDBDoubleType.instance;
|
|
143
233
|
}
|
|
144
|
-
static Min = -Number.MAX_VALUE;
|
|
145
234
|
static Max = Number.MAX_VALUE;
|
|
235
|
+
static Min = -Number.MAX_VALUE;
|
|
236
|
+
get max() {
|
|
237
|
+
return DuckDBDoubleType.Max;
|
|
238
|
+
}
|
|
239
|
+
get min() {
|
|
240
|
+
return DuckDBDoubleType.Min;
|
|
241
|
+
}
|
|
146
242
|
}
|
|
147
243
|
exports.DuckDBDoubleType = DuckDBDoubleType;
|
|
244
|
+
exports.DOUBLE = DuckDBDoubleType.instance;
|
|
148
245
|
class DuckDBTimestampType extends BaseDuckDBType {
|
|
149
246
|
constructor(alias) {
|
|
150
247
|
super(DuckDBTypeId_1.DuckDBTypeId.TIMESTAMP, alias);
|
|
151
248
|
}
|
|
152
249
|
static instance = new DuckDBTimestampType();
|
|
153
250
|
static create(alias) {
|
|
154
|
-
return alias
|
|
251
|
+
return alias
|
|
252
|
+
? new DuckDBTimestampType(alias)
|
|
253
|
+
: DuckDBTimestampType.instance;
|
|
254
|
+
}
|
|
255
|
+
get epoch() {
|
|
256
|
+
return values_1.DuckDBTimestampValue.Epoch;
|
|
257
|
+
}
|
|
258
|
+
get max() {
|
|
259
|
+
return values_1.DuckDBTimestampValue.Max;
|
|
260
|
+
}
|
|
261
|
+
get min() {
|
|
262
|
+
return values_1.DuckDBTimestampValue.Min;
|
|
263
|
+
}
|
|
264
|
+
get posInf() {
|
|
265
|
+
return values_1.DuckDBTimestampValue.PosInf;
|
|
266
|
+
}
|
|
267
|
+
get negInf() {
|
|
268
|
+
return values_1.DuckDBTimestampValue.NegInf;
|
|
155
269
|
}
|
|
156
270
|
}
|
|
157
271
|
exports.DuckDBTimestampType = DuckDBTimestampType;
|
|
272
|
+
exports.TIMESTAMP = DuckDBTimestampType.instance;
|
|
158
273
|
exports.DuckDBTimestampMicrosecondsType = DuckDBTimestampType;
|
|
159
274
|
class DuckDBDateType extends BaseDuckDBType {
|
|
160
275
|
constructor(alias) {
|
|
@@ -164,8 +279,24 @@ class DuckDBDateType extends BaseDuckDBType {
|
|
|
164
279
|
static create(alias) {
|
|
165
280
|
return alias ? new DuckDBDateType(alias) : DuckDBDateType.instance;
|
|
166
281
|
}
|
|
282
|
+
get epoch() {
|
|
283
|
+
return values_1.DuckDBDateValue.Epoch;
|
|
284
|
+
}
|
|
285
|
+
get max() {
|
|
286
|
+
return values_1.DuckDBDateValue.Max;
|
|
287
|
+
}
|
|
288
|
+
get min() {
|
|
289
|
+
return values_1.DuckDBDateValue.Min;
|
|
290
|
+
}
|
|
291
|
+
get posInf() {
|
|
292
|
+
return values_1.DuckDBDateValue.PosInf;
|
|
293
|
+
}
|
|
294
|
+
get negInf() {
|
|
295
|
+
return values_1.DuckDBDateValue.NegInf;
|
|
296
|
+
}
|
|
167
297
|
}
|
|
168
298
|
exports.DuckDBDateType = DuckDBDateType;
|
|
299
|
+
exports.DATE = DuckDBDateType.instance;
|
|
169
300
|
class DuckDBTimeType extends BaseDuckDBType {
|
|
170
301
|
constructor(alias) {
|
|
171
302
|
super(DuckDBTypeId_1.DuckDBTypeId.TIME, alias);
|
|
@@ -174,8 +305,15 @@ class DuckDBTimeType extends BaseDuckDBType {
|
|
|
174
305
|
static create(alias) {
|
|
175
306
|
return alias ? new DuckDBTimeType(alias) : DuckDBTimeType.instance;
|
|
176
307
|
}
|
|
308
|
+
get max() {
|
|
309
|
+
return values_1.DuckDBTimeValue.Max;
|
|
310
|
+
}
|
|
311
|
+
get min() {
|
|
312
|
+
return values_1.DuckDBTimeValue.Min;
|
|
313
|
+
}
|
|
177
314
|
}
|
|
178
315
|
exports.DuckDBTimeType = DuckDBTimeType;
|
|
316
|
+
exports.TIME = DuckDBTimeType.instance;
|
|
179
317
|
class DuckDBIntervalType extends BaseDuckDBType {
|
|
180
318
|
constructor(alias) {
|
|
181
319
|
super(DuckDBTypeId_1.DuckDBTypeId.INTERVAL, alias);
|
|
@@ -186,6 +324,7 @@ class DuckDBIntervalType extends BaseDuckDBType {
|
|
|
186
324
|
}
|
|
187
325
|
}
|
|
188
326
|
exports.DuckDBIntervalType = DuckDBIntervalType;
|
|
327
|
+
exports.INTERVAL = DuckDBIntervalType.instance;
|
|
189
328
|
class DuckDBHugeIntType extends BaseDuckDBType {
|
|
190
329
|
constructor(alias) {
|
|
191
330
|
super(DuckDBTypeId_1.DuckDBTypeId.HUGEINT, alias);
|
|
@@ -196,8 +335,15 @@ class DuckDBHugeIntType extends BaseDuckDBType {
|
|
|
196
335
|
}
|
|
197
336
|
static Max = 2n ** 127n - 1n;
|
|
198
337
|
static Min = -(2n ** 127n);
|
|
338
|
+
get max() {
|
|
339
|
+
return DuckDBHugeIntType.Max;
|
|
340
|
+
}
|
|
341
|
+
get min() {
|
|
342
|
+
return DuckDBHugeIntType.Min;
|
|
343
|
+
}
|
|
199
344
|
}
|
|
200
345
|
exports.DuckDBHugeIntType = DuckDBHugeIntType;
|
|
346
|
+
exports.HUGEINT = DuckDBHugeIntType.instance;
|
|
201
347
|
class DuckDBUHugeIntType extends BaseDuckDBType {
|
|
202
348
|
constructor(alias) {
|
|
203
349
|
super(DuckDBTypeId_1.DuckDBTypeId.UHUGEINT, alias);
|
|
@@ -208,8 +354,15 @@ class DuckDBUHugeIntType extends BaseDuckDBType {
|
|
|
208
354
|
}
|
|
209
355
|
static Max = 2n ** 128n - 1n;
|
|
210
356
|
static Min = 0n;
|
|
357
|
+
get max() {
|
|
358
|
+
return DuckDBUHugeIntType.Max;
|
|
359
|
+
}
|
|
360
|
+
get min() {
|
|
361
|
+
return DuckDBUHugeIntType.Min;
|
|
362
|
+
}
|
|
211
363
|
}
|
|
212
364
|
exports.DuckDBUHugeIntType = DuckDBUHugeIntType;
|
|
365
|
+
exports.UHUGEINT = DuckDBUHugeIntType.instance;
|
|
213
366
|
class DuckDBVarCharType extends BaseDuckDBType {
|
|
214
367
|
constructor(alias) {
|
|
215
368
|
super(DuckDBTypeId_1.DuckDBTypeId.VARCHAR, alias);
|
|
@@ -220,6 +373,7 @@ class DuckDBVarCharType extends BaseDuckDBType {
|
|
|
220
373
|
}
|
|
221
374
|
}
|
|
222
375
|
exports.DuckDBVarCharType = DuckDBVarCharType;
|
|
376
|
+
exports.VARCHAR = DuckDBVarCharType.instance;
|
|
223
377
|
class DuckDBBlobType extends BaseDuckDBType {
|
|
224
378
|
constructor(alias) {
|
|
225
379
|
super(DuckDBTypeId_1.DuckDBTypeId.BLOB, alias);
|
|
@@ -230,6 +384,7 @@ class DuckDBBlobType extends BaseDuckDBType {
|
|
|
230
384
|
}
|
|
231
385
|
}
|
|
232
386
|
exports.DuckDBBlobType = DuckDBBlobType;
|
|
387
|
+
exports.BLOB = DuckDBBlobType.instance;
|
|
233
388
|
class DuckDBDecimalType extends BaseDuckDBType {
|
|
234
389
|
width;
|
|
235
390
|
scale;
|
|
@@ -241,52 +396,143 @@ class DuckDBDecimalType extends BaseDuckDBType {
|
|
|
241
396
|
toString() {
|
|
242
397
|
return `DECIMAL(${this.width},${this.scale})`;
|
|
243
398
|
}
|
|
399
|
+
toLogicalType() {
|
|
400
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createDecimal(this.width, this.scale);
|
|
401
|
+
if (this.alias) {
|
|
402
|
+
logicalType.alias = this.alias;
|
|
403
|
+
}
|
|
404
|
+
return logicalType;
|
|
405
|
+
}
|
|
244
406
|
static default = new DuckDBDecimalType(18, 3);
|
|
245
407
|
}
|
|
246
408
|
exports.DuckDBDecimalType = DuckDBDecimalType;
|
|
409
|
+
function DECIMAL(width, scale, alias) {
|
|
410
|
+
if (width === undefined) {
|
|
411
|
+
return DuckDBDecimalType.default;
|
|
412
|
+
}
|
|
413
|
+
if (scale === undefined) {
|
|
414
|
+
return new DuckDBDecimalType(width, 0);
|
|
415
|
+
}
|
|
416
|
+
return new DuckDBDecimalType(width, scale, alias);
|
|
417
|
+
}
|
|
247
418
|
class DuckDBTimestampSecondsType extends BaseDuckDBType {
|
|
248
419
|
constructor(alias) {
|
|
249
420
|
super(DuckDBTypeId_1.DuckDBTypeId.TIMESTAMP_S, alias);
|
|
250
421
|
}
|
|
251
422
|
static instance = new DuckDBTimestampSecondsType();
|
|
252
423
|
static create(alias) {
|
|
253
|
-
return alias
|
|
424
|
+
return alias
|
|
425
|
+
? new DuckDBTimestampSecondsType(alias)
|
|
426
|
+
: DuckDBTimestampSecondsType.instance;
|
|
427
|
+
}
|
|
428
|
+
get epoch() {
|
|
429
|
+
return values_1.DuckDBTimestampSecondsValue.Epoch;
|
|
430
|
+
}
|
|
431
|
+
get max() {
|
|
432
|
+
return values_1.DuckDBTimestampSecondsValue.Max;
|
|
433
|
+
}
|
|
434
|
+
get min() {
|
|
435
|
+
return values_1.DuckDBTimestampSecondsValue.Min;
|
|
254
436
|
}
|
|
255
437
|
}
|
|
256
438
|
exports.DuckDBTimestampSecondsType = DuckDBTimestampSecondsType;
|
|
439
|
+
exports.TIMESTAMP_S = DuckDBTimestampSecondsType.instance;
|
|
257
440
|
class DuckDBTimestampMillisecondsType extends BaseDuckDBType {
|
|
258
441
|
constructor(alias) {
|
|
259
442
|
super(DuckDBTypeId_1.DuckDBTypeId.TIMESTAMP_MS, alias);
|
|
260
443
|
}
|
|
261
444
|
static instance = new DuckDBTimestampMillisecondsType();
|
|
262
445
|
static create(alias) {
|
|
263
|
-
return alias
|
|
446
|
+
return alias
|
|
447
|
+
? new DuckDBTimestampMillisecondsType(alias)
|
|
448
|
+
: DuckDBTimestampMillisecondsType.instance;
|
|
449
|
+
}
|
|
450
|
+
get epoch() {
|
|
451
|
+
return values_1.DuckDBTimestampMillisecondsValue.Epoch;
|
|
452
|
+
}
|
|
453
|
+
get max() {
|
|
454
|
+
return values_1.DuckDBTimestampMillisecondsValue.Max;
|
|
455
|
+
}
|
|
456
|
+
get min() {
|
|
457
|
+
return values_1.DuckDBTimestampMillisecondsValue.Min;
|
|
264
458
|
}
|
|
265
459
|
}
|
|
266
460
|
exports.DuckDBTimestampMillisecondsType = DuckDBTimestampMillisecondsType;
|
|
461
|
+
exports.TIMESTAMP_MS = DuckDBTimestampMillisecondsType.instance;
|
|
267
462
|
class DuckDBTimestampNanosecondsType extends BaseDuckDBType {
|
|
268
463
|
constructor(alias) {
|
|
269
464
|
super(DuckDBTypeId_1.DuckDBTypeId.TIMESTAMP_NS, alias);
|
|
270
465
|
}
|
|
271
466
|
static instance = new DuckDBTimestampNanosecondsType();
|
|
272
467
|
static create(alias) {
|
|
273
|
-
return alias
|
|
468
|
+
return alias
|
|
469
|
+
? new DuckDBTimestampNanosecondsType(alias)
|
|
470
|
+
: DuckDBTimestampNanosecondsType.instance;
|
|
471
|
+
}
|
|
472
|
+
get epoch() {
|
|
473
|
+
return values_1.DuckDBTimestampNanosecondsValue.Epoch;
|
|
474
|
+
}
|
|
475
|
+
get max() {
|
|
476
|
+
return values_1.DuckDBTimestampNanosecondsValue.Max;
|
|
477
|
+
}
|
|
478
|
+
get min() {
|
|
479
|
+
return values_1.DuckDBTimestampNanosecondsValue.Min;
|
|
274
480
|
}
|
|
275
481
|
}
|
|
276
482
|
exports.DuckDBTimestampNanosecondsType = DuckDBTimestampNanosecondsType;
|
|
483
|
+
exports.TIMESTAMP_NS = DuckDBTimestampNanosecondsType.instance;
|
|
277
484
|
class DuckDBEnumType extends BaseDuckDBType {
|
|
278
485
|
values;
|
|
486
|
+
valueIndexes;
|
|
279
487
|
internalTypeId;
|
|
280
488
|
constructor(values, internalTypeId, alias) {
|
|
281
489
|
super(DuckDBTypeId_1.DuckDBTypeId.ENUM, alias);
|
|
282
490
|
this.values = values;
|
|
491
|
+
const valueIndexes = {};
|
|
492
|
+
for (let i = 0; i < values.length; i++) {
|
|
493
|
+
valueIndexes[values[i]] = i;
|
|
494
|
+
}
|
|
495
|
+
this.valueIndexes = valueIndexes;
|
|
283
496
|
this.internalTypeId = internalTypeId;
|
|
284
497
|
}
|
|
498
|
+
indexForValue(value) {
|
|
499
|
+
return this.valueIndexes[value];
|
|
500
|
+
}
|
|
285
501
|
toString() {
|
|
286
502
|
return `ENUM(${this.values.map(sql_1.quotedString).join(', ')})`;
|
|
287
503
|
}
|
|
504
|
+
toLogicalType() {
|
|
505
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createEnum(this.values);
|
|
506
|
+
if (this.alias) {
|
|
507
|
+
logicalType.alias = this.alias;
|
|
508
|
+
}
|
|
509
|
+
return logicalType;
|
|
510
|
+
}
|
|
288
511
|
}
|
|
289
512
|
exports.DuckDBEnumType = DuckDBEnumType;
|
|
513
|
+
function ENUM8(values, alias) {
|
|
514
|
+
return new DuckDBEnumType(values, DuckDBTypeId_1.DuckDBTypeId.UTINYINT, alias);
|
|
515
|
+
}
|
|
516
|
+
function ENUM16(values, alias) {
|
|
517
|
+
return new DuckDBEnumType(values, DuckDBTypeId_1.DuckDBTypeId.USMALLINT, alias);
|
|
518
|
+
}
|
|
519
|
+
function ENUM32(values, alias) {
|
|
520
|
+
return new DuckDBEnumType(values, DuckDBTypeId_1.DuckDBTypeId.UINTEGER, alias);
|
|
521
|
+
}
|
|
522
|
+
function ENUM(values, alias) {
|
|
523
|
+
if (values.length < 256) {
|
|
524
|
+
return ENUM8(values, alias);
|
|
525
|
+
}
|
|
526
|
+
else if (values.length < 65536) {
|
|
527
|
+
return ENUM16(values, alias);
|
|
528
|
+
}
|
|
529
|
+
else if (values.length < 4294967296) {
|
|
530
|
+
return ENUM32(values, alias);
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
throw new Error(`ENUM types cannot have more than 4294967295 values; received ${values.length}`);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
290
536
|
class DuckDBListType extends BaseDuckDBType {
|
|
291
537
|
valueType;
|
|
292
538
|
constructor(valueType, alias) {
|
|
@@ -296,8 +542,18 @@ class DuckDBListType extends BaseDuckDBType {
|
|
|
296
542
|
toString() {
|
|
297
543
|
return `${this.valueType}[]`;
|
|
298
544
|
}
|
|
545
|
+
toLogicalType() {
|
|
546
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createList(this.valueType.toLogicalType());
|
|
547
|
+
if (this.alias) {
|
|
548
|
+
logicalType.alias = this.alias;
|
|
549
|
+
}
|
|
550
|
+
return logicalType;
|
|
551
|
+
}
|
|
299
552
|
}
|
|
300
553
|
exports.DuckDBListType = DuckDBListType;
|
|
554
|
+
function LIST(valueType, alias) {
|
|
555
|
+
return new DuckDBListType(valueType, alias);
|
|
556
|
+
}
|
|
301
557
|
class DuckDBStructType extends BaseDuckDBType {
|
|
302
558
|
entryNames;
|
|
303
559
|
entryTypes;
|
|
@@ -320,8 +576,20 @@ class DuckDBStructType extends BaseDuckDBType {
|
|
|
320
576
|
}
|
|
321
577
|
return `STRUCT(${parts.join(', ')})`;
|
|
322
578
|
}
|
|
579
|
+
toLogicalType() {
|
|
580
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createStruct(this.entryNames, this.entryTypes.map((t) => t.toLogicalType()));
|
|
581
|
+
if (this.alias) {
|
|
582
|
+
logicalType.alias = this.alias;
|
|
583
|
+
}
|
|
584
|
+
return logicalType;
|
|
585
|
+
}
|
|
323
586
|
}
|
|
324
587
|
exports.DuckDBStructType = DuckDBStructType;
|
|
588
|
+
function STRUCT(entries, alias) {
|
|
589
|
+
const entryNames = Object.keys(entries);
|
|
590
|
+
const entryTypes = Object.values(entries);
|
|
591
|
+
return new DuckDBStructType(entryNames, entryTypes, alias);
|
|
592
|
+
}
|
|
325
593
|
class DuckDBMapType extends BaseDuckDBType {
|
|
326
594
|
keyType;
|
|
327
595
|
valueType;
|
|
@@ -333,8 +601,18 @@ class DuckDBMapType extends BaseDuckDBType {
|
|
|
333
601
|
toString() {
|
|
334
602
|
return `MAP(${this.keyType}, ${this.valueType})`;
|
|
335
603
|
}
|
|
604
|
+
toLogicalType() {
|
|
605
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createMap(this.keyType.toLogicalType(), this.valueType.toLogicalType());
|
|
606
|
+
if (this.alias) {
|
|
607
|
+
logicalType.alias = this.alias;
|
|
608
|
+
}
|
|
609
|
+
return logicalType;
|
|
610
|
+
}
|
|
336
611
|
}
|
|
337
612
|
exports.DuckDBMapType = DuckDBMapType;
|
|
613
|
+
function MAP(keyType, valueType, alias) {
|
|
614
|
+
return new DuckDBMapType(keyType, valueType, alias);
|
|
615
|
+
}
|
|
338
616
|
class DuckDBArrayType extends BaseDuckDBType {
|
|
339
617
|
valueType;
|
|
340
618
|
length;
|
|
@@ -346,8 +624,18 @@ class DuckDBArrayType extends BaseDuckDBType {
|
|
|
346
624
|
toString() {
|
|
347
625
|
return `${this.valueType}[${this.length}]`;
|
|
348
626
|
}
|
|
627
|
+
toLogicalType() {
|
|
628
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createArray(this.valueType.toLogicalType(), this.length);
|
|
629
|
+
if (this.alias) {
|
|
630
|
+
logicalType.alias = this.alias;
|
|
631
|
+
}
|
|
632
|
+
return logicalType;
|
|
633
|
+
}
|
|
349
634
|
}
|
|
350
635
|
exports.DuckDBArrayType = DuckDBArrayType;
|
|
636
|
+
function ARRAY(valueType, length, alias) {
|
|
637
|
+
return new DuckDBArrayType(valueType, length, alias);
|
|
638
|
+
}
|
|
351
639
|
class DuckDBUUIDType extends BaseDuckDBType {
|
|
352
640
|
constructor(alias) {
|
|
353
641
|
super(DuckDBTypeId_1.DuckDBTypeId.UUID, alias);
|
|
@@ -356,10 +644,18 @@ class DuckDBUUIDType extends BaseDuckDBType {
|
|
|
356
644
|
static create(alias) {
|
|
357
645
|
return alias ? new DuckDBUUIDType(alias) : DuckDBUUIDType.instance;
|
|
358
646
|
}
|
|
647
|
+
get max() {
|
|
648
|
+
return values_1.DuckDBUUIDValue.Max;
|
|
649
|
+
}
|
|
650
|
+
get min() {
|
|
651
|
+
return values_1.DuckDBUUIDValue.Min;
|
|
652
|
+
}
|
|
359
653
|
}
|
|
360
654
|
exports.DuckDBUUIDType = DuckDBUUIDType;
|
|
655
|
+
exports.UUID = DuckDBUUIDType.instance;
|
|
361
656
|
class DuckDBUnionType extends BaseDuckDBType {
|
|
362
657
|
memberTags;
|
|
658
|
+
tagMemberIndexes;
|
|
363
659
|
memberTypes;
|
|
364
660
|
constructor(memberTags, memberTypes, alias) {
|
|
365
661
|
super(DuckDBTypeId_1.DuckDBTypeId.UNION, alias);
|
|
@@ -368,8 +664,16 @@ class DuckDBUnionType extends BaseDuckDBType {
|
|
|
368
664
|
tags length (${memberTags.length}) does not match valueTypes length (${memberTypes.length})`);
|
|
369
665
|
}
|
|
370
666
|
this.memberTags = memberTags;
|
|
667
|
+
const tagMemberIndexes = {};
|
|
668
|
+
for (let i = 0; i < memberTags.length; i++) {
|
|
669
|
+
tagMemberIndexes[memberTags[i]] = i;
|
|
670
|
+
}
|
|
671
|
+
this.tagMemberIndexes = tagMemberIndexes;
|
|
371
672
|
this.memberTypes = memberTypes;
|
|
372
673
|
}
|
|
674
|
+
memberIndexForTag(tag) {
|
|
675
|
+
return this.tagMemberIndexes[tag];
|
|
676
|
+
}
|
|
373
677
|
get memberCount() {
|
|
374
678
|
return this.memberTags.length;
|
|
375
679
|
}
|
|
@@ -380,8 +684,20 @@ class DuckDBUnionType extends BaseDuckDBType {
|
|
|
380
684
|
}
|
|
381
685
|
return `UNION(${parts.join(', ')})`;
|
|
382
686
|
}
|
|
687
|
+
toLogicalType() {
|
|
688
|
+
const logicalType = DuckDBLogicalType_1.DuckDBLogicalType.createUnion(this.memberTags, this.memberTypes.map((t) => t.toLogicalType()));
|
|
689
|
+
if (this.alias) {
|
|
690
|
+
logicalType.alias = this.alias;
|
|
691
|
+
}
|
|
692
|
+
return logicalType;
|
|
693
|
+
}
|
|
383
694
|
}
|
|
384
695
|
exports.DuckDBUnionType = DuckDBUnionType;
|
|
696
|
+
function UNION(members, alias) {
|
|
697
|
+
const memberTags = Object.keys(members);
|
|
698
|
+
const memberTypes = Object.values(members);
|
|
699
|
+
return new DuckDBUnionType(memberTags, memberTypes, alias);
|
|
700
|
+
}
|
|
385
701
|
class DuckDBBitType extends BaseDuckDBType {
|
|
386
702
|
constructor(alias) {
|
|
387
703
|
super(DuckDBTypeId_1.DuckDBTypeId.BIT, alias);
|
|
@@ -392,32 +708,58 @@ class DuckDBBitType extends BaseDuckDBType {
|
|
|
392
708
|
}
|
|
393
709
|
}
|
|
394
710
|
exports.DuckDBBitType = DuckDBBitType;
|
|
711
|
+
exports.BIT = DuckDBBitType.instance;
|
|
395
712
|
class DuckDBTimeTZType extends BaseDuckDBType {
|
|
396
713
|
constructor(alias) {
|
|
397
714
|
super(DuckDBTypeId_1.DuckDBTypeId.TIME_TZ, alias);
|
|
398
715
|
}
|
|
399
716
|
toString() {
|
|
400
|
-
return
|
|
717
|
+
return 'TIME WITH TIME ZONE';
|
|
401
718
|
}
|
|
402
719
|
static instance = new DuckDBTimeTZType();
|
|
403
720
|
static create(alias) {
|
|
404
721
|
return alias ? new DuckDBTimeTZType(alias) : DuckDBTimeTZType.instance;
|
|
405
722
|
}
|
|
723
|
+
get max() {
|
|
724
|
+
return values_1.DuckDBTimeTZValue.Max;
|
|
725
|
+
}
|
|
726
|
+
get min() {
|
|
727
|
+
return values_1.DuckDBTimeTZValue.Min;
|
|
728
|
+
}
|
|
406
729
|
}
|
|
407
730
|
exports.DuckDBTimeTZType = DuckDBTimeTZType;
|
|
731
|
+
exports.TIMETZ = DuckDBTimeTZType.instance;
|
|
408
732
|
class DuckDBTimestampTZType extends BaseDuckDBType {
|
|
409
733
|
constructor(alias) {
|
|
410
734
|
super(DuckDBTypeId_1.DuckDBTypeId.TIMESTAMP_TZ, alias);
|
|
411
735
|
}
|
|
412
736
|
toString() {
|
|
413
|
-
return
|
|
737
|
+
return 'TIMESTAMP WITH TIME ZONE';
|
|
414
738
|
}
|
|
415
739
|
static instance = new DuckDBTimestampTZType();
|
|
416
740
|
static create(alias) {
|
|
417
|
-
return alias
|
|
741
|
+
return alias
|
|
742
|
+
? new DuckDBTimestampTZType(alias)
|
|
743
|
+
: DuckDBTimestampTZType.instance;
|
|
744
|
+
}
|
|
745
|
+
get epoch() {
|
|
746
|
+
return values_1.DuckDBTimestampTZValue.Epoch;
|
|
747
|
+
}
|
|
748
|
+
get max() {
|
|
749
|
+
return values_1.DuckDBTimestampTZValue.Max;
|
|
750
|
+
}
|
|
751
|
+
get min() {
|
|
752
|
+
return values_1.DuckDBTimestampTZValue.Min;
|
|
753
|
+
}
|
|
754
|
+
get posInf() {
|
|
755
|
+
return values_1.DuckDBTimestampTZValue.PosInf;
|
|
756
|
+
}
|
|
757
|
+
get negInf() {
|
|
758
|
+
return values_1.DuckDBTimestampTZValue.NegInf;
|
|
418
759
|
}
|
|
419
760
|
}
|
|
420
761
|
exports.DuckDBTimestampTZType = DuckDBTimestampTZType;
|
|
762
|
+
exports.TIMESTAMPTZ = DuckDBTimestampTZType.instance;
|
|
421
763
|
class DuckDBAnyType extends BaseDuckDBType {
|
|
422
764
|
constructor(alias) {
|
|
423
765
|
super(DuckDBTypeId_1.DuckDBTypeId.ANY, alias);
|
|
@@ -428,6 +770,7 @@ class DuckDBAnyType extends BaseDuckDBType {
|
|
|
428
770
|
}
|
|
429
771
|
}
|
|
430
772
|
exports.DuckDBAnyType = DuckDBAnyType;
|
|
773
|
+
exports.ANY = DuckDBAnyType.instance;
|
|
431
774
|
class DuckDBVarIntType extends BaseDuckDBType {
|
|
432
775
|
constructor(alias) {
|
|
433
776
|
super(DuckDBTypeId_1.DuckDBTypeId.VARINT, alias);
|
|
@@ -438,8 +781,15 @@ class DuckDBVarIntType extends BaseDuckDBType {
|
|
|
438
781
|
}
|
|
439
782
|
static Max = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
440
783
|
static Min = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368n;
|
|
784
|
+
get max() {
|
|
785
|
+
return DuckDBVarIntType.Max;
|
|
786
|
+
}
|
|
787
|
+
get min() {
|
|
788
|
+
return DuckDBVarIntType.Min;
|
|
789
|
+
}
|
|
441
790
|
}
|
|
442
791
|
exports.DuckDBVarIntType = DuckDBVarIntType;
|
|
792
|
+
exports.VARINT = DuckDBVarIntType.instance;
|
|
443
793
|
class DuckDBSQLNullType extends BaseDuckDBType {
|
|
444
794
|
constructor(alias) {
|
|
445
795
|
super(DuckDBTypeId_1.DuckDBTypeId.SQLNULL, alias);
|
|
@@ -450,3 +800,4 @@ class DuckDBSQLNullType extends BaseDuckDBType {
|
|
|
450
800
|
}
|
|
451
801
|
}
|
|
452
802
|
exports.DuckDBSQLNullType = DuckDBSQLNullType;
|
|
803
|
+
exports.SQLNULL = DuckDBSQLNullType.instance;
|