@quereus/quereus 3.1.1 → 3.2.1

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.
Files changed (177) hide show
  1. package/dist/src/core/database-assertions.js +3 -3
  2. package/dist/src/core/database-assertions.js.map +1 -1
  3. package/dist/src/core/database.d.ts +17 -3
  4. package/dist/src/core/database.d.ts.map +1 -1
  5. package/dist/src/core/database.js +79 -6
  6. package/dist/src/core/database.js.map +1 -1
  7. package/dist/src/core/statement.js +3 -3
  8. package/dist/src/core/statement.js.map +1 -1
  9. package/dist/src/emit/ast-stringify.d.ts +0 -1
  10. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  11. package/dist/src/emit/ast-stringify.js +187 -78
  12. package/dist/src/emit/ast-stringify.js.map +1 -1
  13. package/dist/src/index.d.ts +2 -1
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +1 -0
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/parser/ast.d.ts +0 -4
  18. package/dist/src/parser/ast.d.ts.map +1 -1
  19. package/dist/src/parser/parser.d.ts +9 -1
  20. package/dist/src/parser/parser.d.ts.map +1 -1
  21. package/dist/src/parser/parser.js +33 -20
  22. package/dist/src/parser/parser.js.map +1 -1
  23. package/dist/src/parser/visitor.js +1 -1
  24. package/dist/src/parser/visitor.js.map +1 -1
  25. package/dist/src/planner/analysis/attribute-provenance.d.ts +45 -0
  26. package/dist/src/planner/analysis/attribute-provenance.d.ts.map +1 -0
  27. package/dist/src/planner/analysis/attribute-provenance.js +81 -0
  28. package/dist/src/planner/analysis/attribute-provenance.js.map +1 -0
  29. package/dist/src/planner/analysis/const-evaluator.js +5 -5
  30. package/dist/src/planner/analysis/const-evaluator.js.map +1 -1
  31. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  32. package/dist/src/planner/building/select-window.js +54 -21
  33. package/dist/src/planner/building/select-window.js.map +1 -1
  34. package/dist/src/planner/cache/correlation-detector.d.ts +7 -0
  35. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  36. package/dist/src/planner/cache/correlation-detector.js +34 -2
  37. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  38. package/dist/src/planner/nodes/async-gather-node.d.ts +169 -0
  39. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -0
  40. package/dist/src/planner/nodes/async-gather-node.js +488 -0
  41. package/dist/src/planner/nodes/async-gather-node.js.map +1 -0
  42. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  43. package/dist/src/planner/nodes/bloom-join-node.js +8 -7
  44. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  45. package/dist/src/planner/nodes/eager-prefetch-node.d.ts +47 -0
  46. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -0
  47. package/dist/src/planner/nodes/eager-prefetch-node.js +96 -0
  48. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -0
  49. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +150 -0
  50. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -0
  51. package/dist/src/planner/nodes/fanout-lookup-join-node.js +265 -0
  52. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -0
  53. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  54. package/dist/src/planner/nodes/merge-join-node.js +8 -7
  55. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  56. package/dist/src/planner/nodes/plan-node-type.d.ts +3 -0
  57. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  58. package/dist/src/planner/nodes/plan-node-type.js +3 -0
  59. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  60. package/dist/src/planner/nodes/plan-node.d.ts +36 -0
  61. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  62. package/dist/src/planner/nodes/plan-node.js +26 -0
  63. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  64. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  65. package/dist/src/planner/nodes/reference.js +36 -1
  66. package/dist/src/planner/nodes/reference.js.map +1 -1
  67. package/dist/src/planner/optimizer-tuning.d.ts +107 -0
  68. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  69. package/dist/src/planner/optimizer-tuning.js +43 -0
  70. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  71. package/dist/src/planner/optimizer.d.ts.map +1 -1
  72. package/dist/src/planner/optimizer.js +91 -0
  73. package/dist/src/planner/optimizer.js.map +1 -1
  74. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  75. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +1 -6
  76. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  77. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +74 -0
  78. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -0
  79. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +139 -0
  80. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -0
  81. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +58 -0
  82. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -0
  83. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +592 -0
  84. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -0
  85. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts +43 -0
  86. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -0
  87. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +115 -0
  88. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -0
  89. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts +102 -0
  90. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -0
  91. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +545 -0
  92. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -0
  93. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts +45 -0
  94. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -0
  95. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +78 -0
  96. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -0
  97. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  98. package/dist/src/planner/scopes/param.js +13 -11
  99. package/dist/src/planner/scopes/param.js.map +1 -1
  100. package/dist/src/planner/type-utils.js +1 -1
  101. package/dist/src/planner/type-utils.js.map +1 -1
  102. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  103. package/dist/src/planner/validation/plan-validator.js +17 -19
  104. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  105. package/dist/src/runtime/async-semaphore.d.ts +36 -0
  106. package/dist/src/runtime/async-semaphore.d.ts.map +1 -0
  107. package/dist/src/runtime/async-semaphore.js +72 -0
  108. package/dist/src/runtime/async-semaphore.js.map +1 -0
  109. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  110. package/dist/src/runtime/deferred-constraint-queue.js +4 -3
  111. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  112. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  113. package/dist/src/runtime/emit/add-constraint.js +51 -37
  114. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  115. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  116. package/dist/src/runtime/emit/alter-table.js +0 -2
  117. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  118. package/dist/src/runtime/emit/async-gather.d.ts +77 -0
  119. package/dist/src/runtime/emit/async-gather.d.ts.map +1 -0
  120. package/dist/src/runtime/emit/async-gather.js +234 -0
  121. package/dist/src/runtime/emit/async-gather.js.map +1 -0
  122. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  123. package/dist/src/runtime/emit/bloom-join.js +38 -17
  124. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  125. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  126. package/dist/src/runtime/emit/dml-executor.js +12 -52
  127. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  128. package/dist/src/runtime/emit/eager-prefetch.d.ts +77 -0
  129. package/dist/src/runtime/emit/eager-prefetch.d.ts.map +1 -0
  130. package/dist/src/runtime/emit/eager-prefetch.js +223 -0
  131. package/dist/src/runtime/emit/eager-prefetch.js.map +1 -0
  132. package/dist/src/runtime/emit/fanout-lookup-join.d.ts +130 -0
  133. package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -0
  134. package/dist/src/runtime/emit/fanout-lookup-join.js +521 -0
  135. package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -0
  136. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  137. package/dist/src/runtime/emit/schema-declarative.js +28 -2
  138. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  139. package/dist/src/runtime/emit/transaction.d.ts.map +1 -1
  140. package/dist/src/runtime/emit/transaction.js +4 -22
  141. package/dist/src/runtime/emit/transaction.js.map +1 -1
  142. package/dist/src/runtime/parallel-driver.d.ts +68 -0
  143. package/dist/src/runtime/parallel-driver.d.ts.map +1 -0
  144. package/dist/src/runtime/parallel-driver.js +233 -0
  145. package/dist/src/runtime/parallel-driver.js.map +1 -0
  146. package/dist/src/runtime/register.d.ts.map +1 -1
  147. package/dist/src/runtime/register.js +9 -0
  148. package/dist/src/runtime/register.js.map +1 -1
  149. package/dist/src/runtime/strict-fork.d.ts +36 -0
  150. package/dist/src/runtime/strict-fork.d.ts.map +1 -0
  151. package/dist/src/runtime/strict-fork.js +125 -0
  152. package/dist/src/runtime/strict-fork.js.map +1 -0
  153. package/dist/src/schema/manager.d.ts.map +1 -1
  154. package/dist/src/schema/manager.js +0 -4
  155. package/dist/src/schema/manager.js.map +1 -1
  156. package/dist/src/util/comparison.d.ts.map +1 -1
  157. package/dist/src/util/comparison.js +11 -1
  158. package/dist/src/util/comparison.js.map +1 -1
  159. package/dist/src/vtab/capabilities.d.ts +26 -0
  160. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  161. package/dist/src/vtab/concurrency.d.ts +29 -0
  162. package/dist/src/vtab/concurrency.d.ts.map +1 -0
  163. package/dist/src/vtab/concurrency.js +47 -0
  164. package/dist/src/vtab/concurrency.js.map +1 -0
  165. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  166. package/dist/src/vtab/memory/layer/scan-layer.js +67 -29
  167. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  168. package/dist/src/vtab/memory/module.d.ts +21 -0
  169. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  170. package/dist/src/vtab/memory/module.js +23 -0
  171. package/dist/src/vtab/memory/module.js.map +1 -1
  172. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  173. package/dist/src/vtab/memory/table.js +2 -0
  174. package/dist/src/vtab/memory/table.js.map +1 -1
  175. package/dist/src/vtab/module.d.ts +51 -1
  176. package/dist/src/vtab/module.d.ts.map +1 -1
  177. package/package.json +4 -3
