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/cjs/index.cjs
CHANGED
|
@@ -55,7 +55,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
55
55
|
return metrics_Metrics;
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
-
var external_node_events_namespaceObject = require("node:events");
|
|
59
58
|
var DEFAULT_STATEMENT_TIMEOUT = 30000;
|
|
60
59
|
function createTimeoutError(timeout, sql) {
|
|
61
60
|
return new Error("SQLite statement timed out after ".concat(timeout, "ms: ").concat(sql));
|
|
@@ -266,7 +265,8 @@ function createRowStreamParser(onRow) {
|
|
|
266
265
|
}
|
|
267
266
|
index = consumed;
|
|
268
267
|
if (consumed > 65536) {
|
|
269
|
-
|
|
268
|
+
buffer = buffer.slice(consumed);
|
|
269
|
+
this.buffer = buffer;
|
|
270
270
|
this._consumed = 0;
|
|
271
271
|
index = 0;
|
|
272
272
|
consumed = 0;
|
|
@@ -317,6 +317,7 @@ function createRowStreamParser(onRow) {
|
|
|
317
317
|
var TOKEN_COLUMN = "__sqlite_executor_token__";
|
|
318
318
|
var DEFAULT_BATCH_SIZE = 10;
|
|
319
319
|
var DEFAULT_MAX_INFLIGHT = 50;
|
|
320
|
+
var INFLIGHT_COMPACT_THRESHOLD = 128;
|
|
320
321
|
function _check_private_redeclaration(obj, privateCollection) {
|
|
321
322
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
322
323
|
}
|
|
@@ -390,7 +391,7 @@ function _type_of(obj) {
|
|
|
390
391
|
}
|
|
391
392
|
var _computedKey;
|
|
392
393
|
function setupStreamParser(task) {
|
|
393
|
-
var
|
|
394
|
+
var pipelineOrFeed = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
|
|
394
395
|
feed: function() {}
|
|
395
396
|
};
|
|
396
397
|
if ("stream" !== task.kind) return null;
|
|
@@ -398,7 +399,7 @@ function setupStreamParser(task) {
|
|
|
398
399
|
if (task.consumerError) return;
|
|
399
400
|
try {
|
|
400
401
|
var row = JSON.parse(rawRow);
|
|
401
|
-
if ((void 0 === row ? "undefined" : _type_of(row)) === "object" && null !== row && TOKEN_COLUMN in row) return void
|
|
402
|
+
if ((void 0 === row ? "undefined" : _type_of(row)) === "object" && null !== row && TOKEN_COLUMN in row) return void pipelineOrFeed.feed("[".concat(rawRow, "]"));
|
|
402
403
|
task.onRow(row);
|
|
403
404
|
} catch (error) {
|
|
404
405
|
task.consumerError = toError(error);
|
|
@@ -600,16 +601,19 @@ function createTransactionHandle(scopeId, executor) {
|
|
|
600
601
|
return handle;
|
|
601
602
|
}
|
|
602
603
|
var external_node_child_process_namespaceObject = require("node:child_process");
|
|
604
|
+
var external_node_events_namespaceObject = require("node:events");
|
|
603
605
|
var external_node_fs_namespaceObject = require("node:fs");
|
|
604
606
|
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
605
607
|
var external_node_path_namespaceObject = require("node:path");
|
|
606
608
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
607
609
|
var external_node_os_namespaceObject = require("node:os");
|
|
608
610
|
var external_node_os_default = /*#__PURE__*/ __webpack_require__.n(external_node_os_namespaceObject);
|
|
609
|
-
|
|
611
|
+
function isWindows() {
|
|
612
|
+
return "win32" === external_node_os_default().platform();
|
|
613
|
+
}
|
|
610
614
|
function isExecutable(filePath) {
|
|
611
615
|
try {
|
|
612
|
-
if (isWindows) return external_node_fs_default().statSync(filePath).isFile();
|
|
616
|
+
if (isWindows()) return external_node_fs_default().statSync(filePath).isFile();
|
|
613
617
|
external_node_fs_default().accessSync(filePath, external_node_fs_default().constants.X_OK);
|
|
614
618
|
return true;
|
|
615
619
|
} catch (e) {
|
|
@@ -617,7 +621,7 @@ function isExecutable(filePath) {
|
|
|
617
621
|
}
|
|
618
622
|
}
|
|
619
623
|
function getPathExts() {
|
|
620
|
-
if (!isWindows) return [
|
|
624
|
+
if (!isWindows()) return [
|
|
621
625
|
""
|
|
622
626
|
];
|
|
623
627
|
var ext = process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM;.PS1";
|
|
@@ -630,7 +634,7 @@ function which(command) {
|
|
|
630
634
|
var pathExts = getPathExts();
|
|
631
635
|
if (command.includes(external_node_path_default().sep)) {
|
|
632
636
|
var fullPath = external_node_path_default().resolve(command);
|
|
633
|
-
if (!isWindows) return isExecutable(fullPath) ? fullPath : null;
|
|
637
|
+
if (!isWindows()) return isExecutable(fullPath) ? fullPath : null;
|
|
634
638
|
if (external_node_path_default().extname(fullPath)) return isExecutable(fullPath) ? fullPath : null;
|
|
635
639
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
636
640
|
try {
|
|
@@ -657,7 +661,7 @@ function which(command) {
|
|
|
657
661
|
try {
|
|
658
662
|
for(var _iterator1 = pathDirs[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
659
663
|
var dir = _step1.value;
|
|
660
|
-
if (dir) if (isWindows) {
|
|
664
|
+
if (dir) if (isWindows()) {
|
|
661
665
|
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
662
666
|
try {
|
|
663
667
|
for(var _iterator2 = pathExts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
@@ -752,6 +756,14 @@ function process_class_private_field_set(receiver, privateMap, value) {
|
|
|
752
756
|
process_class_apply_descriptor_set(receiver, descriptor, value);
|
|
753
757
|
return value;
|
|
754
758
|
}
|
|
759
|
+
function _class_private_method_get(receiver, privateSet, fn) {
|
|
760
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
761
|
+
return fn;
|
|
762
|
+
}
|
|
763
|
+
function _class_private_method_init(obj, privateSet) {
|
|
764
|
+
process_check_private_redeclaration(obj, privateSet);
|
|
765
|
+
privateSet.add(obj);
|
|
766
|
+
}
|
|
755
767
|
function process_defineProperties(target, props) {
|
|
756
768
|
for(var i = 0; i < props.length; i++){
|
|
757
769
|
var descriptor = props[i];
|
|
@@ -858,12 +870,14 @@ function _ts_generator(thisArg, body) {
|
|
|
858
870
|
}
|
|
859
871
|
}
|
|
860
872
|
var GRACEFUL_SHUTDOWN_TIMEOUT = 5000;
|
|
861
|
-
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();
|
|
873
|
+
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();
|
|
862
874
|
var process_ProcessManager = /*#__PURE__*/ function() {
|
|
863
875
|
"use strict";
|
|
864
876
|
function ProcessManager() {
|
|
865
877
|
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;
|
|
866
878
|
process_class_call_check(this, ProcessManager);
|
|
879
|
+
_class_private_method_init(this, _flushBuffer);
|
|
880
|
+
_class_private_method_init(this, _notifyIfDrained);
|
|
867
881
|
process_class_private_field_init(this, _binary, {
|
|
868
882
|
writable: true,
|
|
869
883
|
value: void 0
|
|
@@ -884,6 +898,14 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
884
898
|
writable: true,
|
|
885
899
|
value: false
|
|
886
900
|
});
|
|
901
|
+
process_class_private_field_init(this, _writeBuffer, {
|
|
902
|
+
writable: true,
|
|
903
|
+
value: []
|
|
904
|
+
});
|
|
905
|
+
process_class_private_field_init(this, _drainCallbacks, {
|
|
906
|
+
writable: true,
|
|
907
|
+
value: []
|
|
908
|
+
});
|
|
887
909
|
process_class_private_field_init(this, _onDrain, {
|
|
888
910
|
writable: true,
|
|
889
911
|
value: void 0
|
|
@@ -907,6 +929,13 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
907
929
|
process_class_private_field_set(this, _onDrain, fn);
|
|
908
930
|
}
|
|
909
931
|
},
|
|
932
|
+
{
|
|
933
|
+
key: "onDrained",
|
|
934
|
+
value: function(callback) {
|
|
935
|
+
if (!process_class_private_field_get(this, _draining) && 0 === process_class_private_field_get(this, _writeBuffer).length) return void callback();
|
|
936
|
+
process_class_private_field_get(this, _drainCallbacks).push(callback);
|
|
937
|
+
}
|
|
938
|
+
},
|
|
910
939
|
{
|
|
911
940
|
key: "binary",
|
|
912
941
|
get: function() {
|
|
@@ -922,9 +951,9 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
922
951
|
{
|
|
923
952
|
key: "start",
|
|
924
953
|
value: function() {
|
|
925
|
-
var _proc_stdin, _proc_stdout, _proc_stderr;
|
|
954
|
+
var _proc_stdin, _proc_stdout, _proc_stderr, _proc_stdin1;
|
|
926
955
|
if (!process_class_private_field_get(this, _binary)) throw new Error("sqlite3 binary path is empty. Provide a valid --binary / binary option.");
|
|
927
|
-
if (!external_node_fs_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."));
|
|
956
|
+
if (external_node_path_default().isAbsolute(process_class_private_field_get(this, _binary)) && !external_node_fs_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."));
|
|
928
957
|
var args = [
|
|
929
958
|
"-json"
|
|
930
959
|
];
|
|
@@ -941,6 +970,7 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
941
970
|
null == (_proc_stdin = proc.stdin) || _proc_stdin.setDefaultEncoding("utf-8");
|
|
942
971
|
null == (_proc_stdout = proc.stdout) || _proc_stdout.setEncoding("utf-8");
|
|
943
972
|
null == (_proc_stderr = proc.stderr) || _proc_stderr.setEncoding("utf-8");
|
|
973
|
+
null == (_proc_stdin1 = proc.stdin) || _proc_stdin1.on("error", function() {});
|
|
944
974
|
process_class_private_field_set(this, _proc, proc);
|
|
945
975
|
return proc;
|
|
946
976
|
}
|
|
@@ -952,11 +982,13 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
952
982
|
var _$_class_private_field_get;
|
|
953
983
|
var stream = null == (_$_class_private_field_get = process_class_private_field_get(this, _proc)) ? void 0 : _$_class_private_field_get.stdin;
|
|
954
984
|
if (!stream) return;
|
|
955
|
-
if (process_class_private_field_get(this, _draining)) return;
|
|
985
|
+
if (process_class_private_field_get(this, _draining)) return void process_class_private_field_get(this, _writeBuffer).push(data);
|
|
956
986
|
if (!stream.write(data)) {
|
|
957
987
|
process_class_private_field_set(this, _draining, true);
|
|
958
988
|
stream.once("drain", function() {
|
|
959
989
|
process_class_private_field_set(_this, _draining, false);
|
|
990
|
+
_class_private_method_get(_this, _flushBuffer, flushBuffer).call(_this);
|
|
991
|
+
_class_private_method_get(_this, _notifyIfDrained, notifyIfDrained).call(_this);
|
|
960
992
|
process_class_private_field_get(_this, _onDrain).call(_this);
|
|
961
993
|
});
|
|
962
994
|
}
|
|
@@ -975,40 +1007,58 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
975
1007
|
if (!proc) return [
|
|
976
1008
|
2
|
|
977
1009
|
];
|
|
1010
|
+
if (!(process_class_private_field_get(_this, _draining) || process_class_private_field_get(_this, _writeBuffer).length > 0)) return [
|
|
1011
|
+
3,
|
|
1012
|
+
2
|
|
1013
|
+
];
|
|
1014
|
+
return [
|
|
1015
|
+
4,
|
|
1016
|
+
new Promise(function(resolve) {
|
|
1017
|
+
var timer = setTimeout(resolve, GRACEFUL_SHUTDOWN_TIMEOUT);
|
|
1018
|
+
_this.onDrained(function() {
|
|
1019
|
+
clearTimeout(timer);
|
|
1020
|
+
resolve();
|
|
1021
|
+
});
|
|
1022
|
+
})
|
|
1023
|
+
];
|
|
1024
|
+
case 1:
|
|
1025
|
+
_state.sent();
|
|
1026
|
+
_state.label = 2;
|
|
1027
|
+
case 2:
|
|
978
1028
|
timer = setTimeout(function() {
|
|
979
1029
|
proc.kill();
|
|
980
|
-
}, GRACEFUL_SHUTDOWN_TIMEOUT);
|
|
981
|
-
_state.label =
|
|
982
|
-
case
|
|
1030
|
+
}, GRACEFUL_SHUTDOWN_TIMEOUT).unref();
|
|
1031
|
+
_state.label = 3;
|
|
1032
|
+
case 3:
|
|
983
1033
|
_state.trys.push([
|
|
984
|
-
1,
|
|
985
1034
|
3,
|
|
986
|
-
|
|
987
|
-
|
|
1035
|
+
5,
|
|
1036
|
+
6,
|
|
1037
|
+
7
|
|
988
1038
|
]);
|
|
989
1039
|
null == (_proc_stdin = proc.stdin) || _proc_stdin.write(".quit\n");
|
|
990
1040
|
return [
|
|
991
1041
|
4,
|
|
992
1042
|
(0, external_node_events_namespaceObject.once)(proc, "close")
|
|
993
1043
|
];
|
|
994
|
-
case
|
|
1044
|
+
case 4:
|
|
995
1045
|
_state.sent();
|
|
996
1046
|
return [
|
|
997
1047
|
3,
|
|
998
|
-
|
|
1048
|
+
7
|
|
999
1049
|
];
|
|
1000
|
-
case
|
|
1050
|
+
case 5:
|
|
1001
1051
|
_state.sent();
|
|
1002
1052
|
return [
|
|
1003
1053
|
3,
|
|
1004
|
-
|
|
1054
|
+
7
|
|
1005
1055
|
];
|
|
1006
|
-
case
|
|
1056
|
+
case 6:
|
|
1007
1057
|
clearTimeout(timer);
|
|
1008
1058
|
return [
|
|
1009
1059
|
7
|
|
1010
1060
|
];
|
|
1011
|
-
case
|
|
1061
|
+
case 7:
|
|
1012
1062
|
return [
|
|
1013
1063
|
2
|
|
1014
1064
|
];
|
|
@@ -1025,6 +1075,8 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
1025
1075
|
if (!proc) return null;
|
|
1026
1076
|
process_class_private_field_set(this, _proc, null);
|
|
1027
1077
|
process_class_private_field_set(this, _draining, false);
|
|
1078
|
+
process_class_private_field_set(this, _writeBuffer, []);
|
|
1079
|
+
process_class_private_field_set(this, _drainCallbacks, []);
|
|
1028
1080
|
null == (_proc_stdout = proc.stdout) || _proc_stdout.removeAllListeners();
|
|
1029
1081
|
null == (_proc_stderr = proc.stderr) || _proc_stderr.removeAllListeners();
|
|
1030
1082
|
proc.removeAllListeners();
|
|
@@ -1036,6 +1088,47 @@ var process_ProcessManager = /*#__PURE__*/ function() {
|
|
|
1036
1088
|
]);
|
|
1037
1089
|
return ProcessManager;
|
|
1038
1090
|
}();
|
|
1091
|
+
function flushBuffer() {
|
|
1092
|
+
var buffer = process_class_private_field_get(this, _writeBuffer);
|
|
1093
|
+
process_class_private_field_set(this, _writeBuffer, []);
|
|
1094
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1095
|
+
try {
|
|
1096
|
+
for(var _iterator = buffer[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1097
|
+
var data = _step.value;
|
|
1098
|
+
this.write(data);
|
|
1099
|
+
}
|
|
1100
|
+
} catch (err) {
|
|
1101
|
+
_didIteratorError = true;
|
|
1102
|
+
_iteratorError = err;
|
|
1103
|
+
} finally{
|
|
1104
|
+
try {
|
|
1105
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1106
|
+
} finally{
|
|
1107
|
+
if (_didIteratorError) throw _iteratorError;
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
function notifyIfDrained() {
|
|
1112
|
+
if (process_class_private_field_get(this, _draining)) return;
|
|
1113
|
+
var callbacks = process_class_private_field_get(this, _drainCallbacks);
|
|
1114
|
+
process_class_private_field_set(this, _drainCallbacks, []);
|
|
1115
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1116
|
+
try {
|
|
1117
|
+
for(var _iterator = callbacks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1118
|
+
var cb = _step.value;
|
|
1119
|
+
cb();
|
|
1120
|
+
}
|
|
1121
|
+
} catch (err) {
|
|
1122
|
+
_didIteratorError = true;
|
|
1123
|
+
_iteratorError = err;
|
|
1124
|
+
} finally{
|
|
1125
|
+
try {
|
|
1126
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1127
|
+
} finally{
|
|
1128
|
+
if (_didIteratorError) throw _iteratorError;
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1039
1132
|
var _counter = 0;
|
|
1040
1133
|
var _PREFIX = "__executor_end__";
|
|
1041
1134
|
var _PID36 = process.pid.toString(36);
|
|
@@ -1133,7 +1226,8 @@ var lruCache_LRUCache = /*#__PURE__*/ function() {
|
|
|
1133
1226
|
key: "set",
|
|
1134
1227
|
value: function(key, value) {
|
|
1135
1228
|
if ("string" != typeof key || key.length > lruCache_class_private_field_get(this, _maxKeyLength)) return;
|
|
1136
|
-
if (value && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1229
|
+
if ("string" == typeof value && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1230
|
+
if (Array.isArray(value) && value.length > lruCache_class_private_field_get(this, _maxValueLength)) return;
|
|
1137
1231
|
if (lruCache_class_private_field_get(this, _map).size >= lruCache_class_private_field_get(this, _maxSize)) {
|
|
1138
1232
|
var firstKey = lruCache_class_private_field_get(this, _map).keys().next().value;
|
|
1139
1233
|
lruCache_class_private_field_get(this, _map)["delete"](firstKey);
|
|
@@ -1199,7 +1293,19 @@ var constants_STATE_SINGLE_QUOTE = 1;
|
|
|
1199
1293
|
var constants_STATE_DOUBLE_QUOTE = 2;
|
|
1200
1294
|
var constants_STATE_LINE_COMMENT = 3;
|
|
1201
1295
|
var constants_STATE_BLOCK_COMMENT = 4;
|
|
1202
|
-
|
|
1296
|
+
function _decodeU16(codes) {
|
|
1297
|
+
var len = codes.length;
|
|
1298
|
+
if (0 === len) return "";
|
|
1299
|
+
var batchSize = 1024;
|
|
1300
|
+
if (len <= batchSize) return String.fromCharCode.apply(null, codes);
|
|
1301
|
+
var parts = new Array(Math.ceil(len / batchSize));
|
|
1302
|
+
for(var i = 0; i < parts.length; i++){
|
|
1303
|
+
var start = i * batchSize;
|
|
1304
|
+
var end = Math.min(start + batchSize, len);
|
|
1305
|
+
parts[i] = String.fromCharCode.apply(null, codes.subarray(start, end));
|
|
1306
|
+
}
|
|
1307
|
+
return parts.join("");
|
|
1308
|
+
}
|
|
1203
1309
|
var _normCache = new lruCache_LRUCache({
|
|
1204
1310
|
maxSize: 256,
|
|
1205
1311
|
maxKeyLength: 4096
|
|
@@ -1280,7 +1386,7 @@ function _normalize(sql) {
|
|
|
1280
1386
|
else {
|
|
1281
1387
|
while(writePos > 0 && outCodes[writePos - 1] === CC_SEMICOLON)writePos--;
|
|
1282
1388
|
outCodes[writePos++] = CC_SEMICOLON;
|
|
1283
|
-
normalized =
|
|
1389
|
+
normalized = _decodeU16(outCodes.subarray(0, writePos));
|
|
1284
1390
|
}
|
|
1285
1391
|
var paramCount = questionPositions.length;
|
|
1286
1392
|
if (0 === paramCount) return {
|
|
@@ -1342,8 +1448,8 @@ var _classifyCache = new lruCache_LRUCache({
|
|
|
1342
1448
|
});
|
|
1343
1449
|
function classifySingle(stmt) {
|
|
1344
1450
|
var trimmed = stmt.trim();
|
|
1345
|
-
|
|
1346
|
-
var kind = trimmed.
|
|
1451
|
+
var firstSpace = trimmed.indexOf(" ");
|
|
1452
|
+
var kind = (-1 === firstSpace ? trimmed : trimmed.slice(0, firstSpace)).toUpperCase();
|
|
1347
1453
|
return READ_ONLY_KINDS.has(kind) ? "read" : "write";
|
|
1348
1454
|
}
|
|
1349
1455
|
function classifySQL(sql) {
|
|
@@ -1436,11 +1542,11 @@ function queue_class_private_field_update(receiver, privateMap) {
|
|
|
1436
1542
|
var descriptor = queue_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
1437
1543
|
return queue_class_apply_descriptor_update(receiver, descriptor);
|
|
1438
1544
|
}
|
|
1439
|
-
function
|
|
1545
|
+
function queue_class_private_method_get(receiver, privateSet, fn) {
|
|
1440
1546
|
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
1441
1547
|
return fn;
|
|
1442
1548
|
}
|
|
1443
|
-
function
|
|
1549
|
+
function queue_class_private_method_init(obj, privateSet) {
|
|
1444
1550
|
queue_check_private_redeclaration(obj, privateSet);
|
|
1445
1551
|
privateSet.add(obj);
|
|
1446
1552
|
}
|
|
@@ -1559,8 +1665,8 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1559
1665
|
"use strict";
|
|
1560
1666
|
function Queue() {
|
|
1561
1667
|
queue_class_call_check(this, Queue);
|
|
1562
|
-
|
|
1563
|
-
|
|
1668
|
+
queue_class_private_method_init(this, _grow);
|
|
1669
|
+
queue_class_private_method_init(this, _shrinkIfNeeded);
|
|
1564
1670
|
queue_class_private_field_init(this, _items, {
|
|
1565
1671
|
writable: true,
|
|
1566
1672
|
value: new Array(INITIAL_CAPACITY)
|
|
@@ -1586,7 +1692,7 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1586
1692
|
{
|
|
1587
1693
|
key: "enqueue",
|
|
1588
1694
|
value: function(value) {
|
|
1589
|
-
if (queue_class_private_field_get(this, _size) === queue_class_private_field_get(this, _items).length)
|
|
1695
|
+
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);
|
|
1590
1696
|
queue_class_private_field_get(this, _items)[queue_class_private_field_get(this, _tail)] = value;
|
|
1591
1697
|
queue_class_private_field_set(this, _tail, queue_class_private_field_get(this, _tail) + 1 & queue_class_private_field_get(this, _mask));
|
|
1592
1698
|
queue_class_private_field_update(this, _size).value++;
|
|
@@ -1610,7 +1716,7 @@ var queue_Queue = /*#__PURE__*/ function() {
|
|
|
1610
1716
|
queue_class_private_field_set(this, _head, 0);
|
|
1611
1717
|
queue_class_private_field_set(this, _tail, 0);
|
|
1612
1718
|
queue_class_private_field_set(this, _size, 0);
|
|
1613
|
-
|
|
1719
|
+
queue_class_private_method_get(this, _shrinkIfNeeded, shrinkIfNeeded).call(this);
|
|
1614
1720
|
}
|
|
1615
1721
|
},
|
|
1616
1722
|
{
|
|
@@ -1771,179 +1877,6 @@ function shrinkIfNeeded() {
|
|
|
1771
1877
|
queue_class_private_field_set(this, _mask, INITIAL_CAPACITY - 1);
|
|
1772
1878
|
}
|
|
1773
1879
|
}
|
|
1774
|
-
function buildPayload(sql, token) {
|
|
1775
|
-
var _ref = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, _ref_skipNormalize = _ref.skipNormalize, skipNormalize = void 0 === _ref_skipNormalize ? false : _ref_skipNormalize;
|
|
1776
|
-
var normalized = skipNormalize ? sql : normalizeSQL(sql);
|
|
1777
|
-
var suffix = normalized.endsWith(";") ? "" : ";";
|
|
1778
|
-
return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
|
|
1779
|
-
}
|
|
1780
|
-
function isTransactionControl(sql) {
|
|
1781
|
-
var f = sql.charCodeAt(0);
|
|
1782
|
-
if (66 === f || 98 === f) return "BEGIN" === sql || "BEGIN;" === sql || sql.startsWith("BEGIN ") || sql.startsWith("BEGIN;");
|
|
1783
|
-
if (67 === f || 99 === f) return "COMMIT" === sql || "COMMIT;" === sql || sql.startsWith("COMMIT ") || sql.startsWith("COMMIT;");
|
|
1784
|
-
if (82 === f || 114 === f) return "ROLLBACK" === sql || "ROLLBACK;" === sql || sql.startsWith("ROLLBACK ") || sql.startsWith("ROLLBACK;");
|
|
1785
|
-
return false;
|
|
1786
|
-
}
|
|
1787
|
-
function buildBatchPayload(batch) {
|
|
1788
|
-
var useWalBatch = batch.length > 1 && batch.every(function(t) {
|
|
1789
|
-
return "execute" === t.kind && !isTransactionControl(t.sql);
|
|
1790
|
-
});
|
|
1791
|
-
if (useWalBatch) {
|
|
1792
|
-
var parts = [
|
|
1793
|
-
"BEGIN;\n"
|
|
1794
|
-
];
|
|
1795
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1796
|
-
try {
|
|
1797
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1798
|
-
var task = _step.value;
|
|
1799
|
-
parts.push(task.sql, "\n");
|
|
1800
|
-
}
|
|
1801
|
-
} catch (err) {
|
|
1802
|
-
_didIteratorError = true;
|
|
1803
|
-
_iteratorError = err;
|
|
1804
|
-
} finally{
|
|
1805
|
-
try {
|
|
1806
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1807
|
-
} finally{
|
|
1808
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
parts.push("COMMIT;\n");
|
|
1812
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
1813
|
-
try {
|
|
1814
|
-
for(var _iterator1 = batch[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
1815
|
-
var task1 = _step1.value;
|
|
1816
|
-
parts.push("SELECT '".concat(task1.token, "' AS ").concat(TOKEN_COLUMN, ";\n"));
|
|
1817
|
-
}
|
|
1818
|
-
} catch (err) {
|
|
1819
|
-
_didIteratorError1 = true;
|
|
1820
|
-
_iteratorError1 = err;
|
|
1821
|
-
} finally{
|
|
1822
|
-
try {
|
|
1823
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
1824
|
-
} finally{
|
|
1825
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
1826
|
-
}
|
|
1827
|
-
}
|
|
1828
|
-
return parts.join("");
|
|
1829
|
-
}
|
|
1830
|
-
var parts1 = [];
|
|
1831
|
-
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
1832
|
-
try {
|
|
1833
|
-
for(var _iterator2 = batch[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
1834
|
-
var task2 = _step2.value;
|
|
1835
|
-
parts1.push(buildPayload(task2.sql, task2.token, {
|
|
1836
|
-
skipNormalize: true
|
|
1837
|
-
}));
|
|
1838
|
-
}
|
|
1839
|
-
} catch (err) {
|
|
1840
|
-
_didIteratorError2 = true;
|
|
1841
|
-
_iteratorError2 = err;
|
|
1842
|
-
} finally{
|
|
1843
|
-
try {
|
|
1844
|
-
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
1845
|
-
} finally{
|
|
1846
|
-
if (_didIteratorError2) throw _iteratorError2;
|
|
1847
|
-
}
|
|
1848
|
-
}
|
|
1849
|
-
return parts1.join("");
|
|
1850
|
-
}
|
|
1851
|
-
var TC_FIRST_CHAR = TOKEN_COLUMN.charCodeAt(0);
|
|
1852
|
-
function buildSentinelStr(token) {
|
|
1853
|
-
return '[{"'.concat(TOKEN_COLUMN, '":"').concat(token, '"}]');
|
|
1854
|
-
}
|
|
1855
|
-
function isSentinelRaw(raw, token) {
|
|
1856
|
-
return raw.charCodeAt(3) === TC_FIRST_CHAR && raw === buildSentinelStr(token);
|
|
1857
|
-
}
|
|
1858
|
-
function isSentinelRow(value, token) {
|
|
1859
|
-
var _value_;
|
|
1860
|
-
return Array.isArray(value) && 1 === value.length && (null == (_value_ = value[0]) ? void 0 : _value_[TOKEN_COLUMN]) === token;
|
|
1861
|
-
}
|
|
1862
|
-
function collectQueryRows(task, parsed) {
|
|
1863
|
-
if (Array.isArray(parsed)) {
|
|
1864
|
-
if (!task.rows) task.rows = [];
|
|
1865
|
-
for(var i = 0; i < parsed.length; i++)task.rows.push(parsed[i]);
|
|
1866
|
-
}
|
|
1867
|
-
}
|
|
1868
|
-
function processStreamRows(task, parsed) {
|
|
1869
|
-
if (!Array.isArray(parsed)) return;
|
|
1870
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1871
|
-
try {
|
|
1872
|
-
for(var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1873
|
-
var row = _step.value;
|
|
1874
|
-
if (task.consumerError) break;
|
|
1875
|
-
try {
|
|
1876
|
-
task.onRow(row);
|
|
1877
|
-
} catch (error) {
|
|
1878
|
-
task.consumerError = toError(error);
|
|
1879
|
-
}
|
|
1880
|
-
}
|
|
1881
|
-
} catch (err) {
|
|
1882
|
-
_didIteratorError = true;
|
|
1883
|
-
_iteratorError = err;
|
|
1884
|
-
} finally{
|
|
1885
|
-
try {
|
|
1886
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1887
|
-
} finally{
|
|
1888
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1889
|
-
}
|
|
1890
|
-
}
|
|
1891
|
-
}
|
|
1892
|
-
function settleTask(task, error, value, metrics) {
|
|
1893
|
-
var _ref = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {}, _ref_resetRowParser = _ref.resetRowParser, resetRowParser = void 0 === _ref_resetRowParser ? false : _ref_resetRowParser;
|
|
1894
|
-
if (task.settled) return;
|
|
1895
|
-
task.settled = true;
|
|
1896
|
-
if (resetRowParser) {
|
|
1897
|
-
var _task_rowParser_reset, _task_rowParser;
|
|
1898
|
-
null == (_task_rowParser = task.rowParser) || null == (_task_rowParser_reset = _task_rowParser.reset) || _task_rowParser_reset.call(_task_rowParser);
|
|
1899
|
-
}
|
|
1900
|
-
if (error) {
|
|
1901
|
-
null == metrics || metrics.incrementTasksFailed();
|
|
1902
|
-
task.reject(toError(error));
|
|
1903
|
-
return;
|
|
1904
|
-
}
|
|
1905
|
-
var duration = task.startTime > 0 ? performance.now() - task.startTime : 0;
|
|
1906
|
-
null == metrics || metrics.incrementTasksSuccess(duration);
|
|
1907
|
-
task.resolve(value);
|
|
1908
|
-
}
|
|
1909
|
-
function finalizePendingTasks(tasks, settle, pumpQueue) {
|
|
1910
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
1911
|
-
try {
|
|
1912
|
-
for(var _iterator = tasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1913
|
-
var task = _step.value;
|
|
1914
|
-
if (task.stderrText) {
|
|
1915
|
-
settle(task, new Error(task.stderrText.trim()), void 0);
|
|
1916
|
-
continue;
|
|
1917
|
-
}
|
|
1918
|
-
if (task.consumerError) {
|
|
1919
|
-
settle(task, task.consumerError, void 0);
|
|
1920
|
-
continue;
|
|
1921
|
-
}
|
|
1922
|
-
if ("query" === task.kind) {
|
|
1923
|
-
settle(task, null, task.rows);
|
|
1924
|
-
continue;
|
|
1925
|
-
}
|
|
1926
|
-
settle(task, null, void 0);
|
|
1927
|
-
}
|
|
1928
|
-
} catch (err) {
|
|
1929
|
-
_didIteratorError = true;
|
|
1930
|
-
_iteratorError = err;
|
|
1931
|
-
} finally{
|
|
1932
|
-
try {
|
|
1933
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
1934
|
-
} finally{
|
|
1935
|
-
if (_didIteratorError) throw _iteratorError;
|
|
1936
|
-
}
|
|
1937
|
-
}
|
|
1938
|
-
tasks.clear();
|
|
1939
|
-
pumpQueue();
|
|
1940
|
-
}
|
|
1941
|
-
function prepareTaskTimeout(task, metrics) {
|
|
1942
|
-
if (task.settled) return null;
|
|
1943
|
-
task.timedout = true;
|
|
1944
|
-
null == metrics || metrics.incrementTasksTimeout();
|
|
1945
|
-
return createTimeoutError(task.timeout, task.sql);
|
|
1946
|
-
}
|
|
1947
1880
|
function _array_like_to_array(arr, len) {
|
|
1948
1881
|
if (null == len || len > arr.length) len = arr.length;
|
|
1949
1882
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -1952,21 +1885,21 @@ function _array_like_to_array(arr, len) {
|
|
|
1952
1885
|
function _array_without_holes(arr) {
|
|
1953
1886
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
1954
1887
|
}
|
|
1955
|
-
function
|
|
1888
|
+
function inflightTracker_check_private_redeclaration(obj, privateCollection) {
|
|
1956
1889
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
1957
1890
|
}
|
|
1958
|
-
function
|
|
1891
|
+
function inflightTracker_class_apply_descriptor_get(receiver, descriptor) {
|
|
1959
1892
|
if (descriptor.get) return descriptor.get.call(receiver);
|
|
1960
1893
|
return descriptor.value;
|
|
1961
1894
|
}
|
|
1962
|
-
function
|
|
1895
|
+
function inflightTracker_class_apply_descriptor_set(receiver, descriptor, value) {
|
|
1963
1896
|
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
1964
1897
|
else {
|
|
1965
1898
|
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
1966
1899
|
descriptor.value = value;
|
|
1967
1900
|
}
|
|
1968
1901
|
}
|
|
1969
|
-
function
|
|
1902
|
+
function inflightTracker_class_apply_descriptor_update(receiver, descriptor) {
|
|
1970
1903
|
if (descriptor.set) {
|
|
1971
1904
|
if (!descriptor.get) throw new TypeError("attempted to read set only private field");
|
|
1972
1905
|
if (!("__destrWrapper" in descriptor)) descriptor.__destrWrapper = {
|
|
@@ -1982,39 +1915,31 @@ function taskWorker_class_apply_descriptor_update(receiver, descriptor) {
|
|
|
1982
1915
|
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
1983
1916
|
return descriptor;
|
|
1984
1917
|
}
|
|
1985
|
-
function
|
|
1918
|
+
function inflightTracker_class_call_check(instance, Constructor) {
|
|
1986
1919
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
1987
1920
|
}
|
|
1988
|
-
function
|
|
1921
|
+
function inflightTracker_class_extract_field_descriptor(receiver, privateMap, action) {
|
|
1989
1922
|
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
1990
1923
|
return privateMap.get(receiver);
|
|
1991
1924
|
}
|
|
1992
|
-
function
|
|
1993
|
-
var descriptor =
|
|
1994
|
-
return
|
|
1925
|
+
function inflightTracker_class_private_field_get(receiver, privateMap) {
|
|
1926
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "get");
|
|
1927
|
+
return inflightTracker_class_apply_descriptor_get(receiver, descriptor);
|
|
1995
1928
|
}
|
|
1996
|
-
function
|
|
1997
|
-
|
|
1929
|
+
function inflightTracker_class_private_field_init(obj, privateMap, value) {
|
|
1930
|
+
inflightTracker_check_private_redeclaration(obj, privateMap);
|
|
1998
1931
|
privateMap.set(obj, value);
|
|
1999
1932
|
}
|
|
2000
|
-
function
|
|
2001
|
-
var descriptor =
|
|
2002
|
-
|
|
1933
|
+
function inflightTracker_class_private_field_set(receiver, privateMap, value) {
|
|
1934
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "set");
|
|
1935
|
+
inflightTracker_class_apply_descriptor_set(receiver, descriptor, value);
|
|
2003
1936
|
return value;
|
|
2004
1937
|
}
|
|
2005
|
-
function
|
|
2006
|
-
var descriptor =
|
|
2007
|
-
return
|
|
2008
|
-
}
|
|
2009
|
-
function taskWorker_class_private_method_get(receiver, privateSet, fn) {
|
|
2010
|
-
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
2011
|
-
return fn;
|
|
1938
|
+
function inflightTracker_class_private_field_update(receiver, privateMap) {
|
|
1939
|
+
var descriptor = inflightTracker_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
1940
|
+
return inflightTracker_class_apply_descriptor_update(receiver, descriptor);
|
|
2012
1941
|
}
|
|
2013
|
-
function
|
|
2014
|
-
taskWorker_check_private_redeclaration(obj, privateSet);
|
|
2015
|
-
privateSet.add(obj);
|
|
2016
|
-
}
|
|
2017
|
-
function taskWorker_defineProperties(target, props) {
|
|
1942
|
+
function inflightTracker_defineProperties(target, props) {
|
|
2018
1943
|
for(var i = 0; i < props.length; i++){
|
|
2019
1944
|
var descriptor = props[i];
|
|
2020
1945
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
@@ -2023,9 +1948,9 @@ function taskWorker_defineProperties(target, props) {
|
|
|
2023
1948
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
2024
1949
|
}
|
|
2025
1950
|
}
|
|
2026
|
-
function
|
|
2027
|
-
if (protoProps)
|
|
2028
|
-
if (staticProps)
|
|
1951
|
+
function inflightTracker_create_class(Constructor, protoProps, staticProps) {
|
|
1952
|
+
if (protoProps) inflightTracker_defineProperties(Constructor.prototype, protoProps);
|
|
1953
|
+
if (staticProps) inflightTracker_defineProperties(Constructor, staticProps);
|
|
2029
1954
|
return Constructor;
|
|
2030
1955
|
}
|
|
2031
1956
|
function _iterable_to_array(iter) {
|
|
@@ -2045,7 +1970,660 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
2045
1970
|
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
2046
1971
|
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
2047
1972
|
}
|
|
2048
|
-
var
|
|
1973
|
+
var _tasks = /*#__PURE__*/ new WeakMap(), inflightTracker_head = /*#__PURE__*/ new WeakMap();
|
|
1974
|
+
var inflightTracker_InflightTracker = /*#__PURE__*/ function() {
|
|
1975
|
+
"use strict";
|
|
1976
|
+
function InflightTracker() {
|
|
1977
|
+
inflightTracker_class_call_check(this, InflightTracker);
|
|
1978
|
+
inflightTracker_class_private_field_init(this, _tasks, {
|
|
1979
|
+
writable: true,
|
|
1980
|
+
value: []
|
|
1981
|
+
});
|
|
1982
|
+
inflightTracker_class_private_field_init(this, inflightTracker_head, {
|
|
1983
|
+
writable: true,
|
|
1984
|
+
value: 0
|
|
1985
|
+
});
|
|
1986
|
+
}
|
|
1987
|
+
inflightTracker_create_class(InflightTracker, [
|
|
1988
|
+
{
|
|
1989
|
+
key: "count",
|
|
1990
|
+
get: function() {
|
|
1991
|
+
return inflightTracker_class_private_field_get(this, _tasks).length - inflightTracker_class_private_field_get(this, inflightTracker_head);
|
|
1992
|
+
}
|
|
1993
|
+
},
|
|
1994
|
+
{
|
|
1995
|
+
key: "first",
|
|
1996
|
+
get: function() {
|
|
1997
|
+
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;
|
|
1998
|
+
}
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
key: "push",
|
|
2002
|
+
value: function() {
|
|
2003
|
+
for(var _len = arguments.length, items = new Array(_len), _key = 0; _key < _len; _key++)items[_key] = arguments[_key];
|
|
2004
|
+
var _$_class_private_field_get;
|
|
2005
|
+
(_$_class_private_field_get = inflightTracker_class_private_field_get(this, _tasks)).push.apply(_$_class_private_field_get, _to_consumable_array(items));
|
|
2006
|
+
}
|
|
2007
|
+
},
|
|
2008
|
+
{
|
|
2009
|
+
key: "shift",
|
|
2010
|
+
value: function() {
|
|
2011
|
+
if (inflightTracker_class_private_field_get(this, _tasks).length === inflightTracker_class_private_field_get(this, inflightTracker_head)) return null;
|
|
2012
|
+
var task = inflightTracker_class_private_field_get(this, _tasks)[inflightTracker_class_private_field_get(this, inflightTracker_head)];
|
|
2013
|
+
inflightTracker_class_private_field_get(this, _tasks)[inflightTracker_class_private_field_get(this, inflightTracker_head)] = null;
|
|
2014
|
+
inflightTracker_class_private_field_update(this, inflightTracker_head).value++;
|
|
2015
|
+
if (inflightTracker_class_private_field_get(this, inflightTracker_head) >= inflightTracker_class_private_field_get(this, _tasks).length) {
|
|
2016
|
+
inflightTracker_class_private_field_set(this, _tasks, []);
|
|
2017
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
2018
|
+
} else if (inflightTracker_class_private_field_get(this, inflightTracker_head) > INFLIGHT_COMPACT_THRESHOLD) {
|
|
2019
|
+
inflightTracker_class_private_field_set(this, _tasks, inflightTracker_class_private_field_get(this, _tasks).slice(inflightTracker_class_private_field_get(this, inflightTracker_head)));
|
|
2020
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
2021
|
+
}
|
|
2022
|
+
return task;
|
|
2023
|
+
}
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
key: "clear",
|
|
2027
|
+
value: function() {
|
|
2028
|
+
inflightTracker_class_private_field_set(this, _tasks, []);
|
|
2029
|
+
inflightTracker_class_private_field_set(this, inflightTracker_head, 0);
|
|
2030
|
+
}
|
|
2031
|
+
},
|
|
2032
|
+
{
|
|
2033
|
+
key: "forEach",
|
|
2034
|
+
value: function(fn) {
|
|
2035
|
+
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]);
|
|
2036
|
+
}
|
|
2037
|
+
},
|
|
2038
|
+
{
|
|
2039
|
+
key: "toArray",
|
|
2040
|
+
value: function() {
|
|
2041
|
+
return inflightTracker_class_private_field_get(this, _tasks).slice(inflightTracker_class_private_field_get(this, inflightTracker_head));
|
|
2042
|
+
}
|
|
2043
|
+
},
|
|
2044
|
+
{
|
|
2045
|
+
key: "_tasksLength",
|
|
2046
|
+
get: function() {
|
|
2047
|
+
return inflightTracker_class_private_field_get(this, _tasks).length;
|
|
2048
|
+
}
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
key: "_head",
|
|
2052
|
+
get: function() {
|
|
2053
|
+
return inflightTracker_class_private_field_get(this, inflightTracker_head);
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
]);
|
|
2057
|
+
return InflightTracker;
|
|
2058
|
+
}();
|
|
2059
|
+
function collectQueryRows(task, parsed) {
|
|
2060
|
+
if (Array.isArray(parsed)) for(var i = 0; i < parsed.length; i++)task.rows.push(parsed[i]);
|
|
2061
|
+
}
|
|
2062
|
+
function processStreamRows(task, parsed) {
|
|
2063
|
+
if (!Array.isArray(parsed)) return;
|
|
2064
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2065
|
+
try {
|
|
2066
|
+
for(var _iterator = parsed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2067
|
+
var row = _step.value;
|
|
2068
|
+
if (task.consumerError) break;
|
|
2069
|
+
try {
|
|
2070
|
+
task.onRow(row);
|
|
2071
|
+
} catch (error) {
|
|
2072
|
+
task.consumerError = toError(error);
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
} catch (err) {
|
|
2076
|
+
_didIteratorError = true;
|
|
2077
|
+
_iteratorError = err;
|
|
2078
|
+
} finally{
|
|
2079
|
+
try {
|
|
2080
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2081
|
+
} finally{
|
|
2082
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2083
|
+
}
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
function settleUtils_settleTask(task, error, value, metrics) {
|
|
2087
|
+
var _ref = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {}, _ref_resetRowParser = _ref.resetRowParser, resetRowParser = void 0 === _ref_resetRowParser ? false : _ref_resetRowParser;
|
|
2088
|
+
if (task.settled) return;
|
|
2089
|
+
task.settled = true;
|
|
2090
|
+
if (resetRowParser) {
|
|
2091
|
+
var _task_rowParser_reset, _task_rowParser;
|
|
2092
|
+
null == (_task_rowParser = task.rowParser) || null == (_task_rowParser_reset = _task_rowParser.reset) || _task_rowParser_reset.call(_task_rowParser);
|
|
2093
|
+
}
|
|
2094
|
+
if (error) {
|
|
2095
|
+
null == metrics || metrics.incrementTasksFailed();
|
|
2096
|
+
task.reject(toError(error));
|
|
2097
|
+
return;
|
|
2098
|
+
}
|
|
2099
|
+
var duration = task.startTime > 0 ? performance.now() - task.startTime : 0;
|
|
2100
|
+
null == metrics || metrics.incrementTasksSuccess(duration);
|
|
2101
|
+
task.resolve(value);
|
|
2102
|
+
}
|
|
2103
|
+
function buildPayload(sql, token) {
|
|
2104
|
+
var _ref = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, _ref_skipNormalize = _ref.skipNormalize, skipNormalize = void 0 === _ref_skipNormalize ? false : _ref_skipNormalize;
|
|
2105
|
+
var normalized = skipNormalize ? sql : normalizeSQL(sql);
|
|
2106
|
+
var suffix = normalized.endsWith(";") ? "" : ";";
|
|
2107
|
+
return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
|
|
2108
|
+
}
|
|
2109
|
+
function isTransactionControl(sql) {
|
|
2110
|
+
var f = sql.charCodeAt(0);
|
|
2111
|
+
if (66 === f || 98 === f) return "BEGIN" === sql || "BEGIN;" === sql || sql.startsWith("BEGIN ") || sql.startsWith("BEGIN;");
|
|
2112
|
+
if (67 === f || 99 === f) return "COMMIT" === sql || "COMMIT;" === sql || sql.startsWith("COMMIT ") || sql.startsWith("COMMIT;");
|
|
2113
|
+
if (82 === f || 114 === f) return "ROLLBACK" === sql || "ROLLBACK;" === sql || sql.startsWith("ROLLBACK ") || sql.startsWith("ROLLBACK;");
|
|
2114
|
+
return false;
|
|
2115
|
+
}
|
|
2116
|
+
function buildBatchPayload(batch) {
|
|
2117
|
+
var useWalBatch = batch.length > 1 && batch.every(function(t) {
|
|
2118
|
+
return "execute" === t.kind && !isTransactionControl(t.sql);
|
|
2119
|
+
});
|
|
2120
|
+
if (useWalBatch) {
|
|
2121
|
+
var parts = [
|
|
2122
|
+
"BEGIN;\n"
|
|
2123
|
+
];
|
|
2124
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2125
|
+
try {
|
|
2126
|
+
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2127
|
+
var task = _step.value;
|
|
2128
|
+
parts.push(task.sql, "\n");
|
|
2129
|
+
parts.push("SELECT '".concat(task.token, "' AS ").concat(TOKEN_COLUMN, ";\n"));
|
|
2130
|
+
}
|
|
2131
|
+
} catch (err) {
|
|
2132
|
+
_didIteratorError = true;
|
|
2133
|
+
_iteratorError = err;
|
|
2134
|
+
} finally{
|
|
2135
|
+
try {
|
|
2136
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2137
|
+
} finally{
|
|
2138
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2139
|
+
}
|
|
2140
|
+
}
|
|
2141
|
+
parts.push("COMMIT;\n");
|
|
2142
|
+
return parts.join("");
|
|
2143
|
+
}
|
|
2144
|
+
var parts1 = [];
|
|
2145
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2146
|
+
try {
|
|
2147
|
+
for(var _iterator1 = batch[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2148
|
+
var task1 = _step1.value;
|
|
2149
|
+
parts1.push(buildPayload(task1.sql, task1.token, {
|
|
2150
|
+
skipNormalize: true
|
|
2151
|
+
}));
|
|
2152
|
+
}
|
|
2153
|
+
} catch (err) {
|
|
2154
|
+
_didIteratorError1 = true;
|
|
2155
|
+
_iteratorError1 = err;
|
|
2156
|
+
} finally{
|
|
2157
|
+
try {
|
|
2158
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2159
|
+
} finally{
|
|
2160
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2161
|
+
}
|
|
2162
|
+
}
|
|
2163
|
+
return parts1.join("");
|
|
2164
|
+
}
|
|
2165
|
+
var TC_FIRST_CHAR = TOKEN_COLUMN.charCodeAt(0);
|
|
2166
|
+
function buildSentinelStr(token) {
|
|
2167
|
+
return '[{"'.concat(TOKEN_COLUMN, '":"').concat(token, '"}]');
|
|
2168
|
+
}
|
|
2169
|
+
function isSentinelRaw(raw, token) {
|
|
2170
|
+
return raw.charCodeAt(3) === TC_FIRST_CHAR && raw === buildSentinelStr(token);
|
|
2171
|
+
}
|
|
2172
|
+
function isSentinelRow(value, token) {
|
|
2173
|
+
var _value_;
|
|
2174
|
+
return Array.isArray(value) && 1 === value.length && (null == (_value_ = value[0]) ? void 0 : _value_[TOKEN_COLUMN]) === token;
|
|
2175
|
+
}
|
|
2176
|
+
function pipelineUtils_array_like_to_array(arr, len) {
|
|
2177
|
+
if (null == len || len > arr.length) len = arr.length;
|
|
2178
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
2179
|
+
return arr2;
|
|
2180
|
+
}
|
|
2181
|
+
function pipelineUtils_array_without_holes(arr) {
|
|
2182
|
+
if (Array.isArray(arr)) return pipelineUtils_array_like_to_array(arr);
|
|
2183
|
+
}
|
|
2184
|
+
function pipelineUtils_iterable_to_array(iter) {
|
|
2185
|
+
if ("undefined" != typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) return Array.from(iter);
|
|
2186
|
+
}
|
|
2187
|
+
function pipelineUtils_non_iterable_spread() {
|
|
2188
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
2189
|
+
}
|
|
2190
|
+
function pipelineUtils_to_consumable_array(arr) {
|
|
2191
|
+
return pipelineUtils_array_without_holes(arr) || pipelineUtils_iterable_to_array(arr) || pipelineUtils_unsupported_iterable_to_array(arr) || pipelineUtils_non_iterable_spread();
|
|
2192
|
+
}
|
|
2193
|
+
function pipelineUtils_unsupported_iterable_to_array(o, minLen) {
|
|
2194
|
+
if (!o) return;
|
|
2195
|
+
if ("string" == typeof o) return pipelineUtils_array_like_to_array(o, minLen);
|
|
2196
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
2197
|
+
if ("Object" === n && o.constructor) n = o.constructor.name;
|
|
2198
|
+
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
2199
|
+
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineUtils_array_like_to_array(o, minLen);
|
|
2200
|
+
}
|
|
2201
|
+
function finalizePendingTasks(tasks, settle, pumpQueue, pendingStderr, inflight) {
|
|
2202
|
+
var hasStderrBuffer = pendingStderr && pendingStderr.length > 0;
|
|
2203
|
+
if (hasStderrBuffer) {
|
|
2204
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2205
|
+
try {
|
|
2206
|
+
for(var _iterator = pendingStderr[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2207
|
+
var chunk = _step.value;
|
|
2208
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2209
|
+
try {
|
|
2210
|
+
for(var _iterator1 = tasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2211
|
+
var t = _step1.value;
|
|
2212
|
+
if ("query" === t.kind && 0 === t.rows.length) t.stderrText += chunk;
|
|
2213
|
+
}
|
|
2214
|
+
} catch (err) {
|
|
2215
|
+
_didIteratorError1 = true;
|
|
2216
|
+
_iteratorError1 = err;
|
|
2217
|
+
} finally{
|
|
2218
|
+
try {
|
|
2219
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2220
|
+
} finally{
|
|
2221
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
} catch (err) {
|
|
2226
|
+
_didIteratorError = true;
|
|
2227
|
+
_iteratorError = err;
|
|
2228
|
+
} finally{
|
|
2229
|
+
try {
|
|
2230
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2231
|
+
} finally{
|
|
2232
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
if (!inflight || 0 === inflight.count) pendingStderr.length = 0;
|
|
2236
|
+
}
|
|
2237
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2238
|
+
try {
|
|
2239
|
+
for(var _iterator2 = tasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2240
|
+
var task = _step2.value;
|
|
2241
|
+
if (task.stderrText) {
|
|
2242
|
+
settle(task, new Error(task.stderrText.trim()), void 0);
|
|
2243
|
+
continue;
|
|
2244
|
+
}
|
|
2245
|
+
if (task.consumerError) {
|
|
2246
|
+
settle(task, task.consumerError, void 0);
|
|
2247
|
+
continue;
|
|
2248
|
+
}
|
|
2249
|
+
if ("query" === task.kind) {
|
|
2250
|
+
settle(task, null, task.rows);
|
|
2251
|
+
continue;
|
|
2252
|
+
}
|
|
2253
|
+
settle(task, null, void 0);
|
|
2254
|
+
}
|
|
2255
|
+
} catch (err) {
|
|
2256
|
+
_didIteratorError2 = true;
|
|
2257
|
+
_iteratorError2 = err;
|
|
2258
|
+
} finally{
|
|
2259
|
+
try {
|
|
2260
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2261
|
+
} finally{
|
|
2262
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
tasks.clear();
|
|
2266
|
+
pumpQueue();
|
|
2267
|
+
}
|
|
2268
|
+
function prepareTaskTimeout(task, metrics) {
|
|
2269
|
+
if (task.settled) return null;
|
|
2270
|
+
task.timedout = true;
|
|
2271
|
+
null == metrics || metrics.incrementTasksTimeout();
|
|
2272
|
+
return createTimeoutError(task.timeout, task.sql);
|
|
2273
|
+
}
|
|
2274
|
+
function createSweeper(param) {
|
|
2275
|
+
var inflight = param.inflight, sweepIntervalMs = param.sweepIntervalMs, handleTaskTimeout = param.handleTaskTimeout;
|
|
2276
|
+
var sweepTimer = null;
|
|
2277
|
+
var schedule = function() {
|
|
2278
|
+
if (sweepTimer) return;
|
|
2279
|
+
sweepTimer = setTimeout(function() {
|
|
2280
|
+
sweepTimer = null;
|
|
2281
|
+
var now = performance.now();
|
|
2282
|
+
inflight.forEach(function(task) {
|
|
2283
|
+
if (now - task.startTime > task.timeout) handleTaskTimeout(task);
|
|
2284
|
+
});
|
|
2285
|
+
if (inflight.count > 0) schedule();
|
|
2286
|
+
}, sweepIntervalMs).unref();
|
|
2287
|
+
};
|
|
2288
|
+
var clear = function() {
|
|
2289
|
+
clearTimeout(sweepTimer);
|
|
2290
|
+
sweepTimer = null;
|
|
2291
|
+
};
|
|
2292
|
+
return {
|
|
2293
|
+
schedule: schedule,
|
|
2294
|
+
clear: clear,
|
|
2295
|
+
getSweepTimer: function() {
|
|
2296
|
+
return sweepTimer;
|
|
2297
|
+
}
|
|
2298
|
+
};
|
|
2299
|
+
}
|
|
2300
|
+
function createFinalizeScheduler(param) {
|
|
2301
|
+
var pendingFinalizeTasks = param.pendingFinalizeTasks, settle = param.settleTask, pumpQueue = param.pumpQueue, pendingStderr = param.pendingStderr, inflight = param.inflight;
|
|
2302
|
+
var scheduled = false;
|
|
2303
|
+
var immediate = null;
|
|
2304
|
+
var cancelled = false;
|
|
2305
|
+
var cancel = function() {
|
|
2306
|
+
cancelled = true;
|
|
2307
|
+
if (immediate) {
|
|
2308
|
+
clearImmediate(immediate);
|
|
2309
|
+
immediate = null;
|
|
2310
|
+
}
|
|
2311
|
+
};
|
|
2312
|
+
var check = function() {
|
|
2313
|
+
if (cancelled) return;
|
|
2314
|
+
if (scheduled) return;
|
|
2315
|
+
if (0 === pendingFinalizeTasks.size) return;
|
|
2316
|
+
scheduled = true;
|
|
2317
|
+
immediate = setImmediate(function() {
|
|
2318
|
+
immediate = null;
|
|
2319
|
+
if (cancelled) return;
|
|
2320
|
+
finalizePendingTasks(pendingFinalizeTasks, settle, pumpQueue, pendingStderr, inflight);
|
|
2321
|
+
scheduled = false;
|
|
2322
|
+
});
|
|
2323
|
+
};
|
|
2324
|
+
check.cancel = cancel;
|
|
2325
|
+
return check;
|
|
2326
|
+
}
|
|
2327
|
+
function advanceNextInflightStartTime(inflight) {
|
|
2328
|
+
var next = inflight.first;
|
|
2329
|
+
if (next && next.startTime > 0) {
|
|
2330
|
+
var now = performance.now();
|
|
2331
|
+
if (now > next.startTime) next.startTime = now;
|
|
2332
|
+
}
|
|
2333
|
+
}
|
|
2334
|
+
function handleParsedValue(raw, inflight, param) {
|
|
2335
|
+
var afterSentinel = param.afterSentinel, rejectAll = param.rejectAll;
|
|
2336
|
+
var task = inflight.first;
|
|
2337
|
+
if (!task) return;
|
|
2338
|
+
if (isSentinelRaw(raw, task.token)) {
|
|
2339
|
+
inflight.shift();
|
|
2340
|
+
advanceNextInflightStartTime(inflight);
|
|
2341
|
+
afterSentinel(task);
|
|
2342
|
+
return;
|
|
2343
|
+
}
|
|
2344
|
+
if ("[]" === raw) return;
|
|
2345
|
+
var parsed;
|
|
2346
|
+
try {
|
|
2347
|
+
parsed = JSON.parse(raw);
|
|
2348
|
+
} catch (error) {
|
|
2349
|
+
rejectAll(new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
2350
|
+
return;
|
|
2351
|
+
}
|
|
2352
|
+
if (isSentinelRow(parsed, task.token)) {
|
|
2353
|
+
inflight.shift();
|
|
2354
|
+
advanceNextInflightStartTime(inflight);
|
|
2355
|
+
afterSentinel(task);
|
|
2356
|
+
return;
|
|
2357
|
+
}
|
|
2358
|
+
if (task.timedout) return;
|
|
2359
|
+
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
2360
|
+
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
2361
|
+
}
|
|
2362
|
+
function createPumpQueue(param) {
|
|
2363
|
+
var queue = param.queue, inflight = param.inflight, processManager = param.processManager, sweeper = param.sweeper, batchSize = param.batchSize, maxInflight = param.maxInflight;
|
|
2364
|
+
var nextBatchId = 1;
|
|
2365
|
+
return function pump() {
|
|
2366
|
+
var _inflight;
|
|
2367
|
+
if (processManager.draining) return void processManager.onDrained(function() {
|
|
2368
|
+
return pump();
|
|
2369
|
+
});
|
|
2370
|
+
if (inflight.count >= maxInflight) return;
|
|
2371
|
+
var batch = [];
|
|
2372
|
+
while(batch.length < batchSize && !queue.isEmpty() && inflight.count + batch.length < maxInflight){
|
|
2373
|
+
var task = queue.peek();
|
|
2374
|
+
if ("stream" === task.kind && (batch.length > 0 || inflight.count > 0)) break;
|
|
2375
|
+
queue.dequeue();
|
|
2376
|
+
batch.push(task);
|
|
2377
|
+
}
|
|
2378
|
+
if (0 === batch.length) return;
|
|
2379
|
+
var now = performance.now();
|
|
2380
|
+
var payload = buildBatchPayload(batch);
|
|
2381
|
+
var batchId = nextBatchId++;
|
|
2382
|
+
var useWalBatch = payload.startsWith("BEGIN;");
|
|
2383
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2384
|
+
try {
|
|
2385
|
+
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2386
|
+
var task1 = _step.value;
|
|
2387
|
+
task1.startTime = now;
|
|
2388
|
+
task1.batchId = batchId;
|
|
2389
|
+
task1.walBatch = useWalBatch;
|
|
2390
|
+
}
|
|
2391
|
+
} catch (err) {
|
|
2392
|
+
_didIteratorError = true;
|
|
2393
|
+
_iteratorError = err;
|
|
2394
|
+
} finally{
|
|
2395
|
+
try {
|
|
2396
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2397
|
+
} finally{
|
|
2398
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
(_inflight = inflight).push.apply(_inflight, pipelineUtils_to_consumable_array(batch));
|
|
2402
|
+
sweeper.schedule();
|
|
2403
|
+
processManager.write(payload);
|
|
2404
|
+
};
|
|
2405
|
+
}
|
|
2406
|
+
function handleSentinelTask(task, param) {
|
|
2407
|
+
var settleTask = param.settleTask, pendingFinalizeTasks = param.pendingFinalizeTasks, scheduleFinalizeCheck = param.scheduleFinalizeCheck, pumpQueue = param.pumpQueue;
|
|
2408
|
+
if (task.timedout) return void pumpQueue();
|
|
2409
|
+
if (task.consumerError) {
|
|
2410
|
+
settleTask(task, task.consumerError, void 0);
|
|
2411
|
+
pumpQueue();
|
|
2412
|
+
return;
|
|
2413
|
+
}
|
|
2414
|
+
pendingFinalizeTasks.add(task);
|
|
2415
|
+
scheduleFinalizeCheck();
|
|
2416
|
+
pumpQueue();
|
|
2417
|
+
}
|
|
2418
|
+
function handleStderrChunk(chunk, param) {
|
|
2419
|
+
var inflight = param.inflight, pendingFinalizeTasks = param.pendingFinalizeTasks, logger = param.logger, pendingStderr = param.pendingStderr;
|
|
2420
|
+
var inflightFirst = inflight.first;
|
|
2421
|
+
var firstPending = pendingFinalizeTasks.values().next().value;
|
|
2422
|
+
var zeroRowMatch = false;
|
|
2423
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2424
|
+
try {
|
|
2425
|
+
for(var _iterator = pendingFinalizeTasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2426
|
+
var t = _step.value;
|
|
2427
|
+
if ("query" === t.kind && 0 === t.rows.length) {
|
|
2428
|
+
t.stderrText += chunk;
|
|
2429
|
+
zeroRowMatch = true;
|
|
2430
|
+
}
|
|
2431
|
+
}
|
|
2432
|
+
} catch (err) {
|
|
2433
|
+
_didIteratorError = true;
|
|
2434
|
+
_iteratorError = err;
|
|
2435
|
+
} finally{
|
|
2436
|
+
try {
|
|
2437
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2438
|
+
} finally{
|
|
2439
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
if (zeroRowMatch) return;
|
|
2443
|
+
var task = null != inflightFirst ? inflightFirst : firstPending;
|
|
2444
|
+
if (!task) {
|
|
2445
|
+
var _logger_error;
|
|
2446
|
+
null == logger || null == (_logger_error = logger.error) || _logger_error.call(logger, chunk.trim());
|
|
2447
|
+
return;
|
|
2448
|
+
}
|
|
2449
|
+
if (null == task.batchId) {
|
|
2450
|
+
task.stderrText += chunk;
|
|
2451
|
+
return;
|
|
2452
|
+
}
|
|
2453
|
+
if (task.walBatch) {
|
|
2454
|
+
task.stderrText += chunk;
|
|
2455
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2456
|
+
try {
|
|
2457
|
+
for(var _iterator1 = pendingFinalizeTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2458
|
+
var t1 = _step1.value;
|
|
2459
|
+
if (t1 !== task) t1.stderrText += chunk;
|
|
2460
|
+
}
|
|
2461
|
+
} catch (err) {
|
|
2462
|
+
_didIteratorError1 = true;
|
|
2463
|
+
_iteratorError1 = err;
|
|
2464
|
+
} finally{
|
|
2465
|
+
try {
|
|
2466
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2467
|
+
} finally{
|
|
2468
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
inflight.forEach(function(t) {
|
|
2472
|
+
if (t !== task) t.stderrText += chunk;
|
|
2473
|
+
});
|
|
2474
|
+
return;
|
|
2475
|
+
}
|
|
2476
|
+
if (task === inflightFirst) {
|
|
2477
|
+
if (inflight.count > 1) null == pendingStderr || pendingStderr.push(chunk);
|
|
2478
|
+
else if (pendingFinalizeTasks.size > 0) {
|
|
2479
|
+
var hasZeroRowQuery = false;
|
|
2480
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2481
|
+
try {
|
|
2482
|
+
for(var _iterator2 = pendingFinalizeTasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2483
|
+
var t2 = _step2.value;
|
|
2484
|
+
if ("query" === t2.kind && 0 === t2.rows.length) {
|
|
2485
|
+
hasZeroRowQuery = true;
|
|
2486
|
+
break;
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2489
|
+
} catch (err) {
|
|
2490
|
+
_didIteratorError2 = true;
|
|
2491
|
+
_iteratorError2 = err;
|
|
2492
|
+
} finally{
|
|
2493
|
+
try {
|
|
2494
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2495
|
+
} finally{
|
|
2496
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
if (hasZeroRowQuery) null == pendingStderr || pendingStderr.push(chunk);
|
|
2500
|
+
else if ("query" === task.kind && task.rows.length > 0) {
|
|
2501
|
+
var _logger_error1;
|
|
2502
|
+
null == logger || null == (_logger_error1 = logger.error) || _logger_error1.call(logger, chunk.trim());
|
|
2503
|
+
} else task.stderrText += chunk;
|
|
2504
|
+
} else if ("query" === task.kind && task.rows.length > 0) {
|
|
2505
|
+
var _logger_error2;
|
|
2506
|
+
null == logger || null == (_logger_error2 = logger.error) || _logger_error2.call(logger, chunk.trim());
|
|
2507
|
+
} else task.stderrText += chunk;
|
|
2508
|
+
return;
|
|
2509
|
+
}
|
|
2510
|
+
var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
|
|
2511
|
+
try {
|
|
2512
|
+
for(var _iterator3 = pendingFinalizeTasks[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true){
|
|
2513
|
+
var t3 = _step3.value;
|
|
2514
|
+
t3.stderrText += chunk;
|
|
2515
|
+
}
|
|
2516
|
+
} catch (err) {
|
|
2517
|
+
_didIteratorError3 = true;
|
|
2518
|
+
_iteratorError3 = err;
|
|
2519
|
+
} finally{
|
|
2520
|
+
try {
|
|
2521
|
+
if (!_iteratorNormalCompletion3 && null != _iterator3["return"]) _iterator3["return"]();
|
|
2522
|
+
} finally{
|
|
2523
|
+
if (_didIteratorError3) throw _iteratorError3;
|
|
2524
|
+
}
|
|
2525
|
+
}
|
|
2526
|
+
}
|
|
2527
|
+
function rejectAllTasks(param) {
|
|
2528
|
+
var inflight = param.inflight, queue = param.queue, pendingFinalizeTasks = param.pendingFinalizeTasks, settleTask = param.settleTask, error = param.error;
|
|
2529
|
+
var all = inflight.toArray();
|
|
2530
|
+
inflight.clear();
|
|
2531
|
+
var queued = queue.dequeue();
|
|
2532
|
+
while(queued){
|
|
2533
|
+
settleTask(queued, error, void 0);
|
|
2534
|
+
queued = queue.dequeue();
|
|
2535
|
+
}
|
|
2536
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2537
|
+
try {
|
|
2538
|
+
for(var _iterator = all[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2539
|
+
var task = _step.value;
|
|
2540
|
+
settleTask(task, error, void 0);
|
|
2541
|
+
}
|
|
2542
|
+
} catch (err) {
|
|
2543
|
+
_didIteratorError = true;
|
|
2544
|
+
_iteratorError = err;
|
|
2545
|
+
} finally{
|
|
2546
|
+
try {
|
|
2547
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2548
|
+
} finally{
|
|
2549
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2550
|
+
}
|
|
2551
|
+
}
|
|
2552
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2553
|
+
try {
|
|
2554
|
+
for(var _iterator1 = pendingFinalizeTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2555
|
+
var task1 = _step1.value;
|
|
2556
|
+
settleTask(task1, error, void 0);
|
|
2557
|
+
}
|
|
2558
|
+
} catch (err) {
|
|
2559
|
+
_didIteratorError1 = true;
|
|
2560
|
+
_iteratorError1 = err;
|
|
2561
|
+
} finally{
|
|
2562
|
+
try {
|
|
2563
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2564
|
+
} finally{
|
|
2565
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
pendingFinalizeTasks.clear();
|
|
2569
|
+
}
|
|
2570
|
+
function taskWorker_check_private_redeclaration(obj, privateCollection) {
|
|
2571
|
+
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
2572
|
+
}
|
|
2573
|
+
function taskWorker_class_apply_descriptor_get(receiver, descriptor) {
|
|
2574
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
2575
|
+
return descriptor.value;
|
|
2576
|
+
}
|
|
2577
|
+
function taskWorker_class_apply_descriptor_set(receiver, descriptor, value) {
|
|
2578
|
+
if (descriptor.set) descriptor.set.call(receiver, value);
|
|
2579
|
+
else {
|
|
2580
|
+
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
2581
|
+
descriptor.value = value;
|
|
2582
|
+
}
|
|
2583
|
+
}
|
|
2584
|
+
function taskWorker_class_call_check(instance, Constructor) {
|
|
2585
|
+
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
2586
|
+
}
|
|
2587
|
+
function taskWorker_class_extract_field_descriptor(receiver, privateMap, action) {
|
|
2588
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
2589
|
+
return privateMap.get(receiver);
|
|
2590
|
+
}
|
|
2591
|
+
function taskWorker_class_private_field_get(receiver, privateMap) {
|
|
2592
|
+
var descriptor = taskWorker_class_extract_field_descriptor(receiver, privateMap, "get");
|
|
2593
|
+
return taskWorker_class_apply_descriptor_get(receiver, descriptor);
|
|
2594
|
+
}
|
|
2595
|
+
function taskWorker_class_private_field_init(obj, privateMap, value) {
|
|
2596
|
+
taskWorker_check_private_redeclaration(obj, privateMap);
|
|
2597
|
+
privateMap.set(obj, value);
|
|
2598
|
+
}
|
|
2599
|
+
function taskWorker_class_private_field_set(receiver, privateMap, value) {
|
|
2600
|
+
var descriptor = taskWorker_class_extract_field_descriptor(receiver, privateMap, "set");
|
|
2601
|
+
taskWorker_class_apply_descriptor_set(receiver, descriptor, value);
|
|
2602
|
+
return value;
|
|
2603
|
+
}
|
|
2604
|
+
function taskWorker_class_private_method_get(receiver, privateSet, fn) {
|
|
2605
|
+
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
2606
|
+
return fn;
|
|
2607
|
+
}
|
|
2608
|
+
function taskWorker_class_private_method_init(obj, privateSet) {
|
|
2609
|
+
taskWorker_check_private_redeclaration(obj, privateSet);
|
|
2610
|
+
privateSet.add(obj);
|
|
2611
|
+
}
|
|
2612
|
+
function taskWorker_defineProperties(target, props) {
|
|
2613
|
+
for(var i = 0; i < props.length; i++){
|
|
2614
|
+
var descriptor = props[i];
|
|
2615
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
2616
|
+
descriptor.configurable = true;
|
|
2617
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
2618
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
2619
|
+
}
|
|
2620
|
+
}
|
|
2621
|
+
function taskWorker_create_class(Constructor, protoProps, staticProps) {
|
|
2622
|
+
if (protoProps) taskWorker_defineProperties(Constructor.prototype, protoProps);
|
|
2623
|
+
if (staticProps) taskWorker_defineProperties(Constructor, staticProps);
|
|
2624
|
+
return Constructor;
|
|
2625
|
+
}
|
|
2626
|
+
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();
|
|
2049
2627
|
var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
2050
2628
|
"use strict";
|
|
2051
2629
|
function TaskWorker(param) {
|
|
@@ -2053,15 +2631,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2053
2631
|
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;
|
|
2054
2632
|
taskWorker_class_call_check(this, TaskWorker);
|
|
2055
2633
|
taskWorker_class_private_method_init(this, _startProcess);
|
|
2056
|
-
taskWorker_class_private_method_init(this, _inflightCount);
|
|
2057
|
-
taskWorker_class_private_method_init(this, _firstInflight);
|
|
2058
|
-
taskWorker_class_private_method_init(this, _shiftInflight);
|
|
2059
2634
|
taskWorker_class_private_method_init(this, _pumpQueue);
|
|
2060
|
-
taskWorker_class_private_method_init(this,
|
|
2061
|
-
taskWorker_class_private_method_init(this, _scheduleFinalizeCheck);
|
|
2635
|
+
taskWorker_class_private_method_init(this, _afterSentinel);
|
|
2062
2636
|
taskWorker_class_private_method_init(this, _handleStderrChunk);
|
|
2063
|
-
taskWorker_class_private_method_init(this, _scheduleSweep);
|
|
2064
|
-
taskWorker_class_private_method_init(this, _handleTaskTimeout);
|
|
2065
2637
|
taskWorker_class_private_method_init(this, _settleTask);
|
|
2066
2638
|
taskWorker_class_private_method_init(this, _rejectAll);
|
|
2067
2639
|
taskWorker_class_private_field_init(this, _processManager, {
|
|
@@ -2072,22 +2644,14 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2072
2644
|
writable: true,
|
|
2073
2645
|
value: new queue_Queue()
|
|
2074
2646
|
});
|
|
2075
|
-
taskWorker_class_private_field_init(this,
|
|
2647
|
+
taskWorker_class_private_field_init(this, taskWorker_inflight, {
|
|
2076
2648
|
writable: true,
|
|
2077
|
-
value:
|
|
2078
|
-
});
|
|
2079
|
-
taskWorker_class_private_field_init(this, _inflightHead, {
|
|
2080
|
-
writable: true,
|
|
2081
|
-
value: 0
|
|
2649
|
+
value: new inflightTracker_InflightTracker()
|
|
2082
2650
|
});
|
|
2083
2651
|
taskWorker_class_private_field_init(this, _pendingFinalizeTasks, {
|
|
2084
2652
|
writable: true,
|
|
2085
2653
|
value: new Set()
|
|
2086
2654
|
});
|
|
2087
|
-
taskWorker_class_private_field_init(this, _scheduledFinalize, {
|
|
2088
|
-
writable: true,
|
|
2089
|
-
value: false
|
|
2090
|
-
});
|
|
2091
2655
|
taskWorker_class_private_field_init(this, _valueParser, {
|
|
2092
2656
|
writable: true,
|
|
2093
2657
|
value: void 0
|
|
@@ -2116,31 +2680,72 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2116
2680
|
writable: true,
|
|
2117
2681
|
value: void 0
|
|
2118
2682
|
});
|
|
2119
|
-
taskWorker_class_private_field_init(this,
|
|
2683
|
+
taskWorker_class_private_field_init(this, _sweeper, {
|
|
2120
2684
|
writable: true,
|
|
2121
|
-
value:
|
|
2685
|
+
value: void 0
|
|
2122
2686
|
});
|
|
2123
|
-
taskWorker_class_private_field_init(this,
|
|
2687
|
+
taskWorker_class_private_field_init(this, _scheduleFinalizeCheck, {
|
|
2124
2688
|
writable: true,
|
|
2125
2689
|
value: void 0
|
|
2126
2690
|
});
|
|
2691
|
+
taskWorker_class_private_field_init(this, _pump, {
|
|
2692
|
+
writable: true,
|
|
2693
|
+
value: void 0
|
|
2694
|
+
});
|
|
2695
|
+
taskWorker_class_private_field_init(this, _pendingStderr, {
|
|
2696
|
+
writable: true,
|
|
2697
|
+
value: []
|
|
2698
|
+
});
|
|
2127
2699
|
taskWorker_class_private_field_set(this, _name, null != name ? name : "worker");
|
|
2128
2700
|
taskWorker_class_private_field_set(this, _statementTimeout, statementTimeout);
|
|
2129
2701
|
taskWorker_class_private_field_set(this, _logger, logger);
|
|
2130
2702
|
taskWorker_class_private_field_set(this, _batchSize, batchSize);
|
|
2131
2703
|
taskWorker_class_private_field_set(this, _maxInflight, maxInflight);
|
|
2132
2704
|
taskWorker_class_private_field_set(this, _metrics, metrics);
|
|
2133
|
-
taskWorker_class_private_field_set(this, _sweepIntervalMs, sweepInterval);
|
|
2134
2705
|
taskWorker_class_private_field_set(this, _processManager, new process_ProcessManager({
|
|
2135
2706
|
binary: binary,
|
|
2136
2707
|
database: database,
|
|
2137
|
-
initMode: initMode
|
|
2138
|
-
|
|
2139
|
-
|
|
2708
|
+
initMode: initMode
|
|
2709
|
+
}));
|
|
2710
|
+
taskWorker_class_private_field_get(this, _processManager).setOnDrainCallback(function() {
|
|
2711
|
+
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2712
|
+
});
|
|
2713
|
+
taskWorker_class_private_field_set(this, _sweeper, createSweeper({
|
|
2714
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2715
|
+
sweepIntervalMs: sweepInterval,
|
|
2716
|
+
handleTaskTimeout: function(task) {
|
|
2717
|
+
var error = prepareTaskTimeout(task, taskWorker_class_private_field_get(_this, _metrics));
|
|
2718
|
+
if (error) taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, task, error, void 0);
|
|
2140
2719
|
}
|
|
2141
2720
|
}));
|
|
2721
|
+
taskWorker_class_private_field_set(this, _pump, createPumpQueue({
|
|
2722
|
+
queue: taskWorker_class_private_field_get(this, _pendingQueue),
|
|
2723
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2724
|
+
processManager: taskWorker_class_private_field_get(this, _processManager),
|
|
2725
|
+
sweeper: taskWorker_class_private_field_get(this, _sweeper),
|
|
2726
|
+
batchSize: taskWorker_class_private_field_get(this, _batchSize),
|
|
2727
|
+
maxInflight: taskWorker_class_private_field_get(this, _maxInflight)
|
|
2728
|
+
}));
|
|
2729
|
+
taskWorker_class_private_field_set(this, _scheduleFinalizeCheck, createFinalizeScheduler({
|
|
2730
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2731
|
+
settleTask: function(t, e, v1) {
|
|
2732
|
+
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2733
|
+
},
|
|
2734
|
+
pumpQueue: function() {
|
|
2735
|
+
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2736
|
+
},
|
|
2737
|
+
pendingStderr: taskWorker_class_private_field_get(this, _pendingStderr),
|
|
2738
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight)
|
|
2739
|
+
}));
|
|
2142
2740
|
taskWorker_class_private_field_set(this, _valueParser, createJsonValueParser(function(raw) {
|
|
2143
|
-
|
|
2741
|
+
handleParsedValue(raw, taskWorker_class_private_field_get(_this, taskWorker_inflight), {
|
|
2742
|
+
afterSentinel: function(task) {
|
|
2743
|
+
return taskWorker_class_private_method_get(_this, _afterSentinel, taskWorker_afterSentinel).call(_this, task);
|
|
2744
|
+
},
|
|
2745
|
+
rejectAll: function(error) {
|
|
2746
|
+
return taskWorker_class_private_method_get(_this, _rejectAll, taskWorker_rejectAll).call(_this, error);
|
|
2747
|
+
}
|
|
2748
|
+
});
|
|
2144
2749
|
}));
|
|
2145
2750
|
taskWorker_class_private_method_get(this, _startProcess, startProcess).call(this);
|
|
2146
2751
|
}
|
|
@@ -2154,13 +2759,13 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2154
2759
|
{
|
|
2155
2760
|
key: "idle",
|
|
2156
2761
|
get: function() {
|
|
2157
|
-
return
|
|
2762
|
+
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;
|
|
2158
2763
|
}
|
|
2159
2764
|
},
|
|
2160
2765
|
{
|
|
2161
2766
|
key: "pendingStatements",
|
|
2162
2767
|
get: function() {
|
|
2163
|
-
return taskWorker_class_private_field_get(this, _pendingQueue).size +
|
|
2768
|
+
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;
|
|
2164
2769
|
}
|
|
2165
2770
|
},
|
|
2166
2771
|
{
|
|
@@ -2190,7 +2795,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2190
2795
|
{
|
|
2191
2796
|
key: "_sweepTimer",
|
|
2192
2797
|
get: function() {
|
|
2193
|
-
|
|
2798
|
+
var _$_class_private_field_get;
|
|
2799
|
+
var _class_private_field_get_getSweepTimer;
|
|
2800
|
+
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;
|
|
2194
2801
|
}
|
|
2195
2802
|
},
|
|
2196
2803
|
{
|
|
@@ -2202,8 +2809,9 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
|
|
|
2202
2809
|
{
|
|
2203
2810
|
key: "kill",
|
|
2204
2811
|
value: function() {
|
|
2205
|
-
|
|
2206
|
-
|
|
2812
|
+
var _class_private_field_get_cancel, _$_class_private_field_get;
|
|
2813
|
+
taskWorker_class_private_field_get(this, _sweeper).clear();
|
|
2814
|
+
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);
|
|
2207
2815
|
taskWorker_class_private_method_get(this, _rejectAll, taskWorker_rejectAll).call(this, new Error("".concat(taskWorker_class_private_field_get(this, _name), " is killed")));
|
|
2208
2816
|
taskWorker_class_private_field_get(this, _processManager).kill();
|
|
2209
2817
|
}
|
|
@@ -2218,7 +2826,7 @@ function startProcess() {
|
|
|
2218
2826
|
taskWorker_class_private_field_get(_this, _valueParser).feed(chunk);
|
|
2219
2827
|
});
|
|
2220
2828
|
proc.stderr.on("data", function(chunk) {
|
|
2221
|
-
taskWorker_class_private_method_get(_this, _handleStderrChunk,
|
|
2829
|
+
taskWorker_class_private_method_get(_this, _handleStderrChunk, taskWorker_handleStderrChunk1).call(_this, chunk);
|
|
2222
2830
|
});
|
|
2223
2831
|
proc.on("error", function(error) {
|
|
2224
2832
|
var _class_private_field_get_error, _$_class_private_field_get;
|
|
@@ -2232,200 +2840,47 @@ function startProcess() {
|
|
|
2232
2840
|
taskWorker_class_private_method_get(_this, _rejectAll, taskWorker_rejectAll).call(_this, err);
|
|
2233
2841
|
});
|
|
2234
2842
|
}
|
|
2235
|
-
function inflightCount() {
|
|
2236
|
-
return taskWorker_class_private_field_get(this, _inflightTasks).length - taskWorker_class_private_field_get(this, _inflightHead);
|
|
2237
|
-
}
|
|
2238
|
-
function firstInflight() {
|
|
2239
|
-
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;
|
|
2240
|
-
}
|
|
2241
|
-
function shiftInflight() {
|
|
2242
|
-
var task = taskWorker_class_private_field_get(this, _inflightTasks)[taskWorker_class_private_field_get(this, _inflightHead)];
|
|
2243
|
-
taskWorker_class_private_field_get(this, _inflightTasks)[taskWorker_class_private_field_get(this, _inflightHead)] = null;
|
|
2244
|
-
taskWorker_class_private_field_update(this, _inflightHead).value++;
|
|
2245
|
-
if (taskWorker_class_private_field_get(this, _inflightHead) >= taskWorker_class_private_field_get(this, _inflightTasks).length) {
|
|
2246
|
-
taskWorker_class_private_field_set(this, _inflightTasks, []);
|
|
2247
|
-
taskWorker_class_private_field_set(this, _inflightHead, 0);
|
|
2248
|
-
} else if (taskWorker_class_private_field_get(this, _inflightHead) > 128) {
|
|
2249
|
-
taskWorker_class_private_field_set(this, _inflightTasks, taskWorker_class_private_field_get(this, _inflightTasks).slice(taskWorker_class_private_field_get(this, _inflightHead)));
|
|
2250
|
-
taskWorker_class_private_field_set(this, _inflightHead, 0);
|
|
2251
|
-
}
|
|
2252
|
-
return task;
|
|
2253
|
-
}
|
|
2254
2843
|
function taskWorker_pumpQueue() {
|
|
2255
|
-
|
|
2256
|
-
if (taskWorker_class_private_field_get(this, _processManager).draining) return;
|
|
2257
|
-
if (taskWorker_class_private_method_get(this, _inflightCount, inflightCount).call(this) >= taskWorker_class_private_field_get(this, _maxInflight)) return;
|
|
2258
|
-
var batch = [];
|
|
2259
|
-
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)){
|
|
2260
|
-
var task = taskWorker_class_private_field_get(this, _pendingQueue).peek();
|
|
2261
|
-
if ("stream" === task.kind && (batch.length > 0 || taskWorker_class_private_method_get(this, _inflightCount, inflightCount).call(this) > 0)) break;
|
|
2262
|
-
taskWorker_class_private_field_get(this, _pendingQueue).dequeue();
|
|
2263
|
-
batch.push(task);
|
|
2264
|
-
}
|
|
2265
|
-
if (0 === batch.length) return;
|
|
2266
|
-
var now = performance.now();
|
|
2267
|
-
var payload = buildBatchPayload(batch);
|
|
2268
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2269
|
-
try {
|
|
2270
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2271
|
-
var task1 = _step.value;
|
|
2272
|
-
task1.startTime = now;
|
|
2273
|
-
}
|
|
2274
|
-
} catch (err) {
|
|
2275
|
-
_didIteratorError = true;
|
|
2276
|
-
_iteratorError = err;
|
|
2277
|
-
} finally{
|
|
2278
|
-
try {
|
|
2279
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2280
|
-
} finally{
|
|
2281
|
-
if (_didIteratorError) throw _iteratorError;
|
|
2282
|
-
}
|
|
2283
|
-
}
|
|
2284
|
-
(_$_class_private_field_get = taskWorker_class_private_field_get(this, _inflightTasks)).push.apply(_$_class_private_field_get, _to_consumable_array(batch));
|
|
2285
|
-
taskWorker_class_private_method_get(this, _scheduleSweep, scheduleSweep).call(this);
|
|
2286
|
-
taskWorker_class_private_field_get(this, _processManager).write(payload);
|
|
2287
|
-
}
|
|
2288
|
-
function handleParsedValue(raw) {
|
|
2289
|
-
var task = taskWorker_class_private_method_get(this, _firstInflight, firstInflight).call(this);
|
|
2290
|
-
if (!task) return;
|
|
2291
|
-
if (isSentinelRaw(raw, task.token)) {
|
|
2292
|
-
taskWorker_class_private_method_get(this, _shiftInflight, shiftInflight).call(this);
|
|
2293
|
-
if (task.timedout) return void taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2294
|
-
if (task.stderrText) {
|
|
2295
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, new Error(task.stderrText.trim()), void 0);
|
|
2296
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2297
|
-
return;
|
|
2298
|
-
}
|
|
2299
|
-
if (task.consumerError) {
|
|
2300
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, task.consumerError, void 0);
|
|
2301
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2302
|
-
return;
|
|
2303
|
-
}
|
|
2304
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).add(task);
|
|
2305
|
-
taskWorker_class_private_method_get(this, _scheduleFinalizeCheck, scheduleFinalizeCheck).call(this);
|
|
2306
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2307
|
-
return;
|
|
2308
|
-
}
|
|
2309
|
-
if ("[]" === raw) return;
|
|
2310
|
-
var parsed;
|
|
2311
|
-
try {
|
|
2312
|
-
parsed = JSON.parse(raw);
|
|
2313
|
-
} catch (error) {
|
|
2314
|
-
taskWorker_class_private_method_get(this, _rejectAll, taskWorker_rejectAll).call(this, new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
2315
|
-
return;
|
|
2316
|
-
}
|
|
2317
|
-
if (isSentinelRow(parsed, task.token)) {
|
|
2318
|
-
taskWorker_class_private_method_get(this, _shiftInflight, shiftInflight).call(this);
|
|
2319
|
-
if (task.timedout) return void taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2320
|
-
if (task.stderrText) {
|
|
2321
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, new Error(task.stderrText.trim()), void 0);
|
|
2322
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2323
|
-
return;
|
|
2324
|
-
}
|
|
2325
|
-
if (task.consumerError) {
|
|
2326
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, task.consumerError, void 0);
|
|
2327
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2328
|
-
return;
|
|
2329
|
-
}
|
|
2330
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).add(task);
|
|
2331
|
-
taskWorker_class_private_method_get(this, _scheduleFinalizeCheck, scheduleFinalizeCheck).call(this);
|
|
2332
|
-
taskWorker_class_private_method_get(this, _pumpQueue, taskWorker_pumpQueue).call(this);
|
|
2333
|
-
return;
|
|
2334
|
-
}
|
|
2335
|
-
if (task.timedout) return;
|
|
2336
|
-
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
2337
|
-
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
2844
|
+
taskWorker_class_private_field_get(this, _pump).call(this);
|
|
2338
2845
|
}
|
|
2339
|
-
function
|
|
2846
|
+
function taskWorker_afterSentinel(task) {
|
|
2340
2847
|
var _this = this;
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
setImmediate(function() {
|
|
2344
|
-
taskWorker_class_private_field_set(_this, _scheduledFinalize, false);
|
|
2345
|
-
finalizePendingTasks(taskWorker_class_private_field_get(_this, _pendingFinalizeTasks), function(t, e, v1) {
|
|
2848
|
+
handleSentinelTask(task, {
|
|
2849
|
+
settleTask: function(t, e, v1) {
|
|
2346
2850
|
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2347
|
-
},
|
|
2851
|
+
},
|
|
2852
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2853
|
+
scheduleFinalizeCheck: function() {
|
|
2854
|
+
return taskWorker_class_private_field_get(_this, _scheduleFinalizeCheck).call(_this);
|
|
2855
|
+
},
|
|
2856
|
+
pumpQueue: function() {
|
|
2348
2857
|
return taskWorker_class_private_method_get(_this, _pumpQueue, taskWorker_pumpQueue).call(_this);
|
|
2349
|
-
});
|
|
2350
|
-
});
|
|
2351
|
-
}
|
|
2352
|
-
function taskWorker_handleStderrChunk(chunk) {
|
|
2353
|
-
var _class_private_field_get_values_next_value;
|
|
2354
|
-
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);
|
|
2355
|
-
if (!task) {
|
|
2356
|
-
var _class_private_field_get_error, _$_class_private_field_get;
|
|
2357
|
-
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());
|
|
2358
|
-
return;
|
|
2359
|
-
}
|
|
2360
|
-
task.stderrText += chunk;
|
|
2361
|
-
}
|
|
2362
|
-
function scheduleSweep() {
|
|
2363
|
-
var _this = this;
|
|
2364
|
-
if (taskWorker_class_private_field_get(this, _sweepTimer)) return;
|
|
2365
|
-
taskWorker_class_private_field_set(this, _sweepTimer, setTimeout(function() {
|
|
2366
|
-
taskWorker_class_private_field_set(_this, _sweepTimer, null);
|
|
2367
|
-
var tasks = taskWorker_class_private_field_get(_this, _inflightTasks);
|
|
2368
|
-
var head = taskWorker_class_private_field_get(_this, _inflightHead);
|
|
2369
|
-
var now = performance.now();
|
|
2370
|
-
for(var i = head; i < tasks.length; i++){
|
|
2371
|
-
var task = tasks[i];
|
|
2372
|
-
if (now - task.startTime > task.timeout) taskWorker_class_private_method_get(_this, _handleTaskTimeout, handleTaskTimeout).call(_this, task);
|
|
2373
2858
|
}
|
|
2374
|
-
|
|
2375
|
-
}, taskWorker_class_private_field_get(this, _sweepIntervalMs)).unref());
|
|
2859
|
+
});
|
|
2376
2860
|
}
|
|
2377
|
-
function
|
|
2378
|
-
|
|
2379
|
-
|
|
2861
|
+
function taskWorker_handleStderrChunk1(chunk) {
|
|
2862
|
+
handleStderrChunk(chunk, {
|
|
2863
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2864
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2865
|
+
logger: taskWorker_class_private_field_get(this, _logger),
|
|
2866
|
+
pendingStderr: taskWorker_class_private_field_get(this, _pendingStderr)
|
|
2867
|
+
});
|
|
2380
2868
|
}
|
|
2381
2869
|
function settleTask1(task, error, value) {
|
|
2382
|
-
|
|
2870
|
+
settleUtils_settleTask(task, error, value, taskWorker_class_private_field_get(this, _metrics));
|
|
2383
2871
|
}
|
|
2384
2872
|
function taskWorker_rejectAll(error) {
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
}
|
|
2396
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2397
|
-
try {
|
|
2398
|
-
for(var _iterator = all[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2399
|
-
var task = _step.value;
|
|
2400
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task, error, void 0);
|
|
2401
|
-
}
|
|
2402
|
-
} catch (err) {
|
|
2403
|
-
_didIteratorError = true;
|
|
2404
|
-
_iteratorError = err;
|
|
2405
|
-
} finally{
|
|
2406
|
-
try {
|
|
2407
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2408
|
-
} finally{
|
|
2409
|
-
if (_didIteratorError) throw _iteratorError;
|
|
2410
|
-
}
|
|
2411
|
-
}
|
|
2412
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2413
|
-
try {
|
|
2414
|
-
for(var _iterator1 = taskWorker_class_private_field_get(this, _pendingFinalizeTasks)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2415
|
-
var task1 = _step1.value;
|
|
2416
|
-
taskWorker_class_private_method_get(this, _settleTask, settleTask1).call(this, task1, error, void 0);
|
|
2417
|
-
}
|
|
2418
|
-
} catch (err) {
|
|
2419
|
-
_didIteratorError1 = true;
|
|
2420
|
-
_iteratorError1 = err;
|
|
2421
|
-
} finally{
|
|
2422
|
-
try {
|
|
2423
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2424
|
-
} finally{
|
|
2425
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
2426
|
-
}
|
|
2427
|
-
}
|
|
2428
|
-
taskWorker_class_private_field_get(this, _pendingFinalizeTasks).clear();
|
|
2873
|
+
var _this = this;
|
|
2874
|
+
taskWorker_class_private_field_get(this, _sweeper).clear();
|
|
2875
|
+
rejectAllTasks({
|
|
2876
|
+
inflight: taskWorker_class_private_field_get(this, taskWorker_inflight),
|
|
2877
|
+
queue: taskWorker_class_private_field_get(this, _pendingQueue),
|
|
2878
|
+
pendingFinalizeTasks: taskWorker_class_private_field_get(this, _pendingFinalizeTasks),
|
|
2879
|
+
settleTask: function(t, e, v1) {
|
|
2880
|
+
return taskWorker_class_private_method_get(_this, _settleTask, settleTask1).call(_this, t, e, v1);
|
|
2881
|
+
},
|
|
2882
|
+
error: error
|
|
2883
|
+
});
|
|
2429
2884
|
}
|
|
2430
2885
|
function readerPool_check_private_redeclaration(obj, privateCollection) {
|
|
2431
2886
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
@@ -2498,7 +2953,7 @@ var readerPool_ReaderPool = /*#__PURE__*/ function() {
|
|
|
2498
2953
|
logger: logger,
|
|
2499
2954
|
metrics: metrics,
|
|
2500
2955
|
name: "reader-".concat(i),
|
|
2501
|
-
initMode: ":memory:" !== database ? "none" : "
|
|
2956
|
+
initMode: ":memory:" !== database ? "none" : "none"
|
|
2502
2957
|
});
|
|
2503
2958
|
readerPool_class_private_field_get(this, _workers).push(worker);
|
|
2504
2959
|
}
|
|
@@ -2779,6 +3234,10 @@ var metrics_Metrics = /*#__PURE__*/ function() {
|
|
|
2779
3234
|
key: "snapshot",
|
|
2780
3235
|
value: function() {
|
|
2781
3236
|
var elapsed = (Date.now() - metrics_class_private_field_get(this, _startTime)) / 1000;
|
|
3237
|
+
var avgTaskDuration;
|
|
3238
|
+
avgTaskDuration = metrics_class_private_field_get(this, _tasksSuccess) > 0 ? metrics_class_private_field_get(this, _totalDuration) / metrics_class_private_field_get(this, _tasksSuccess) : 0;
|
|
3239
|
+
var throughput;
|
|
3240
|
+
throughput = elapsed > 0 ? metrics_class_private_field_get(this, _tasksTotal) / elapsed : 0;
|
|
2782
3241
|
return {
|
|
2783
3242
|
tasksTotal: metrics_class_private_field_get(this, _tasksTotal),
|
|
2784
3243
|
tasksSuccess: metrics_class_private_field_get(this, _tasksSuccess),
|
|
@@ -2788,8 +3247,8 @@ var metrics_Metrics = /*#__PURE__*/ function() {
|
|
|
2788
3247
|
executeCount: metrics_class_private_field_get(this, _executeCount),
|
|
2789
3248
|
queryCount: metrics_class_private_field_get(this, _queryCount),
|
|
2790
3249
|
streamCount: metrics_class_private_field_get(this, _streamCount),
|
|
2791
|
-
|
|
2792
|
-
|
|
3250
|
+
avgTaskDuration: avgTaskDuration,
|
|
3251
|
+
throughput: throughput,
|
|
2793
3252
|
uptime: elapsed
|
|
2794
3253
|
};
|
|
2795
3254
|
}
|
|
@@ -3063,7 +3522,7 @@ var transactionScope_TransactionScope = /*#__PURE__*/ function() {
|
|
|
3063
3522
|
value: function(error) {
|
|
3064
3523
|
var task = transactionScope_class_private_field_get(this, _deferredQueue).dequeue();
|
|
3065
3524
|
while(task){
|
|
3066
|
-
|
|
3525
|
+
settleUtils_settleTask(task, error, void 0, null);
|
|
3067
3526
|
task = transactionScope_class_private_field_get(this, _deferredQueue).dequeue();
|
|
3068
3527
|
}
|
|
3069
3528
|
}
|
|
@@ -3071,14 +3530,6 @@ var transactionScope_TransactionScope = /*#__PURE__*/ function() {
|
|
|
3071
3530
|
]);
|
|
3072
3531
|
return TransactionScope;
|
|
3073
3532
|
}();
|
|
3074
|
-
function pipelineEngine_array_like_to_array(arr, len) {
|
|
3075
|
-
if (null == len || len > arr.length) len = arr.length;
|
|
3076
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
3077
|
-
return arr2;
|
|
3078
|
-
}
|
|
3079
|
-
function pipelineEngine_array_without_holes(arr) {
|
|
3080
|
-
if (Array.isArray(arr)) return pipelineEngine_array_like_to_array(arr);
|
|
3081
|
-
}
|
|
3082
3533
|
function pipelineEngine_check_private_redeclaration(obj, privateCollection) {
|
|
3083
3534
|
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
3084
3535
|
}
|
|
@@ -3093,22 +3544,6 @@ function pipelineEngine_class_apply_descriptor_set(receiver, descriptor, value)
|
|
|
3093
3544
|
descriptor.value = value;
|
|
3094
3545
|
}
|
|
3095
3546
|
}
|
|
3096
|
-
function pipelineEngine_class_apply_descriptor_update(receiver, descriptor) {
|
|
3097
|
-
if (descriptor.set) {
|
|
3098
|
-
if (!descriptor.get) throw new TypeError("attempted to read set only private field");
|
|
3099
|
-
if (!("__destrWrapper" in descriptor)) descriptor.__destrWrapper = {
|
|
3100
|
-
set value (v){
|
|
3101
|
-
descriptor.set.call(receiver, v);
|
|
3102
|
-
},
|
|
3103
|
-
get value () {
|
|
3104
|
-
return descriptor.get.call(receiver);
|
|
3105
|
-
}
|
|
3106
|
-
};
|
|
3107
|
-
return descriptor.__destrWrapper;
|
|
3108
|
-
}
|
|
3109
|
-
if (!descriptor.writable) throw new TypeError("attempted to set read only private field");
|
|
3110
|
-
return descriptor;
|
|
3111
|
-
}
|
|
3112
3547
|
function pipelineEngine_class_call_check(instance, Constructor) {
|
|
3113
3548
|
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
3114
3549
|
}
|
|
@@ -3129,10 +3564,6 @@ function pipelineEngine_class_private_field_set(receiver, privateMap, value) {
|
|
|
3129
3564
|
pipelineEngine_class_apply_descriptor_set(receiver, descriptor, value);
|
|
3130
3565
|
return value;
|
|
3131
3566
|
}
|
|
3132
|
-
function pipelineEngine_class_private_field_update(receiver, privateMap) {
|
|
3133
|
-
var descriptor = pipelineEngine_class_extract_field_descriptor(receiver, privateMap, "update");
|
|
3134
|
-
return pipelineEngine_class_apply_descriptor_update(receiver, descriptor);
|
|
3135
|
-
}
|
|
3136
3567
|
function pipelineEngine_class_private_method_get(receiver, privateSet, fn) {
|
|
3137
3568
|
if (!privateSet.has(receiver)) throw new TypeError("attempted to get private field on non-instance");
|
|
3138
3569
|
return fn;
|
|
@@ -3155,59 +3586,29 @@ function pipelineEngine_create_class(Constructor, protoProps, staticProps) {
|
|
|
3155
3586
|
if (staticProps) pipelineEngine_defineProperties(Constructor, staticProps);
|
|
3156
3587
|
return Constructor;
|
|
3157
3588
|
}
|
|
3158
|
-
|
|
3159
|
-
if ("undefined" != typeof Symbol && null != iter[Symbol.iterator] || null != iter["@@iterator"]) return Array.from(iter);
|
|
3160
|
-
}
|
|
3161
|
-
function pipelineEngine_non_iterable_spread() {
|
|
3162
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3163
|
-
}
|
|
3164
|
-
function pipelineEngine_to_consumable_array(arr) {
|
|
3165
|
-
return pipelineEngine_array_without_holes(arr) || pipelineEngine_iterable_to_array(arr) || pipelineEngine_unsupported_iterable_to_array(arr) || pipelineEngine_non_iterable_spread();
|
|
3166
|
-
}
|
|
3167
|
-
function pipelineEngine_unsupported_iterable_to_array(o, minLen) {
|
|
3168
|
-
if (!o) return;
|
|
3169
|
-
if ("string" == typeof o) return pipelineEngine_array_like_to_array(o, minLen);
|
|
3170
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
3171
|
-
if ("Object" === n && o.constructor) n = o.constructor.name;
|
|
3172
|
-
if ("Map" === n || "Set" === n) return Array.from(n);
|
|
3173
|
-
if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineEngine_array_like_to_array(o, minLen);
|
|
3174
|
-
}
|
|
3175
|
-
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();
|
|
3589
|
+
var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflight = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _sharedValueParser = /*#__PURE__*/ new WeakMap(), pipelineEngine_processManager = /*#__PURE__*/ new WeakMap(), pipelineEngine_metrics = /*#__PURE__*/ new WeakMap(), pipelineEngine_statementTimeout = /*#__PURE__*/ new WeakMap(), pipelineEngine_logger = /*#__PURE__*/ new WeakMap(), pipelineEngine_batchSize = /*#__PURE__*/ new WeakMap(), pipelineEngine_maxInflight = /*#__PURE__*/ new WeakMap(), _onTaskTimeout = /*#__PURE__*/ new WeakMap(), _active = /*#__PURE__*/ new WeakMap(), pipelineEngine_sweeper = /*#__PURE__*/ new WeakMap(), pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakMap(), pipelineEngine_pump = /*#__PURE__*/ new WeakMap(), pipelineEngine_pendingStderr = /*#__PURE__*/ new WeakMap(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_afterSentinel = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
|
|
3176
3590
|
var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
3177
3591
|
"use strict";
|
|
3178
3592
|
function PipelineEngine(processManager, param) {
|
|
3179
3593
|
var _this = this;
|
|
3180
3594
|
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;
|
|
3181
3595
|
pipelineEngine_class_call_check(this, PipelineEngine);
|
|
3182
|
-
|
|
3183
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_firstInflight);
|
|
3184
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_shiftInflight);
|
|
3596
|
+
var _this1, _this2;
|
|
3185
3597
|
pipelineEngine_class_private_method_init(this, core_pipelineEngine_pumpQueue);
|
|
3186
|
-
pipelineEngine_class_private_method_init(this,
|
|
3187
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_scheduleFinalizeCheck);
|
|
3188
|
-
pipelineEngine_class_private_method_init(this, pipelineEngine_scheduleSweep);
|
|
3189
|
-
pipelineEngine_class_private_method_init(this, core_pipelineEngine_handleTaskTimeout);
|
|
3598
|
+
pipelineEngine_class_private_method_init(this, core_pipelineEngine_afterSentinel);
|
|
3190
3599
|
pipelineEngine_class_private_method_init(this, pipelineEngine_settleTask);
|
|
3191
3600
|
pipelineEngine_class_private_field_init(this, _queue, {
|
|
3192
3601
|
writable: true,
|
|
3193
3602
|
value: new queue_Queue()
|
|
3194
3603
|
});
|
|
3195
|
-
pipelineEngine_class_private_field_init(this,
|
|
3196
|
-
writable: true,
|
|
3197
|
-
value: []
|
|
3198
|
-
});
|
|
3199
|
-
pipelineEngine_class_private_field_init(this, pipelineEngine_inflightHead, {
|
|
3604
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_inflight, {
|
|
3200
3605
|
writable: true,
|
|
3201
|
-
value:
|
|
3606
|
+
value: new inflightTracker_InflightTracker()
|
|
3202
3607
|
});
|
|
3203
3608
|
pipelineEngine_class_private_field_init(this, pipelineEngine_pendingFinalizeTasks, {
|
|
3204
3609
|
writable: true,
|
|
3205
3610
|
value: new Set()
|
|
3206
3611
|
});
|
|
3207
|
-
pipelineEngine_class_private_field_init(this, pipelineEngine_scheduledFinalize, {
|
|
3208
|
-
writable: true,
|
|
3209
|
-
value: false
|
|
3210
|
-
});
|
|
3211
3612
|
pipelineEngine_class_private_field_init(this, _sharedValueParser, {
|
|
3212
3613
|
writable: true,
|
|
3213
3614
|
value: void 0
|
|
@@ -3244,14 +3645,22 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3244
3645
|
writable: true,
|
|
3245
3646
|
value: false
|
|
3246
3647
|
});
|
|
3247
|
-
pipelineEngine_class_private_field_init(this,
|
|
3648
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_sweeper, {
|
|
3248
3649
|
writable: true,
|
|
3249
|
-
value:
|
|
3650
|
+
value: void 0
|
|
3250
3651
|
});
|
|
3251
|
-
pipelineEngine_class_private_field_init(this,
|
|
3652
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_scheduleFinalizeCheck, {
|
|
3252
3653
|
writable: true,
|
|
3253
3654
|
value: void 0
|
|
3254
3655
|
});
|
|
3656
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_pump, {
|
|
3657
|
+
writable: true,
|
|
3658
|
+
value: void 0
|
|
3659
|
+
});
|
|
3660
|
+
pipelineEngine_class_private_field_init(this, pipelineEngine_pendingStderr, {
|
|
3661
|
+
writable: true,
|
|
3662
|
+
value: []
|
|
3663
|
+
});
|
|
3255
3664
|
pipelineEngine_class_private_field_set(this, pipelineEngine_processManager, processManager);
|
|
3256
3665
|
pipelineEngine_class_private_field_set(this, pipelineEngine_metrics, metrics);
|
|
3257
3666
|
pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
|
|
@@ -3259,19 +3668,57 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3259
3668
|
pipelineEngine_class_private_field_set(this, pipelineEngine_batchSize, batchSize);
|
|
3260
3669
|
pipelineEngine_class_private_field_set(this, pipelineEngine_maxInflight, maxInflight);
|
|
3261
3670
|
pipelineEngine_class_private_field_set(this, _onTaskTimeout, null != onTaskTimeout ? onTaskTimeout : function() {});
|
|
3671
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_sweeper, createSweeper({
|
|
3672
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3673
|
+
sweepIntervalMs: sweepInterval,
|
|
3674
|
+
handleTaskTimeout: function(task) {
|
|
3675
|
+
var error = prepareTaskTimeout(task, pipelineEngine_class_private_field_get(_this, pipelineEngine_metrics));
|
|
3676
|
+
if (error) {
|
|
3677
|
+
pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, task, error, void 0);
|
|
3678
|
+
null == (_this1 = pipelineEngine_class_private_field_get(_this2 = _this, _onTaskTimeout)) || _this1.call(_this2, task);
|
|
3679
|
+
}
|
|
3680
|
+
}
|
|
3681
|
+
}));
|
|
3682
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_pump, createPumpQueue({
|
|
3683
|
+
queue: pipelineEngine_class_private_field_get(this, _queue),
|
|
3684
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3685
|
+
processManager: pipelineEngine_class_private_field_get(this, pipelineEngine_processManager),
|
|
3686
|
+
sweeper: pipelineEngine_class_private_field_get(this, pipelineEngine_sweeper),
|
|
3687
|
+
batchSize: pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize),
|
|
3688
|
+
maxInflight: pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)
|
|
3689
|
+
}));
|
|
3690
|
+
pipelineEngine_class_private_field_set(this, pipelineEngine_scheduleFinalizeCheck, createFinalizeScheduler({
|
|
3691
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3692
|
+
settleTask: function(t, e, v1) {
|
|
3693
|
+
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3694
|
+
},
|
|
3695
|
+
pumpQueue: function() {
|
|
3696
|
+
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3697
|
+
},
|
|
3698
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr),
|
|
3699
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight)
|
|
3700
|
+
}));
|
|
3262
3701
|
pipelineEngine_class_private_field_set(this, _sharedValueParser, createJsonValueParser(function(raw) {
|
|
3263
|
-
|
|
3702
|
+
handleParsedValue(raw, pipelineEngine_class_private_field_get(_this, pipelineEngine_inflight), {
|
|
3703
|
+
afterSentinel: function(task) {
|
|
3704
|
+
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_afterSentinel, pipelineEngine_afterSentinel).call(_this, task);
|
|
3705
|
+
},
|
|
3706
|
+
rejectAll: function(error) {
|
|
3707
|
+
return _this.rejectAll(error);
|
|
3708
|
+
}
|
|
3709
|
+
});
|
|
3264
3710
|
}));
|
|
3265
3711
|
pipelineEngine_class_private_field_get(this, pipelineEngine_processManager).setOnDrainCallback(function() {
|
|
3266
3712
|
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3267
3713
|
});
|
|
3268
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_sweepIntervalMs, sweepInterval);
|
|
3269
3714
|
}
|
|
3270
3715
|
pipelineEngine_create_class(PipelineEngine, [
|
|
3271
3716
|
{
|
|
3272
3717
|
key: "_sweepTimer",
|
|
3273
3718
|
get: function() {
|
|
3274
|
-
|
|
3719
|
+
var _$_class_private_field_get;
|
|
3720
|
+
var _class_private_field_get_getSweepTimer;
|
|
3721
|
+
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;
|
|
3275
3722
|
}
|
|
3276
3723
|
},
|
|
3277
3724
|
{
|
|
@@ -3289,7 +3736,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3289
3736
|
{
|
|
3290
3737
|
key: "pendingStatements",
|
|
3291
3738
|
get: function() {
|
|
3292
|
-
return pipelineEngine_class_private_field_get(this, _queue).size +
|
|
3739
|
+
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;
|
|
3293
3740
|
}
|
|
3294
3741
|
},
|
|
3295
3742
|
{
|
|
@@ -3322,7 +3769,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3322
3769
|
{
|
|
3323
3770
|
key: "handleStdoutChunk",
|
|
3324
3771
|
value: function(chunk) {
|
|
3325
|
-
var task =
|
|
3772
|
+
var task = pipelineEngine_class_private_field_get(this, pipelineEngine_inflight).first;
|
|
3326
3773
|
if (!task) return;
|
|
3327
3774
|
if ("stream" === task.kind && task.rowParser && !task.rowParser.finished && !task.timedout) {
|
|
3328
3775
|
var leftover = task.rowParser.feed(chunk);
|
|
@@ -3335,209 +3782,64 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
|
|
|
3335
3782
|
{
|
|
3336
3783
|
key: "handleStderrChunk",
|
|
3337
3784
|
value: function(chunk) {
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
}
|
|
3345
|
-
task.stderrText += chunk;
|
|
3785
|
+
handleStderrChunk(chunk, {
|
|
3786
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3787
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3788
|
+
logger: pipelineEngine_class_private_field_get(this, pipelineEngine_logger),
|
|
3789
|
+
pendingStderr: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingStderr)
|
|
3790
|
+
});
|
|
3346
3791
|
}
|
|
3347
3792
|
},
|
|
3348
3793
|
{
|
|
3349
3794
|
key: "rejectAll",
|
|
3350
3795
|
value: function(error) {
|
|
3796
|
+
var _this = this;
|
|
3351
3797
|
pipelineEngine_class_private_field_get(this, _sharedValueParser).reset();
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
}
|
|
3362
|
-
} catch (err) {
|
|
3363
|
-
_didIteratorError = true;
|
|
3364
|
-
_iteratorError = err;
|
|
3365
|
-
} finally{
|
|
3366
|
-
try {
|
|
3367
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
3368
|
-
} finally{
|
|
3369
|
-
if (_didIteratorError) throw _iteratorError;
|
|
3370
|
-
}
|
|
3371
|
-
}
|
|
3372
|
-
var queued = pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3373
|
-
while(queued){
|
|
3374
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, queued, error, void 0);
|
|
3375
|
-
queued = pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3376
|
-
}
|
|
3377
|
-
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
3378
|
-
try {
|
|
3379
|
-
for(var _iterator1 = pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
3380
|
-
var task1 = _step1.value;
|
|
3381
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task1, error, void 0);
|
|
3382
|
-
}
|
|
3383
|
-
} catch (err) {
|
|
3384
|
-
_didIteratorError1 = true;
|
|
3385
|
-
_iteratorError1 = err;
|
|
3386
|
-
} finally{
|
|
3387
|
-
try {
|
|
3388
|
-
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
3389
|
-
} finally{
|
|
3390
|
-
if (_didIteratorError1) throw _iteratorError1;
|
|
3391
|
-
}
|
|
3392
|
-
}
|
|
3393
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).clear();
|
|
3798
|
+
rejectAllTasks({
|
|
3799
|
+
inflight: pipelineEngine_class_private_field_get(this, pipelineEngine_inflight),
|
|
3800
|
+
queue: pipelineEngine_class_private_field_get(this, _queue),
|
|
3801
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3802
|
+
settleTask: function(t, e, v1) {
|
|
3803
|
+
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3804
|
+
},
|
|
3805
|
+
error: error
|
|
3806
|
+
});
|
|
3394
3807
|
}
|
|
3395
3808
|
},
|
|
3396
3809
|
{
|
|
3397
3810
|
key: "kill",
|
|
3398
3811
|
value: function() {
|
|
3812
|
+
var _class_private_field_get_cancel, _$_class_private_field_get;
|
|
3399
3813
|
pipelineEngine_class_private_field_set(this, _active, false);
|
|
3400
|
-
|
|
3401
|
-
|
|
3814
|
+
pipelineEngine_class_private_field_get(this, pipelineEngine_sweeper).clear();
|
|
3815
|
+
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);
|
|
3402
3816
|
this.rejectAll(new Error("PipelineEngine is killed"));
|
|
3403
3817
|
}
|
|
3404
3818
|
}
|
|
3405
3819
|
]);
|
|
3406
3820
|
return PipelineEngine;
|
|
3407
3821
|
}();
|
|
3408
|
-
function core_pipelineEngine_inflightCount() {
|
|
3409
|
-
return pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length - pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead);
|
|
3410
|
-
}
|
|
3411
|
-
function pipelineEngine_firstInflight() {
|
|
3412
|
-
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;
|
|
3413
|
-
}
|
|
3414
|
-
function pipelineEngine_shiftInflight() {
|
|
3415
|
-
var task = pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)[pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)];
|
|
3416
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)[pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead)] = null;
|
|
3417
|
-
pipelineEngine_class_private_field_update(this, pipelineEngine_inflightHead).value++;
|
|
3418
|
-
if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead) >= pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length) {
|
|
3419
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightTasks, []);
|
|
3420
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightHead, 0);
|
|
3421
|
-
} else if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightHead) > 128) {
|
|
3422
|
-
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)));
|
|
3423
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_inflightHead, 0);
|
|
3424
|
-
}
|
|
3425
|
-
return task;
|
|
3426
|
-
}
|
|
3427
3822
|
function pipelineEngine_pumpQueue() {
|
|
3428
|
-
var _$_class_private_field_get;
|
|
3429
3823
|
if (!pipelineEngine_class_private_field_get(this, _active)) return;
|
|
3430
|
-
|
|
3431
|
-
if (pipelineEngine_class_private_method_get(this, pipelineEngine_inflightCount, core_pipelineEngine_inflightCount).call(this) >= pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)) return;
|
|
3432
|
-
var batch = [];
|
|
3433
|
-
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)){
|
|
3434
|
-
var task = pipelineEngine_class_private_field_get(this, _queue).peek();
|
|
3435
|
-
if ("stream" === task.kind && (batch.length > 0 || pipelineEngine_class_private_method_get(this, pipelineEngine_inflightCount, core_pipelineEngine_inflightCount).call(this) > 0)) break;
|
|
3436
|
-
pipelineEngine_class_private_field_get(this, _queue).dequeue();
|
|
3437
|
-
batch.push(task);
|
|
3438
|
-
}
|
|
3439
|
-
if (0 === batch.length) return;
|
|
3440
|
-
var now = performance.now();
|
|
3441
|
-
var payload = buildBatchPayload(batch);
|
|
3442
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
3443
|
-
try {
|
|
3444
|
-
for(var _iterator = batch[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
3445
|
-
var task1 = _step.value;
|
|
3446
|
-
task1.startTime = now;
|
|
3447
|
-
}
|
|
3448
|
-
} catch (err) {
|
|
3449
|
-
_didIteratorError = true;
|
|
3450
|
-
_iteratorError = err;
|
|
3451
|
-
} finally{
|
|
3452
|
-
try {
|
|
3453
|
-
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
3454
|
-
} finally{
|
|
3455
|
-
if (_didIteratorError) throw _iteratorError;
|
|
3456
|
-
}
|
|
3457
|
-
}
|
|
3458
|
-
(_$_class_private_field_get = pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks)).push.apply(_$_class_private_field_get, pipelineEngine_to_consumable_array(batch));
|
|
3459
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_scheduleSweep, core_pipelineEngine_scheduleSweep).call(this);
|
|
3460
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_processManager).write(payload);
|
|
3461
|
-
}
|
|
3462
|
-
function core_pipelineEngine_handleParsedValue(raw) {
|
|
3463
|
-
var task = pipelineEngine_class_private_method_get(this, core_pipelineEngine_firstInflight, pipelineEngine_firstInflight).call(this);
|
|
3464
|
-
if (!task) return;
|
|
3465
|
-
if (isSentinelRaw(raw, task.token)) {
|
|
3466
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_shiftInflight, pipelineEngine_shiftInflight).call(this);
|
|
3467
|
-
if (task.timedout) return void pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3468
|
-
if (task.consumerError) {
|
|
3469
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, task.consumerError, void 0);
|
|
3470
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3471
|
-
return;
|
|
3472
|
-
}
|
|
3473
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).add(task);
|
|
3474
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_scheduleFinalizeCheck, pipelineEngine_scheduleFinalizeCheck).call(this);
|
|
3475
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3476
|
-
return;
|
|
3477
|
-
}
|
|
3478
|
-
if ("[]" === raw) return;
|
|
3479
|
-
var parsed;
|
|
3480
|
-
try {
|
|
3481
|
-
parsed = JSON.parse(raw);
|
|
3482
|
-
} catch (error) {
|
|
3483
|
-
this.rejectAll(new Error("Invalid JSON from sqlite3: ".concat(toError(error).message)));
|
|
3484
|
-
return;
|
|
3485
|
-
}
|
|
3486
|
-
if (isSentinelRow(parsed, task.token)) {
|
|
3487
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_shiftInflight, pipelineEngine_shiftInflight).call(this);
|
|
3488
|
-
if (task.timedout) return void pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3489
|
-
if (task.consumerError) {
|
|
3490
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, task.consumerError, void 0);
|
|
3491
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3492
|
-
return;
|
|
3493
|
-
}
|
|
3494
|
-
pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks).add(task);
|
|
3495
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_scheduleFinalizeCheck, pipelineEngine_scheduleFinalizeCheck).call(this);
|
|
3496
|
-
pipelineEngine_class_private_method_get(this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(this);
|
|
3497
|
-
return;
|
|
3498
|
-
}
|
|
3499
|
-
if (task.timedout) return;
|
|
3500
|
-
if ("query" === task.kind) return void collectQueryRows(task, parsed);
|
|
3501
|
-
if ("stream" === task.kind) processStreamRows(task, parsed);
|
|
3824
|
+
pipelineEngine_class_private_field_get(this, pipelineEngine_pump).call(this);
|
|
3502
3825
|
}
|
|
3503
|
-
function
|
|
3826
|
+
function pipelineEngine_afterSentinel(task) {
|
|
3504
3827
|
var _this = this;
|
|
3505
|
-
|
|
3506
|
-
|
|
3507
|
-
setImmediate(function() {
|
|
3508
|
-
pipelineEngine_class_private_field_set(_this, pipelineEngine_scheduledFinalize, false);
|
|
3509
|
-
finalizePendingTasks(pipelineEngine_class_private_field_get(_this, pipelineEngine_pendingFinalizeTasks), function(t, e, v1) {
|
|
3828
|
+
handleSentinelTask(task, {
|
|
3829
|
+
settleTask: function(t, e, v1) {
|
|
3510
3830
|
return pipelineEngine_class_private_method_get(_this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(_this, t, e, v1);
|
|
3511
|
-
},
|
|
3831
|
+
},
|
|
3832
|
+
pendingFinalizeTasks: pipelineEngine_class_private_field_get(this, pipelineEngine_pendingFinalizeTasks),
|
|
3833
|
+
scheduleFinalizeCheck: function() {
|
|
3834
|
+
return pipelineEngine_class_private_field_get(_this, pipelineEngine_scheduleFinalizeCheck).call(_this);
|
|
3835
|
+
},
|
|
3836
|
+
pumpQueue: function() {
|
|
3512
3837
|
return pipelineEngine_class_private_method_get(_this, core_pipelineEngine_pumpQueue, pipelineEngine_pumpQueue).call(_this);
|
|
3513
|
-
});
|
|
3514
|
-
});
|
|
3515
|
-
}
|
|
3516
|
-
function core_pipelineEngine_scheduleSweep() {
|
|
3517
|
-
var _this = this;
|
|
3518
|
-
if (pipelineEngine_class_private_field_get(this, pipelineEngine_sweepTimer)) return;
|
|
3519
|
-
pipelineEngine_class_private_field_set(this, pipelineEngine_sweepTimer, setTimeout(function() {
|
|
3520
|
-
pipelineEngine_class_private_field_set(_this, pipelineEngine_sweepTimer, null);
|
|
3521
|
-
var tasks = pipelineEngine_class_private_field_get(_this, pipelineEngine_inflightTasks);
|
|
3522
|
-
var head = pipelineEngine_class_private_field_get(_this, pipelineEngine_inflightHead);
|
|
3523
|
-
var now = performance.now();
|
|
3524
|
-
for(var i = head; i < tasks.length; i++){
|
|
3525
|
-
var task = tasks[i];
|
|
3526
|
-
if (now - task.startTime > task.timeout) pipelineEngine_class_private_method_get(_this, core_pipelineEngine_handleTaskTimeout, pipelineEngine_handleTaskTimeout).call(_this, task);
|
|
3527
3838
|
}
|
|
3528
|
-
|
|
3529
|
-
}, pipelineEngine_class_private_field_get(this, pipelineEngine_sweepIntervalMs)).unref());
|
|
3530
|
-
}
|
|
3531
|
-
function pipelineEngine_handleTaskTimeout(task) {
|
|
3532
|
-
var _this, _this1;
|
|
3533
|
-
var error = prepareTaskTimeout(task, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics));
|
|
3534
|
-
if (error) {
|
|
3535
|
-
pipelineEngine_class_private_method_get(this, pipelineEngine_settleTask, pipelineEngine_settleTask1).call(this, task, error, void 0);
|
|
3536
|
-
null == (_this = pipelineEngine_class_private_field_get(_this1 = this, _onTaskTimeout)) || _this.call(_this1, task);
|
|
3537
|
-
}
|
|
3839
|
+
});
|
|
3538
3840
|
}
|
|
3539
3841
|
function pipelineEngine_settleTask1(task, error, value) {
|
|
3540
|
-
|
|
3842
|
+
settleUtils_settleTask(task, error, value, pipelineEngine_class_private_field_get(this, pipelineEngine_metrics), {
|
|
3541
3843
|
resetRowParser: true
|
|
3542
3844
|
});
|
|
3543
3845
|
}
|
|
@@ -4044,31 +4346,6 @@ var executor_SQLiteExecutor = /*#__PURE__*/ function() {
|
|
|
4044
4346
|
case 1:
|
|
4045
4347
|
_state.sent();
|
|
4046
4348
|
executor_class_private_field_get(_this, executor_processManager).kill();
|
|
4047
|
-
_state.label = 2;
|
|
4048
|
-
case 2:
|
|
4049
|
-
_state.trys.push([
|
|
4050
|
-
2,
|
|
4051
|
-
4,
|
|
4052
|
-
,
|
|
4053
|
-
5
|
|
4054
|
-
]);
|
|
4055
|
-
return [
|
|
4056
|
-
4,
|
|
4057
|
-
(0, external_node_events_namespaceObject.once)(executor_class_private_field_get(_this, executor_processManager).process, "close")
|
|
4058
|
-
];
|
|
4059
|
-
case 3:
|
|
4060
|
-
_state.sent();
|
|
4061
|
-
return [
|
|
4062
|
-
3,
|
|
4063
|
-
5
|
|
4064
|
-
];
|
|
4065
|
-
case 4:
|
|
4066
|
-
_state.sent();
|
|
4067
|
-
return [
|
|
4068
|
-
3,
|
|
4069
|
-
5
|
|
4070
|
-
];
|
|
4071
|
-
case 5:
|
|
4072
4349
|
return [
|
|
4073
4350
|
2
|
|
4074
4351
|
];
|