sqlite-executor 4.0.6 → 4.0.8
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/core/inflightTracker.d.cts +33 -0
- package/dist/cjs/core/metrics.d.cts +4 -4
- package/dist/cjs/core/pipelineUtils.d.cts +196 -0
- package/dist/cjs/index.cjs +1006 -729
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/core/inflightTracker.d.mts +33 -0
- package/dist/esm/core/metrics.d.mts +4 -4
- package/dist/esm/core/pipelineUtils.d.mts +196 -0
- package/dist/esm/index.mjs +1006 -729
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +32 -2
package/dist/esm/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as __WEBPACK_EXTERNAL_MODULE_node_events_0a6aefe7__ from "node:events";
|
|
2
1
|
import * as __WEBPACK_EXTERNAL_MODULE_node_child_process_27f17141__ from "node:child_process";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_node_events_0a6aefe7__ from "node:events";
|
|
3
3
|
import * as __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__ from "node:fs";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
|
|
5
5
|
import * as __WEBPACK_EXTERNAL_MODULE_node_os_74b4b876__ from "node:os";
|
|
@@ -213,7 +213,8 @@ function createRowStreamParser(onRow) {
|
|
|
213
213
|
}
|
|
214
214
|
index = consumed;
|
|
215
215
|
if (consumed > 65536) {
|
|
216
|
-
|
|
216
|
+
buffer = buffer.slice(consumed);
|
|
217
|
+
this.buffer = buffer;
|
|
217
218
|
this._consumed = 0;
|
|
218
219
|
index = 0;
|
|
219
220
|
consumed = 0;
|
|
@@ -264,6 +265,7 @@ function createRowStreamParser(onRow) {
|
|
|
264
265
|
var TOKEN_COLUMN = "__sqlite_executor_token__";
|
|
265
266
|
var DEFAULT_BATCH_SIZE = 10;
|
|
266
267
|
var DEFAULT_MAX_INFLIGHT = 50;
|
|
268
|
+
var INFLIGHT_COMPACT_THRESHOLD = 128;
|
|
267
269
|
function _check_private_redeclaration(obj, privateCollection) {
|
|
268
270
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
269
271
|
}
|
|
@@ -337,7 +339,7 @@ function _type_of(obj) {
|
|
|
337
339
|
}
|
|
338
340
|
var _computedKey;
|
|
339
341
|
function setupStreamParser(task) {
|
|
340
|
-
var
|
|
342
|
+
var pipelineOrFeed = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
|
|
341
343
|
feed: function() {}
|
|
342
344
|
};
|
|
343
345
|
if ("stream" !== task.kind) return null;
|
|
@@ -345,7 +347,7 @@ function setupStreamParser(task) {
|
|
|
345
347
|
if (task.consumerError) return;
|
|
346
348
|
try {
|
|
347
349
|
var row = JSON.parse(rawRow);
|
|
348
|
-
if ((void 0 === row ? "undefined" : _type_of(row)) === "object" && null !== row && TOKEN_COLUMN in row) return void
|
|
350
|
+
if ((void 0 === row ? "undefined" : _type_of(row)) === "object" && null !== row && TOKEN_COLUMN in row) return void pipelineOrFeed.feed("[".concat(rawRow, "]"));
|
|
349
351
|
task.onRow(row);
|
|
350
352
|
} catch (error) {
|
|
351
353
|
task.consumerError = toError(error);
|
|
@@ -546,10 +548,12 @@ function createTransactionHandle(scopeId, executor) {
|
|
|
546
548
|
};
|
|
547
549
|
return handle;
|
|
548
550
|
}
|
|
549
|
-
|
|
551
|
+
function isWindows() {
|
|
552
|
+
return "win32" === __WEBPACK_EXTERNAL_MODULE_node_os_74b4b876__["default"].platform();
|
|
553
|
+
}
|
|
550
554
|
function isExecutable(filePath) {
|
|
551
555
|
try {
|
|
552
|
-
if (isWindows) return __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].statSync(filePath).isFile();
|
|
556
|
+
if (isWindows()) return __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].statSync(filePath).isFile();
|
|
553
557
|
__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].accessSync(filePath, __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].constants.X_OK);
|
|
554
558
|
return true;
|
|
555
559
|
} catch (e) {
|
|
@@ -557,7 +561,7 @@ function isExecutable(filePath) {
|
|
|
557
561
|
}
|
|
558
562
|
}
|
|
559
563
|
function getPathExts() {
|
|
560
|
-
if (!isWindows) return [
|
|
564
|
+
if (!isWindows()) return [
|
|
561
565
|
""
|
|
562
566
|
];
|
|
563
567
|
var ext = process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM;.PS1";
|
|
@@ -570,7 +574,7 @@ function which(command) {
|
|
|
570
574
|
var pathExts = getPathExts();
|
|
571
575
|
if (command.includes(__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].sep)) {
|
|
572
576
|
var fullPath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].resolve(command);
|
|
573
|
-
if (!isWindows) return isExecutable(fullPath) ? fullPath : null;
|
|
577
|
+
if (!isWindows()) return isExecutable(fullPath) ? fullPath : null;
|
|
574
578
|
if (__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].extname(fullPath)) return isExecutable(fullPath) ? fullPath : null;
|
|
575
579
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
576
580
|
try {
|
|
@@ -597,7 +601,7 @@ function which(command) {
|
|
|
597
601
|
try {
|
|
598
602
|
for(var _iterator1 = pathDirs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
599
603
|
var dir = _step1.value;
|
|
600
|
-
if (dir) if (isWindows) {
|
|
604
|
+
if (dir) if (isWindows()) {
|
|
601
605
|
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
602
606
|
try {
|
|
603
607
|
for(var _iterator2 = pathExts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
@@ -692,6 +696,14 @@ function process_class_private_field_set(receiver, privateMap, value) {
|
|
|
692
696
|
process_class_apply_descriptor_set(receiver, descriptor, value);
|
|
693
697
|
return value;
|
|
694
698
|
}
|
|
699
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
700
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
701
|
+
return fn;
|
|
702
|
+
}
|
|
703
|
+
function _class_private_method_init(obj, privateSet) {
|
|
704
|
+
process_check_private_redeclaration(obj, privateSet);
|
|
705
|
+
privateSet.add(obj);
|
|
706
|
+
}
|
|
695
707
|
function process_defineProperties(target, props) {
|
|
696
708
|
for(var i = 0; i < props.length; i++){
|
|
697
709
|
var descriptor = props[i];
|
|
@@ -798,12 +810,14 @@ function _ts_generator(thisArg, body) {
|
|
|
798
810
|
}
|
|
799
811
|
}
|
|
800
812
|
var GRACEFUL_SHUTDOWN_TIMEOUT = 5000;
|
|
801
|
-
var _binary = /*#__PURE__*/ new WeakMap(), _database = /*#__PURE__*/ new WeakMap(), _proc = /*#__PURE__*/ new WeakMap(), _initMode = /*#__PURE__*/ new WeakMap(), _draining = /*#__PURE__*/ new WeakMap(), _onDrain = /*#__PURE__*/ new WeakMap();
|
|
813
|
+
var _binary = /*#__PURE__*/ new WeakMap(), _database = /*#__PURE__*/ new WeakMap(), _proc = /*#__PURE__*/ new WeakMap(), _initMode = /*#__PURE__*/ new WeakMap(), _draining = /*#__PURE__*/ new WeakMap(), _writeBuffer = /*#__PURE__*/ new WeakMap(), _drainCallbacks = /*#__PURE__*/ new WeakMap(), _onDrain = /*#__PURE__*/ new WeakMap(), _flushBuffer = /*#__PURE__*/ new WeakSet(), _notifyIfDrained = /*#__PURE__*/ new WeakSet();
|
|
802
814
|
var process_ProcessManager = /*#__PURE__*/ function() {
|
|
803
815
|
"use strict";
|
|
804
816
|
function ProcessManager() {
|
|
805
817
|
var _ref = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, binary = _ref.binary, database = _ref.database, _ref_initMode = _ref.initMode, initMode = void 0 === _ref_initMode ? "wal" : _ref_initMode, onDrain = _ref.onDrain;
|
|
806
818
|
process_class_call_check(this, ProcessManager);
|
|
819
|
+
_class_private_method_init(this, _flushBuffer);
|
|
820
|
+
_class_private_method_init(this, _notifyIfDrained);
|
|
807
821
|
process_class_private_field_init(this, _binary, {
|
|
808
822
|
writable: true,
|
|
809
823
|
value: void 0
|
|
@@ -824,6 +838,14 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
824
838
|
writable: true,
|
|
825
839
|
value: false
|
|
826
840
|
});
|
|
841
|
+
process_class_private_field_init(this, _writeBuffer, {
|
|
842
|
+
writable: true,
|
|
843
|
+
value: []
|
|
844
|
+
});
|
|
845
|
+
process_class_private_field_init(this, _drainCallbacks, {
|
|
846
|
+
writable: true,
|
|
847
|
+
value: []
|
|
848
|
+
});
|
|
827
849
|
process_class_private_field_init(this, _onDrain, {
|
|
828
850
|
writable: true,
|
|
829
851
|
value: void 0
|
|
@@ -847,6 +869,13 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
847
869
|
process_class_private_field_set(this, _onDrain, fn);
|
|
848
870
|
}
|
|
849
871
|
},
|
|
872
|
+
{
|
|
873
|
+
key: "onDrained",
|
|
874
|
+
value: function(callback) {
|
|
875
|
+
if (!process_class_private_field_get(this, _draining) && 0 === process_class_private_field_get(this, _writeBuffer).length) return void callback();
|
|
876
|
+
process_class_private_field_get(this, _drainCallbacks).push(callback);
|
|
877
|
+
}
|
|
878
|
+
},
|
|
850
879
|
{
|
|
851
880
|
key: "binary",
|
|
852
881
|
get: function() {
|
|
@@ -862,9 +891,9 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
862
891
|
{
|
|
863
892
|
key: "start",
|
|
864
893
|
value: function() {
|
|
865
|
-
var _proc_stdin, _proc_stdout, _proc_stderr;
|
|
894
|
+
var _proc_stdin, _proc_stdout, _proc_stderr, _proc_stdin1;
|
|
866
895
|
if (!process_class_private_field_get(this, _binary)) throw new Error("sqlite3 binary path is empty. Provide a valid --binary / binary option.");
|
|
867
|
-
if (!__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].existsSync(process_class_private_field_get(this, _binary))) throw new Error("sqlite3 binary not found: ".concat(process_class_private_field_get(this, _binary), ". Make sure sqlite3 is installed or provide a valid --binary / binary option."));
|
|
896
|
+
if (__WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].isAbsolute(process_class_private_field_get(this, _binary)) && !__WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].existsSync(process_class_private_field_get(this, _binary))) throw new Error("sqlite3 binary not found: ".concat(process_class_private_field_get(this, _binary), ". Make sure sqlite3 is installed or provide a valid --binary / binary option."));
|
|
868
897
|
var args = [
|
|
869
898
|
"-json"
|
|
870
899
|
];
|
|
@@ -881,6 +910,7 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
881
910
|
null == (_proc_stdin = proc.stdin) || _proc_stdin.setDefaultEncoding("utf-8");
|
|
882
911
|
null == (_proc_stdout = proc.stdout) || _proc_stdout.setEncoding("utf-8");
|
|
883
912
|
null == (_proc_stderr = proc.stderr) || _proc_stderr.setEncoding("utf-8");
|
|
913
|
+
null == (_proc_stdin1 = proc.stdin) || _proc_stdin1.on("error", function() {});
|
|
884
914
|
process_class_private_field_set(this, _proc, proc);
|
|
885
915
|
return proc;
|
|
886
916
|
}
|
|
@@ -892,11 +922,13 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
892
922
|
var _$_class_private_field_get;
|
|
893
923
|
var stream = null == (_$_class_private_field_get = process_class_private_field_get(this, _proc)) ? void 0 : _$_class_private_field_get.stdin;
|
|
894
924
|
if (!stream) return;
|
|
895
|
-
if (process_class_private_field_get(this, _draining)) return;
|
|
925
|
+
if (process_class_private_field_get(this, _draining)) return void process_class_private_field_get(this, _writeBuffer).push(data);
|
|
896
926
|
if (!stream.write(data)) {
|
|
897
927
|
process_class_private_field_set(this, _draining, true);
|
|
898
928
|
stream.once("drain", function() {
|
|
899
929
|
process_class_private_field_set(_this, _draining, false);
|
|
930
|
+
_class_private_method_get(_this, _flushBuffer, flushBuffer).call(_this);
|
|
931
|
+
_class_private_method_get(_this, _notifyIfDrained, notifyIfDrained).call(_this);
|
|
900
932
|
process_class_private_field_get(_this, _onDrain).call(_this);
|
|
901
933
|
});
|
|
902
934
|
}
|
|
@@ -915,40 +947,58 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
915
947
|
if (!proc) return [
|
|
916
948
|
2
|
|
917
949
|
];
|
|
950
|
+
if (!(process_class_private_field_get(_this, _draining) || process_class_private_field_get(_this, _writeBuffer).length > 0)) return [
|
|
951
|
+
3,
|
|
952
|
+
2
|
|
953
|
+
];
|
|
954
|
+
return [
|
|
955
|
+
4,
|
|
956
|
+
new Promise(function(resolve) {
|
|
957
|
+
var timer = setTimeout(resolve, GRACEFUL_SHUTDOWN_TIMEOUT);
|
|
958
|
+
_this.onDrained(function() {
|
|
959
|
+
clearTimeout(timer);
|
|
960
|
+
resolve();
|
|
961
|
+
});
|
|
962
|
+
})
|
|
963
|
+
];
|
|
964
|
+
case 1:
|
|
965
|
+
_state.sent();
|
|
966
|
+
_state.label = 2;
|
|
967
|
+
case 2:
|
|
918
968
|
timer = setTimeout(function() {
|
|
919
969
|
proc.kill();
|
|
920
|
-
}, GRACEFUL_SHUTDOWN_TIMEOUT);
|
|
921
|
-
_state.label =
|
|
922
|
-
case
|
|
970
|
+
}, GRACEFUL_SHUTDOWN_TIMEOUT).unref();
|
|
971
|
+
_state.label = 3;
|
|
972
|
+
case 3:
|
|
923
973
|
_state.trys.push([
|
|
924
|
-
1,
|
|
925
974
|
3,
|
|
926
|
-
|
|
927
|
-
|
|
975
|
+
5,
|
|
976
|
+
6,
|
|
977
|
+
7
|
|
928
978
|
]);
|
|
929
979
|
null == (_proc_stdin = proc.stdin) || _proc_stdin.write(".quit\n");
|
|
930
980
|
return [
|
|
931
981
|
4,
|
|
932
982
|
(0, __WEBPACK_EXTERNAL_MODULE_node_events_0a6aefe7__.once)(proc, "close")
|
|
933
983
|
];
|
|
934
|
-
case
|
|
984
|
+
case 4:
|
|
935
985
|
_state.sent();
|
|
936
986
|
return [
|
|
937
987
|
3,
|
|
938
|
-
|
|
988
|
+
7
|
|
939
989
|
];
|
|
940
|
-
case
|
|
990
|
+
case 5:
|
|
941
991
|
_state.sent();
|
|
942
992
|
return [
|
|
943
993
|
3,
|
|
944
|
-
|
|
994
|
+
7
|
|
945
995
|
];
|
|
946
|
-
case
|
|
996
|
+
case 6:
|
|
947
997
|
clearTimeout(timer);
|
|
948
998
|
return [
|
|
949
999
|
7
|
|
950
1000
|
];
|
|
951
|
-
case
|
|
1001
|
+
case 7:
|
|
952
1002
|
return [
|
|
953
1003
|
2
|
|
954
1004
|
];
|
|
@@ -965,6 +1015,8 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
965
1015
|
if (!proc) return null;
|
|
966
1016
|
process_class_private_field_set(this, _proc, null);
|
|
967
1017
|
process_class_private_field_set(this, _draining, false);
|
|
1018
|
+
process_class_private_field_set(this, _writeBuffer, []);
|
|
1019
|
+
process_class_private_field_set(this, _drainCallbacks, []);
|
|
968
1020
|
null == (_proc_stdout = proc.stdout) || _proc_stdout.removeAllListeners();
|
|
969
1021
|
null == (_proc_stderr = proc.stderr) || _proc_stderr.removeAllListeners();
|
|
970
1022
|
proc.removeAllListeners();
|
|
@@ -976,6 +1028,47 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
976
1028
|
]);
|
|
977
1029
|
return ProcessManager;
|
|
978
1030
|
}();
|
|
1031
|
+
function flushBuffer() {
|
|
1032
|
+
var buffer = process_class_private_field_get(this, _writeBuffer);
|
|
1033
|
+
process_class_private_field_set(this, _writeBuffer, []);
|
|
1034
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1035
|
+
try {
|
|
1036
|
+
for(var _iterator = buffer[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1037
|
+
var data = _step.value;
|
|
1038
|
+
this.write(data);
|
|
1039
|
+
}
|
|
1040
|
+
} catch (err) {
|
|
1041
|
+
_didIteratorError = true;
|
|
1042
|
+
_iteratorError = err;
|
|
1043
|
+
} finally{
|
|
1044
|
+
try {
|
|
1045
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1046
|
+
} finally{
|
|
1047
|
+
if (_didIteratorError) throw _iteratorError;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
function notifyIfDrained() {
|
|
1052
|
+
if (process_class_private_field_get(this, _draining)) return;
|
|
1053
|
+
var callbacks = process_class_private_field_get(this, _drainCallbacks);
|
|
1054
|
+
process_class_private_field_set(this, _drainCallbacks, []);
|
|
1055
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1056
|
+
try {
|
|
1057
|
+
for(var _iterator = callbacks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1058
|
+
var cb = _step.value;
|
|
1059
|
+
cb();
|
|
1060
|
+
}
|
|
1061
|
+
} catch (err) {
|
|
1062
|
+
_didIteratorError = true;
|
|
1063
|
+
_iteratorError = err;
|
|
1064
|
+
} finally{
|
|
1065
|
+
try {
|
|
1066
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1067
|
+
} finally{
|
|
1068
|
+
if (_didIteratorError) throw _iteratorError;
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
979
1072
|
var _counter = 0;
|
|
980
1073
|
var _PREFIX = "__executor_end__";
|
|
981
1074
|
var _PID36 = process.pid.toString(36);
|
|
@@ -1073,7 +1166,8 @@ var lruCache_LRUCache = /*#__PURE__*/ function() {
|
|
|
1073
1166
|
key: "set",
|
|
1074
1167
|
value: function(key, value) {
|
|
1075
1168
|
if ("string" != typeof key || key.length > lruCache_class_private_field_get(this, _maxKeyLength)) return;
|
|
1076
|
-
if (value && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1169
|
+
if ("string" == typeof value && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1170
|
+
if (Array.isArray(value) && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1077
1171
|
if (lruCache_class_private_field_get(this, _map).size >= lruCache_class_private_field_get(this, _maxSize)) {
|
|
1078
1172
|
var firstKey = lruCache_class_private_field_get(this, _map).keys().next().value;
|
|
1079
1173
|
lruCache_class_private_field_get(this, _map)["delete"](firstKey);
|
|
@@ -1139,7 +1233,19 @@ var constants_STATE_SINGLE_QUOTE = 1;
|
|
|
1139
1233
|
var constants_STATE_DOUBLE_QUOTE = 2;
|
|
1140
1234
|
var constants_STATE_LINE_COMMENT = 3;
|
|
1141
1235
|
var constants_STATE_BLOCK_COMMENT = 4;
|
|
1142
|
-
|
|
1236
|
+
function _decodeU16(codes) {
|
|
1237
|
+
var len = codes.length;
|
|
1238
|
+
if (0 === len) return "";
|
|
1239
|
+
var batchSize = 1024;
|
|
1240
|
+
if (len <= batchSize) return String.fromCharCode.apply(null, codes);
|
|
1241
|
+
var parts = new Array(Math.ceil(len / batchSize));
|
|
1242
|
+
for(var i = 0; i < parts.length; i++){
|
|
1243
|
+
var start = i * batchSize;
|
|
1244
|
+
var end = Math.min(start + batchSize, len);
|
|
1245
|
+
parts[i] = String.fromCharCode.apply(null, codes.subarray(start, end));
|
|
1246
|
+
}
|
|
1247
|
+
return parts.join("");
|
|
1248
|
+
}
|
|
1143
1249
|
var _normCache = new lruCache_LRUCache({
|
|
1144
1250
|
maxSize: 256,
|
|
1145
1251
|
maxKeyLength: 4096
|
|
@@ -1220,7 +1326,7 @@ function _normalize(sql) {
|
|
|
1220
1326
|
else {
|
|
1221
1327
|
while(writePos > 0 && outCodes[writePos - 1] === CC_SEMICOLON)writePos--;
|
|
1222
1328
|
outCodes[writePos++] = CC_SEMICOLON;
|
|
1223
|
-
normalized =
|
|
1329
|
+
normalized = _decodeU16(outCodes.subarray(0, writePos));
|
|
1224
1330
|
}
|
|
1225
1331
|
var paramCount = questionPositions.length;
|
|
1226
1332
|
if (0 === paramCount) return {
|
|
@@ -1282,8 +1388,8 @@ var _classifyCache = new lruCache_LRUCache({
|
|
|
1282
1388
|
});
|
|
1283
1389
|
function classifySingle(stmt) {
|
|
1284
1390
|
var trimmed = stmt.trim();
|
|
1285
|
-
|
|
1286
|
-
var kind = trimmed.
|
|
1391
|
+
var firstSpace = trimmed.indexOf(" ");
|
|
1392
|
+
var kind = (-1 === firstSpace ? trimmed : trimmed.slice(0, firstSpace)).toUpperCase();
|
|
1287
1393
|
return READ_ONLY_KINDS.has(kind) ? "read" : "write";
|
|
1288
1394
|
}
|
|
1289
1395
|
function classifySQL(sql) {
|
|
@@ -1376,11 +1482,11 @@ function queue_class_private_field_update(receiver, privateMap) {
|
|
|
1376
1482
|
var descriptor = queue_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
1377
1483
|
return queue_class_apply_descriptor_update(receiver, descriptor);
|
|
1378
1484
|
}
|
|
1379
|
-
function
|
|
1485
|
+
function queue_class_private_method_get(receiver, privateSet, fn) {
|
|
1380
1486
|
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
1381
1487
|
return fn;
|
|
1382
1488
|
}
|
|
1383
|
-
function
|
|
1489
|
+
function queue_class_private_method_init(obj, privateSet) {
|
|
1384
1490
|
queue_check_private_redeclaration(obj, privateSet);
|
|
1385
1491
|
privateSet.add(obj);
|
|
1386
1492
|
}
|
|
@@ -1499,8 +1605,8 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1499
1605
|
"use strict";
|
|
1500
1606
|
function Queue() {
|
|
1501
1607
|
queue_class_call_check(this, Queue);
|
|
1502
|
-
|
|
1503
|
-
|
|
1608
|
+
queue_class_private_method_init(this, _grow);
|
|
1609
|
+
queue_class_private_method_init(this, _shrinkIfNeeded);
|
|
1504
1610
|
queue_class_private_field_init(this, _items, {
|
|
1505
1611
|
writable: true,
|
|
1506
1612
|
value: new Array(INITIAL_CAPACITY)
|
|
@@ -1526,7 +1632,7 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1526
1632
|
{
|
|
1527
1633
|
key: "enqueue",
|
|
1528
1634
|
value: function(value) {
|
|
1529
|
-
if (queue_class_private_field_get(this, _size) === queue_class_private_field_get(this, _items).length)
|
|
1635
|
+
if (queue_class_private_field_get(this, _size) === queue_class_private_field_get(this, _items).length) queue_class_private_method_get(this, _grow, grow).call(this);
|
|
1530
1636
|
queue_class_private_field_get(this, _items)[queue_class_private_field_get(this, _tail)] = value;
|
|
1531
1637
|
queue_class_private_field_set(this, _tail, queue_class_private_field_get(this, _tail) + 1 & queue_class_private_field_get(this, _mask));
|
|
1532
1638
|
queue_class_private_field_update(this, _size).value++;
|
|
@@ -1550,7 +1656,7 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1550
1656
|
queue_class_private_field_set(this, _head, 0);
|
|
1551
1657
|
queue_class_private_field_set(this, _tail, 0);
|
|
1552
1658
|
queue_class_private_field_set(this, _size, 0);
|
|
1553
|
-
|
|
1659
|
+
queue_class_private_method_get(this, _shrinkIfNeeded, shrinkIfNeeded).call(this);
|
|
1554
1660
|
}
|
|
1555
1661
|
},
|
|
1556
1662
|
{
|
|
@@ -1711,179 +1817,6 @@ function shrinkIfNeeded() {
|
|
|
1711
1817
|
queue_class_private_field_set(this, _mask, INITIAL_CAPACITY - 1);
|
|
1712
1818
|
}
|
|
1713
1819
|
}
|
|
1714
|
-
function buildPayload(sql, token) {
|
|
1715
|
-
var _ref = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, _ref_skipNormalize = _ref.skipNormalize, skipNormalize = void 0 === _ref_skipNormalize ? false : _ref_skipNormalize;
|
|
1716
|
-
var normalized = skipNormalize ? sql : normalizeSQL(sql);
|
|
1717
|
-
var suffix = normalized.endsWith(";") ? "" : ";";
|
|
1718
|
-
return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
|
|
1719
|
-
}
|
|
1720
|
-
function isTransactionControl(sql) {
|
|
1721
|
-
var f = sql.charCodeAt(0);
|
|
1722
|
-
if (66 === f || 98 === f) return "BEGIN" === sql || "BEGIN;" === sql || sql.startsWith("BEGIN ") || sql.startsWith("BEGIN;");
|
|
1723
|
-
if (67 === f || 99 === f) return "COMMIT" === sql || "COMMIT;" === sql || sql.startsWith("COMMIT ") || sql.startsWith("COMMIT;");
|
|
1724
|
-
if (82 === f || 114 === f) return "ROLLBACK" === sql || "ROLLBACK;" === sql || sql.startsWith("ROLLBACK ") || sql.startsWith("ROLLBACK;");
|
|
1725
|
-
return false;
|
|
1726
|
-
}
|
|
1727
|
-
function buildBatchPayload(batch) {
|
|
1728
|
-
var useWalBatch = batch.length > 1 && batch.every(function(t) {
|
|
1729
|
-
return "execute" === t.kind && !isTransactionControl(t.sql);
|
|
1730
|
-
});
|
|
1731
|
-
if (useWalBatch) {
|
|
1732
|
-
var parts = [
|
|
1733
|
-
"BEGIN;\n"
|
|
1734
|
-
];
|
|
1735
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1736
|
-
try {
|
|
1737
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1738
|
-
var task = _step.value;
|
|
1739
|
-
parts.push(task.sql, "\n");
|
|
1740
|
-
}
|
|
1741
|
-
} catch (err) {
|
|
1742
|
-
_didIteratorError = true;
|
|
1743
|
-
_iteratorError = err;
|
|
1744
|
-
} finally{
|
|
1745
|
-
try {
|
|
1746
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1747
|
-
} finally{
|
|
1748
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1749
|
-
}
|
|
1750
|
-
}
|
|
1751
|
-
parts.push("COMMIT;\n");
|
|
1752
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1753
|
-
try {
|
|
1754
|
-
for(var _iterator1 = batch[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
1755
|
-
var task1 = _step1.value;
|
|
1756
|
-
parts.push("SELECT '".concat(task1.token, "' AS ").concat(TOKEN_COLUMN, ";\n"));
|
|
1757
|
-
}
|
|
1758
|
-
} catch (err) {
|
|
1759
|
-
_didIteratorError1 = true;
|
|
1760
|
-
_iteratorError1 = err;
|
|
1761
|
-
} finally{
|
|
1762
|
-
try {
|
|
1763
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
1764
|
-
} finally{
|
|
1765
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
1766
|
-
}
|
|
1767
|
-
}
|
|
1768
|
-
return parts.join("");
|
|
1769
|
-
}
|
|
1770
|
-
var parts1 = [];
|
|
1771
|
-
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1772
|
-
try {
|
|
1773
|
-
for(var _iterator2 = batch[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
1774
|
-
var task2 = _step2.value;
|
|
1775
|
-
parts1.push(buildPayload(task2.sql, task2.token, {
|
|
1776
|
-
skipNormalize: true
|
|
1777
|
-
}));
|
|
1778
|
-
}
|
|
1779
|
-
} catch (err) {
|
|
1780
|
-
_didIteratorError2 = true;
|
|
1781
|
-
_iteratorError2 = err;
|
|
1782
|
-
} finally{
|
|
1783
|
-
try {
|
|
1784
|
-
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
1785
|
-
} finally{
|
|
1786
|
-
if (_didIteratorError2) throw _iteratorError2;
|
|
1787
|
-
}
|
|
1788
|
-
}
|
|
1789
|
-
return parts1.join("");
|
|
1790
|
-
}
|
|
1791
|
-
var TC_FIRST_CHAR = TOKEN_COLUMN.charCodeAt(0);
|
|
1792
|
-
function buildSentinelStr(token) {
|
|
1793
|
-
return '[{"'.concat(TOKEN_COLUMN, '":"').concat(token, '"}]');
|
|
1794
|
-
}
|
|
1795
|
-
function isSentinelRaw(raw, token) {
|
|
1796
|
-
return raw.charCodeAt(3) === TC_FIRST_CHAR && raw === buildSentinelStr(token);
|
|
1797
|
-
}
|
|
1798
|
-
function isSentinelRow(value, token) {
|
|
1799
|
-
var _value_;
|
|
1800
|
-
return Array.isArray(value) && 1 === value.length && (null == (_value_ = value[0]) ? void 0 : _value_[TOKEN_COLUMN]) === token;
|
|
1801
|
-
}
|
|
1802
|
-
function collectQueryRows(task, parsed) {
|
|
1803
|
-
if (Array.isArray(parsed)) {
|
|
1804
|
-
if (!task.rows) task.rows = [];
|
|
1805
|
-
for(var i = 0; i < parsed.length; i++)task.rows.push(parsed[i]);
|
|
1806
|
-
}
|
|
1807
|
-
}
|
|
1808
|
-
function processStreamRows(task, parsed) {
|
|
1809
|
-
if (!Array.isArray(parsed)) return;
|
|
1810
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1811
|
-
try {
|
|
1812
|
-
for(var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1813
|
-
var row = _step.value;
|
|
1814
|
-
if (task.consumerError) break;
|
|
1815
|
-
try {
|
|
1816
|
-
task.onRow(row);
|
|
1817
|
-
} catch (error) {
|
|
1818
|
-
task.consumerError = toError(error);
|
|
1819
|
-
}
|
|
1820
|
-
}
|
|
1821
|
-
} catch (err) {
|
|
1822
|
-
_didIteratorError = true;
|
|
1823
|
-
_iteratorError = err;
|
|
1824
|
-
} finally{
|
|
1825
|
-
try {
|
|
1826
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1827
|
-
} finally{
|
|
1828
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1829
|
-
}
|
|
1830
|
-
}
|
|
1831
|
-
}
|
|
1832
|
-
function settleTask(task, error, value, metrics) {
|
|
1833
|
-
var _ref = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {}, _ref_resetRowParser = _ref.resetRowParser, resetRowParser = void 0 === _ref_resetRowParser ? false : _ref_resetRowParser;
|
|
1834
|
-
if (task.settled) return;
|
|
1835
|
-
task.settled = true;
|
|
1836
|
-
if (resetRowParser) {
|
|
1837
|
-
var _task_rowParser_reset, _task_rowParser;
|
|
1838
|
-
null == (_task_rowParser = task.rowParser) || null == (_task_rowParser_reset = _task_rowParser.reset) || _task_rowParser_reset.call(_task_rowParser);
|
|
1839
|
-
}
|
|
1840
|
-
if (error) {
|
|
1841
|
-
null == metrics || metrics.incrementTasksFailed();
|
|
1842
|
-
task.reject(toError(error));
|
|
1843
|
-
return;
|
|
1844
|
-
}
|
|
1845
|
-
var duration = task.startTime > 0 ? performance.now() - task.startTime : 0;
|
|
1846
|
-
null == metrics || metrics.incrementTasksSuccess(duration);
|
|
1847
|
-
task.resolve(value);
|
|
1848
|
-
}
|
|
1849
|
-
function finalizePendingTasks(tasks, settle, pumpQueue) {
|
|
1850
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1851
|
-
try {
|
|
1852
|
-
for(var _iterator = tasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1853
|
-
var task = _step.value;
|
|
1854
|
-
if (task.stderrText) {
|
|
1855
|
-
settle(task, new Error(task.stderrText.trim()), void 0);
|
|
1856
|
-
continue;
|
|
1857
|
-
}
|
|
1858
|
-
if (task.consumerError) {
|
|
1859
|
-
settle(task, task.consumerError, void 0);
|
|
1860
|
-
continue;
|
|
1861
|
-
}
|
|
1862
|
-
if ("query" === task.kind) {
|
|
1863
|
-
settle(task, null, task.rows);
|
|
1864
|
-
continue;
|
|
1865
|
-
}
|
|
1866
|
-
settle(task, null, void 0);
|
|
1867
|
-
}
|
|
1868
|
-
} catch (err) {
|
|
1869
|
-
_didIteratorError = true;
|
|
1870
|
-
_iteratorError = err;
|
|
1871
|
-
} finally{
|
|
1872
|
-
try {
|
|
1873
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1874
|
-
} finally{
|
|
1875
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
tasks.clear();
|
|
1879
|
-
pumpQueue();
|
|
1880
|
-
}
|
|
1881
|
-
function prepareTaskTimeout(task, metrics) {
|
|
1882
|
-
if (task.settled) return null;
|
|
1883
|
-
task.timedout = true;
|
|
1884
|
-
null == metrics || metrics.incrementTasksTimeout();
|
|
1885
|
-
return createTimeoutError(task.timeout, task.sql);
|
|
1886
|
-
}
|
|
1887
1820
|
function _array_like_to_array(arr, len) {
|
|
1888
1821
|
if (null == len || len > arr.length) len = arr.length;
|
|
1889
1822
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -1892,21 +1825,21 @@ function _array_like_to_array(arr, len) {
|
|
|
1892
1825
|
function _array_without_holes(arr) {
|
|
1893
1826
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
1894
1827
|
}
|
|
1895
|
-
function
|
|
1828
|
+
function inflightTracker_check_private_redeclaration(obj, privateCollection) {
|
|
1896
1829
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
1897
1830
|
}
|
|
1898
|
-
function
|
|
1831
|
+
function inflightTracker_class_apply_descriptor_get(receiver, descriptor) {
|
|
1899
1832
|
if (descriptor.get) return descriptor.get.call(receiver);
|
|
1900
1833
|
return descriptor.value;
|
|
1901
1834
|
}
|
|
1902
|
-
function
|
|
1835
|
+
function inflightTracker_class_apply_descriptor_set(receiver, descriptor, value) {
|
|
1903
1836
|
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
1904
1837
|
else {
|
|
1905
1838
|
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
1906
1839
|
descriptor.value = value;
|
|
1907
1840
|
}
|
|
1908
1841
|
}
|
|
1909
|
-
function
|
|
1842
|
+
function inflightTracker_class_apply_descriptor_update(receiver, descriptor) {
|
|
1910
1843
|
if (descriptor.set) {
|
|
1911
1844
|
if (!descriptor.get) throw new TypeError("attempted to read set only private field");
|
|
1912
1845
|
if (!("__destrWrapper" in descriptor)) descriptor.__destrWrapper = {
|
|
@@ -1922,39 +1855,31 @@ function taskWorker_class_apply_descriptor_update(receiver, descriptor) {
|
|
|
1922
1855
|
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
1923
1856
|
return descriptor;
|
|
1924
1857
|
}
|
|
1925
|
-
function
|
|
1858
|
+
function inflightTracker_class_call_check(instance, Constructor) {
|
|
1926
1859
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
1927
1860
|
}
|
|
1928
|
-
function
|
|
1861
|
+
function inflightTracker_class_extract_field_descriptor(receiver, privateMap, action) {
|
|
1929
1862
|
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
1930
1863
|
return privateMap.get(receiver);
|
|
1931
1864
|
}
|
|
1932
|
-
function
|
|
1933
|
-
var descriptor =
|
|
1934
|
-
return
|
|
1865
|
+
function inflightTracker_class_private_field_get(receiver, privateMap) {
|
|
1866
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "get");
|
|
1867
|
+
return inflightTracker_class_apply_descriptor_get(receiver, descriptor);
|
|
1935
1868
|
}
|
|
1936
|
-
function
|
|
1937
|
-
|
|
1869
|
+
function inflightTracker_class_private_field_init(obj, privateMap, value) {
|
|
1870
|
+
inflightTracker_check_private_redeclaration(obj, privateMap);
|
|
1938
1871
|
privateMap.set(obj, value);
|
|
1939
1872
|
}
|
|
1940
|
-
function
|
|
1941
|
-
var descriptor =
|
|
1942
|
-
|
|
1873
|
+
function inflightTracker_class_private_field_set(receiver, privateMap, value) {
|
|
1874
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "set");
|
|
1875
|
+
inflightTracker_class_apply_descriptor_set(receiver, descriptor, value);
|
|
1943
1876
|
return value;
|
|
1944
1877
|
}
|
|
1945
|
-
function
|
|
1946
|
-
var descriptor =
|
|
1947
|
-
return
|
|
1948
|
-
}
|
|
1949
|
-
function taskWorker_class_private_method_get(receiver, privateSet, fn) {
|
|
1950
|
-
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
1951
|
-
return fn;
|
|
1878
|
+
function inflightTracker_class_private_field_update(receiver, privateMap) {
|
|
1879
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
1880
|
+
return inflightTracker_class_apply_descriptor_update(receiver, descriptor);
|
|
1952
1881
|
}
|
|
1953
|
-
function
|
|
1954
|
-
taskWorker_check_private_redeclaration(obj, privateSet);
|
|
1955
|
-
privateSet.add(obj);
|
|
1956
|
-
}
|
|
1957
|
-
function taskWorker_defineProperties(target, props) {
|
|
1882
|
+
function inflightTracker_defineProperties(target, props) {
|
|
1958
1883
|
for(var i = 0; i < props.length; i++){
|
|
1959
1884
|
var descriptor = props[i];
|
|
1960
1885
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
@@ -1963,9 +1888,9 @@ function taskWorker_defineProperties(target, props) {
|
|
|
1963
1888
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
1964
1889
|
}
|
|
1965
1890
|
}
|
|
1966
|
-
function
|
|
1967
|
-
if (protoProps)
|
|
1968
|
-
if (staticProps)
|
|
1891
|
+
function inflightTracker_create_class(Constructor, protoProps, staticProps) {
|
|
1892
|
+
if (protoProps) inflightTracker_defineProperties(Constructor.prototype, protoProps);
|
|
1893
|
+
if (staticProps) inflightTracker_defineProperties(Constructor, staticProps);
|
|
1969
1894
|
return Constructor;
|
|
1970
1895
|
}
|
|
1971
1896
|
function _iterable_to_array(iter) {
|
|
@@ -1985,7 +1910,660 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
1985
1910
|
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
1986
1911
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
1987
1912
|
}
|
|
1988
|
-
var
|
|
1913
|
+
var _tasks = /*#__PURE__*/ new WeakMap(), inflightTracker_head = /*#__PURE__*/ new WeakMap();
|
|
1914
|
+
var inflightTracker_InflightTracker = /*#__PURE__*/ function() {
|
|
1915
|
+
"use strict";
|
|
1916
|
+
function InflightTracker() {
|
|
1917
|
+
inflightTracker_class_call_check(this, InflightTracker);
|
|
1918
|
+
inflightTracker_class_private_field_init(this, _tasks, {
|
|
1919
|
+
writable: true,
|
|
1920
|
+
value: []
|
|
1921
|
+
});
|
|
1922
|
+
inflightTracker_class_private_field_init(this, inflightTracker_head, {
|
|
1923
|
+
writable: true,
|
|
1924
|
+
value: 0
|
|
1925
|
+
});
|
|
1926
|
+
}
|
|
1927
|
+
inflightTracker_create_class(InflightTracker, [
|
|
1928
|
+
{
|
|
1929
|
+
key: "count",
|
|
1930
|
+
get: function() {
|
|
1931
|
+
return inflightTracker_class_private_field_get(this, _tasks).length - inflightTracker_class_private_field_get(this, inflightTracker_head);
|
|
1932
|
+
}
|
|
1933
|
+
},
|
|
1934
|
+
{
|
|
1935
|
+
key: "first",
|
|
1936
|
+
get: function() {
|
|
1937
|
+
return inflightTracker_class_private_field_get(this, inflightTracker_head) < inflightTracker_class_private_field_get(this, _tasks).length ? inflightTracker_class_private_field_get(this, _tasks)[inflightTracker_class_private_field_get(this, inflightTracker_head)] : null;
|
|
1938
|
+
}
|
|
1939
|
+
},
|
|
1940
|
+
{
|
|
1941
|
+
key: "push",
|
|
1942
|
+
value: function() {
|
|
1943
|
+
for(var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++)items[_key] = arguments[_key];
|
|
1944
|
+
var _$_class_private_field_get;
|
|
1945
|
+
(_$_class_private_field_get = inflightTracker_class_private_field_get(this, _tasks)).push.apply(_$_class_private_field_get, _to_consumable_array(items));
|
|
1946
|
+
}
|
|
1947
|
+
},
|
|
1948
|
+
{
|
|
1949
|
+
key: "shift",
|
|
1950
|
+
value: function() {
|
|
1951
|
+
if (inflightTracker_class_private_field_get(this, _tasks).length === inflightTracker_class_private_field_get(this, inflightTracker_head)) return null;
|
|
1952
|
+
var task = inflightTracker_class_private_field_get(this, _tasks)[inflightTracker_class_private_field_get(this, inflightTracker_head)];
|
|
1953
|
+
inflightTracker_class_private_field_get(this, _tasks)[inflightTracker_class_private_field_get(this, inflightTracker_head)] = null;
|
|
1954
|
+
inflightTracker_class_private_field_update(this, inflightTracker_head).value++;
|
|
1955
|
+
if (inflightTracker_class_private_field_get(this, inflightTracker_head) >= inflightTracker_class_private_field_get(this, _tasks).length) {
|
|
1956
|
+
inflightTracker_class_private_field_set(this, _tasks, []);
|
|
1957
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
1958
|
+
} else if (inflightTracker_class_private_field_get(this, inflightTracker_head) > INFLIGHT_COMPACT_THRESHOLD) {
|
|
1959
|
+
inflightTracker_class_private_field_set(this, _tasks, inflightTracker_class_private_field_get(this, _tasks).slice(inflightTracker_class_private_field_get(this, inflightTracker_head)));
|
|
1960
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
1961
|
+
}
|
|
1962
|
+
return task;
|
|
1963
|
+
}
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
key: "clear",
|
|
1967
|
+
value: function() {
|
|
1968
|
+
inflightTracker_class_private_field_set(this, _tasks, []);
|
|
1969
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
1970
|
+
}
|
|
1971
|
+
},
|
|
1972
|
+
{
|
|
1973
|
+
key: "forEach",
|
|
1974
|
+
value: function(fn) {
|
|
1975
|
+
for(var i = inflightTracker_class_private_field_get(this, inflightTracker_head); i < inflightTracker_class_private_field_get(this, _tasks).length; i++)fn(inflightTracker_class_private_field_get(this, _tasks)[i]);
|
|
1976
|
+
}
|
|
1977
|
+
},
|
|
1978
|
+
{
|
|
1979
|
+
key: "toArray",
|
|
1980
|
+
value: function() {
|
|
1981
|
+
return inflightTracker_class_private_field_get(this, _tasks).slice(inflightTracker_class_private_field_get(this, inflightTracker_head));
|
|
1982
|
+
}
|
|
1983
|
+
},
|
|
1984
|
+
{
|
|
1985
|
+
key: "_tasksLength",
|
|
1986
|
+
get: function() {
|
|
1987
|
+
return inflightTracker_class_private_field_get(this, _tasks).length;
|
|
1988
|
+
}
|
|
1989
|
+
},
|
|
1990
|
+
{
|
|
1991
|
+
key: "_head",
|
|
1992
|
+
get: function() {
|
|
1993
|
+
return inflightTracker_class_private_field_get(this, inflightTracker_head);
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
]);
|
|
1997
|
+
return InflightTracker;
|
|
1998
|
+
}();
|
|
1999
|
+
function collectQueryRows(task, parsed) {
|
|
2000
|
+
if (Array.isArray(parsed)) for(var i = 0; i < parsed.length; i++)task.rows.push(parsed[i]);
|
|
2001
|
+
}
|
|
2002
|
+
function processStreamRows(task, parsed) {
|
|
2003
|
+
if (!Array.isArray(parsed)) return;
|
|
2004
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2005
|
+
try {
|
|
2006
|
+
for(var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2007
|
+
var row = _step.value;
|
|
2008
|
+
if (task.consumerError) break;
|
|
2009
|
+
try {
|
|
2010
|
+
task.onRow(row);
|
|
2011
|
+
} catch (error) {
|
|
2012
|
+
task.consumerError = toError(error);
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
} catch (err) {
|
|
2016
|
+
_didIteratorError = true;
|
|
2017
|
+
_iteratorError = err;
|
|
2018
|
+
} finally{
|
|
2019
|
+
try {
|
|
2020
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2021
|
+
} finally{
|
|
2022
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
}
|
|
2026
|
+
function settleUtils_settleTask(task, error, value, metrics) {
|
|
2027
|
+
var _ref = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {}, _ref_resetRowParser = _ref.resetRowParser, resetRowParser = void 0 === _ref_resetRowParser ? false : _ref_resetRowParser;
|
|
2028
|
+
if (task.settled) return;
|
|
2029
|
+
task.settled = true;
|
|
2030
|
+
if (resetRowParser) {
|
|
2031
|
+
var _task_rowParser_reset, _task_rowParser;
|
|
2032
|
+
null == (_task_rowParser = task.rowParser) || null == (_task_rowParser_reset = _task_rowParser.reset) || _task_rowParser_reset.call(_task_rowParser);
|
|
2033
|
+
}
|
|
2034
|
+
if (error) {
|
|
2035
|
+
null == metrics || metrics.incrementTasksFailed();
|
|
2036
|
+
task.reject(toError(error));
|
|
2037
|
+
return;
|
|
2038
|
+
}
|
|
2039
|
+
var duration = task.startTime > 0 ? performance.now() - task.startTime : 0;
|
|
2040
|
+
null == metrics || metrics.incrementTasksSuccess(duration);
|
|
2041
|
+
task.resolve(value);
|
|
2042
|
+
}
|
|
2043
|
+
function buildPayload(sql, token) {
|
|
2044
|
+
var _ref = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, _ref_skipNormalize = _ref.skipNormalize, skipNormalize = void 0 === _ref_skipNormalize ? false : _ref_skipNormalize;
|
|
2045
|
+
var normalized = skipNormalize ? sql : normalizeSQL(sql);
|
|
2046
|
+
var suffix = normalized.endsWith(";") ? "" : ";";
|
|
2047
|
+
return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
|
|
2048
|
+
}
|
|
2049
|
+
function isTransactionControl(sql) {
|
|
2050
|
+
var f = sql.charCodeAt(0);
|
|
2051
|
+
if (66 === f || 98 === f) return "BEGIN" === sql || "BEGIN;" === sql || sql.startsWith("BEGIN ") || sql.startsWith("BEGIN;");
|
|
2052
|
+
if (67 === f || 99 === f) return "COMMIT" === sql || "COMMIT;" === sql || sql.startsWith("COMMIT ") || sql.startsWith("COMMIT;");
|
|
2053
|
+
if (82 === f || 114 === f) return "ROLLBACK" === sql || "ROLLBACK;" === sql || sql.startsWith("ROLLBACK ") || sql.startsWith("ROLLBACK;");
|
|
2054
|
+
return false;
|
|
2055
|
+
}
|
|
2056
|
+
function buildBatchPayload(batch) {
|
|
2057
|
+
var useWalBatch = batch.length > 1 && batch.every(function(t) {
|
|
2058
|
+
return "execute" === t.kind && !isTransactionControl(t.sql);
|
|
2059
|
+
});
|
|
2060
|
+
if (useWalBatch) {
|
|
2061
|
+
var parts = [
|
|
2062
|
+
"BEGIN;\n"
|
|
2063
|
+
];
|
|
2064
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2065
|
+
try {
|
|
2066
|
+
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2067
|
+
var task = _step.value;
|
|
2068
|
+
parts.push(task.sql, "\n");
|
|
2069
|
+
parts.push("SELECT '".concat(task.token, "' AS ").concat(TOKEN_COLUMN, ";\n"));
|
|
2070
|
+
}
|
|
2071
|
+
} catch (err) {
|
|
2072
|
+
_didIteratorError = true;
|
|
2073
|
+
_iteratorError = err;
|
|
2074
|
+
} finally{
|
|
2075
|
+
try {
|
|
2076
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2077
|
+
} finally{
|
|
2078
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2081
|
+
parts.push("COMMIT;\n");
|
|
2082
|
+
return parts.join("");
|
|
2083
|
+
}
|
|
2084
|
+
var parts1 = [];
|
|
2085
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2086
|
+
try {
|
|
2087
|
+
for(var _iterator1 = batch[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2088
|
+
var task1 = _step1.value;
|
|
2089
|
+
parts1.push(buildPayload(task1.sql, task1.token, {
|
|
2090
|
+
skipNormalize: true
|
|
2091
|
+
}));
|
|
2092
|
+
}
|
|
2093
|
+
} catch (err) {
|
|
2094
|
+
_didIteratorError1 = true;
|
|
2095
|
+
_iteratorError1 = err;
|
|
2096
|
+
} finally{
|
|
2097
|
+
try {
|
|
2098
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2099
|
+
} finally{
|
|
2100
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2101
|
+
}
|
|
2102
|
+
}
|
|
2103
|
+
return parts1.join("");
|
|
2104
|
+
}
|
|
2105
|
+
var TC_FIRST_CHAR = TOKEN_COLUMN.charCodeAt(0);
|
|
2106
|
+
function buildSentinelStr(token) {
|
|
2107
|
+
return '[{"'.concat(TOKEN_COLUMN, '":"').concat(token, '"}]');
|
|
2108
|
+
}
|
|
2109
|
+
function isSentinelRaw(raw, token) {
|
|
2110
|
+
return raw.charCodeAt(3) === TC_FIRST_CHAR && raw === buildSentinelStr(token);
|
|
2111
|
+
}
|
|
2112
|
+
function isSentinelRow(value, token) {
|
|
2113
|
+
var _value_;
|
|
2114
|
+
return Array.isArray(value) && 1 === value.length && (null == (_value_ = value[0]) ? void 0 : _value_[TOKEN_COLUMN]) === token;
|
|
2115
|
+
}
|
|
2116
|
+
function pipelineUtils_array_like_to_array(arr, len) {
|
|
2117
|
+
if (null == len || len > arr.length) len = arr.length;
|
|
2118
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
2119
|
+
return arr2;
|
|
2120
|
+
}
|
|
2121
|
+
function pipelineUtils_array_without_holes(arr) {
|
|
2122
|
+
if (Array.isArray(arr)) return pipelineUtils_array_like_to_array(arr);
|
|
2123
|
+
}
|
|
2124
|
+
function pipelineUtils_iterable_to_array(iter) {
|
|
2125
|
+
if ("undefined" != typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) return Array.from(iter);
|
|
2126
|
+
}
|
|
2127
|
+
function pipelineUtils_non_iterable_spread() {
|
|
2128
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2129
|
+
}
|
|
2130
|
+
function pipelineUtils_to_consumable_array(arr) {
|
|
2131
|
+
return pipelineUtils_array_without_holes(arr) || pipelineUtils_iterable_to_array(arr) || pipelineUtils_unsupported_iterable_to_array(arr) || pipelineUtils_non_iterable_spread();
|
|
2132
|
+
}
|
|
2133
|
+
function pipelineUtils_unsupported_iterable_to_array(o, minLen) {
|
|
2134
|
+
if (!o) return;
|
|
2135
|
+
if ("string" == typeof o) return pipelineUtils_array_like_to_array(o, minLen);
|
|
2136
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
2137
|
+
if ("Object" === n && o.constructor) n = o.constructor.name;
|
|
2138
|
+
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
2139
|
+
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineUtils_array_like_to_array(o, minLen);
|
|
2140
|
+
}
|
|
2141
|
+
function finalizePendingTasks(tasks, settle, pumpQueue, pendingStderr, inflight) {
|
|
2142
|
+
var hasStderrBuffer = pendingStderr && pendingStderr.length > 0;
|
|
2143
|
+
if (hasStderrBuffer) {
|
|
2144
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2145
|
+
try {
|
|
2146
|
+
for(var _iterator = pendingStderr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2147
|
+
var chunk = _step.value;
|
|
2148
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2149
|
+
try {
|
|
2150
|
+
for(var _iterator1 = tasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2151
|
+
var t = _step1.value;
|
|
2152
|
+
if ("query" === t.kind && 0 === t.rows.length) t.stderrText += chunk;
|
|
2153
|
+
}
|
|
2154
|
+
} catch (err) {
|
|
2155
|
+
_didIteratorError1 = true;
|
|
2156
|
+
_iteratorError1 = err;
|
|
2157
|
+
} finally{
|
|
2158
|
+
try {
|
|
2159
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2160
|
+
} finally{
|
|
2161
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2162
|
+
}
|
|
2163
|
+
}
|
|
2164
|
+
}
|
|
2165
|
+
} catch (err) {
|
|
2166
|
+
_didIteratorError = true;
|
|
2167
|
+
_iteratorError = err;
|
|
2168
|
+
} finally{
|
|
2169
|
+
try {
|
|
2170
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2171
|
+
} finally{
|
|
2172
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2173
|
+
}
|
|
2174
|
+
}
|
|
2175
|
+
if (!inflight || 0 === inflight.count) pendingStderr.length = 0;
|
|
2176
|
+
}
|
|
2177
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2178
|
+
try {
|
|
2179
|
+
for(var _iterator2 = tasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2180
|
+
var task = _step2.value;
|
|
2181
|
+
if (task.stderrText) {
|
|
2182
|
+
settle(task, new Error(task.stderrText.trim()), void 0);
|
|
2183
|
+
continue;
|
|
2184
|
+
}
|
|
2185
|
+
if (task.consumerError) {
|
|
2186
|
+
settle(task, task.consumerError, void 0);
|
|
2187
|
+
continue;
|
|
2188
|
+
}
|
|
2189
|
+
if ("query" === task.kind) {
|
|
2190
|
+
settle(task, null, task.rows);
|
|
2191
|
+
continue;
|
|
2192
|
+
}
|
|
2193
|
+
settle(task, null, void 0);
|
|
2194
|
+
}
|
|
2195
|
+
} catch (err) {
|
|
2196
|
+
_didIteratorError2 = true;
|
|
2197
|
+
_iteratorError2 = err;
|
|
2198
|
+
} finally{
|
|
2199
|
+
try {
|
|
2200
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2201
|
+
} finally{
|
|
2202
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
tasks.clear();
|
|
2206
|
+
pumpQueue();
|
|
2207
|
+
}
|
|
2208
|
+
function prepareTaskTimeout(task, metrics) {
|
|
2209
|
+
if (task.settled) return null;
|
|
2210
|
+
task.timedout = true;
|
|
2211
|
+
null == metrics || metrics.incrementTasksTimeout();
|
|
2212
|
+
return createTimeoutError(task.timeout, task.sql);
|
|
2213
|
+
}
|
|
2214
|
+
function createSweeper(param) {
|
|
2215
|
+
var inflight = param.inflight, sweepIntervalMs = param.sweepIntervalMs, handleTaskTimeout = param.handleTaskTimeout;
|
|
2216
|
+
var sweepTimer = null;
|
|
2217
|
+
var schedule = function() {
|
|
2218
|
+
if (sweepTimer) return;
|
|
2219
|
+
sweepTimer = setTimeout(function() {
|
|
2220
|
+
sweepTimer = null;
|
|
2221
|
+
var now = performance.now();
|
|
2222
|
+
inflight.forEach(function(task) {
|
|
2223
|
+
if (now - task.startTime > task.timeout) handleTaskTimeout(task);
|
|
2224
|
+
});
|
|
2225
|
+
if (inflight.count > 0) schedule();
|
|
2226
|
+
}, sweepIntervalMs).unref();
|
|
2227
|
+
};
|
|
2228
|
+
var clear = function() {
|
|
2229
|
+
clearTimeout(sweepTimer);
|
|
2230
|
+
sweepTimer = null;
|
|
2231
|
+
};
|
|
2232
|
+
return {
|
|
2233
|
+
schedule: schedule,
|
|
2234
|
+
clear: clear,
|
|
2235
|
+
getSweepTimer: function() {
|
|
2236
|
+
return sweepTimer;
|
|
2237
|
+
}
|
|
2238
|
+
};
|
|
2239
|
+
}
|
|
2240
|
+
function createFinalizeScheduler(param) {
|
|
2241
|
+
var pendingFinalizeTasks = param.pendingFinalizeTasks, settle = param.settleTask, pumpQueue = param.pumpQueue, pendingStderr = param.pendingStderr, inflight = param.inflight;
|
|
2242
|
+
var scheduled = false;
|
|
2243
|
+
var immediate = null;
|
|
2244
|
+
var cancelled = false;
|
|
2245
|
+
var cancel = function() {
|
|
2246
|
+
cancelled = true;
|
|
2247
|
+
if (immediate) {
|
|
2248
|
+
clearImmediate(immediate);
|
|
2249
|
+
immediate = null;
|
|
2250
|
+
}
|
|
2251
|
+
};
|
|
2252
|
+
var check = function() {
|
|
2253
|
+
if (cancelled) return;
|
|
2254
|
+
if (scheduled) return;
|
|
2255
|
+
if (0 === pendingFinalizeTasks.size) return;
|
|
2256
|
+
scheduled = true;
|
|
2257
|
+
immediate = setImmediate(function() {
|
|
2258
|
+
immediate = null;
|
|
2259
|
+
if (cancelled) return;
|
|
2260
|
+
finalizePendingTasks(pendingFinalizeTasks, settle, pumpQueue, pendingStderr, inflight);
|
|
2261
|
+
scheduled = false;
|
|
2262
|
+
});
|
|
2263
|
+
};
|
|
2264
|
+
check.cancel = cancel;
|
|
2265
|
+
return check;
|
|
2266
|
+
}
|
|
2267
|
+
function advanceNextInflightStartTime(inflight) {
|
|
2268
|
+
var next = inflight.first;
|
|
2269
|
+
if (next && next.startTime > 0) {
|
|
2270
|
+
var now = performance.now();
|
|
2271
|
+
if (now > next.startTime) next.startTime = now;
|
|
2272
|
+
}
|
|
2273
|
+
}
|
|
2274
|
+
function handleParsedValue(raw, inflight, param) {
|
|
2275
|
+
var afterSentinel = param.afterSentinel, rejectAll = param.rejectAll;
|
|
2276
|
+
var task = inflight.first;
|
|
2277
|
+
if (!task) return;
|
|
2278
|
+
if (isSentinelRaw(raw, task.token)) {
|
|
2279
|
+
inflight.shift();
|
|
2280
|
+
advanceNextInflightStartTime(inflight);
|
|
2281
|
+
afterSentinel(task);
|
|
2282
|
+
return;
|
|
2283
|
+
}
|
|
2284
|
+
if ("[]" === raw) return;
|
|
2285
|
+
var parsed;
|
|
2286
|
+
try {
|
|
2287
|
+
parsed = JSON.parse(raw);
|
|
2288
|
+
} catch (error) {
|
|
2289
|
+
rejectAll(new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
2290
|
+
return;
|
|
2291
|
+
}
|
|
2292
|
+
if (isSentinelRow(parsed, task.token)) {
|
|
2293
|
+
inflight.shift();
|
|
2294
|
+
advanceNextInflightStartTime(inflight);
|
|
2295
|
+
afterSentinel(task);
|
|
2296
|
+
return;
|
|
2297
|
+
}
|
|
2298
|
+
if (task.timedout) return;
|
|
2299
|
+
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
2300
|
+
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
2301
|
+
}
|
|
2302
|
+
function createPumpQueue(param) {
|
|
2303
|
+
var queue = param.queue, inflight = param.inflight, processManager = param.processManager, sweeper = param.sweeper, batchSize = param.batchSize, maxInflight = param.maxInflight;
|
|
2304
|
+
var nextBatchId = 1;
|
|
2305
|
+
return function pump() {
|
|
2306
|
+
var _inflight;
|
|
2307
|
+
if (processManager.draining) return void processManager.onDrained(function() {
|
|
2308
|
+
return pump();
|
|
2309
|
+
});
|
|
2310
|
+
if (inflight.count >= maxInflight) return;
|
|
2311
|
+
var batch = [];
|
|
2312
|
+
while(batch.length < batchSize && !queue.isEmpty() && inflight.count + batch.length < maxInflight){
|
|
2313
|
+
var task = queue.peek();
|
|
2314
|
+
if ("stream" === task.kind && (batch.length > 0 || inflight.count > 0)) break;
|
|
2315
|
+
queue.dequeue();
|
|
2316
|
+
batch.push(task);
|
|
2317
|
+
}
|
|
2318
|
+
if (0 === batch.length) return;
|
|
2319
|
+
var now = performance.now();
|
|
2320
|
+
var payload = buildBatchPayload(batch);
|
|
2321
|
+
var batchId = nextBatchId++;
|
|
2322
|
+
var useWalBatch = payload.startsWith("BEGIN;");
|
|
2323
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2324
|
+
try {
|
|
2325
|
+
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2326
|
+
var task1 = _step.value;
|
|
2327
|
+
task1.startTime = now;
|
|
2328
|
+
task1.batchId = batchId;
|
|
2329
|
+
task1.walBatch = useWalBatch;
|
|
2330
|
+
}
|
|
2331
|
+
} catch (err) {
|
|
2332
|
+
_didIteratorError = true;
|
|
2333
|
+
_iteratorError = err;
|
|
2334
|
+
} finally{
|
|
2335
|
+
try {
|
|
2336
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2337
|
+
} finally{
|
|
2338
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2339
|
+
}
|
|
2340
|
+
}
|
|
2341
|
+
(_inflight = inflight).push.apply(_inflight, pipelineUtils_to_consumable_array(batch));
|
|
2342
|
+
sweeper.schedule();
|
|
2343
|
+
processManager.write(payload);
|
|
2344
|
+
};
|
|
2345
|
+
}
|
|
2346
|
+
function handleSentinelTask(task, param) {
|
|
2347
|
+
var settleTask = param.settleTask, pendingFinalizeTasks = param.pendingFinalizeTasks, scheduleFinalizeCheck = param.scheduleFinalizeCheck, pumpQueue = param.pumpQueue;
|
|
2348
|
+
if (task.timedout) return void pumpQueue();
|
|
2349
|
+
if (task.consumerError) {
|
|
2350
|
+
settleTask(task, task.consumerError, void 0);
|
|
2351
|
+
pumpQueue();
|
|
2352
|
+
return;
|
|
2353
|
+
}
|
|
2354
|
+
pendingFinalizeTasks.add(task);
|
|
2355
|
+
scheduleFinalizeCheck();
|
|
2356
|
+
pumpQueue();
|
|
2357
|
+
}
|
|
2358
|
+
function handleStderrChunk(chunk, param) {
|
|
2359
|
+
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr;
|
|
2360
|
+
var inflightFirst = inflight.first;
|
|
2361
|
+
var firstPending = pendingFinalizeTasks.values().next().value;
|
|
2362
|
+
var zeroRowMatch = false;
|
|
2363
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2364
|
+
try {
|
|
2365
|
+
for(var _iterator = pendingFinalizeTasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2366
|
+
var t = _step.value;
|
|
2367
|
+
if ("query" === t.kind && 0 === t.rows.length) {
|
|
2368
|
+
t.stderrText += chunk;
|
|
2369
|
+
zeroRowMatch = true;
|
|
2370
|
+
}
|
|
2371
|
+
}
|
|
2372
|
+
} catch (err) {
|
|
2373
|
+
_didIteratorError = true;
|
|
2374
|
+
_iteratorError = err;
|
|
2375
|
+
} finally{
|
|
2376
|
+
try {
|
|
2377
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2378
|
+
} finally{
|
|
2379
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2382
|
+
if (zeroRowMatch) return;
|
|
2383
|
+
var task = null != inflightFirst ? inflightFirst : firstPending;
|
|
2384
|
+
if (!task) {
|
|
2385
|
+
var _logger_error;
|
|
2386
|
+
null == logger || null == (_logger_error = logger.error) || _logger_error.call(logger, chunk.trim());
|
|
2387
|
+
return;
|
|
2388
|
+
}
|
|
2389
|
+
if (null == task.batchId) {
|
|
2390
|
+
task.stderrText += chunk;
|
|
2391
|
+
return;
|
|
2392
|
+
}
|
|
2393
|
+
if (task.walBatch) {
|
|
2394
|
+
task.stderrText += chunk;
|
|
2395
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2396
|
+
try {
|
|
2397
|
+
for(var _iterator1 = pendingFinalizeTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2398
|
+
var t1 = _step1.value;
|
|
2399
|
+
if (t1 !== task) t1.stderrText += chunk;
|
|
2400
|
+
}
|
|
2401
|
+
} catch (err) {
|
|
2402
|
+
_didIteratorError1 = true;
|
|
2403
|
+
_iteratorError1 = err;
|
|
2404
|
+
} finally{
|
|
2405
|
+
try {
|
|
2406
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2407
|
+
} finally{
|
|
2408
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2409
|
+
}
|
|
2410
|
+
}
|
|
2411
|
+
inflight.forEach(function(t) {
|
|
2412
|
+
if (t !== task) t.stderrText += chunk;
|
|
2413
|
+
});
|
|
2414
|
+
return;
|
|
2415
|
+
}
|
|
2416
|
+
if (task === inflightFirst) {
|
|
2417
|
+
if (inflight.count > 1) null == pendingStderr || pendingStderr.push(chunk);
|
|
2418
|
+
else if (pendingFinalizeTasks.size > 0) {
|
|
2419
|
+
var hasZeroRowQuery = false;
|
|
2420
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2421
|
+
try {
|
|
2422
|
+
for(var _iterator2 = pendingFinalizeTasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2423
|
+
var t2 = _step2.value;
|
|
2424
|
+
if ("query" === t2.kind && 0 === t2.rows.length) {
|
|
2425
|
+
hasZeroRowQuery = true;
|
|
2426
|
+
break;
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2429
|
+
} catch (err) {
|
|
2430
|
+
_didIteratorError2 = true;
|
|
2431
|
+
_iteratorError2 = err;
|
|
2432
|
+
} finally{
|
|
2433
|
+
try {
|
|
2434
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2435
|
+
} finally{
|
|
2436
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2437
|
+
}
|
|
2438
|
+
}
|
|
2439
|
+
if (hasZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2440
|
+
else if ("query" === task.kind && task.rows.length > 0) {
|
|
2441
|
+
var _logger_error1;
|
|
2442
|
+
null == logger || null == (_logger_error1 = logger.error) || _logger_error1.call(logger, chunk.trim());
|
|
2443
|
+
} else task.stderrText += chunk;
|
|
2444
|
+
} else if ("query" === task.kind && task.rows.length > 0) {
|
|
2445
|
+
var _logger_error2;
|
|
2446
|
+
null == logger || null == (_logger_error2 = logger.error) || _logger_error2.call(logger, chunk.trim());
|
|
2447
|
+
} else task.stderrText += chunk;
|
|
2448
|
+
return;
|
|
2449
|
+
}
|
|
2450
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
2451
|
+
try {
|
|
2452
|
+
for(var _iterator3 = pendingFinalizeTasks[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true){
|
|
2453
|
+
var t3 = _step3.value;
|
|
2454
|
+
t3.stderrText += chunk;
|
|
2455
|
+
}
|
|
2456
|
+
} catch (err) {
|
|
2457
|
+
_didIteratorError3 = true;
|
|
2458
|
+
_iteratorError3 = err;
|
|
2459
|
+
} finally{
|
|
2460
|
+
try {
|
|
2461
|
+
if (!_iteratorNormalCompletion3 && null != _iterator3["return"]) _iterator3["return"]();
|
|
2462
|
+
} finally{
|
|
2463
|
+
if (_didIteratorError3) throw _iteratorError3;
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
function rejectAllTasks(param) {
|
|
2468
|
+
var inflight = param.inflight, queue = param.queue, pendingFinalizeTasks = param.pendingFinalizeTasks, settleTask = param.settleTask, error = param.error;
|
|
2469
|
+
var all = inflight.toArray();
|
|
2470
|
+
inflight.clear();
|
|
2471
|
+
var queued = queue.dequeue();
|
|
2472
|
+
while(queued){
|
|
2473
|
+
settleTask(queued, error, void 0);
|
|
2474
|
+
queued = queue.dequeue();
|
|
2475
|
+
}
|
|
2476
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2477
|
+
try {
|
|
2478
|
+
for(var _iterator = all[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2479
|
+
var task = _step.value;
|
|
2480
|
+
settleTask(task, error, void 0);
|
|
2481
|
+
}
|
|
2482
|
+
} catch (err) {
|
|
2483
|
+
_didIteratorError = true;
|
|
2484
|
+
_iteratorError = err;
|
|
2485
|
+
} finally{
|
|
2486
|
+
try {
|
|
2487
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2488
|
+
} finally{
|
|
2489
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2492
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2493
|
+
try {
|
|
2494
|
+
for(var _iterator1 = pendingFinalizeTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2495
|
+
var task1 = _step1.value;
|
|
2496
|
+
settleTask(task1, error, void 0);
|
|
2497
|
+
}
|
|
2498
|
+
} catch (err) {
|
|
2499
|
+
_didIteratorError1 = true;
|
|
2500
|
+
_iteratorError1 = err;
|
|
2501
|
+
} finally{
|
|
2502
|
+
try {
|
|
2503
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2504
|
+
} finally{
|
|
2505
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2506
|
+
}
|
|
2507
|
+
}
|
|
2508
|
+
pendingFinalizeTasks.clear();
|
|
2509
|
+
}
|
|
2510
|
+
function taskWorker_check_private_redeclaration(obj, privateCollection) {
|
|
2511
|
+
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
2512
|
+
}
|
|
2513
|
+
function taskWorker_class_apply_descriptor_get(receiver, descriptor) {
|
|
2514
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
2515
|
+
return descriptor.value;
|
|
2516
|
+
}
|
|
2517
|
+
function taskWorker_class_apply_descriptor_set(receiver, descriptor, value) {
|
|
2518
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
2519
|
+
else {
|
|
2520
|
+
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
2521
|
+
descriptor.value = value;
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2524
|
+
function taskWorker_class_call_check(instance, Constructor) {
|
|
2525
|
+
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
2526
|
+
}
|
|
2527
|
+
function taskWorker_class_extract_field_descriptor(receiver, privateMap, action) {
|
|
2528
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
2529
|
+
return privateMap.get(receiver);
|
|
2530
|
+
}
|
|
2531
|
+
function taskWorker_class_private_field_get(receiver, privateMap) {
|
|
2532
|
+
var descriptor = taskWorker_class_extract_field_descriptor(receiver, privateMap, "get");
|
|
2533
|
+
return taskWorker_class_apply_descriptor_get(receiver, descriptor);
|
|
2534
|
+
}
|
|
2535
|
+
function taskWorker_class_private_field_init(obj, privateMap, value) {
|
|
2536
|
+
taskWorker_check_private_redeclaration(obj, privateMap);
|
|
2537
|
+
privateMap.set(obj, value);
|
|
2538
|
+
}
|
|
2539
|
+
function taskWorker_class_private_field_set(receiver, privateMap, value) {
|
|
2540
|
+
var descriptor = taskWorker_class_extract_field_descriptor(receiver, privateMap, "set");
|
|
2541
|
+
taskWorker_class_apply_descriptor_set(receiver, descriptor, value);
|
|
2542
|
+
return value;
|
|
2543
|
+
}
|
|
2544
|
+
function taskWorker_class_private_method_get(receiver, privateSet, fn) {
|
|
2545
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
2546
|
+
return fn;
|
|
2547
|
+
}
|
|
2548
|
+
function taskWorker_class_private_method_init(obj, privateSet) {
|
|
2549
|
+
taskWorker_check_private_redeclaration(obj, privateSet);
|
|
2550
|
+
privateSet.add(obj);
|
|
2551
|
+
}
|
|
2552
|
+
function taskWorker_defineProperties(target, props) {
|
|
2553
|
+
for(var i = 0; i < props.length; i++){
|
|
2554
|
+
var descriptor = props[i];
|
|
2555
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
2556
|
+
descriptor.configurable = true;
|
|
2557
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
2558
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
function taskWorker_create_class(Constructor, protoProps, staticProps) {
|
|
2562
|
+
if (protoProps) taskWorker_defineProperties(Constructor.prototype, protoProps);
|
|
2563
|
+
if (staticProps) taskWorker_defineProperties(Constructor, staticProps);
|
|
2564
|
+
return Constructor;
|
|
2565
|
+
}
|
|
2566
|
+
var _processManager = /*#__PURE__*/ new WeakMap(), _pendingQueue = /*#__PURE__*/ new WeakMap(), taskWorker_inflight = /*#__PURE__*/ new WeakMap(), _pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _valueParser = /*#__PURE__*/ new WeakMap(), _statementTimeout = /*#__PURE__*/ new WeakMap(), _logger = /*#__PURE__*/ new WeakMap(), _name = /*#__PURE__*/ new WeakMap(), _batchSize = /*#__PURE__*/ new WeakMap(), _maxInflight = /*#__PURE__*/ new WeakMap(), _metrics = /*#__PURE__*/ new WeakMap(), _sweeper = /*#__PURE__*/ new WeakMap(), _scheduleFinalizeCheck = /*#__PURE__*/ new WeakMap(), _pump = /*#__PURE__*/ new WeakMap(), _pendingStderr = /*#__PURE__*/ new WeakMap(), _startProcess = /*#__PURE__*/ new WeakSet(), _pumpQueue = /*#__PURE__*/ new WeakSet(), _afterSentinel = /*#__PURE__*/ new WeakSet(), _handleStderrChunk = /*#__PURE__*/ new WeakSet(), _settleTask = /*#__PURE__*/ new WeakSet(), _rejectAll = /*#__PURE__*/ new WeakSet();
|
|
1989
2567
|
var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
1990
2568
|
"use strict";
|
|
1991
2569
|
function TaskWorker(param) {
|
|
@@ -1993,15 +2571,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
1993
2571
|
var binary = param.binary, database = param.database, statementTimeout = param.statementTimeout, logger = param.logger, name = param.name, initMode = param.initMode, _param_batchSize = param.batchSize, batchSize = void 0 === _param_batchSize ? DEFAULT_BATCH_SIZE : _param_batchSize, _param_maxInflight = param.maxInflight, maxInflight = void 0 === _param_maxInflight ? DEFAULT_MAX_INFLIGHT : _param_maxInflight, metrics = param.metrics, _param_sweepInterval = param.sweepInterval, sweepInterval = void 0 === _param_sweepInterval ? 100 : _param_sweepInterval;
|
|
1994
2572
|
taskWorker_class_call_check(this, TaskWorker);
|
|
1995
2573
|
taskWorker_class_private_method_init(this, _startProcess);
|
|
1996
|
-
taskWorker_class_private_method_init(this, _inflightCount);
|
|
1997
|
-
taskWorker_class_private_method_init(this, _firstInflight);
|
|
1998
|
-
taskWorker_class_private_method_init(this, _shiftInflight);
|
|
1999
2574
|
taskWorker_class_private_method_init(this, _pumpQueue);
|
|
2000
|
-
taskWorker_class_private_method_init(this,
|
|
2001
|
-
taskWorker_class_private_method_init(this, _scheduleFinalizeCheck);
|
|
2575
|
+
taskWorker_class_private_method_init(this, _afterSentinel);
|
|
2002
2576
|
taskWorker_class_private_method_init(this, _handleStderrChunk);
|
|
2003
|
-
taskWorker_class_private_method_init(this, _scheduleSweep);
|
|
2004
|
-
taskWorker_class_private_method_init(this, _handleTaskTimeout);
|
|
2005
2577
|
taskWorker_class_private_method_init(this, _settleTask);
|
|
2006
2578
|
taskWorker_class_private_method_init(this, _rejectAll);
|
|
2007
2579
|
taskWorker_class_private_field_init(this, _processManager, {
|
|
@@ -2012,22 +2584,14 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2012
2584
|
writable: true,
|
|
2013
2585
|
value: new queue_Queue()
|
|
2014
2586
|
});
|
|
2015
|
-
taskWorker_class_private_field_init(this,
|
|
2587
|
+
taskWorker_class_private_field_init(this, taskWorker_inflight, {
|
|
2016
2588
|
writable: true,
|
|
2017
|
-
value:
|
|
2018
|
-
});
|
|
2019
|
-
taskWorker_class_private_field_init(this, _inflightHead, {
|
|
2020
|
-
writable: true,
|
|
2021
|
-
value: 0
|
|
2589
|
+
value: new inflightTracker_InflightTracker()
|
|
2022
2590
|
});
|
|
2023
2591
|
taskWorker_class_private_field_init(this, _pendingFinalizeTasks, {
|
|
2024
2592
|
writable: true,
|
|
2025
2593
|
value: new Set()
|
|
2026
2594
|
});
|
|
2027
|
-
taskWorker_class_private_field_init(this, _scheduledFinalize, {
|
|
2028
|
-
writable: true,
|
|
2029
|
-
value: false
|
|
2030
|
-
});
|
|
2031
2595
|
taskWorker_class_private_field_init(this, _valueParser, {
|
|
2032
2596
|
writable: true,
|
|
2033
2597
|
value: void 0
|
|
@@ -2056,31 +2620,72 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2056
2620
|
writable: true,
|
|
2057
2621
|
value: void 0
|
|
2058
2622
|
});
|
|
2059
|
-
taskWorker_class_private_field_init(this,
|
|
2623
|
+
taskWorker_class_private_field_init(this, _sweeper, {
|
|
2060
2624
|
writable: true,
|
|
2061
|
-
value:
|
|
2625
|
+
value: void 0
|
|
2062
2626
|
});
|
|
2063
|
-
taskWorker_class_private_field_init(this,
|
|
2627
|
+
taskWorker_class_private_field_init(this, _scheduleFinalizeCheck, {
|
|
2064
2628
|
writable: true,
|
|
2065
2629
|
value: void 0
|
|
2066
2630
|
});
|
|
2631
|
+
taskWorker_class_private_field_init(this, _pump, {
|
|
2632
|
+
writable: true,
|
|
2633
|
+
value: void 0
|
|
2634
|
+
});
|
|
2635
|
+
taskWorker_class_private_field_init(this, _pendingStderr, {
|
|
2636
|
+
writable: true,
|
|
2637
|
+
value: []
|
|
2638
|
+
});
|
|
2067
2639
|
taskWorker_class_private_field_set(this, _name, null != name ? name : "worker");
|
|
2068
2640
|
taskWorker_class_private_field_set(this, _statementTimeout, statementTimeout);
|
|
2069
2641
|
taskWorker_class_private_field_set(this, _logger, logger);
|
|
2070
2642
|
taskWorker_class_private_field_set(this, _batchSize, batchSize);
|
|
2071
2643
|
taskWorker_class_private_field_set(this, _maxInflight, maxInflight);
|
|
2072
2644
|
taskWorker_class_private_field_set(this, _metrics, metrics);
|
|
2073
|
-
taskWorker_class_private_field_set(this, _sweepIntervalMs, sweepInterval);
|
|
2074
2645
|
taskWorker_class_private_field_set(this, _processManager, new process_ProcessManager({
|
|
2075
2646
|
binary: binary,
|
|
2076
2647
|
database: database,
|
|
2077
|
-
initMode: initMode
|
|
2078
|
-
|
|
2079
|
-
|
|
2648
|
+
initMode: initMode
|
|
2649
|
+
}));
|
|
2650
|
+
taskWorker_class_private_field_get(this, _processManager).setOnDrainCallback(function() {
|
|
2651
|
+
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2652
|
+
});
|
|
2653
|
+
taskWorker_class_private_field_set(this, _sweeper, createSweeper({
|
|
2654
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2655
|
+
sweepIntervalMs: sweepInterval,
|
|
2656
|
+
handleTaskTimeout: function(task) {
|
|
2657
|
+
var error = prepareTaskTimeout(task, taskWorker_class_private_field_get(_this, _metrics));
|
|
2658
|
+
if (error) taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, task, error, void 0);
|
|
2080
2659
|
}
|
|
2081
2660
|
}));
|
|
2661
|
+
taskWorker_class_private_field_set(this, _pump, createPumpQueue({
|
|
2662
|
+
queue: taskWorker_class_private_field_get(this, _pendingQueue),
|
|
2663
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2664
|
+
processManager: taskWorker_class_private_field_get(this, _processManager),
|
|
2665
|
+
sweeper: taskWorker_class_private_field_get(this, _sweeper),
|
|
2666
|
+
batchSize: taskWorker_class_private_field_get(this, _batchSize),
|
|
2667
|
+
maxInflight: taskWorker_class_private_field_get(this, _maxInflight)
|
|
2668
|
+
}));
|
|
2669
|
+
taskWorker_class_private_field_set(this, _scheduleFinalizeCheck, createFinalizeScheduler({
|
|
2670
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2671
|
+
settleTask: function(t, e, v1) {
|
|
2672
|
+
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2673
|
+
},
|
|
2674
|
+
pumpQueue: function() {
|
|
2675
|
+
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2676
|
+
},
|
|
2677
|
+
pendingStderr: taskWorker_class_private_field_get(this, _pendingStderr),
|
|
2678
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight)
|
|
2679
|
+
}));
|
|
2082
2680
|
taskWorker_class_private_field_set(this, _valueParser, createJsonValueParser(function(raw) {
|
|
2083
|
-
|
|
2681
|
+
handleParsedValue(raw, taskWorker_class_private_field_get(_this, taskWorker_inflight), {
|
|
2682
|
+
afterSentinel: function(task) {
|
|
2683
|
+
return taskWorker_class_private_method_get(_this, _afterSentinel, taskWorker_afterSentinel).call(_this, task);
|
|
2684
|
+
},
|
|
2685
|
+
rejectAll: function(error) {
|
|
2686
|
+
return taskWorker_class_private_method_get(_this, _rejectAll, taskWorker_rejectAll).call(_this, error);
|
|
2687
|
+
}
|
|
2688
|
+
});
|
|
2084
2689
|
}));
|
|
2085
2690
|
taskWorker_class_private_method_get(this, _startProcess, startProcess).call(this);
|
|
2086
2691
|
}
|
|
@@ -2094,13 +2699,13 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2094
2699
|
{
|
|
2095
2700
|
key: "idle",
|
|
2096
2701
|
get: function() {
|
|
2097
|
-
return
|
|
2702
|
+
return 0 === taskWorker_class_private_field_get(this, taskWorker_inflight).count && taskWorker_class_private_field_get(this, _pendingQueue).isEmpty() && 0 === taskWorker_class_private_field_get(this, _pendingFinalizeTasks).size;
|
|
2098
2703
|
}
|
|
2099
2704
|
},
|
|
2100
2705
|
{
|
|
2101
2706
|
key: "pendingStatements",
|
|
2102
2707
|
get: function() {
|
|
2103
|
-
return taskWorker_class_private_field_get(this, _pendingQueue).size +
|
|
2708
|
+
return taskWorker_class_private_field_get(this, _pendingQueue).size + taskWorker_class_private_field_get(this, taskWorker_inflight).count + taskWorker_class_private_field_get(this, _pendingFinalizeTasks).size;
|
|
2104
2709
|
}
|
|
2105
2710
|
},
|
|
2106
2711
|
{
|
|
@@ -2130,7 +2735,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2130
2735
|
{
|
|
2131
2736
|
key: "_sweepTimer",
|
|
2132
2737
|
get: function() {
|
|
2133
|
-
|
|
2738
|
+
var _$_class_private_field_get;
|
|
2739
|
+
var _class_private_field_get_getSweepTimer;
|
|
2740
|
+
return null != (_class_private_field_get_getSweepTimer = null == (_$_class_private_field_get = taskWorker_class_private_field_get(this, _sweeper)) ? void 0 : _$_class_private_field_get.getSweepTimer()) ? _class_private_field_get_getSweepTimer : null;
|
|
2134
2741
|
}
|
|
2135
2742
|
},
|
|
2136
2743
|
{
|
|
@@ -2142,8 +2749,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2142
2749
|
{
|
|
2143
2750
|
key: "kill",
|
|
2144
2751
|
value: function() {
|
|
2145
|
-
|
|
2146
|
-
|
|
2752
|
+
var _class_private_field_get_cancel, _$_class_private_field_get;
|
|
2753
|
+
taskWorker_class_private_field_get(this, _sweeper).clear();
|
|
2754
|
+
null == (_class_private_field_get_cancel = (_$_class_private_field_get = taskWorker_class_private_field_get(this, _scheduleFinalizeCheck)).cancel) || _class_private_field_get_cancel.call(_$_class_private_field_get);
|
|
2147
2755
|
taskWorker_class_private_method_get(this, _rejectAll, taskWorker_rejectAll).call(this, new Error("".concat(taskWorker_class_private_field_get(this, _name), " is killed")));
|
|
2148
2756
|
taskWorker_class_private_field_get(this, _processManager).kill();
|
|
2149
2757
|
}
|
|
@@ -2158,7 +2766,7 @@ function startProcess() {
|
|
|
2158
2766
|
taskWorker_class_private_field_get(_this, _valueParser).feed(chunk);
|
|
2159
2767
|
});
|
|
2160
2768
|
proc.stderr.on("data", function(chunk) {
|
|
2161
|
-
taskWorker_class_private_method_get(_this, _handleStderrChunk,
|
|
2769
|
+
taskWorker_class_private_method_get(_this, _handleStderrChunk, taskWorker_handleStderrChunk1).call(_this, chunk);
|
|
2162
2770
|
});
|
|
2163
2771
|
proc.on("error", function(error) {
|
|
2164
2772
|
var _class_private_field_get_error, _$_class_private_field_get;
|
|
@@ -2172,200 +2780,47 @@ function startProcess() {
|
|
|
2172
2780
|
taskWorker_class_private_method_get(_this, _rejectAll, taskWorker_rejectAll).call(_this, err);
|
|
2173
2781
|
});
|
|
2174
2782
|
}
|
|
2175
|
-
function inflightCount() {
|
|
2176
|
-
return taskWorker_class_private_field_get(this, _inflightTasks).length - taskWorker_class_private_field_get(this, _inflightHead);
|
|
2177
|
-
}
|
|
2178
|
-
function firstInflight() {
|
|
2179
|
-
return taskWorker_class_private_field_get(this, _inflightHead) < taskWorker_class_private_field_get(this, _inflightTasks).length ? taskWorker_class_private_field_get(this, _inflightTasks)[taskWorker_class_private_field_get(this, _inflightHead)] : null;
|
|
2180
|
-
}
|
|
2181
|
-
function shiftInflight() {
|
|
2182
|
-
var task = taskWorker_class_private_field_get(this, _inflightTasks)[taskWorker_class_private_field_get(this, _inflightHead)];
|
|
2183
|
-
taskWorker_class_private_field_get(this, _inflightTasks)[taskWorker_class_private_field_get(this, _inflightHead)] = null;
|
|
2184
|
-
taskWorker_class_private_field_update(this, _inflightHead).value++;
|
|
2185
|
-
if (taskWorker_class_private_field_get(this, _inflightHead) >= taskWorker_class_private_field_get(this, _inflightTasks).length) {
|
|
2186
|
-
taskWorker_class_private_field_set(this, _inflightTasks, []);
|
|
2187
|
-
taskWorker_class_private_field_set(this, _inflightHead, 0);
|
|
2188
|
-
} else if (taskWorker_class_private_field_get(this, _inflightHead) > 128) {
|
|
2189
|
-
taskWorker_class_private_field_set(this, _inflightTasks, taskWorker_class_private_field_get(this, _inflightTasks).slice(taskWorker_class_private_field_get(this, _inflightHead)));
|
|
2190
|
-
taskWorker_class_private_field_set(this, _inflightHead, 0);
|
|
2191
|
-
}
|
|
2192
|
-
return task;
|
|
2193
|
-
}
|
|
2194
2783
|
function taskWorker_pumpQueue() {
|
|
2195
|
-
|
|
2196
|
-
if (taskWorker_class_private_field_get(this, _processManager).draining) return;
|
|
2197
|
-
if (taskWorker_class_private_method_get(this, _inflightCount, inflightCount).call(this) >= taskWorker_class_private_field_get(this, _maxInflight)) return;
|
|
2198
|
-
var batch = [];
|
|
2199
|
-
while(batch.length < taskWorker_class_private_field_get(this, _batchSize) && !taskWorker_class_private_field_get(this, _pendingQueue).isEmpty() && taskWorker_class_private_method_get(this, _inflightCount, inflightCount).call(this) + batch.length < taskWorker_class_private_field_get(this, _maxInflight)){
|
|
2200
|
-
var task = taskWorker_class_private_field_get(this, _pendingQueue).peek();
|
|
2201
|
-
if ("stream" === task.kind && (batch.length > 0 || taskWorker_class_private_method_get(this, _inflightCount, inflightCount).call(this) > 0)) break;
|
|
2202
|
-
taskWorker_class_private_field_get(this, _pendingQueue).dequeue();
|
|
2203
|
-
batch.push(task);
|
|
2204
|
-
}
|
|
2205
|
-
if (0 === batch.length) return;
|
|
2206
|
-
var now = performance.now();
|
|
2207
|
-
var payload = buildBatchPayload(batch);
|
|
2208
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2209
|
-
try {
|
|
2210
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2211
|
-
var task1 = _step.value;
|
|
2212
|
-
task1.startTime = now;
|
|
2213
|
-
}
|
|
2214
|
-
} catch (err) {
|
|
2215
|
-
_didIteratorError = true;
|
|
2216
|
-
_iteratorError = err;
|
|
2217
|
-
} finally{
|
|
2218
|
-
try {
|
|
2219
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2220
|
-
} finally{
|
|
2221
|
-
if (_didIteratorError) throw _iteratorError;
|
|
2222
|
-
}
|
|
2223
|
-
}
|
|
2224
|
-
(_$_class_private_field_get = taskWorker_class_private_field_get(this, _inflightTasks)).push.apply(_$_class_private_field_get, _to_consumable_array(batch));
|
|
2225
|
-
taskWorker_class_private_method_get(this, _scheduleSweep, scheduleSweep).call(this);
|
|
2226
|
-
taskWorker_class_private_field_get(this, _processManager).write(payload);
|
|
2227
|
-
}
|
|
2228
|
-
function handleParsedValue(raw) {
|
|
2229
|
-
var task = taskWorker_class_private_method_get(this, _firstInflight, firstInflight).call(this);
|
|
2230
|
-
if (!task) return;
|
|
2231
|
-
if (isSentinelRaw(raw, task.token)) {
|
|
2232
|
-
taskWorker_class_private_method_get(this, _shiftInflight, shiftInflight).call(this);
|
|
2233
|
-
if (task.timedout) return void taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2234
|
-
if (task.stderrText) {
|
|
2235
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, new Error(task.stderrText.trim()), void 0);
|
|
2236
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2237
|
-
return;
|
|
2238
|
-
}
|
|
2239
|
-
if (task.consumerError) {
|
|
2240
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, task.consumerError, void 0);
|
|
2241
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2242
|
-
return;
|
|
2243
|
-
}
|
|
2244
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).add(task);
|
|
2245
|
-
taskWorker_class_private_method_get(this, _scheduleFinalizeCheck, scheduleFinalizeCheck).call(this);
|
|
2246
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2247
|
-
return;
|
|
2248
|
-
}
|
|
2249
|
-
if ("[]" === raw) return;
|
|
2250
|
-
var parsed;
|
|
2251
|
-
try {
|
|
2252
|
-
parsed = JSON.parse(raw);
|
|
2253
|
-
} catch (error) {
|
|
2254
|
-
taskWorker_class_private_method_get(this, _rejectAll, taskWorker_rejectAll).call(this, new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
2255
|
-
return;
|
|
2256
|
-
}
|
|
2257
|
-
if (isSentinelRow(parsed, task.token)) {
|
|
2258
|
-
taskWorker_class_private_method_get(this, _shiftInflight, shiftInflight).call(this);
|
|
2259
|
-
if (task.timedout) return void taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2260
|
-
if (task.stderrText) {
|
|
2261
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, new Error(task.stderrText.trim()), void 0);
|
|
2262
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2263
|
-
return;
|
|
2264
|
-
}
|
|
2265
|
-
if (task.consumerError) {
|
|
2266
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, task.consumerError, void 0);
|
|
2267
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2268
|
-
return;
|
|
2269
|
-
}
|
|
2270
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).add(task);
|
|
2271
|
-
taskWorker_class_private_method_get(this, _scheduleFinalizeCheck, scheduleFinalizeCheck).call(this);
|
|
2272
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2273
|
-
return;
|
|
2274
|
-
}
|
|
2275
|
-
if (task.timedout) return;
|
|
2276
|
-
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
2277
|
-
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
2784
|
+
taskWorker_class_private_field_get(this, _pump).call(this);
|
|
2278
2785
|
}
|
|
2279
|
-
function
|
|
2786
|
+
function taskWorker_afterSentinel(task) {
|
|
2280
2787
|
var _this = this;
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
setImmediate(function() {
|
|
2284
|
-
taskWorker_class_private_field_set(_this, _scheduledFinalize, false);
|
|
2285
|
-
finalizePendingTasks(taskWorker_class_private_field_get(_this, _pendingFinalizeTasks), function(t, e, v1) {
|
|
2788
|
+
handleSentinelTask(task, {
|
|
2789
|
+
settleTask: function(t, e, v1) {
|
|
2286
2790
|
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2287
|
-
},
|
|
2791
|
+
},
|
|
2792
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2793
|
+
scheduleFinalizeCheck: function() {
|
|
2794
|
+
return taskWorker_class_private_field_get(_this, _scheduleFinalizeCheck).call(_this);
|
|
2795
|
+
},
|
|
2796
|
+
pumpQueue: function() {
|
|
2288
2797
|
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2289
|
-
});
|
|
2290
|
-
});
|
|
2291
|
-
}
|
|
2292
|
-
function taskWorker_handleStderrChunk(chunk) {
|
|
2293
|
-
var _class_private_field_get_values_next_value;
|
|
2294
|
-
var task = null != (_class_private_field_get_values_next_value = taskWorker_class_private_field_get(this, _pendingFinalizeTasks).values().next().value) ? _class_private_field_get_values_next_value : taskWorker_class_private_method_get(this, _firstInflight, firstInflight).call(this);
|
|
2295
|
-
if (!task) {
|
|
2296
|
-
var _class_private_field_get_error, _$_class_private_field_get;
|
|
2297
|
-
null == (_$_class_private_field_get = taskWorker_class_private_field_get(this, _logger)) || null == (_class_private_field_get_error = _$_class_private_field_get.error) || _class_private_field_get_error.call(_$_class_private_field_get, chunk.trim());
|
|
2298
|
-
return;
|
|
2299
|
-
}
|
|
2300
|
-
task.stderrText += chunk;
|
|
2301
|
-
}
|
|
2302
|
-
function scheduleSweep() {
|
|
2303
|
-
var _this = this;
|
|
2304
|
-
if (taskWorker_class_private_field_get(this, _sweepTimer)) return;
|
|
2305
|
-
taskWorker_class_private_field_set(this, _sweepTimer, setTimeout(function() {
|
|
2306
|
-
taskWorker_class_private_field_set(_this, _sweepTimer, null);
|
|
2307
|
-
var tasks = taskWorker_class_private_field_get(_this, _inflightTasks);
|
|
2308
|
-
var head = taskWorker_class_private_field_get(_this, _inflightHead);
|
|
2309
|
-
var now = performance.now();
|
|
2310
|
-
for(var i = head; i < tasks.length; i++){
|
|
2311
|
-
var task = tasks[i];
|
|
2312
|
-
if (now - task.startTime > task.timeout) taskWorker_class_private_method_get(_this, _handleTaskTimeout, handleTaskTimeout).call(_this, task);
|
|
2313
2798
|
}
|
|
2314
|
-
|
|
2315
|
-
}, taskWorker_class_private_field_get(this, _sweepIntervalMs)).unref());
|
|
2799
|
+
});
|
|
2316
2800
|
}
|
|
2317
|
-
function
|
|
2318
|
-
|
|
2319
|
-
|
|
2801
|
+
function taskWorker_handleStderrChunk1(chunk) {
|
|
2802
|
+
handleStderrChunk(chunk, {
|
|
2803
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2804
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2805
|
+
logger: taskWorker_class_private_field_get(this, _logger),
|
|
2806
|
+
pendingStderr: taskWorker_class_private_field_get(this, _pendingStderr)
|
|
2807
|
+
});
|
|
2320
2808
|
}
|
|
2321
2809
|
function settleTask1(task, error, value) {
|
|
2322
|
-
|
|
2810
|
+
settleUtils_settleTask(task, error, value, taskWorker_class_private_field_get(this, _metrics));
|
|
2323
2811
|
}
|
|
2324
2812
|
function taskWorker_rejectAll(error) {
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
}
|
|
2336
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2337
|
-
try {
|
|
2338
|
-
for(var _iterator = all[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2339
|
-
var task = _step.value;
|
|
2340
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, error, void 0);
|
|
2341
|
-
}
|
|
2342
|
-
} catch (err) {
|
|
2343
|
-
_didIteratorError = true;
|
|
2344
|
-
_iteratorError = err;
|
|
2345
|
-
} finally{
|
|
2346
|
-
try {
|
|
2347
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2348
|
-
} finally{
|
|
2349
|
-
if (_didIteratorError) throw _iteratorError;
|
|
2350
|
-
}
|
|
2351
|
-
}
|
|
2352
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2353
|
-
try {
|
|
2354
|
-
for(var _iterator1 = taskWorker_class_private_field_get(this, _pendingFinalizeTasks)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2355
|
-
var task1 = _step1.value;
|
|
2356
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task1, error, void 0);
|
|
2357
|
-
}
|
|
2358
|
-
} catch (err) {
|
|
2359
|
-
_didIteratorError1 = true;
|
|
2360
|
-
_iteratorError1 = err;
|
|
2361
|
-
} finally{
|
|
2362
|
-
try {
|
|
2363
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2364
|
-
} finally{
|
|
2365
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
2366
|
-
}
|
|
2367
|
-
}
|
|
2368
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).clear();
|
|
2813
|
+
var _this = this;
|
|
2814
|
+
taskWorker_class_private_field_get(this, _sweeper).clear();
|
|
2815
|
+
rejectAllTasks({
|
|
2816
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2817
|
+
queue: taskWorker_class_private_field_get(this, _pendingQueue),
|
|
2818
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2819
|
+
settleTask: function(t, e, v1) {
|
|
2820
|
+
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2821
|
+
},
|
|
2822
|
+
error: error
|
|
2823
|
+
});
|
|
2369
2824
|
}
|
|
2370
2825
|
function readerPool_check_private_redeclaration(obj, privateCollection) {
|
|
2371
2826
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
@@ -2438,7 +2893,7 @@ var readerPool_ReaderPool = /*#__PURE__*/ function() {
|
|
|
2438
2893
|
logger: logger,
|
|
2439
2894
|
metrics: metrics,
|
|
2440
2895
|
name: "reader-".concat(i),
|
|
2441
|
-
initMode: ":memory:" !== database ? "none" : "
|
|
2896
|
+
initMode: ":memory:" !== database ? "none" : "none"
|
|
2442
2897
|
});
|
|
2443
2898
|
readerPool_class_private_field_get(this, _workers).push(worker);
|
|
2444
2899
|
}
|
|
@@ -2719,6 +3174,10 @@ var metrics_Metrics = /*#__PURE__*/ function() {
|
|
|
2719
3174
|
key: "snapshot",
|
|
2720
3175
|
value: function() {
|
|
2721
3176
|
var elapsed = (Date.now() - metrics_class_private_field_get(this, _startTime)) / 1000;
|
|
3177
|
+
var avgTaskDuration;
|
|
3178
|
+
avgTaskDuration = metrics_class_private_field_get(this, _tasksSuccess) > 0 ? metrics_class_private_field_get(this, _totalDuration) / metrics_class_private_field_get(this, _tasksSuccess) : 0;
|
|
3179
|
+
var throughput;
|
|
3180
|
+
throughput = elapsed > 0 ? metrics_class_private_field_get(this, _tasksTotal) / elapsed : 0;
|
|
2722
3181
|
return {
|
|
2723
3182
|
tasksTotal: metrics_class_private_field_get(this, _tasksTotal),
|
|
2724
3183
|
tasksSuccess: metrics_class_private_field_get(this, _tasksSuccess),
|
|
@@ -2728,8 +3187,8 @@ var metrics_Metrics = /*#__PURE__*/ function() {
|
|
|
2728
3187
|
executeCount: metrics_class_private_field_get(this, _executeCount),
|
|
2729
3188
|
queryCount: metrics_class_private_field_get(this, _queryCount),
|
|
2730
3189
|
streamCount: metrics_class_private_field_get(this, _streamCount),
|
|
2731
|
-
|
|
2732
|
-
|
|
3190
|
+
avgTaskDuration: avgTaskDuration,
|
|
3191
|
+
throughput: throughput,
|
|
2733
3192
|
uptime: elapsed
|
|
2734
3193
|
};
|
|
2735
3194
|
}
|
|
@@ -3003,7 +3462,7 @@ var transactionScope_TransactionScope = /*#__PURE__*/ function() {
|
|
|
3003
3462
|
value: function(error) {
|
|
3004
3463
|
var task = transactionScope_class_private_field_get(this, _deferredQueue).dequeue();
|
|
3005
3464
|
while(task){
|
|
3006
|
-
|
|
3465
|
+
settleUtils_settleTask(task, error, void 0, null);
|
|
3007
3466
|
task = transactionScope_class_private_field_get(this, _deferredQueue).dequeue();
|
|
3008
3467
|
}
|
|
3009
3468
|
}
|
|
@@ -3011,14 +3470,6 @@ var transactionScope_TransactionScope = /*#__PURE__*/ function() {
|
|
|
3011
3470
|
]);
|
|
3012
3471
|
return TransactionScope;
|
|
3013
3472
|
}();
|
|
3014
|
-
function pipelineEngine_array_like_to_array(arr, len) {
|
|
3015
|
-
if (null == len || len > arr.length) len = arr.length;
|
|
3016
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
3017
|
-
return arr2;
|
|
3018
|
-
}
|
|
3019
|
-
function pipelineEngine_array_without_holes(arr) {
|
|
3020
|
-
if (Array.isArray(arr)) return pipelineEngine_array_like_to_array(arr);
|
|
3021
|
-
}
|
|
3022
3473
|
function pipelineEngine_check_private_redeclaration(obj, privateCollection) {
|
|
3023
3474
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
3024
3475
|
}
|
|
@@ -3033,22 +3484,6 @@ function pipelineEngine_class_apply_descriptor_set(receiver, descriptor, value)
|
|
|
3033
3484
|
descriptor.value = value;
|
|
3034
3485
|
}
|
|
3035
3486
|
}
|
|
3036
|
-
function pipelineEngine_class_apply_descriptor_update(receiver, descriptor) {
|
|
3037
|
-
if (descriptor.set) {
|
|
3038
|
-
if (!descriptor.get) throw new TypeError("attempted to read set only private field");
|
|
3039
|
-
if (!("__destrWrapper" in descriptor)) descriptor.__destrWrapper = {
|
|
3040
|
-
set value (v){
|
|
3041
|
-
descriptor.set.call(receiver, v);
|
|
3042
|
-
},
|
|
3043
|
-
get value () {
|
|
3044
|
-
return descriptor.get.call(receiver);
|
|
3045
|
-
}
|
|
3046
|
-
};
|
|
3047
|
-
return descriptor.__destrWrapper;
|
|
3048
|
-
}
|
|
3049
|
-
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
3050
|
-
return descriptor;
|
|
3051
|
-
}
|
|
3052
3487
|
function pipelineEngine_class_call_check(instance, Constructor) {
|
|
3053
3488
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
3054
3489
|
}
|
|
@@ -3069,10 +3504,6 @@ function pipelineEngine_class_private_field_set(receiver, privateMap, value) {
|
|
|
3069
3504
|
pipelineEngine_class_apply_descriptor_set(receiver, descriptor, value);
|
|
3070
3505
|
return value;
|
|
3071
3506
|
}
|
|
3072
|
-
function pipelineEngine_class_private_field_update(receiver, privateMap) {
|
|
3073
|
-
var descriptor = pipelineEngine_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
3074
|
-
return pipelineEngine_class_apply_descriptor_update(receiver, descriptor);
|
|
3075
|
-
}
|
|
3076
3507
|
function pipelineEngine_class_private_method_get(receiver, privateSet, fn) {
|
|
3077
3508
|
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
3078
3509
|
return fn;
|
|
@@ -3095,59 +3526,29 @@ function pipelineEngine_create_class(Constructor, protoProps, staticProps) {
|
|
|
3095
3526
|
if (staticProps) pipelineEngine_defineProperties(Constructor, staticProps);
|
|
3096
3527
|
return Constructor;
|
|
3097
3528
|
}
|
|
3098
|
-
|
|
3099
|
-
if ("undefined" != typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) return Array.from(iter);
|
|
3100
|
-
}
|
|
3101
|
-
function pipelineEngine_non_iterable_spread() {
|
|
3102
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3103
|
-
}
|
|
3104
|
-
function pipelineEngine_to_consumable_array(arr) {
|
|
3105
|
-
return pipelineEngine_array_without_holes(arr) || pipelineEngine_iterable_to_array(arr) || pipelineEngine_unsupported_iterable_to_array(arr) || pipelineEngine_non_iterable_spread();
|
|
3106
|
-
}
|
|
3107
|
-
function pipelineEngine_unsupported_iterable_to_array(o, minLen) {
|
|
3108
|
-
if (!o) return;
|
|
3109
|
-
if ("string" == typeof o) return pipelineEngine_array_like_to_array(o, minLen);
|
|
3110
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
3111
|
-
if ("Object" === n && o.constructor) n = o.constructor.name;
|
|
3112
|
-
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
3113
|
-
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineEngine_array_like_to_array(o, minLen);
|
|
3114
|
-
}
|
|
3115
|
-
var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflightTasks = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflightHead = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), pipelineEngine_scheduledFinalize = /*#__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_sweepTimer = /*#__PURE__*/ new WeakMap(), pipelineEngine_sweepIntervalMs = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflightCount = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_firstInflight = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_shiftInflight = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), pipelineEngine_handleParsedValue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakSet(), pipelineEngine_scheduleSweep = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_handleTaskTimeout = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
|
|
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();
|
|
3116
3530
|
var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
3117
3531
|
"use strict";
|
|
3118
3532
|
function PipelineEngine(processManager, param) {
|
|
3119
3533
|
var _this = this;
|
|
3120
3534
|
var metrics = param.metrics, statementTimeout = param.statementTimeout, logger = param.logger, _param_batchSize = param.batchSize, batchSize = void 0 === _param_batchSize ? DEFAULT_BATCH_SIZE : _param_batchSize, _param_maxInflight = param.maxInflight, maxInflight = void 0 === _param_maxInflight ? DEFAULT_MAX_INFLIGHT : _param_maxInflight, onTaskTimeout = param.onTaskTimeout, _param_sweepInterval = param.sweepInterval, sweepInterval = void 0 === _param_sweepInterval ? 100 : _param_sweepInterval;
|
|
3121
3535
|
pipelineEngine_class_call_check(this, PipelineEngine);
|
|
3122
|
-
|
|
3123
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_firstInflight);
|
|
3124
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_shiftInflight);
|
|
3536
|
+
var _this1, _this2;
|
|
3125
3537
|
pipelineEngine_class_private_method_init(this, core_pipelineEngine_pumpQueue);
|
|
3126
|
-
pipelineEngine_class_private_method_init(this,
|
|
3127
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_scheduleFinalizeCheck);
|
|
3128
|
-
pipelineEngine_class_private_method_init(this, pipelineEngine_scheduleSweep);
|
|
3129
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_handleTaskTimeout);
|
|
3538
|
+
pipelineEngine_class_private_method_init(this, core_pipelineEngine_afterSentinel);
|
|
3130
3539
|
pipelineEngine_class_private_method_init(this, pipelineEngine_settleTask);
|
|
3131
3540
|
pipelineEngine_class_private_field_init(this, _queue, {
|
|
3132
3541
|
writable: true,
|
|
3133
3542
|
value: new queue_Queue()
|
|
3134
3543
|
});
|
|
3135
|
-
pipelineEngine_class_private_field_init(this,
|
|
3136
|
-
writable: true,
|
|
3137
|
-
value: []
|
|
3138
|
-
});
|
|
3139
|
-
pipelineEngine_class_private_field_init(this, pipelineEngine_inflightHead, {
|
|
3544
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_inflight, {
|
|
3140
3545
|
writable: true,
|
|
3141
|
-
value:
|
|
3546
|
+
value: new inflightTracker_InflightTracker()
|
|
3142
3547
|
});
|
|
3143
3548
|
pipelineEngine_class_private_field_init(this, pipelineEngine_pendingFinalizeTasks, {
|
|
3144
3549
|
writable: true,
|
|
3145
3550
|
value: new Set()
|
|
3146
3551
|
});
|
|
3147
|
-
pipelineEngine_class_private_field_init(this, pipelineEngine_scheduledFinalize, {
|
|
3148
|
-
writable: true,
|
|
3149
|
-
value: false
|
|
3150
|
-
});
|
|
3151
3552
|
pipelineEngine_class_private_field_init(this, _sharedValueParser, {
|
|
3152
3553
|
writable: true,
|
|
3153
3554
|
value: void 0
|
|
@@ -3184,14 +3585,22 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3184
3585
|
writable: true,
|
|
3185
3586
|
value: false
|
|
3186
3587
|
});
|
|
3187
|
-
pipelineEngine_class_private_field_init(this,
|
|
3588
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_sweeper, {
|
|
3188
3589
|
writable: true,
|
|
3189
|
-
value:
|
|
3590
|
+
value: void 0
|
|
3190
3591
|
});
|
|
3191
|
-
pipelineEngine_class_private_field_init(this,
|
|
3592
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_scheduleFinalizeCheck, {
|
|
3192
3593
|
writable: true,
|
|
3193
3594
|
value: void 0
|
|
3194
3595
|
});
|
|
3596
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_pump, {
|
|
3597
|
+
writable: true,
|
|
3598
|
+
value: void 0
|
|
3599
|
+
});
|
|
3600
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_pendingStderr, {
|
|
3601
|
+
writable: true,
|
|
3602
|
+
value: []
|
|
3603
|
+
});
|
|
3195
3604
|
pipelineEngine_class_private_field_set(this, pipelineEngine_processManager, processManager);
|
|
3196
3605
|
pipelineEngine_class_private_field_set(this, pipelineEngine_metrics, metrics);
|
|
3197
3606
|
pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
|
|
@@ -3199,19 +3608,57 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3199
3608
|
pipelineEngine_class_private_field_set(this, pipelineEngine_batchSize, batchSize);
|
|
3200
3609
|
pipelineEngine_class_private_field_set(this, pipelineEngine_maxInflight, maxInflight);
|
|
3201
3610
|
pipelineEngine_class_private_field_set(this, _onTaskTimeout, null != onTaskTimeout ? onTaskTimeout : function() {});
|
|
3611
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_sweeper, createSweeper({
|
|
3612
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3613
|
+
sweepIntervalMs: sweepInterval,
|
|
3614
|
+
handleTaskTimeout: function(task) {
|
|
3615
|
+
var error = prepareTaskTimeout(task, pipelineEngine_class_private_field_get(_this, pipelineEngine_metrics));
|
|
3616
|
+
if (error) {
|
|
3617
|
+
pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, task, error, void 0);
|
|
3618
|
+
null == (_this1 = pipelineEngine_class_private_field_get(_this2 = _this, _onTaskTimeout)) || _this1.call(_this2, task);
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
}));
|
|
3622
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_pump, createPumpQueue({
|
|
3623
|
+
queue: pipelineEngine_class_private_field_get(this, _queue),
|
|
3624
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3625
|
+
processManager: pipelineEngine_class_private_field_get(this, pipelineEngine_processManager),
|
|
3626
|
+
sweeper: pipelineEngine_class_private_field_get(this, pipelineEngine_sweeper),
|
|
3627
|
+
batchSize: pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize),
|
|
3628
|
+
maxInflight: pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)
|
|
3629
|
+
}));
|
|
3630
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_scheduleFinalizeCheck, createFinalizeScheduler({
|
|
3631
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3632
|
+
settleTask: function(t, e, v1) {
|
|
3633
|
+
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3634
|
+
},
|
|
3635
|
+
pumpQueue: function() {
|
|
3636
|
+
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3637
|
+
},
|
|
3638
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr),
|
|
3639
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight)
|
|
3640
|
+
}));
|
|
3202
3641
|
pipelineEngine_class_private_field_set(this, _sharedValueParser, createJsonValueParser(function(raw) {
|
|
3203
|
-
|
|
3642
|
+
handleParsedValue(raw, pipelineEngine_class_private_field_get(_this, pipelineEngine_inflight), {
|
|
3643
|
+
afterSentinel: function(task) {
|
|
3644
|
+
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_afterSentinel, pipelineEngine_afterSentinel).call(_this, task);
|
|
3645
|
+
},
|
|
3646
|
+
rejectAll: function(error) {
|
|
3647
|
+
return _this.rejectAll(error);
|
|
3648
|
+
}
|
|
3649
|
+
});
|
|
3204
3650
|
}));
|
|
3205
3651
|
pipelineEngine_class_private_field_get(this, pipelineEngine_processManager).setOnDrainCallback(function() {
|
|
3206
3652
|
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3207
3653
|
});
|
|
3208
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_sweepIntervalMs, sweepInterval);
|
|
3209
3654
|
}
|
|
3210
3655
|
pipelineEngine_create_class(PipelineEngine, [
|
|
3211
3656
|
{
|
|
3212
3657
|
key: "_sweepTimer",
|
|
3213
3658
|
get: function() {
|
|
3214
|
-
|
|
3659
|
+
var _$_class_private_field_get;
|
|
3660
|
+
var _class_private_field_get_getSweepTimer;
|
|
3661
|
+
return null != (_class_private_field_get_getSweepTimer = null == (_$_class_private_field_get = pipelineEngine_class_private_field_get(this, pipelineEngine_sweeper)) ? void 0 : _$_class_private_field_get.getSweepTimer()) ? _class_private_field_get_getSweepTimer : null;
|
|
3215
3662
|
}
|
|
3216
3663
|
},
|
|
3217
3664
|
{
|
|
@@ -3229,7 +3676,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3229
3676
|
{
|
|
3230
3677
|
key: "pendingStatements",
|
|
3231
3678
|
get: function() {
|
|
3232
|
-
return pipelineEngine_class_private_field_get(this, _queue).size +
|
|
3679
|
+
return pipelineEngine_class_private_field_get(this, _queue).size + pipelineEngine_class_private_field_get(this, pipelineEngine_inflight).count + pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).size;
|
|
3233
3680
|
}
|
|
3234
3681
|
},
|
|
3235
3682
|
{
|
|
@@ -3262,7 +3709,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3262
3709
|
{
|
|
3263
3710
|
key: "handleStdoutChunk",
|
|
3264
3711
|
value: function(chunk) {
|
|
3265
|
-
var task =
|
|
3712
|
+
var task = pipelineEngine_class_private_field_get(this, pipelineEngine_inflight).first;
|
|
3266
3713
|
if (!task) return;
|
|
3267
3714
|
if ("stream" === task.kind && task.rowParser && !task.rowParser.finished && !task.timedout) {
|
|
3268
3715
|
var leftover = task.rowParser.feed(chunk);
|
|
@@ -3275,209 +3722,64 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3275
3722
|
{
|
|
3276
3723
|
key: "handleStderrChunk",
|
|
3277
3724
|
value: function(chunk) {
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
}
|
|
3285
|
-
task.stderrText += chunk;
|
|
3725
|
+
handleStderrChunk(chunk, {
|
|
3726
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3727
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3728
|
+
logger: pipelineEngine_class_private_field_get(this, pipelineEngine_logger),
|
|
3729
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr)
|
|
3730
|
+
});
|
|
3286
3731
|
}
|
|
3287
3732
|
},
|
|
3288
3733
|
{
|
|
3289
3734
|
key: "rejectAll",
|
|
3290
3735
|
value: function(error) {
|
|
3736
|
+
var _this = this;
|
|
3291
3737
|
pipelineEngine_class_private_field_get(this, _sharedValueParser).reset();
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
}
|
|
3302
|
-
} catch (err) {
|
|
3303
|
-
_didIteratorError = true;
|
|
3304
|
-
_iteratorError = err;
|
|
3305
|
-
} finally{
|
|
3306
|
-
try {
|
|
3307
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
3308
|
-
} finally{
|
|
3309
|
-
if (_didIteratorError) throw _iteratorError;
|
|
3310
|
-
}
|
|
3311
|
-
}
|
|
3312
|
-
var queued = pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3313
|
-
while(queued){
|
|
3314
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, queued, error, void 0);
|
|
3315
|
-
queued = pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3316
|
-
}
|
|
3317
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
3318
|
-
try {
|
|
3319
|
-
for(var _iterator1 = pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
3320
|
-
var task1 = _step1.value;
|
|
3321
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task1, error, void 0);
|
|
3322
|
-
}
|
|
3323
|
-
} catch (err) {
|
|
3324
|
-
_didIteratorError1 = true;
|
|
3325
|
-
_iteratorError1 = err;
|
|
3326
|
-
} finally{
|
|
3327
|
-
try {
|
|
3328
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
3329
|
-
} finally{
|
|
3330
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
3331
|
-
}
|
|
3332
|
-
}
|
|
3333
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).clear();
|
|
3738
|
+
rejectAllTasks({
|
|
3739
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3740
|
+
queue: pipelineEngine_class_private_field_get(this, _queue),
|
|
3741
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3742
|
+
settleTask: function(t, e, v1) {
|
|
3743
|
+
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3744
|
+
},
|
|
3745
|
+
error: error
|
|
3746
|
+
});
|
|
3334
3747
|
}
|
|
3335
3748
|
},
|
|
3336
3749
|
{
|
|
3337
3750
|
key: "kill",
|
|
3338
3751
|
value: function() {
|
|
3752
|
+
var _class_private_field_get_cancel, _$_class_private_field_get;
|
|
3339
3753
|
pipelineEngine_class_private_field_set(this, _active, false);
|
|
3340
|
-
|
|
3341
|
-
|
|
3754
|
+
pipelineEngine_class_private_field_get(this, pipelineEngine_sweeper).clear();
|
|
3755
|
+
null == (_class_private_field_get_cancel = (_$_class_private_field_get = pipelineEngine_class_private_field_get(this, pipelineEngine_scheduleFinalizeCheck)).cancel) || _class_private_field_get_cancel.call(_$_class_private_field_get);
|
|
3342
3756
|
this.rejectAll(new Error("PipelineEngine is killed"));
|
|
3343
3757
|
}
|
|
3344
3758
|
}
|
|
3345
3759
|
]);
|
|
3346
3760
|
return PipelineEngine;
|
|
3347
3761
|
}();
|
|
3348
|
-
function core_pipelineEngine_inflightCount() {
|
|
3349
|
-
return pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length - pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead);
|
|
3350
|
-
}
|
|
3351
|
-
function pipelineEngine_firstInflight() {
|
|
3352
|
-
return pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead) < pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length ? pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)[pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)] : null;
|
|
3353
|
-
}
|
|
3354
|
-
function pipelineEngine_shiftInflight() {
|
|
3355
|
-
var task = pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)[pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)];
|
|
3356
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)[pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)] = null;
|
|
3357
|
-
pipelineEngine_class_private_field_update(this, pipelineEngine_inflightHead).value++;
|
|
3358
|
-
if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead) >= pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length) {
|
|
3359
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightTasks, []);
|
|
3360
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightHead, 0);
|
|
3361
|
-
} else if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead) > 128) {
|
|
3362
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightTasks, pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).slice(pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)));
|
|
3363
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightHead, 0);
|
|
3364
|
-
}
|
|
3365
|
-
return task;
|
|
3366
|
-
}
|
|
3367
3762
|
function pipelineEngine_pumpQueue() {
|
|
3368
|
-
var _$_class_private_field_get;
|
|
3369
3763
|
if (!pipelineEngine_class_private_field_get(this, _active)) return;
|
|
3370
|
-
|
|
3371
|
-
if (pipelineEngine_class_private_method_get(this, pipelineEngine_inflightCount, core_pipelineEngine_inflightCount).call(this) >= pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)) return;
|
|
3372
|
-
var batch = [];
|
|
3373
|
-
while(batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize) && !pipelineEngine_class_private_field_get(this, _queue).isEmpty() && pipelineEngine_class_private_method_get(this, pipelineEngine_inflightCount, core_pipelineEngine_inflightCount).call(this) + batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)){
|
|
3374
|
-
var task = pipelineEngine_class_private_field_get(this, _queue).peek();
|
|
3375
|
-
if ("stream" === task.kind && (batch.length > 0 || pipelineEngine_class_private_method_get(this, pipelineEngine_inflightCount, core_pipelineEngine_inflightCount).call(this) > 0)) break;
|
|
3376
|
-
pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3377
|
-
batch.push(task);
|
|
3378
|
-
}
|
|
3379
|
-
if (0 === batch.length) return;
|
|
3380
|
-
var now = performance.now();
|
|
3381
|
-
var payload = buildBatchPayload(batch);
|
|
3382
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
3383
|
-
try {
|
|
3384
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
3385
|
-
var task1 = _step.value;
|
|
3386
|
-
task1.startTime = now;
|
|
3387
|
-
}
|
|
3388
|
-
} catch (err) {
|
|
3389
|
-
_didIteratorError = true;
|
|
3390
|
-
_iteratorError = err;
|
|
3391
|
-
} finally{
|
|
3392
|
-
try {
|
|
3393
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
3394
|
-
} finally{
|
|
3395
|
-
if (_didIteratorError) throw _iteratorError;
|
|
3396
|
-
}
|
|
3397
|
-
}
|
|
3398
|
-
(_$_class_private_field_get = pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)).push.apply(_$_class_private_field_get, pipelineEngine_to_consumable_array(batch));
|
|
3399
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_scheduleSweep, core_pipelineEngine_scheduleSweep).call(this);
|
|
3400
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_processManager).write(payload);
|
|
3401
|
-
}
|
|
3402
|
-
function core_pipelineEngine_handleParsedValue(raw) {
|
|
3403
|
-
var task = pipelineEngine_class_private_method_get(this, core_pipelineEngine_firstInflight, pipelineEngine_firstInflight).call(this);
|
|
3404
|
-
if (!task) return;
|
|
3405
|
-
if (isSentinelRaw(raw, task.token)) {
|
|
3406
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_shiftInflight, pipelineEngine_shiftInflight).call(this);
|
|
3407
|
-
if (task.timedout) return void pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3408
|
-
if (task.consumerError) {
|
|
3409
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, task.consumerError, void 0);
|
|
3410
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3411
|
-
return;
|
|
3412
|
-
}
|
|
3413
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).add(task);
|
|
3414
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_scheduleFinalizeCheck, pipelineEngine_scheduleFinalizeCheck).call(this);
|
|
3415
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3416
|
-
return;
|
|
3417
|
-
}
|
|
3418
|
-
if ("[]" === raw) return;
|
|
3419
|
-
var parsed;
|
|
3420
|
-
try {
|
|
3421
|
-
parsed = JSON.parse(raw);
|
|
3422
|
-
} catch (error) {
|
|
3423
|
-
this.rejectAll(new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
3424
|
-
return;
|
|
3425
|
-
}
|
|
3426
|
-
if (isSentinelRow(parsed, task.token)) {
|
|
3427
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_shiftInflight, pipelineEngine_shiftInflight).call(this);
|
|
3428
|
-
if (task.timedout) return void pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3429
|
-
if (task.consumerError) {
|
|
3430
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, task.consumerError, void 0);
|
|
3431
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3432
|
-
return;
|
|
3433
|
-
}
|
|
3434
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).add(task);
|
|
3435
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_scheduleFinalizeCheck, pipelineEngine_scheduleFinalizeCheck).call(this);
|
|
3436
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3437
|
-
return;
|
|
3438
|
-
}
|
|
3439
|
-
if (task.timedout) return;
|
|
3440
|
-
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
3441
|
-
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
3764
|
+
pipelineEngine_class_private_field_get(this, pipelineEngine_pump).call(this);
|
|
3442
3765
|
}
|
|
3443
|
-
function
|
|
3766
|
+
function pipelineEngine_afterSentinel(task) {
|
|
3444
3767
|
var _this = this;
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
setImmediate(function() {
|
|
3448
|
-
pipelineEngine_class_private_field_set(_this, pipelineEngine_scheduledFinalize, false);
|
|
3449
|
-
finalizePendingTasks(pipelineEngine_class_private_field_get(_this, pipelineEngine_pendingFinalizeTasks), function(t, e, v1) {
|
|
3768
|
+
handleSentinelTask(task, {
|
|
3769
|
+
settleTask: function(t, e, v1) {
|
|
3450
3770
|
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3451
|
-
},
|
|
3771
|
+
},
|
|
3772
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3773
|
+
scheduleFinalizeCheck: function() {
|
|
3774
|
+
return pipelineEngine_class_private_field_get(_this, pipelineEngine_scheduleFinalizeCheck).call(_this);
|
|
3775
|
+
},
|
|
3776
|
+
pumpQueue: function() {
|
|
3452
3777
|
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3453
|
-
});
|
|
3454
|
-
});
|
|
3455
|
-
}
|
|
3456
|
-
function core_pipelineEngine_scheduleSweep() {
|
|
3457
|
-
var _this = this;
|
|
3458
|
-
if (pipelineEngine_class_private_field_get(this, pipelineEngine_sweepTimer)) return;
|
|
3459
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_sweepTimer, setTimeout(function() {
|
|
3460
|
-
pipelineEngine_class_private_field_set(_this, pipelineEngine_sweepTimer, null);
|
|
3461
|
-
var tasks = pipelineEngine_class_private_field_get(_this, pipelineEngine_inflightTasks);
|
|
3462
|
-
var head = pipelineEngine_class_private_field_get(_this, pipelineEngine_inflightHead);
|
|
3463
|
-
var now = performance.now();
|
|
3464
|
-
for(var i = head; i < tasks.length; i++){
|
|
3465
|
-
var task = tasks[i];
|
|
3466
|
-
if (now - task.startTime > task.timeout) pipelineEngine_class_private_method_get(_this, core_pipelineEngine_handleTaskTimeout, pipelineEngine_handleTaskTimeout).call(_this, task);
|
|
3467
3778
|
}
|
|
3468
|
-
|
|
3469
|
-
}, pipelineEngine_class_private_field_get(this, pipelineEngine_sweepIntervalMs)).unref());
|
|
3470
|
-
}
|
|
3471
|
-
function pipelineEngine_handleTaskTimeout(task) {
|
|
3472
|
-
var _this, _this1;
|
|
3473
|
-
var error = prepareTaskTimeout(task, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics));
|
|
3474
|
-
if (error) {
|
|
3475
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, error, void 0);
|
|
3476
|
-
null == (_this = pipelineEngine_class_private_field_get(_this1 = this, _onTaskTimeout)) || _this.call(_this1, task);
|
|
3477
|
-
}
|
|
3779
|
+
});
|
|
3478
3780
|
}
|
|
3479
3781
|
function pipelineEngine_settleTask1(task, error, value) {
|
|
3480
|
-
|
|
3782
|
+
settleUtils_settleTask(task, error, value, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics), {
|
|
3481
3783
|
resetRowParser: true
|
|
3482
3784
|
});
|
|
3483
3785
|
}
|
|
@@ -3984,31 +4286,6 @@ var executor_SQLiteExecutor = /*#__PURE__*/ function() {
|
|
|
3984
4286
|
case 1:
|
|
3985
4287
|
_state.sent();
|
|
3986
4288
|
executor_class_private_field_get(_this, executor_processManager).kill();
|
|
3987
|
-
_state.label = 2;
|
|
3988
|
-
case 2:
|
|
3989
|
-
_state.trys.push([
|
|
3990
|
-
2,
|
|
3991
|
-
4,
|
|
3992
|
-
,
|
|
3993
|
-
5
|
|
3994
|
-
]);
|
|
3995
|
-
return [
|
|
3996
|
-
4,
|
|
3997
|
-
(0, __WEBPACK_EXTERNAL_MODULE_node_events_0a6aefe7__.once)(executor_class_private_field_get(_this, executor_processManager).process, "close")
|
|
3998
|
-
];
|
|
3999
|
-
case 3:
|
|
4000
|
-
_state.sent();
|
|
4001
|
-
return [
|
|
4002
|
-
3,
|
|
4003
|
-
5
|
|
4004
|
-
];
|
|
4005
|
-
case 4:
|
|
4006
|
-
_state.sent();
|
|
4007
|
-
return [
|
|
4008
|
-
3,
|
|
4009
|
-
5
|
|
4010
|
-
];
|
|
4011
|
-
case 5:
|
|
4012
4289
|
return [
|
|
4013
4290
|
2
|
|
4014
4291
|
];
|