@quereus/quereus 4.11.0 → 4.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/dist/src/common/type-inference.d.ts +12 -6
  2. package/dist/src/common/type-inference.d.ts.map +1 -1
  3. package/dist/src/common/type-inference.js +12 -24
  4. package/dist/src/common/type-inference.js.map +1 -1
  5. package/dist/src/core/database-assertions.d.ts.map +1 -1
  6. package/dist/src/core/database-assertions.js +7 -5
  7. package/dist/src/core/database-assertions.js.map +1 -1
  8. package/dist/src/core/database-events.d.ts +4 -3
  9. package/dist/src/core/database-events.d.ts.map +1 -1
  10. package/dist/src/core/database-events.js +4 -3
  11. package/dist/src/core/database-events.js.map +1 -1
  12. package/dist/src/core/database-materialized-views-analysis.d.ts +1 -3
  13. package/dist/src/core/database-materialized-views-analysis.d.ts.map +1 -1
  14. package/dist/src/core/database-materialized-views-analysis.js +1 -11
  15. package/dist/src/core/database-materialized-views-analysis.js.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 +12 -10
  18. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  19. package/dist/src/core/database.d.ts.map +1 -1
  20. package/dist/src/core/database.js +13 -2
  21. package/dist/src/core/database.js.map +1 -1
  22. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  23. package/dist/src/core/derived-row-validator.js +14 -2
  24. package/dist/src/core/derived-row-validator.js.map +1 -1
  25. package/dist/src/core/param.d.ts +9 -0
  26. package/dist/src/core/param.d.ts.map +1 -1
  27. package/dist/src/core/param.js +21 -1
  28. package/dist/src/core/param.js.map +1 -1
  29. package/dist/src/core/statement.d.ts.map +1 -1
  30. package/dist/src/core/statement.js +38 -15
  31. package/dist/src/core/statement.js.map +1 -1
  32. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  33. package/dist/src/func/builtins/aggregate.js +7 -2
  34. package/dist/src/func/builtins/aggregate.js.map +1 -1
  35. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  36. package/dist/src/func/builtins/builtin-window-functions.js +27 -11
  37. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  38. package/dist/src/func/builtins/datetime.d.ts.map +1 -1
  39. package/dist/src/func/builtins/datetime.js +8 -3
  40. package/dist/src/func/builtins/datetime.js.map +1 -1
  41. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  42. package/dist/src/func/builtins/explain.js +9 -29
  43. package/dist/src/func/builtins/explain.js.map +1 -1
  44. package/dist/src/func/builtins/json-tvf.d.ts.map +1 -1
  45. package/dist/src/func/builtins/json-tvf.js +14 -7
  46. package/dist/src/func/builtins/json-tvf.js.map +1 -1
  47. package/dist/src/func/builtins/return-types.d.ts +29 -0
  48. package/dist/src/func/builtins/return-types.d.ts.map +1 -1
  49. package/dist/src/func/builtins/return-types.js +4 -1
  50. package/dist/src/func/builtins/return-types.js.map +1 -1
  51. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  52. package/dist/src/func/builtins/scalar.js +22 -67
  53. package/dist/src/func/builtins/scalar.js.map +1 -1
  54. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  55. package/dist/src/func/builtins/schema.js +26 -16
  56. package/dist/src/func/builtins/schema.js.map +1 -1
  57. package/dist/src/index.d.ts +1 -1
  58. package/dist/src/index.d.ts.map +1 -1
  59. package/dist/src/index.js +6 -1
  60. package/dist/src/index.js.map +1 -1
  61. package/dist/src/parser/parser.d.ts.map +1 -1
  62. package/dist/src/parser/parser.js +8 -5
  63. package/dist/src/parser/parser.js.map +1 -1
  64. package/dist/src/parser/visitor.d.ts +16 -0
  65. package/dist/src/parser/visitor.d.ts.map +1 -1
  66. package/dist/src/parser/visitor.js +16 -0
  67. package/dist/src/parser/visitor.js.map +1 -1
  68. package/dist/src/planner/analysis/assertion-plan.d.ts +33 -0
  69. package/dist/src/planner/analysis/assertion-plan.d.ts.map +1 -0
  70. package/dist/src/planner/analysis/assertion-plan.js +39 -0
  71. package/dist/src/planner/analysis/assertion-plan.js.map +1 -0
  72. package/dist/src/planner/analysis/binary-operator-class.d.ts +55 -0
  73. package/dist/src/planner/analysis/binary-operator-class.d.ts.map +1 -0
  74. package/dist/src/planner/analysis/binary-operator-class.js +57 -0
  75. package/dist/src/planner/analysis/binary-operator-class.js.map +1 -0
  76. package/dist/src/planner/analysis/binding-extractor.d.ts +9 -3
  77. package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -1
  78. package/dist/src/planner/analysis/binding-extractor.js +11 -16
  79. package/dist/src/planner/analysis/binding-extractor.js.map +1 -1
  80. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  81. package/dist/src/planner/analysis/change-scope.js +19 -6
  82. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  83. package/dist/src/planner/analysis/check-extraction.d.ts +1 -7
  84. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
  85. package/dist/src/planner/analysis/check-extraction.js.map +1 -1
  86. package/dist/src/planner/analysis/comparison-collation.d.ts +17 -0
  87. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  88. package/dist/src/planner/analysis/comparison-collation.js +17 -5
  89. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  90. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  91. package/dist/src/planner/analysis/constraint-extractor.js +18 -18
  92. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  93. package/dist/src/planner/analysis/coverage-prover.d.ts +11 -7
  94. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  95. package/dist/src/planner/analysis/coverage-prover.js +11 -7
  96. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  97. package/dist/src/planner/analysis/equi-correlation.d.ts +1 -1
  98. package/dist/src/planner/analysis/equi-correlation.js +1 -1
  99. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
  100. package/dist/src/planner/analysis/expression-fingerprint.js +0 -2
  101. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
  102. package/dist/src/planner/analysis/key-filter.d.ts.map +1 -1
  103. package/dist/src/planner/analysis/key-filter.js +2 -3
  104. package/dist/src/planner/analysis/key-filter.js.map +1 -1
  105. package/dist/src/planner/analysis/relation-key.d.ts +104 -0
  106. package/dist/src/planner/analysis/relation-key.d.ts.map +1 -0
  107. package/dist/src/planner/analysis/relation-key.js +121 -0
  108. package/dist/src/planner/analysis/relation-key.js.map +1 -0
  109. package/dist/src/planner/analysis/scalar-param-usage.d.ts.map +1 -1
  110. package/dist/src/planner/analysis/scalar-param-usage.js +12 -4
  111. package/dist/src/planner/analysis/scalar-param-usage.js.map +1 -1
  112. package/dist/src/planner/analysis/set-op-type-merge.d.ts +9 -3
  113. package/dist/src/planner/analysis/set-op-type-merge.d.ts.map +1 -1
  114. package/dist/src/planner/analysis/set-op-type-merge.js +22 -8
  115. package/dist/src/planner/analysis/set-op-type-merge.js.map +1 -1
  116. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  117. package/dist/src/planner/building/alter-table.js +31 -23
  118. package/dist/src/planner/building/alter-table.js.map +1 -1
  119. package/dist/src/planner/building/analyze.d.ts.map +1 -1
  120. package/dist/src/planner/building/analyze.js +21 -0
  121. package/dist/src/planner/building/analyze.js.map +1 -1
  122. package/dist/src/planner/building/block.d.ts.map +1 -1
  123. package/dist/src/planner/building/block.js +222 -82
  124. package/dist/src/planner/building/block.js.map +1 -1
  125. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  126. package/dist/src/planner/building/constraint-builder.js +5 -3
  127. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  128. package/dist/src/planner/building/delete.js +1 -1
  129. package/dist/src/planner/building/delete.js.map +1 -1
  130. package/dist/src/planner/building/expression.d.ts.map +1 -1
  131. package/dist/src/planner/building/expression.js +11 -3
  132. package/dist/src/planner/building/expression.js.map +1 -1
  133. package/dist/src/planner/building/foreign-key-builder.d.ts +16 -6
  134. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  135. package/dist/src/planner/building/foreign-key-builder.js +43 -20
  136. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  137. package/dist/src/planner/building/generated-column-scope.d.ts +58 -0
  138. package/dist/src/planner/building/generated-column-scope.d.ts.map +1 -0
  139. package/dist/src/planner/building/generated-column-scope.js +117 -0
  140. package/dist/src/planner/building/generated-column-scope.js.map +1 -0
  141. package/dist/src/planner/building/insert.d.ts.map +1 -1
  142. package/dist/src/planner/building/insert.js +20 -28
  143. package/dist/src/planner/building/insert.js.map +1 -1
  144. package/dist/src/planner/building/select-aggregates.d.ts +73 -132
  145. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  146. package/dist/src/planner/building/select-aggregates.js +405 -81
  147. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  148. package/dist/src/planner/building/select-modifiers.d.ts +37 -8
  149. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  150. package/dist/src/planner/building/select-modifiers.js +8 -9
  151. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  152. package/dist/src/planner/building/select-ordinal.d.ts +6 -0
  153. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  154. package/dist/src/planner/building/select-ordinal.js +1 -1
  155. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  156. package/dist/src/planner/building/select-window.d.ts +2 -2
  157. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  158. package/dist/src/planner/building/select-window.js +82 -101
  159. package/dist/src/planner/building/select-window.js.map +1 -1
  160. package/dist/src/planner/building/select.d.ts.map +1 -1
  161. package/dist/src/planner/building/select.js +78 -33
  162. package/dist/src/planner/building/select.js.map +1 -1
  163. package/dist/src/planner/building/update.d.ts.map +1 -1
  164. package/dist/src/planner/building/update.js +14 -8
  165. package/dist/src/planner/building/update.js.map +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 +329 -14
  168. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  169. package/dist/src/planner/building/with.d.ts +6 -0
  170. package/dist/src/planner/building/with.d.ts.map +1 -1
  171. package/dist/src/planner/building/with.js +52 -3
  172. package/dist/src/planner/building/with.js.map +1 -1
  173. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  174. package/dist/src/planner/cache/correlation-detector.js +44 -17
  175. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  176. package/dist/src/planner/framework/physical-utils.d.ts +6 -0
  177. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  178. package/dist/src/planner/framework/physical-utils.js +6 -0
  179. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  180. package/dist/src/planner/mutation/lens-enforcement.d.ts +123 -0
  181. package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
  182. package/dist/src/planner/mutation/lens-enforcement.js +362 -5
  183. package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
  184. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  185. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  186. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  187. package/dist/src/planner/nodes/alter-table-node.d.ts +15 -11
  188. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  189. package/dist/src/planner/nodes/alter-table-node.js +5 -0
  190. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  191. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  192. package/dist/src/planner/nodes/bloom-join-node.js +7 -0
  193. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  194. package/dist/src/planner/nodes/constraint-check-node.d.ts +16 -0
  195. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  196. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  197. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -1
  198. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  199. package/dist/src/planner/nodes/plan-node-type.js +1 -1
  200. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  201. package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
  202. package/dist/src/planner/nodes/pragma.js +5 -2
  203. package/dist/src/planner/nodes/pragma.js.map +1 -1
  204. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  205. package/dist/src/planner/nodes/reference.js +9 -1
  206. package/dist/src/planner/nodes/reference.js.map +1 -1
  207. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  208. package/dist/src/planner/nodes/scalar.js +117 -91
  209. package/dist/src/planner/nodes/scalar.js.map +1 -1
  210. package/dist/src/planner/nodes/sequence-node.d.ts +50 -0
  211. package/dist/src/planner/nodes/sequence-node.d.ts.map +1 -0
  212. package/dist/src/planner/nodes/sequence-node.js +96 -0
  213. package/dist/src/planner/nodes/sequence-node.js.map +1 -0
  214. package/dist/src/planner/nodes/values-node.d.ts +8 -0
  215. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  216. package/dist/src/planner/nodes/values-node.js +29 -6
  217. package/dist/src/planner/nodes/values-node.js.map +1 -1
  218. package/dist/src/planner/nodes/view-mutation-node.d.ts +43 -1
  219. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
  220. package/dist/src/planner/nodes/view-mutation-node.js +27 -6
  221. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
  222. package/dist/src/planner/nodes/window-node.d.ts +33 -4
  223. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  224. package/dist/src/planner/nodes/window-node.js +80 -36
  225. package/dist/src/planner/nodes/window-node.js.map +1 -1
  226. package/dist/src/planner/planning-context.d.ts +38 -1
  227. package/dist/src/planner/planning-context.d.ts.map +1 -1
  228. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  229. package/dist/src/planner/rules/access/rule-key-set-seek.js +8 -3
  230. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  231. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +18 -12
  232. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  233. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +4 -3
  234. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  235. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
  236. package/dist/src/planner/rules/window/rule-monotonic-window.js +6 -0
  237. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  238. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  239. package/dist/src/planner/scopes/param.js +10 -5
  240. package/dist/src/planner/scopes/param.js.map +1 -1
  241. package/dist/src/planner/util/ind-utils.d.ts +25 -8
  242. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  243. package/dist/src/planner/util/ind-utils.js +53 -10
  244. package/dist/src/planner/util/ind-utils.js.map +1 -1
  245. package/dist/src/planner/util/key-utils.d.ts +7 -7
  246. package/dist/src/planner/util/key-utils.js +9 -9
  247. package/dist/src/planner/util/key-utils.js.map +1 -1
  248. package/dist/src/runtime/delta-executor.d.ts.map +1 -1
  249. package/dist/src/runtime/delta-executor.js +7 -2
  250. package/dist/src/runtime/delta-executor.js.map +1 -1
  251. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  252. package/dist/src/runtime/emit/add-constraint.js +50 -15
  253. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  254. package/dist/src/runtime/emit/alter-schema-event.d.ts +2 -43
  255. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  256. package/dist/src/runtime/emit/alter-schema-event.js +2 -53
  257. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  258. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  259. package/dist/src/runtime/emit/alter-table.js +59 -24
  260. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  261. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  262. package/dist/src/runtime/emit/analyze.js +7 -0
  263. package/dist/src/runtime/emit/analyze.js.map +1 -1
  264. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -1
  265. package/dist/src/runtime/emit/assertion-rename-helpers.js +2 -3
  266. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -1
  267. package/dist/src/runtime/emit/binary.d.ts +5 -0
  268. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  269. package/dist/src/runtime/emit/binary.js +22 -22
  270. package/dist/src/runtime/emit/binary.js.map +1 -1
  271. package/dist/src/runtime/emit/block.d.ts.map +1 -1
  272. package/dist/src/runtime/emit/block.js +9 -3
  273. package/dist/src/runtime/emit/block.js.map +1 -1
  274. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  275. package/dist/src/runtime/emit/constraint-check.js +5 -6
  276. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  277. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  278. package/dist/src/runtime/emit/create-assertion.js +71 -70
  279. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  280. package/dist/src/runtime/emit/create-index.d.ts.map +1 -1
  281. package/dist/src/runtime/emit/create-index.js +8 -3
  282. package/dist/src/runtime/emit/create-index.js.map +1 -1
  283. package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
  284. package/dist/src/runtime/emit/create-table.js +20 -10
  285. package/dist/src/runtime/emit/create-table.js.map +1 -1
  286. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  287. package/dist/src/runtime/emit/create-view.js +51 -44
  288. package/dist/src/runtime/emit/create-view.js.map +1 -1
  289. package/dist/src/runtime/emit/ddl-event-scope.d.ts +71 -0
  290. package/dist/src/runtime/emit/ddl-event-scope.d.ts.map +1 -0
  291. package/dist/src/runtime/emit/ddl-event-scope.js +80 -0
  292. package/dist/src/runtime/emit/ddl-event-scope.js.map +1 -0
  293. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  294. package/dist/src/runtime/emit/dml-executor.js +23 -23
  295. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  296. package/dist/src/runtime/emit/drop-assertion.d.ts.map +1 -1
  297. package/dist/src/runtime/emit/drop-assertion.js +23 -17
  298. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  299. package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
  300. package/dist/src/runtime/emit/drop-index.js +7 -2
  301. package/dist/src/runtime/emit/drop-index.js.map +1 -1
  302. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  303. package/dist/src/runtime/emit/drop-table.js +16 -10
  304. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  305. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  306. package/dist/src/runtime/emit/drop-view.js +50 -43
  307. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  308. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  309. package/dist/src/runtime/emit/insert.js +2 -1
  310. package/dist/src/runtime/emit/insert.js.map +1 -1
  311. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  312. package/dist/src/runtime/emit/materialized-view.js +87 -67
  313. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  314. package/dist/src/runtime/emit/schema-declarative.d.ts +8 -0
  315. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  316. package/dist/src/runtime/emit/schema-declarative.js +128 -25
  317. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  318. package/dist/src/runtime/emit/sequence.d.ts +17 -0
  319. package/dist/src/runtime/emit/sequence.d.ts.map +1 -0
  320. package/dist/src/runtime/emit/sequence.js +40 -0
  321. package/dist/src/runtime/emit/sequence.js.map +1 -0
  322. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  323. package/dist/src/runtime/emit/set-object-tags.js +40 -32
  324. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  325. package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
  326. package/dist/src/runtime/emit/table-valued-function.js +3 -2
  327. package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
  328. package/dist/src/runtime/emit/update.js +3 -3
  329. package/dist/src/runtime/emit/update.js.map +1 -1
  330. package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -1
  331. package/dist/src/runtime/emit/view-mutation.js +45 -3
  332. package/dist/src/runtime/emit/view-mutation.js.map +1 -1
  333. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  334. package/dist/src/runtime/foreign-key-actions.js +9 -10
  335. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  336. package/dist/src/runtime/register.d.ts.map +1 -1
  337. package/dist/src/runtime/register.js +3 -2
  338. package/dist/src/runtime/register.js.map +1 -1
  339. package/dist/src/runtime/row-constraints.d.ts +14 -8
  340. package/dist/src/runtime/row-constraints.d.ts.map +1 -1
  341. package/dist/src/runtime/row-constraints.js +41 -15
  342. package/dist/src/runtime/row-constraints.js.map +1 -1
  343. package/dist/src/runtime/strict-representation.d.ts +11 -6
  344. package/dist/src/runtime/strict-representation.d.ts.map +1 -1
  345. package/dist/src/runtime/strict-representation.js +1 -44
  346. package/dist/src/runtime/strict-representation.js.map +1 -1
  347. package/dist/src/schema/assertion.d.ts +25 -2
  348. package/dist/src/schema/assertion.d.ts.map +1 -1
  349. package/dist/src/schema/assertion.js.map +1 -1
  350. package/dist/src/schema/catalog-rendering.d.ts +38 -0
  351. package/dist/src/schema/catalog-rendering.d.ts.map +1 -0
  352. package/dist/src/schema/catalog-rendering.js +171 -0
  353. package/dist/src/schema/catalog-rendering.js.map +1 -0
  354. package/dist/src/schema/catalog.d.ts +69 -3
  355. package/dist/src/schema/catalog.d.ts.map +1 -1
  356. package/dist/src/schema/catalog.js +124 -19
  357. package/dist/src/schema/catalog.js.map +1 -1
  358. package/dist/src/schema/column-source-resolver.d.ts +9 -5
  359. package/dist/src/schema/column-source-resolver.d.ts.map +1 -1
  360. package/dist/src/schema/column-source-resolver.js +9 -5
  361. package/dist/src/schema/column-source-resolver.js.map +1 -1
  362. package/dist/src/schema/constraint-builder.d.ts +13 -10
  363. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  364. package/dist/src/schema/constraint-builder.js +45 -17
  365. package/dist/src/schema/constraint-builder.js.map +1 -1
  366. package/dist/src/schema/declared-schema-manager.d.ts +50 -0
  367. package/dist/src/schema/declared-schema-manager.d.ts.map +1 -1
  368. package/dist/src/schema/declared-schema-manager.js +52 -0
  369. package/dist/src/schema/declared-schema-manager.js.map +1 -1
  370. package/dist/src/schema/expr-scope/frame.d.ts +65 -0
  371. package/dist/src/schema/expr-scope/frame.d.ts.map +1 -0
  372. package/dist/src/schema/expr-scope/frame.js +104 -0
  373. package/dist/src/schema/expr-scope/frame.js.map +1 -0
  374. package/dist/src/schema/expr-scope/walk.d.ts +40 -0
  375. package/dist/src/schema/expr-scope/walk.d.ts.map +1 -0
  376. package/dist/src/schema/expr-scope/walk.js +260 -0
  377. package/dist/src/schema/expr-scope/walk.js.map +1 -0
  378. package/dist/src/schema/generated-column-refs.d.ts +41 -0
  379. package/dist/src/schema/generated-column-refs.d.ts.map +1 -0
  380. package/dist/src/schema/generated-column-refs.js +124 -0
  381. package/dist/src/schema/generated-column-refs.js.map +1 -0
  382. package/dist/src/schema/lens-ack.d.ts.map +1 -1
  383. package/dist/src/schema/lens-ack.js +5 -2
  384. package/dist/src/schema/lens-ack.js.map +1 -1
  385. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  386. package/dist/src/schema/lens-compiler.js +9 -1
  387. package/dist/src/schema/lens-compiler.js.map +1 -1
  388. package/dist/src/schema/lens-prover.d.ts +7 -2
  389. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  390. package/dist/src/schema/lens-prover.js +105 -11
  391. package/dist/src/schema/lens-prover.js.map +1 -1
  392. package/dist/src/schema/lens.d.ts +12 -0
  393. package/dist/src/schema/lens.d.ts.map +1 -1
  394. package/dist/src/schema/lens.js +10 -0
  395. package/dist/src/schema/lens.js.map +1 -1
  396. package/dist/src/schema/manager.d.ts +35 -1
  397. package/dist/src/schema/manager.d.ts.map +1 -1
  398. package/dist/src/schema/manager.js +125 -26
  399. package/dist/src/schema/manager.js.map +1 -1
  400. package/dist/src/schema/rename/self-qualifier-strip.d.ts +16 -10
  401. package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -1
  402. package/dist/src/schema/rename/self-qualifier-strip.js +30 -213
  403. package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -1
  404. package/dist/src/schema/rename-rewriter.d.ts +4 -3
  405. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  406. package/dist/src/schema/rename-rewriter.js +4 -3
  407. package/dist/src/schema/rename-rewriter.js.map +1 -1
  408. package/dist/src/schema/schema-differ.d.ts +54 -6
  409. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  410. package/dist/src/schema/schema-differ.js +108 -42
  411. package/dist/src/schema/schema-differ.js.map +1 -1
  412. package/dist/src/schema/schema-hasher.d.ts +12 -0
  413. package/dist/src/schema/schema-hasher.d.ts.map +1 -1
  414. package/dist/src/schema/schema-hasher.js +28 -10
  415. package/dist/src/schema/schema-hasher.js.map +1 -1
  416. package/dist/src/schema/table.d.ts +74 -19
  417. package/dist/src/schema/table.d.ts.map +1 -1
  418. package/dist/src/schema/table.js +133 -71
  419. package/dist/src/schema/table.js.map +1 -1
  420. package/dist/src/types/comparison-coercion.d.ts +5 -1
  421. package/dist/src/types/comparison-coercion.d.ts.map +1 -1
  422. package/dist/src/types/comparison-coercion.js +21 -5
  423. package/dist/src/types/comparison-coercion.js.map +1 -1
  424. package/dist/src/types/representation.d.ts +65 -0
  425. package/dist/src/types/representation.d.ts.map +1 -0
  426. package/dist/src/types/representation.js +63 -0
  427. package/dist/src/types/representation.js.map +1 -0
  428. package/dist/src/types/validation.d.ts +76 -22
  429. package/dist/src/types/validation.d.ts.map +1 -1
  430. package/dist/src/types/validation.js +110 -31
  431. package/dist/src/types/validation.js.map +1 -1
  432. package/dist/src/vtab/best-access-plan.d.ts +10 -0
  433. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  434. package/dist/src/vtab/best-access-plan.js +16 -0
  435. package/dist/src/vtab/best-access-plan.js.map +1 -1
  436. package/dist/src/vtab/capabilities.d.ts +72 -4
  437. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  438. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  439. package/dist/src/vtab/memory/layer/manager.js +17 -13
  440. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  441. package/dist/src/vtab/module.d.ts +13 -7
  442. package/dist/src/vtab/module.d.ts.map +1 -1
  443. package/package.json +3 -3
  444. package/dist/src/planner/nodes/array-index-node.d.ts +0 -22
  445. package/dist/src/planner/nodes/array-index-node.d.ts.map +0 -1
  446. package/dist/src/planner/nodes/array-index-node.js +0 -41
  447. package/dist/src/planner/nodes/array-index-node.js.map +0 -1
  448. package/dist/src/runtime/emit/array-index.d.ts +0 -5
  449. package/dist/src/runtime/emit/array-index.d.ts.map +0 -1
  450. package/dist/src/runtime/emit/array-index.js +0 -22
  451. package/dist/src/runtime/emit/array-index.js.map +0 -1
