sqlite-executor 4.0.8 → 4.0.10
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/dist/cjs/index.cjs +112 -41
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +112 -41
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/cjs/index.cjs
CHANGED
|
@@ -225,6 +225,43 @@ function createRowStreamParser(onRow) {
|
|
|
225
225
|
index++;
|
|
226
226
|
continue;
|
|
227
227
|
}
|
|
228
|
+
if (-1 !== elementEnd) {
|
|
229
|
+
if (isWhitespaceCode(code)) {
|
|
230
|
+
index++;
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
if (code === CHAR_COMMA || code === CHAR_CLOSE_BRACKET) {
|
|
234
|
+
onRow(buffer.slice(elementStart, elementEnd));
|
|
235
|
+
consumed = index + 1;
|
|
236
|
+
elementStart = -1;
|
|
237
|
+
elementEnd = -1;
|
|
238
|
+
nesting = 0;
|
|
239
|
+
if (code === CHAR_CLOSE_BRACKET) {
|
|
240
|
+
this.finished = true;
|
|
241
|
+
this.buffer = "";
|
|
242
|
+
this.started = false;
|
|
243
|
+
this.inString = false;
|
|
244
|
+
this.escaped = false;
|
|
245
|
+
this.elementStart = -1;
|
|
246
|
+
this.elementEnd = -1;
|
|
247
|
+
this.nesting = 0;
|
|
248
|
+
this._consumed = 0;
|
|
249
|
+
this.readPos = 0;
|
|
250
|
+
return buffer.slice(consumed);
|
|
251
|
+
}
|
|
252
|
+
index = consumed;
|
|
253
|
+
if (consumed > 65536) {
|
|
254
|
+
buffer = buffer.slice(consumed);
|
|
255
|
+
this.buffer = buffer;
|
|
256
|
+
this._consumed = 0;
|
|
257
|
+
index = 0;
|
|
258
|
+
consumed = 0;
|
|
259
|
+
}
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
index++;
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
228
265
|
if (code === CHAR_QUOTE) {
|
|
229
266
|
inString = true;
|
|
230
267
|
index++;
|
|
@@ -239,42 +276,6 @@ function createRowStreamParser(onRow) {
|
|
|
239
276
|
nesting--;
|
|
240
277
|
if (0 === nesting) elementEnd = index + 1;
|
|
241
278
|
}
|
|
242
|
-
if (-1 !== elementEnd) {
|
|
243
|
-
var lookAhead = index + 1;
|
|
244
|
-
while(lookAhead < buffer.length && isWhitespaceCode(buffer.charCodeAt(lookAhead)))lookAhead++;
|
|
245
|
-
if (lookAhead < buffer.length) {
|
|
246
|
-
var delimiter = buffer.charCodeAt(lookAhead);
|
|
247
|
-
if (delimiter === CHAR_COMMA || delimiter === CHAR_CLOSE_BRACKET) {
|
|
248
|
-
onRow(buffer.slice(elementStart, elementEnd));
|
|
249
|
-
consumed = lookAhead + 1;
|
|
250
|
-
elementStart = -1;
|
|
251
|
-
elementEnd = -1;
|
|
252
|
-
nesting = 0;
|
|
253
|
-
if (delimiter === CHAR_CLOSE_BRACKET) {
|
|
254
|
-
this.finished = true;
|
|
255
|
-
this.buffer = "";
|
|
256
|
-
this.started = false;
|
|
257
|
-
this.inString = false;
|
|
258
|
-
this.escaped = false;
|
|
259
|
-
this.elementStart = -1;
|
|
260
|
-
this.elementEnd = -1;
|
|
261
|
-
this.nesting = 0;
|
|
262
|
-
this._consumed = 0;
|
|
263
|
-
this.readPos = 0;
|
|
264
|
-
return buffer.slice(consumed);
|
|
265
|
-
}
|
|
266
|
-
index = consumed;
|
|
267
|
-
if (consumed > 65536) {
|
|
268
|
-
buffer = buffer.slice(consumed);
|
|
269
|
-
this.buffer = buffer;
|
|
270
|
-
this._consumed = 0;
|
|
271
|
-
index = 0;
|
|
272
|
-
consumed = 0;
|
|
273
|
-
}
|
|
274
|
-
continue;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
279
|
index++;
|
|
279
280
|
}
|
|
280
281
|
this.started = started;
|
|
@@ -2302,6 +2303,7 @@ function createFinalizeScheduler(param) {
|
|
|
2302
2303
|
var scheduled = false;
|
|
2303
2304
|
var immediate = null;
|
|
2304
2305
|
var cancelled = false;
|
|
2306
|
+
var delayedZeroRowQueries = new WeakSet();
|
|
2305
2307
|
var cancel = function() {
|
|
2306
2308
|
cancelled = true;
|
|
2307
2309
|
if (immediate) {
|
|
@@ -2317,8 +2319,66 @@ function createFinalizeScheduler(param) {
|
|
|
2317
2319
|
immediate = setImmediate(function() {
|
|
2318
2320
|
immediate = null;
|
|
2319
2321
|
if (cancelled) return;
|
|
2322
|
+
var delayedTasks = [];
|
|
2323
|
+
var hasQueryRows = Array.from(pendingFinalizeTasks).some(function(task) {
|
|
2324
|
+
return "query" === task.kind && task.rows.length > 0;
|
|
2325
|
+
});
|
|
2326
|
+
if (!(null == pendingStderr ? void 0 : pendingStderr.length) && hasQueryRows) {
|
|
2327
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2328
|
+
try {
|
|
2329
|
+
for(var _iterator = pendingFinalizeTasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2330
|
+
var task = _step.value;
|
|
2331
|
+
if ("query" === task.kind && 0 === task.rows.length && !task.stderrText && !task.consumerError && !delayedZeroRowQueries.has(task)) {
|
|
2332
|
+
delayedZeroRowQueries.add(task);
|
|
2333
|
+
delayedTasks.push(task);
|
|
2334
|
+
}
|
|
2335
|
+
}
|
|
2336
|
+
} catch (err) {
|
|
2337
|
+
_didIteratorError = true;
|
|
2338
|
+
_iteratorError = err;
|
|
2339
|
+
} finally{
|
|
2340
|
+
try {
|
|
2341
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2342
|
+
} finally{
|
|
2343
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2344
|
+
}
|
|
2345
|
+
}
|
|
2346
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2347
|
+
try {
|
|
2348
|
+
for(var _iterator1 = delayedTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2349
|
+
var task1 = _step1.value;
|
|
2350
|
+
pendingFinalizeTasks["delete"](task1);
|
|
2351
|
+
}
|
|
2352
|
+
} catch (err) {
|
|
2353
|
+
_didIteratorError1 = true;
|
|
2354
|
+
_iteratorError1 = err;
|
|
2355
|
+
} finally{
|
|
2356
|
+
try {
|
|
2357
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2358
|
+
} finally{
|
|
2359
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2360
|
+
}
|
|
2361
|
+
}
|
|
2362
|
+
}
|
|
2320
2363
|
finalizePendingTasks(pendingFinalizeTasks, settle, pumpQueue, pendingStderr, inflight);
|
|
2364
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2365
|
+
try {
|
|
2366
|
+
for(var _iterator2 = delayedTasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2367
|
+
var task2 = _step2.value;
|
|
2368
|
+
pendingFinalizeTasks.add(task2);
|
|
2369
|
+
}
|
|
2370
|
+
} catch (err) {
|
|
2371
|
+
_didIteratorError2 = true;
|
|
2372
|
+
_iteratorError2 = err;
|
|
2373
|
+
} finally{
|
|
2374
|
+
try {
|
|
2375
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2376
|
+
} finally{
|
|
2377
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2321
2380
|
scheduled = false;
|
|
2381
|
+
if (delayedTasks.length > 0) check();
|
|
2322
2382
|
});
|
|
2323
2383
|
};
|
|
2324
2384
|
check.cancel = cancel;
|
|
@@ -2416,7 +2476,7 @@ function handleSentinelTask(task, param) {
|
|
|
2416
2476
|
pumpQueue();
|
|
2417
2477
|
}
|
|
2418
2478
|
function handleStderrChunk(chunk, param) {
|
|
2419
|
-
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr;
|
|
2479
|
+
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr, hasFinalizedZeroRowQuery = param.hasFinalizedZeroRowQuery;
|
|
2420
2480
|
var inflightFirst = inflight.first;
|
|
2421
2481
|
var firstPending = pendingFinalizeTasks.values().next().value;
|
|
2422
2482
|
var zeroRowMatch = false;
|
|
@@ -2500,11 +2560,15 @@ function handleStderrChunk(chunk, param) {
|
|
|
2500
2560
|
else if ("query" === task.kind && task.rows.length > 0) {
|
|
2501
2561
|
var _logger_error1;
|
|
2502
2562
|
null == logger || null == (_logger_error1 = logger.error) || _logger_error1.call(logger, chunk.trim());
|
|
2503
|
-
} else task.
|
|
2563
|
+
} else if ("query" === task.kind && 0 === task.rows.length) if (hasFinalizedZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2564
|
+
else task.stderrText += chunk;
|
|
2565
|
+
else task.stderrText += chunk;
|
|
2504
2566
|
} else if ("query" === task.kind && task.rows.length > 0) {
|
|
2505
2567
|
var _logger_error2;
|
|
2506
2568
|
null == logger || null == (_logger_error2 = logger.error) || _logger_error2.call(logger, chunk.trim());
|
|
2507
|
-
} else task.
|
|
2569
|
+
} else if ("query" === task.kind && 0 === task.rows.length) if (hasFinalizedZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2570
|
+
else task.stderrText += chunk;
|
|
2571
|
+
else task.stderrText += chunk;
|
|
2508
2572
|
return;
|
|
2509
2573
|
}
|
|
2510
2574
|
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
@@ -3586,7 +3650,7 @@ function pipelineEngine_create_class(Constructor, protoProps, staticProps) {
|
|
|
3586
3650
|
if (staticProps) pipelineEngine_defineProperties(Constructor, staticProps);
|
|
3587
3651
|
return Constructor;
|
|
3588
3652
|
}
|
|
3589
|
-
var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflight = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _sharedValueParser = /*#__PURE__*/ new WeakMap(), pipelineEngine_processManager = /*#__PURE__*/ new WeakMap(), pipelineEngine_metrics = /*#__PURE__*/ new WeakMap(), pipelineEngine_statementTimeout = /*#__PURE__*/ new WeakMap(), pipelineEngine_logger = /*#__PURE__*/ new WeakMap(), pipelineEngine_batchSize = /*#__PURE__*/ new WeakMap(), pipelineEngine_maxInflight = /*#__PURE__*/ new WeakMap(), _onTaskTimeout = /*#__PURE__*/ new WeakMap(), _active = /*#__PURE__*/ new WeakMap(), pipelineEngine_sweeper = /*#__PURE__*/ new WeakMap(), pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakMap(), pipelineEngine_pump = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingStderr = /*#__PURE__*/ new WeakMap(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_afterSentinel = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
|
|
3653
|
+
var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflight = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _sharedValueParser = /*#__PURE__*/ new WeakMap(), pipelineEngine_processManager = /*#__PURE__*/ new WeakMap(), pipelineEngine_metrics = /*#__PURE__*/ new WeakMap(), pipelineEngine_statementTimeout = /*#__PURE__*/ new WeakMap(), pipelineEngine_logger = /*#__PURE__*/ new WeakMap(), pipelineEngine_batchSize = /*#__PURE__*/ new WeakMap(), pipelineEngine_maxInflight = /*#__PURE__*/ new WeakMap(), _onTaskTimeout = /*#__PURE__*/ new WeakMap(), _active = /*#__PURE__*/ new WeakMap(), pipelineEngine_sweeper = /*#__PURE__*/ new WeakMap(), pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakMap(), pipelineEngine_pump = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingStderr = /*#__PURE__*/ new WeakMap(), _hasFinalizedZeroRowQuery = /*#__PURE__*/ new WeakMap(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_afterSentinel = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
|
|
3590
3654
|
var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
3591
3655
|
"use strict";
|
|
3592
3656
|
function PipelineEngine(processManager, param) {
|
|
@@ -3661,6 +3725,10 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3661
3725
|
writable: true,
|
|
3662
3726
|
value: []
|
|
3663
3727
|
});
|
|
3728
|
+
pipelineEngine_class_private_field_init(this, _hasFinalizedZeroRowQuery, {
|
|
3729
|
+
writable: true,
|
|
3730
|
+
value: false
|
|
3731
|
+
});
|
|
3664
3732
|
pipelineEngine_class_private_field_set(this, pipelineEngine_processManager, processManager);
|
|
3665
3733
|
pipelineEngine_class_private_field_set(this, pipelineEngine_metrics, metrics);
|
|
3666
3734
|
pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
|
|
@@ -3786,7 +3854,8 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3786
3854
|
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3787
3855
|
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3788
3856
|
logger: pipelineEngine_class_private_field_get(this, pipelineEngine_logger),
|
|
3789
|
-
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr)
|
|
3857
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr),
|
|
3858
|
+
hasFinalizedZeroRowQuery: pipelineEngine_class_private_field_get(this, _hasFinalizedZeroRowQuery)
|
|
3790
3859
|
});
|
|
3791
3860
|
}
|
|
3792
3861
|
},
|
|
@@ -3839,6 +3908,8 @@ function pipelineEngine_afterSentinel(task) {
|
|
|
3839
3908
|
});
|
|
3840
3909
|
}
|
|
3841
3910
|
function pipelineEngine_settleTask1(task, error, value) {
|
|
3911
|
+
var _task_rows;
|
|
3912
|
+
if ("query" === task.kind && (null == (_task_rows = task.rows) ? void 0 : _task_rows.length) === 0) pipelineEngine_class_private_field_set(this, _hasFinalizedZeroRowQuery, true);
|
|
3842
3913
|
settleUtils_settleTask(task, error, value, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics), {
|
|
3843
3914
|
resetRowParser: true
|
|
3844
3915
|
});
|