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/esm/index.mjs
CHANGED
|
@@ -173,6 +173,43 @@ function createRowStreamParser(onRow) {
|
|
|
173
173
|
index++;
|
|
174
174
|
continue;
|
|
175
175
|
}
|
|
176
|
+
if (-1 !== elementEnd) {
|
|
177
|
+
if (isWhitespaceCode(code)) {
|
|
178
|
+
index++;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
181
|
+
if (code === CHAR_COMMA || code === CHAR_CLOSE_BRACKET) {
|
|
182
|
+
onRow(buffer.slice(elementStart, elementEnd));
|
|
183
|
+
consumed = index + 1;
|
|
184
|
+
elementStart = -1;
|
|
185
|
+
elementEnd = -1;
|
|
186
|
+
nesting = 0;
|
|
187
|
+
if (code === CHAR_CLOSE_BRACKET) {
|
|
188
|
+
this.finished = true;
|
|
189
|
+
this.buffer = "";
|
|
190
|
+
this.started = false;
|
|
191
|
+
this.inString = false;
|
|
192
|
+
this.escaped = false;
|
|
193
|
+
this.elementStart = -1;
|
|
194
|
+
this.elementEnd = -1;
|
|
195
|
+
this.nesting = 0;
|
|
196
|
+
this._consumed = 0;
|
|
197
|
+
this.readPos = 0;
|
|
198
|
+
return buffer.slice(consumed);
|
|
199
|
+
}
|
|
200
|
+
index = consumed;
|
|
201
|
+
if (consumed > 65536) {
|
|
202
|
+
buffer = buffer.slice(consumed);
|
|
203
|
+
this.buffer = buffer;
|
|
204
|
+
this._consumed = 0;
|
|
205
|
+
index = 0;
|
|
206
|
+
consumed = 0;
|
|
207
|
+
}
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
index++;
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
176
213
|
if (code === CHAR_QUOTE) {
|
|
177
214
|
inString = true;
|
|
178
215
|
index++;
|
|
@@ -187,42 +224,6 @@ function createRowStreamParser(onRow) {
|
|
|
187
224
|
nesting--;
|
|
188
225
|
if (0 === nesting) elementEnd = index + 1;
|
|
189
226
|
}
|
|
190
|
-
if (-1 !== elementEnd) {
|
|
191
|
-
var lookAhead = index + 1;
|
|
192
|
-
while(lookAhead < buffer.length && isWhitespaceCode(buffer.charCodeAt(lookAhead)))lookAhead++;
|
|
193
|
-
if (lookAhead < buffer.length) {
|
|
194
|
-
var delimiter = buffer.charCodeAt(lookAhead);
|
|
195
|
-
if (delimiter === CHAR_COMMA || delimiter === CHAR_CLOSE_BRACKET) {
|
|
196
|
-
onRow(buffer.slice(elementStart, elementEnd));
|
|
197
|
-
consumed = lookAhead + 1;
|
|
198
|
-
elementStart = -1;
|
|
199
|
-
elementEnd = -1;
|
|
200
|
-
nesting = 0;
|
|
201
|
-
if (delimiter === CHAR_CLOSE_BRACKET) {
|
|
202
|
-
this.finished = true;
|
|
203
|
-
this.buffer = "";
|
|
204
|
-
this.started = false;
|
|
205
|
-
this.inString = false;
|
|
206
|
-
this.escaped = false;
|
|
207
|
-
this.elementStart = -1;
|
|
208
|
-
this.elementEnd = -1;
|
|
209
|
-
this.nesting = 0;
|
|
210
|
-
this._consumed = 0;
|
|
211
|
-
this.readPos = 0;
|
|
212
|
-
return buffer.slice(consumed);
|
|
213
|
-
}
|
|
214
|
-
index = consumed;
|
|
215
|
-
if (consumed > 65536) {
|
|
216
|
-
buffer = buffer.slice(consumed);
|
|
217
|
-
this.buffer = buffer;
|
|
218
|
-
this._consumed = 0;
|
|
219
|
-
index = 0;
|
|
220
|
-
consumed = 0;
|
|
221
|
-
}
|
|
222
|
-
continue;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
227
|
index++;
|
|
227
228
|
}
|
|
228
229
|
this.started = started;
|
|
@@ -2242,6 +2243,7 @@ function createFinalizeScheduler(param) {
|
|
|
2242
2243
|
var scheduled = false;
|
|
2243
2244
|
var immediate = null;
|
|
2244
2245
|
var cancelled = false;
|
|
2246
|
+
var delayedZeroRowQueries = new WeakSet();
|
|
2245
2247
|
var cancel = function() {
|
|
2246
2248
|
cancelled = true;
|
|
2247
2249
|
if (immediate) {
|
|
@@ -2257,8 +2259,66 @@ function createFinalizeScheduler(param) {
|
|
|
2257
2259
|
immediate = setImmediate(function() {
|
|
2258
2260
|
immediate = null;
|
|
2259
2261
|
if (cancelled) return;
|
|
2262
|
+
var delayedTasks = [];
|
|
2263
|
+
var hasQueryRows = Array.from(pendingFinalizeTasks).some(function(task) {
|
|
2264
|
+
return "query" === task.kind && task.rows.length > 0;
|
|
2265
|
+
});
|
|
2266
|
+
if (!(null == pendingStderr ? void 0 : pendingStderr.length) && hasQueryRows) {
|
|
2267
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2268
|
+
try {
|
|
2269
|
+
for(var _iterator = pendingFinalizeTasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2270
|
+
var task = _step.value;
|
|
2271
|
+
if ("query" === task.kind && 0 === task.rows.length && !task.stderrText && !task.consumerError && !delayedZeroRowQueries.has(task)) {
|
|
2272
|
+
delayedZeroRowQueries.add(task);
|
|
2273
|
+
delayedTasks.push(task);
|
|
2274
|
+
}
|
|
2275
|
+
}
|
|
2276
|
+
} catch (err) {
|
|
2277
|
+
_didIteratorError = true;
|
|
2278
|
+
_iteratorError = err;
|
|
2279
|
+
} finally{
|
|
2280
|
+
try {
|
|
2281
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2282
|
+
} finally{
|
|
2283
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2284
|
+
}
|
|
2285
|
+
}
|
|
2286
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2287
|
+
try {
|
|
2288
|
+
for(var _iterator1 = delayedTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2289
|
+
var task1 = _step1.value;
|
|
2290
|
+
pendingFinalizeTasks["delete"](task1);
|
|
2291
|
+
}
|
|
2292
|
+
} catch (err) {
|
|
2293
|
+
_didIteratorError1 = true;
|
|
2294
|
+
_iteratorError1 = err;
|
|
2295
|
+
} finally{
|
|
2296
|
+
try {
|
|
2297
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2298
|
+
} finally{
|
|
2299
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2300
|
+
}
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2260
2303
|
finalizePendingTasks(pendingFinalizeTasks, settle, pumpQueue, pendingStderr, inflight);
|
|
2304
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2305
|
+
try {
|
|
2306
|
+
for(var _iterator2 = delayedTasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2307
|
+
var task2 = _step2.value;
|
|
2308
|
+
pendingFinalizeTasks.add(task2);
|
|
2309
|
+
}
|
|
2310
|
+
} catch (err) {
|
|
2311
|
+
_didIteratorError2 = true;
|
|
2312
|
+
_iteratorError2 = err;
|
|
2313
|
+
} finally{
|
|
2314
|
+
try {
|
|
2315
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2316
|
+
} finally{
|
|
2317
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2318
|
+
}
|
|
2319
|
+
}
|
|
2261
2320
|
scheduled = false;
|
|
2321
|
+
if (delayedTasks.length > 0) check();
|
|
2262
2322
|
});
|
|
2263
2323
|
};
|
|
2264
2324
|
check.cancel = cancel;
|
|
@@ -2356,7 +2416,7 @@ function handleSentinelTask(task, param) {
|
|
|
2356
2416
|
pumpQueue();
|
|
2357
2417
|
}
|
|
2358
2418
|
function handleStderrChunk(chunk, param) {
|
|
2359
|
-
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr;
|
|
2419
|
+
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr, hasFinalizedZeroRowQuery = param.hasFinalizedZeroRowQuery;
|
|
2360
2420
|
var inflightFirst = inflight.first;
|
|
2361
2421
|
var firstPending = pendingFinalizeTasks.values().next().value;
|
|
2362
2422
|
var zeroRowMatch = false;
|
|
@@ -2440,11 +2500,15 @@ function handleStderrChunk(chunk, param) {
|
|
|
2440
2500
|
else if ("query" === task.kind && task.rows.length > 0) {
|
|
2441
2501
|
var _logger_error1;
|
|
2442
2502
|
null == logger || null == (_logger_error1 = logger.error) || _logger_error1.call(logger, chunk.trim());
|
|
2443
|
-
} else task.
|
|
2503
|
+
} else if ("query" === task.kind && 0 === task.rows.length) if (hasFinalizedZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2504
|
+
else task.stderrText += chunk;
|
|
2505
|
+
else task.stderrText += chunk;
|
|
2444
2506
|
} else if ("query" === task.kind && task.rows.length > 0) {
|
|
2445
2507
|
var _logger_error2;
|
|
2446
2508
|
null == logger || null == (_logger_error2 = logger.error) || _logger_error2.call(logger, chunk.trim());
|
|
2447
|
-
} else task.
|
|
2509
|
+
} else if ("query" === task.kind && 0 === task.rows.length) if (hasFinalizedZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2510
|
+
else task.stderrText += chunk;
|
|
2511
|
+
else task.stderrText += chunk;
|
|
2448
2512
|
return;
|
|
2449
2513
|
}
|
|
2450
2514
|
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
@@ -3526,7 +3590,7 @@ function pipelineEngine_create_class(Constructor, protoProps, staticProps) {
|
|
|
3526
3590
|
if (staticProps) pipelineEngine_defineProperties(Constructor, staticProps);
|
|
3527
3591
|
return Constructor;
|
|
3528
3592
|
}
|
|
3529
|
-
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();
|
|
3593
|
+
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();
|
|
3530
3594
|
var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
3531
3595
|
"use strict";
|
|
3532
3596
|
function PipelineEngine(processManager, param) {
|
|
@@ -3601,6 +3665,10 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3601
3665
|
writable: true,
|
|
3602
3666
|
value: []
|
|
3603
3667
|
});
|
|
3668
|
+
pipelineEngine_class_private_field_init(this, _hasFinalizedZeroRowQuery, {
|
|
3669
|
+
writable: true,
|
|
3670
|
+
value: false
|
|
3671
|
+
});
|
|
3604
3672
|
pipelineEngine_class_private_field_set(this, pipelineEngine_processManager, processManager);
|
|
3605
3673
|
pipelineEngine_class_private_field_set(this, pipelineEngine_metrics, metrics);
|
|
3606
3674
|
pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
|
|
@@ -3726,7 +3794,8 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3726
3794
|
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3727
3795
|
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3728
3796
|
logger: pipelineEngine_class_private_field_get(this, pipelineEngine_logger),
|
|
3729
|
-
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr)
|
|
3797
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr),
|
|
3798
|
+
hasFinalizedZeroRowQuery: pipelineEngine_class_private_field_get(this, _hasFinalizedZeroRowQuery)
|
|
3730
3799
|
});
|
|
3731
3800
|
}
|
|
3732
3801
|
},
|
|
@@ -3779,6 +3848,8 @@ function pipelineEngine_afterSentinel(task) {
|
|
|
3779
3848
|
});
|
|
3780
3849
|
}
|
|
3781
3850
|
function pipelineEngine_settleTask1(task, error, value) {
|
|
3851
|
+
var _task_rows;
|
|
3852
|
+
if ("query" === task.kind && (null == (_task_rows = task.rows) ? void 0 : _task_rows.length) === 0) pipelineEngine_class_private_field_set(this, _hasFinalizedZeroRowQuery, true);
|
|
3782
3853
|
settleUtils_settleTask(task, error, value, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics), {
|
|
3783
3854
|
resetRowParser: true
|
|
3784
3855
|
});
|