@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
@@ -281,10 +281,11 @@ function uniqueConstraintColumnNames(columns, uc) {
281
281
  * column names — an `ADD COLUMN`'s column does not even exist on the table yet — so
282
282
  * they cannot go through the schema-resolved form.
283
283
  *
284
- * Keep this the ONLY spelling of the `_uc_<cols>` rule in this package.
285
- * `quereus-store`'s `implicitUniqueIndexName` and
286
- * `MemoryTableManager.implicitIndexNameFor` mirror it for their own backends and
287
- * must stay equal to it.
284
+ * Keep this the ONLY spelling of the `_uc_<cols>` rule in this package. Three
285
+ * out-of-package mirrors must stay equal to it: `quereus-store`'s
286
+ * `implicitUniqueIndexName`, `MemoryTableManager.implicitIndexNameFor`, and
287
+ * `quereus-isolation`'s `installOverlayUniqueConstraint` (which names the overlay's
288
+ * narrowed unique index by the same rule so DROP / RENAME CONSTRAINT forwards resolve).
288
289
  */
289
290
  function implicitIndexNameForColumns(constraintName, columnNames) {
290
291
  return constraintName ?? `_uc_${columnNames.join('_')}`;
@@ -310,43 +311,147 @@ function implicitIndexNameForColumns(constraintName, columnNames) {
310
311
  * `columnNames` is consulted only when `constraintName` is undefined (the
311
312
  * `_uc_<cols>` auto-name); a named constraint ignores it.
312
313
  *
313
- * NOTE: the *input* is backend-dependent even though the check itself is not. A user
314
- * index is in `tableSchema.indexes` on every backend, so the collision this exists to
315
- * catch is refused identically everywhere. Another constraint's backing structure is
316
- * NOT — the memory module materializes one into `.indexes`, the store module does not
317
- * — so a constraint whose structure is named like another's is refused under memory and
318
- * accepted under store. Two shapes reach that: a constraint name carrying the engine's
319
- * reserved `_uc_` prefix (`constraint _uc_z unique (b)` beside `unique (z)`), and the
320
- * `_`-joined auto-name colliding on ordinary names (`unique (a_b)` beside
321
- * `unique (a, b)` — both derive `_uc_a_b`). If a caller ever needs the two to agree
322
- * there, compare against the derived names of the table's other UNIQUE constraints as
323
- * well, not just `.indexes`.
314
+ * NOTE: reads `.indexes` only, which is what makes it backend-independent — a user
315
+ * index is in `tableSchema.indexes` on every backend, so this collision is refused
316
+ * identically everywhere. The OTHER producer of a shared structure name — a second
317
+ * UNIQUE constraint on the same table deriving the same name — is deliberately not
318
+ * this function's business: `.indexes` sees it under memory (which materializes a
319
+ * constraint's structure there) and not under store, so reading it here would make
320
+ * the two backends disagree. {@link findUniqueConstraintSharingBackingName} handles
321
+ * that arm off `uniqueConstraints`, which both backends carry, and
322
+ * {@link assertUniqueConstraintIndexNameFree} runs it first.
324
323
  */
325
324
  function findIndexShadowedByUniqueConstraint(tableSchema, constraintName, columnNames) {
326
325
  const wanted = implicitIndexNameForColumns(constraintName, columnNames).toLowerCase();
327
326
  return (tableSchema.indexes ?? []).find(idx => idx.name.toLowerCase() === wanted);
328
327
  }
328
+ /**
329
+ * The UNIQUE constraint already on `tableSchema` whose own backing structure name is
330
+ * the one a constraint declared as `constraintName` over `columnNames` would take —
331
+ * or undefined when no other constraint holds it.
332
+ *
333
+ * The constraint-side twin of {@link findIndexShadowedByUniqueConstraint}. Two
334
+ * spellings reach it: a constraint name carrying the engine's reserved `_uc_` prefix
335
+ * (`constraint _uc_z unique (b)` beside `unique (z)`), and the `_`-joined auto-name
336
+ * colliding on ordinary column names (`unique (a_b)` beside `unique (a, b)` — both
337
+ * derive `_uc_a_b`). Left unguarded the second constraint adopts the first's
338
+ * structure and is then enforced by one keyed on the OTHER constraint's columns, so
339
+ * it silently stops rejecting duplicates.
340
+ *
341
+ * Reads `uniqueConstraints`, which every backend carries, so the refusal is identical
342
+ * on memory and store. Case-folded, like every other index-name comparison here.
343
+ *
344
+ * `derivedFromIndex` constraints are skipped: such a constraint's backing structure
345
+ * IS the `CREATE UNIQUE INDEX` that synthesized it, already in `.indexes` and already
346
+ * compared by the sibling arm — matching it here would report one collision twice
347
+ * under two different messages.
348
+ *
349
+ * Deliberately compares against the table's CURRENT derived names, including those of
350
+ * constraints a RENAME COLUMN is about to move. That is sufficient: two constraints
351
+ * can only newly collide under a rename if both cover the renamed column, and two such
352
+ * names differ only in their unrenamed parts — which the rename leaves alone.
353
+ */
354
+ function findUniqueConstraintSharingBackingName(tableSchema, constraintName, columnNames) {
355
+ const wanted = implicitIndexNameForColumns(constraintName, columnNames).toLowerCase();
356
+ return (tableSchema.uniqueConstraints ?? []).find(uc => uc.derivedFromIndex === undefined
357
+ && implicitIndexName(tableSchema, uc).toLowerCase() === wanted);
358
+ }
359
+ /**
360
+ * How a UNIQUE constraint is named back to the user in a collision message: by the
361
+ * name they wrote when it has one, else by the columns they wrote.
362
+ */
363
+ function describeUniqueConstraint(constraintName, columnNames) {
364
+ return constraintName !== undefined ? `'${constraintName}'` : `on (${columnNames.join(', ')})`;
365
+ }
329
366
  /**
330
367
  * Rejects a UNIQUE constraint declaration whose implicit backing structure would
331
- * claim a name already held by an index on the same table (see
332
- * {@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint
333
- * kind — CHECK and FOREIGN KEY build no backing index, so they cannot collide.
368
+ * claim a name already held on the same table — by another UNIQUE constraint's
369
+ * backing structure ({@link findUniqueConstraintSharingBackingName}) or by an index
370
+ * ({@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint kind
371
+ * — CHECK and FOREIGN KEY build no backing index, so they cannot collide.
334
372
  *
335
373
  * Called from the engine side BEFORE `module.alterTable`, which is what makes one
336
374
  * guard cover both backends and keeps a rejected statement from reaching the
337
375
  * store's persistence side effects.
338
376
  *
377
+ * The constraint arm runs FIRST so a collision both arms can see reports identically
378
+ * on memory and store: memory materializes a constraint's structure into `.indexes`
379
+ * and store does not, so letting the index arm rule first would name an index the
380
+ * user never created under one backend and a constraint under the other.
381
+ *
339
382
  * `operation` describes what the statement was doing, e.g.
340
383
  * `add constraint 'foo' to table 't'`.
341
384
  */
342
385
  export function assertUniqueConstraintIndexNameFree(tableSchema, constraintName, columnNames, operation) {
386
+ const backingName = implicitIndexNameForColumns(constraintName, columnNames);
387
+ const sibling = findUniqueConstraintSharingBackingName(tableSchema, constraintName, columnNames);
388
+ if (sibling) {
389
+ const siblingDescription = describeUniqueConstraint(sibling.name, uniqueConstraintColumnNames(tableSchema.columns, sibling));
390
+ throw new QuereusError(`Cannot ${operation}: its backing structure '${backingName}' would collide with the backing structure `
391
+ + `of the UNIQUE constraint ${siblingDescription} on the same table. Name or rename one of the two `
392
+ + `constraints — an unnamed one derives its structure name from the columns it covers.`, StatusCode.CONSTRAINT);
393
+ }
343
394
  const shadowed = findIndexShadowedByUniqueConstraint(tableSchema, constraintName, columnNames);
344
395
  if (!shadowed)
345
396
  return;
346
- const backingName = implicitIndexNameForColumns(constraintName, columnNames);
347
397
  throw new QuereusError(`Cannot ${operation}: its backing index '${backingName}' would collide with existing index '${shadowed.name}' `
348
398
  + `on the same table. Rename the constraint or the index.`, StatusCode.CONSTRAINT);
349
399
  }
400
+ /**
401
+ * The pairwise form of {@link assertUniqueConstraintIndexNameFree}'s constraint arm:
402
+ * refuses a set of UNIQUE constraints declared TOGETHER, none of them on a table yet,
403
+ * in which two derive one backing structure name.
404
+ *
405
+ * Two callers hold a whole declaration at once and so have no table to compare
406
+ * against: `CREATE TABLE` (its entire constraint list) and
407
+ * `ALTER TABLE … ADD COLUMN` (the inline `unique` constraints on the new column).
408
+ * Both run it AFTER the duplicate-constraint guards, so a genuine duplicate keeps
409
+ * producing the constraint-worded duplicate message rather than a structure-name one,
410
+ * and — for `CREATE TABLE` — before `module.create`, so a refusal leaves no storage
411
+ * behind.
412
+ *
413
+ * Takes {@link DeclaredUniqueConstraint}s rather than built
414
+ * {@link UniqueConstraintSchema}s so the ADD COLUMN caller, whose column does not exist
415
+ * on any schema yet, can use it;
416
+ * {@link assertNoDuplicateUniqueConstraintBackingNames} is the built-constraint wrapper.
417
+ */
418
+ export function assertUniqueConstraintBackingNamesDistinct(declared, operation) {
419
+ const seen = new Map();
420
+ for (const uc of declared) {
421
+ const backingName = implicitIndexNameForColumns(uc.name, uc.columnNames);
422
+ const lower = backingName.toLowerCase();
423
+ const held = seen.get(lower);
424
+ if (held) {
425
+ throw new QuereusError(`Cannot ${operation}: the UNIQUE constraint ${describeUniqueConstraint(held.name, held.columnNames)} and `
426
+ + `the UNIQUE constraint ${describeUniqueConstraint(uc.name, uc.columnNames)} both derive backing `
427
+ + `structure name '${backingName}'. Name or rename one of them — an unnamed one derives its `
428
+ + `structure name from the columns it covers.`, StatusCode.CONSTRAINT);
429
+ }
430
+ seen.set(lower, uc);
431
+ }
432
+ }
433
+ /**
434
+ * The `CREATE TABLE` wrapper over {@link assertUniqueConstraintBackingNamesDistinct},
435
+ * reading the BUILT constraints (column indices already resolved) so inline and
436
+ * table-level spellings are compared in one place. A `CREATE TABLE` declares no
437
+ * indexes, so this pairwise comparison is the whole of the check there.
438
+ *
439
+ * `derivedFromIndex` constraints are skipped for the same reason
440
+ * {@link findUniqueConstraintSharingBackingName} skips them — unreachable from a
441
+ * `CREATE TABLE` today (the statement carries no index declarations), kept so the two
442
+ * arms answer alike if that ever changes.
443
+ *
444
+ * Called from `SchemaManager.createTable` only — never from the import / rehydrate
445
+ * path, so a catalog written before this guard existed still opens (same placement
446
+ * rationale as {@link assertNoDuplicateUniqueConstraints}; the memory backend's
447
+ * `ensureUniqueConstraintIndexes` keeps its adoption behaviour as damage limitation
448
+ * for exactly those catalogs).
449
+ */
450
+ export function assertNoDuplicateUniqueConstraintBackingNames(constraints, columns, operation) {
451
+ assertUniqueConstraintBackingNamesDistinct(constraints
452
+ .filter(uc => uc.derivedFromIndex === undefined)
453
+ .map(uc => ({ name: uc.name, columnNames: uniqueConstraintColumnNames(columns, uc) })), operation);
454
+ }
350
455
  /* ─────────────── duplicate UNIQUE constraints ───────────────
351
456
  * An unnamed UNIQUE has no name to compare, so nothing but the derived structure
352
457
  * name ever noticed a repeat — and that name is only materialized by SOME backends,
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,15 @@ import type { ResolveColumnInSource } from './rename-rewriter.js';
5
5
  * schema-object expression consults to tell an unqualified reference that binds to an
6
6
  * inner FROM source from one that binds to the table under consideration.
7
7
  *
8
- * Four callers, one definition, so no two of them can disagree about what a name
9
- * resolves to: `runRenameColumn`'s pre-flight probe and its real propagation, the
10
- * DROP COLUMN guards (`runtime/emit/drop-column-guards.ts` and
11
- * `schema/expression-dependents.ts`), and the constraint planner's self-qualifier
12
- * strip (`planner/building/constraint-builder.ts`).
8
+ * One definition for every such walk, so no two of them can disagree about what a
9
+ * name resolves to: `runRenameColumn`'s pre-flight probe and its real propagation,
10
+ * the DROP COLUMN guards (`runtime/emit/drop-column-guards.ts` and
11
+ * `schema/expression-dependents.ts`), the constraint planner's self-qualifier strip
12
+ * (`planner/building/constraint-builder.ts`), the generated-column reference
13
+ * analysis at CREATE TABLE (`schema/manager.ts`) and at ALTER TABLE
14
+ * (`planner/building/alter-table.ts`, `runtime/emit/alter-table.ts`), and the
15
+ * modules' own ALTER re-analysis hooks (`vtab/memory/layer/manager.ts`,
16
+ * `@quereus/store`'s `store-module-alter.ts`).
13
17
  *
14
18
  * A source may be a TABLE (a maintained table included — its backing columns are
15
19
  * real) or a VIEW. A view exposes a column when its explicit column list names it,
@@ -1 +1 @@
1
- {"version":3,"file":"column-source-resolver.d.ts","sourceRoot":"","sources":["../../../src/schema/column-source-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,sBAAsB,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,qBAAqB,CAyB7E"}
1
+ {"version":3,"file":"column-source-resolver.d.ts","sourceRoot":"","sources":["../../../src/schema/column-source-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,sBAAsB,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,QAAQ,GAAG,qBAAqB,CAyB7E"}
@@ -4,11 +4,15 @@ import { bodyPublishesColumnNamed, objectRefKey } from './rename-rewriter.js';
4
4
  * schema-object expression consults to tell an unqualified reference that binds to an
5
5
  * inner FROM source from one that binds to the table under consideration.
6
6
  *
7
- * Four callers, one definition, so no two of them can disagree about what a name
8
- * resolves to: `runRenameColumn`'s pre-flight probe and its real propagation, the
9
- * DROP COLUMN guards (`runtime/emit/drop-column-guards.ts` and
10
- * `schema/expression-dependents.ts`), and the constraint planner's self-qualifier
11
- * strip (`planner/building/constraint-builder.ts`).
7
+ * One definition for every such walk, so no two of them can disagree about what a
8
+ * name resolves to: `runRenameColumn`'s pre-flight probe and its real propagation,
9
+ * the DROP COLUMN guards (`runtime/emit/drop-column-guards.ts` and
10
+ * `schema/expression-dependents.ts`), the constraint planner's self-qualifier strip
11
+ * (`planner/building/constraint-builder.ts`), the generated-column reference
12
+ * analysis at CREATE TABLE (`schema/manager.ts`) and at ALTER TABLE
13
+ * (`planner/building/alter-table.ts`, `runtime/emit/alter-table.ts`), and the
14
+ * modules' own ALTER re-analysis hooks (`vtab/memory/layer/manager.ts`,
15
+ * `@quereus/store`'s `store-module-alter.ts`).
12
16
  *
13
17
  * A source may be a TABLE (a maintained table included — its backing columns are
14
18
  * real) or a VIEW. A view exposes a column when its explicit column list names it,
@@ -1 +1 @@
1
- {"version":3,"file":"column-source-resolver.js","sourceRoot":"","sources":["../../../src/schema/column-source-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"column-source-resolver.js","sourceRoot":"","sources":["../../../src/schema/column-source-resolver.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,15 @@ export declare function buildUniqueConstraintSchema(con: AST.TableConstraint, co
32
32
  * `SchemaManager.extractForeignKeys` (table-level arm), including the
33
33
  * child/parent column-count mismatch error.
34
34
  *
35
- * `takenNames` is the CREATE TABLE path's statement-wide taken-set: when
36
- * provided, an unnamed FK's `_fk_<table>_<cols>` mint is disambiguated against —
37
- * and registered into — it (see `disambiguateAutoConstraintName`), so two
38
- * colliding mints in one declaration get distinct names. ALTER callers omit it
39
- * and keep the historical mint byte-identical.
35
+ * `takenNames` is the mint disambiguation set: an unnamed FK's
36
+ * `_fk_<table>_<cols>` mint is disambiguated against — and registered into — it
37
+ * (see `disambiguateAutoConstraintName`), so it can never repeat a name already
38
+ * in use. CREATE TABLE seeds it with the statement's user-written names; every
39
+ * ALTER path seeds it from the table's existing constraint names
40
+ * (`collectTableConstraintNames`). Omitting it is supported only for a caller
41
+ * that genuinely has no table to disambiguate against — an omitted set means an
42
+ * unnamed FK re-added over an existing `_fk_<table>_<cols>` mints that name a
43
+ * SECOND time, and one `DROP CONSTRAINT` then removes both.
40
44
  */
41
45
  export declare function buildForeignKeyConstraintSchema(con: AST.TableConstraint, columnIndexMap: ReadonlyMap<string, number>, childTableName: string, childSchemaName: string, takenNames?: Set<string>): ForeignKeyConstraintSchema;
42
46
  /**
@@ -46,12 +50,11 @@ export declare function buildForeignKeyConstraintSchema(con: AST.TableConstraint
46
50
  * (memory + store) so a CHECK added via ALTER lands in the *module-cached*
47
51
  * schema, in lock-step with the catalog — the same place inline-CREATE CHECKs
48
52
  * live and where `DROP/RENAME CONSTRAINT` later resolve the constraint class. An
49
- * unnamed CHECK is auto-named `check_<existingCount>`, preserving the engine's
50
- * prior in-emitter naming (`existingCount` = the number of CHECKs already on the
51
- * table). Determinism is intentionally NOT validated here — a CHECK may reference
52
- * `new.*`/`old.*`, which is checked at INSERT/UPDATE plan time.
53
+ * unnamed CHECK is auto-named `check_<n>` — see {@link mintCheckConstraintName}
54
+ * for how `n` is chosen. Determinism is intentionally NOT validated here — a
55
+ * CHECK may reference `new.*`/`old.*`, which is checked at INSERT/UPDATE plan time.
53
56
  */
54
- export declare function buildCheckConstraintSchema(con: AST.TableConstraint, existingCount: number): RowConstraintSchema;
57
+ export declare function buildCheckConstraintSchema(con: AST.TableConstraint, existingCount: number, takenNames: ReadonlySet<string>): RowConstraintSchema;
55
58
  /**
56
59
  * Extracts the column-level CHECK constraints declared on a single `ALTER TABLE
57
60
  * ADD COLUMN` ColumnDef into the equivalent table-level constraints.
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../src/schema/constraint-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-builder.d.ts","sourceRoot":"","sources":["../../../src/schema/constraint-builder.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * resolution for a FK stays deferred (the parent may not exist yet) exactly as
15
15
  * in the CREATE TABLE path.
16
16
  */
17
- import { resolveReferencedColumns, opsToMask, disambiguateAutoConstraintName } from './table.js';
17
+ import { resolveReferencedColumns, resolveReferencedColumnsForEnforcement, opsToMask, disambiguateAutoConstraintName } from './table.js';
18
18
  import { QuereusError } from '../common/errors.js';
19
19
  import { StatusCode } from '../common/types.js';
20
20
  import { quoteIdentifier, expressionToString } from '../emit/ast-stringify.js';
@@ -52,11 +52,15 @@ export function buildUniqueConstraintSchema(con, columnIndexMap) {
52
52
  * `SchemaManager.extractForeignKeys` (table-level arm), including the
53
53
  * child/parent column-count mismatch error.
54
54
  *
55
- * `takenNames` is the CREATE TABLE path's statement-wide taken-set: when
56
- * provided, an unnamed FK's `_fk_<table>_<cols>` mint is disambiguated against —
57
- * and registered into — it (see `disambiguateAutoConstraintName`), so two
58
- * colliding mints in one declaration get distinct names. ALTER callers omit it
59
- * and keep the historical mint byte-identical.
55
+ * `takenNames` is the mint disambiguation set: an unnamed FK's
56
+ * `_fk_<table>_<cols>` mint is disambiguated against — and registered into — it
57
+ * (see `disambiguateAutoConstraintName`), so it can never repeat a name already
58
+ * in use. CREATE TABLE seeds it with the statement's user-written names; every
59
+ * ALTER path seeds it from the table's existing constraint names
60
+ * (`collectTableConstraintNames`). Omitting it is supported only for a caller
61
+ * that genuinely has no table to disambiguate against — an omitted set means an
62
+ * unnamed FK re-added over an existing `_fk_<table>_<cols>` mints that name a
63
+ * SECOND time, and one `DROP CONSTRAINT` then removes both.
60
64
  */
61
65
  export function buildForeignKeyConstraintSchema(con, columnIndexMap, childTableName, childSchemaName, takenNames) {
62
66
  if (con.type !== 'foreignKey' || !con.foreignKey || !con.columns) {
@@ -81,7 +85,6 @@ export function buildForeignKeyConstraintSchema(con, columnIndexMap, childTableN
81
85
  columns: Object.freeze(childColIndices),
82
86
  referencedTable: fk.table,
83
87
  referencedSchema: fk.schema ?? childSchemaName,
84
- referencedColumns: Object.freeze([]), // resolved at enforcement time
85
88
  referencedColumnNames: fk.columns, // deferred resolution via resolveReferencedColumns
86
89
  onDelete: fk.onDelete ?? 'restrict',
87
90
  onUpdate: fk.onUpdate ?? 'restrict',
@@ -96,22 +99,48 @@ export function buildForeignKeyConstraintSchema(con, columnIndexMap, childTableN
96
99
  * (memory + store) so a CHECK added via ALTER lands in the *module-cached*
97
100
  * schema, in lock-step with the catalog — the same place inline-CREATE CHECKs
98
101
  * live and where `DROP/RENAME CONSTRAINT` later resolve the constraint class. An
99
- * unnamed CHECK is auto-named `check_<existingCount>`, preserving the engine's
100
- * prior in-emitter naming (`existingCount` = the number of CHECKs already on the
101
- * table). Determinism is intentionally NOT validated here — a CHECK may reference
102
- * `new.*`/`old.*`, which is checked at INSERT/UPDATE plan time.
102
+ * unnamed CHECK is auto-named `check_<n>` — see {@link mintCheckConstraintName}
103
+ * for how `n` is chosen. Determinism is intentionally NOT validated here — a
104
+ * CHECK may reference `new.*`/`old.*`, which is checked at INSERT/UPDATE plan time.
103
105
  */
104
- export function buildCheckConstraintSchema(con, existingCount) {
106
+ export function buildCheckConstraintSchema(con, existingCount, takenNames) {
105
107
  if (con.type !== 'check' || !con.expr) {
106
108
  throw new QuereusError('CHECK constraint requires an expression', StatusCode.ERROR);
107
109
  }
108
110
  return {
109
- name: con.name || `check_${existingCount}`,
111
+ name: con.name || mintCheckConstraintName(existingCount, takenNames),
110
112
  expr: con.expr,
111
113
  operations: opsToMask(con.operations),
112
114
  tags: con.tags && Object.keys(con.tags).length > 0 ? Object.freeze({ ...con.tags }) : undefined,
113
115
  };
114
116
  }
117
+ /**
118
+ * The auto-name for an unnamed table-level CHECK: `check_<n>`, where `n` starts at
119
+ * `existingCount` (the number of CHECKs already on the table — the engine's
120
+ * historical spelling) and is bumped upward until the name is free on that table.
121
+ *
122
+ * `takenNames` is the table's existing constraint names, case-folded, spanning
123
+ * CHECK / UNIQUE / FOREIGN KEY as one namespace (`collectTableConstraintNames`) —
124
+ * the same namespace `namedConstraintExists` and `disambiguateAutoConstraintName`
125
+ * use. Without the probe, `DROP CONSTRAINT check_0` followed by another unnamed
126
+ * add re-mints a LIVE name (the count shrank), leaving two constraints one name
127
+ * addresses and one `DROP` removes both of.
128
+ *
129
+ * NOT `disambiguateAutoConstraintName`: that appends a `_<N>` collision suffix,
130
+ * which on this base would read `check_1_2`. Bumping the index instead keeps the
131
+ * documented `check_<n>` shape. Seeding at `existingCount` rather than scanning
132
+ * from 0 is what keeps every non-colliding name byte-identical to the historical
133
+ * mint — a table whose two CHECKs are USER-named has `existingCount` 2, so the
134
+ * next unnamed add stays `check_2` instead of shifting to a now-free `check_0`.
135
+ */
136
+ function mintCheckConstraintName(existingCount, takenNames) {
137
+ // `check_<n>` is already lower-case, and `takenNames` is case-folded, so no
138
+ // further folding is needed on either side of the membership test.
139
+ let n = existingCount;
140
+ while (takenNames.has(`check_${n}`))
141
+ n++;
142
+ return `check_${n}`;
143
+ }
115
144
  /* ──────────────── ALTER TABLE ADD COLUMN inline constraints ────────────────
116
145
  * A constraint written inline on an added column (`add column c int unique`,
117
146
  * `… check (c > 0)`, `… references p(pid)`) has no table-level AST of its own, so
@@ -347,10 +376,9 @@ export async function validateForeignKeyOverExistingRows(db, childSchema, fk, on
347
376
  sql = `select 1 from ${childRef} as ${childAlias} where ${notNullChain} limit 1`;
348
377
  }
349
378
  else {
350
- const parentColIndices = resolveReferencedColumns(fk, parentTable);
351
- if (parentColIndices.length !== fk.columns.length) {
352
- throw new QuereusError(`FK constraint '${fk.name ?? `_fk_${childSchema.name}`}' on table '${childSchema.name}': child column count (${fk.columns.length}) does not match parent column count (${parentColIndices.length})`, StatusCode.ERROR);
353
- }
379
+ // Shared with the plan-time / runtime enforcement sites so one malformed FK
380
+ // reports one message wherever it is met.
381
+ const parentColIndices = resolveReferencedColumnsForEnforcement(fk, parentTable, childSchema);
354
382
  const parentRef = qualifyRelation(parentTable.schemaName, parentTable.name);
355
383
  const parentAlias = '_p';
356
384
  // Aliases keep the correlation unambiguous even for a self-referencing FK
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../src/schema/constraint-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-builder.js","sourceRoot":"","sources":["../../../src/schema/constraint-builder.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,33 @@ export interface LensSnapshotPair {
9
9
  /** The most recent deploy. */
10
10
  current?: LensDeploymentSnapshot;
11
11
  }
12
+ /**
13
+ * What both sides of the declarative reconciliation rendered to at the end of
14
+ * the last successful `apply schema` whose migration plan came out **empty** —
15
+ * i.e. the last apply at which this process observed, via a real diff, that the
16
+ * catalog matches the declaration.
17
+ *
18
+ * On the next apply, both sides are re-rendered; if all three fields still
19
+ * match, `computeSchemaDiff` / `generateMigrationPlan` are skipped. See
20
+ * `docs/schema.md` § Applied-state snapshot.
21
+ *
22
+ * NOTE: the two renderings are retained per schema for as long as the declaration
23
+ * lives — measured at 309 KB + 109 KB for the 112.7 KB / 54-table declaration of
24
+ * `bench/apply-schema-unchanged.mjs`, i.e. roughly 4× the declaration's own DDL
25
+ * text. Storing them (rather than hashing) is what makes the comparison exact.
26
+ * If a host ever declares many large schemas and this shows up in a heap profile,
27
+ * the trade to revisit is hashing the catalog rendering instead — FNV-1a over
28
+ * 119 KB measured 1.46 ms, three times the string compare it would replace, plus
29
+ * a small collision risk.
30
+ */
31
+ export interface AppliedSchemaSnapshot {
32
+ /** `renderDeclaredSchemaCanonical` of the declaration that was applied. */
33
+ declaredRendering: string;
34
+ /** `renderCatalogForComparison` of the live catalog after the apply completed. */
35
+ catalogRendering: string;
36
+ /** The effective `default_collation` — a differ input outside both renderings. */
37
+ defaultCollation: string;
38
+ }
12
39
  /**
13
40
  * Manages declared schemas and their associated seed data
14
41
  */
@@ -33,10 +60,33 @@ export declare class DeclaredSchemaManager {
33
60
  * advisories. Errors never reach here — they throw atomically during deploy.
34
61
  */
35
62
  private deployedLensReports;
63
+ /**
64
+ * Memoized `renderDeclaredSchemaCanonical` per lowercased schema name. Paid
65
+ * once per `declare schema`, on the first apply after it — the apply that is
66
+ * going to do real work anyway.
67
+ */
68
+ private declaredRenderings;
69
+ /** Applied-state snapshots per lowercased schema name; see {@link AppliedSchemaSnapshot}. */
70
+ private appliedSnapshots;
36
71
  /**
37
72
  * Stores a declared schema
38
73
  */
39
74
  setDeclaredSchema(schemaName: string, declaration: AST.DeclareSchemaStmt): void;
75
+ /**
76
+ * Canonical, **tags-inclusive** rendering of the stored declaration for
77
+ * `schemaName` (memoized), or `undefined` when nothing is declared. This is
78
+ * the declared half of the applied-state snapshot compare — NOT the version
79
+ * hash, which strips tags (see {@link renderDeclaredSchemaCanonical}).
80
+ */
81
+ getDeclaredRendering(schemaName: string): string | undefined;
82
+ /** The applied-state snapshot for `schemaName`, or `undefined` if none recorded. */
83
+ getAppliedSnapshot(schemaName: string): AppliedSchemaSnapshot | undefined;
84
+ /**
85
+ * Records the applied-state snapshot for `schemaName`. Callers must only do
86
+ * this after an apply that both succeeded and produced an empty migration
87
+ * plan — see the write site in `runtime/emit/schema-declarative.ts`.
88
+ */
89
+ setAppliedSnapshot(schemaName: string, snapshot: AppliedSchemaSnapshot): void;
40
90
  /**
41
91
  * Retrieves a declared schema
42
92
  */