sqlite-executor 4.0.1 → 4.0.2

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.
@@ -465,6 +465,7 @@ function createRowStreamParser(onRow) {
465
465
  }
466
466
  var TOKEN_COLUMN = "__sqlite_executor_token__";
467
467
  var DEFAULT_BATCH_SIZE = 10;
468
+ var DEFAULT_MAX_INFLIGHT = 50;
468
469
  function stream_check_private_redeclaration(obj, privateCollection) {
469
470
  if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
470
471
  }
@@ -1703,9 +1704,13 @@ function buildPayload(sql, token) {
1703
1704
  var suffix = normalized.endsWith(";") ? "" : ";";
1704
1705
  return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
1705
1706
  }
1707
+ function isTransactionControl(sql) {
1708
+ var s = sql.trim().toUpperCase();
1709
+ return "BEGIN" === s || "BEGIN TRANSACTION" === s || "COMMIT" === s || "COMMIT TRANSACTION" === s || "ROLLBACK" === s || "ROLLBACK TRANSACTION" === s || s.startsWith("BEGIN ") || s.startsWith("COMMIT ") || s.startsWith("ROLLBACK ");
1710
+ }
1706
1711
  function buildBatchPayload(batch) {
1707
1712
  var useWalBatch = batch.length > 1 && batch.every(function(t) {
1708
- return "execute" === t.kind;
1713
+ return "execute" === t.kind && !isTransactionControl(t.sql);
1709
1714
  });
1710
1715
  if (useWalBatch) {
1711
1716
  var parts = [
@@ -1924,12 +1929,12 @@ function taskWorker_unsupported_iterable_to_array(o, minLen) {
1924
1929
  if ("Map" === n || "Set" === n) return Array.from(n);
1925
1930
  if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return taskWorker_array_like_to_array(o, minLen);
1926
1931
  }
1927
- var _processManager = /*#__PURE__*/ new WeakMap(), _pendingQueue = /*#__PURE__*/ new WeakMap(), _inflightTasks = /*#__PURE__*/ new WeakMap(), _pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _scheduledFinalize = /*#__PURE__*/ new WeakMap(), _valueParser = /*#__PURE__*/ new WeakMap(), _statementTimeout = /*#__PURE__*/ new WeakMap(), _logger = /*#__PURE__*/ new WeakMap(), _name = /*#__PURE__*/ new WeakMap(), _batchSize = /*#__PURE__*/ new WeakMap(), _metrics = /*#__PURE__*/ new WeakMap(), _startProcess = /*#__PURE__*/ new WeakSet(), _pumpQueue = /*#__PURE__*/ new WeakSet(), _handleParsedValue = /*#__PURE__*/ new WeakSet(), _scheduleFinalizeCheck = /*#__PURE__*/ new WeakSet(), _handleStderrChunk = /*#__PURE__*/ new WeakSet(), _handleTaskTimeout = /*#__PURE__*/ new WeakSet(), _settleTask = /*#__PURE__*/ new WeakSet(), _rejectAll = /*#__PURE__*/ new WeakSet();
1932
+ var _processManager = /*#__PURE__*/ new WeakMap(), _pendingQueue = /*#__PURE__*/ new WeakMap(), _inflightTasks = /*#__PURE__*/ new WeakMap(), _pendingFinalizeTasks = /*#__PURE__*/ new WeakMap(), _scheduledFinalize = /*#__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(), _startProcess = /*#__PURE__*/ new WeakSet(), _pumpQueue = /*#__PURE__*/ new WeakSet(), _handleParsedValue = /*#__PURE__*/ new WeakSet(), _scheduleFinalizeCheck = /*#__PURE__*/ new WeakSet(), _handleStderrChunk = /*#__PURE__*/ new WeakSet(), _handleTaskTimeout = /*#__PURE__*/ new WeakSet(), _settleTask = /*#__PURE__*/ new WeakSet(), _rejectAll = /*#__PURE__*/ new WeakSet();
1928
1933
  var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1929
1934
  "use strict";
1930
1935
  function TaskWorker(param) {
1931
1936
  var _this = this;
1932
- 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, metrics = param.metrics;
1937
+ 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;
1933
1938
  taskWorker_class_call_check(this, TaskWorker);
1934
1939
  taskWorker_class_private_method_init(this, _startProcess);
1935
1940
  taskWorker_class_private_method_init(this, _pumpQueue);
@@ -1979,6 +1984,10 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1979
1984
  writable: true,
1980
1985
  value: void 0
1981
1986
  });
1987
+ taskWorker_class_private_field_init(this, _maxInflight, {
1988
+ writable: true,
1989
+ value: void 0
1990
+ });
1982
1991
  taskWorker_class_private_field_init(this, _metrics, {
1983
1992
  writable: true,
1984
1993
  value: void 0
@@ -1987,6 +1996,7 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1987
1996
  taskWorker_class_private_field_set(this, _statementTimeout, statementTimeout);
1988
1997
  taskWorker_class_private_field_set(this, _logger, logger);
1989
1998
  taskWorker_class_private_field_set(this, _batchSize, batchSize);
1999
+ taskWorker_class_private_field_set(this, _maxInflight, maxInflight);
1990
2000
  taskWorker_class_private_field_set(this, _metrics, metrics);
1991
2001
  taskWorker_class_private_field_set(this, _processManager, new process_ProcessManager({
1992
2002
  binary: binary,
@@ -2076,8 +2086,9 @@ function startProcess() {
2076
2086
  function pumpQueue() {
2077
2087
  var _this = this;
2078
2088
  var _$_class_private_field_get;
2089
+ if (taskWorker_class_private_field_get(this, _inflightTasks).length >= taskWorker_class_private_field_get(this, _maxInflight)) return;
2079
2090
  var batch = [];
2080
- while(batch.length < taskWorker_class_private_field_get(this, _batchSize) && !taskWorker_class_private_field_get(this, _pendingQueue).isEmpty()){
2091
+ while(batch.length < taskWorker_class_private_field_get(this, _batchSize) && !taskWorker_class_private_field_get(this, _pendingQueue).isEmpty() && taskWorker_class_private_field_get(this, _inflightTasks).length + batch.length < taskWorker_class_private_field_get(this, _maxInflight)){
2081
2092
  var task = taskWorker_class_private_field_get(this, _pendingQueue).peek();
2082
2093
  if ("stream" === task.kind && (batch.length > 0 || taskWorker_class_private_field_get(this, _inflightTasks).length > 0)) break;
2083
2094
  taskWorker_class_private_field_get(this, _pendingQueue).dequeue();
@@ -2958,12 +2969,12 @@ function pipelineEngine_unsupported_iterable_to_array(o, minLen) {
2958
2969
  if ("Map" === n || "Set" === n) return Array.from(n);
2959
2970
  if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineEngine_array_like_to_array(o, minLen);
2960
2971
  }
2961
- var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflightTasks = /*#__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(), _onTaskTimeout = /*#__PURE__*/ new WeakMap(), _active = /*#__PURE__*/ new WeakMap(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), pipelineEngine_handleParsedValue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
2972
+ var _queue = /*#__PURE__*/ new WeakMap(), pipelineEngine_inflightTasks = /*#__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(), core_pipelineEngine_pumpQueue = /*#__PURE__*/ new WeakSet(), pipelineEngine_handleParsedValue = /*#__PURE__*/ new WeakSet(), core_pipelineEngine_scheduleFinalizeCheck = /*#__PURE__*/ new WeakSet(), pipelineEngine_settleTask = /*#__PURE__*/ new WeakSet();
2962
2973
  var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
2963
2974
  "use strict";
2964
2975
  function PipelineEngine(processManager, param) {
2965
2976
  var _this = this;
2966
- var metrics = param.metrics, statementTimeout = param.statementTimeout, logger = param.logger, _param_batchSize = param.batchSize, batchSize = void 0 === _param_batchSize ? DEFAULT_BATCH_SIZE : _param_batchSize, onTaskTimeout = param.onTaskTimeout;
2977
+ 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;
2967
2978
  pipelineEngine_class_call_check(this, PipelineEngine);
2968
2979
  pipelineEngine_class_private_method_init(this, core_pipelineEngine_pumpQueue);
2969
2980
  pipelineEngine_class_private_method_init(this, pipelineEngine_handleParsedValue);
@@ -3009,6 +3020,10 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
3009
3020
  writable: true,
3010
3021
  value: void 0
3011
3022
  });
3023
+ pipelineEngine_class_private_field_init(this, pipelineEngine_maxInflight, {
3024
+ writable: true,
3025
+ value: void 0
3026
+ });
3012
3027
  pipelineEngine_class_private_field_init(this, _onTaskTimeout, {
3013
3028
  writable: true,
3014
3029
  value: void 0
@@ -3022,6 +3037,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
3022
3037
  pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
3023
3038
  pipelineEngine_class_private_field_set(this, pipelineEngine_logger, logger);
3024
3039
  pipelineEngine_class_private_field_set(this, pipelineEngine_batchSize, batchSize);
3040
+ pipelineEngine_class_private_field_set(this, pipelineEngine_maxInflight, maxInflight);
3025
3041
  pipelineEngine_class_private_field_set(this, _onTaskTimeout, null != onTaskTimeout ? onTaskTimeout : function() {});
3026
3042
  pipelineEngine_class_private_field_set(this, _sharedValueParser, createJsonValueParser(function(raw) {
3027
3043
  return pipelineEngine_class_private_method_get(_this, pipelineEngine_handleParsedValue, core_pipelineEngine_handleParsedValue).call(_this, raw);
@@ -3158,8 +3174,9 @@ function pipelineEngine_pumpQueue() {
3158
3174
  var _this = this;
3159
3175
  var _$_class_private_field_get;
3160
3176
  if (!pipelineEngine_class_private_field_get(this, _active)) return;
3177
+ if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length >= pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)) return;
3161
3178
  var batch = [];
3162
- while(batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize) && !pipelineEngine_class_private_field_get(this, _queue).isEmpty()){
3179
+ while(batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize) && !pipelineEngine_class_private_field_get(this, _queue).isEmpty() && pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length + batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)){
3163
3180
  var task = pipelineEngine_class_private_field_get(this, _queue).peek();
3164
3181
  if ("stream" === task.kind && (batch.length > 0 || pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length > 0)) break;
3165
3182
  pipelineEngine_class_private_field_get(this, _queue).dequeue();