@quereus/quereus 4.17.1 → 4.19.0

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 (248) hide show
  1. package/dist/src/common/types.d.ts +17 -0
  2. package/dist/src/common/types.d.ts.map +1 -1
  3. package/dist/src/common/types.js.map +1 -1
  4. package/dist/src/core/database-assertions.d.ts.map +1 -1
  5. package/dist/src/core/database-assertions.js +2 -1
  6. package/dist/src/core/database-assertions.js.map +1 -1
  7. package/dist/src/core/database-auto-analyze.d.ts +3 -3
  8. package/dist/src/core/database-auto-analyze.d.ts.map +1 -1
  9. package/dist/src/core/database-auto-analyze.js +17 -11
  10. package/dist/src/core/database-auto-analyze.js.map +1 -1
  11. package/dist/src/core/database-materialized-views-plan-builders.d.ts +11 -2
  12. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  13. package/dist/src/core/database-materialized-views-plan-builders.js +15 -10
  14. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  15. package/dist/src/core/database-watchers.d.ts.map +1 -1
  16. package/dist/src/core/database-watchers.js +2 -1
  17. package/dist/src/core/database-watchers.js.map +1 -1
  18. package/dist/src/core/database.d.ts.map +1 -1
  19. package/dist/src/core/database.js +18 -10
  20. package/dist/src/core/database.js.map +1 -1
  21. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  22. package/dist/src/func/builtins/explain.js +38 -42
  23. package/dist/src/func/builtins/explain.js.map +1 -1
  24. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  25. package/dist/src/func/builtins/schema.js +39 -64
  26. package/dist/src/func/builtins/schema.js.map +1 -1
  27. package/dist/src/planner/analysis/constraint-extractor.d.ts +9 -1
  28. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  29. package/dist/src/planner/analysis/constraint-extractor.js +55 -26
  30. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  31. package/dist/src/planner/building/default-scope.d.ts +11 -1
  32. package/dist/src/planner/building/default-scope.d.ts.map +1 -1
  33. package/dist/src/planner/building/default-scope.js +13 -2
  34. package/dist/src/planner/building/default-scope.js.map +1 -1
  35. package/dist/src/planner/building/insert.d.ts.map +1 -1
  36. package/dist/src/planner/building/insert.js +161 -107
  37. package/dist/src/planner/building/insert.js.map +1 -1
  38. package/dist/src/planner/building/select-aggregates.d.ts +8 -0
  39. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  40. package/dist/src/planner/building/select-aggregates.js +30 -25
  41. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  42. package/dist/src/planner/building/select.d.ts.map +1 -1
  43. package/dist/src/planner/building/select.js +15 -18
  44. package/dist/src/planner/building/select.js.map +1 -1
  45. package/dist/src/planner/cost/index.d.ts +9 -0
  46. package/dist/src/planner/cost/index.d.ts.map +1 -1
  47. package/dist/src/planner/cost/index.js +28 -0
  48. package/dist/src/planner/cost/index.js.map +1 -1
  49. package/dist/src/planner/debug.d.ts +5 -0
  50. package/dist/src/planner/debug.d.ts.map +1 -1
  51. package/dist/src/planner/debug.js +5 -0
  52. package/dist/src/planner/debug.js.map +1 -1
  53. package/dist/src/planner/framework/characteristics.d.ts +0 -22
  54. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  55. package/dist/src/planner/framework/characteristics.js +0 -3
  56. package/dist/src/planner/framework/characteristics.js.map +1 -1
  57. package/dist/src/planner/framework/pass.js +3 -3
  58. package/dist/src/planner/nodes/async-gather-node.d.ts +13 -0
  59. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
  60. package/dist/src/planner/nodes/async-gather-node.js +19 -29
  61. package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
  62. package/dist/src/planner/nodes/constraint-check-node.d.ts +9 -0
  63. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  64. package/dist/src/planner/nodes/constraint-check-node.js +13 -0
  65. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  66. package/dist/src/planner/nodes/cte-node.d.ts +8 -5
  67. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  68. package/dist/src/planner/nodes/cte-node.js +14 -4
  69. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  70. package/dist/src/planner/nodes/cte-reference-node.d.ts +9 -1
  71. package/dist/src/planner/nodes/cte-reference-node.d.ts.map +1 -1
  72. package/dist/src/planner/nodes/cte-reference-node.js +13 -0
  73. package/dist/src/planner/nodes/cte-reference-node.js.map +1 -1
  74. package/dist/src/planner/nodes/delete-node.d.ts +7 -1
  75. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  76. package/dist/src/planner/nodes/delete-node.js +12 -2
  77. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  78. package/dist/src/planner/nodes/dml-executor-node.d.ts +2 -1
  79. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  80. package/dist/src/planner/nodes/dml-executor-node.js +8 -1
  81. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  82. package/dist/src/planner/nodes/insert-node.d.ts +8 -1
  83. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  84. package/dist/src/planner/nodes/insert-node.js +12 -1
  85. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  86. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  87. package/dist/src/planner/nodes/join-node.js +10 -0
  88. package/dist/src/planner/nodes/join-node.js.map +1 -1
  89. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
  90. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  91. package/dist/src/planner/nodes/plan-node-type.js +1 -0
  92. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  93. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  94. package/dist/src/planner/nodes/recursive-cte-node.js +7 -0
  95. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  96. package/dist/src/planner/nodes/remote-query-node.d.ts +7 -1
  97. package/dist/src/planner/nodes/remote-query-node.d.ts.map +1 -1
  98. package/dist/src/planner/nodes/remote-query-node.js +11 -0
  99. package/dist/src/planner/nodes/remote-query-node.js.map +1 -1
  100. package/dist/src/planner/nodes/returning-node.d.ts +4 -0
  101. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  102. package/dist/src/planner/nodes/returning-node.js +8 -1
  103. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  104. package/dist/src/planner/nodes/scalar.d.ts +39 -0
  105. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  106. package/dist/src/planner/nodes/scalar.js +77 -0
  107. package/dist/src/planner/nodes/scalar.js.map +1 -1
  108. package/dist/src/planner/nodes/set-operation-node.d.ts +14 -1
  109. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  110. package/dist/src/planner/nodes/set-operation-node.js +22 -1
  111. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  112. package/dist/src/planner/nodes/sink-node.d.ts +9 -1
  113. package/dist/src/planner/nodes/sink-node.d.ts.map +1 -1
  114. package/dist/src/planner/nodes/sink-node.js +12 -0
  115. package/dist/src/planner/nodes/sink-node.js.map +1 -1
  116. package/dist/src/planner/nodes/table-access-nodes.d.ts +21 -0
  117. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  118. package/dist/src/planner/nodes/table-access-nodes.js +42 -3
  119. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  120. package/dist/src/planner/nodes/update-node.d.ts +7 -1
  121. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  122. package/dist/src/planner/nodes/update-node.js +9 -1
  123. package/dist/src/planner/nodes/update-node.js.map +1 -1
  124. package/dist/src/planner/nodes/view-mutation-node.d.ts +13 -1
  125. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
  126. package/dist/src/planner/nodes/view-mutation-node.js +25 -1
  127. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
  128. package/dist/src/planner/optimizer-tuning.d.ts +9 -9
  129. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  130. package/dist/src/planner/optimizer-tuning.js +0 -2
  131. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  132. package/dist/src/planner/optimizer.d.ts.map +1 -1
  133. package/dist/src/planner/optimizer.js +9 -21
  134. package/dist/src/planner/optimizer.js.map +1 -1
  135. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  136. package/dist/src/planner/rules/access/rule-key-set-seek.js +19 -10
  137. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  138. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +1 -1
  139. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  140. package/dist/src/planner/rules/access/rule-select-access-path.js +51 -28
  141. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  142. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.d.ts.map +1 -1
  143. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js +14 -1
  144. package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js.map +1 -1
  145. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  146. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
  147. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  148. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  149. package/dist/src/planner/rules/join/index-nested-loop.js +13 -10
  150. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  151. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts +2 -1
  152. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +45 -17
  154. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  155. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  156. package/dist/src/planner/rules/join/rule-join-physical-selection.js +5 -3
  157. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  158. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts +19 -1
  159. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  160. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +36 -3
  161. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  162. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +4 -3
  163. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  164. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts +14 -1
  165. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  166. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +200 -13
  167. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  168. package/dist/src/planner/stats/catalog-stats.js +1 -1
  169. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  170. package/dist/src/planner/stats/index.d.ts.map +1 -1
  171. package/dist/src/planner/stats/index.js +3 -4
  172. package/dist/src/planner/stats/index.js.map +1 -1
  173. package/dist/src/planner/stats/table-cardinality.d.ts +6 -6
  174. package/dist/src/planner/stats/table-cardinality.js +7 -7
  175. package/dist/src/planner/stats/table-cardinality.js.map +1 -1
  176. package/dist/src/planner/util/column-refs.d.ts +17 -0
  177. package/dist/src/planner/util/column-refs.d.ts.map +1 -0
  178. package/dist/src/planner/util/column-refs.js +30 -0
  179. package/dist/src/planner/util/column-refs.js.map +1 -0
  180. package/dist/src/planner/util/row-estimates.d.ts +91 -0
  181. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  182. package/dist/src/planner/util/row-estimates.js +134 -18
  183. package/dist/src/planner/util/row-estimates.js.map +1 -1
  184. package/dist/src/runtime/emit/alter-table.d.ts +25 -5
  185. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  186. package/dist/src/runtime/emit/alter-table.js +144 -62
  187. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  188. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  189. package/dist/src/runtime/emit/dml-executor.js +4 -6
  190. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  191. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  192. package/dist/src/runtime/emit/insert.js +7 -0
  193. package/dist/src/runtime/emit/insert.js.map +1 -1
  194. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  195. package/dist/src/runtime/emit/materialized-view-helpers.js +3 -3
  196. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  197. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  198. package/dist/src/runtime/emit/update.js +15 -10
  199. package/dist/src/runtime/emit/update.js.map +1 -1
  200. package/dist/src/runtime/emit/write-coercion.d.ts +7 -0
  201. package/dist/src/runtime/emit/write-coercion.d.ts.map +1 -0
  202. package/dist/src/runtime/emit/write-coercion.js +20 -0
  203. package/dist/src/runtime/emit/write-coercion.js.map +1 -0
  204. package/dist/src/runtime/register.d.ts.map +1 -1
  205. package/dist/src/runtime/register.js +2 -0
  206. package/dist/src/runtime/register.js.map +1 -1
  207. package/dist/src/runtime/scalar-fusion.d.ts.map +1 -1
  208. package/dist/src/runtime/scalar-fusion.js +4 -0
  209. package/dist/src/runtime/scalar-fusion.js.map +1 -1
  210. package/dist/src/runtime/scheduler.d.ts +47 -0
  211. package/dist/src/runtime/scheduler.d.ts.map +1 -1
  212. package/dist/src/runtime/scheduler.js +105 -11
  213. package/dist/src/runtime/scheduler.js.map +1 -1
  214. package/dist/src/runtime/types.d.ts +18 -3
  215. package/dist/src/runtime/types.d.ts.map +1 -1
  216. package/dist/src/runtime/types.js +7 -5
  217. package/dist/src/runtime/types.js.map +1 -1
  218. package/dist/src/schema/catalog.d.ts +99 -2
  219. package/dist/src/schema/catalog.d.ts.map +1 -1
  220. package/dist/src/schema/catalog.js +100 -26
  221. package/dist/src/schema/catalog.js.map +1 -1
  222. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  223. package/dist/src/schema/lens-prover.js +2 -1
  224. package/dist/src/schema/lens-prover.js.map +1 -1
  225. package/dist/src/schema/manager.d.ts.map +1 -1
  226. package/dist/src/schema/manager.js +10 -3
  227. package/dist/src/schema/manager.js.map +1 -1
  228. package/dist/src/schema/table.d.ts +0 -2
  229. package/dist/src/schema/table.d.ts.map +1 -1
  230. package/dist/src/schema/table.js.map +1 -1
  231. package/dist/src/vtab/best-access-plan.d.ts +89 -4
  232. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  233. package/dist/src/vtab/best-access-plan.js +76 -1
  234. package/dist/src/vtab/best-access-plan.js.map +1 -1
  235. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  236. package/dist/src/vtab/memory/module.js +27 -11
  237. package/dist/src/vtab/memory/module.js.map +1 -1
  238. package/dist/src/vtab/module.d.ts +7 -0
  239. package/dist/src/vtab/module.d.ts.map +1 -1
  240. package/dist/src/vtab/test-support/committed-read-conformance.d.ts +5 -2
  241. package/dist/src/vtab/test-support/committed-read-conformance.d.ts.map +1 -1
  242. package/dist/src/vtab/test-support/committed-read-conformance.js +55 -9
  243. package/dist/src/vtab/test-support/committed-read-conformance.js.map +1 -1
  244. package/package.json +3 -3
  245. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts +0 -17
  246. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +0 -1
  247. package/dist/src/planner/rules/cache/rule-cte-optimization.js +0 -69
  248. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-fusion.js","sourceRoot":"","sources":["../../../src/runtime/scalar-fusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalar-fusion.js","sourceRoot":"","sources":["../../../src/runtime/scalar-fusion.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,49 @@ export declare class Scheduler {
5
5
  readonly instructions: Instruction[];
6
6
  /** Index of the instruction that consumes the output of each instruction. */
7
7
  readonly destinations: ResultDestination[];
8
+ /** Local indices of the instructions producing each instruction's arguments, in param order. */
9
+ private readonly argIndexes;
10
+ /**
11
+ * First global address occupied by this scheduler; meaningful only once
12
+ * {@link ensureAddressesAssigned} has run on the root of the program tree.
13
+ */
14
+ private base;
15
+ private addressesAssigned;
8
16
  constructor(root: Instruction);
17
+ /** Global address of local instruction `index` within the whole program tree. */
18
+ addressOf(index: number): number;
19
+ /** First global address of this scheduler's own instructions. */
20
+ get baseAddress(): number;
21
+ /** Global addresses of the instructions producing local instruction `index`'s arguments. */
22
+ dependencyAddressesOf(index: number): number[];
23
+ /**
24
+ * Assigns global addresses across this scheduler and everything nested under
25
+ * it, treating this scheduler as the root of the address space. Idempotent, and
26
+ * memoized so a cached scheduler pays it once.
27
+ *
28
+ * A nested scheduler never has to assign for itself: its root always runs
29
+ * first and stamps it on the way through, so the no-op guard below is what its
30
+ * own tracing-path call hits.
31
+ *
32
+ * NOTE: the space is per scheduler *tree*, always based at 0, so two
33
+ * independently-rooted trees traced by ONE tracer would collide. Fine today:
34
+ * only a statement's own root scheduler ever sees a `RuntimeContext` carrying a
35
+ * tracer — every other `Scheduler.run` site (materialized-view maintenance,
36
+ * assertions, the derived-row validator, the const evaluator) builds a fresh
37
+ * tracer-free context. If a site ever runs a second root on a traced context,
38
+ * bases must come from the tracer instead of from 0.
39
+ */
40
+ ensureAddressesAssigned(): void;
41
+ /**
42
+ * Stamps `base` on this scheduler and its nested programs; returns the next free address.
43
+ *
44
+ * NOTE: assumes the program graph is a TREE — `emitCall` allocates a fresh
45
+ * `Scheduler` per call site, so no scheduler is reachable twice today. A shared
46
+ * (or cyclic) sub-program would be stamped twice here, silently handing two
47
+ * instructions the same address; `WorkCounterCollector.walk` guards the same
48
+ * assumption defensively, and this would need the same guard.
49
+ */
50
+ private assignAddresses;
9
51
  run(ctx: RuntimeContext): OutputValue;
10
52
  /**
11
53
  * Run the context-leak check once `result` has settled: after a Promise
@@ -52,6 +94,11 @@ export declare class Scheduler {
52
94
  * iterables via {@link wrapIterableForTracing}. For a resolved-scalar promise
53
95
  * the async hook parks the ORIGINAL promise (deferring the await to the
54
96
  * destination), exactly as before the collapse.
97
+ *
98
+ * Every event is reported under the instruction's *global* address
99
+ * ({@link addressOf}), not its scheduler-local index, so events from a nested
100
+ * sub-program cannot land on a main-program instruction that happens to share
101
+ * a local index.
55
102
  */
56
103
  private tracingHooks;
57
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;AAUzE,KAAK,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AA4EvC,qBAAa,SAAS;IACrB,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAM;IAC1C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;gBAE/B,IAAI,EAAE,WAAW;IAwB7B,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW;IA8BrC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;;;;;;;;;OAYG;YACW,YAAY;IAwE1B;;;;;;OAMG;YACW,sBAAsB;IAoBpC,sEAAsE;IACtE,OAAO,CAAC,cAAc;IAMtB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IA6BpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,UAAU,IAAI,uBAAuB,EAAE;CAQvC"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;AAUzE,KAAK,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;AA4EvC,qBAAa,SAAS;IACrB,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAM;IAC1C,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC3C,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE7C;;;OAGG;IACH,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,IAAI,EAAE,WAAW;IA4C7B,iFAAiF;IACjF,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC,iEAAiE;IACjE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,4FAA4F;IAC5F,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAI9C;;;;;;;;;;;;;;;;OAgBG;IACH,uBAAuB,IAAI,IAAI;IAK/B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAavB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW;IAiCrC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAgCjC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA4CnB;;;;;;;;;;;;OAYG;YACW,YAAY;IAwE1B;;;;;;OAMG;YACW,sBAAsB;IAoBpC,sEAAsE;IACtE,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,UAAU,IAAI,uBAAuB,EAAE;CAQvC"}
@@ -10,7 +10,7 @@ const TRACED_ITERABLE_SYMBOL = Symbol('tracedIterable');
10
10
  /**
11
11
  * Wraps an async iterable to emit row-level trace events
12
12
  */
