@quereus/quereus 4.6.0 → 4.7.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 (535) 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/core/database-assertions.d.ts +4 -3
  7. package/dist/src/core/database-assertions.d.ts.map +1 -1
  8. package/dist/src/core/database-assertions.js +44 -14
  9. package/dist/src/core/database-assertions.js.map +1 -1
  10. package/dist/src/core/database-events.d.ts +62 -0
  11. package/dist/src/core/database-events.d.ts.map +1 -1
  12. package/dist/src/core/database-events.js +88 -2
  13. package/dist/src/core/database-events.js.map +1 -1
  14. package/dist/src/core/database-internal.d.ts +5 -2
  15. package/dist/src/core/database-internal.d.ts.map +1 -1
  16. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  17. package/dist/src/core/database-materialized-views-plan-builders.js +4 -2
  18. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  19. package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
  20. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  21. package/dist/src/core/database-materialized-views.d.ts +46 -0
  22. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  23. package/dist/src/core/database-materialized-views.js +75 -4
  24. package/dist/src/core/database-materialized-views.js.map +1 -1
  25. package/dist/src/core/database.d.ts +9 -1
  26. package/dist/src/core/database.d.ts.map +1 -1
  27. package/dist/src/core/database.js +36 -10
  28. package/dist/src/core/database.js.map +1 -1
  29. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  30. package/dist/src/core/derived-row-validator.js +7 -1
  31. package/dist/src/core/derived-row-validator.js.map +1 -1
  32. package/dist/src/core/statement.d.ts.map +1 -1
  33. package/dist/src/core/statement.js +15 -5
  34. package/dist/src/core/statement.js.map +1 -1
  35. package/dist/src/emit/ast-stringify.d.ts +18 -2
  36. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  37. package/dist/src/emit/ast-stringify.js +22 -4
  38. package/dist/src/emit/ast-stringify.js.map +1 -1
  39. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  40. package/dist/src/func/builtins/explain.js +19 -5
  41. package/dist/src/func/builtins/explain.js.map +1 -1
  42. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  43. package/dist/src/func/builtins/scalar.js +24 -20
  44. package/dist/src/func/builtins/scalar.js.map +1 -1
  45. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  46. package/dist/src/func/builtins/schema.js +32 -5
  47. package/dist/src/func/builtins/schema.js.map +1 -1
  48. package/dist/src/index.d.ts +4 -4
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/index.js +4 -4
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/parser/ast.d.ts +58 -1
  53. package/dist/src/parser/ast.d.ts.map +1 -1
  54. package/dist/src/parser/parser.js +1 -1
  55. package/dist/src/parser/parser.js.map +1 -1
  56. package/dist/src/parser/utils.d.ts +13 -1
  57. package/dist/src/parser/utils.d.ts.map +1 -1
  58. package/dist/src/parser/utils.js +14 -0
  59. package/dist/src/parser/utils.js.map +1 -1
  60. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  61. package/dist/src/planner/analysis/assertion-classifier.js +7 -2
  62. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  63. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  64. package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
  65. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  66. package/dist/src/planner/analysis/change-scope.d.ts +11 -3
  67. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  68. package/dist/src/planner/analysis/change-scope.js +5 -4
  69. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  70. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  71. package/dist/src/planner/analysis/coverage-prover.js +13 -5
  72. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  73. package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
  74. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
  75. package/dist/src/planner/analysis/equi-correlation.js +8 -1
  76. package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
  77. package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
  78. package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
  79. package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
  80. package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
  81. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
  82. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  83. package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
  84. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  85. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  86. package/dist/src/planner/building/alter-table.js +53 -17
  87. package/dist/src/planner/building/alter-table.js.map +1 -1
  88. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  89. package/dist/src/planner/building/constraint-builder.js +9 -5
  90. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  91. package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
  92. package/dist/src/planner/building/create-assertion.js +72 -1
  93. package/dist/src/planner/building/create-assertion.js.map +1 -1
  94. package/dist/src/planner/building/create-view.d.ts +6 -1
  95. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  96. package/dist/src/planner/building/create-view.js +12 -3
  97. package/dist/src/planner/building/create-view.js.map +1 -1
  98. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  99. package/dist/src/planner/building/ddl.js +6 -2
  100. package/dist/src/planner/building/ddl.js.map +1 -1
  101. package/dist/src/planner/building/delete.d.ts.map +1 -1
  102. package/dist/src/planner/building/delete.js +23 -10
  103. package/dist/src/planner/building/delete.js.map +1 -1
  104. package/dist/src/planner/building/dml-target.d.ts.map +1 -1
  105. package/dist/src/planner/building/dml-target.js +4 -0
  106. package/dist/src/planner/building/dml-target.js.map +1 -1
  107. package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
  108. package/dist/src/planner/building/drop-assertion.js +3 -1
  109. package/dist/src/planner/building/drop-assertion.js.map +1 -1
  110. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  111. package/dist/src/planner/building/foreign-key-builder.js +7 -5
  112. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  113. package/dist/src/planner/building/function-call.d.ts +35 -0
  114. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  115. package/dist/src/planner/building/function-call.js +53 -40
  116. package/dist/src/planner/building/function-call.js.map +1 -1
  117. package/dist/src/planner/building/insert.d.ts.map +1 -1
  118. package/dist/src/planner/building/insert.js +185 -48
  119. package/dist/src/planner/building/insert.js.map +1 -1
  120. package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
  121. package/dist/src/planner/building/materialized-view.js +3 -1
  122. package/dist/src/planner/building/materialized-view.js.map +1 -1
  123. package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
  124. package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
  125. package/dist/src/planner/building/schema-authored-context.js +75 -0
  126. package/dist/src/planner/building/schema-authored-context.js.map +1 -0
  127. package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
  128. package/dist/src/planner/building/schema-resolution.js +7 -4
  129. package/dist/src/planner/building/schema-resolution.js.map +1 -1
  130. package/dist/src/planner/building/select-aggregates.d.ts +187 -2
  131. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  132. package/dist/src/planner/building/select-aggregates.js +414 -81
  133. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  134. package/dist/src/planner/building/select-compound.js +2 -2
  135. package/dist/src/planner/building/select-compound.js.map +1 -1
  136. package/dist/src/planner/building/select-context.d.ts +91 -0
  137. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  138. package/dist/src/planner/building/select-context.js +113 -0
  139. package/dist/src/planner/building/select-context.js.map +1 -1
  140. package/dist/src/planner/building/select-modifiers.d.ts +10 -3
  141. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  142. package/dist/src/planner/building/select-modifiers.js +29 -8
  143. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  144. package/dist/src/planner/building/select-ordinal.d.ts +64 -19
  145. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  146. package/dist/src/planner/building/select-ordinal.js +79 -30
  147. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  148. package/dist/src/planner/building/select-projections.d.ts +1 -1
  149. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  150. package/dist/src/planner/building/select-projections.js +18 -11
  151. package/dist/src/planner/building/select-projections.js.map +1 -1
  152. package/dist/src/planner/building/select-window.d.ts +13 -3
  153. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  154. package/dist/src/planner/building/select-window.js +142 -37
  155. package/dist/src/planner/building/select-window.js.map +1 -1
  156. package/dist/src/planner/building/select.d.ts.map +1 -1
  157. package/dist/src/planner/building/select.js +129 -59
  158. package/dist/src/planner/building/select.js.map +1 -1
  159. package/dist/src/planner/building/update.d.ts.map +1 -1
  160. package/dist/src/planner/building/update.js +27 -13
  161. package/dist/src/planner/building/update.js.map +1 -1
  162. package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
  163. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  164. package/dist/src/planner/building/view-mutation-builder.js +102 -8
  165. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  166. package/dist/src/planner/building/with.d.ts.map +1 -1
  167. package/dist/src/planner/building/with.js +34 -4
  168. package/dist/src/planner/building/with.js.map +1 -1
  169. package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
  170. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  171. package/dist/src/planner/cache/correlation-detector.js +26 -0
  172. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  173. package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
  174. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  175. package/dist/src/planner/cache/materialization-advisory.js +12 -3
  176. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  177. package/dist/src/planner/framework/characteristics.d.ts +9 -0
  178. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  179. package/dist/src/planner/framework/characteristics.js.map +1 -1
  180. package/dist/src/planner/framework/pass.d.ts +2 -0
  181. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  182. package/dist/src/planner/framework/pass.js +15 -0
  183. package/dist/src/planner/framework/pass.js.map +1 -1
  184. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
  185. package/dist/src/planner/mutation/backward-body.js +4 -1
  186. package/dist/src/planner/mutation/backward-body.js.map +1 -1
  187. package/dist/src/planner/mutation/body-context.d.ts +23 -0
  188. package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
  189. package/dist/src/planner/mutation/body-context.js +26 -0
  190. package/dist/src/planner/mutation/body-context.js.map +1 -0
  191. package/dist/src/planner/mutation/cte-flatten.js +15 -2
  192. package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
  193. package/dist/src/planner/mutation/decomposition.d.ts +8 -0
  194. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
  195. package/dist/src/planner/mutation/decomposition.js +8 -3
  196. package/dist/src/planner/mutation/decomposition.js.map +1 -1
  197. package/dist/src/planner/mutation/lens-enforcement.js +1 -1
  198. package/dist/src/planner/mutation/multi-source.d.ts +7 -0
  199. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
  200. package/dist/src/planner/mutation/multi-source.js +5 -0
  201. package/dist/src/planner/mutation/multi-source.js.map +1 -1
  202. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  203. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  204. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  205. package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
  206. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
  207. package/dist/src/planner/mutation/scope-transform.js +181 -33
  208. package/dist/src/planner/mutation/scope-transform.js.map +1 -1
  209. package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
  210. package/dist/src/planner/mutation/set-op.js +66 -16
  211. package/dist/src/planner/mutation/set-op.js.map +1 -1
  212. package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
  213. package/dist/src/planner/mutation/single-source.js +100 -24
  214. package/dist/src/planner/mutation/single-source.js.map +1 -1
  215. package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
  216. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  217. package/dist/src/planner/nodes/add-constraint-node.js +10 -1
  218. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  219. package/dist/src/planner/nodes/aggregate-node.d.ts +14 -5
  220. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  221. package/dist/src/planner/nodes/aggregate-node.js +28 -21
  222. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  223. package/dist/src/planner/nodes/alter-table-node.d.ts +27 -2
  224. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  225. package/dist/src/planner/nodes/alter-table-node.js +49 -2
  226. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  227. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  228. package/dist/src/planner/nodes/constraint-check-node.js +17 -19
  229. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  230. package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
  231. package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
  232. package/dist/src/planner/nodes/create-assertion-node.js +5 -2
  233. package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
  234. package/dist/src/planner/nodes/cte-node.d.ts +19 -9
  235. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  236. package/dist/src/planner/nodes/cte-node.js +25 -9
  237. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  238. package/dist/src/planner/nodes/delete-node.d.ts +20 -2
  239. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  240. package/dist/src/planner/nodes/delete-node.js +11 -2
  241. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  242. package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
  243. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  244. package/dist/src/planner/nodes/dml-executor-node.js +107 -15
  245. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  246. package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
  247. package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
  248. package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
  249. package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
  250. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  251. package/dist/src/planner/nodes/filter.js +12 -6
  252. package/dist/src/planner/nodes/filter.js.map +1 -1
  253. package/dist/src/planner/nodes/hash-aggregate.d.ts +0 -5
  254. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  255. package/dist/src/planner/nodes/hash-aggregate.js +17 -20
  256. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  257. package/dist/src/planner/nodes/insert-node.d.ts +19 -2
  258. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  259. package/dist/src/planner/nodes/insert-node.js +10 -2
  260. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  261. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
  262. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  263. package/dist/src/planner/nodes/key-set-semi-join-node.js +85 -16
  264. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  265. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
  266. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  267. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  268. package/dist/src/planner/nodes/plan-node.d.ts +5 -0
  269. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  270. package/dist/src/planner/nodes/plan-node.js +12 -0
  271. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  272. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  273. package/dist/src/planner/nodes/project-node.js +16 -35
  274. package/dist/src/planner/nodes/project-node.js.map +1 -1
  275. package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
  276. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  277. package/dist/src/planner/nodes/retrieve-node.js +8 -1
  278. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  279. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  280. package/dist/src/planner/nodes/returning-node.js +13 -32
  281. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  282. package/dist/src/planner/nodes/stream-aggregate.d.ts +0 -5
  283. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  284. package/dist/src/planner/nodes/stream-aggregate.js +18 -24
  285. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  286. package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
  287. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  288. package/dist/src/planner/nodes/table-access-nodes.js +64 -2
  289. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  290. package/dist/src/planner/nodes/update-node.d.ts +19 -2
  291. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  292. package/dist/src/planner/nodes/update-node.js +10 -2
  293. package/dist/src/planner/nodes/update-node.js.map +1 -1
  294. package/dist/src/planner/optimizer.d.ts +18 -0
  295. package/dist/src/planner/optimizer.d.ts.map +1 -1
  296. package/dist/src/planner/optimizer.js +59 -10
  297. package/dist/src/planner/optimizer.js.map +1 -1
  298. package/dist/src/planner/planning-context.d.ts +24 -0
  299. package/dist/src/planner/planning-context.d.ts.map +1 -1
  300. package/dist/src/planner/planning-context.js.map +1 -1
  301. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
  302. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  303. package/dist/src/planner/rules/access/rule-key-set-seek.js +297 -71
  304. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  305. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  306. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
  307. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  308. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +11 -1
  309. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  310. package/dist/src/planner/rules/access/rule-select-access-path.js +46 -2
  311. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  312. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
  313. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  314. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
  315. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  316. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  317. package/dist/src/planner/rules/cache/rule-cte-optimization.js +6 -2
  318. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  319. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
  320. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  321. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  322. package/dist/src/planner/rules/join/index-nested-loop.js +13 -7
  323. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  324. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -0
  325. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  326. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +50 -15
  327. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  328. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
  329. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  330. package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
  331. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  332. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
  333. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
  334. package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
  335. package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
  336. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +2 -2
  337. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  338. package/dist/src/planner/rules/join/rule-join-physical-selection.js +46 -16
  339. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  340. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
  341. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  342. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +14 -0
  343. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  344. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
  345. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  346. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
  347. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  348. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +33 -19
  349. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  350. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +37 -18
  351. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  352. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +6 -3
  353. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -1
  354. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +6 -3
  355. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -1
  356. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  357. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +11 -21
  358. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  359. package/dist/src/planner/rules/shared/access-leaf.d.ts +16 -3
  360. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
  361. package/dist/src/planner/rules/shared/access-leaf.js +21 -5
  362. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
  363. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
  364. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  365. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +1 -1
  366. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  367. package/dist/src/planner/stored-body-context.d.ts +57 -0
  368. package/dist/src/planner/stored-body-context.d.ts.map +1 -0
  369. package/dist/src/planner/stored-body-context.js +64 -0
  370. package/dist/src/planner/stored-body-context.js.map +1 -0
  371. package/dist/src/planner/util/ind-utils.d.ts +28 -20
  372. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  373. package/dist/src/planner/util/ind-utils.js +36 -27
  374. package/dist/src/planner/util/ind-utils.js.map +1 -1
  375. package/dist/src/planner/util/key-utils.d.ts +19 -4
  376. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  377. package/dist/src/planner/util/key-utils.js +23 -7
  378. package/dist/src/planner/util/key-utils.js.map +1 -1
  379. package/dist/src/planner/util/output-names.d.ts +12 -0
  380. package/dist/src/planner/util/output-names.d.ts.map +1 -0
  381. package/dist/src/planner/util/output-names.js +20 -0
  382. package/dist/src/planner/util/output-names.js.map +1 -0
  383. package/dist/src/planner/util/row-estimates.d.ts +11 -0
  384. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  385. package/dist/src/planner/util/row-estimates.js +28 -0
  386. package/dist/src/planner/util/row-estimates.js.map +1 -1
  387. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  388. package/dist/src/runtime/deferred-constraint-queue.js +3 -2
  389. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  390. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  391. package/dist/src/runtime/emit/add-constraint.js +22 -6
  392. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  393. package/dist/src/runtime/emit/alter-schema-event.d.ts +59 -4
  394. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  395. package/dist/src/runtime/emit/alter-schema-event.js +63 -4
  396. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  397. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  398. package/dist/src/runtime/emit/alter-table.js +212 -92
  399. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  400. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  401. package/dist/src/runtime/emit/analyze.js +15 -4
  402. package/dist/src/runtime/emit/analyze.js.map +1 -1
  403. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
  404. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
  405. package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
  406. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
  407. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
  408. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
  409. package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
  410. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
  411. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  412. package/dist/src/runtime/emit/constraint-check.js +10 -227
  413. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  414. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  415. package/dist/src/runtime/emit/create-assertion.js +31 -14
  416. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  417. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  418. package/dist/src/runtime/emit/cte.js +11 -6
  419. package/dist/src/runtime/emit/cte.js.map +1 -1
  420. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  421. package/dist/src/runtime/emit/dml-executor.js +169 -1
  422. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  423. package/dist/src/runtime/emit/drop-assertion.js +8 -8
  424. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  425. package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
  426. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
  427. package/dist/src/runtime/emit/drop-column-guards.js +230 -0
  428. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
  429. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  430. package/dist/src/runtime/emit/drop-table.js +6 -0
  431. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  432. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  433. package/dist/src/runtime/emit/drop-view.js +4 -0
  434. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  435. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  436. package/dist/src/runtime/emit/key-set-semi-join.js +5 -3
  437. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  438. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
  439. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  440. package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
  441. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  442. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  443. package/dist/src/runtime/emit/materialized-view.js +7 -2
  444. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  445. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  446. package/dist/src/runtime/emit/recursive-cte.js +4 -5
  447. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  448. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  449. package/dist/src/runtime/emit/update.js +18 -6
  450. package/dist/src/runtime/emit/update.js.map +1 -1
  451. package/dist/src/runtime/row-constraints.d.ts +85 -0
  452. package/dist/src/runtime/row-constraints.d.ts.map +1 -0
  453. package/dist/src/runtime/row-constraints.js +239 -0
  454. package/dist/src/runtime/row-constraints.js.map +1 -0
  455. package/dist/src/runtime/types.d.ts +8 -11
  456. package/dist/src/runtime/types.d.ts.map +1 -1
  457. package/dist/src/runtime/types.js.map +1 -1
  458. package/dist/src/schema/assertion.d.ts +14 -1
  459. package/dist/src/schema/assertion.d.ts.map +1 -1
  460. package/dist/src/schema/assertion.js +14 -1
  461. package/dist/src/schema/assertion.js.map +1 -1
  462. package/dist/src/schema/catalog-persistability.js +19 -3
  463. package/dist/src/schema/catalog-persistability.js.map +1 -1
  464. package/dist/src/schema/catalog.d.ts +6 -0
  465. package/dist/src/schema/catalog.d.ts.map +1 -1
  466. package/dist/src/schema/catalog.js +26 -36
  467. package/dist/src/schema/catalog.js.map +1 -1
  468. package/dist/src/schema/column-source-resolver.d.ts +18 -0
  469. package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
  470. package/dist/src/schema/column-source-resolver.js +22 -0
  471. package/dist/src/schema/column-source-resolver.js.map +1 -0
  472. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  473. package/dist/src/schema/constraint-builder.js +7 -1
  474. package/dist/src/schema/constraint-builder.js.map +1 -1
  475. package/dist/src/schema/ddl-generator.js +8 -0
  476. package/dist/src/schema/ddl-generator.js.map +1 -1
  477. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  478. package/dist/src/schema/lens-compiler.js +203 -51
  479. package/dist/src/schema/lens-compiler.js.map +1 -1
  480. package/dist/src/schema/lens-prover.d.ts +2 -3
  481. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  482. package/dist/src/schema/lens-prover.js +19 -11
  483. package/dist/src/schema/lens-prover.js.map +1 -1
  484. package/dist/src/schema/manager.d.ts +30 -12
  485. package/dist/src/schema/manager.d.ts.map +1 -1
  486. package/dist/src/schema/manager.js +49 -17
  487. package/dist/src/schema/manager.js.map +1 -1
  488. package/dist/src/schema/rename-rewriter.d.ts +142 -0
  489. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  490. package/dist/src/schema/rename-rewriter.js +254 -9
  491. package/dist/src/schema/rename-rewriter.js.map +1 -1
  492. package/dist/src/schema/reserved-tags.d.ts +1 -1
  493. package/dist/src/schema/reserved-tags.d.ts.map +1 -1
  494. package/dist/src/schema/reserved-tags.js +4 -3
  495. package/dist/src/schema/reserved-tags.js.map +1 -1
  496. package/dist/src/schema/schema-differ.d.ts +16 -0
  497. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  498. package/dist/src/schema/schema-differ.js +122 -11
  499. package/dist/src/schema/schema-differ.js.map +1 -1
  500. package/dist/src/schema/view.d.ts +11 -0
  501. package/dist/src/schema/view.d.ts.map +1 -1
  502. package/dist/src/schema/view.js +12 -0
  503. package/dist/src/schema/view.js.map +1 -1
  504. package/dist/src/types/builtin-types.d.ts +38 -0
  505. package/dist/src/types/builtin-types.d.ts.map +1 -1
  506. package/dist/src/types/builtin-types.js +77 -26
  507. package/dist/src/types/builtin-types.js.map +1 -1
  508. package/dist/src/types/index.d.ts +1 -1
  509. package/dist/src/types/index.d.ts.map +1 -1
  510. package/dist/src/types/index.js +1 -1
  511. package/dist/src/types/index.js.map +1 -1
  512. package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
  513. package/dist/src/util/array-row-iterable.d.ts.map +1 -0
  514. package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
  515. package/dist/src/util/array-row-iterable.js.map +1 -0
  516. package/dist/src/vtab/events.d.ts +3 -0
  517. package/dist/src/vtab/events.d.ts.map +1 -1
  518. package/dist/src/vtab/events.js.map +1 -1
  519. package/dist/src/vtab/manifest.d.ts +15 -0
  520. package/dist/src/vtab/manifest.d.ts.map +1 -1
  521. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  522. package/dist/src/vtab/memory/layer/manager.js +3 -69
  523. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  524. package/dist/src/vtab/memory/module.d.ts +16 -1
  525. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  526. package/dist/src/vtab/memory/module.js +62 -2
  527. package/dist/src/vtab/memory/module.js.map +1 -1
  528. package/dist/src/vtab/module.d.ts +26 -2
  529. package/dist/src/vtab/module.d.ts.map +1 -1
  530. package/dist/src/vtab/table.d.ts +8 -1
  531. package/dist/src/vtab/table.d.ts.map +1 -1
  532. package/dist/src/vtab/table.js.map +1 -1
  533. package/package.json +3 -3
  534. package/dist/src/util/working-table-iterable.d.ts.map +0 -1
  535. package/dist/src/util/working-table-iterable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/planner/building/select.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/planner/building/select.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoF,MAAM,uBAAuB,CAAC;AASnI,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAgB5E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;GAMG;AACH,gBAAgB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AACzD;;;;;;GAMG;AACH,UAAU,UAAQ,GACjB,QAAQ,CAyaV"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAAE,QAAQ,EAAoF,MAAM,uBAAuB,CAAC;AASnI,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAkB5E,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,GAAG,CAAC,UAAU;AACpB;;;;;;GAMG;AACH,gBAAgB,GAAE,aAAa,CAAC,mBAAmB,CAAM;AACzD;;;;;;GAMG;AACH,UAAU,UAAQ,GACjB,QAAQ,CAsbV"}