@@ -11,7 +11,9 @@ import { needsSelfCapture } from './dml-target.js';
11
11
  import { FilterNode } from '../nodes/filter.js';
12
12
  import { RegisteredScope } from '../scopes/registered.js';
13
13
  import { validateMutationTags } from '../mutation/mutation-tags.js';
14
- import { collectLensRowLocalConstraints, collectLensForeignKeyConstraints, collectLensParentSideForeignKeyConstraints, collectLensSetLevelConstraints, hasCommitTimeSetLevelObligation } from '../mutation/lens-enforcement.js';
14
+ import { collectLensRowLocalConstraints, collectLensForeignKeyConstraints, collectLensParentSideForeignKeyConstraints, collectLensSetLevelConstraints, hasCommitTimeSetLevelObligation, collectLensRowLocalLogicalChecks, resolveLensLogicalRowAddress, synthesizeLensRowLocalDeferredConstraint, } from '../mutation/lens-enforcement.js';
15
+ import { cloneExpr, transformExpr } from '../mutation/scope-transform.js';
16
+ import { expressionToString } from '../../emit/ast-stringify.js';
15
17
  import { ConflictResolution } from '../../common/constants.js';
16
18
  import { buildInsertStmt } from './insert.js';
17
19
  import { buildUpdateStmt } from './update.js';
