@rip-lang/db 0.8.1 → 0.8.3
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/lib/duckdb-binary.rip +43 -25
- package/package.json +1 -1
package/lib/duckdb-binary.rip
CHANGED
|
@@ -229,79 +229,92 @@ serializeVector = (s, column, values) ->
|
|
|
229
229
|
s.writeFieldId 101
|
|
230
230
|
s.writeData createValidityBitmap values
|
|
231
231
|
|
|
232
|
+
# Type IDs: VARCHAR=25, CHAR=24, BOOLEAN=10, TINYINT=11, UTINYINT=28,
|
|
233
|
+
# SMALLINT=12, USMALLINT=29, INTEGER=13, UINTEGER=30, BIGINT=14, UBIGINT=31,
|
|
234
|
+
# FLOAT=22, DOUBLE=23, DATE=15, TIMESTAMP=19, TIMESTAMP_TZ=32
|
|
232
235
|
switch typeId
|
|
233
|
-
when
|
|
236
|
+
when 25, 24 # VARCHAR, CHAR
|
|
234
237
|
s.writeList 102, values, (s, v) -> s.writeString String(v ? '')
|
|
235
238
|
|
|
236
|
-
when
|
|
239
|
+
when 10 # BOOLEAN
|
|
237
240
|
s.writeFieldId 102
|
|
238
241
|
bytes = new Uint8Array values.length
|
|
239
|
-
|
|
242
|
+
for v, i in values
|
|
243
|
+
bytes[i] = if v then 1 else 0
|
|
240
244
|
s.writeData bytes
|
|
241
245
|
|
|
242
|
-
when
|
|
246
|
+
when 11, 28 # TINYINT, UTINYINT
|
|
243
247
|
s.writeFieldId 102
|
|
244
248
|
bytes = new Uint8Array values.length
|
|
245
|
-
|
|
249
|
+
for v, i in values
|
|
250
|
+
bytes[i] = (v ? 0) & 0xFF
|
|
246
251
|
s.writeData bytes
|
|
247
252
|
|
|
248
|
-
when
|
|
253
|
+
when 12 # SMALLINT
|
|
249
254
|
s.writeFieldId 102
|
|
250
255
|
bytes = new Uint8Array values.length * 2
|
|
251
256
|
dv = new DataView bytes.buffer
|
|
252
|
-
|
|
257
|
+
for v, i in values
|
|
258
|
+
dv.setInt16 i * 2, v ? 0, true
|
|
253
259
|
s.writeData bytes
|
|
254
260
|
|
|
255
|
-
when
|
|
261
|
+
when 29 # USMALLINT
|
|
256
262
|
s.writeFieldId 102
|
|
257
263
|
bytes = new Uint8Array values.length * 2
|
|
258
264
|
dv = new DataView bytes.buffer
|
|
259
|
-
|
|
265
|
+
for v, i in values
|
|
266
|
+
dv.setUint16 i * 2, v ? 0, true
|
|
260
267
|
s.writeData bytes
|
|
261
268
|
|
|
262
|
-
when
|
|
269
|
+
when 13 # INTEGER
|
|
263
270
|
s.writeFieldId 102
|
|
264
271
|
bytes = new Uint8Array values.length * 4
|
|
265
272
|
dv = new DataView bytes.buffer
|
|
266
|
-
|
|
273
|
+
for v, i in values
|
|
274
|
+
dv.setInt32 i * 4, v ? 0, true
|
|
267
275
|
s.writeData bytes
|
|
268
276
|
|
|
269
|
-
when
|
|
277
|
+
when 30 # UINTEGER
|
|
270
278
|
s.writeFieldId 102
|
|
271
279
|
bytes = new Uint8Array values.length * 4
|
|
272
280
|
dv = new DataView bytes.buffer
|
|
273
|
-
|
|
281
|
+
for v, i in values
|
|
282
|
+
dv.setUint32 i * 4, v ? 0, true
|
|
274
283
|
s.writeData bytes
|
|
275
284
|
|
|
276
|
-
when
|
|
285
|
+
when 14 # BIGINT
|
|
277
286
|
s.writeFieldId 102
|
|
278
287
|
bytes = new Uint8Array values.length * 8
|
|
279
288
|
dv = new DataView bytes.buffer
|
|
280
|
-
|
|
289
|
+
for v, i in values
|
|
290
|
+
dv.setBigInt64 i * 8, BigInt(v ? 0), true
|
|
281
291
|
s.writeData bytes
|
|
282
292
|
|
|
283
|
-
when
|
|
293
|
+
when 31 # UBIGINT
|
|
284
294
|
s.writeFieldId 102
|
|
285
295
|
bytes = new Uint8Array values.length * 8
|
|
286
296
|
dv = new DataView bytes.buffer
|
|
287
|
-
|
|
297
|
+
for v, i in values
|
|
298
|
+
dv.setBigUint64 i * 8, BigInt(v ? 0), true
|
|
288
299
|
s.writeData bytes
|
|
289
300
|
|
|
290
|
-
when
|
|
301
|
+
when 22 # FLOAT
|
|
291
302
|
s.writeFieldId 102
|
|
292
303
|
bytes = new Uint8Array values.length * 4
|
|
293
304
|
dv = new DataView bytes.buffer
|
|
294
|
-
|
|
305
|
+
for v, i in values
|
|
306
|
+
dv.setFloat32 i * 4, v ? 0, true
|
|
295
307
|
s.writeData bytes
|
|
296
308
|
|
|
297
|
-
when
|
|
309
|
+
when 23 # DOUBLE
|
|
298
310
|
s.writeFieldId 102
|
|
299
311
|
bytes = new Uint8Array values.length * 8
|
|
300
312
|
dv = new DataView bytes.buffer
|
|
301
|
-
|
|
313
|
+
for v, i in values
|
|
314
|
+
dv.setFloat64 i * 8, v ? 0, true
|
|
302
315
|
s.writeData bytes
|
|
303
316
|
|
|
304
|
-
when
|
|
317
|
+
when 15 # DATE
|
|
305
318
|
s.writeFieldId 102
|
|
306
319
|
bytes = new Uint8Array values.length * 4
|
|
307
320
|
dv = new DataView bytes.buffer
|
|
@@ -310,7 +323,7 @@ serializeVector = (s, column, values) ->
|
|
|
310
323
|
dv.setInt32 i * 4, days, true
|
|
311
324
|
s.writeData bytes
|
|
312
325
|
|
|
313
|
-
when
|
|
326
|
+
when 19, 32 # TIMESTAMP, TIMESTAMP_TZ
|
|
314
327
|
s.writeFieldId 102
|
|
315
328
|
bytes = new Uint8Array values.length * 8
|
|
316
329
|
dv = new DataView bytes.buffer
|
|
@@ -446,8 +459,13 @@ export tokenizeSQL = (sql) ->
|
|
|
446
459
|
i++
|
|
447
460
|
while i < sql.length
|
|
448
461
|
if sql[i] is "'"
|
|
449
|
-
if sql[i + 1] is "'"
|
|
450
|
-
|
|
462
|
+
if sql[i + 1] is "'"
|
|
463
|
+
i += 2
|
|
464
|
+
else
|
|
465
|
+
i++
|
|
466
|
+
break
|
|
467
|
+
else
|
|
468
|
+
i++
|
|
451
469
|
tokens.push { offset: start, type: TokenType.STRING_CONSTANT }
|
|
452
470
|
continue
|
|
453
471
|
|