@quereus/quereus 4.6.0 → 4.8.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 (584) hide show
  1. package/README.md +2 -2
  2. package/dist/src/common/errors.d.ts +17 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +21 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/common/types.d.ts +19 -0
  7. package/dist/src/common/types.d.ts.map +1 -1
  8. package/dist/src/common/types.js.map +1 -1
  9. package/dist/src/core/database-assertions.d.ts +4 -3
  10. package/dist/src/core/database-assertions.d.ts.map +1 -1
  11. package/dist/src/core/database-assertions.js +44 -14
  12. package/dist/src/core/database-assertions.js.map +1 -1
  13. package/dist/src/core/database-events.d.ts +62 -0
  14. package/dist/src/core/database-events.d.ts.map +1 -1
  15. package/dist/src/core/database-events.js +88 -2
  16. package/dist/src/core/database-events.js.map +1 -1
  17. package/dist/src/core/database-internal.d.ts +5 -2
  18. package/dist/src/core/database-internal.d.ts.map +1 -1
  19. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  20. package/dist/src/core/database-materialized-views-plan-builders.js +4 -2
  21. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  22. package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
  23. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  24. package/dist/src/core/database-materialized-views.d.ts +46 -0
  25. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  26. package/dist/src/core/database-materialized-views.js +75 -4
  27. package/dist/src/core/database-materialized-views.js.map +1 -1
  28. package/dist/src/core/database.d.ts +48 -2
  29. package/dist/src/core/database.d.ts.map +1 -1
  30. package/dist/src/core/database.js +222 -11
  31. package/dist/src/core/database.js.map +1 -1
  32. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  33. package/dist/src/core/derived-row-validator.js +7 -1
  34. package/dist/src/core/derived-row-validator.js.map +1 -1
  35. package/dist/src/core/statement.d.ts.map +1 -1
  36. package/dist/src/core/statement.js +101 -5
  37. package/dist/src/core/statement.js.map +1 -1
  38. package/dist/src/emit/ast-stringify.d.ts +18 -2
  39. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  40. package/dist/src/emit/ast-stringify.js +22 -4
  41. package/dist/src/emit/ast-stringify.js.map +1 -1
  42. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  43. package/dist/src/func/builtins/explain.js +19 -5
  44. package/dist/src/func/builtins/explain.js.map +1 -1
  45. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  46. package/dist/src/func/builtins/scalar.js +24 -20
  47. package/dist/src/func/builtins/scalar.js.map +1 -1
  48. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  49. package/dist/src/func/builtins/schema.js +32 -5
  50. package/dist/src/func/builtins/schema.js.map +1 -1
  51. package/dist/src/index.d.ts +9 -5
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +7 -5
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/parser/ast.d.ts +58 -1
  56. package/dist/src/parser/ast.d.ts.map +1 -1
  57. package/dist/src/parser/parser.js +1 -1
  58. package/dist/src/parser/parser.js.map +1 -1
  59. package/dist/src/parser/utils.d.ts +13 -1
  60. package/dist/src/parser/utils.d.ts.map +1 -1
  61. package/dist/src/parser/utils.js +14 -0
  62. package/dist/src/parser/utils.js.map +1 -1
  63. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  64. package/dist/src/planner/analysis/assertion-classifier.js +7 -2
  65. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  66. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  67. package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
  68. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  69. package/dist/src/planner/analysis/change-scope.d.ts +11 -3
  70. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  71. package/dist/src/planner/analysis/change-scope.js +5 -4
  72. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  73. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  74. package/dist/src/planner/analysis/coverage-prover.js +13 -5
  75. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  76. package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
  77. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
  78. package/dist/src/planner/analysis/equi-correlation.js +8 -1
  79. package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
  80. package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
  81. package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
  82. package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
  83. package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
  84. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
  85. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  86. package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
  87. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  88. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  89. package/dist/src/planner/building/alter-table.js +53 -17
  90. package/dist/src/planner/building/alter-table.js.map +1 -1
  91. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  92. package/dist/src/planner/building/constraint-builder.js +9 -5
  93. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  94. package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
  95. package/dist/src/planner/building/create-assertion.js +72 -1
  96. package/dist/src/planner/building/create-assertion.js.map +1 -1
  97. package/dist/src/planner/building/create-view.d.ts +6 -1
  98. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  99. package/dist/src/planner/building/create-view.js +12 -3
  100. package/dist/src/planner/building/create-view.js.map +1 -1
  101. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  102. package/dist/src/planner/building/ddl.js +6 -2
  103. package/dist/src/planner/building/ddl.js.map +1 -1
  104. package/dist/src/planner/building/delete.d.ts.map +1 -1
  105. package/dist/src/planner/building/delete.js +23 -10
  106. package/dist/src/planner/building/delete.js.map +1 -1
  107. package/dist/src/planner/building/dml-target.d.ts.map +1 -1
  108. package/dist/src/planner/building/dml-target.js +4 -0
  109. package/dist/src/planner/building/dml-target.js.map +1 -1
  110. package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
  111. package/dist/src/planner/building/drop-assertion.js +3 -1
  112. package/dist/src/planner/building/drop-assertion.js.map +1 -1
  113. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  114. package/dist/src/planner/building/foreign-key-builder.js +7 -5
  115. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  116. package/dist/src/planner/building/function-call.d.ts +35 -0
  117. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  118. package/dist/src/planner/building/function-call.js +53 -40
  119. package/dist/src/planner/building/function-call.js.map +1 -1
  120. package/dist/src/planner/building/insert.d.ts.map +1 -1
  121. package/dist/src/planner/building/insert.js +185 -48
  122. package/dist/src/planner/building/insert.js.map +1 -1
  123. package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
  124. package/dist/src/planner/building/materialized-view.js +3 -1
  125. package/dist/src/planner/building/materialized-view.js.map +1 -1
  126. package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
  127. package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
  128. package/dist/src/planner/building/schema-authored-context.js +75 -0
  129. package/dist/src/planner/building/schema-authored-context.js.map +1 -0
  130. package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
  131. package/dist/src/planner/building/schema-resolution.js +7 -4
  132. package/dist/src/planner/building/schema-resolution.js.map +1 -1
  133. package/dist/src/planner/building/select-aggregates.d.ts +187 -2
  134. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  135. package/dist/src/planner/building/select-aggregates.js +414 -81
  136. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  137. package/dist/src/planner/building/select-compound.js +2 -2
  138. package/dist/src/planner/building/select-compound.js.map +1 -1
  139. package/dist/src/planner/building/select-context.d.ts +91 -0
  140. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  141. package/dist/src/planner/building/select-context.js +113 -0
  142. package/dist/src/planner/building/select-context.js.map +1 -1
  143. package/dist/src/planner/building/select-modifiers.d.ts +10 -3
  144. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  145. package/dist/src/planner/building/select-modifiers.js +29 -8
  146. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  147. package/dist/src/planner/building/select-ordinal.d.ts +64 -19
  148. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  149. package/dist/src/planner/building/select-ordinal.js +79 -30
  150. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  151. package/dist/src/planner/building/select-projections.d.ts +1 -1
  152. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  153. package/dist/src/planner/building/select-projections.js +18 -11
  154. package/dist/src/planner/building/select-projections.js.map +1 -1
  155. package/dist/src/planner/building/select-window.d.ts +13 -3
  156. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  157. package/dist/src/planner/building/select-window.js +142 -37
  158. package/dist/src/planner/building/select-window.js.map +1 -1
  159. package/dist/src/planner/building/select.d.ts.map +1 -1
  160. package/dist/src/planner/building/select.js +129 -59
  161. package/dist/src/planner/building/select.js.map +1 -1
  162. package/dist/src/planner/building/update.d.ts.map +1 -1
  163. package/dist/src/planner/building/update.js +27 -13
  164. package/dist/src/planner/building/update.js.map +1 -1
  165. package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
  166. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  167. package/dist/src/planner/building/view-mutation-builder.js +102 -8
  168. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  169. package/dist/src/planner/building/with.d.ts.map +1 -1
  170. package/dist/src/planner/building/with.js +34 -4
  171. package/dist/src/planner/building/with.js.map +1 -1
  172. package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
  173. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  174. package/dist/src/planner/cache/correlation-detector.js +26 -0
  175. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  176. package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
  177. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  178. package/dist/src/planner/cache/materialization-advisory.js +12 -3
  179. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  180. package/dist/src/planner/framework/characteristics.d.ts +9 -0
  181. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  182. package/dist/src/planner/framework/characteristics.js.map +1 -1
  183. package/dist/src/planner/framework/pass.d.ts +2 -0
  184. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  185. package/dist/src/planner/framework/pass.js +15 -0
  186. package/dist/src/planner/framework/pass.js.map +1 -1
  187. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
  188. package/dist/src/planner/mutation/backward-body.js +4 -1
  189. package/dist/src/planner/mutation/backward-body.js.map +1 -1
  190. package/dist/src/planner/mutation/body-context.d.ts +23 -0
  191. package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
  192. package/dist/src/planner/mutation/body-context.js +26 -0
  193. package/dist/src/planner/mutation/body-context.js.map +1 -0
  194. package/dist/src/planner/mutation/cte-flatten.js +15 -2
  195. package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
  196. package/dist/src/planner/mutation/decomposition.d.ts +8 -0
  197. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
  198. package/dist/src/planner/mutation/decomposition.js +8 -3
  199. package/dist/src/planner/mutation/decomposition.js.map +1 -1
  200. package/dist/src/planner/mutation/lens-enforcement.js +1 -1
  201. package/dist/src/planner/mutation/multi-source.d.ts +7 -0
  202. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
  203. package/dist/src/planner/mutation/multi-source.js +5 -0
  204. package/dist/src/planner/mutation/multi-source.js.map +1 -1
  205. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  206. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  207. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  208. package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
  209. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
  210. package/dist/src/planner/mutation/scope-transform.js +181 -33
  211. package/dist/src/planner/mutation/scope-transform.js.map +1 -1
  212. package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
  213. package/dist/src/planner/mutation/set-op.js +66 -16
  214. package/dist/src/planner/mutation/set-op.js.map +1 -1
  215. package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
  216. package/dist/src/planner/mutation/single-source.js +100 -24
  217. package/dist/src/planner/mutation/single-source.js.map +1 -1
  218. package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
  219. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  220. package/dist/src/planner/nodes/add-constraint-node.js +10 -1
  221. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  222. package/dist/src/planner/nodes/aggregate-node.d.ts +14 -5
  223. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  224. package/dist/src/planner/nodes/aggregate-node.js +28 -21
  225. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  226. package/dist/src/planner/nodes/alter-table-node.d.ts +27 -2
  227. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  228. package/dist/src/planner/nodes/alter-table-node.js +49 -2
  229. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  230. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  231. package/dist/src/planner/nodes/constraint-check-node.js +17 -19
  232. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  233. package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
  234. package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
  235. package/dist/src/planner/nodes/create-assertion-node.js +5 -2
  236. package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
  237. package/dist/src/planner/nodes/cte-node.d.ts +19 -9
  238. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  239. package/dist/src/planner/nodes/cte-node.js +25 -9
  240. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  241. package/dist/src/planner/nodes/delete-node.d.ts +20 -2
  242. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  243. package/dist/src/planner/nodes/delete-node.js +11 -2
  244. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  245. package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
  246. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  247. package/dist/src/planner/nodes/dml-executor-node.js +107 -15
  248. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  249. package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
  250. package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
  251. package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
  252. package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
  253. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  254. package/dist/src/planner/nodes/filter.js +12 -6
  255. package/dist/src/planner/nodes/filter.js.map +1 -1
  256. package/dist/src/planner/nodes/hash-aggregate.d.ts +0 -5
  257. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  258. package/dist/src/planner/nodes/hash-aggregate.js +17 -20
  259. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  260. package/dist/src/planner/nodes/insert-node.d.ts +19 -2
  261. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  262. package/dist/src/planner/nodes/insert-node.js +10 -2
  263. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  264. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
  265. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  266. package/dist/src/planner/nodes/key-set-semi-join-node.js +85 -16
  267. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  268. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
  269. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  270. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  271. package/dist/src/planner/nodes/plan-node.d.ts +5 -0
  272. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  273. package/dist/src/planner/nodes/plan-node.js +12 -0
  274. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  275. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  276. package/dist/src/planner/nodes/project-node.js +16 -35
  277. package/dist/src/planner/nodes/project-node.js.map +1 -1
  278. package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
  279. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  280. package/dist/src/planner/nodes/retrieve-node.js +8 -1
  281. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  282. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  283. package/dist/src/planner/nodes/returning-node.js +13 -32
  284. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  285. package/dist/src/planner/nodes/stream-aggregate.d.ts +0 -5
  286. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  287. package/dist/src/planner/nodes/stream-aggregate.js +18 -24
  288. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  289. package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
  290. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  291. package/dist/src/planner/nodes/table-access-nodes.js +64 -2
  292. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  293. package/dist/src/planner/nodes/update-node.d.ts +19 -2
  294. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  295. package/dist/src/planner/nodes/update-node.js +10 -2
  296. package/dist/src/planner/nodes/update-node.js.map +1 -1
  297. package/dist/src/planner/optimizer.d.ts +18 -0
  298. package/dist/src/planner/optimizer.d.ts.map +1 -1
  299. package/dist/src/planner/optimizer.js +59 -10
  300. package/dist/src/planner/optimizer.js.map +1 -1
  301. package/dist/src/planner/planning-context.d.ts +24 -0
  302. package/dist/src/planner/planning-context.d.ts.map +1 -1
  303. package/dist/src/planner/planning-context.js.map +1 -1
  304. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
  305. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  306. package/dist/src/planner/rules/access/rule-key-set-seek.js +297 -71
  307. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  308. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  309. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
  310. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  311. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +11 -1
  312. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  313. package/dist/src/planner/rules/access/rule-select-access-path.js +46 -2
  314. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  315. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
  316. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  317. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
  318. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  319. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  320. package/dist/src/planner/rules/cache/rule-cte-optimization.js +6 -2
  321. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  322. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
  323. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  324. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  325. package/dist/src/planner/rules/join/index-nested-loop.js +13 -7
  326. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  327. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -0
  328. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  329. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +50 -15
  330. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  331. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
  332. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  333. package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
  334. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  335. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
  336. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
  337. package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
  338. package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
  339. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +2 -2
  340. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  341. package/dist/src/planner/rules/join/rule-join-physical-selection.js +46 -16
  342. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  343. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
  344. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  345. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +14 -0
  346. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  347. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
  348. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  349. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
  350. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  351. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +33 -19
  352. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  353. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +37 -18
  354. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  355. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +6 -3
  356. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -1
  357. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +6 -3
  358. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -1
  359. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  360. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +11 -21
  361. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  362. package/dist/src/planner/rules/shared/access-leaf.d.ts +16 -3
  363. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
  364. package/dist/src/planner/rules/shared/access-leaf.js +21 -5
  365. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
  366. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
  367. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  368. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +1 -1
  369. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  370. package/dist/src/planner/stored-body-context.d.ts +57 -0
  371. package/dist/src/planner/stored-body-context.d.ts.map +1 -0
  372. package/dist/src/planner/stored-body-context.js +64 -0
  373. package/dist/src/planner/stored-body-context.js.map +1 -0
  374. package/dist/src/planner/util/ind-utils.d.ts +28 -20
  375. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  376. package/dist/src/planner/util/ind-utils.js +36 -27
  377. package/dist/src/planner/util/ind-utils.js.map +1 -1
  378. package/dist/src/planner/util/key-utils.d.ts +19 -4
  379. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  380. package/dist/src/planner/util/key-utils.js +23 -7
  381. package/dist/src/planner/util/key-utils.js.map +1 -1
  382. package/dist/src/planner/util/output-names.d.ts +12 -0
  383. package/dist/src/planner/util/output-names.d.ts.map +1 -0
  384. package/dist/src/planner/util/output-names.js +20 -0
  385. package/dist/src/planner/util/output-names.js.map +1 -0
  386. package/dist/src/planner/util/row-estimates.d.ts +11 -0
  387. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  388. package/dist/src/planner/util/row-estimates.js +28 -0
  389. package/dist/src/planner/util/row-estimates.js.map +1 -1
  390. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  391. package/dist/src/runtime/deferred-constraint-queue.js +3 -2
  392. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  393. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  394. package/dist/src/runtime/emit/add-constraint.js +22 -6
  395. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  396. package/dist/src/runtime/emit/alter-schema-event.d.ts +59 -4
  397. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  398. package/dist/src/runtime/emit/alter-schema-event.js +63 -4
  399. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  400. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  401. package/dist/src/runtime/emit/alter-table.js +212 -92
  402. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  403. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  404. package/dist/src/runtime/emit/analyze.js +15 -4
  405. package/dist/src/runtime/emit/analyze.js.map +1 -1
  406. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
  407. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
  408. package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
  409. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
  410. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
  411. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
  412. package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
  413. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
  414. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  415. package/dist/src/runtime/emit/constraint-check.js +10 -227
  416. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  417. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  418. package/dist/src/runtime/emit/create-assertion.js +31 -14
  419. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  420. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  421. package/dist/src/runtime/emit/cte.js +11 -6
  422. package/dist/src/runtime/emit/cte.js.map +1 -1
  423. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  424. package/dist/src/runtime/emit/dml-executor.js +169 -1
  425. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  426. package/dist/src/runtime/emit/drop-assertion.js +8 -8
  427. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  428. package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
  429. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
  430. package/dist/src/runtime/emit/drop-column-guards.js +230 -0
  431. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
  432. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  433. package/dist/src/runtime/emit/drop-table.js +6 -0
  434. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  435. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  436. package/dist/src/runtime/emit/drop-view.js +4 -0
  437. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  438. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  439. package/dist/src/runtime/emit/key-set-semi-join.js +5 -3
  440. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  441. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
  442. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  443. package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
  444. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  445. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  446. package/dist/src/runtime/emit/materialized-view.js +7 -2
  447. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  448. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  449. package/dist/src/runtime/emit/recursive-cte.js +4 -5
  450. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  451. package/dist/src/runtime/emit/remote-query.d.ts.map +1 -1
  452. package/dist/src/runtime/emit/remote-query.js +8 -3
  453. package/dist/src/runtime/emit/remote-query.js.map +1 -1
  454. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  455. package/dist/src/runtime/emit/scan.js +4 -1
  456. package/dist/src/runtime/emit/scan.js.map +1 -1
  457. package/dist/src/runtime/emit/schema-declarative.js +2 -2
  458. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  459. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  460. package/dist/src/runtime/emit/update.js +18 -6
  461. package/dist/src/runtime/emit/update.js.map +1 -1
  462. package/dist/src/runtime/parallel-driver.d.ts +4 -3
  463. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  464. package/dist/src/runtime/parallel-driver.js +8 -3
  465. package/dist/src/runtime/parallel-driver.js.map +1 -1
  466. package/dist/src/runtime/row-constraints.d.ts +85 -0
  467. package/dist/src/runtime/row-constraints.d.ts.map +1 -0
  468. package/dist/src/runtime/row-constraints.js +239 -0
  469. package/dist/src/runtime/row-constraints.js.map +1 -0
  470. package/dist/src/runtime/types.d.ts +18 -11
  471. package/dist/src/runtime/types.d.ts.map +1 -1
  472. package/dist/src/runtime/types.js.map +1 -1
  473. package/dist/src/runtime/utils.d.ts.map +1 -1
  474. package/dist/src/runtime/utils.js +11 -0
  475. package/dist/src/runtime/utils.js.map +1 -1
  476. package/dist/src/schema/assertion.d.ts +14 -1
  477. package/dist/src/schema/assertion.d.ts.map +1 -1
  478. package/dist/src/schema/assertion.js +14 -1
  479. package/dist/src/schema/assertion.js.map +1 -1
  480. package/dist/src/schema/catalog-persistability.js +19 -3
  481. package/dist/src/schema/catalog-persistability.js.map +1 -1
  482. package/dist/src/schema/catalog.d.ts +6 -0
  483. package/dist/src/schema/catalog.d.ts.map +1 -1
  484. package/dist/src/schema/catalog.js +26 -36
  485. package/dist/src/schema/catalog.js.map +1 -1
  486. package/dist/src/schema/column-source-resolver.d.ts +18 -0
  487. package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
  488. package/dist/src/schema/column-source-resolver.js +22 -0
  489. package/dist/src/schema/column-source-resolver.js.map +1 -0
  490. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  491. package/dist/src/schema/constraint-builder.js +7 -1
  492. package/dist/src/schema/constraint-builder.js.map +1 -1
  493. package/dist/src/schema/ddl-generator.js +8 -0
  494. package/dist/src/schema/ddl-generator.js.map +1 -1
  495. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  496. package/dist/src/schema/lens-compiler.js +203 -51
  497. package/dist/src/schema/lens-compiler.js.map +1 -1
  498. package/dist/src/schema/lens-prover.d.ts +2 -3
  499. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  500. package/dist/src/schema/lens-prover.js +19 -11
  501. package/dist/src/schema/lens-prover.js.map +1 -1
  502. package/dist/src/schema/manager.d.ts +30 -12
  503. package/dist/src/schema/manager.d.ts.map +1 -1
  504. package/dist/src/schema/manager.js +49 -17
  505. package/dist/src/schema/manager.js.map +1 -1
  506. package/dist/src/schema/rename-rewriter.d.ts +142 -0
  507. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  508. package/dist/src/schema/rename-rewriter.js +254 -9
  509. package/dist/src/schema/rename-rewriter.js.map +1 -1
  510. package/dist/src/schema/reserved-tags.d.ts +1 -1
  511. package/dist/src/schema/reserved-tags.d.ts.map +1 -1
  512. package/dist/src/schema/reserved-tags.js +4 -3
  513. package/dist/src/schema/reserved-tags.js.map +1 -1
  514. package/dist/src/schema/schema-differ.d.ts +16 -0
  515. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  516. package/dist/src/schema/schema-differ.js +122 -11
  517. package/dist/src/schema/schema-differ.js.map +1 -1
  518. package/dist/src/schema/view.d.ts +11 -0
  519. package/dist/src/schema/view.d.ts.map +1 -1
  520. package/dist/src/schema/view.js +12 -0
  521. package/dist/src/schema/view.js.map +1 -1
  522. package/dist/src/types/builtin-types.d.ts +38 -0
  523. package/dist/src/types/builtin-types.d.ts.map +1 -1
  524. package/dist/src/types/builtin-types.js +77 -26
  525. package/dist/src/types/builtin-types.js.map +1 -1
  526. package/dist/src/types/index.d.ts +1 -1
  527. package/dist/src/types/index.d.ts.map +1 -1
  528. package/dist/src/types/index.js +1 -1
  529. package/dist/src/types/index.js.map +1 -1
  530. package/dist/src/util/abort-signal.d.ts +25 -0
  531. package/dist/src/util/abort-signal.d.ts.map +1 -0
  532. package/dist/src/util/abort-signal.js +40 -0
  533. package/dist/src/util/abort-signal.js.map +1 -0
  534. package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
  535. package/dist/src/util/array-row-iterable.d.ts.map +1 -0
  536. package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
  537. package/dist/src/util/array-row-iterable.js.map +1 -0
  538. package/dist/src/vtab/concurrency.d.ts +15 -0
  539. package/dist/src/vtab/concurrency.d.ts.map +1 -1
  540. package/dist/src/vtab/concurrency.js +17 -0
  541. package/dist/src/vtab/concurrency.js.map +1 -1
  542. package/dist/src/vtab/events.d.ts +3 -0
  543. package/dist/src/vtab/events.d.ts.map +1 -1
  544. package/dist/src/vtab/events.js.map +1 -1
  545. package/dist/src/vtab/manifest.d.ts +15 -0
  546. package/dist/src/vtab/manifest.d.ts.map +1 -1
  547. package/dist/src/vtab/memory/layer/base.d.ts +10 -0
  548. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  549. package/dist/src/vtab/memory/layer/base.js +10 -0
  550. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  551. package/dist/src/vtab/memory/layer/interface.d.ts +24 -0
  552. package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
  553. package/dist/src/vtab/memory/layer/manager.d.ts +21 -3
  554. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  555. package/dist/src/vtab/memory/layer/manager.js +107 -157
  556. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  557. package/dist/src/vtab/memory/layer/transaction.d.ts +11 -0
  558. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  559. package/dist/src/vtab/memory/layer/transaction.js +19 -0
  560. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  561. package/dist/src/vtab/memory/module.d.ts +57 -1
  562. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  563. package/dist/src/vtab/memory/module.js +103 -2
  564. package/dist/src/vtab/memory/module.js.map +1 -1
  565. package/dist/src/vtab/memory/table.d.ts +12 -1
  566. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  567. package/dist/src/vtab/memory/table.js +12 -1
  568. package/dist/src/vtab/memory/table.js.map +1 -1
  569. package/dist/src/vtab/module.d.ts +59 -2
  570. package/dist/src/vtab/module.d.ts.map +1 -1
  571. package/dist/src/vtab/table.d.ts +8 -1
  572. package/dist/src/vtab/table.d.ts.map +1 -1
  573. package/dist/src/vtab/table.js.map +1 -1
  574. package/dist/src/vtab/test-support/commit-stall.d.ts +53 -0
  575. package/dist/src/vtab/test-support/commit-stall.d.ts.map +1 -0
  576. package/dist/src/vtab/test-support/commit-stall.js +73 -0
  577. package/dist/src/vtab/test-support/commit-stall.js.map +1 -0
  578. package/dist/src/vtab/test-support/committed-read-conformance.d.ts +96 -0
  579. package/dist/src/vtab/test-support/committed-read-conformance.d.ts.map +1 -0
  580. package/dist/src/vtab/test-support/committed-read-conformance.js +364 -0
  581. package/dist/src/vtab/test-support/committed-read-conformance.js.map +1 -0
  582. package/package.json +3 -3
  583. package/dist/src/util/working-table-iterable.d.ts.map +0 -1
  584. package/dist/src/util/working-table-iterable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-access-nodes.js","sourceRoot":"","sources":["../../../../src/planner/nodes/table-access-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-access-nodes.js","sourceRoot":"","sources":["../../../../src/planner/nodes/table-access-nodes.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,15 @@ export declare class UpdateNode extends PlanNode implements RelationalPlanNode {
22
22
  readonly oldRowDescriptor: RowDescriptor;
23
23
  readonly newRowDescriptor: RowDescriptor;
24
24
  readonly flatRowDescriptor: RowDescriptor;
25
+ /**
26
+ * Mutation context value expressions.
27
+ *
28
+ * NOTE: deliberately NOT exposed via `getChildren` (OPT-009): no emitter or rule reads
29
+ * this map from this node — only `DmlExecutorNode` / `ConstraintCheckNode` consume it,
30
+ * and they expose their copies. It is therefore a pass-through reference that goes
31
+ * stale (holds pre-rewrite subtrees) once the optimizer rebuilds those nodes. If
32
+ * anything ever starts reading it here, expose it as a child first.
33
+ */
25
34
  readonly mutationContextValues?: Map<string, ScalarPlanNode> | undefined;
26
35
  readonly contextAttributes?: Attribute[] | undefined;
27
36
  readonly contextDescriptor?: RowDescriptor | undefined;
@@ -30,8 +39,16 @@ export declare class UpdateNode extends PlanNode implements RelationalPlanNode {
30
39
  oldRowDescriptor: RowDescriptor, // For constraint checking
31
40
  newRowDescriptor: RowDescriptor, // For constraint checking
32
41
  flatRowDescriptor: RowDescriptor, // For flat OLD/NEW row attributes
33
- mutationContextValues?: Map<string, ScalarPlanNode> | undefined, // Mutation context value expressions
34
- contextAttributes?: Attribute[] | undefined, // Mutation context attributes
42
+ /**
43
+ * Mutation context value expressions.
44
+ *
45
+ * NOTE: deliberately NOT exposed via `getChildren` (OPT-009): no emitter or rule reads
46
+ * this map from this node — only `DmlExecutorNode` / `ConstraintCheckNode` consume it,
47
+ * and they expose their copies. It is therefore a pass-through reference that goes
48
+ * stale (holds pre-rewrite subtrees) once the optimizer rebuilds those nodes. If
49
+ * anything ever starts reading it here, expose it as a child first.
50
+ */
51
+ mutationContextValues?: Map<string, ScalarPlanNode> | undefined, contextAttributes?: Attribute[] | undefined, // Mutation context attributes
35
52
  contextDescriptor?: RowDescriptor | undefined);
36
53
  getType(): RelationType;
37
54
  getAttributes(): Attribute[];
@@ -1 +1 @@
1
- {"version":3,"file":"update-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/update-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,QAAS,YAAW,kBAAkB;aAKlD,KAAK,EAAE,kBAAkB;aACzB,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC;aAC5C,MAAM,EAAE,kBAAkB;aAC1B,gBAAgB,EAAE,aAAa;aAC/B,gBAAgB,EAAE,aAAa;aAC/B,iBAAiB,EAAE,aAAa;aAChC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;aACnD,iBAAiB,CAAC,EAAE,SAAS,EAAE;aAC/B,iBAAiB,CAAC,EAAE,aAAa;IAZnD,SAAkB,QAAQ,uBAAuB;gBAG/C,KAAK,EAAE,KAAK,EACI,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC5C,MAAM,EAAE,kBAAkB,EAAE,uDAAuD;IACnF,gBAAgB,EAAE,aAAa,EAAE,0BAA0B;IAC3D,gBAAgB,EAAE,aAAa,EAAE,0BAA0B;IAC3D,iBAAiB,EAAE,aAAa,EAAE,kCAAkC;IACpE,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,YAAA,EAAE,qCAAqC;IAC1F,iBAAiB,CAAC,EAAE,SAAS,EAAE,YAAA,EAAE,8BAA8B;IAC/D,iBAAiB,CAAC,EAAE,aAAa,YAAA;IAKpD,OAAO,IAAI,YAAY;IAItB,aAAa,IAAI,SAAS,EAAE;IAI5B,YAAY,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAKjE,WAAW,IAAI,SAAS,QAAQ,EAAE;IAKlC,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAkDxD,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM9C,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAEQ,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUzD"}
1
+ {"version":3,"file":"update-node.d.ts","sourceRoot":"","sources":["../../../../src/planner/nodes/update-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,QAAS,YAAW,kBAAkB;aAKlD,KAAK,EAAE,kBAAkB;aACzB,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC;aAC5C,MAAM,EAAE,kBAAkB;aAC1B,gBAAgB,EAAE,aAAa;aAC/B,gBAAgB,EAAE,aAAa;aAC/B,iBAAiB,EAAE,aAAa;IAChD;;;;;;;;OAQG;aACa,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;aACnD,iBAAiB,CAAC,EAAE,SAAS,EAAE;aAC/B,iBAAiB,CAAC,EAAE,aAAa;IArBnD,SAAkB,QAAQ,uBAAuB;gBAG/C,KAAK,EAAE,KAAK,EACI,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC5C,MAAM,EAAE,kBAAkB,EAAE,uDAAuD;IACnF,gBAAgB,EAAE,aAAa,EAAE,0BAA0B;IAC3D,gBAAgB,EAAE,aAAa,EAAE,0BAA0B;IAC3D,iBAAiB,EAAE,aAAa,EAAE,kCAAkC;IACpF;;;;;;;;OAQG;IACa,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,YAAA,EACnD,iBAAiB,CAAC,EAAE,SAAS,EAAE,YAAA,EAAE,8BAA8B;IAC/D,iBAAiB,CAAC,EAAE,aAAa,YAAA;IAKpD,OAAO,IAAI,YAAY;IAItB,aAAa,IAAI,SAAS,EAAE;IAI5B,YAAY,IAAI,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAKjE,WAAW,IAAI,SAAS,QAAQ,EAAE;IAKlC,YAAY,CAAC,WAAW,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ;IAkDxD,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAM9C,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAEQ,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUzD"}
@@ -20,8 +20,16 @@ export class UpdateNode extends PlanNode {
20
20
  oldRowDescriptor, // For constraint checking
21
21
  newRowDescriptor, // For constraint checking
22
22
  flatRowDescriptor, // For flat OLD/NEW row attributes
23
- mutationContextValues, // Mutation context value expressions
24
- contextAttributes, // Mutation context attributes
23
+ /**
24
+ * Mutation context value expressions.
25
+ *
26
+ * NOTE: deliberately NOT exposed via `getChildren` (OPT-009): no emitter or rule reads
27
+ * this map from this node — only `DmlExecutorNode` / `ConstraintCheckNode` consume it,
28
+ * and they expose their copies. It is therefore a pass-through reference that goes
29
+ * stale (holds pre-rewrite subtrees) once the optimizer rebuilds those nodes. If
30
+ * anything ever starts reading it here, expose it as a child first.
31
+ */
32
+ mutationContextValues, contextAttributes, // Mutation context attributes
25
33
  contextDescriptor) {
26
34
  super(scope);
27
35
  this.table = table;
@@ -1 +1 @@
1
- {"version":3,"file":"update-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/update-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-node.js","sourceRoot":"","sources":["../../../../src/planner/nodes/update-node.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,24 @@ export interface RuleManifestEntry {
34
34
  fn: RuleFn;
35
35
  sideEffectMode: SideEffectMode;
36
36
  }
37
+ /**
38
+ * The optimizer's rule manifest — the single source of truth for which rule runs
39
+ * in which pass and in what order. Array order = registration order = execution
40
+ * order (rule application iterates `pass.rules` in push order; nothing sorts by a
41
+ * numeric priority — that field is gone, see ticket `planner-remove-priority`).
42
+ *
43
+ * Entries interleave passes exactly as the historical imperative registration did;
44
+ * `registerRulesToPasses` walks this array top-to-bottom and appends each handle to
45
+ * its pass, so the per-pass order is a stable subsequence of this array. In
46
+ * particular `lateral-top1-asof` (Structural) sits AFTER the three Physical entries
47
+ * here because that was its historical registration position, making it the last
48
+ * rule in the Structural pass.
49
+ *
50
+ * Exported for static auditing only (see `test/optimizer/rule-manifest.spec.ts`,
51
+ * which asserts nothing registers behind `PassId.FinalEstimates`); the optimizer
52
+ * itself is the only production consumer.
53
+ */
54
+ export declare const RULE_MANIFEST: readonly RuleManifestEntry[];
37
55
  /**
38
56
  * Register every entry of `manifest` with its pass on `passManager`, in manifest
39
57
  * array order. That order is the execution contract: pass rules fire in
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAiEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IACjC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,cAAc,CAAC;CAC/B;AAgmCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,WAAW,EAAE,WAAW,GACtB,IAAI,CA0CN;AAED;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAqC;IACrD,MAAM,EAAE,eAAe,CAAC;gBAG9B,MAAM,GAAE,eAAgC,EACxC,KAAK,CAAC,EAAE,aAAa;IAUtB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI3C;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAgChD;;;;;;;;;OASG;IACH,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,QAAQ;IAkBlH;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB,qDAAqD;IACrD,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAiEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IACjC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,cAAc,CAAC;CAC/B;AAqBD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,iBAAiB,EA4mCrD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,WAAW,EAAE,WAAW,GACtB,IAAI,CA0CN;AAED;;GAEG;AACH,qBAAa,SAAS;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,eAAe,CAAqC;IACrD,MAAM,EAAE,eAAe,CAAC;gBAG9B,MAAM,GAAE,eAAgC,EACxC,KAAK,CAAC,EAAE,aAAa;IAUtB,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI3C;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ;IAgChD;;;;;;;;;OASG;IACH,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAAG,QAAQ;IAkBlH;;OAEG;IACH,QAAQ,IAAI,aAAa;IAIzB,qDAAqD;IACrD,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;CAGjD"}
@@ -94,8 +94,12 @@ const RANGE_ACCESS_LEAF_TYPES = [
94
94
  * particular `lateral-top1-asof` (Structural) sits AFTER the three Physical entries
95
95
  * here because that was its historical registration position, making it the last
96
96
  * rule in the Structural pass.
97
+ *
98
+ * Exported for static auditing only (see `test/optimizer/rule-manifest.spec.ts`,
99
+ * which asserts nothing registers behind `PassId.FinalEstimates`); the optimizer
100
+ * itself is the only production consumer.
97
101
  */
98
- const RULE_MANIFEST = [
102
+ export const RULE_MANIFEST = [
99
103
  // ── Structural pass (top-down) ──────────────────────────────────────────
100
104
  // Materialized-view query rewrite (read side). Registered FIRST in the
101
105
  // Structural pass so it fires on the pristine `Project(Filter?(Retrieve(
@@ -820,12 +824,11 @@ const RULE_MANIFEST = [
820
824
  // (which copies the stamp forward into its reordered Filter) rather than relying
821
825
  // on `applyPassRules`' fixpoint loop to get there.
822
826
  //
823
- // NOTE: any pass that runs AFTER PostOptimization and re-mints a Filter's
824
- // predicate loses the stamp again — `PassId.Materialization` (order 35) walks
825
- // scalar children and can wrap a relational node inside a predicate. No query
826
- // exhibiting this was found (the obvious CTE-shared-between-two-scalar-subqueries
827
- // shape has nothing estimable to stamp in the first place). If one turns up, the
828
- // fix is to move this re-stamp behind the materialization pass.
827
+ // This entry does not cover `PassId.Materialization` (order 35), which runs after
828
+ // PostOptimization and re-mints a Filter's predicate whenever it marks or wraps a
829
+ // relational node inside it. `filter-selectivity-final` (PassId.FinalEstimates,
830
+ // order 37 — the last entry in this manifest) is what covers that, and every
831
+ // future pass ordered before it.
829
832
  {
830
833
  pass: PassId.PostOptimization,
831
834
  id: 'filter-selectivity-restamp',
@@ -891,9 +894,10 @@ const RULE_MANIFEST = [
891
894
  // (all read-only by construction).
892
895
  sideEffectMode: 'safe',
893
896
  },
894
- // Key-set seek: replace a single-pair hash SEMI join over a full-scan leaf
895
- // with a KeySetSemiJoin that materializes the key set at runtime and, when
896
- // small enough, multi-seeks the target with it. Runs after
897
+ // Key-set seek: replace a single-pair hash SEMI join over an every-row-walk
898
+ // leaf — or over an IndexSeek whose pushed predicate the rule re-applies as
899
+ // a Filter above the new node — with a KeySetSemiJoin that materializes the
900
+ // key set at runtime and, when small enough, multi-seeks the target. Runs after
897
901
  // `join-physical-selection` (the hash semi join must exist) and after
898
902
  // `monotonic-limit-pushdown` — the two peels are mutually exclusive
899
903
  // (each rejects the other's output node) and whichever runs first wins;
@@ -916,6 +920,26 @@ const RULE_MANIFEST = [
916
920
  // only ever reorders read-only subtrees.
917
921
  sideEffectMode: 'safe',
918
922
  },
923
+ // The MERGE anchor of the same rule (the function dispatches on node type):
924
+ // the common IN-on-primary-key shape becomes a merge semi join (both sides
925
+ // advertise a key walk), never a hash join, so the HashJoin entry above never
926
+ // sees it. Same placement rationale: after both merge-join producers
927
+ // (`monotonic-merge-join`, `join-physical-selection`) and after
928
+ // `monotonic-limit-pushdown`. Two entries rather than a nodeType array
929
+ // because the fan-out form renames ids to `<id>-<nodeType>`, which would
930
+ // rename the `key-set-seek` id trace output references. Nothing else in the
931
+ // pass anchors on MergeJoin (`eager-prefetch-probe` is HashJoin-only), so
932
+ // removing a merge join costs no other rewrite. The rule only fires on this
933
+ // anchor when the replacement claims the merge join's own ordering
934
+ // (`seekPreservesTargetOrder`), so order-dependent ancestors stay served.
935
+ {
936
+ pass: PassId.PostOptimization,
937
+ id: 'key-set-seek-merge',
938
+ nodeType: PlanNodeType.MergeJoin,
939
+ phase: 'impl',
940
+ fn: ruleKeySetSeek,
941
+ sideEffectMode: 'safe',
942
+ },
919
943
  // Monotonic range-scan recognition (fan-out; ids
920
944
  // `monotonic-range-access-<nodeType>`). Runs on physical leaves to annotate
921
945
  // `rangeBoundedOn` when a handled range/equality bounds the monotonic column.
@@ -1119,6 +1143,31 @@ const RULE_MANIFEST = [
1119
1143
  // the CacheNodes injected by `cte-optimization`). See
1120
1144
  // `createMaterializationPass` in framework/pass.ts for the single-walk rationale
1121
1145
  // and the side-effect-soundness argument.
1146
+ // ── Final-estimates pass (bottom-up, order 37) ──────────────────────────
1147
+ // Third and LAST selectivity stamp point. The two registrations above recover a
1148
+ // dropped stamp only for rewrites that happen in or before their own pass, so a
1149
+ // Filter re-minted by the Materialization advisory (order 35 — it re-mints every
1150
+ // path on which it marks a `with` clause for shared materialization or injects a
1151
+ // CacheNode) reached emission on the flat DEFAULT_FILTER_SELECTIVITY. Verified
1152
+ // repro: a MATERIALIZED-hinted (or multiply-referenced) CTE read from a scalar
1153
+ // subquery in the `where`
1154
+ // with c as materialized (select cat, qty from o)
1155
+ // select * from o where o.qty = (select max(qty) from c) and o.cat = 'a'
1156
+ // stamped 1/ndv(o.qty) without the hint and nothing with it — two spellings of one
1157
+ // query disagreeing. This entry runs behind every plan-mutating pass, so the
1158
+ // estimate no longer depends on which pass touched the predicate last; it declines
1159
+ // in O(1) on any Filter whose stamp survived.
1160
+ {
1161
+ pass: PassId.FinalEstimates,
1162
+ id: 'filter-selectivity-final',
1163
+ nodeType: PlanNodeType.Filter,
1164
+ phase: 'impl',
1165
+ fn: ruleFilterSelectivity,
1166
+ // Same justification as the Physical and PostOptimization entries: rebuilds
1167
+ // the identical Filter (same scope, source, predicate, same output attribute
1168
+ // ids) with only an added row estimate.
1169
+ sideEffectMode: 'safe',
1170
+ },
1122
1171
  ];
1123
1172
  /**
1124
1173
  * Register every entry of `manifest` with its pass on `passManager`, in manifest
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type * as AST from '../parser/ast.js';
1
2
  import type { SqlParameters } from '../common/types.js';
2
3
  import type { Database } from '../core/database.js';
3
4
  import type { SchemaManager } from '../schema/manager.js';
@@ -128,5 +129,28 @@ export interface PlanningContext {
128
129
  * Comes from the WITH SCHEMA clause on statements.
129
130
  */
130
131
  readonly schemaPath?: string[];
132
+ /**
133
+ * Set to `<schemaName>` by {@link import('./stored-body-context.js').storedBodyContext}
134
+ * when this context IS the home naming environment of that schema's stored body.
135
+ * Read only by `building/select.ts`, to decide whether a sub-select carrying a
136
+ * {@link import('../parser/ast.js').SelectStmt.storedBodyEnv} marker still needs
137
+ * the swap: while the body itself is being planned the context already is that
138
+ * environment, so re-swapping would clear the body's own CTE definitions.
139
+ */
140
+ readonly storedBodyOf?: string;
141
+ /**
142
+ * Per-lowering memo of the CTE definitions carried on a copied body fragment
143
+ * ({@link import('../parser/ast.js').StoredBodyEnv.withClause}), keyed by the body's
144
+ * `WITH` clause AST object. Created by `buildViewMutation` for a non-ephemeral target,
145
+ * so every fragment of ONE lowering shares one plan node per body-local CTE — two
146
+ * fragments referencing the same definition must not each build their own copy, or the
147
+ * runtime evaluates the definition twice (and a non-deterministic one disagrees between
148
+ * fragments). Sharing one `CTENode` across references is the shape the
149
+ * materialization-advisory pass already handles: it marks a multi-referenced CTE
150
+ * `materialize`, and `emitCTE` buffers it once per statement execution. Keyed on the
151
+ * clause OBJECT rather than the CTE name so a second lowering in the same statement
152
+ * (a different view) keeps its own definitions.
153
+ */
154
+ readonly storedBodyCTECache?: Map<AST.WithClause, Map<string, CTEScopeNode>>;
131
155
  }
132
156
  //# sourceMappingURL=planning-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planning-context.d.ts","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planning-context.d.ts","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"planning-context.js","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAC9B,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,8DAA8D;IACtD,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,qBAAqB,GAAG,IAAI,GAAG,EAAc,CAAC;IAEtD;;OAEG;IACH,8DAA8D;IAC9D,gBAAgB,CAAC,GAAqB,EAAE,MAAW;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAoB;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,cAAc;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,sDAAsD;gBACtD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,eAAe;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnD,QAAQ,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAEO,aAAa,CAAC,GAAqB;QAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;QACvC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;IAC7D,CAAC;IAEO,kBAAkB,CAAC,GAAW;QACrC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO;YACN,IAAI,EAAE,IAAgC;YACtC,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,UAAU;YACV,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS;SAChD,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"planning-context.js","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"AAmCA;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAC9B,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,8DAA8D;IACtD,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,qBAAqB,GAAG,IAAI,GAAG,EAAc,CAAC;IAEtD;;OAEG;IACH,8DAA8D;IAC9D,gBAAgB,CAAC,GAAqB,EAAE,MAAW;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAoB;QAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,cAAc;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;gBACnC,sDAAsD;gBACtD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,eAAe;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,kBAAkB;QACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnD,QAAQ,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAEO,aAAa,CAAC,GAAqB;QAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC;QACvC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,EAAE,CAAC;IAC7D,CAAC;IAEO,kBAAkB,CAAC,GAAW;QACrC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO;YACN,IAAI,EAAE,IAAgC;YACtC,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,UAAU;YACV,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS;SAChD,CAAC;IACH,CAAC;CACD"}
@@ -1,11 +1,15 @@
1
1
  /**
2
2
  * Rule: Key-set seek — materialize the semi-join key set, then seek the target with it
3
3
  *
4
- * Pattern (anchored on the physical hash semi join `join-physical-selection` builds):
4
+ * Pattern (anchored on the physical hash semi join `join-physical-selection`
5
+ * builds — rule id `key-set-seek` — and on the merge semi join
6
+ * `monotonic-merge-join` / `join-physical-selection` build — rule id
7
+ * `key-set-seek-merge`; one rule function serves both anchors):
5
8
  *
6
- * BloomJoinNode (semi, exactly one equi-pair, no residual)
9
+ * BloomJoinNode | MergeJoinNode (semi, exactly one equi-pair, no residual)
7
10
  * ├─ left: (FilterNode | trivial ProjectNode | AliasNode)*
8
11
  * │ over SeqScan(fullScan) | ordering-only IndexScan(plan=0)
12
+ * │ | IndexSeek carrying pushedConstraints
9
13
  * └─ right: uncorrelated, deterministic, side-effect-free key source
10
14
  *
11
15
  * On a successful match the left chain is rebuilt with the leaf replaced by a
@@ -16,27 +20,61 @@
16
20
  * HashJoin(semi, Project(Filter(leaf)), right)
17
21
  * → Project(Filter(KeySetSemiJoin(leaf, right)))
18
22
  *
23
+ * An `IndexSeek` leaf is admitted UNCHANGED, with the predicate its
24
+ * `FilterInfo` enforces (recorded in `pushedConstraints`, dropped from the
25
+ * tree on the module's promise) re-applied as a `Filter` directly above the
26
+ * new node — inside the peeled wrappers, because a peeled trivial Project may
27
+ * not carry the predicate's columns:
28
+ *
29
+ * HashJoin(semi, Project(IndexSeek[s='x']), right)
30
+ * → Project(Filter[s='x'](KeySetSemiJoin(IndexSeek[s='x'], right)))
31
+ *
32
+ * That is right on both runtime branches: the scan branch runs the leaf's own
33
+ * FilterInfo untouched (the pushed seek happens exactly as today; the added
34
+ * Filter is redundant), and the seek branch replaces the FilterInfo with the
35
+ * multi-seek (the module ignores the pushed predicate; the Filter re-applies
36
+ * it). The scan branch is byte-for-byte the plan being displaced, so the
37
+ * rewrite is never a structural loss.
38
+ *
19
39
  * The new node ALWAYS builds the key set and ALWAYS probes each target row
20
40
  * against it — the runtime pushdown only changes how many rows the target
21
41
  * emits, so a skipped or over-fetching seek can cost performance but never
22
42
  * correctness. Every gate below exists to make an UNDER-fetch (rows the seek
23
43
  * fails to return, which the probe cannot resurrect) impossible.
24
44
  *
25
- * The rule declines (returns null, keeping the hash semi join) on all of:
45
+ * The rule declines (returns null, keeping the join it arrived as) on all of:
26
46
  * - join type ≠ semi, >1 equi-pair, or a residual condition
27
47
  * - a correlated, non-deterministic, or side-effect-bearing key source
28
48
  * - side effects anywhere in the left chain
29
49
  * - any non-peelable node between the join and the access leaf
30
- * - a leaf that is not an unconstrained every-row walk — pushed constraints
31
- * / limit / offset mean replacing its FilterInfo would silently drop the
32
- * module-enforced predicates or directives
33
- * (backlog/feat-key-set-seek-over-pushed-constraints)
34
- * - a leaf whose emission order absorbed a SortNode (`orderingLoadBearing`):
35
- * the dropped Sort's order now rides the leaf's walk order through the
36
- * order-preserving hash join, and a pushed multi-seek would emit in
37
- * seek-key order instead
38
- * - target/key logical types that differ (a cross-type seek key can miss
39
- * rows `=` considers equal — backlog/feat-key-set-seek-cross-type-keys)
50
+ * - a walk leaf that is not an unconstrained every-row walk (residue in
51
+ * `FilterInfo.constraints`, or a pushed limit / offset)
52
+ * - a seek leaf failing any of {@link admitSeekLeaf}'s five gates:
53
+ * - a pushed limit / offset (a directive the multi-seek would not honour,
54
+ * and unlike a predicate it cannot be re-applied by a Filter without
55
+ * changing which rows are dropped — unreachable today,
56
+ * `monotonic-limit-pushdown`'s peel cannot cross a join, but kept)
57
+ * - no recorded `pushedConstraints` (a seek we cannot describe is a seek
58
+ * we must not displace)
59
+ * - a recorded predicate containing a relational node (this rule runs
60
+ * PostOptimization — a re-inserted relational subquery would reach emit
61
+ * unphysicalized)
62
+ * - a correlated subtree (`index-nested-loop` builds seeks keyed on the
63
+ * OUTER side of a join — re-applying is correct but the node drains the
64
+ * key source per outer row, turning a linear plan quadratic)
65
+ * - an emission order that absorbed a Sort (`orderingLoadBearing` —
66
+ * `seekPreservesTargetOrder` is false for every seek, so the absorbed
67
+ * order cannot be reproduced)
68
+ * - a walk leaf whose emission order absorbed a SortNode (`orderingLoadBearing`)
69
+ * UNLESS the seek would reproduce that order (`seekPreservesTargetOrder`:
70
+ * the seek index is the walk index, so a multi-seek emits a subsequence of
71
+ * the walk — still in the same order). Otherwise the dropped Sort's order,
72
+ * which rides the leaf's walk order through the order-preserving join,
73
+ * would be replaced by seek-key order
74
+ * - target/key logical types that do not share one seek key space
75
+ * (`sharesSeekKeySpace`: identical types, or any two of INTEGER / REAL /
76
+ * NUMERIC). Anything else could be encoded into seek keys that miss rows
77
+ * `=` considers equal
40
78
  * - a semantic-ordering key type ('PT1H' ≡ 'PT60M' but byte-distinct: a
41
79
  * raw-value seek under-fetches)
42
80
  * - a collation cover that is MISMATCH_UNSAFE (a finer index under-fetches;
@@ -49,18 +87,38 @@
49
87
  * - the module answering a synthesized probe with a plan `validateAccessPlan`
50
88
  * rejects (a module bug — logged, then declined like any other gate rather
51
89
  * than failing a query the user's own predicate would have run fine)
52
- * - a break-even of zero (the module's own costs say a scan wins at every
53
- * key count)
90
+ * - a break-even of zero (the module's own costs say the displaced plan —
91
+ * the plain scan for a walk leaf, the leaf's own pushed seek for a seek
92
+ * leaf — wins at every key count)
93
+ *
94
+ * The MERGE anchor adds two gates the hash anchor does not need:
95
+ * - `seekPreservesTargetOrder` must hold. `MergeJoinNode.computePhysical`
96
+ * propagates the probe side's `ordering` / `monotonicOn` for semi, so a
97
+ * Sort an earlier pass dropped on the strength of the merge join's order
98
+ * cannot come back — a replacement that cannot reproduce that order is a
99
+ * wrong-order plan, not a slow one. (`BloomJoinNode` propagates neither,
100
+ * so nothing above a hash join can have depended on an ordering claim —
101
+ * that asymmetry is the whole reason this gate is merge-only.)
102
+ * - the key source's PHYSICAL row estimate, when present, must not exceed
103
+ * min(maxKeys, breakEvenKeys) — the same expression the runtime's `push`
104
+ * decision uses. A merge semi join streams both sides; this node drains
105
+ * the key source into a Set before opening the target, so a rewrite whose
106
+ * seek then never fires is pure loss (the same scan, plus a set the merge
107
+ * join never built). The gate is a heuristic in BOTH directions: the
108
+ * estimate is advisory, and it counts ROWS while the runtime counts
109
+ * DISTINCT non-null keys, so a duplicate-heavy key source can be declined
110
+ * here and still have seeked. Both errors cost an optimization, never a
111
+ * row. The hash arm has no such gate because the hash join it replaces
112
+ * already built that set.
54
113
  *
55
- * NOTE: the three `getBestAccessPlan` probes run on every qualifying hash semi
114
+ * NOTE: the three `getBestAccessPlan` probes run on every qualifying semi
56
115
  * join optimization, uncached. Cheap for both shipped modules; if a third-party
57
116
  * module with an expensive planner ever shows up in optimization profiles,
58
117
  * memoize by (table, seek column).
59
118
  *
60
- * NOTE: the `orderingLoadBearing` decline is conservative — a future enhancement
61
- * could re-sort the pushed output by the leaf's advertised order, or push when
62
- * the seek index IS the walk index (see
63
- * `backlog/feat-key-set-seek-merge-semi-join`).
119
+ * NOTE: the `orderingLoadBearing` decline is conservative when
120
+ * `seekPreservesTargetOrder` is false — a future enhancement could re-sort the
121
+ * pushed output by the leaf's advertised order.
64
122
  */
65
123
  import type { PlanNode } from '../../nodes/plan-node.js';
66
124
  import type { OptContext } from '../../framework/context.js';
@@ -1 +1 @@
1
- {"version":3,"file":"rule-key-set-seek.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-key-set-seek.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AA+S7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA0BnF"}
1
+ {"version":3,"file":"rule-key-set-seek.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-key-set-seek.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyHG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAsC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAib7D,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAmFnF"}