@quereus/quereus 4.3.2 → 4.4.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 (396) hide show
  1. package/README.md +5 -0
  2. package/dist/src/common/types.d.ts +9 -0
  3. package/dist/src/common/types.d.ts.map +1 -1
  4. package/dist/src/common/types.js.map +1 -1
  5. package/dist/src/core/database-events.d.ts +49 -0
  6. package/dist/src/core/database-events.d.ts.map +1 -1
  7. package/dist/src/core/database-events.js +148 -0
  8. package/dist/src/core/database-events.js.map +1 -1
  9. package/dist/src/core/database-external-changes.d.ts +2 -2
  10. package/dist/src/core/database-external-changes.d.ts.map +1 -1
  11. package/dist/src/core/database-external-changes.js +12 -9
  12. package/dist/src/core/database-external-changes.js.map +1 -1
  13. package/dist/src/core/database-materialized-views-apply.d.ts +156 -14
  14. package/dist/src/core/database-materialized-views-apply.d.ts.map +1 -1
  15. package/dist/src/core/database-materialized-views-apply.js +370 -65
  16. package/dist/src/core/database-materialized-views-apply.js.map +1 -1
  17. package/dist/src/core/database-materialized-views-plan-builders.d.ts +66 -1
  18. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  19. package/dist/src/core/database-materialized-views-plan-builders.js +368 -8
  20. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  21. package/dist/src/core/database-materialized-views-plans.d.ts +257 -30
  22. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  23. package/dist/src/core/database-materialized-views.d.ts +99 -42
  24. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  25. package/dist/src/core/database-materialized-views.js +198 -121
  26. package/dist/src/core/database-materialized-views.js.map +1 -1
  27. package/dist/src/core/database.d.ts +5 -0
  28. package/dist/src/core/database.d.ts.map +1 -1
  29. package/dist/src/core/database.js +41 -18
  30. package/dist/src/core/database.js.map +1 -1
  31. package/dist/src/core/internal-statement-cache.d.ts +18 -0
  32. package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
  33. package/dist/src/core/internal-statement-cache.js +211 -0
  34. package/dist/src/core/internal-statement-cache.js.map +1 -0
  35. package/dist/src/func/builtins/aggregate.d.ts +13 -12
  36. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  37. package/dist/src/func/builtins/aggregate.js +146 -62
  38. package/dist/src/func/builtins/aggregate.js.map +1 -1
  39. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  40. package/dist/src/func/builtins/builtin-window-functions.js +63 -48
  41. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  42. package/dist/src/func/registration.d.ts +19 -1
  43. package/dist/src/func/registration.d.ts.map +1 -1
  44. package/dist/src/func/registration.js +41 -0
  45. package/dist/src/func/registration.js.map +1 -1
  46. package/dist/src/index.d.ts +8 -8
  47. package/dist/src/index.d.ts.map +1 -1
  48. package/dist/src/index.js +12 -11
  49. package/dist/src/index.js.map +1 -1
  50. package/dist/src/parser/parser.d.ts +6 -0
  51. package/dist/src/parser/parser.d.ts.map +1 -1
  52. package/dist/src/parser/parser.js +45 -34
  53. package/dist/src/parser/parser.js.map +1 -1
  54. package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
  55. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  56. package/dist/src/planner/analysis/comparison-collation.js +1 -1
  57. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  58. package/dist/src/planner/analysis/equi-correlation.d.ts +26 -0
  59. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -0
  60. package/dist/src/planner/analysis/equi-correlation.js +62 -0
  61. package/dist/src/planner/analysis/equi-correlation.js.map +1 -0
  62. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
  63. package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
  64. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
  65. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +60 -18
  66. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  67. package/dist/src/planner/analysis/query-rewrite-matcher.js +95 -42
  68. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  69. package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
  70. package/dist/src/planner/analysis/sat-checker.js +43 -4
  71. package/dist/src/planner/analysis/sat-checker.js.map +1 -1
  72. package/dist/src/planner/analysis/scalar-subqueries.d.ts +28 -0
  73. package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -0
  74. package/dist/src/planner/analysis/scalar-subqueries.js +60 -0
  75. package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -0
  76. package/dist/src/planner/building/delete.d.ts.map +1 -1
  77. package/dist/src/planner/building/delete.js +10 -3
  78. package/dist/src/planner/building/delete.js.map +1 -1
  79. package/dist/src/planner/building/expression.d.ts.map +1 -1
  80. package/dist/src/planner/building/expression.js +87 -6
  81. package/dist/src/planner/building/expression.js.map +1 -1
  82. package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
  83. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  84. package/dist/src/planner/building/foreign-key-builder.js +54 -0
  85. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  86. package/dist/src/planner/building/insert.d.ts.map +1 -1
  87. package/dist/src/planner/building/insert.js +9 -12
  88. package/dist/src/planner/building/insert.js.map +1 -1
  89. package/dist/src/planner/building/select.d.ts.map +1 -1
  90. package/dist/src/planner/building/select.js +15 -1
  91. package/dist/src/planner/building/select.js.map +1 -1
  92. package/dist/src/planner/building/update.d.ts.map +1 -1
  93. package/dist/src/planner/building/update.js +13 -4
  94. package/dist/src/planner/building/update.js.map +1 -1
  95. package/dist/src/planner/building/with.d.ts.map +1 -1
  96. package/dist/src/planner/building/with.js +5 -8
  97. package/dist/src/planner/building/with.js.map +1 -1
  98. package/dist/src/planner/cache/materialization-advisory.d.ts +33 -0
  99. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  100. package/dist/src/planner/cache/materialization-advisory.js +164 -28
  101. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  102. package/dist/src/planner/cache/reference-graph.d.ts +0 -4
  103. package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
  104. package/dist/src/planner/cache/reference-graph.js +5 -13
  105. package/dist/src/planner/cache/reference-graph.js.map +1 -1
  106. package/dist/src/planner/cost/index.d.ts +28 -7
  107. package/dist/src/planner/cost/index.d.ts.map +1 -1
  108. package/dist/src/planner/cost/index.js +26 -0
  109. package/dist/src/planner/cost/index.js.map +1 -1
  110. package/dist/src/planner/framework/pass.js +3 -3
  111. package/dist/src/planner/nodes/cache-node.d.ts +18 -2
  112. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  113. package/dist/src/planner/nodes/cache-node.js +42 -3
  114. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  115. package/dist/src/planner/nodes/cte-node.d.ts +15 -1
  116. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  117. package/dist/src/planner/nodes/cte-node.js +12 -2
  118. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  119. package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
  120. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  122. package/dist/src/planner/nodes/recursive-cte-node.d.ts +30 -1
  123. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  124. package/dist/src/planner/nodes/recursive-cte-node.js +30 -3
  125. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  126. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  127. package/dist/src/planner/nodes/scalar.js +26 -3
  128. package/dist/src/planner/nodes/scalar.js.map +1 -1
  129. package/dist/src/planner/optimizer.d.ts.map +1 -1
  130. package/dist/src/planner/optimizer.js +129 -8
  131. package/dist/src/planner/optimizer.js.map +1 -1
  132. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  133. package/dist/src/planner/rules/access/rule-select-access-path.js +43 -18
  134. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  135. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  136. package/dist/src/planner/rules/cache/rule-cte-optimization.js +8 -1
  137. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  138. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
  139. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +72 -54
  140. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  141. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.d.ts.map +1 -1
  142. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js +6 -0
  143. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js.map +1 -1
  144. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts +25 -0
  145. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -0
  146. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +176 -0
  147. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -0
  148. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +31 -0
  149. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -0
  150. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +68 -0
  151. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -0
  152. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +1 -54
  154. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  155. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
  156. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  157. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts +191 -0
  158. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts.map +1 -0
  159. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +627 -0
  160. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -0
  161. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +10 -1
  162. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  163. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +242 -51
  164. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  165. package/dist/src/runtime/cache/shared-cache.d.ts +7 -0
  166. package/dist/src/runtime/cache/shared-cache.d.ts.map +1 -1
  167. package/dist/src/runtime/cache/shared-cache.js +34 -1
  168. package/dist/src/runtime/cache/shared-cache.js.map +1 -1
  169. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  170. package/dist/src/runtime/deferred-constraint-queue.js +10 -0
  171. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  172. package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
  173. package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
  174. package/dist/src/runtime/emit/aggregate-setup.js +99 -0
  175. package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
  176. package/dist/src/runtime/emit/aggregate.d.ts +2 -3
  177. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  178. package/dist/src/runtime/emit/aggregate.js +10 -84
  179. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  180. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  181. package/dist/src/runtime/emit/alter-table.js +348 -165
  182. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  183. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  184. package/dist/src/runtime/emit/asof-scan.js +6 -0
  185. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  186. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  187. package/dist/src/runtime/emit/between.js +32 -3
  188. package/dist/src/runtime/emit/between.js.map +1 -1
  189. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  190. package/dist/src/runtime/emit/binary.js +22 -2
  191. package/dist/src/runtime/emit/binary.js.map +1 -1
  192. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  193. package/dist/src/runtime/emit/bloom-join.js +24 -3
  194. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  195. package/dist/src/runtime/emit/cache.d.ts +7 -3
  196. package/dist/src/runtime/emit/cache.d.ts.map +1 -1
  197. package/dist/src/runtime/emit/cache.js +23 -6
  198. package/dist/src/runtime/emit/cache.js.map +1 -1
  199. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  200. package/dist/src/runtime/emit/cast.js +10 -23
  201. package/dist/src/runtime/emit/cast.js.map +1 -1
  202. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  203. package/dist/src/runtime/emit/constraint-check.js +41 -44
  204. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  205. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  206. package/dist/src/runtime/emit/create-view.js +6 -0
  207. package/dist/src/runtime/emit/create-view.js.map +1 -1
  208. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  209. package/dist/src/runtime/emit/cte.js +43 -20
  210. package/dist/src/runtime/emit/cte.js.map +1 -1
  211. package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
  212. package/dist/src/runtime/emit/distinct.js +6 -3
  213. package/dist/src/runtime/emit/distinct.js.map +1 -1
  214. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  215. package/dist/src/runtime/emit/dml-executor.js +241 -115
  216. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  217. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  218. package/dist/src/runtime/emit/hash-aggregate.js +16 -65
  219. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  220. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  221. package/dist/src/runtime/emit/insert.js +18 -7
  222. package/dist/src/runtime/emit/insert.js.map +1 -1
  223. package/dist/src/runtime/emit/join.js +5 -0
  224. package/dist/src/runtime/emit/join.js.map +1 -1
  225. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
  226. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  227. package/dist/src/runtime/emit/materialized-view-helpers.js +38 -7
  228. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  229. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  230. package/dist/src/runtime/emit/materialized-view.js +47 -6
  231. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  232. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  233. package/dist/src/runtime/emit/merge-join.js +18 -8
  234. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  235. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  236. package/dist/src/runtime/emit/recursive-cte.js +59 -1
  237. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  238. package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
  239. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  240. package/dist/src/runtime/emit/set-object-tags.js +8 -0
  241. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  242. package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
  243. package/dist/src/runtime/emit/set-operation.js +7 -4
  244. package/dist/src/runtime/emit/set-operation.js.map +1 -1
  245. package/dist/src/runtime/emit/sort.d.ts.map +1 -1
  246. package/dist/src/runtime/emit/sort.js +5 -2
  247. package/dist/src/runtime/emit/sort.js.map +1 -1
  248. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  249. package/dist/src/runtime/emit/subquery.js +113 -13
  250. package/dist/src/runtime/emit/subquery.js.map +1 -1
  251. package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
  252. package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
  253. package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
  254. package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
  255. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  256. package/dist/src/runtime/emit/update.js +44 -3
  257. package/dist/src/runtime/emit/update.js.map +1 -1
  258. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  259. package/dist/src/runtime/emit/window.js +72 -55
  260. package/dist/src/runtime/emit/window.js.map +1 -1
  261. package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
  262. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  263. package/dist/src/runtime/foreign-key-actions.js +238 -116
  264. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  265. package/dist/src/runtime/parallel-driver.d.ts +20 -1
  266. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  267. package/dist/src/runtime/parallel-driver.js +23 -1
  268. package/dist/src/runtime/parallel-driver.js.map +1 -1
  269. package/dist/src/runtime/types.d.ts +54 -0
  270. package/dist/src/runtime/types.d.ts.map +1 -1
  271. package/dist/src/runtime/types.js.map +1 -1
  272. package/dist/src/schema/catalog-persistability.d.ts +58 -0
  273. package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
  274. package/dist/src/schema/catalog-persistability.js +87 -0
  275. package/dist/src/schema/catalog-persistability.js.map +1 -0
  276. package/dist/src/schema/catalog.d.ts +17 -1
  277. package/dist/src/schema/catalog.d.ts.map +1 -1
  278. package/dist/src/schema/catalog.js +25 -3
  279. package/dist/src/schema/catalog.js.map +1 -1
  280. package/dist/src/schema/constraint-builder.d.ts +20 -22
  281. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  282. package/dist/src/schema/constraint-builder.js +43 -36
  283. package/dist/src/schema/constraint-builder.js.map +1 -1
  284. package/dist/src/schema/ddl-generator.d.ts +23 -0
  285. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  286. package/dist/src/schema/ddl-generator.js +27 -0
  287. package/dist/src/schema/ddl-generator.js.map +1 -1
  288. package/dist/src/schema/function.d.ts +109 -1
  289. package/dist/src/schema/function.d.ts.map +1 -1
  290. package/dist/src/schema/function.js.map +1 -1
  291. package/dist/src/schema/manager.d.ts +28 -0
  292. package/dist/src/schema/manager.d.ts.map +1 -1
  293. package/dist/src/schema/manager.js +82 -14
  294. package/dist/src/schema/manager.js.map +1 -1
  295. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  296. package/dist/src/schema/schema-differ.js +51 -12
  297. package/dist/src/schema/schema-differ.js.map +1 -1
  298. package/dist/src/schema/unique-enforcement.d.ts +31 -0
  299. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  300. package/dist/src/schema/unique-enforcement.js +37 -1
  301. package/dist/src/schema/unique-enforcement.js.map +1 -1
  302. package/dist/src/schema/window-function.d.ts +30 -10
  303. package/dist/src/schema/window-function.d.ts.map +1 -1
  304. package/dist/src/schema/window-function.js +20 -16
  305. package/dist/src/schema/window-function.js.map +1 -1
  306. package/dist/src/types/cast-semantics.d.ts +43 -0
  307. package/dist/src/types/cast-semantics.d.ts.map +1 -0
  308. package/dist/src/types/cast-semantics.js +59 -0
  309. package/dist/src/types/cast-semantics.js.map +1 -0
  310. package/dist/src/types/index.d.ts +1 -1
  311. package/dist/src/types/index.d.ts.map +1 -1
  312. package/dist/src/types/index.js +1 -1
  313. package/dist/src/types/index.js.map +1 -1
  314. package/dist/src/types/json-type.d.ts.map +1 -1
  315. package/dist/src/types/json-type.js +31 -10
  316. package/dist/src/types/json-type.js.map +1 -1
  317. package/dist/src/types/logical-type.d.ts +22 -0
  318. package/dist/src/types/logical-type.d.ts.map +1 -1
  319. package/dist/src/types/logical-type.js.map +1 -1
  320. package/dist/src/types/temporal-types.d.ts.map +1 -1
  321. package/dist/src/types/temporal-types.js +33 -11
  322. package/dist/src/types/temporal-types.js.map +1 -1
  323. package/dist/src/types/validation.d.ts +39 -1
  324. package/dist/src/types/validation.d.ts.map +1 -1
  325. package/dist/src/types/validation.js +60 -0
  326. package/dist/src/types/validation.js.map +1 -1
  327. package/dist/src/util/ast-spine-clone.d.ts +23 -0
  328. package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
  329. package/dist/src/util/ast-spine-clone.js +41 -0
  330. package/dist/src/util/ast-spine-clone.js.map +1 -0
  331. package/dist/src/util/coercion.d.ts +13 -0
  332. package/dist/src/util/coercion.d.ts.map +1 -1
  333. package/dist/src/util/coercion.js +10 -1
  334. package/dist/src/util/coercion.js.map +1 -1
  335. package/dist/src/util/comparison.d.ts +89 -0
  336. package/dist/src/util/comparison.d.ts.map +1 -1
  337. package/dist/src/util/comparison.js +156 -27
  338. package/dist/src/util/comparison.js.map +1 -1
  339. package/dist/src/vtab/manifest.d.ts +7 -0
  340. package/dist/src/vtab/manifest.d.ts.map +1 -1
  341. package/dist/src/vtab/memory/connection.d.ts +14 -1
  342. package/dist/src/vtab/memory/connection.d.ts.map +1 -1
  343. package/dist/src/vtab/memory/connection.js +20 -2
  344. package/dist/src/vtab/memory/connection.js.map +1 -1
  345. package/dist/src/vtab/memory/layer/base.d.ts +6 -1
  346. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  347. package/dist/src/vtab/memory/layer/base.js +14 -5
  348. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  349. package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
  350. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  351. package/dist/src/vtab/memory/layer/connection.js +26 -0
  352. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  353. package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
  354. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  355. package/dist/src/vtab/memory/layer/manager.js +595 -119
  356. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  357. package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
  358. package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
  359. package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
  360. package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
  361. package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
  362. package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
  363. package/dist/src/vtab/memory/layer/row-convert.js +30 -0
  364. package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
  365. package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
  366. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  367. package/dist/src/vtab/memory/layer/scan-layer.js +69 -36
  368. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  369. package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
  370. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  371. package/dist/src/vtab/memory/layer/transaction.js +214 -65
  372. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  373. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  374. package/dist/src/vtab/memory/module.js +9 -2
  375. package/dist/src/vtab/memory/module.js.map +1 -1
  376. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  377. package/dist/src/vtab/memory/table.js +3 -2
  378. package/dist/src/vtab/memory/table.js.map +1 -1
  379. package/dist/src/vtab/memory/types.d.ts +27 -1
  380. package/dist/src/vtab/memory/types.d.ts.map +1 -1
  381. package/dist/src/vtab/memory/types.js +16 -1
  382. package/dist/src/vtab/memory/types.js.map +1 -1
  383. package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
  384. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  385. package/dist/src/vtab/memory/utils/primary-key.js +11 -0
  386. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  387. package/dist/src/vtab/module.d.ts +63 -0
  388. package/dist/src/vtab/module.d.ts.map +1 -1
  389. package/dist/src/vtab/table.d.ts +24 -6
  390. package/dist/src/vtab/table.d.ts.map +1 -1
  391. package/dist/src/vtab/table.js.map +1 -1
  392. package/package.json +3 -3
  393. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -19
  394. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
  395. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -53
  396. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