13
- function wrapIterableForTracing(src, ctx, instructionIndex, instruction) {
13
+ function wrapIterableForTracing(src, ctx, address, instruction) {
14
14
  // Prevent double-wrapping
15
15
  if (src[TRACED_ITERABLE_SYMBOL]) {
16
16
  return src;
@@ -21,7 +21,7 @@ function wrapIterableForTracing(src, ctx, instructionIndex, instruction) {
21
21
  for await (const row of src) {
22
22
  // Only emit row trace events for valid rows (non-empty arrays)
23
23
  if (Array.isArray(row) && row.length > 0) {
24
- tracer.traceRow(instructionIndex, instruction, rowIndex++, row);
24
+ tracer.traceRow(address, instruction, rowIndex++, row);
25
25
  }
26
26
  yield row;
27
27
  }
@@ -34,18 +34,25 @@ export class Scheduler {
34
34
  instructions = [];
35
35
  /** Index of the instruction that consumes the output of each instruction. */
36
36
  destinations;
37
+ /** Local indices of the instructions producing each instruction's arguments, in param order. */
38
+ argIndexes = [];
39
+ /**
40
+ * First global address occupied by this scheduler; meaningful only once
41
+ * {@link ensureAddressesAssigned} has run on the root of the program tree.
42
+ */
43
+ base = 0;
44
+ addressesAssigned = false;
37
45
  constructor(root) {
38
- const argIndexes = [];
39
46
  const buildPlan = (inst) => {
40
47
  const instArgIndexes = inst.params.map(p => buildPlan(p));
41
48
  const currentIndex = this.instructions.push(inst) - 1;
42
- argIndexes[currentIndex] = instArgIndexes;
49
+ this.argIndexes[currentIndex] = instArgIndexes;
43
50
  return currentIndex;
44
51
  };
45
52
  buildPlan(root);
46
53
  this.destinations = new Array(this.instructions.length).fill(null);
47
54
  for (let instIndex = 0; instIndex < this.instructions.length; ++instIndex) {
48
- const instArgIndexes = argIndexes[instIndex];
55
+ const instArgIndexes = this.argIndexes[instIndex];
49
56
  if (instArgIndexes) {
50
57
  for (let argIndex = 0; argIndex < instArgIndexes.length; ++argIndex) {
51
58
  this.destinations[instArgIndexes[argIndex]] = instIndex;
@@ -53,6 +60,83 @@ export class Scheduler {
53
60
  }
54
61
  }
55
62
  }
63
+ // --- Instruction addressing -------------------------------------------------
64
+ //
65
+ // A query's instructions live in a *tree* of schedulers: the root program plus
66
+ // one nested `Scheduler` per `emitCall` (the only place `instruction.programs`
67
+ // is set, so every nested scheduler has exactly one owner). Each scheduler
68
+ // numbers its own instructions from 0, which is all the dispatch loops need —
69
+ // but two different schedulers then both have an instruction "1", and any
70
+ // consumer that joins on that number (`execution_trace()` joining trace events
71
+ // against the `scheduler_program()` listing) conflates them.
72
+ //
73
+ // So the tree gets one flat address space, depth-first and deterministic from
74
+ // the instruction tree alone:
75
+ //
76
+ // a scheduler with base B and N own instructions occupies
77
+ // B .. B+N-1 its own instructions, in scheduler order
78
+ // then, in order of (owning instruction index, program index),
79
+ // each nested program takes the next block, sized by its own subtree
80
+ //
81
+ // Addresses are assigned lazily and only on the tracing path: normal execution
82
+ // (the optimized and metrics dispatch loops) never needs them and must not pay
83
+ // for them.
84
+ /** Global address of local instruction `index` within the whole program tree. */
85
+ addressOf(index) {
86
+ return this.base + index;
87
+ }
88
+ /** First global address of this scheduler's own instructions. */
89
+ get baseAddress() {
90
+ return this.base;
91
+ }
92
+ /** Global addresses of the instructions producing local instruction `index`'s arguments. */
93
+ dependencyAddressesOf(index) {
94
+ return (this.argIndexes[index] ?? []).map(argIndex => this.addressOf(argIndex));
95
+ }
96
+ /**
97
+ * Assigns global addresses across this scheduler and everything nested under
98
+ * it, treating this scheduler as the root of the address space. Idempotent, and
99
+ * memoized so a cached scheduler pays it once.
100
+ *
101
+ * A nested scheduler never has to assign for itself: its root always runs
102
+ * first and stamps it on the way through, so the no-op guard below is what its
103
+ * own tracing-path call hits.
104
+ *
105
+ * NOTE: the space is per scheduler *tree*, always based at 0, so two
106
+ * independently-rooted trees traced by ONE tracer would collide. Fine today:
107
+ * only a statement's own root scheduler ever sees a `RuntimeContext` carrying a
108
+ * tracer — every other `Scheduler.run` site (materialized-view maintenance,
109
+ * assertions, the derived-row validator, the const evaluator) builds a fresh
110
+ * tracer-free context. If a site ever runs a second root on a traced context,
111
+ * bases must come from the tracer instead of from 0.
112
+ */
113
+ ensureAddressesAssigned() {
114
+ if (this.addressesAssigned)
115
+ return;
116
+ this.assignAddresses(0);
117
+ }
118
+ /**
119
+ * Stamps `base` on this scheduler and its nested programs; returns the next free address.
120
+ *
121
+ * NOTE: assumes the program graph is a TREE — `emitCall` allocates a fresh
122
+ * `Scheduler` per call site, so no scheduler is reachable twice today. A shared
123
+ * (or cyclic) sub-program would be stamped twice here, silently handing two
124
+ * instructions the same address; `WorkCounterCollector.walk` guards the same
125
+ * assumption defensively, and this would need the same guard.
126
+ */
127
+ assignAddresses(base) {
128
+ this.base = base;
129
+ this.addressesAssigned = true;
130
+ let next = base + this.instructions.length;
131
+ for (const instruction of this.instructions) {
132
+ if (!instruction.programs)
133
+ continue;
134
+ for (const program of instruction.programs) {
135
+ next = program.assignAddresses(next);
136
+ }
137
+ }
138
+ return next;
139
+ }
56
140
  run(ctx) {
57
141
  // Initialize context tracker if not already present
58
142
  if (!ctx.contextTracker) {
@@ -66,6 +150,9 @@ export class Scheduler {
66
150
  result = this.runSyncLoop(ctx, this.optimizedHooks());
67
151
  }
68
152
  else {
153
+ // Tracing is the only mode whose events are joined against an instruction
154
+ // listing, so it is the only mode that pays for global addressing.
155
+ this.ensureAddressesAssigned();
69
156
  result = this.runSyncLoop(ctx, this.tracingHooks(ctx));
70
157
  }
71
158
  // Context-leak diagnostic. A program's result is frequently an unconsumed
@@ -266,33 +353,40 @@ export class Scheduler {
266
353
  * iterables via {@link wrapIterableForTracing}. For a resolved-scalar promise
267
354
  * the async hook parks the ORIGINAL promise (deferring the await to the
268
355
  * destination), exactly as before the collapse.
356
+ *
357
+ * Every event is reported under the instruction's *global* address
358
+ * ({@link addressOf}), not its scheduler-local index, so events from a nested
359
+ * sub-program cannot land on a main-program instruction that happens to share
360
+ * a local index.
269
361
  */
270
362
  tracingHooks(ctx) {
271
363
  const tracer = ctx.tracer;
272
364
  return {
273
- onInput: (i, instruction, args) => tracer.traceInput(i, instruction, args),
365
+ onInput: (i, instruction, args) => tracer.traceInput(this.addressOf(i), instruction, args),
274
366
  runInstruction: (_index, instruction, rctx, args) => instruction.run(rctx, ...args),
275
367
  onSyncOutput: (i, instruction, output) => {
368
+ const address = this.addressOf(i);
276
369
  let traced = output;
277
370
  if (isAsyncIterable(traced)) {
278
- traced = wrapIterableForTracing(traced, ctx, i, instruction);
371
+ traced = wrapIterableForTracing(traced, ctx, address, instruction);
279
372
  }
280
- tracer.traceOutput(i, instruction, traced);
373
+ tracer.traceOutput(address, instruction, traced);
281
374
  return traced;
282
375
  },
283
376
  onAsyncOutput: async (i, instruction, output) => {
377
+ const address = this.addressOf(i);
284
378
  let resolved = output instanceof Promise ? await output : output;
285
379
  // Default: keep the original output for flow control (re-defers a
286
380
  // resolved-scalar promise to its destination).
287
381
  let parkValue = output;
288
382
  if (isAsyncIterable(resolved)) {
289
- resolved = wrapIterableForTracing(resolved, ctx, i, instruction);
383
+ resolved = wrapIterableForTracing(resolved, ctx, address, instruction);
290
384
  parkValue = resolved;
291
385
  }
292
- tracer.traceOutput(i, instruction, resolved);
386
+ tracer.traceOutput(address, instruction, resolved);
293
387
  return parkValue;
294
388
  },
295
- onError: (i, instruction, error) => tracer.traceError(i, instruction, error),
389
+ onError: (i, instruction, error) => tracer.traceError(this.addressOf(i), instruction, error),
296
390
  };
297
391
  }
298
392
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/runtime/scheduler.ts"],"names":[],"mappings":"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"}
@@ -221,6 +221,11 @@ export interface InstructionRuntimeStats {
221
221
  }
222
222
  /** * Trace event for instruction execution. */
223
223
  export interface InstructionTraceEvent {
224
+ /**
225
+ * Global address of the traced instruction — `Scheduler.addressOf`, unique
226
+ * across the whole program tree (main program and every nested sub-program),
227
+ * not an index within whichever scheduler happened to be running.
228
+ */
224
229
  instructionIndex: number;
225
230
  note?: string;
226
231
  type: 'input' | 'output' | 'row' | 'error';
@@ -237,11 +242,22 @@ export interface InstructionTraceEvent {
237
242
  }
238
243
  /** Information about a sub-program for tracing purposes */
239
244
  export interface SubProgramInfo {
245
+ /**
246
+ * Base address of the sub-program: the global address of its first instruction
247
+ * (`Scheduler.baseAddress`). Names a row that `scheduler_program()` actually
248
+ * lists, so trace output can be followed into the sub-program.
249
+ */
240
250
  programIndex: number;
241
251
  instructionCount: number;
242
252
  rootNote?: string;
243
253
  }
244
- /** * Interface for tracing instruction execution. */
254
+ /**
255
+ * Interface for tracing instruction execution.
256
+ *
257
+ * Every `instructionIndex` here is a *global* address (`Scheduler.addressOf`),
258
+ * unique across the main program and every nested sub-program — not an index
259
+ * within the scheduler that is currently running.
260
+ */
245
261
  export interface InstructionTracer {
246
262
  /** Called before an instruction executes */
247
263
  traceInput(instructionIndex: number, instruction: Instruction, args: RuntimeValue[]): void;
@@ -253,7 +269,7 @@ export interface InstructionTracer {
253
269
  traceRow(instructionIndex: number, instruction: Instruction, rowIndex: number, row: Row): void;
254
270
  /** Gets collected trace events (if supported by the tracer) */
255
271
  getTraceEvents?(): InstructionTraceEvent[];
256
- /** Gets information about all sub-programs encountered during tracing */
272
+ /** Gets information about all sub-programs encountered during tracing, keyed by base address */
257
273
  getSubPrograms?(): Map<number, {
258
274
  scheduler: Scheduler;
259
275
  parentInstructionIndex: number;
@@ -263,7 +279,6 @@ export interface InstructionTracer {
263
279
  export declare class CollectingInstructionTracer implements InstructionTracer {
264
280
  private events;
265
281
  private subPrograms;
266
- private nextSubProgramId;
267
282
  traceInput(instructionIndex: number, instruction: Instruction, args: RuntimeValue[]): void;
268
283
  traceOutput(instructionIndex: number, instruction: Instruction, result: OutputValue): void;
269
284
  traceError(instructionIndex: number, instruction: Instruction, error: Error): void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,6 @@ export function asRun(run) {
39
39
  export class CollectingInstructionTracer {
40
40
  events = [];
41
41
  subPrograms = new Map();
42
- nextSubProgramId = 0;
43
42
  traceInput(instructionIndex, instruction, args) {
44
43
  const subPrograms = this.collectSubProgramInfo(instructionIndex, instruction);
45
44
  this.events.push({
@@ -88,17 +87,20 @@ export class CollectingInstructionTracer {
88
87
  clear() {
89
88
  this.events = [];
90
89
  this.subPrograms.clear();
91
- this.nextSubProgramId = 0;
92
90
  }
93
91
  collectSubProgramInfo(instructionIndex, instruction) {
94
92
  if (!instruction.programs || instruction.programs.length === 0) {
95
93
  return undefined;
96
94
  }
95
+ // Key sub-programs by their base address rather than an invented counter, so
96
+ // the ids reported here name rows that scheduler_program() also lists. The
97
+ // root scheduler has already assigned addresses by the time any instruction
98
+ // traces (see Scheduler.ensureAddressesAssigned).
97
99
  return instruction.programs.map(scheduler => {
98
- const programId = this.nextSubProgramId++;
99
- this.subPrograms.set(programId, { scheduler, parentInstructionIndex: instructionIndex });
100
+ const baseAddress = scheduler.baseAddress;
101
+ this.subPrograms.set(baseAddress, { scheduler, parentInstructionIndex: instructionIndex });
100
102
  return {
101
- programIndex: programId,
103
+ programIndex: baseAddress,
102
104
  instructionCount: scheduler.instructions.length,
103
105
  rootNote: scheduler.instructions[scheduler.instructions.length - 1]?.note
104
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Database } from '../core/database.js';
2
- import type { TableSchema, IndexColumnSchema, UniqueConstraintSchema } from './table.js';
2
+ import type { TableSchema, IndexSchema, IndexColumnSchema, UniqueConstraintSchema } from './table.js';
3
3
  import type * as AST from '../parser/ast.js';
4
4
  import { type SqlValue } from '../common/types.js';
5
5
  /**
@@ -159,6 +159,80 @@ export interface CatalogAssertion {
159
159
  * Collects current schema state from the database into a catalog representation
160
160
  */
161
161
  export declare function collectSchemaCatalog(db: Database, schemaName?: string): SchemaCatalog;
162
+ /**
163
+ * Maps each implicit-covering-structure index name to its exposure flag. An index
164
+ * is an implicit covering structure when it is the secondary BTree auto-built to
165
+ * back a declared (inline) UNIQUE constraint — identified by the deterministic
166
+ * auto-index name `uc.name ?? '_uc_<cols>'` (see
167
+ * `MemoryTableManager.ensureUniqueConstraintIndexes`). Constraints synthesized
168
+ * from a real `CREATE UNIQUE INDEX` (`derivedFromIndex` set) are excluded — that
169
+ * index is the user's, always shown. The flag is `true` when the constraint
170
+ * carries {@link EXPOSE_IMPLICIT_INDEX_TAG} (surface it), `false` otherwise
171
+ * (hide). Index names absent from the map are ordinary indexes (always shown).
172
+ *
173
+ * Keys are **lowercased** — index names are matched case-insensitively
174
+ * everywhere else in the engine (`createIndex`, `dropIndex`, `updateIndexTags`
175
+ * all compare on `toLowerCase()`), so callers must look up a lowercased name.
176
+ */
177
+ export declare function implicitCoveringIndexExposure(tableSchema: TableSchema): Map<string, boolean>;
178
+ /**
179
+ * The {@link IndexSchema} a *read* surface should render for `index` on
180
+ * `tableSchema`. An exposed implicit covering structure describes itself as
181
+ * UNIQUE even though its own `IndexSchema` carries no flag (memory mode
182
+ * materializes it without one) or is synthesized from a constraint (store mode)
183
+ * — here the flag is a *display* fact: rendered DDL exists to re-parse into the
184
+ * object it describes, and `CREATE INDEX … ("x")` does not re-parse into
185
+ * something that enforces uniqueness. Uniqueness *enforcement* stays on the
186
+ * constraint (`uniqueConstraints`); nothing about the returned schema changes
187
+ * that.
188
+ *
189
+ * This is the single site answering "how does this index describe itself". Read
190
+ * surfaces reach it through {@link displayIndexesForTable}, which is the only
191
+ * caller that matters — call that, not this, unless you hold a lone index.
192
+ *
193
+ * Returns `index` unchanged unless it is an *exposed* implicit covering
194
+ * structure lacking the flag. Hidden implicit structures never reach a read
195
+ * surface (callers filter them first), but the check keys off
196
+ * `exposure.get(name) === true` rather than mere implicitness so that stays
197
+ * correct if the filters ever move.
198
+ *
199
+ * NOTE: read surfaces ONLY. Paths whose DDL is re-executed rather than read must
200
+ * keep rendering the raw `IndexSchema`: `buildCatalogEntry` (quereus-store's
201
+ * persistence bundle, which deliberately emits no `CREATE INDEX` line for these),
202
+ * `rebuildUserIndexes` (runtime/emit/alter-table.ts, which excludes implicit
203
+ * structures from its re-create loop), the memory/store schema-change *events*,
204
+ * and quereus-sync's replicated-index `assertDefinitionMatches`. Routing any of
205
+ * those through this helper would change what gets executed, not just what gets
206
+ * shown.
207
+ *
208
+ * Pass `exposure` to reuse one map across a whole table's indexes — building it
209
+ * is O(unique constraints).
210
+ */
211
+ export declare function indexSchemaForDisplay(tableSchema: TableSchema, index: IndexSchema, exposure?: Map<string, boolean>): IndexSchema;
212
+ /** One index as a read surface should present it — see {@link displayIndexesForTable}. */
213
+ export interface DisplayIndex {
214
+ /** Already rendered through {@link indexSchemaForDisplay}. */
215
+ index: IndexSchema;
216
+ /** True for an *exposed* implicit covering structure — see {@link CatalogIndex.implicit}. */
217
+ implicit: boolean;
218
+ }
219
+ /**
220
+ * Every index of `tableSchema` a *read* surface should list, in catalog order:
221
+ * the materialized indexes minus the hidden implicit covering structures, then
222
+ * the exposed implicit structures the backend did not materialize (the store-mode
223
+ * case — empty in memory mode, where the name is already materialized, so nothing
224
+ * double-lists).
225
+ *
226
+ * This is the single enumeration `collectSchemaCatalog`, `schema()` and
227
+ * `index_info()` share. Each of them used to spell the same three steps out for
228
+ * itself — drop the hidden structures, append the store-mode synthetics, render
229
+ * the result — and a surface that got one wrong drifted from the others. Add a
230
+ * read surface by calling this, not by repeating the recipe.
231
+ *
232
+ * Write paths and the persistence bundle must NOT use it — see the NOTE on
233
+ * {@link indexSchemaForDisplay}.
234
+ */
235
+ export declare function displayIndexesForTable(tableSchema: TableSchema): DisplayIndex[];
162
236
  /**
163
237
  * Rejects a UNIQUE constraint declaration whose implicit backing structure would
164
238
  * claim a name already held on the same table — by another UNIQUE constraint's
@@ -308,16 +382,39 @@ export declare function assertNoDuplicateConstraintNames(astColumns: ReadonlyArr
308
382
  * subset of {@link IndexSchema} (no `unique` flag — see below) so the read-path
309
383
  * helpers (`indexSchemaToCatalog`, the `schema()` / `index_info()` TVFs) can
310
384
  * consume it identically to a real index.
385
+ *
386
+ * {@link displayIndexesForTable} lifts it with
387
+ * {@link syntheticExposedIndexToIndexSchema} and renders it through
388
+ * {@link indexSchemaForDisplay} exactly as it does a materialized index — that
389
+ * is what keeps the two backends' answers identical.
311
390
  */
312
391
  export interface SyntheticExposedIndex {
313
392
  name: string;
314
393
  /** Mirrors `ensureUniqueConstraintIndexes`: per-column index + declared collation. */
315
394
  columns: ReadonlyArray<IndexColumnSchema>;
316
- /** Partial-index predicate from `uc.predicate`, when any. */
395
+ /**
396
+ * Partial-index predicate from `uc.predicate`, when any.
397
+ *
398
+ * NOTE: unreachable today, and structurally so — `uc.predicate` is only ever
399
+ * set by `appendIndexToTableSchema` for a constraint synthesized from a
400
+ * `CREATE UNIQUE INDEX … WHERE`, and such a constraint carries
401
+ * `derivedFromIndex`, which `exposedImplicitIndexes` skips. So no exposed
402
+ * implicit structure can be partial, and `index_info().partial` reads 0 for
403
+ * every one of them. Kept because an inline `UNIQUE (…) WHERE …` would make it
404
+ * live immediately; if that grammar lands, pin `partial = 1` here.
405
+ */
317
406
  predicate?: AST.Expression;
318
407
  /** User tags from `uc.exposedIndexTags` (the exposure flag stays on `uc.tags`). */
319
408
  tags?: Readonly<Record<string, SqlValue>>;
320
409
  }
410
+ /**
411
+ * Lifts a {@link SyntheticExposedIndex} into the {@link IndexSchema} shape the DDL
412
+ * generators (`generateIndexDDL`, `indexToCanonicalDDL`) expect — a plain
413
+ * structural lift that stamps no flags of its own. `unique` is supplied
414
+ * afterwards by {@link indexSchemaForDisplay}, the same as for a materialized
415
+ * index; {@link displayIndexesForTable} does both.
416
+ */
417
+ export declare function syntheticExposedIndexToIndexSchema(desc: SyntheticExposedIndex): IndexSchema;
321
418
  /**
322
419
  * Exposed implicit covering indexes that are NOT already materialized in
323
420
  * `tableSchema.indexes` — i.e. the store-mode case. For each non-derived UNIQUE