@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
@@ -1 +1 @@
1
- {"version":3,"file":"assertion-rename-helpers.js","sourceRoot":"","sources":["../../../../src/runtime/emit/assertion-rename-helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,GAAG,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE1D,mFAAmF;AACnF,kFAAkF;AAClF,qFAAqF;AACrF,+EAA+E;AAC/E,iFAAiF;AACjF,kFAAkF;AAClF,iBAAiB;AAEjB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gCAAgC,CAC/C,EAAY,EACZ,MAAc,EACd,MAAyB;IAEzB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC;YAAE,SAAS;QAC/C,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EACxD,oBAAoB,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iCAAiC,CAChD,EAAY,EACZ,MAAc,EACd,SAAiB,EACjB,MAAc,EACd,MAAc,EACd,OAAyB,EACzB,SAAiB,EACjB,qBAA4C;IAE5C,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,8EAA8E;QAC9E,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC;YAAE,SAAS;QACtH,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IACvF,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,4BAA4B,CACpC,EAAY,EACZ,MAAc,EACd,SAAmC,EACnC,KAAqB,EACrB,eAAsD;IAEtD,MAAM,OAAO,GAA6B;QACzC,GAAG,SAAS;QACZ,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC;QAC/C,eAAe;KACf,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,wCAAwC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AAClG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC5B,IAA2C,EAC3C,OAAe,EACf,OAAe;IAEf,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC;QACf,+DAA+D;QAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO;YACN,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;YAC7E,IAAI,EAAE,OAAO;SACb,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"assertion-rename-helpers.js","sourceRoot":"","sources":["../../../../src/runtime/emit/assertion-rename-helpers.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ import { type ScalarOpSpec } from "./scalar-op.js";
12
12
  *
13
13
  * An unsupported operator throws here rather than returning `undefined` — that is an
14
14
  * unimplemented operator, not a node that declines to fuse.
15
+ *
16
+ * Which spelling routes where is NOT decided here: it comes from
17
+ * {@link classifyBinaryOperator}, the one classification `BinaryOpNode.generateType` also
18
+ * announces its result type from, so the announced type and the evaluated value cannot
19
+ * describe different operators.
15
20
  */
16
21
  export declare function buildBinaryOpSpec(plan: BinaryOpNode, ctx: EmissionContext): ScalarOpSpec | undefined;
17
22
  export declare function emitBinaryOp(plan: BinaryOpNode, ctx: EmissionContext): Instruction;
@@ -1 +1 @@
1
- {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/binary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAYlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAgCpG;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAGlF;AAwFD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAyHnE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,YAAY,CAqE5F;AA2CD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAelE;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAgB/E;AAyDD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CA0ChE"}
1
+ {"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/binary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAYlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAmBpG;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAGlF;AA8FD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAyHnE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,YAAY,CAqE5F;AA2CD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAelE;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAgB/E;AAyDD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CA0ChE"}
@@ -12,6 +12,7 @@ import { simpleLike, compileLikeMatcher } from "../../util/patterns.js";
12
12
  import { tryTemporalArithmetic, tryTemporalComparison } from "./temporal-arithmetic.js";
13
13
  import { runTemporalCase, temporalOpCaseForTypes, unsupportedTemporalOp } from "../../types/temporal-ops.js";
14
14
  import { effectiveComparisonCollation } from "../../planner/analysis/comparison-collation.js";
15
+ import { classifyBinaryOperator } from "../../planner/analysis/binary-operator-class.js";
15
16
  import { emitScalarOp } from "./scalar-op.js";
16
17
  /**
17
18
  * Operator dispatch for a binary node — the single entry point both consumers share, so
@@ -23,35 +24,28 @@ import { emitScalarOp } from "./scalar-op.js";
23
24
  *
24
25
  * An unsupported operator throws here rather than returning `undefined` — that is an
25
26
  * unimplemented operator, not a node that declines to fuse.
27
+ *
28
+ * Which spelling routes where is NOT decided here: it comes from
29
+ * {@link classifyBinaryOperator}, the one classification `BinaryOpNode.generateType` also
30
+ * announces its result type from, so the announced type and the evaluated value cannot
31
+ * describe different operators.
26
32
  */
27
33
  export function buildBinaryOpSpec(plan, ctx) {
28
- // Normalize operator to uppercase for case-insensitive matching of keywords
29
- const operator = plan.expression.operator.toUpperCase();
30
- switch (operator) {
31
- case '+':
32
- case '-':
33
- case '*':
34
- case '/':
35
- case '%':
34
+ switch (classifyBinaryOperator(plan.expression.operator)) {
35
+ case 'arithmetic':
36
36
  return buildNumericOpSpec(plan);
37
- case '=':
38
- case '==':
39
- case '!=':
40
- case '<>':
41
- case '<':
42
- case '<=':
43
- case '>':
44
- case '>=':
37
+ case 'comparison':
45
38
  return buildComparisonOpSpec(plan, ctx);
46
- case '||':
39
+ case 'concat':
47
40
  return buildConcatOpSpec(plan);
48
- case 'AND':
49
- case 'OR':
50
- case 'XOR':
41
+ case 'logical':
51
42
  return buildLogicalOpSpec(plan);
52
- case 'LIKE':
43
+ case 'like':
53
44
  return buildLikeOpSpec(plan);
54
- // TODO: bitwise operators
45
+ // 'is' and 'in' are classified for the planner (they have an announced result type)
46
+ // but never reach a BinaryOpNode emit: the parser produces only the unary
47
+ // `IS [NOT] NULL/TRUE/FALSE` forms, and `IN` builds its own InNode. They fall to the
48
+ // throw below alongside genuinely unimplemented spellings.
55
49
  default:
56
50
  quereusError(`Unsupported binary operator: ${plan.expression.operator}`, StatusCode.UNSUPPORTED, undefined, plan.expression);
57
51
  }
@@ -128,6 +122,12 @@ function buildCoercingArithmeticRun(operator, inner, innerBigInt) {
128
122
  const result = inner(n1, n2);
129
123
  if (!Number.isFinite(result))
130
124
  return null;
125
+ // NOTE: the result is returned unchecked, so two safe-integer operands
126
+ // whose exact answer escapes the safe range yield an inexact double
127
+ // (`9007199254740991 * 3` is off by one) that also falls outside the
128
+ // INTEGER this shape is announced as. Fixing it means a boundary check
129
+ // (or exact retry) in this per-row loop — tracked as
130
+ // `backlog/bug-integer-arithmetic-silently-leaves-the-exact-integer-range`.
131
131
  return result;
132
132
  }
133
133
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../src/runtime/emit/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../src/runtime/emit/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGtH,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC7G,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAkB,EAAE,GAAoB;IACzE,QAAQ,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,KAAK,YAAY;YAChB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,YAAY;YAChB,OAAO,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,KAAK,QAAQ;YACZ,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,SAAS;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,MAAM;YACV,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9B,oFAAoF;QACpF,0EAA0E;QAC1E,qFAAqF;QACrF,2DAA2D;QAC3D;YACC,YAAY,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/H,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAkB,EAAE,GAAoB;IACpE,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;4EAK4E;AAC5E,SAAS,qBAAqB,CAC7B,EAAY,EAAE,EAAY,EAC1B,KAAyC,EACzC,WAA+C;IAE/C,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACtD,IAAI,CAAC;YACJ,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,gBAAgB;YAChB,OAAO,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,wEAAwE;IACxE,mEAAmE;IACnE,oDAAoD;IACpD,MAAM,GAAG,GAAoB,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAoB,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAa,CAAC,CAAC,CAAC,GAAa,CAAC;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACJ,4DAA4D;YAC5D,OAAO,mBAAmB,CAAC,WAAW,CACrC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAC3C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAC3C,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACR,sDAAsD;QACvD,CAAC;IACF,CAAC;IACD,4DAA4D;IAC5D,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CAClC,QAAgB,EAChB,KAAyC,EACzC,WAA+C;IAE/C,OAAO,SAAS,qBAAqB,CAAC,IAAoB,EAAE,EAAY,EAAE,EAAY;QACrF,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,cAAc,CAAC;QACvB,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACtD,OAAO,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACP,MAAM,EAAE,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBAC3C,MAAM,EAAE,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC1C,uEAAuE;oBACvE,oEAAoE;oBACpE,qEAAqE;oBACrE,uEAAuE;oBACvE,qDAAqD;oBACrD,4EAA4E;oBAC5E,OAAO,MAAM,CAAC;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACpD,IAAI,KAAyC,CAAC;IAC9C,IAAI,WAA+C,CAAC;IAEpD,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAClC,KAAK,GAAG;YACP,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM;QACP,KAAK,GAAG;YACP,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM;QACP,KAAK,GAAG;YACP,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM;QACP,KAAK,GAAG;YACP,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM;QACP,KAAK,GAAG;YACP,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAC5B,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YAClC,MAAM;QACP;YACC,YAAY,CAAC,iCAAiC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChI,CAAC;IAED,+DAA+D;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC;IAEtD,IAAI,GAAkE,CAAC;IACvE,IAAI,IAAY,CAAC;IAEjB,IAAI,WAAW,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QACvD,kFAAkF;QAClF,+EAA+E;QAC/E,mFAAmF;QACnF,kFAAkF;QAClF,oFAAoF;QACpF,8BAA8B;QAC9B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAErG,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACpB,+EAA+E;YAC/E,8CAA8C;YAC9C,EAAE;YACF,+EAA+E;YAC/E,8EAA8E;YAC9E,6EAA6E;YAC7E,+EAA+E;YAC/E,6EAA6E;YAC7E,GAAG,GAAG,SAAS,gBAAgB,CAAC,IAAoB,EAAE,EAAY,EAAE,EAAY;gBAC/E,OAAO,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC;YACF,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,aAAa,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACxE,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YAClB,6EAA6E;YAC7E,+EAA+E;YAC/E,6CAA6C;YAC7C,EAAE;YACF,gFAAgF;YAChF,sEAAsE;YACtE,4EAA4E;YAC5E,gFAAgF;YAChF,yEAAyE;YACzE,+EAA+E;YAC/E,EAAE;YACF,gFAAgF;YAChF,2DAA2D;YAC3D,GAAG,GAAG,SAAS,sBAAsB,CAAC,IAAoB,EAAE,EAAY,EAAE,EAAY;gBACrF,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC;gBAC5C,qBAAqB,EAAE,CAAC;YACzB,CAAC,CAAC;YACF,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,wBAAwB,CAAC;QAC5D,CAAC;aAAM,CAAC;YACP,0EAA0E;YAC1E,2EAA2E;YAC3E,+EAA+E;YAC/E,2EAA2E;YAC3E,sEAAsE;YACtE,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC;QAChD,CAAC;IACF,CAAC;SAAM,IAAI,WAAW,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5D,+DAA+D;QAC/D,EAAE;QACF,+EAA+E;QAC/E,8EAA8E;QAC9E,6EAA6E;QAC7E,gEAAgE;QAChE,gFAAgF;QAChF,GAAG,GAAG,SAAS,cAAc,CAAC,GAAmB,EAAE,EAAY,EAAE,EAAY;YAC5E,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBACtD,OAAO,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACP,qEAAqE;oBACrE,oEAAoE;oBACpE,yEAAyE;oBACzE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAY,EAAE,EAAY,CAAC,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC1C,OAAO,MAAM,CAAC;gBACf,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QACF,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,gBAAgB,CAAC;IACpD,CAAC;SAAM,CAAC;QACP,oEAAoE;QACpE,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/E,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,WAAW,CAAC;IAC/C,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjC,GAAG;QACH,IAAI;KACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAkB,EAAE,GAAoB;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAEvC,4EAA4E;IAC5E,yEAAyE;IACzE,gFAAgF;IAChF,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1E,yDAAyD;IACzD,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAE1C,kEAAkE;IAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC;IAC3C,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,CAAC;IAC7E,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;IACpE,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;IACpE,MAAM,gBAAgB,GAAG,WAAW,IAAI,WAAW,CAAC;IAEpD,IAAI,GAAkE,CAAC;IACvE,IAAI,OAAe,CAAC;IAEpB,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,mFAAmF;IACnF,mFAAmF;IACnF,8EAA8E;IAC9E,MAAM,kBAAkB,GAAG,WAAW,KAAK,YAAY,IAAI,mBAAmB,CAAC,WAA0B,CAAC;QACzG,CAAC,CAAC,WAA0B;QAC5B,CAAC,CAAC,SAAS,CAAC;IAEb,IAAI,kBAAkB,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,GAAG,GAAG,SAAS,uBAAuB,CAAC,IAAoB,EAAE,EAAY,EAAE,EAAY;YACtF,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC5C,OAAO,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,OAAO,GAAG,eAAe,CAAC;IAC3B,CAAC;SAAM,IAAI,CAAC,kBAAkB,IAAI,gBAAgB,EAAE,CAAC;QACpD,uEAAuE;QACvE,4EAA4E;QAC5E,EAAE;QACF,mFAAmF;QACnF,8EAA8E;QAC9E,kFAAkF;QAClF,uDAAuD;QACvD,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,GAAG,GAAG,SAAS,sBAAsB,CAAC,GAAmB,EAAE,EAAY,EAAE,EAAY;YACpF,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC5C,OAAO,WAAW,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,OAAO,GAAG,cAAc,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,0CAA0C;QAC1C,GAAG,GAAG,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/D,OAAO,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjC,GAAG;QACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,GAAG,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;KACvG,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,SAAS,gBAAgB,CAAC,QAAgB,EAAE,IAAkB;IAC7D,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,GAAG,CAAC;QACT,KAAK,IAAI;YACR,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACR,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACnC,KAAK,GAAG;YACP,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACjC,KAAK,IAAI;YACR,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,KAAK,GAAG;YACP,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACjC,KAAK,IAAI;YACR,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC;YACC,YAAY,CAAC,oCAAoC,QAAQ,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACnH,CAAC;AACF,CAAC;AAED;;6CAE6C;AAC7C,SAAS,yBAAyB,CACjC,QAAgB,EAChB,IAAkB,EAClB,aAAgC;IAEhC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,SAAS,oBAAoB,CAAC,GAAmB,EAAE,EAAY,EAAE,EAAY;QACnF,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC;QAExD,OAAO,WAAW,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAkB;IACnD,SAAS,GAAG,CAAC,GAAmB,EAAE,EAAY,EAAE,EAAY;QAC3D,8CAA8C;QAC9C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE5C,4EAA4E;QAC5E,sEAAsE;QACtE,OAAO,WAAW,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjC,GAAG;QACH,IAAI,EAAE,YAAY;KAClB,CAAC;AACH,CAAC;AAOD,oEAAoE;AACpE,MAAM,UAAU,GAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7C,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,SAAS,GAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,GAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7C,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,QAAgB,EAAE,IAAkB;IACjE,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC;QAC9B,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC;QAC5B,KAAK,KAAK,CAAC,CAAC,OAAO,UAAU,CAAC;QAC9B;YACC,YAAY,CAAC,iCAAiC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChI,CAAC;AACF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,IAAkB;IAChE,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,SAAS,cAAc,CAAC,EAAY,EAAE,EAAY;QACxD,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,gBAAgB,CAAC,IAAkB,EAAE,QAAgB;IAC7D,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAkB;IACpD,gEAAgE;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvD,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3D,SAAS,GAAG,CAAC,IAAoB,EAAE,EAAY,EAAE,EAAY;QAC5D,OAAO,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjC,GAAG;QACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,WAAW;KAC5C,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAkB,EAAE,GAAoB;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEpD,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,aAAa,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAExD,SAAS,eAAe,CACvB,GAAmB,EACnB,EAAY,EACZ,OAAwD;QAExD,4EAA4E;QAC5E,8DAA8D;QAC9D,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,EAAE,KAAK,aAAa;YAAE,OAAO,aAAa,CAAC;QAE/C,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,GAAG,YAAY,OAAO;YAC5B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACN,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC7B,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,yBAAyB;KAC1D,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAoB;IAC7C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO;QAAE,OAAO,SAAS,CAAC;IACxF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAkB;IACjD,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,sDAAsD;IACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjD,SAAS,eAAe,CAAC,IAAoB,EAAE,IAAc;YAC5D,0EAA0E;YAC1E,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO;YACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,GAAG,EAAE,eAAe;YACpB,IAAI,EAAE,kBAAkB;SACxB,CAAC;IACH,CAAC;IAED,SAAS,GAAG,CAAC,GAAmB,EAAE,IAAc,EAAE,OAAiB;QAClE,oCAAoC;QACpC,2DAA2D;QAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,+EAA+E;QAC/E,gFAAgF;QAChF,yEAAyE;QACzE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAExC,OAAO,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;QACjC,GAAG;QACH,IAAI,EAAE,YAAY;KAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAsB5E"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAI/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA2B5E"}
@@ -5,14 +5,20 @@ export function emitBlock(plan, ctx) {
5
5
  // For blocks, our result is the last statement that produces a result relation.
6
6
  // A Sink is always void. A ViewMutation is void UNLESS it carries RETURNING — a
7
7
  // RETURNING-through-view mutation is relational (its rows are the view-projected
8
- // post-mutation image), so it IS eligible as the block result.
9
- const valueIndex = plan.statements.findLastIndex(stmt => {
8
+ // post-mutation image), so it IS eligible as the block result. A Sequence
9
+ // surfaces its main child's result unchanged, so its eligibility is the main
10
+ // child's (a Sequence over a Sink-topped DML must stay void, not promote the
11
+ // sink's row count to the block result).
12
+ const producesResult = (stmt) => {
10
13
  if (stmt.nodeType === PlanNodeType.Sink)
11
14
  return false;
12
15
  if (stmt.nodeType === PlanNodeType.ViewMutation)
13
16
  return stmt.getType().typeClass === 'relation';
17
+ if (stmt.nodeType === PlanNodeType.Sequence)
18
+ return producesResult(stmt.main);
14
19
  return true;
15
- });
20
+ };
21
+ const valueIndex = plan.statements.findLastIndex(producesResult);
16
22
  async function run(ctx, ...args) {
17
23
  return valueIndex === -1 ? null : args[valueIndex];
18
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/runtime/emit/block.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,MAAM,UAAU,SAAS,CAAC,IAAe,EAAE,GAAoB;IAC9D,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC;QAChG,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,GAAG,CAAC,GAAmB,EAAE,GAAG,IAAoB;QAC9D,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAExE,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,uBAAuB,UAAU,GAAG;KACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/runtime/emit/block.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,MAAM,UAAU,SAAS,CAAC,IAAe,EAAE,GAAoB;IAC9D,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,cAAc,GAAG,CAAC,IAAc,EAAW,EAAE;QAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC;QAChG,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;YAAE,OAAO,cAAc,CAAE,IAAqB,CAAC,IAAI,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAEjE,KAAK,UAAU,GAAG,CAAC,GAAmB,EAAE,GAAG,IAAoB;QAC9D,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAExE,OAAO;QACN,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,uBAAuB,UAAU,GAAG;KACzE,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-check.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAsB,MAAM,8CAA8C,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAkKhG"}
1
+ {"version":3,"file":"constraint-check.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAsB,MAAM,8CAA8C,CAAC;AAC5G,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAa9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAmKhG"}
@@ -4,6 +4,7 @@ import { StatusCode } from '../../common/types.js';
4
4
  import { QuereusError } from '../../common/errors.js';
5
5
  import { withAsyncRowContext, createRowSlot } from '../context-helpers.js';
6
6
  import { composeCombinedDescriptor } from '../descriptor-helpers.js';
7
+ import { buildCellCoercion } from '../../types/validation.js';
7
8
  import { buildConstraintMetadata, evaluateRowConstraints, } from '../row-constraints.js';
8
9
  export function emitConstraintCheck(plan, ctx) {
9
10
  // Get the table schema to access constraints
@@ -35,11 +36,9 @@ export function emitConstraintCheck(plan, ctx) {
35
36
  // Emit evaluators for NOT NULL DEFAULT substitution (used by REPLACE).
36
37
  const notNullDefaultPlans = plan.notNullDefaults ?? [];
37
38
  const notNullDefaultInstructions = notNullDefaultPlans.map(d => emitCallFromPlan(d.defaultNode, ctx));
38
- // Which substitutions need conversion — the emitters' static-type rule
39
- // applied to the DEFAULT expression (see NotNullDefaultRuntime.coerceColumn).
40
- const notNullDefaultCoercions = notNullDefaultPlans.map(d => d.defaultNode.getType().logicalType !== tableSchema.columns[d.columnIndex].logicalType
41
- ? tableSchema.columns[d.columnIndex]
42
- : undefined);
39
+ // How each substitution converts — the write path's own per-cell decision, from the
40
+ // shared helper, applied to the DEFAULT expression (see NotNullDefaultRuntime.coerce).
41
+ const notNullDefaultCoercions = notNullDefaultPlans.map(d => buildCellCoercion(d.defaultNode.getType().logicalType, tableSchema.columns[d.columnIndex].logicalType, tableSchema.columns[d.columnIndex].name));
43
42
  const constraintMetadata = buildConstraintMetadata(plan.constraintChecks, tableSchema, flatRowDescriptor, contextDescriptor, checkEvaluators.map(instruction => instruction.run));
44
43
  const scope = { operation: plan.operation, hasNewSection: Boolean(plan.newRowDescriptor) };
45
44
  async function* run(rctx, inputRows, ...evaluatorFunctions) {
@@ -70,7 +69,7 @@ export function emitConstraintCheck(plan, ctx) {
70
69
  const defaultsRuntime = notNullDefaultPlans.map((d, i) => ({
71
70
  columnIndex: d.columnIndex,
72
71
  evaluator: defaultEvalFunctions[i],
73
- coerceColumn: notNullDefaultCoercions[i],
72
+ coerce: notNullDefaultCoercions[i],
74
73
  }));
75
74
  // Pre-compute the combined descriptor (constant across rows)
76
75
  // NOTE: once `contextRow` exists, the row getter below concatenates it onto every
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAmC,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACN,uBAAuB,EACvB,sBAAsB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,mBAAmB,CAAC,IAAyB,EAAE,GAAoB;IAClF,6CAA6C;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE3C,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAEjD,gEAAgE;IAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAE/B,oDAAoD;IACpD,MAAM,4BAA4B,GAAkB,EAAE,CAAC;IACvD,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChB,2EAA2E;gBAC3E,oEAAoE;gBACpE,wEAAwE;gBACxE,0EAA0E;gBAC1E,MAAM,IAAI,YAAY,CAAC,gDAAgD,IAAI,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3G,CAAC;YACD,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACzD,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CACvC,CAAC;IAEF,uEAAuE;IACvE,MAAM,mBAAmB,GAAsC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IAC1F,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtG,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,WAAW,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW;QACrF,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEf,MAAM,kBAAkB,GAAG,uBAAuB,CACjD,IAAI,CAAC,gBAAgB,EACrB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CACnD,CAAC;IAEF,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAE3F,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAoB,EAAE,SAA6B,EAAE,GAAG,kBAA+D;QAC1I,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,oFAAoF;QACpF,gDAAgD;QAChD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,MAAM,CAAC;QACjE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAE1D,IAAI,UAA2B,CAAC;QAChC,IAAI,WAAyD,CAAC;QAE9D,IAAI,oBAAoB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACnD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAE/E,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;gBACrD,iEAAiE;gBACjE,iEAAiE;gBACjE,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAa,CAAC;gBACrE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CACvD,oBAAoB,EACpB,oBAAoB,GAAG,uBAAuB,CAC9C,CAAC;QACF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,CAAC;QAEtG,MAAM,eAAe,GAA4B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;YAClC,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC,CAAC;QAEJ,6DAA6D;QAC7D,kFAAkF;QAClF,iFAAiF;QACjF,wEAAwE;QACxE,iFAAiF;QACjF,8EAA8E;QAC9E,mFAAmF;QACnF,gFAAgF;QAChF,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,iBAAiB,IAAI,UAAU;YACzD,CAAC,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACjE,CAAC,CAAC,iBAAiB,CAAC;QAErB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACxC,IAAI,OAAO,GAAG,QAAQ,CAAC;gBAEvB,sEAAsE;gBACtE,2EAA2E;gBAC3E,sEAAsE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,sEAAsE;gBACtE,cAAc;gBACd,IAAI,UAAU,GAAQ,OAAO,CAAC;gBAE9B,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAC3C,IAAI,EACJ,kBAAkB,EAClB,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAC9D,GAAG,EAAE,CAAC,sBAAsB,CAC3B,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,EACN,eAAe,EACf,UAAU,EACV,GAAG,CAAC,EAAE,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAC5B,CACD,CAAC;gBAEF,IAAI,UAAU,CAAC,IAAI;oBAAE,SAAS;gBAC9B,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5B,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;gBAClC,CAAC;gBAED,MAAM,OAAO,CAAC;YACf,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzD,OAAO;QACN,MAAM,EAAE,CAAC,iBAAiB,EAAE,GAAG,4BAA4B,EAAE,GAAG,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC/G,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,mBAAmB,IAAI,CAAC,SAAS,KAAK,4BAA4B,CAAC,MAAM,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,YAAY,0BAA0B,CAAC,MAAM,YAAY;KAC7K,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-assertion.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAoGjG"}
1
+ {"version":3,"file":"create-assertion.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAqD9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA8DjG"}
@@ -3,82 +3,83 @@ import { QuereusError } from '../../common/errors.js';
3
3
  import { StatusCode } from '../../common/types.js';
4
4
  import { createLogger } from '../../common/logger.js';
5
5
  import { buildAssertionViolationSql } from '../../schema/assertion.js';
6
+ import { planAssertionBodyForAnalysis } from '../../planner/analysis/assertion-plan.js';
7
+ import { collectTableReferences } from '../../planner/analysis/relation-key.js';
8
+ import { withStatementScopedSchemaEvents } from './ddl-event-scope.js';
6
9
  const log = createLogger('runtime:emit:create-assertion');
7
10
  const warnLog = log.extend('warn');
11
+ /**
12
+ * The base-table references the body reads, one entry per reference — the
13
+ * informational list `assertion_info().dependent_tables` reports.
14
+ *
15
+ * Planned the same way the commit-time evaluator plans it — same home-schema path,
16
+ * same analysis stage, same hoist suppression (see `planAssertionBodyForAnalysis`) —
17
+ * and walked with the same collector the evaluator's `extractBindings` walks with,
18
+ * so the informational list and the set enforcement actually derives cannot
19
+ * disagree about what the body reads.
20
+ *
21
+ * Best-effort: enforcement does NOT read `dependentTables` (the evaluator recomputes
22
+ * its base set when it compiles the body), so a failure here only blanks a column of
23
+ * `assertion_info()` and must never fail the CREATE. The builder
24
+ * (`planAssertionBody`) already proved this same violation SQL builds against the
25
+ * live catalog, so a failure here is a discovery-only failure (optimizer-stage, or
26
+ * the plan-shape walk) — never "the body names something that doesn't exist" — and
27
+ * usually means the body will fail to plan at commit time too. Warn, don't swallow.
28
+ */
29
+ function discoverDependentTables(db, violationSql, schemaName, name) {
30
+ try {
31
+ const analyzed = planAssertionBodyForAnalysis(db, violationSql, schemaName);
32
+ const deps = Array.from(collectTableReferences(analyzed), ([relationKey, ref]) => ({ relationKey, base: ref.base }));
33
+ log('Assertion %s dependencies discovered: %o', name, deps);
34
+ return deps;
35
+ }
36
+ catch (depErr) {
37
+ warnLog('Dependency discovery failed for assertion %s.%s; assertion_info().dependent_tables will be empty: %O', schemaName, name, depErr);
38
+ return [];
39
+ }
40
+ }
8
41
  export function emitCreateAssertion(plan, _ctx) {
9
42
  async function run(rctx) {
10
43
  // Ensure we're in a transaction before DDL (lazy/JIT transaction start)
11
44
  await rctx.db._ensureTransaction();
12
- // Convert the CHECK expression to SQL text for storage. Shared with the
13
- // `ALTER TABLE … RENAME` propagation, which regenerates this same text from
14
- // the rewritten expression (see `buildAssertionViolationSql`).
15
- let violationSql;
16
- try {
17
- violationSql = buildAssertionViolationSql(plan.checkExpression);
18
- }
19
- catch (e) {
20
- throw new QuereusError(`Cannot create assertion '${plan.name}': failed to convert check expression to SQL`, StatusCode.ERROR, e instanceof Error ? e : undefined);
21
- }
22
- // Create the assertion schema object
23
- const assertionSchema = {
24
- name: plan.name,
25
- schemaName: plan.schemaName,
26
- violationSql,
27
- deferrable: true, // Auto-deferred for multi-table constraints
28
- initiallyDeferred: true,
29
- dependentTables: [],
30
- checkExpression: plan.checkExpression,
31
- };
32
- // Discover dependent base tables (best-effort; conservative if any failure).
33
- // Plan under the assertion's home-schema path so unqualified table names in
34
- // the body resolve against the assertion's own schema first, and under
35
- // hoist suppression so another assertion's hoisted premises can't fold a
36
- // base reference out of the plan — the commit-time evaluator derives its
37
- // own base set the same way (see AssertionEvaluator.getOrCompilePlan).
38
- // The builder (`planAssertionBody`) already proved this same violation SQL
39
- // builds against the live catalog, so a failure below is a discovery-only
40
- // failure (optimizer-stage, or the plan-shape walk) — never "the body names
41
- // something that doesn't exist".
42
- try {
43
- const planNode = rctx.db.schemaManager.withSuppressedAssertionHoist(() => rctx.db.getPlan(violationSql, rctx.db._homeSchemaPath(plan.schemaName)));
44
- const deps = new Map();
45
- (function collect(node) {
46
- const candidate = node;
47
- if (candidate && typeof candidate.getRelations === 'function') {
48
- for (const child of candidate.getRelations())
49
- collect(child);
50
- }
51
- if (candidate?.tableSchema?.name && candidate?.id !== undefined) {
52
- const base = `${candidate.tableSchema.schemaName}.${candidate.tableSchema.name}`.toLowerCase();
53
- const relationKey = `${base}#${String(candidate.id)}`;
54
- if (!deps.has(relationKey))
55
- deps.set(relationKey, { relationKey, base });
56
- }
57
- })(planNode);
58
- assertionSchema.dependentTables = Array.from(deps.values());
59
- log('Assertion %s dependencies discovered: %o', plan.name, assertionSchema.dependentTables);
60
- }
61
- catch (depErr) {
62
- // Enforcement does NOT read `dependentTables` — the evaluator recomputes
63
- // its base set when it compiles the body. A failure here only blanks the
64
- // `dependent_tables` column of `assertion_info()`, and usually means the
65
- // body will fail to plan at commit time too. Warn rather than swallow.
66
- warnLog('Dependency discovery failed for assertion %s.%s; assertion_info().dependent_tables will be empty: %O', plan.schemaName, plan.name, depErr);
67
- }
68
- // Add to the assertion's home schema
69
- const schemaManager = rctx.db.schemaManager;
70
- const schema = schemaManager.getSchema(plan.schemaName);
71
- if (!schema) {
72
- throw new QuereusError(`Schema not found: ${plan.schemaName}`, StatusCode.ERROR);
73
- }
74
- // Check for existing assertion (names are unique per schema)
75
- const existing = schema.getAssertion(plan.name);
76
- if (existing) {
77
- throw new QuereusError(`Assertion ${plan.name} already exists`, StatusCode.CONSTRAINT);
78
- }
79
- schemaManager.addAssertion(schema.name, assertionSchema);
80
- log('Created assertion %s.%s with violationSql: %s', plan.schemaName, plan.name, violationSql);
81
- return null;
45
+ // Statement-scoped schema-event scope. Assertions raise nothing on the public
46
+ // schema channel today, so the scope is a no-op — it is here so the invariant
47
+ // holds by construction: see ddl-event-scope.ts.
48
+ return withStatementScopedSchemaEvents(rctx, async () => {
49
+ // Convert the CHECK expression to SQL text for storage. Shared with the
50
+ // `ALTER TABLE … RENAME` propagation, which regenerates this same text from
51
+ // the rewritten expression (see `buildAssertionViolationSql`).
52
+ let violationSql;
53
+ try {
54
+ violationSql = buildAssertionViolationSql(plan.checkExpression);
55
+ }
56
+ catch (e) {
57
+ throw new QuereusError(`Cannot create assertion '${plan.name}': failed to convert check expression to SQL`, StatusCode.ERROR, e instanceof Error ? e : undefined);
58
+ }
59
+ // Everything that can reject the statement runs before any discovery work:
60
+ // a name clash must not pay for a plan it then throws away.
61
+ const schemaManager = rctx.db.schemaManager;
62
+ const schema = schemaManager.getSchema(plan.schemaName);
63
+ if (!schema) {
64
+ throw new QuereusError(`Schema not found: ${plan.schemaName}`, StatusCode.ERROR);
65
+ }
66
+ // Assertion names are unique per schema.
67
+ if (schema.getAssertion(plan.name)) {
68
+ throw new QuereusError(`Assertion ${plan.name} already exists`, StatusCode.CONSTRAINT);
69
+ }
70
+ const assertionSchema = {
71
+ name: plan.name,
72
+ schemaName: plan.schemaName,
73
+ violationSql,
74
+ deferrable: true, // Auto-deferred for multi-table constraints
75
+ initiallyDeferred: true,
76
+ dependentTables: discoverDependentTables(rctx.db, violationSql, plan.schemaName, plan.name),
77
+ checkExpression: plan.checkExpression,
78
+ };
79
+ schemaManager.addAssertion(schema.name, assertionSchema);
80
+ log('Created assertion %s.%s with violationSql: %s', plan.schemaName, plan.name, violationSql);
81
+ return null;
82
+ });
82
83
  }
83
84
  return {
84
85
  params: [],
@@ -1 +1 @@
1
- {"version":3,"file":"create-assertion.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-assertion.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAwBzF"}
1
+ {"version":3,"file":"create-index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA4BzF"}
@@ -1,6 +1,7 @@
1
1
  import { asRun } from '../types.js';
2
2
  import { requireVtabModule } from '../../schema/table.js';
3
3
  import { assertDdlTransactionPolicy } from './ddl-transaction-policy.js';
4
+ import { withStatementScopedSchemaEvents } from './ddl-event-scope.js';
4
5
  export function emitCreateIndex(plan, _ctx) {
5
6
  async function run(rctx) {
6
7
  // Strict-policy gate: refuse module-dispatching DDL inside an explicit
@@ -13,9 +14,13 @@ export function emitCreateIndex(plan, _ctx) {
13
14
  }
14
15
  // Ensure we're in a transaction before DDL (lazy/JIT transaction start)
15
16
  await rctx.db._ensureTransaction();
16
- await rctx.db.schemaManager.createIndex(plan.statementAst);
17
- // The specific error handling for IF NOT EXISTS is within SchemaManager.createIndex.
18
- return null; // Explicitly return null for successful void operations
17
+ // Statement-scoped schema-event scope — the invariant every DDL emitter holds; see
18
+ // ddl-event-scope.ts.
19
+ return withStatementScopedSchemaEvents(rctx, async () => {
20
+ await rctx.db.schemaManager.createIndex(plan.statementAst);
21
+ // The specific error handling for IF NOT EXISTS is within SchemaManager.createIndex.
22
+ return null; // Explicitly return null for successful void operations
23
+ });
19
24
  }
20
25
  return { params: [], run: asRun(run), note: `createIndex(${plan.statementAst.index.name})` };
21
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-index.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,IAAqB;IAC3E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,uEAAuE;QACvE,8EAA8E;QAC9E,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5G,IAAI,MAAM,EAAE,CAAC;YACZ,0BAA0B,CACzB,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,EACzD,gBAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAC9C,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,qFAAqF;QAErF,OAAO,IAAI,CAAC,CAAC,wDAAwD;IACtE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"create-index.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,IAAqB;IAC3E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,uEAAuE;QACvE,8EAA8E;QAC9E,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5G,IAAI,MAAM,EAAE,CAAC;YACZ,0BAA0B,CACzB,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,EACzD,gBAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAC9C,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,mFAAmF;QACnF,sBAAsB;QACtB,OAAO,+BAA+B,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,qFAAqF;YAErF,OAAO,IAAI,CAAC,CAAC,wDAAwD;QACtE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-table.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAiCzF"}
1
+ {"version":3,"file":"create-table.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA0CzF"}
@@ -1,6 +1,7 @@
1
1
  import { asRun } from '../types.js';
2
2
  import { createMaintainedTable } from './materialized-view-helpers.js';
3
3
  import { assertDdlTransactionPolicy } from './ddl-transaction-policy.js';
4
+ import { withStatementScopedSchemaEvents } from './ddl-event-scope.js';
4
5
  export function emitCreateTable(plan, _ctx) {
5
6
  async function run(rctx) {
6
7
  // Strict-policy gate (see ddl-transaction-policy.ts). The owning module is the
@@ -14,16 +15,25 @@ export function emitCreateTable(plan, _ctx) {
14
15
  }
15
16
  // Ensure we're in a transaction before DDL (lazy/JIT transaction start)
16
17
  await rctx.db._ensureTransaction();
17
- if (plan.statementAst.maintained) {
18
- // `create table … maintained as <body>` — the declared-shape maintained
19
- // form: shape-verify against the body BEFORE registration, then create +
20
- // attach-to-empty through the shared attach core (all-or-nothing).
21
- await createMaintainedTable(rctx.db, plan.statementAst);
22
- return null;
23
- }
24
- await rctx.db.schemaManager.createTable(plan.statementAst);
25
- // The specific error handling for IF NOT EXISTS is within SchemaManager.defineTable.
26
- return null; // Explicitly return null for successful void operations
18
+ // Both arms run under the statement-scoped schema-event scope (see
19
+ // ddl-event-scope.ts). The maintained arm creates the backing table — announced —
20
+ // and fills it afterwards, so a fill that violates a declared constraint would
21
+ // otherwise announce a create and a drop for a statement that did nothing. The
22
+ // plain arm can fail after `module.create` too (the FK-collation check in
23
+ // SchemaManager.createTable), by which point an emitter-backed module has already
24
+ // announced.
25
+ return withStatementScopedSchemaEvents(rctx, async () => {
26
+ if (plan.statementAst.maintained) {
27
+ // `create table … maintained as <body>` — the declared-shape maintained
28
+ // form: shape-verify against the body BEFORE registration, then create +
29
+ // attach-to-empty through the shared attach core (all-or-nothing).
30
+ await createMaintainedTable(rctx.db, plan.statementAst);
31
+ return null;
32
+ }
33
+ await rctx.db.schemaManager.createTable(plan.statementAst);
34
+ // The specific error handling for IF NOT EXISTS is within SchemaManager.defineTable.
35
+ return null; // Explicitly return null for successful void operations
36
+ });
27
37
  }
28
38
  return { params: [], run: asRun(run), note: `createTable(${plan.statementAst.table.name})` };
29
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,IAAqB;IAC3E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,+EAA+E;QAC/E,yEAAyE;QACzE,gFAAgF;QAChF,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QACpG,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,0BAA0B,CACzB,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EACrC,gBAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAC9C,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAClC,wEAAwE;YACxE,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,qFAAqF;QAErF,OAAO,IAAI,CAAC,CAAC,wDAAwD;IACtE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,UAAU,eAAe,CAAC,IAAqB,EAAE,IAAqB;IAC3E,KAAK,UAAU,GAAG,CAAC,IAAoB;QACtC,+EAA+E;QAC/E,yEAAyE;QACzE,gFAAgF;QAChF,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QACpG,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,0BAA0B,CACzB,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,UAAU,EACrC,gBAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAC9C,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC;QAEnC,mEAAmE;QACnE,kFAAkF;QAClF,+EAA+E;QAC/E,+EAA+E;QAC/E,0EAA0E;QAC1E,kFAAkF;QAClF,aAAa;QACb,OAAO,+BAA+B,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;YACvD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAClC,wEAAwE;gBACxE,yEAAyE;gBACzE,mEAAmE;gBACnE,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,qFAAqF;YAErF,OAAO,IAAI,CAAC,CAAC,wDAAwD;QACtE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AAC9F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAM9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CAsEvF"}
1
+ {"version":3,"file":"create-view.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA4EvF"}