@@ -22,10 +22,12 @@ import { isCommittedSchemaRef } from './schema-resolution.js';
22
22
  import { validateDeterministicGenerated } from '../validation/determinism-validator.js';
23
23
  import { buildViewMutation } from './view-mutation-builder.js';
24
24
  import { isMaintainedTable, maintainedTableViewLike } from '../../schema/derivation.js';
25
+ import { isViewSchema } from '../../schema/view.js';
25
26
  import { validateReservedTags } from '../../schema/reserved-tags.js';
26
27
  import { raiseStmtTagDiagnostics } from './tag-diagnostics.js';
27
28
  import { buildWithContext } from './select-context.js';
28
29
  import { resolveCteTarget, contextForCteTarget, resolveSubqueryTarget } from './dml-target.js';
30
+ import { schemaAuthoredContext } from './schema-authored-context.js';
29
31
  export function buildUpdateStmt(ctx, stmt,
30
32
  /**
31
33
  * Extra row-local CHECK constraints to enforce, already resolved in the target
@@ -85,20 +87,21 @@ lensRouted = false) {
85
87
  // hook then syncs the backing. See docs/materialized-views.md § Write boundary.
86
88
  // Dispatch order is load-bearing: a maintained table (derivation-bearing)
87
89
  // must hit the view-mutation rewrite, never the direct table write.
88
- const updateMaintained = ctx.schemaManager.getMaintainedTable(stmt.table.schema ?? null, stmt.table.name);
89
- const updateView = ctx.schemaManager.getView(stmt.table.schema ?? null, stmt.table.name)
90
- ?? (updateMaintained ? maintainedTableViewLike(updateMaintained) : undefined);
90
+ // An unqualified target resolves through the schema search path, exactly as an
91
+ // unqualified read does (see `SchemaManager.findSchemaItem`).
92
+ const updateTarget = ctx.schemaManager.findSchemaItem(stmt.table.name, stmt.table.schema, contextWithSchemaPath.schemaPath);
93
+ const updateView = isViewSchema(updateTarget) ? updateTarget
94
+ : (isMaintainedTable(updateTarget) ? maintainedTableViewLike(updateTarget) : undefined);
91
95
  if (updateView) {
92
96
  // Route through the view-mutation substrate (single-source = one base op).
93
97
  return buildViewMutation(contextWithCTEs, updateView, { op: 'update', stmt });
94
98
  }
95
99
  const tableRetrieve = buildTableReference({ type: 'table', table: stmt.table }, contextWithCTEs);
96
100
  const tableReference = tableRetrieve.tableRef; // Extract the actual TableReferenceNode
97
- // Backstop on the RESOLVED table: the dispatch above defaults an unqualified
98
- // name to the current schema, but buildTableReference resolves through the
99
- // schema path, which can land on a maintained table the dispatch missed. A
100
- // direct write would corrupt derived contents — route it through the same
101
- // view-mutation rewrite.
101
+ // Backstop on the RESOLVED table: the dispatch above and buildTableReference
102
+ // walk the same path today, so this should be unreachable — but they are two
103
+ // resolvers, and a direct write to a maintained table would corrupt derived
104
+ // contents. Keep the belt: route any that slips through to the same rewrite.
102
105
  const updateResolved = tableReference.tableSchema;
103
106
  if (isMaintainedTable(updateResolved)) {
104
107
  return buildViewMutation(contextWithCTEs, maintainedTableViewLike(updateResolved), { op: 'update', stmt });
@@ -151,6 +154,17 @@ lensRouted = false) {
151
154
  // Built off the CTE-aware context so `stmt.cteNodes` thread into the SET / WHERE
152
155
  // subquery builds — a CTE read in either now resolves (closes the prior read gap).
153
156
  const updateCtx = { ...contextWithCTEs, scope: tableScope };
157
+ // Contexts for the table's OWN schema-authored SQL (generated-column recompute,
158
+ // CHECK constraints, NOT NULL defaults, FK probes). Derived once here rather than
159
+ // per call site; both clear the CTE namespace so none of that SQL can bind this
160
+ // statement's common table expressions — its own leading `with` clause or ones it
161
+ // inherited from an enclosing statement — and both narrow the schema path to the
162
+ // target's own schema. `schemaAuthoredUpdateCtx` keeps the table scope so `new.` /
163
+ // `old.` still resolve; `schemaAuthoredCtx` matches the bare `ctx` the FK builders
164
+ // already took.
165
+ const targetSchemaName = tableReference.tableSchema.schemaName;
166
+ const schemaAuthoredUpdateCtx = schemaAuthoredContext(updateCtx, targetSchemaName);
167
+ const schemaAuthoredCtx = schemaAuthoredContext(ctx, targetSchemaName);
154
168
  // IMPORTANT: Build assignments FIRST to ensure parameter indices match SQL text order.
155
169
  // SQL: UPDATE t SET col = ?1 WHERE id = ?2
156
170
  // The SET clause parameters must be resolved before WHERE clause parameters.
@@ -189,7 +203,7 @@ lensRouted = false) {
189
203
  const col = tableReference.tableSchema.columns[colIdx];
190
204
  if (!col.generated || !col.generatedExpr)
191
205
  continue;
192
- const genNode = buildExpression(updateCtx, col.generatedExpr);
206
+ const genNode = buildExpression(schemaAuthoredUpdateCtx, col.generatedExpr);
193
207
  if (!ctx.db.options.getBooleanOption('nondeterministic_schema')) {
194
208
  validateDeterministicGenerated(genNode, col.name, tableReference.tableSchema.name);
195
209
  }
@@ -223,11 +237,11 @@ lensRouted = false) {
223
237
  });
224
238
  }
225
239
  // Build constraint checks at plan time
226
- const constraintChecks = buildConstraintChecks(updateCtx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, flatRowDescriptor, contextAttributes, extraConstraints);
240
+ const constraintChecks = buildConstraintChecks(schemaAuthoredUpdateCtx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, flatRowDescriptor, contextAttributes, extraConstraints);
227
241
  // Build FK constraint checks if foreign_keys pragma is enabled
228
242
  if (ctx.db.options.getBooleanOption('foreign_keys')) {
229
243
  // Child-side: check new FK values reference valid parent rows
230
- const childFKChecks = buildChildSideFKChecks(ctx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, contextAttributes);
244
+ const childFKChecks = buildChildSideFKChecks(schemaAuthoredCtx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, contextAttributes);
231
245
  constraintChecks.push(...childFKChecks);
232
246
  // Parent-side: check no children reference old values being changed.
233
247
  // Skipped entirely when the batchability gate admits the statement — the
@@ -237,12 +251,12 @@ lensRouted = false) {
237
251
  // no statement-level OR clause, so the effective conflict resolution is the
238
252
  // ABORT default (matching the `undefined` onConflict on the DmlExecutorNode).
239
253
  if (getBatchableRestrictFks(ctx.schemaManager, tableReference.tableSchema, 'update', undefined, lensRouted) === undefined) {
240
- const parentFKChecks = buildParentSideFKChecks(ctx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, contextAttributes);
254
+ const parentFKChecks = buildParentSideFKChecks(schemaAuthoredCtx, tableReference.tableSchema, RowOpFlag.UPDATE, oldAttributes, newAttributes, contextAttributes);
241
255
  constraintChecks.push(...parentFKChecks);
242
256
  }
243
257
  }
244
258
  // Pre-build DEFAULT evaluators for NOT NULL columns (used by REPLACE substitution).
245
- const notNullDefaults = buildNotNullDefaults(updateCtx, tableReference.tableSchema, newAttributes, contextAttributes);
259
+ const notNullDefaults = buildNotNullDefaults(schemaAuthoredUpdateCtx, tableReference.tableSchema, newAttributes, contextAttributes);
246
260
  if (stmt.returning && stmt.returning.length > 0) {
247
261
  // For RETURNING, create coordinated attribute IDs like we do for INSERT
248
262
  const returningScope = new RegisteredScope(updateCtx.scope);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/planner/building/update.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,5 @@ import { type MutableViewLike, type MutationRequest } from '../mutation/propagat
11
11
  * results are sequenced in a `ViewMutationNode`. For the single-source case the
12
12
  * wrapped subtree is byte-identical to what the retired AST rewrite re-planned.
13
13
  */
14
- export declare function buildViewMutation(ctx: PlanningContext, view: MutableViewLike, req: MutationRequest): PlanNode;
14
+ export declare function buildViewMutation(ctxIn: PlanningContext, viewIn: MutableViewLike, req: MutationRequest): PlanNode;
15
15
  //# sourceMappingURL=view-mutation-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-mutation-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/view-mutation-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAA0G,MAAM,uBAAuB,CAAC;AAIzJ,OAAO,EAAgD,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA+BpI;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,QAAQ,CAyP7G"}
1
+ {"version":3,"file":"view-mutation-builder.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/view-mutation-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAA0G,MAAM,uBAAuB,CAAC;AAIzJ,OAAO,EAAgD,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAkCpI;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,QAAQ,CAgTjH"}
@@ -6,6 +6,7 @@ import { analyzeMultiSourceInsert, analyzeJoinView, decomposeUpdate, decomposeDe
6
6
  import { analyzeDecompositionInsert, analyzeDecomposition, decomposeUpdate as decomposeDecompositionUpdate, buildDecompositionKeyCapture } from '../mutation/decomposition.js';
7
7
  import { isSetOpMembershipBody, isSetOpFlaglessWritableBody, buildSetOpWrite, buildFlaglessSetOpWrite } from '../mutation/set-op.js';
8
8
  import { buildCteSelfCapture } from '../mutation/single-source.js';
9
+ import { mapNestedSelects } from '../mutation/scope-transform.js';
9
10
  import { needsSelfCapture } from './dml-target.js';
10
11
  import { FilterNode } from '../nodes/filter.js';
11
12
  import { RegisteredScope } from '../scopes/registered.js';
@@ -24,10 +25,12 @@ import { ProjectNode } from '../nodes/project-node.js';
24
25
  import { ColumnReferenceNode } from '../nodes/reference.js';
25
26
  import { isRelationalNode } from '../nodes/plan-node.js';
26
27
  import { parseExpressionString } from '../../parser/index.js';
28
+ import { firstDataModifyingCte } from '../../parser/utils.js';
27
29
  import { INTEGER_TYPE } from '../../types/builtin-types.js';
28
30
  import { raiseMutationDiagnostic } from '../mutation/mutation-diagnostic.js';
29
31
  import { validateDeterministicDefault } from '../validation/determinism-validator.js';
30
32
  import { buildRowDefaultScope } from './default-scope.js';
33
+ import { schemaAuthoredContext } from './schema-authored-context.js';
31
34
  import { createLogger } from '../../common/logger.js';
32
35
  const log = createLogger('planner:view-mutation');
33
36
  /**
@@ -40,7 +43,14 @@ const log = createLogger('planner:view-mutation');
40
43
  * results are sequenced in a `ViewMutationNode`. For the single-source case the
41
44
  * wrapped subtree is byte-identical to what the retired AST rewrite re-planned.
42
45
  */
43
- export function buildViewMutation(ctx, view, req) {
46
+ export function buildViewMutation(ctxIn, viewIn, req) {
47
+ // The per-lowering memo for the body's own `with` clause definitions, carried onto every
48
+ // copied fragment below. One memo per lowering ⇒ every fragment that references a
49
+ // body-local CTE shares ONE plan node for it, so a definition referenced by two fragments
50
+ // is evaluated once (matching the read) rather than once per fragment. An EPHEMERAL target
51
+ // stamps nothing (its body is part of the caller's statement), so it needs no memo and
52
+ // plans on the caller's context untouched. Everything below reads `ctx`.
53
+ const ctx = viewIn.ephemeral ? ctxIn : { ...ctxIn, storedBodyCTECache: new Map() };
44
54
  // Site-validate the view-level reserved tags (a sited error for a typo'd /
45
55
  // mis-sited `quereus.*` key on the view/MV is raised here, before any base op
46
56
  // is built — atomic). The statement's own tags were already validated at the
@@ -52,8 +62,8 @@ export function buildViewMutation(ctx, view, req) {
52
62
  // `<schema>.<cteName>` would spuriously invalidate this cached plan if a real
53
63
  // view of that name were later created — and there would be nothing to invalidate
54
64
  // *on* (the CTE body is part of the statement, re-planned every run). Skip both.
55
- if (!view.ephemeral) {
56
- validateMutationTags(view, req.stmt);
65
+ if (!viewIn.ephemeral) {
66
+ validateMutationTags(viewIn, req.stmt);
57
67
  // Record a `view` schema dependency for the mutated view/MV. This is the single
58
68
  // funnel for ALL view-/MV-mediated writes (single-source, multi-source,
59
69
  // decomposition, set-op, lens), so recording here — rather than at each builder's
@@ -65,8 +75,55 @@ export function buildViewMutation(ctx, view, req) {
65
75
  // Read-only `select … from v` records no view dependency — view tags do not affect
66
76
  // read results, so its plan need not invalidate on a tag change. Both halves
67
77
  // (recording and invalidation) are pinned in test/plan/view-dependency-invalidation.spec.ts.
68
- ctx.schemaDependencies.recordDependency({ type: 'view', schemaName: view.schemaName, objectName: view.name }, view);
78
+ // `viewIn`, NOT the marked clone below: the tracker holds only a `WeakRef` to the
79
+ // recorded object, so handing it a temporary would let the dependency collapse.
80
+ ctx.schemaDependencies.recordDependency({ type: 'view', schemaName: viewIn.schemaName, objectName: viewIn.name }, viewIn);
69
81
  }
82
+ // Mark the stored body's NESTED sub-selects with the body's whole naming environment,
83
+ // once, here — `buildViewMutation` is the single funnel every view-mediated write passes
84
+ // through (single-source, multi-source, decomposition, set-op, lens), so every spine's
85
+ // copied fragments inherit the marker without each spine being touched. The lowered
86
+ // statement plans on the caller's context, and `buildSelectStmt` uses the marker to
87
+ // re-enter the view's own naming environment for exactly those fragments — see
88
+ // `mutation/scope-transform.ts` § mapNestedSelects and {@link AST.StoredBodyEnv}.
89
+ //
90
+ // The clone is essential: the schema's stored `selectAst` must never be mutated. An
91
+ // EPHEMERAL target (a CTE-name body, an inline FROM-subquery) is part of the caller's
92
+ // statement and is deliberately left unmarked — the mirror of `bodyPlanningContext`'s
93
+ // ephemeral guard in `mutation/body-context.ts`.
94
+ //
95
+ // NOTE: this deep-clones the whole body AST on every view-write plan BUILD (not per
96
+ // row, and plans are cached), so the cost is proportional to body size once per plan.
97
+ // If very large view bodies plus high plan-cache churn ever show up in a profile, skip
98
+ // the walk for a body that contains no nested sub-select at all.
99
+ //
100
+ // The env carries three pieces, all read off the body's TOP-LEVEL select — which is
101
+ // itself never one of the copied fragments, so nothing else would see them:
102
+ // - `homeSchema` — the view's schema, the environment to re-enter;
103
+ // - `schemaPath` — the body's declared `with schema` path, so the write resolves
104
+ // unqualified names exactly as the read of the same view does;
105
+ // - `withClause` — the body's own leading `with` clause, since re-entering the home
106
+ // environment clears the caller's CTE namespace and a fragment sub-select reading a
107
+ // body-local block would have nothing to bind to (it errors `Table 'c' not found`,
108
+ // or — worse — silently binds a same-named real table and the write affects no rows
109
+ // while the read of the same view returns them).
110
+ // `rebuildSelect` clones a `with` clause without descending into it, so the definitions
111
+ // themselves are never stamped: their sub-selects are built under the home environment
112
+ // already, exactly as on the read path.
113
+ const bodySelect = !viewIn.ephemeral && viewIn.selectAst.type === 'select' ? viewIn.selectAst : undefined;
114
+ if (bodySelect?.withClause)
115
+ rejectDataModifyingBodyCTE(viewIn, bodySelect.withClause);
116
+ const storedBodyEnv = {
117
+ homeSchema: viewIn.schemaName,
118
+ schemaPath: bodySelect?.schemaPath,
119
+ withClause: bodySelect?.withClause,
120
+ };
121
+ const view = viewIn.ephemeral
122
+ ? viewIn
123
+ : {
124
+ ...viewIn,
125
+ selectAst: mapNestedSelects(viewIn.selectAst, sel => ({ ...sel, storedBodyEnv })),
126
+ };
70
127
  // A decomposition INSERT fans out one insert per member off the same shared-
71
128
  // surrogate envelope, materialized once and read back per member through an
72
129
  // `EnvelopeScanNode` — the plan-level form the AST `BaseOp[]` model cannot
@@ -279,6 +336,31 @@ export function buildViewMutation(ctx, view, req) {
279
336
  : keyCapture ? { source: keyCapture.source, descriptor: keyCapture.descriptor } : undefined;
280
337
  return new ViewMutationNode(ctx.scope, children, returning, undefined, returningTiming, identityCapture);
281
338
  }
339
+ /**
340
+ * Reject a write through a view whose body's `with` clause defines a **data-modifying**
341
+ * block (`with m as (insert … returning …)`). Reading such a view already executes the
342
+ * insert once per read; once the definitions are carried into the lowering the write would
343
+ * execute it too — and the shared plan node the memo hands every fragment makes a
344
+ * multi-reference of it fail outright inside the runtime (`sourceIterable is not async
345
+ * iterable`). A structured rejection is strictly better than either, and better than the
346
+ * `Table 'm' not found` the un-carried lowering used to raise.
347
+ *
348
+ * Deliberately unconditional on whether a copied fragment actually references the block:
349
+ * the reject is about the shape of the body, and `view_info` mirrors exactly this gate
350
+ * (`deriveViewInfo`) so the advertised writability agrees. An ephemeral target stamps
351
+ * nothing, so it never reaches here.
352
+ */
353
+ function rejectDataModifyingBodyCTE(view, withClause) {
354
+ const cte = firstDataModifyingCte(withClause);
355
+ if (!cte)
356
+ return;
357
+ raiseMutationDiagnostic({
358
+ reason: 'unsupported-body-cte-dml',
359
+ table: view.name,
360
+ message: `cannot write through view '${view.name}': its body's WITH clause defines '${cte.name}' as a data-modifying statement (${cte.query.type}), which the write-through lowering cannot carry into the base statement`,
361
+ suggestion: 'Restrict the view body\'s WITH clause to SELECT / VALUES definitions, or write against the base table directly.',
362
+ });
363
+ }
282
364
  /**
283
365
  * Build the shared up-front identity capture for a multi-source inner-join UPDATE /
284
366
  * DELETE. Now built for **every** such mutation (the single-side live join-body
@@ -626,7 +708,7 @@ function buildMultiSourceInsert(ctx, view, stmt) {
626
708
  return buildInsertStmt(ctx, sideInsert, [], source, false, sideNewRowScope);
627
709
  });
628
710
  const envelopeSource = buildEnvelopeSource(ctx, view, stmt, plan.suppliedColumns.length);
629
- const keyDefault = buildKeyDefault(ctx, view, plan.keyDefault, plan.suppliedColumns);
711
+ const keyDefault = buildKeyDefault(ctx, view, plan.keyDefault, plan.keyDefaultSchemaName, plan.suppliedColumns);
630
712
  return new ViewMutationNode(ctx.scope, baseOps, undefined, {
631
713
  source: envelopeSource,
632
714
  descriptor,
@@ -704,7 +786,7 @@ function buildDecompositionInsert(ctx, view, stmt) {
704
786
  }
705
787
  }
706
788
  const envelopeSource = buildEnvelopeSource(ctx, view, stmt, plan.suppliedColumns.length);
707
- const keyDefault = buildKeyDefault(ctx, view, plan.keyDefault, plan.suppliedColumns);
789
+ const keyDefault = buildKeyDefault(ctx, view, plan.keyDefault, plan.keyDefaultSchemaName, plan.suppliedColumns);
708
790
  return new ViewMutationNode(ctx.scope, baseOps, undefined, {
709
791
  source: envelopeSource,
710
792
  descriptor,
@@ -764,7 +846,7 @@ function buildEnvelopeShape(suppliedColumns, hasMint) {
764
846
  * (rather than reusing the `EnvelopeScanNode` attributes) keeps the reference
765
847
  * self-contained so the optimizer cannot dangle it.
766
848
  */
767
- function buildKeyDefault(ctx, view, keyDefault, suppliedColumns) {
849
+ function buildKeyDefault(ctx, view, keyDefault, keyDefaultSchemaName, suppliedColumns) {
768
850
  if (!keyDefault)
769
851
  return undefined;
770
852
  // Fresh attributes for the supplied envelope columns, referenced only by this key
@@ -777,7 +859,19 @@ function buildKeyDefault(ctx, view, keyDefault, suppliedColumns) {
777
859
  sourceRelation: 'envelope-key-default',
778
860
  }));
779
861
  const rowScope = buildRowDefaultScope(ctx.scope, suppliedColumns, rowAttrs);
780
- const node = buildExpression({ ...ctx, scope: rowScope }, keyDefault);
862
+ // SCHEMA-authored: this is the anchor key column's own declared `default`, so — like
863
+ // every other default / generated column / CHECK / FK probe — it resolves relation
864
+ // names against the schema, never against a statement's common table expressions,
865
+ // and against the ANCHOR BASE TABLE's schema (`keyDefaultSchemaName` — the view may
866
+ // live in a different one) rather than the writing statement's path. This is the ONE
867
+ // schema-authored build the decomposition lowering does itself; the per-member base
868
+ // ops re-enter `buildInsertStmt`, which narrows and clears the namespace there.
869
+ // NOTE: both analyses set `keyDefaultSchemaName` exactly when they set the expression,
870
+ // so this fallback is unreachable today. If a third analysis ever produces a key
871
+ // default without one, it would silently resolve on the VIEW's schema instead of the
872
+ // anchor's — make the field required on the analysis types rather than widening this.
873
+ const anchorSchemaName = keyDefaultSchemaName ?? view.schemaName;
874
+ const node = buildExpression({ ...schemaAuthoredContext(ctx, anchorSchemaName), scope: rowScope }, keyDefault);
781
875
  if (!ctx.db.options.getBooleanOption('nondeterministic_schema')) {
782
876
  validateDeterministicDefault(node, '<shared key>', view.name);
783
877
  }