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.
@@ -412,6 +412,7 @@ function createRowStreamParser(onRow) {
412
412
  }
413
413
  var TOKEN_COLUMN = "__sqlite_executor_token__";
414
414
  var DEFAULT_BATCH_SIZE = 10;
415
+ var DEFAULT_MAX_INFLIGHT = 50;
415
416
  function stream_check_private_redeclaration(obj, privateCollection) {
416
417
  if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
417
418
  }
@@ -1643,9 +1644,13 @@ function buildPayload(sql, token) {
1643
1644
  var suffix = normalized.endsWith(";") ? "" : ";";
1644
1645
  return "".concat(normalized).concat(suffix, "\nSELECT '").concat(token, "' AS ").concat(TOKEN_COLUMN, ";\n");
1645
1646
  }
1647
+ function isTransactionControl(sql) {
1648
+ var s = sql.trim().toUpperCase();
1649
+ 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 ");
1650
+ }
1646
1651
  function buildBatchPayload(batch) {
1647
1652
  var useWalBatch = batch.length > 1 && batch.every(function(t) {
1648
- return "execute" === t.kind;
1653
+ return "execute" === t.kind && !isTransactionControl(t.sql);
1649
1654
  });
1650
1655
  if (useWalBatch) {
1651
1656
  var parts = [
@@ -1864,12 +1869,12 @@ function taskWorker_unsupported_iterable_to_array(o, minLen) {
1864
1869
  if ("Map" === n || "Set" === n) return Array.from(n);
1865
1870
  if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return taskWorker_array_like_to_array(o, minLen);
1866
1871
  }
1867
- 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();
1872
+ 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();
1868
1873
  var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1869
1874
  "use strict";
1870
1875
  function TaskWorker(param) {
1871
1876
  var _this = this;
1872
- 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;
1877
+ 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;
1873
1878
  taskWorker_class_call_check(this, TaskWorker);
1874
1879
  taskWorker_class_private_method_init(this, _startProcess);
1875
1880
  taskWorker_class_private_method_init(this, _pumpQueue);
@@ -1919,6 +1924,10 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1919
1924
  writable: true,
1920
1925
  value: void 0
1921
1926
  });
1927
+ taskWorker_class_private_field_init(this, _maxInflight, {
1928
+ writable: true,
1929
+ value: void 0
1930
+ });
1922
1931
  taskWorker_class_private_field_init(this, _metrics, {
1923
1932
  writable: true,
1924
1933
  value: void 0
@@ -1927,6 +1936,7 @@ var taskWorker_TaskWorker = /*#__PURE__*/ function() {
1927
1936
  taskWorker_class_private_field_set(this, _statementTimeout, statementTimeout);
1928
1937
  taskWorker_class_private_field_set(this, _logger, logger);
1929
1938
  taskWorker_class_private_field_set(this, _batchSize, batchSize);
1939
+ taskWorker_class_private_field_set(this, _maxInflight, maxInflight);
1930
1940
  taskWorker_class_private_field_set(this, _metrics, metrics);
1931
1941
  taskWorker_class_private_field_set(this, _processManager, new process_ProcessManager({
1932
1942
  binary: binary,
@@ -2016,8 +2026,9 @@ function startProcess() {
2016
2026
  function pumpQueue() {
2017
2027
  var _this = this;
2018
2028
  var _$_class_private_field_get;
2029
+ if (taskWorker_class_private_field_get(this, _inflightTasks).length >= taskWorker_class_private_field_get(this, _maxInflight)) return;
2019
2030
  var batch = [];
2020
- while(batch.length < taskWorker_class_private_field_get(this, _batchSize) && !taskWorker_class_private_field_get(this, _pendingQueue).isEmpty()){
2031
+ 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)){
2021
2032
  var task = taskWorker_class_private_field_get(this, _pendingQueue).peek();
2022
2033
  if ("stream" === task.kind && (batch.length > 0 || taskWorker_class_private_field_get(this, _inflightTasks).length > 0)) break;
2023
2034
  taskWorker_class_private_field_get(this, _pendingQueue).dequeue();
@@ -2898,12 +2909,12 @@ function pipelineEngine_unsupported_iterable_to_array(o, minLen) {
2898
2909
  if ("Map" === n || "Set" === n) return Array.from(n);
2899
2910
  if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return pipelineEngine_array_like_to_array(o, minLen);
2900
2911
  }
2901
- 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();
2912
+ 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();
2902
2913
  var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
2903
2914
  "use strict";
2904
2915
  function PipelineEngine(processManager, param) {
2905
2916
  var _this = this;
2906
- 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;
2917
+ 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;
2907
2918
  pipelineEngine_class_call_check(this, PipelineEngine);
2908
2919
  pipelineEngine_class_private_method_init(this, core_pipelineEngine_pumpQueue);
2909
2920
  pipelineEngine_class_private_method_init(this, pipelineEngine_handleParsedValue);
@@ -2949,6 +2960,10 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
2949
2960
  writable: true,
2950
2961
  value: void 0
2951
2962
  });
2963
+ pipelineEngine_class_private_field_init(this, pipelineEngine_maxInflight, {
2964
+ writable: true,
2965
+ value: void 0
2966
+ });
2952
2967
  pipelineEngine_class_private_field_init(this, _onTaskTimeout, {
2953
2968
  writable: true,
2954
2969
  value: void 0
@@ -2962,6 +2977,7 @@ var pipelineEngine_PipelineEngine = /*#__PURE__*/ function() {
2962
2977
  pipelineEngine_class_private_field_set(this, pipelineEngine_statementTimeout, statementTimeout);
2963
2978
  pipelineEngine_class_private_field_set(this, pipelineEngine_logger, logger);
2964
2979
  pipelineEngine_class_private_field_set(this, pipelineEngine_batchSize, batchSize);
2980
+ pipelineEngine_class_private_field_set(this, pipelineEngine_maxInflight, maxInflight);
2965
2981
  pipelineEngine_class_private_field_set(this, _onTaskTimeout, null != onTaskTimeout ? onTaskTimeout : function() {});
2966
2982
  pipelineEngine_class_private_field_set(this, _sharedValueParser, createJsonValueParser(function(raw) {
2967
2983
  return pipelineEngine_class_private_method_get(_this, pipelineEngine_handleParsedValue, core_pipelineEngine_handleParsedValue).call(_this, raw);
@@ -3098,8 +3114,9 @@ function pipelineEngine_pumpQueue() {
3098
3114
  var _this = this;
3099
3115
  var _$_class_private_field_get;
3100
3116
  if (!pipelineEngine_class_private_field_get(this, _active)) return;
3117
+ if (pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length >= pipelineEngine_class_private_field_get(this, pipelineEngine_maxInflight)) return;
3101
3118
  var batch = [];
3102
- while(batch.length < pipelineEngine_class_private_field_get(this, pipelineEngine_batchSize) && !pipelineEngine_class_private_field_get(this, _queue).isEmpty()){
3119
+ 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)){
3103
3120
  var task = pipelineEngine_class_private_field_get(this, _queue).peek();
3104
3121
  if ("stream" === task.kind && (batch.length > 0 || pipelineEngine_class_private_field_get(this, pipelineEngine_inflightTasks).length > 0)) break;
3105
3122
  pipelineEngine_class_private_field_get(this, _queue).dequeue();