@@ -30,14 +30,7 @@ export function emitTransaction(plan, _ctx) {
30
30
  const savepointName = plan.savepoint;
31
31
  run = async (rctx) => {
32
32
  log(`ROLLBACK TO SAVEPOINT ${savepointName}`);
33
- // TransactionManager validates the name and rolls back change/event layers.
34
- // Returns the depth index that connections should roll back to.
35
- const targetDepth = rctx.db._rollbackToSavepoint(savepointName);
36
- // Roll back each connection to the target savepoint depth
37
- const connections = rctx.db.getAllConnections();
38
- for (const connection of connections) {
39
- await connection.rollbackToSavepoint(targetDepth);
40
- }
33
+ await rctx.db._rollbackToSavepointBroadcast(savepointName);
41
34
  return null;
42
35
  };
43
36
  note = `ROLLBACK TO SAVEPOINT ${plan.savepoint}`;
@@ -63,13 +56,8 @@ export function emitTransaction(plan, _ctx) {
63
56
  // Upgrade implicit transaction to explicit - savepoints mean the user
64
57
  // wants transaction control, so we shouldn't auto-commit
65
58
  rctx.db._upgradeToExplicitTransaction();
66
- // TransactionManager tracks the name and creates change/event layers
67
- const depth = rctx.db._createSavepoint(savepointName);
68
- const connections = rctx.db.getAllConnections();
69
- log(`SAVEPOINT ${savepointName} (depth ${depth}): ${connections.length} connections`);
70
- for (const connection of connections) {
71
- await connection.createSavepoint(depth);
72
- }
59
+ const depth = await rctx.db._createSavepointBroadcast(savepointName);
60
+ log(`SAVEPOINT ${savepointName} (depth ${depth})`);
73
61
  return null;
74
62
  };
75
63
  note = `SAVEPOINT ${plan.savepoint}`;
@@ -82,13 +70,7 @@ export function emitTransaction(plan, _ctx) {
82
70
  const savepointName = plan.savepoint;
83
71
  run = async (rctx) => {
84
72
  log(`RELEASE SAVEPOINT ${savepointName}`);
85
- // TransactionManager validates the name and releases change/event layers
86
- const targetDepth = rctx.db._releaseSavepoint(savepointName);
87
- // Release each connection's savepoint at the target depth
88
- const connections = rctx.db.getAllConnections();
89
- for (const connection of connections) {
90
- await connection.releaseSavepoint(targetDepth);
91
- }
73
+ await rctx.db._releaseSavepointBroadcast(savepointName);
92
74
  return null;
93
75
  };
94
76
  note = `RELEASE SAVEPOINT ${plan.savepoint}`;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../src/runtime/emit/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../../src/runtime/emit/transaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { RuntimeContext } from './types.js';
2
+ import { bumpParentForkCounter, dropParentForkCounter } from './strict-fork.js';
3
+ /**
4
+ * Strict-fork bookkeeping helpers, re-exported for consumers that use
5
+ * {@link ParallelDriver.fork} directly without going through {@link ParallelDriver.drive}.
6
+ * Manual users are responsible for calling these around the fork's lifetime.
7
+ */
8
+ export { bumpParentForkCounter, dropParentForkCounter };
9
+ /**
10
+ * Options controlling {@link ParallelDriver.drive} execution.
11
+ */
12
+ export interface ParallelDriveOptions {
13
+ /** Maximum number of concurrently-active branches. Defaults to `factories.length`. */
14
+ concurrency?: number;
15
+ /** Cooperative cancellation. Firing aborts all branches. */
16
+ signal?: AbortSignal;
17
+ }
18
+ /** Pair yielded by {@link ParallelDriver.drive}: a value plus the branch index that produced it. */
19
+ export interface ParallelDriveItem<T> {
20
+ readonly branch: number;
21
+ readonly value: T;
22
+ }
23
+ /**
24
+ * Runtime helper that forks a {@link RuntimeContext} into N independent child views
25
+ * and drives N branch factories concurrently with bounded concurrency and cooperative
26
+ * cancellation.
27
+ *
28
+ * This is a foundation primitive — it has no SQL/plan-node consumers yet. Combinator
29
+ * choice (gather, merge-by-key, zip, lookup-join, ...) is left to downstream nodes;
30
+ * {@link drive} yields `{ branch, value }` pairs in arrival order so a consumer can
31
+ * impose whatever combinator it needs on top.
32
+ */
33
+ export declare class ParallelDriver {
34
+ /**
35
+ * Fork `rctx` into `n` independent child views.
36
+ *
37
+ * Each child receives:
38
+ * - an **independent** {@link RowContextMap} seeded with a snapshot of the parent's
39
+ * entries — writes (e.g. via `createRowSlot`) in one fork do not leak to siblings
40
+ * or to the parent;
41
+ * - an **independent** `tableContexts` map seeded with a shallow snapshot of the
42
+ * parent's entries — set/delete in one fork do not leak to siblings or parent;
43
+ * - **shared** references to read-mostly state: `db`, `stmt`, `params`,
44
+ * `enableMetrics`, `tracer`, `activeConnection`, `contextTracker`, `planStack`.
45
+ *
46
+ * The parent is treated as immutable for the lifetime of the forks.
47
+ */
48
+ fork(rctx: RuntimeContext, n: number): RuntimeContext[];
49
+ /**
50
+ * Drive `factories` concurrently, each invoked with its paired fork from `forks`,
51
+ * and yield every produced value as `{ branch, value }` in arrival order.
52
+ *
53
+ * Concurrency is capped at `opts.concurrency` (default: `factories.length`); a
54
+ * new branch is started only when an in-flight branch completes.
55
+ *
56
+ * If any branch's iterator throws, the original error is re-raised after every
57
+ * other in-flight iterator has been best-effort `return()`-closed.
58
+ *
59
+ * Cancellation is cooperative via `opts.signal`:
60
+ * - A pre-aborted signal causes `drive()` to throw before any factory is invoked.
61
+ * - An abort fired mid-stream interrupts the next race step, then closes branches.
62
+ *
63
+ * When the consumer breaks out of the `for-await` loop, the async generator's
64
+ * `return()` runs the same close-all path on every active branch.
65
+ */
66
+ drive<T>(factories: ReadonlyArray<(ctx: RuntimeContext) => AsyncIterable<T>>, forks: ReadonlyArray<RuntimeContext>, opts?: ParallelDriveOptions): AsyncIterable<ParallelDriveItem<T>>;
67
+ }
68
+ //# sourceMappingURL=parallel-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-driver.d.ts","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAIN,qBAAqB,EACrB,qBAAqB,EAErB,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oGAAoG;AACpG,MAAM,WAAW,iBAAiB,CAAC,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,qBAAa,cAAc;IAC1B;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAoCvD;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,CAAC,EACN,SAAS,EAAE,aAAa,CAAC,CAAC,GAAG,EAAE,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EACnE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EACpC,IAAI,CAAC,EAAE,oBAAoB,GACzB,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAQtC"}
@@ -0,0 +1,233 @@
1
+ import { RowContextMap } from './context-helpers.js';
2
+ import { createStrictRowContextMap, wrapTableContextsStrict, markForkOf, bumpParentForkCounter, dropParentForkCounter, strictForkEnabled, } from './strict-fork.js';
3
+ /**
4
+ * Strict-fork bookkeeping helpers, re-exported for consumers that use
5
+ * {@link ParallelDriver.fork} directly without going through {@link ParallelDriver.drive}.
6
+ * Manual users are responsible for calling these around the fork's lifetime.
7
+ */
8
+ export { bumpParentForkCounter, dropParentForkCounter };
9
+ /**
10
+ * Runtime helper that forks a {@link RuntimeContext} into N independent child views
11
+ * and drives N branch factories concurrently with bounded concurrency and cooperative
12
+ * cancellation.
13
+ *
14
+ * This is a foundation primitive — it has no SQL/plan-node consumers yet. Combinator
15
+ * choice (gather, merge-by-key, zip, lookup-join, ...) is left to downstream nodes;
16
+ * {@link drive} yields `{ branch, value }` pairs in arrival order so a consumer can
17
+ * impose whatever combinator it needs on top.
18
+ */
19
+ export class ParallelDriver {
20
+ /**
21
+ * Fork `rctx` into `n` independent child views.
22
+ *
23
+ * Each child receives:
24
+ * - an **independent** {@link RowContextMap} seeded with a snapshot of the parent's
25
+ * entries — writes (e.g. via `createRowSlot`) in one fork do not leak to siblings
26
+ * or to the parent;
27
+ * - an **independent** `tableContexts` map seeded with a shallow snapshot of the
28
+ * parent's entries — set/delete in one fork do not leak to siblings or parent;
29
+ * - **shared** references to read-mostly state: `db`, `stmt`, `params`,
30
+ * `enableMetrics`, `tracer`, `activeConnection`, `contextTracker`, `planStack`.
31
+ *
32
+ * The parent is treated as immutable for the lifetime of the forks.
33
+ */
34
+ fork(rctx, n) {
35
+ if (n < 0 || !Number.isInteger(n)) {
36
+ throw new RangeError(`ParallelDriver.fork: n must be a non-negative integer, got ${n}`);
37
+ }
38
+ const strict = strictForkEnabled();
39
+ const forks = new Array(n);
40
+ for (let i = 0; i < n; i++) {
41
+ // Fresh per-fork maps. Under strict mode the maps are wrapped so they
42
+ // can themselves serve as parents for sub-forks; the seed loop runs
43
+ // before any sub-fork is active, so the wrapper's guard passes naturally.
44
+ const childContext = strict ? createStrictRowContextMap() : new RowContextMap();
45
+ for (const [desc, getter] of rctx.context.entries()) {
46
+ childContext.set(desc, getter);
47
+ }
48
+ const childTableContextsRaw = new Map(rctx.tableContexts);
49
+ const childTableContexts = strict ? wrapTableContextsStrict(childTableContextsRaw) : childTableContextsRaw;
50
+ forks[i] = {
51
+ db: rctx.db,
52
+ stmt: rctx.stmt,
53
+ params: rctx.params,
54
+ context: childContext,
55
+ tableContexts: childTableContexts,
56
+ tracer: rctx.tracer,
57
+ activeConnection: rctx.activeConnection,
58
+ enableMetrics: rctx.enableMetrics,
59
+ contextTracker: rctx.contextTracker,
60
+ planStack: rctx.planStack,
61
+ };
62
+ if (strict) {
63
+ markForkOf(childTableContexts, rctx.tableContexts);
64
+ markForkOf(childContext, rctx.context);
65
+ }
66
+ }
67
+ return forks;
68
+ }
69
+ /**
70
+ * Drive `factories` concurrently, each invoked with its paired fork from `forks`,
71
+ * and yield every produced value as `{ branch, value }` in arrival order.
72
+ *
73
+ * Concurrency is capped at `opts.concurrency` (default: `factories.length`); a
74
+ * new branch is started only when an in-flight branch completes.
75
+ *
76
+ * If any branch's iterator throws, the original error is re-raised after every
77
+ * other in-flight iterator has been best-effort `return()`-closed.
78
+ *
79
+ * Cancellation is cooperative via `opts.signal`:
80
+ * - A pre-aborted signal causes `drive()` to throw before any factory is invoked.
81
+ * - An abort fired mid-stream interrupts the next race step, then closes branches.
82
+ *
83
+ * When the consumer breaks out of the `for-await` loop, the async generator's
84
+ * `return()` runs the same close-all path on every active branch.
85
+ */
86
+ drive(factories, forks, opts) {
87
+ if (factories.length !== forks.length) {
88
+ throw new RangeError(`ParallelDriver.drive: factories.length (${factories.length}) !== forks.length (${forks.length})`);
89
+ }
90
+ return driveImpl(factories, forks, opts);
91
+ }
92
+ }
93
+ const ABORT_SENTINEL = Symbol('quereus.parallel-driver.abort');
94
+ async function* driveImpl(factories, forks, opts) {
95
+ const signal = opts?.signal;
96
+ // Pre-aborted: throw before invoking any factory.
97
+ if (signal?.aborted) {
98
+ throw signalReason(signal);
99
+ }
100
+ if (factories.length === 0)
101
+ return;
102
+ // Strict-fork bookkeeping (no-op outside strict mode). All forks share the
103
+ // same parent, so reading the first fork's back-reference is sufficient.
104
+ const parentTableState = forks.length > 0 ? bumpParentForkCounter(forks[0].tableContexts) : null;
105
+ const parentRowState = forks.length > 0 ? bumpParentForkCounter(forks[0].context) : null;
106
+ const concurrency = Math.max(1, opts?.concurrency ?? factories.length);
107
+ const branchCount = factories.length;
108
+ const iterators = new Array(branchCount).fill(null);
109
+ const branchStates = new Array(branchCount).fill('not-started');
110
+ const pendingPulls = new Map();
111
+ let nextToStart = 0;
112
+ let activePulling = 0;
113
+ let aborted = false;
114
+ let abortReason = undefined;
115
+ // Build a never-rejecting promise that resolves to ABORT_SENTINEL on signal abort.
116
+ let onAbort = null;
117
+ const abortPromise = new Promise((resolve) => {
118
+ if (!signal)
119
+ return; // never resolves — fine inside Promise.race
120
+ onAbort = () => {
121
+ if (!aborted) {
122
+ aborted = true;
123
+ abortReason = signalReason(signal);
124
+ }
125
+ resolve(ABORT_SENTINEL);
126
+ };
127
+ signal.addEventListener('abort', onAbort);
128
+ });
129
+ const schedulePull = (i) => {
130
+ if (branchStates[i] === 'done')
131
+ return;
132
+ const it = iterators[i];
133
+ const promise = (async () => {
134
+ try {
135
+ const result = await it.next();
136
+ return { branch: i, result, hadError: false, error: undefined };
137
+ }
138
+ catch (error) {
139
+ return {
140
+ branch: i,
141
+ result: { value: undefined, done: true },
142
+ hadError: true,
143
+ error,
144
+ };
145
+ }
146
+ })();
147
+ pendingPulls.set(i, promise);
148
+ };
149
+ const startNextBranch = () => {
150
+ const i = nextToStart++;
151
+ const factory = factories[i];
152
+ const fork = forks[i];
153
+ const iter = factory(fork)[Symbol.asyncIterator]();
154
+ iterators[i] = iter;
155
+ branchStates[i] = 'pulling';
156
+ activePulling++;
157
+ schedulePull(i);
158
+ };
159
+ const markDone = (i) => {
160
+ if (branchStates[i] !== 'done') {
161
+ branchStates[i] = 'done';
162
+ activePulling--;
163
+ }
164
+ };
165
+ const closeAll = async () => {
166
+ const closingPromises = [];
167
+ for (let i = 0; i < branchCount; i++) {
168
+ const it = iterators[i];
169
+ if (it && branchStates[i] !== 'done') {
170
+ markDone(i);
171
+ if (typeof it.return === 'function') {
172
+ try {
173
+ const p = it.return();
174
+ closingPromises.push(Promise.resolve(p).catch(() => undefined));
175
+ }
176
+ catch {
177
+ // Synchronous throw from return() — swallow; we are already in cleanup.
178
+ }
179
+ }
180
+ }
181
+ iterators[i] = null;
182
+ }
183
+ pendingPulls.clear();
184
+ if (closingPromises.length > 0) {
185
+ await Promise.allSettled(closingPromises);
186
+ }
187
+ };
188
+ try {
189
+ // Start the initial wave up to the concurrency cap.
190
+ while (activePulling < concurrency && nextToStart < branchCount) {
191
+ startNextBranch();
192
+ }
193
+ while (pendingPulls.size > 0) {
194
+ const winner = await Promise.race([
195
+ abortPromise,
196
+ ...pendingPulls.values(),
197
+ ]);
198
+ if (winner === ABORT_SENTINEL)
199
+ throw abortReason;
200
+ const { branch, result, hadError, error } = winner;
201
+ pendingPulls.delete(branch);
202
+ if (hadError) {
203
+ throw error;
204
+ }
205
+ if (result.done) {
206
+ markDone(branch);
207
+ iterators[branch] = null;
208
+ while (activePulling < concurrency && nextToStart < branchCount) {
209
+ startNextBranch();
210
+ }
211
+ }
212
+ else {
213
+ yield { branch, value: result.value };
214
+ if (branchStates[branch] === 'pulling') {
215
+ schedulePull(branch);
216
+ }
217
+ }
218
+ }
219
+ }
220
+ finally {
221
+ if (signal && onAbort) {
222
+ signal.removeEventListener('abort', onAbort);
223
+ }
224
+ dropParentForkCounter(parentTableState);
225
+ dropParentForkCounter(parentRowState);
226
+ await closeAll();
227
+ }
228
+ }
229
+ function signalReason(signal) {
230
+ const reason = signal.reason;
231
+ return reason !== undefined ? reason : new Error('aborted');
232
+ }
233
+ //# sourceMappingURL=parallel-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-driver.js","sourceRoot":"","sources":["../../../src/runtime/parallel-driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"AAmEA,wBAAgB,gBAAgB,SAqG/B"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"AAsEA,wBAAgB,gBAAgB,SA8G/B"}
@@ -54,6 +54,9 @@ import { emitBloomJoin } from './emit/bloom-join.js';
54
54
  import { emitMergeJoin } from './emit/merge-join.js';
55
55
  import { emitAsofScan } from './emit/asof-scan.js';
56
56
  import { emitCache } from './emit/cache.js';
57
+ import { emitEagerPrefetch } from './emit/eager-prefetch.js';
58
+ import { emitAsyncGather } from './emit/async-gather.js';
59
+ import { emitFanOutLookupJoin } from './emit/fanout-lookup-join.js';
57
60
  import { emitReturning } from './emit/returning.js';
58
61
  import { emitSink } from './emit/sink.js';
59
62
  import { emitBetween } from './emit/between.js';
@@ -150,6 +153,12 @@ export function registerEmitters() {
150
153
  registerEmitter(PlanNodeType.AsofScan, emitAsofScan);
151
154
  // Cache emitter
152
155
  registerEmitter(PlanNodeType.Cache, emitCache);
156
+ // Eager prefetch emitter
157
+ registerEmitter(PlanNodeType.EagerPrefetch, emitEagerPrefetch);
158
+ // Async gather emitter (N-ary parallel relational combinator)
159
+ registerEmitter(PlanNodeType.AsyncGather, emitAsyncGather);
160
+ // Fan-out lookup join emitter (per outer row → N concurrent at-most-one lookups)
161
+ registerEmitter(PlanNodeType.FanOutLookupJoin, emitFanOutLookupJoin);
153
162
  // Sink emitter
154
163
  registerEmitter(PlanNodeType.Sink, emitSink);
155
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/runtime/register.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { TableDescriptor, TableGetter } from '../planner/nodes/plan-node.js';
2
+ import { RowContextMap } from './context-helpers.js';
3
+ /** Per-wrapped-map state: how many forks of this map are currently being driven. */
4
+ interface ForkState {
5
+ activeForks: number;
6
+ }
7
+ export declare function strictForkEnabled(): boolean;
8
+ /**
9
+ * Wrap a fresh `tableContexts` Map. In non-strict mode returns the input
10
+ * unchanged; in strict mode returns a Proxy that throws on set/delete/clear
11
+ * while any fork of this map is being driven.
12
+ */
13
+ export declare function wrapTableContextsStrict(map: Map<TableDescriptor, TableGetter>): Map<TableDescriptor, TableGetter>;
14
+ /**
15
+ * Construct a `RowContextMap`. In strict mode returns a subclass that throws
16
+ * on set/delete while forks of it are being driven; otherwise returns the
17
+ * vanilla map. Use at any RuntimeContext construction site instead of
18
+ * `new RowContextMap()`.
19
+ */
20
+ export declare function createStrictRowContextMap(): RowContextMap;
21
+ /**
22
+ * Record that `child` was forked from `parent`. The child carries a hidden
23
+ * reference back to the parent's ForkState so drive() can bump it.
24
+ * No-op outside strict mode.
25
+ */
26
+ export declare function markForkOf(child: object, parent: object): void;
27
+ /**
28
+ * Bump the parent's active-forks counter for the given forked map.
29
+ * Returns the state object (or null) so the caller can drop it later.
30
+ * No-op outside strict mode.
31
+ */
32
+ export declare function bumpParentForkCounter(forkedMap: object): ForkState | null;
33
+ /** Drop a counter previously bumped via {@link bumpParentForkCounter}. */
34
+ export declare function dropParentForkCounter(state: ForkState | null): void;
35
+ export {};
36
+ //# sourceMappingURL=strict-fork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict-fork.d.ts","sourceRoot":"","sources":["../../../src/runtime/strict-fork.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA4B,eAAe,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAwBrD,oFAAoF;AACpF,UAAU,SAAS;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAUD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,GACpC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAkBnC;AAqBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAMzE;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAGnE"}
@@ -0,0 +1,125 @@
1
+ import { QuereusError } from '../common/errors.js';
2
+ import { StatusCode } from '../common/types.js';
3
+ import { RowContextMap } from './context-helpers.js';
4
+ /**
5
+ * Strict-fork test harness.
6
+ *
7
+ * Production behavior is unchanged: when `QUEREUS_FORK_STRICT` is unset, every
8
+ * helper here is a no-op pass-through. When set, the helpers wrap each
9
+ * RuntimeContext's `tableContexts` and `context` maps so that mutating the
10
+ * *parent* while one of its forks is being driven throws a contract violation.
11
+ *
12
+ * State is tracked **per parent map** (not globally) so that:
13
+ * - concurrent unrelated drivers don't interfere,
14
+ * - forks may mutate their own (fresh, fork-local) maps freely,
15
+ * - sub-forks (fork of a fork) are independently tracked.
16
+ *
17
+ * See docs/runtime.md § Parallel runtime fork contract for the rules this
18
+ * harness enforces.
19
+ */
20
+ // Cross-platform guard: `process` is unavailable in browser / RN / edge workers.
21
+ // Strict mode is a Node-only test harness, so silently disable elsewhere.
22
+ const flag = typeof process !== 'undefined' ? process.env?.QUEREUS_FORK_STRICT : undefined;
23
+ const STRICT_MODE = flag === '1' || flag === 'true';
24
+ /** Wrapped map → its state. Used by the proxy/subclass to know when to throw. */
25
+ const stateByWrappedMap = new WeakMap();
26
+ /** Forked map → state of the parent map it was forked from. Used by drive() to bump parent. */
27
+ const parentStateOfFork = new WeakMap();
28
+ export function strictForkEnabled() {
29
+ return STRICT_MODE;
30
+ }
31
+ function violation(target, count) {
32
+ throw new QuereusError(`strict-fork: parent context mutated ${target} while ${count} fork(s) are active. ` +
33
+ `This is a fork-contract violation. See docs/runtime.md § Parallel runtime fork contract.`, StatusCode.INTERNAL);
34
+ }
35
+ /**
36
+ * Wrap a fresh `tableContexts` Map. In non-strict mode returns the input
37
+ * unchanged; in strict mode returns a Proxy that throws on set/delete/clear
38
+ * while any fork of this map is being driven.
39
+ */
40
+ export function wrapTableContextsStrict(map) {
41
+ if (!STRICT_MODE)
42
+ return map;
43
+ const state = { activeForks: 0 };
44
+ const proxy = new Proxy(map, {
45
+ get(target, prop, _receiver) {
46
+ const raw = Reflect.get(target, prop, target);
47
+ if (typeof raw !== 'function')
48
+ return raw;
49
+ if (prop === 'set' || prop === 'delete' || prop === 'clear') {
50
+ return function strictMutation(...args) {
51
+ if (state.activeForks > 0)
52
+ violation('tableContexts', state.activeForks);
53
+ return raw.apply(target, args);
54
+ };
55
+ }
56
+ return raw.bind(target);
57
+ },
58
+ });
59
+ stateByWrappedMap.set(proxy, state);
60
+ return proxy;
61
+ }
62
+ class StrictRowContextMap extends RowContextMap {
63
+ forkState;
64
+ constructor(state) {
65
+ super();
66
+ this.forkState = state;
67
+ }
68
+ set(descriptor, rowGetter) {
69
+ if (this.forkState.activeForks > 0)
70
+ violation('context (RowContextMap)', this.forkState.activeForks);
71
+ return super.set(descriptor, rowGetter);
72
+ }
73
+ delete(descriptor) {
74
+ if (this.forkState.activeForks > 0)
75
+ violation('context (RowContextMap)', this.forkState.activeForks);
76
+ return super.delete(descriptor);
77
+ }
78
+ }
79
+ /**
80
+ * Construct a `RowContextMap`. In strict mode returns a subclass that throws
81
+ * on set/delete while forks of it are being driven; otherwise returns the
82
+ * vanilla map. Use at any RuntimeContext construction site instead of
83
+ * `new RowContextMap()`.
84
+ */
85
+ export function createStrictRowContextMap() {
86
+ if (!STRICT_MODE)
87
+ return new RowContextMap();
88
+ const state = { activeForks: 0 };
89
+ const map = new StrictRowContextMap(state);
90
+ stateByWrappedMap.set(map, state);
91
+ return map;
92
+ }
93
+ /**
94
+ * Record that `child` was forked from `parent`. The child carries a hidden
95
+ * reference back to the parent's ForkState so drive() can bump it.
96
+ * No-op outside strict mode.
97
+ */
98
+ export function markForkOf(child, parent) {
99
+ if (!STRICT_MODE)
100
+ return;
101
+ const parentState = stateByWrappedMap.get(parent);
102
+ if (parentState)
103
+ parentStateOfFork.set(child, parentState);
104
+ }
105
+ /**
106
+ * Bump the parent's active-forks counter for the given forked map.
107
+ * Returns the state object (or null) so the caller can drop it later.
108
+ * No-op outside strict mode.
109
+ */
110
+ export function bumpParentForkCounter(forkedMap) {
111
+ if (!STRICT_MODE)
112
+ return null;
113
+ const state = parentStateOfFork.get(forkedMap);
114
+ if (!state)
115
+ return null;
116
+ state.activeForks++;
117
+ return state;
118
+ }
119
+ /** Drop a counter previously bumped via {@link bumpParentForkCounter}. */
120
+ export function dropParentForkCounter(state) {
121
+ if (!STRICT_MODE || state === null)
122
+ return;
123
+ state.activeForks--;
124
+ }
125
+ //# sourceMappingURL=strict-fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict-fork.js","sourceRoot":"","sources":["../../../src/runtime/strict-fork.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/schema/manager.ts"],"names":[],"mappings":"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"}