@@ -28,7 +30,7 @@ import { parseExpressionString } from '../../parser/index.js';
28
30
  import { firstDataModifyingCte } from '../../parser/utils.js';
29
31
  import { INTEGER_TYPE } from '../../types/builtin-types.js';
30
32
  import { raiseMutationDiagnostic } from '../mutation/mutation-diagnostic.js';
31
- import { validateDeterministicDefault } from '../validation/determinism-validator.js';
33
+ import { validateDeterministicDefault, validateDeterministicConstraint } from '../validation/determinism-validator.js';
32
34
  import { buildRowDefaultScope } from './default-scope.js';
33
35
  import { schemaAuthoredContext } from './schema-authored-context.js';
34
36
  import { createLogger } from '../../common/logger.js';
@@ -252,10 +254,22 @@ export function buildViewMutation(ctxIn, viewIn, req) {
252
254
  // routed through the same seam — gated on `foreign_keys`. It fires on DELETE and
253
255
  // UPDATE (the only ops that can orphan a child), so it is the *sole* extra for a
254
256
  // delete and joins the row-local/child-FK/set-level list (UPDATE-masked) otherwise.
257
+ // Row-local CHECKs take a spine-dependent seam. The single-source spine (and the
258
+ // multi-source join spine, whose base ops carry every basis column of their side)
259
+ // keeps the routed basis-term form: its ops always see the written value, NULL
260
+ // included. A DECOMPOSITION UPDATE must not — a per-member op may legitimately not
261
+ // happen for a row whose value is NULL (an all-null assignment lowers to a member
262
+ // DELETE, which an INSERT|UPDATE-masked check never evaluates on), so its row-local
263
+ // checks are instead synthesized as deferred logical-row re-reads riding every op of
264
+ // the fan-out (`lensRowLocalDecompositionUpdateConstraints`) — never both seams, so
265
+ // no check is evaluated twice.
266
+ const rowLocalConstraints = decompShape && req.op === 'update'
267
+ ? lensRowLocalDecompositionUpdateConstraints(ctx, view, decompShape, baseOps)
268
+ : lensRowLocalConstraints(ctx, view);
255
269
  const extraConstraints = req.op === 'delete'
256
270
  ? lensParentSideForeignKeyConstraints(ctx, view, RowOpFlag.DELETE)
257
271
  : [
258
- ...lensRowLocalConstraints(ctx, view),
272
+ ...rowLocalConstraints,
259
273
  ...lensForeignKeyConstraints(ctx, view),
260
274
  ...lensSetLevelConstraints(ctx, view),
261
275
  ...lensParentSideForeignKeyConstraints(ctx, view, RowOpFlag.UPDATE),
@@ -509,6 +523,298 @@ function lensSetLevelConstraints(ctx, view) {
509
523
  const slot = ctx.schemaManager.getSchema(view.schemaName)?.getLensSlot(view.name);
510
524
  return slot ? collectLensSetLevelConstraints(slot, ctx.schemaManager) : [];
511
525
  }
526
+ // --- Row-local CHECKs on the LOGICAL row (decomposition write paths) ---------
527
+ //
528
+ // A row-local logical CHECK is a predicate over the logical row, but a
529
+ // decomposition write may plan NO per-member op for the checked column (an
530
+ // omitted / explicit-NULL insert value suppresses the optional member's write;
531
+ // an all-null assignment lowers to a member DELETE) — so routing the basis-term
532
+ // form onto the member ops silently skipped the check exactly when the written
533
+ // value was NULL. These helpers move the evaluation onto the logical row:
534
+ // once per produced row at the insert envelope (subquery-free checks), or as a
535
+ // deferred commit-time re-read of the logical view addressed by the shared key
536
+ // (the UPDATE fan-out, and any subquery-bearing insert check).
537
+ /**
538
+ * Whether an AST expression embeds a relation-reading subquery anywhere.
539
+ *
540
+ * Descends through EVERY object, not only ones carrying a `type` discriminant:
541
+ * several AST containers are plain records (`CaseExpr.whenThenClauses`'
542
+ * `{ when, then }` pairs, `WindowDefinition`'s frame bounds), so a `type`-gated
543
+ * walk stops short of them and reports a CASE-nested `exists (…)` as
544
+ * subquery-free — which routed the check to the row-time envelope seam instead
545
+ * of the deferred commit-time one (pinned by the CASE case in
546
+ * test/lens-row-local-null-write.spec.ts).
547
+ */
548
+ function astContainsSubquery(expr) {
549
+ let found = false;
550
+ const walk = (node) => {
551
+ if (found || !node || typeof node !== 'object')
552
+ return;
553
+ if (Array.isArray(node)) {
554
+ node.forEach(walk);
555
+ return;
556
+ }
557
+ const type = node.type;
558
+ if (type === 'subquery' || type === 'select' || type === 'exists') {
559
+ found = true;
560
+ return;
561
+ }
562
+ for (const v of Object.values(node))
563
+ walk(v);
564
+ };
565
+ walk(expr);
566
+ return found;
567
+ }
568
+ /**
569
+ * The {@link LensLogicalRowAddress} the deferred logical-row re-read addresses a
570
+ * written row by — a direct shared-key correlation (logical-tuple key), or the
571
+ * member-hop through the logical PK when the shared key is a hidden surrogate —
572
+ * plus the anchor's own key column (for the anchor-riding INSERT variant). LOUD
573
+ * refusal (`lens-row-local-unenforceable`) when neither addressing works (a
574
+ * composite/absent shared key, a PK spread across members): per the enforcement
575
+ * contract, a row-local CHECK that cannot be evaluated on the logical row
576
+ * refuses the write rather than silently skipping the check.
577
+ */
578
+ function requireLensLogicalRowAddress(ctx, view, slot, storage, checkName) {
579
+ const anchor = storage.members.find(m => m.relationId === storage.anchorRelationId);
580
+ const keys = anchor ? (storage.sharedKey.keyColumnsByRelation.get(anchor.relationId) ?? []) : [];
581
+ const anchorKeyColumn = keys.length === 1 ? keys[0] : undefined;
582
+ const address = anchor && anchorKeyColumn !== undefined
583
+ ? resolveLensLogicalRowAddress(slot, ctx.schemaManager, anchor.relation, anchorKeyColumn)
584
+ : undefined;
585
+ if (!anchor || anchorKeyColumn === undefined || address === undefined) {
586
+ raiseMutationDiagnostic({
587
+ reason: 'lens-row-local-unenforceable',
588
+ table: view.name,
589
+ message: `cannot write through logical table '${view.name}': its row-local CHECK '${checkName}' must be evaluated on the logical row, but the written row cannot be addressed in the logical view — the decomposition's shared key is ${anchorKeyColumn === undefined ? 'composite or absent' : 'hidden and the logical primary key does not map to plain single-key mandatory-member columns'}`,
590
+ suggestion: 'Expose the shared key as a logical column, keep each logical primary-key column on a plain, single-key, mandatory member, or drop the CHECK from the logical declaration.',
591
+ });
592
+ }
593
+ return { address, anchorRelation: anchor.relation, anchorKeyColumn };
594
+ }
595
+ /**
596
+ * The single shared-key column of the decomposition member backing `relation`,
597
+ * for the deferred re-read's `<CORR>.<key>` correlation — or the same LOUD
598
+ * refusal when the member carries no single-column key.
599
+ */
600
+ function decompositionRelationKeyColumn(view, storage, relation, checkName) {
601
+ const member = storage.members.find(m => m.relation.schema.toLowerCase() === relation.schema.toLowerCase()
602
+ && m.relation.table.toLowerCase() === relation.table.toLowerCase());
603
+ const keys = member ? (storage.sharedKey.keyColumnsByRelation.get(member.relationId) ?? []) : [];
604
+ if (keys.length !== 1) {
605
+ raiseMutationDiagnostic({
606
+ reason: 'lens-row-local-unenforceable',
607
+ table: view.name,
608
+ message: `cannot write through logical table '${view.name}': its row-local CHECK '${checkName}' must be evaluated on the logical row, but decomposition member '${relation.schema}.${relation.table}' carries no single-column shared key to address the written row by`,
609
+ });
610
+ }
611
+ return keys[0];
612
+ }
613
+ /**
614
+ * The row-local constraints for a decomposition UPDATE fan-out: ONE grouped
615
+ * deferred re-read of the written row's POST-write logical image per distinct
616
+ * `(target relation, op shape)` of the emitted base ops, covering EVERY
617
+ * row-local rule of the table in a single planned probe (see
618
+ * `synthesizeLensRowLocalDeferredConstraint` for the message-valued CASE shape
619
+ * that keeps exact per-rule failure attribution) — `NEW`-correlated
620
+ * (INSERT|UPDATE-masked) for the insert/update-shaped ops, `OLD`-correlated
621
+ * (DELETE-masked) for a member DELETE (the all-null assignment lowering, the
622
+ * shape the old member-riding seam could never evaluate on). The per-op gate
623
+ * then threads each variant onto exactly the ops targeting its relation, so
624
+ * every row the statement physically touches gets the checks; a row NO op
625
+ * processes (an absent optional member assigned NULL — already NULL, image
626
+ * unchanged) is not re-checked, which is exactly the grandfathering read-side
627
+ * contract (the write introduced no new violation). Plan-construction cost is
628
+ * therefore proportional to the member relations the write touches and
629
+ * independent of how many rules the table declares — the collapse that fixed
630
+ * the measured per-rule cost (one planned probe per rule per relation).
631
+ *
632
+ * At commit the contained subquery evaluates against post-mutation state, so a
633
+ * row two ops both touch (matched UPDATE + `do nothing` materialize INSERT)
634
+ * enqueues the same re-read twice but both evaluations see the same final image
635
+ * — idempotent, one failure message. Returns `[]` for a non-lens / check-free
636
+ * decomposition. Replaces (never doubles) the routed basis-term form on this path.
637
+ */
638
+ function lensRowLocalDecompositionUpdateConstraints(ctx, view, shape, baseOps) {
639
+ const slot = ctx.schemaManager.getSchema(view.schemaName)?.getLensSlot(view.name);
640
+ if (!slot)
641
+ return [];
642
+ const checks = collectLensRowLocalLogicalChecks(slot);
643
+ if (checks.length === 0)
644
+ return [];
645
+ const { address } = requireLensLogicalRowAddress(ctx, view, slot, shape.storage, checks[0].name);
646
+ // NOTE: the collapse is per WRITTEN ROW — each row a statement touches still
647
+ // enqueues one deferred logical-view probe per touched member relation, so a
648
+ // bulk update pays O(rows) point re-reads at commit. Fine at today's scale
649
+ // (the rule-count multiplier was the measured problem); if bulk lens writes
650
+ // ever show up hot, the next step is a set-level probe over the written keys,
651
+ // not further trimming here.
652
+ const constraints = [];
653
+ const seen = new Set();
654
+ for (const op of baseOps) {
655
+ const schema = op.table.tableSchema;
656
+ const relation = { schema: schema.schemaName, table: schema.name };
657
+ const corr = op.op === 'delete' ? 'OLD' : 'NEW';
658
+ const dedupeKey = `${relation.schema.toLowerCase()}.${relation.table.toLowerCase()}:${corr}`;
659
+ if (seen.has(dedupeKey))
660
+ continue;
661
+ seen.add(dedupeKey);
662
+ const keyColumn = decompositionRelationKeyColumn(view, shape.storage, relation, checks[0].name);
663
+ const mask = op.op === 'delete' ? RowOpFlag.DELETE : (RowOpFlag.INSERT | RowOpFlag.UPDATE);
664
+ constraints.push(synthesizeLensRowLocalDeferredConstraint(ctx, slot, checks, address, relation, keyColumn, corr, mask));
665
+ }
666
+ return constraints;
667
+ }
668
+ /**
669
+ * Substitute the logical columns an INSERT does not supply into a row-local
670
+ * CHECK, so the envelope form evaluates the produced logical row: an unsupplied
671
+ * column reads as its declared LOGICAL default when one exists, else NULL (under
672
+ * a decomposition an absent cell IS NULL — an optional member simply gets no
673
+ * row). Supplied columns stay as (dequalified) refs over the envelope. Purely
674
+ * structural — the check reaching the envelope seam is subquery-free (a
675
+ * substituted default introducing one re-routes the check to the deferred seam),
676
+ * so no scope-aware descent is needed.
677
+ *
678
+ * NOTE: a MANDATORY member's unsupplied basis column takes its BASIS default at
679
+ * the member insert; if that basis default differs from the logical declaration
680
+ * (or exists with none declared logically), the envelope form evaluates NULL /
681
+ * the logical default instead of the stored value — a corner this substitution
682
+ * accepts. Under the per-column optional-member decompositions the lens
683
+ * generator emits, an unsupplied column always reads back NULL, so NULL is exact.
684
+ */
685
+ function substituteUnsuppliedLogicalColumns(slot, expr, supplied) {
686
+ const logicalTable = slot.logicalTable.name.toLowerCase();
687
+ const defaults = new Map();
688
+ for (const col of slot.logicalTable.columns) {
689
+ const dv = col.defaultValue;
690
+ const asExpr = dv && typeof dv === 'object' && 'type' in dv
691
+ ? dv
692
+ : dv !== null && dv !== undefined
693
+ ? { type: 'literal', value: dv }
694
+ : undefined;
695
+ defaults.set(col.name.toLowerCase(), asExpr);
696
+ }
697
+ return transformExpr(expr, col => {
698
+ // Only a bare ref or one qualified by the logical table is a write-row ref
699
+ // (the prover restricts a top-level CHECK to logical columns).
700
+ if (col.table && col.table.toLowerCase() !== logicalTable)
701
+ return undefined;
702
+ const name = col.name.toLowerCase();
703
+ if (!defaults.has(name))
704
+ return undefined;
705
+ if (supplied.has(name)) {
706
+ // Dequalify so the ref resolves against the envelope row scope.
707
+ return col.table ? { type: 'column', name: col.name } : undefined;
708
+ }
709
+ const dflt = defaults.get(name);
710
+ return dflt ? cloneExpr(dflt) : { type: 'literal', value: null };
711
+ });
712
+ }
713
+ /**
714
+ * Refuse an INSERT whose statement OR clause would force a deferred logical-row
715
+ * re-read to row-time evaluation, where it reads a logical image the row has not
716
+ * joined yet and so cannot detect the violation. Only ABORT (and a plain insert)
717
+ * leave the constraint deferred; see {@link buildDecompositionRowLocalChecks}.
718
+ */
719
+ function rejectRowLocalDeferredConflictResolution(view, checkName, onConflict) {
720
+ if (onConflict === undefined || onConflict === ConflictResolution.ABORT)
721
+ return;
722
+ raiseMutationDiagnostic({
723
+ reason: 'lens-row-local-unenforceable',
724
+ table: view.name,
725
+ message: `cannot insert with a conflict clause through logical table '${view.name}': its row-local CHECK '${checkName}' reads other relations, so it is evaluated at commit against the written row's logical image — a non-ABORT conflict clause forces row-time evaluation, where that image does not yet include the row and the check cannot detect a violation`,
726
+ suggestion: 'Use a plain insert (or `insert or abort`), or restate the CHECK so it references only the logical row.',
727
+ });
728
+ }
729
+ /**
730
+ * Build the row-local CHECK enforcement for a decomposition INSERT: every
731
+ * `enforced-row-local` CHECK of the slot, split by shape —
732
+ *
733
+ * - **subquery-free** (after unsupplied-column substitution) ⇒ an
734
+ * {@link EnvelopeRowCheck}: compiled over the supplied envelope columns
735
+ * (fresh attributes + row descriptor, the check-side dual of the key
736
+ * default's), evaluated once per produced logical row at the envelope —
737
+ * row-time, before any member op, independent of which member ops the
738
+ * fan-out plans;
739
+ * - **subquery-bearing** ⇒ ONE grouped deferred logical-row re-read constraint
740
+ * (`synthesizeLensRowLocalDeferredConstraint`) covering every such check,
741
+ * riding the ANCHOR member op (which an INSERT always plans, whatever the
742
+ * row's NULL shape), keeping the commit-time evaluation the constraint
743
+ * pipeline gives every relation-reading check — one planned probe with
744
+ * per-rule failure attribution via its message-valued CASE.
745
+ *
746
+ * A non-ABORT statement OR clause is rejected up front for the deferred shape:
747
+ * `runtime/row-constraints.ts` forces a deferrable constraint to ROW time when
748
+ * the effective action is not ABORT (it must be able to skip/replace the
749
+ * offending row), and this constraint reads the written row back OUT of the
750
+ * logical view — at row time that row does not exist yet, so the re-read
751
+ * trivially passes and a violating row would persist silently. Refusing is the
752
+ * same posture {@link rejectLensSetLevelConflictResolution} takes for the other
753
+ * commit-time class. The envelope shape is unaffected: it evaluates the row
754
+ * image directly and honors every OR clause itself.
755
+ *
756
+ * Returns empty parts for a non-lens / check-free decomposition — the common
757
+ * case pays nothing.
758
+ */
759
+ function buildDecompositionRowLocalChecks(ctx, view, storage, suppliedColumns, onConflict) {
760
+ const rowCheckRowDescriptor = [];
761
+ const slot = ctx.schemaManager.getSchema(view.schemaName)?.getLensSlot(view.name);
762
+ if (!slot)
763
+ return { rowChecks: [], rowCheckRowDescriptor, deferredConstraints: [] };
764
+ const checks = collectLensRowLocalLogicalChecks(slot);
765
+ if (checks.length === 0)
766
+ return { rowChecks: [], rowCheckRowDescriptor, deferredConstraints: [] };
767
+ const supplied = new Set(suppliedColumns.map(c => c.name.toLowerCase()));
768
+ const envelope = [];
769
+ const deferredChecks = [];
770
+ for (const check of checks) {
771
+ const substituted = substituteUnsuppliedLogicalColumns(slot, check.expr, supplied);
772
+ if (astContainsSubquery(substituted)) {
773
+ // Deferred logical-row re-read riding the anchor op — NEW-correlated,
774
+ // INSERT-masked (the anchor insert always runs, whatever the row's NULLs).
775
+ rejectRowLocalDeferredConflictResolution(view, check.name, onConflict);
776
+ deferredChecks.push(check);
777
+ continue;
778
+ }
779
+ envelope.push({ check, substituted });
780
+ }
781
+ // All deferred checks share one grouped re-read (one planned probe, per-rule
782
+ // attribution via the message-valued CASE) — same collapse as the UPDATE path.
783
+ const deferredConstraints = [];
784
+ if (deferredChecks.length > 0) {
785
+ const { address, anchorRelation, anchorKeyColumn } = requireLensLogicalRowAddress(ctx, view, slot, storage, deferredChecks[0].name);
786
+ deferredConstraints.push(synthesizeLensRowLocalDeferredConstraint(ctx, slot, deferredChecks, address, anchorRelation, anchorKeyColumn, 'NEW', RowOpFlag.INSERT));
787
+ }
788
+ if (envelope.length === 0)
789
+ return { rowChecks: [], rowCheckRowDescriptor, deferredConstraints };
790
+ // Fresh attributes over the supplied columns (self-contained, like the key
791
+ // default's) + a scope resolving each as `<col>` / `new.<col>`.
792
+ const attrs = suppliedColumns.map(col => ({
793
+ id: PlanNode.nextAttrId(),
794
+ name: col.name,
795
+ type: col.type,
796
+ sourceRelation: 'envelope-row-check',
797
+ }));
798
+ const scope = buildRowDefaultScope(ctx.scope, suppliedColumns, attrs);
799
+ const checkCtx = { ...ctx, scope };
800
+ const rowChecks = envelope.map(({ check, substituted }) => {
801
+ const expression = buildExpression(checkCtx, substituted);
802
+ // Same determinism rule (and same opt-out) the constraint pipeline applies.
803
+ if (!ctx.db.options.getBooleanOption('nondeterministic_schema')) {
804
+ validateDeterministicConstraint(expression, check.name, view.name);
805
+ }
806
+ // Same message shape `runtime/row-constraints.ts` derives, hinting the
807
+ // AUTHORED (logical-term) expression — the one the user wrote. A synthesized
808
+ // check (the NOT NULL obligation) instead carries its own verbatim text, so
809
+ // the failure reads as its real class, not an anonymous CHECK.
810
+ const exprText = expressionToString(check.expr);
811
+ const hint = exprText.length <= 60 ? ` (${exprText})` : '';
812
+ const message = check.violationMessage ?? `CHECK constraint failed: ${check.name}${hint}`;
813
+ return { name: check.name, expression, message };
814
+ });
815
+ attrs.forEach((attr, index) => { rowCheckRowDescriptor[attr.id] = index; });
816
+ return { rowChecks, rowCheckRowDescriptor, deferredConstraints };
817
+ }
512
818
  /**
513
819
  * Reject a conflict-resolution write the commit-time set-level scan cannot honor.
514
820
  * The detection-only count scan (no basis covering structure) can only ABORT on a
@@ -760,18 +1066,24 @@ function buildDecompositionInsert(ctx, view, stmt) {
760
1066
  const memberNewRowScope = buildMemberDefaultRowScope(ctx, plan.suppliedColumns, envelopeAttrs);
761
1067
  // Lens enforcement on the decomposition INSERT fan-out — the dual of the per-op gate the
762
1068
  // decomposition UPDATE path runs in `buildViewMutation` (the `extraConstraints` /
763
- // `constraintsForOp` seam). Collect the three INSERT-applicable lens constraint classes —
764
- // row-local CHECK, child-side FK existence, and commit-time set-level uniqueness —
765
- // synthesized in *basis* terms. Parent-side FK is DELETE/UPDATE-only (an INSERT cannot
766
- // orphan a logical child), so it is deliberately NOT collected here. Each constraint is
767
- // gated per member op by `constraintsForOp`: a single-member-resolvable obligation (every
768
- // write-row column it references lives on one member's table) rides that member insert and
769
- // fires; a cross-member obligation resolves on no single member op ⇒ rides none ⇒ stays
770
- // deferred (the documented, deliberately-weaker contract — the same boundary the UPDATE
771
- // fan-out draws). For a plain (non-lens) decomposition all three collectors return `[]`,
772
- // so this path pays nothing.
1069
+ // `constraintsForOp` seam). The child-side FK and commit-time set-level classes are
1070
+ // synthesized in *basis* terms and gated per member op by `constraintsForOp`: a
1071
+ // single-member-resolvable obligation rides the member that owns its write-row columns; a
1072
+ // cross-member one resolves on no single member op ⇒ rides none ⇒ stays deferred (the
1073
+ // documented, deliberately-weaker contract). Parent-side FK is DELETE/UPDATE-only (an
1074
+ // INSERT cannot orphan a logical child), so it is deliberately NOT collected here.
1075
+ //
1076
+ // The ROW-LOCAL CHECK class deliberately does NOT ride the member ops on this path: a
1077
+ // member write may legitimately not happen for a row whose value is NULL (an optional
1078
+ // member's presence gate, an omitted column planning no op at all), which silently skipped
1079
+ // the check. Instead each row-local CHECK is evaluated once per produced LOGICAL row:
1080
+ // a subquery-free check at the shared envelope (`buildDecompositionRowLocalChecks` →
1081
+ // `MutationEnvelope.rowChecks`, row-time), a subquery-bearing one as a deferred
1082
+ // logical-row re-read riding the anchor op (which an INSERT always plans) — never both
1083
+ // seams, so no check is evaluated twice.
1084
+ const rowLocal = buildDecompositionRowLocalChecks(ctx, view, storage, plan.suppliedColumns, stmt.onConflict);
773
1085
  const extraConstraints = [
774
- ...lensRowLocalConstraints(ctx, view),
1086
+ ...rowLocal.deferredConstraints,
775
1087
  ...lensForeignKeyConstraints(ctx, view),
776
1088
  ...lensSetLevelConstraints(ctx, view),
777
1089
  ];
@@ -792,6 +1104,9 @@ function buildDecompositionInsert(ctx, view, stmt) {
792
1104
  descriptor,
793
1105
  keyDefault: keyDefault?.node,
794
1106
  keyDefaultRowDescriptor: keyDefault?.rowDescriptor,
1107
+ rowChecks: rowLocal.rowChecks.length > 0 ? rowLocal.rowChecks : undefined,
1108
+ rowCheckRowDescriptor: rowLocal.rowChecks.length > 0 ? rowLocal.rowCheckRowDescriptor : undefined,
1109
+ rowCheckOnConflict: rowLocal.rowChecks.length > 0 ? stmt.onConflict : undefined,
795
1110
  });
796
1111
  }
797
1112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"view-mutation-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/view-mutation-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-mutation-builder.js","sourceRoot":"","sources":["../../../../src/planner/building/view-mutation-builder.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,12 @@ export declare function buildWithClause(ctx: PlanningContext, withClause: AST.Wi
17
17
  * structured `recursive-cte` diagnostic, never merely on the `recursive` keyword.
18
18
  */
19
19
  export declare function isRecursiveCte(recursive: boolean, cte: AST.CommonTableExpr): boolean;
20
+ /**
21
+ * True when `cte`'s body writes rows — an `insert` / `update` / `delete` with a
22
+ * `RETURNING` clause (the parser requires one for a CTE body). Such a CTE is built
23
+ * with `materialize` already on; see the call site in {@link buildCommonTableExpr}.
24
+ */
25
+ export declare function isDataModifyingCte(cte: AST.CommonTableExpr): boolean;
20
26
  /**
21
27
  * Builds a plan node for a single Common Table Expression.
22
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"with.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/with.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpF;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,GAAG,CAAC,UAAU,GACxB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAwB3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAEpF;AAYD;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,GAAG,CAAC,eAAe,EACxB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAC7B,WAAW,CAgGb"}
1
+ {"version":3,"file":"with.d.ts","sourceRoot":"","sources":["../../../../src/planner/building/with.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpF;;;GAGG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,GAAG,CAAC,UAAU,GACxB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAiC3B;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,GAAG,OAAO,CAGpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,GAAG,CAAC,eAAe,EACxB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACvC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAC7B,WAAW,CAqHb"}