@@ -13,7 +13,11 @@ export function emitRecursiveCTE(plan, ctx) {
13
13
  const { tableDescriptor } = plan;
14
14
  const hasLimit = !!plan.limitExpr;
15
15
  const hasOffset = !!plan.offsetExpr;
16
- async function* run(rctx, baseCaseResult, recursiveCaseCallback, ...rest) {
16
+ // Drive the recursion once: base case, then the semi-naïve iterative loop,
17
+ // through the global LIMIT/OFFSET gate. This is the streaming body; the run
18
+ // wrapper either yields it directly (single-reference) or buffers it once and
19
+ // replays per reference (multi-reference — see `plan.materialize`).
20
+ async function* driveRecursion(rctx, baseCaseResult, recursiveCaseCallback, ...rest) {
17
21
  log('Starting recursive CTE execution for %s (union=%s, algorithm=semi-naive)', plan.cteName, plan.isUnionAll ? 'ALL' : 'DISTINCT');
18
22
  // Resolve LIMIT/OFFSET if present
19
23
  let argIndex = 0;
@@ -113,6 +117,60 @@ export function emitRecursiveCTE(plan, ctx) {
113
117
  }
114
118
  log('Recursive CTE %s completed after %d iterations (semi-naive algorithm)', plan.cteName, iterationCount);
115
119
  }
120
+ async function* run(rctx, baseCaseResult, recursiveCaseCallback, ...rest) {
121
+ if (!plan.materialize) {
122
+ // Streaming path: single-reference recursive CTE. Each reference drives
123
+ // its own recursion, and streaming lets an outer LIMIT cut an unbounded
124
+ // recursion off before the iteration guard trips. Only ONE reference
125
+ // exists, so its drive owns the shared working-table `tableDescriptor`
126
+ // uncontended.
127
+ yield* driveRecursion(rctx, baseCaseResult, recursiveCaseCallback, ...rest);
128
+ return;
129
+ }
130
+ // Shared-buffer path: multi-referenced recursive CTE. Two interleaved
131
+ // streaming drives would clobber each other's delta on the shared
132
+ // `tableDescriptor` (the double-reference runaway). Instead drive the
133
+ // recursion exactly once per statement execution into a buffer keyed by that
134
+ // SAME `tableDescriptor`. Earlier optimizer passes duplicate a multi-
135
+ // referenced recursive CTE into distinct RecursiveCTENode instances (distinct
136
+ // plan ids), but every copy preserves the one tableDescriptor identity, so it
137
+ // — not plan.id — is what the references agree on. Mirrors emitCTE's
138
+ // shared-materialization idiom (which keys by plan id, since its references
139
+ // DO share one CTENode instance).
140
+ const buffers = (rctx.cteMaterializations ??= new Map());
141
+ let bufferPromise = buffers.get(tableDescriptor);
142
+ if (!bufferPromise) {
143
+ // First reference to run owns the single drive. Create and store the
144
+ // promise SYNCHRONOUSLY (before any await) so a second reference
145
+ // interleaving under a nested-loop join finds it and awaits instead of
146
+ // starting its own drive on the shared `tableDescriptor`. The drive runs
147
+ // detached so it drains independently of how the join pulls — the owner
148
+ // reference can't yield row 1 until the drive finishes, and the drive
149
+ // doesn't depend on downstream pulls, which is what breaks the deadlock.
150
+ // NOTE: like emitCTE, an abandoned drive (every consumer torn down early)
151
+ // still runs to completion in the background; bounded by the recursion's
152
+ // row count and its maxRecursion guard.
153
+ bufferPromise = (async () => {
154
+ const rows = [];
155
+ for await (const row of driveRecursion(rctx, baseCaseResult, recursiveCaseCallback, ...rest)) {
156
+ rows.push([...row]);
157
+ }
158
+ return rows;
159
+ })();
160
+ // Pre-attach a no-op rejection handler: if the drive fails after every
161
+ // awaiting reference has detached, the stored promise would otherwise
162
+ // surface an unhandled rejection. Still-awaiting references observe the
163
+ // rejection through their own await.
164
+ bufferPromise.catch(() => { });
165
+ buffers.set(tableDescriptor, bufferPromise);
166
+ }
167
+ const rows = await bufferPromise;
168
+ for (const row of rows) {
169
+ // Copy per consumer so a downstream mutator cannot corrupt another
170
+ // reference's (or a replay's) view of the buffer.
171
+ yield [...row];
172
+ }
173
+ }
116
174
  // Emit both base case and recursive case instructions
117
175
  const baseCaseInstruction = emitPlanNode(plan.baseCaseQuery, ctx);
118
176
  const recursiveCaseInstruction = emitCallFromPlan(plan.recursiveCaseQuery, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"recursive-cte.js","sourceRoot":"","sources":["../../../../src/runtime/emit/recursive-cte.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,MAAM,GAAG,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,IAAsB,EAAE,GAAoB;IAC5E,iEAAiE;IACjE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAEpC,KAAK,SAAS,CAAC,CAAC,GAAG,CAClB,IAAoB,EACpB,cAAkC,EAClC,qBAAkE,EAClE,GAAG,IAA4D;QAE/D,GAAG,CAAC,0EAA0E,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEpI,kCAAkC;QAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3D,IAAI,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,IAAI,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAEvD,iEAAiE;QACjE,MAAM,WAAW,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAEnE,qFAAqF;QACrF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC;QAErF,mFAAmF;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CACrD,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,6CAA6C;QAChE,WAAW,CACX,CAAC;QACF,IAAI,SAAS,GAAU,EAAE,CAAC;QAE1B,+CAA+C;QAC/C,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,4DAA4D;QAClF,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,8CAA8C;QAErE,kFAAkF;QAClF,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAQ;YACnC,aAAa,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;gBAC7B,OAAO,aAAa,GAAG,WAAW,CAAC;YACpC,CAAC;YACD,IAAI,YAAY,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,GAAG,CAAC;YACV,YAAY,EAAE,CAAC;YACf,OAAO,YAAY,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;QAEF,uDAAuD;QACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACxC,gDAAgD;YAChD,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAE/D,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACzB,MAAM,UAAU,CAAC,KAAK,CAAC;oBACvB,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;gBAErC,8EAA8E;gBAC9E,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAQ,CAAC,CAAC;gBAEhC,IAAI,CAAC,iBAAiB;oBAAE,MAAM;YAC/B,CAAC;QACF,CAAC;QAED,mDAAmD;QACnD,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,OAAO,iBAAiB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,cAAc,GAAG,aAAa,CAAC,EAAE,CAAC;YAC7G,EAAE,cAAc,CAAC;YACjB,GAAG,CAAC,+CAA+C,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAErG,iFAAiF;YACjF,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAU,EAAE,CAAC,CAAC,kCAAkC;YAElE,iEAAiE;YACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACJ,qEAAqE;gBACrE,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrD,0EAA0E;oBAC1E,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAE/D,IAAI,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;4BACzB,MAAM,UAAU,CAAC,KAAK,CAAC;4BACvB,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC1B,CAAC;wBACD,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;wBAErC,sEAAsE;wBACtE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAQ,CAAC,CAAC;wBAEnC,IAAI,CAAC,iBAAiB;4BAAE,MAAM;oBAC/B,CAAC;gBACF,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YAED,0EAA0E;YAC1E,SAAS,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,uEAAuE;QACvE,6FAA6F;QAC7F,IAAI,aAAa,GAAG,CAAC,IAAI,cAAc,IAAI,aAAa,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACvG,YAAY,CACX,kBAAkB,IAAI,CAAC,OAAO,uCAAuC,aAAa,GAAG,EACrF,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,GAAG,CAAC,uEAAuE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5G,CAAC;IAED,sDAAsD;IACtD,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAkB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzE,OAAO;QACN,MAAM;QACN,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,gBAAgB,IAAI,CAAC,OAAO,GAAG;KACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"recursive-cte.js","sourceRoot":"","sources":["../../../../src/runtime/emit/recursive-cte.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,MAAM,GAAG,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AAEvD,MAAM,UAAU,gBAAgB,CAAC,IAAsB,EAAE,GAAoB;IAC5E,iEAAiE;IACjE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAClC,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAEpC,2EAA2E;IAC3E,4EAA4E;IAC5E,8EAA8E;IAC9E,oEAAoE;IACpE,KAAK,SAAS,CAAC,CAAC,cAAc,CAC7B,IAAoB,EACpB,cAAkC,EAClC,qBAAkE,EAClE,GAAG,IAA4D;QAE/D,GAAG,CAAC,0EAA0E,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEpI,kCAAkC;QAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3D,IAAI,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAChE,IAAI,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,CAAC,CAAC;QAEvD,iEAAiE;QACjE,MAAM,WAAW,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;QAEnE,qFAAqF;QACrF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC;QAErF,mFAAmF;QACnF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CACrD,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,6CAA6C;QAChE,WAAW,CACX,CAAC;QACF,IAAI,SAAS,GAAU,EAAE,CAAC;QAE1B,+CAA+C;QAC/C,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,4DAA4D;QAClF,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,8CAA8C;QAErE,kFAAkF;QAClF,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAQ;YACnC,aAAa,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;gBAC7B,OAAO,aAAa,GAAG,WAAW,CAAC;YACpC,CAAC;YACD,IAAI,YAAY,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxC,MAAM,GAAG,CAAC;YACV,YAAY,EAAE,CAAC;YACf,OAAO,YAAY,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;QAEF,uDAAuD;QACvD,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACxC,gDAAgD;YAChD,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAE/D,IAAI,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;oBACzB,MAAM,UAAU,CAAC,KAAK,CAAC;oBACvB,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBACD,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;gBAErC,8EAA8E;gBAC9E,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAQ,CAAC,CAAC;gBAEhC,IAAI,CAAC,iBAAiB;oBAAE,MAAM;YAC/B,CAAC;QACF,CAAC;QAED,mDAAmD;QACnD,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,OAAO,iBAAiB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,cAAc,GAAG,aAAa,CAAC,EAAE,CAAC;YAC7G,EAAE,cAAc,CAAC;YACjB,GAAG,CAAC,+CAA+C,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAErG,iFAAiF;YACjF,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAU,EAAE,CAAC,CAAC,kCAAkC;YAElE,iEAAiE;YACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,CAAC;gBACJ,qEAAqE;gBACrE,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrD,0EAA0E;oBAC1E,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAE/D,IAAI,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC7B,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;4BACzB,MAAM,UAAU,CAAC,KAAK,CAAC;4BACvB,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC1B,CAAC;wBACD,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;wBAErC,sEAAsE;wBACtE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAQ,CAAC,CAAC;wBAEnC,IAAI,CAAC,iBAAiB;4BAAE,MAAM;oBAC/B,CAAC;gBACF,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YAED,0EAA0E;YAC1E,SAAS,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,uEAAuE;QACvE,6FAA6F;QAC7F,IAAI,aAAa,GAAG,CAAC,IAAI,cAAc,IAAI,aAAa,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACvG,YAAY,CACX,kBAAkB,IAAI,CAAC,OAAO,uCAAuC,aAAa,GAAG,EACrF,UAAU,CAAC,KAAK,CAChB,CAAC;QACH,CAAC;QAED,GAAG,CAAC,uEAAuE,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC5G,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,GAAG,CAClB,IAAoB,EACpB,cAAkC,EAClC,qBAAkE,EAClE,GAAG,IAA4D;QAE/D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,eAAe;YACf,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,CAAC;YAC5E,OAAO;QACR,CAAC;QAED,sEAAsE;QACtE,kEAAkE;QAClE,sEAAsE;QACtE,6EAA6E;QAC7E,sEAAsE;QACtE,8EAA8E;QAC9E,8EAA8E;QAC9E,qEAAqE;QACrE,4EAA4E;QAC5E,kCAAkC;QAClC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,mBAAmB,KAAK,IAAI,GAAG,EAAmD,CAAC,CAAC;QAC1G,IAAI,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,qEAAqE;YACrE,iEAAiE;YACjE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,wCAAwC;YACxC,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC3B,MAAM,IAAI,GAAU,EAAE,CAAC;gBACvB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;oBAC9F,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAQ,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,EAAE,CAAC;YACL,uEAAuE;YACvE,sEAAsE;YACtE,wEAAwE;YACxE,qCAAqC;YACrC,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAyC,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,mEAAmE;YACnE,kDAAkD;YAClD,MAAM,CAAC,GAAG,GAAG,CAAQ,CAAC;QACvB,CAAC;IACF,CAAC;IAED,sDAAsD;IACtD,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAkB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzE,OAAO;QACN,MAAM;QACN,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,gBAAgB,IAAI,CAAC,OAAO,GAAG;KACrC,CAAC;AACH,CAAC"}
@@ -11,6 +11,14 @@ import type { EmissionContext } from '../emission-context.js';
11
11
  * invalidate. Reserved-tag validation already ran at plan-build time (SET/ADD
12
12
  * only). NOTFOUND on a missing object — or a drop-of-absent key — surfaces from
13
13
  * the setter.
14
+ *
15
+ * NOTE: deliberately NOT covered by the `ddl_transaction_policy = 'strict'` gate
16
+ * (see ddl-transaction-policy.ts), because it dispatches to no module — matching
17
+ * the gate's stated scope ("module-dispatching DDL"; `create view` and friends
18
+ * are out too). This does leave one asymmetry: `alter table t set tags` IS gated,
19
+ * since the ALTER emitter gates every arm uniformly rather than per-arm. If a
20
+ * module ever persists tags such that a tag edit survives rollback — or the gate's
21
+ * scope is restated as "anything that escapes the transaction" — gate here too.
14
22
  */
15
23
  export declare function emitSetObjectTags(plan: SetObjectTagsNode, _ctx: EmissionContext): Instruction;
16
24
  //# sourceMappingURL=set-object-tags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-object-tags.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/set-object-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAmC7F"}
1
+ {"version":3,"file":"set-object-tags.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/set-object-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAmC7F"}
@@ -10,6 +10,14 @@ const log = createLogger('runtime:emit:set-object-tags');
10
10
  * invalidate. Reserved-tag validation already ran at plan-build time (SET/ADD
11
11
  * only). NOTFOUND on a missing object — or a drop-of-absent key — surfaces from
12
12
  * the setter.
13
+ *
14
+ * NOTE: deliberately NOT covered by the `ddl_transaction_policy = 'strict'` gate
15
+ * (see ddl-transaction-policy.ts), because it dispatches to no module — matching
16
+ * the gate's stated scope ("module-dispatching DDL"; `create view` and friends
17
+ * are out too). This does leave one asymmetry: `alter table t set tags` IS gated,
18
+ * since the ALTER emitter gates every arm uniformly rather than per-arm. If a
19
+ * module ever persists tags such that a tag edit survives rollback — or the gate's
20
+ * scope is restated as "anything that escapes the transaction" — gate here too.
13
21
  */
14
22
  export function emitSetObjectTags(plan, _ctx) {
15
23
  async function run(rctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"set-object-tags.js","sourceRoot":"","sources":["../../../../src/runtime/emit/set-object-tags.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,GAAG,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuB,EAAE,IAAqB;IAC/E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,yEAAyE;QACzE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,4EAA4E;QAC5E,4EAA4E;QAC5E,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,KAAK,MAAM;gBACV,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBACpE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAC3E,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxD,MAAM;YACP,KAAK,kBAAkB;gBACtB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBAChF,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBACvF,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,OAAO;gBACX,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBACrE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAC5E,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,MAAM;QACR,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG;QACH,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,GAAG;KACzF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"set-object-tags.js","sourceRoot":"","sources":["../../../../src/runtime/emit/set-object-tags.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,GAAG,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAuB,EAAE,IAAqB;IAC/E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,yEAAyE;QACzE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxB,4EAA4E;QAC5E,4EAA4E;QAC5E,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,KAAK,MAAM;gBACV,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBACpE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAC3E,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxD,MAAM;YACP,KAAK,kBAAkB;gBACtB,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBAChF,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBACvF,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,OAAO;gBACX,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM;oBAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;qBACrE,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO;oBAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;oBAC5E,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,MAAM;QACR,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO;QACN,MAAM,EAAE,EAAE;QACV,GAAG;QACH,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,GAAG;KACzF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"set-operation.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/set-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAyP1F"}
1
+ {"version":3,"file":"set-operation.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/set-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA6P1F"}
@@ -1,14 +1,16 @@
1
1
  import { asRun } from '../types.js';
2
2
  import { emitPlanNode } from '../emitters.js';
3
3
  import { BTree } from 'inheritree';
4
- import { createCollationRowComparator, BINARY_COLLATION } from '../../util/comparison.js';
4
+ import { createSemanticRowComparator, BINARY_COLLATION } from '../../util/comparison.js';
5
5
  export function emitSetOperation(plan, ctx) {
6
6
  const leftInst = emitPlanNode(plan.left, ctx);
7
7
  const rightInst = emitPlanNode(plan.right, ctx);
8
- // Pre-resolve collation-based row comparator (safe for mixed-type rows in set
8
+ // Pre-resolve the row-identity comparator (safe for mixed-type rows in set
9
9
  // operations). The comparator runs over the DATA columns only — membership flags
10
10
  // are appended after, but dedup / probe identity is on data columns alone, so set
11
- // identity is never perturbed by the flags.
11
+ // identity is never perturbed by the flags. Columns whose merged output type has
12
+ // semantic ordering (TIMESPAN, JSON) compare through the type's compare so set
13
+ // identity agrees with `=` (see createSemanticRowComparator).
12
14
  //
13
15
  // Each data column's collation is the CROSS-INPUT resolved collation: `SetOperationNode`
14
16
  // merges both operands' column types through the shared comparison lattice and writes
@@ -20,7 +22,8 @@ export function emitSetOperation(plan, ctx) {
20
22
  // DATA arity is recursive (`plan.dataColumnCount()`), NOT `plan.left.getType().columns.length`
21
23
  // — a flagged inner set-op operand on the left would over-count by its surfaced flags.
22
24
  const dataColCount = plan.dataColumnCount();
23
- const dataComparator = createCollationRowComparator(attributes.slice(0, dataColCount).map(attr => attr.type.collationName ? ctx.resolveCollation(attr.type.collationName) : BINARY_COLLATION));
25
+ const dataAttributes = attributes.slice(0, dataColCount);
26
+ const dataComparator = createSemanticRowComparator(dataAttributes.map(attr => attr.type.logicalType), dataAttributes.map(attr => attr.type.collationName ? ctx.resolveCollation(attr.type.collationName) : BINARY_COLLATION));
24
27
  // Helper function to create a properly structured DATA row (flags excluded; the
25
28
  // membership runner appends them after the operator produces its rows).
26
29
  function createOutputRow(inputRow) {
@@ -1 +1 @@
1
- {"version":3,"file":"set-operation.js","sourceRoot":"","sources":["../../../../src/runtime/emit/set-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"set-operation.js","sourceRoot":"","sources":["../../../../src/runtime/emit/set-operation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAiE1E"}
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAoE1E"}
@@ -1,6 +1,6 @@
1
1
  import { asRun } from '../types.js';
2
2
  import { emitPlanNode, emitCallFromPlan } from '../emitters.js';
3
- import { createOrderByComparatorFast } from '../../util/comparison.js';
3
+ import { createTypedOrderByComparator } from '../../util/comparison.js';
4
4
  import { buildRowDescriptor } from '../../util/row-descriptor.js';
5
5
  import { withAsyncRowContext } from '../context-helpers.js';
6
6
  export function emitSort(plan, ctx) {
@@ -13,7 +13,10 @@ export function emitSort(plan, ctx) {
13
13
  const keyType = key.expression.getType();
14
14
  const collationName = keyType.collationName || 'BINARY';
15
15
  const collationFunc = ctx.resolveCollation(collationName);
16
- return createOrderByComparatorFast(key.direction, key.nulls, collationFunc);
16
+ // Semantic-ordering key types (TIMESPAN, JSON) rank by the type's compare;
17
+ // everything else keeps the storage-class + collation fast path. Per-key
18
+ // selection, so composite sorts mix typed and plain keys correctly.
19
+ return createTypedOrderByComparator(keyType.logicalType, key.direction, key.nulls, collationFunc);
17
20
  });
18
21
  async function* run(ctx, source, ...sortKeyFunctions) {
19
22
  // Collect all rows with their sort key values
@@ -1 +1 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../src/runtime/emit/sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../src/runtime/emit/sort.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subquery.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/subquery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAwB9D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAoE9F;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAqMtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA+C9E"}
1
+ {"version":3,"file":"subquery.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/subquery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAI/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA0B9D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAoE9F;AA+BD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAqRtE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA+C9E"}
@@ -3,9 +3,10 @@ import { emitPlanNode } from '../emitters.js';
3
3
  import { QuereusError } from '../../common/errors.js';
4
4
  import { StatusCode } from '../../common/types.js';
5
5
  import { BTree } from 'inheritree';
6
- import { compareSqlValuesFast } from '../../util/comparison.js';
6
+ import { compareSqlValuesFast, hasSemanticOrdering, semanticKeyTransform } from '../../util/comparison.js';
7
7
  import { PlanNodeCharacteristics } from '../../planner/framework/characteristics.js';
8
- import { effectiveInCollation } from '../../planner/analysis/comparison-collation.js';
8
+ import { effectiveInCollation, inRhsTypes } from '../../planner/analysis/comparison-collation.js';
9
+ import { isCorrelatedSubquery } from '../../planner/cache/correlation-detector.js';
9
10
  /**
10
11
  * Once-per-execution memo for impure (DML-bearing) subquery inners. The cell
11
12
  * lives on the {@link RuntimeContext} — rebuilt for every statement execution —
@@ -77,6 +78,34 @@ export function emitScalarSubquery(plan, ctx) {
77
78
  note: 'SCALAR_SUBQUERY'
78
79
  };
79
80
  }
81
+ const IDENTITY_KEY = (value) => value;
82
+ /**
83
+ * Membership key transform for `condition IN (...)`. IN is an identity test, so when
84
+ * an operand declares a semantic-ordering logical type (see
85
+ * {@link hasSemanticOrdering}) the probe AND every RHS value are normalized through
86
+ * that type's canonical group key before comparing. Without it, `d IN ('PT120M')` on a
87
+ * TIMESPAN column compares raw duration text and misses, while `d = 'PT120M'` matches
88
+ * on elapsed time — IN must not disagree with the equality it desugars to.
89
+ *
90
+ * Normalizing (rather than routing the type's `compare` straight into the comparator,
91
+ * as `emitComparisonOp`/BETWEEN do) is what keeps the BTree paths sound: the keys are
92
+ * ranked by plain storage-class + collation order, which is total even when a list
93
+ * literal is not a valid value of the type — `TIMESPAN.compare` mixes elapsed-time and
94
+ * text ordering in that case and is not.
95
+ *
96
+ * A mixed pair (typed column vs plain text literal) still normalizes, matching
97
+ * `emitComparisonOp`'s generic path, whose runtime temporal check compares
98
+ * duration-vs-text semantically. Types with semantic ordering but no `groupKey` (JSON,
99
+ * whose canonical text is already identity-faithful) take no transform, as do
100
+ * membership tests whose operands declare two different semantic types.
101
+ */
102
+ function inMembershipKey(plan) {
103
+ const types = [plan.condition.getType().logicalType, ...inRhsTypes(plan).map(t => t.logicalType)];
104
+ const semantic = new Set(types.filter(hasSemanticOrdering));
105
+ if (semantic.size !== 1)
106
+ return IDENTITY_KEY;
107
+ return semanticKeyTransform(semantic.values().next().value) ?? IDENTITY_KEY;
108
+ }
80
109
  export function emitIn(plan, ctx) {
81
110
  // ONE collation for the whole membership test (condition vs every RHS
82
111
  // value), resolved through the shared provenance lattice — the BTree build
@@ -84,6 +113,9 @@ export function emitIn(plan, ctx) {
84
113
  // already rejected conflicts at plan time.
85
114
  const collationName = effectiveInCollation(plan);
86
115
  const collation = ctx.resolveCollation(collationName);
116
+ // Canonical identity key applied to both sides of every comparison below.
117
+ const memberKey = inMembershipKey(plan);
118
+ const keyNote = memberKey === IDENTITY_KEY ? '' : ' semantic';
87
119
  if (plan.source) {
88
120
  const isImpure = PlanNodeCharacteristics.subtreeHasSideEffects(plan.source);
89
121
  if (isImpure) {
@@ -98,13 +130,14 @@ export function emitIn(plan, ctx) {
98
130
  let matched = false;
99
131
  let hasNull = false;
100
132
  const shouldCompare = condition !== null;
133
+ const conditionKey = shouldCompare ? memberKey(condition) : null;
101
134
  for await (const row of input) {
102
135
  if (row.length > 0) {
103
136
  const rowValue = row[0];
104
137
  if (rowValue === null) {
105
138
  hasNull = true;
106
139
  }
107
- else if (shouldCompare && !matched && compareSqlValuesFast(condition, rowValue, collation) === 0) {
140
+ else if (shouldCompare && !matched && compareSqlValuesFast(conditionKey, memberKey(rowValue), collation) === 0) {
108
141
  matched = true;
109
142
  }
110
143
  }
@@ -128,15 +161,81 @@ export function emitIn(plan, ctx) {
128
161
  return {
129
162
  params: [sourceInstruction, conditionExpr],
130
163
  run: asRun(runImpure),
131
- note: 'IN(impure)'
164
+ note: `IN(impure)${keyNote}`
165
+ };
166
+ }
167
+ // Uncorrelated + functional (deterministic, read-only) source: materialize
168
+ // the subquery result once per execution into a lookup set and probe it per
169
+ // outer row — O(K + N·log K). This replaces re-driving the subquery for every
170
+ // candidate row, the O(N×K) cliff that a per-row streaming scan degrades to at
171
+ // scale (see quereus-in-subquery-set-probe). The gate matches the retired
172
+ // `rule-in-subquery-cache`: a correlated source must re-evaluate per outer row,
173
+ // and a non-deterministic source must keep its per-row semantics — both route
174
+ // to the streaming path below. Parameter references inside the subquery are NOT
175
+ // correlation (they are ParameterReference, not ColumnReference), so a
176
+ // parameterized-but-uncorrelated subquery takes this path and rebuilds per
177
+ // execution as the bound value changes.
178
+ if (!isCorrelatedSubquery(plan.source) && PlanNodeCharacteristics.isFunctional(plan.source)) {
179
+ // Per-execution memo: the set lives on the RuntimeContext (rebuilt each
180
+ // execution), keyed by a symbol minted here at emit time. The emit-time
181
+ // closure persists across prepared-statement runs but holds only the
182
+ // symbol — never the tree — so the set resets between executions and a
183
+ // re-run re-drains the source with current data. Same rule as the
184
+ // impure-IN memo and emitCache.
185
+ const probeKey = Symbol('IN(set-probe)');
186
+ // NOTE: the set holds deduplicated scalar values — strictly less memory
187
+ // than the row cache it replaces, and the literal `IN (a, b, …)` path is
188
+ // already uncapped, so no size cap here. If enormous inner results ever
189
+ // need bounding, add a threshold that spills to the streaming path.
190
+ async function runSetProbe(rctx, input, condition) {
191
+ // Condition NULL → NULL, and do NOT force the build (short-circuit).
192
+ if (condition === null) {
193
+ return null;
194
+ }
195
+ let probe = rctx.inSetProbes?.get(probeKey);
196
+ if (!probe) {
197
+ // First evaluation that needs the set: drain the source once into a
198
+ // BTree keyed under the membership collation, tracking inner NULLs.
199
+ const tree = new BTree((val) => val, (a, b) => compareSqlValuesFast(a, b, collation));
200
+ let hasNull = false;
201
+ for await (const row of input) {
202
+ if (row.length > 0) {
203
+ const rowValue = row[0];
204
+ if (rowValue === null) {
205
+ hasNull = true;
206
+ }
207
+ else {
208
+ // Duplicate keys are a no-op insert — the set only tracks membership.
209
+ tree.insert(memberKey(rowValue));
210
+ }
211
+ }
212
+ }
213
+ probe = { tree, hasNull };
214
+ (rctx.inSetProbes ??= new Map()).set(probeKey, probe);
215
+ }
216
+ // Three-valued membership, identical to the streaming and value-list paths:
217
+ // hit → true; miss → NULL if the inner had a NULL, else false.
218
+ if (probe.tree.find(memberKey(condition)).on) {
219
+ return true;
220
+ }
221
+ return probe.hasNull ? null : false;
222
+ }
223
+ const sourceInstruction = emitPlanNode(plan.source, ctx);
224
+ const conditionExpr = emitPlanNode(plan.condition, ctx);
225
+ return {
226
+ params: [sourceInstruction, conditionExpr],
227
+ run: asRun(runSetProbe),
228
+ note: `IN (subquery set-probe)${keyNote}`
132
229
  };
133
230
  }
134
- // Pure subquery: streaming + early exit on match.
231
+ // Correlated or non-deterministic source: streaming + early exit on match,
232
+ // re-evaluated per outer row.
135
233
  async function runSubqueryStreaming(_rctx, input, condition) {
136
234
  // If condition is NULL, result is NULL
137
235
  if (condition === null) {
138
236
  return null;
139
237
  }
238
+ const conditionKey = memberKey(condition);
140
239
  let hasNull = false;
141
240
  for await (const row of input) {
142
241
  if (row.length > 0) {
@@ -146,7 +245,7 @@ export function emitIn(plan, ctx) {
146
245
  continue;
147
246
  }
148
247
  // Check for match immediately - no need to materialize
149
- if (compareSqlValuesFast(condition, rowValue, collation) === 0) {
248
+ if (compareSqlValuesFast(conditionKey, memberKey(rowValue), collation) === 0) {
150
249
  return true; // Found a match
151
250
  }
152
251
  }
@@ -159,7 +258,7 @@ export function emitIn(plan, ctx) {
159
258
  return {
160
259
  params: [sourceInstruction, conditionExpr],
161
260
  run: asRun(runSubqueryStreaming),
162
- note: `IN (subquery)`
261
+ note: `IN (subquery)${keyNote}`
163
262
  };
164
263
  }
165
264
  else if (plan.values) {
@@ -176,7 +275,7 @@ export function emitIn(plan, ctx) {
176
275
  return null;
177
276
  }
178
277
  // Check if condition exists in pre-built tree
179
- const path = tree.find(condition);
278
+ const path = tree.find(memberKey(condition));
180
279
  if (path.on) {
181
280
  return true; // Found a match
182
281
  }
@@ -194,7 +293,7 @@ export function emitIn(plan, ctx) {
194
293
  hasNull = true;
195
294
  continue;
196
295
  }
197
- tree.insert(value);
296
+ tree.insert(memberKey(value));
198
297
  }
199
298
  return innerConstantRun(rctx, condition);
200
299
  });
@@ -205,7 +304,7 @@ export function emitIn(plan, ctx) {
205
304
  hasNull = true;
206
305
  continue;
207
306
  }
208
- tree.insert(value);
307
+ tree.insert(memberKey(value));
209
308
  }
210
309
  runFunc = asRun(innerConstantRun);
211
310
  }
@@ -213,7 +312,7 @@ export function emitIn(plan, ctx) {
213
312
  return {
214
313
  params: [conditionExpr],
215
314
  run: runFunc,
216
- note: `IN (${plan.values.length} constant values)`
315
+ note: `IN (${plan.values.length} constant values)${keyNote}`
217
316
  };
218
317
  }
219
318
  else {
@@ -224,13 +323,14 @@ export function emitIn(plan, ctx) {
224
323
  return null;
225
324
  }
226
325
  // Linear scan is optimal since we're only doing one lookup per execution
326
+ const conditionKey = memberKey(condition);
227
327
  let hasNull = false;
228
328
  for (const value of values) {
229
329
  if (value === null) {
230
330
  hasNull = true;
231
331
  continue;
232
332
  }
233
- if (compareSqlValuesFast(condition, value, collation) === 0) {
333
+ if (compareSqlValuesFast(conditionKey, memberKey(value), collation) === 0) {
234
334
  return true; // Found a match
235
335
  }
236
336
  }
@@ -242,7 +342,7 @@ export function emitIn(plan, ctx) {
242
342
  return {
243
343
  params: [conditionExpr, ...valueExprs],
244
344
  run: asRun(runDynamicValues),
245
- note: `IN (${plan.values.length} dynamic values)`
345
+ note: `IN (${plan.values.length} dynamic values)${keyNote}`
246
346
  };
247
347
  }
248
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subquery.js","sourceRoot":"","sources":["../../../../src/runtime/emit/subquery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subquery.js","sourceRoot":"","sources":["../../../../src/runtime/emit/subquery.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,11 @@ export declare function emitTemporalArithmetic(plan: BinaryOpNode, ctx: Emission
30
30
  * @returns Comparison result (boolean) if temporal comparison, undefined otherwise
31
31
  */
32
32
  export declare function tryTemporalComparison(operator: string, v1: SqlValue, v2: SqlValue): SqlValue | undefined;
33
+ /**
34
+ * Three-way duration compare, for callers that need an ordering rather than a
35
+ * boolean verdict (BETWEEN's per-bound comparator). Returns undefined unless BOTH
36
+ * values look like ISO 8601 duration strings — the same guard
37
+ * {@link tryTemporalComparison} applies, so the two never disagree.
38
+ */
39
+ export declare function tryTemporalCompare(v1: SqlValue, v2: SqlValue): number | undefined;
33
40
  //# sourceMappingURL=temporal-arithmetic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporal-arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/temporal-arithmetic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAmI9D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAmMxG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAe5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CA6BxG"}
1
+ {"version":3,"file":"temporal-arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/temporal-arithmetic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAmI9D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAmMxG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAe5F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAsBxG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAKjF"}