@quereus/quereus 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) 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 +5 -3
  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 +3 -2
  126. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  127. package/dist/src/planner/building/constraint-builder.js +20 -27
  128. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  129. package/dist/src/planner/building/delete.d.ts.map +1 -1
  130. package/dist/src/planner/building/delete.js +8 -25
  131. package/dist/src/planner/building/delete.js.map +1 -1
  132. package/dist/src/planner/building/expression.d.ts.map +1 -1
  133. package/dist/src/planner/building/expression.js +11 -3
  134. package/dist/src/planner/building/expression.js.map +1 -1
  135. package/dist/src/planner/building/foreign-key-builder.d.ts +19 -8
  136. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  137. package/dist/src/planner/building/foreign-key-builder.js +56 -37
  138. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  139. package/dist/src/planner/building/generated-column-scope.d.ts +58 -0
  140. package/dist/src/planner/building/generated-column-scope.d.ts.map +1 -0
  141. package/dist/src/planner/building/generated-column-scope.js +117 -0
  142. package/dist/src/planner/building/generated-column-scope.js.map +1 -0
  143. package/dist/src/planner/building/insert.d.ts.map +1 -1
  144. package/dist/src/planner/building/insert.js +36 -60
  145. package/dist/src/planner/building/insert.js.map +1 -1
  146. package/dist/src/planner/building/mutation-context.d.ts +63 -0
  147. package/dist/src/planner/building/mutation-context.d.ts.map +1 -0
  148. package/dist/src/planner/building/mutation-context.js +126 -0
  149. package/dist/src/planner/building/mutation-context.js.map +1 -0
  150. package/dist/src/planner/building/select-aggregates.d.ts +73 -132
  151. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  152. package/dist/src/planner/building/select-aggregates.js +405 -81
  153. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  154. package/dist/src/planner/building/select-modifiers.d.ts +37 -8
  155. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  156. package/dist/src/planner/building/select-modifiers.js +8 -9
  157. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  158. package/dist/src/planner/building/select-ordinal.d.ts +6 -0
  159. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  160. package/dist/src/planner/building/select-ordinal.js +1 -1
  161. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  162. package/dist/src/planner/building/select-window.d.ts +2 -2
  163. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  164. package/dist/src/planner/building/select-window.js +82 -101
  165. package/dist/src/planner/building/select-window.js.map +1 -1
  166. package/dist/src/planner/building/select.d.ts.map +1 -1
  167. package/dist/src/planner/building/select.js +78 -33
  168. package/dist/src/planner/building/select.js.map +1 -1
  169. package/dist/src/planner/building/update.d.ts.map +1 -1
  170. package/dist/src/planner/building/update.js +21 -32
  171. package/dist/src/planner/building/update.js.map +1 -1
  172. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  173. package/dist/src/planner/building/view-mutation-builder.js +329 -14
  174. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  175. package/dist/src/planner/building/with.d.ts +6 -0
  176. package/dist/src/planner/building/with.d.ts.map +1 -1
  177. package/dist/src/planner/building/with.js +52 -3
  178. package/dist/src/planner/building/with.js.map +1 -1
  179. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  180. package/dist/src/planner/cache/correlation-detector.js +44 -17
  181. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  182. package/dist/src/planner/framework/physical-utils.d.ts +6 -0
  183. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  184. package/dist/src/planner/framework/physical-utils.js +6 -0
  185. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  186. package/dist/src/planner/mutation/lens-enforcement.d.ts +123 -0
  187. package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
  188. package/dist/src/planner/mutation/lens-enforcement.js +362 -5
  189. package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
  190. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  191. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  192. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  193. package/dist/src/planner/nodes/alter-table-node.d.ts +15 -11
  194. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  195. package/dist/src/planner/nodes/alter-table-node.js +5 -0
  196. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  197. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  198. package/dist/src/planner/nodes/bloom-join-node.js +7 -0
  199. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  200. package/dist/src/planner/nodes/constraint-check-node.d.ts +16 -0
  201. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  202. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  203. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -1
  204. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  205. package/dist/src/planner/nodes/plan-node-type.js +1 -1
  206. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  207. package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
  208. package/dist/src/planner/nodes/pragma.js +5 -2
  209. package/dist/src/planner/nodes/pragma.js.map +1 -1
  210. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  211. package/dist/src/planner/nodes/reference.js +9 -1
  212. package/dist/src/planner/nodes/reference.js.map +1 -1
  213. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  214. package/dist/src/planner/nodes/scalar.js +117 -91
  215. package/dist/src/planner/nodes/scalar.js.map +1 -1
  216. package/dist/src/planner/nodes/sequence-node.d.ts +50 -0
  217. package/dist/src/planner/nodes/sequence-node.d.ts.map +1 -0
  218. package/dist/src/planner/nodes/sequence-node.js +96 -0
  219. package/dist/src/planner/nodes/sequence-node.js.map +1 -0
  220. package/dist/src/planner/nodes/values-node.d.ts +8 -0
  221. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  222. package/dist/src/planner/nodes/values-node.js +29 -6
  223. package/dist/src/planner/nodes/values-node.js.map +1 -1
  224. package/dist/src/planner/nodes/view-mutation-node.d.ts +43 -1
  225. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -1
  226. package/dist/src/planner/nodes/view-mutation-node.js +27 -6
  227. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -1
  228. package/dist/src/planner/nodes/window-node.d.ts +33 -4
  229. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  230. package/dist/src/planner/nodes/window-node.js +80 -36
  231. package/dist/src/planner/nodes/window-node.js.map +1 -1
  232. package/dist/src/planner/planning-context.d.ts +38 -1
  233. package/dist/src/planner/planning-context.d.ts.map +1 -1
  234. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  235. package/dist/src/planner/rules/access/rule-key-set-seek.js +8 -3
  236. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  237. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +18 -12
  238. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  239. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +4 -3
  240. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  241. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
  242. package/dist/src/planner/rules/window/rule-monotonic-window.js +6 -0
  243. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  244. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  245. package/dist/src/planner/scopes/param.js +10 -5
  246. package/dist/src/planner/scopes/param.js.map +1 -1
  247. package/dist/src/planner/util/ind-utils.d.ts +25 -8
  248. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  249. package/dist/src/planner/util/ind-utils.js +53 -10
  250. package/dist/src/planner/util/ind-utils.js.map +1 -1
  251. package/dist/src/planner/util/key-utils.d.ts +7 -7
  252. package/dist/src/planner/util/key-utils.js +9 -9
  253. package/dist/src/planner/util/key-utils.js.map +1 -1
  254. package/dist/src/runtime/delta-executor.d.ts.map +1 -1
  255. package/dist/src/runtime/delta-executor.js +7 -2
  256. package/dist/src/runtime/delta-executor.js.map +1 -1
  257. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  258. package/dist/src/runtime/emit/add-constraint.js +50 -15
  259. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  260. package/dist/src/runtime/emit/alter-schema-event.d.ts +2 -43
  261. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  262. package/dist/src/runtime/emit/alter-schema-event.js +2 -53
  263. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  264. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  265. package/dist/src/runtime/emit/alter-table.js +70 -26
  266. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  267. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  268. package/dist/src/runtime/emit/analyze.js +7 -0
  269. package/dist/src/runtime/emit/analyze.js.map +1 -1
  270. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -1
  271. package/dist/src/runtime/emit/assertion-rename-helpers.js +2 -3
  272. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -1
  273. package/dist/src/runtime/emit/binary.d.ts +5 -0
  274. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  275. package/dist/src/runtime/emit/binary.js +22 -22
  276. package/dist/src/runtime/emit/binary.js.map +1 -1
  277. package/dist/src/runtime/emit/block.d.ts.map +1 -1
  278. package/dist/src/runtime/emit/block.js +9 -3
  279. package/dist/src/runtime/emit/block.js.map +1 -1
  280. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  281. package/dist/src/runtime/emit/constraint-check.js +22 -13
  282. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  283. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  284. package/dist/src/runtime/emit/create-assertion.js +71 -70
  285. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  286. package/dist/src/runtime/emit/create-index.d.ts.map +1 -1
  287. package/dist/src/runtime/emit/create-index.js +8 -3
  288. package/dist/src/runtime/emit/create-index.js.map +1 -1
  289. package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
  290. package/dist/src/runtime/emit/create-table.js +20 -10
  291. package/dist/src/runtime/emit/create-table.js.map +1 -1
  292. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  293. package/dist/src/runtime/emit/create-view.js +51 -44
  294. package/dist/src/runtime/emit/create-view.js.map +1 -1
  295. package/dist/src/runtime/emit/ddl-event-scope.d.ts +71 -0
  296. package/dist/src/runtime/emit/ddl-event-scope.d.ts.map +1 -0
  297. package/dist/src/runtime/emit/ddl-event-scope.js +80 -0
  298. package/dist/src/runtime/emit/ddl-event-scope.js.map +1 -0
  299. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  300. package/dist/src/runtime/emit/dml-executor.js +28 -24
  301. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  302. package/dist/src/runtime/emit/drop-assertion.d.ts.map +1 -1
  303. package/dist/src/runtime/emit/drop-assertion.js +23 -17
  304. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  305. package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
  306. package/dist/src/runtime/emit/drop-index.js +7 -2
  307. package/dist/src/runtime/emit/drop-index.js.map +1 -1
  308. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  309. package/dist/src/runtime/emit/drop-table.js +16 -10
  310. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  311. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  312. package/dist/src/runtime/emit/drop-view.js +50 -43
  313. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  314. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  315. package/dist/src/runtime/emit/insert.js +2 -1
  316. package/dist/src/runtime/emit/insert.js.map +1 -1
  317. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  318. package/dist/src/runtime/emit/materialized-view.js +87 -67
  319. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  320. package/dist/src/runtime/emit/schema-declarative.d.ts +8 -0
  321. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  322. package/dist/src/runtime/emit/schema-declarative.js +128 -25
  323. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  324. package/dist/src/runtime/emit/sequence.d.ts +17 -0
  325. package/dist/src/runtime/emit/sequence.d.ts.map +1 -0
  326. package/dist/src/runtime/emit/sequence.js +40 -0
  327. package/dist/src/runtime/emit/sequence.js.map +1 -0
  328. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  329. package/dist/src/runtime/emit/set-object-tags.js +40 -32
  330. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  331. package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
  332. package/dist/src/runtime/emit/table-valued-function.js +3 -2
  333. package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
  334. package/dist/src/runtime/emit/update.js +3 -3
  335. package/dist/src/runtime/emit/update.js.map +1 -1
  336. package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -1
  337. package/dist/src/runtime/emit/view-mutation.js +45 -3
  338. package/dist/src/runtime/emit/view-mutation.js.map +1 -1
  339. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  340. package/dist/src/runtime/foreign-key-actions.js +9 -10
  341. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  342. package/dist/src/runtime/register.d.ts.map +1 -1
  343. package/dist/src/runtime/register.js +3 -2
  344. package/dist/src/runtime/register.js.map +1 -1
  345. package/dist/src/runtime/row-constraints.d.ts +14 -8
  346. package/dist/src/runtime/row-constraints.d.ts.map +1 -1
  347. package/dist/src/runtime/row-constraints.js +41 -15
  348. package/dist/src/runtime/row-constraints.js.map +1 -1
  349. package/dist/src/runtime/strict-representation.d.ts +11 -6
  350. package/dist/src/runtime/strict-representation.d.ts.map +1 -1
  351. package/dist/src/runtime/strict-representation.js +1 -44
  352. package/dist/src/runtime/strict-representation.js.map +1 -1
  353. package/dist/src/schema/assertion.d.ts +25 -2
  354. package/dist/src/schema/assertion.d.ts.map +1 -1
  355. package/dist/src/schema/assertion.js.map +1 -1
  356. package/dist/src/schema/catalog-rendering.d.ts +38 -0
  357. package/dist/src/schema/catalog-rendering.d.ts.map +1 -0
  358. package/dist/src/schema/catalog-rendering.js +171 -0
  359. package/dist/src/schema/catalog-rendering.js.map +1 -0
  360. package/dist/src/schema/catalog.d.ts +94 -5
  361. package/dist/src/schema/catalog.d.ts.map +1 -1
  362. package/dist/src/schema/catalog.js +159 -21
  363. package/dist/src/schema/catalog.js.map +1 -1
  364. package/dist/src/schema/column-source-resolver.d.ts +9 -5
  365. package/dist/src/schema/column-source-resolver.d.ts.map +1 -1
  366. package/dist/src/schema/column-source-resolver.js +9 -5
  367. package/dist/src/schema/column-source-resolver.js.map +1 -1
  368. package/dist/src/schema/constraint-builder.d.ts +23 -7
  369. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  370. package/dist/src/schema/constraint-builder.js +60 -16
  371. package/dist/src/schema/constraint-builder.js.map +1 -1
  372. package/dist/src/schema/declared-schema-manager.d.ts +50 -0
  373. package/dist/src/schema/declared-schema-manager.d.ts.map +1 -1
  374. package/dist/src/schema/declared-schema-manager.js +52 -0
  375. package/dist/src/schema/declared-schema-manager.js.map +1 -1
  376. package/dist/src/schema/expr-scope/frame.d.ts +65 -0
  377. package/dist/src/schema/expr-scope/frame.d.ts.map +1 -0
  378. package/dist/src/schema/expr-scope/frame.js +104 -0
  379. package/dist/src/schema/expr-scope/frame.js.map +1 -0
  380. package/dist/src/schema/expr-scope/walk.d.ts +40 -0
  381. package/dist/src/schema/expr-scope/walk.d.ts.map +1 -0
  382. package/dist/src/schema/expr-scope/walk.js +260 -0
  383. package/dist/src/schema/expr-scope/walk.js.map +1 -0
  384. package/dist/src/schema/generated-column-refs.d.ts +41 -0
  385. package/dist/src/schema/generated-column-refs.d.ts.map +1 -0
  386. package/dist/src/schema/generated-column-refs.js +124 -0
  387. package/dist/src/schema/generated-column-refs.js.map +1 -0
  388. package/dist/src/schema/lens-ack.d.ts.map +1 -1
  389. package/dist/src/schema/lens-ack.js +5 -2
  390. package/dist/src/schema/lens-ack.js.map +1 -1
  391. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  392. package/dist/src/schema/lens-compiler.js +9 -1
  393. package/dist/src/schema/lens-compiler.js.map +1 -1
  394. package/dist/src/schema/lens-prover.d.ts +7 -2
  395. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  396. package/dist/src/schema/lens-prover.js +105 -11
  397. package/dist/src/schema/lens-prover.js.map +1 -1
  398. package/dist/src/schema/lens.d.ts +12 -0
  399. package/dist/src/schema/lens.d.ts.map +1 -1
  400. package/dist/src/schema/lens.js +10 -0
  401. package/dist/src/schema/lens.js.map +1 -1
  402. package/dist/src/schema/manager.d.ts +48 -1
  403. package/dist/src/schema/manager.d.ts.map +1 -1
  404. package/dist/src/schema/manager.js +168 -36
  405. package/dist/src/schema/manager.js.map +1 -1
  406. package/dist/src/schema/rename/self-qualifier-strip.d.ts +16 -10
  407. package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -1
  408. package/dist/src/schema/rename/self-qualifier-strip.js +30 -213
  409. package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -1
  410. package/dist/src/schema/rename-rewriter.d.ts +4 -3
  411. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  412. package/dist/src/schema/rename-rewriter.js +4 -3
  413. package/dist/src/schema/rename-rewriter.js.map +1 -1
  414. package/dist/src/schema/schema-differ.d.ts +54 -6
  415. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  416. package/dist/src/schema/schema-differ.js +108 -42
  417. package/dist/src/schema/schema-differ.js.map +1 -1
  418. package/dist/src/schema/schema-hasher.d.ts +12 -0
  419. package/dist/src/schema/schema-hasher.d.ts.map +1 -1
  420. package/dist/src/schema/schema-hasher.js +28 -10
  421. package/dist/src/schema/schema-hasher.js.map +1 -1
  422. package/dist/src/schema/table.d.ts +117 -19
  423. package/dist/src/schema/table.d.ts.map +1 -1
  424. package/dist/src/schema/table.js +213 -71
  425. package/dist/src/schema/table.js.map +1 -1
  426. package/dist/src/types/comparison-coercion.d.ts +5 -1
  427. package/dist/src/types/comparison-coercion.d.ts.map +1 -1
  428. package/dist/src/types/comparison-coercion.js +21 -5
  429. package/dist/src/types/comparison-coercion.js.map +1 -1
  430. package/dist/src/types/representation.d.ts +65 -0
  431. package/dist/src/types/representation.d.ts.map +1 -0
  432. package/dist/src/types/representation.js +63 -0
  433. package/dist/src/types/representation.js.map +1 -0
  434. package/dist/src/types/validation.d.ts +76 -22
  435. package/dist/src/types/validation.d.ts.map +1 -1
  436. package/dist/src/types/validation.js +110 -31
  437. package/dist/src/types/validation.js.map +1 -1
  438. package/dist/src/vtab/best-access-plan.d.ts +10 -0
  439. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  440. package/dist/src/vtab/best-access-plan.js +16 -0
  441. package/dist/src/vtab/best-access-plan.js.map +1 -1
  442. package/dist/src/vtab/capabilities.d.ts +72 -4
  443. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  444. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  445. package/dist/src/vtab/memory/layer/manager.js +17 -13
  446. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  447. package/dist/src/vtab/module.d.ts +13 -7
  448. package/dist/src/vtab/module.d.ts.map +1 -1
  449. package/package.json +3 -3
  450. package/dist/src/planner/nodes/array-index-node.d.ts +0 -22
  451. package/dist/src/planner/nodes/array-index-node.d.ts.map +0 -1
  452. package/dist/src/planner/nodes/array-index-node.js +0 -41
  453. package/dist/src/planner/nodes/array-index-node.js.map +0 -1
  454. package/dist/src/runtime/emit/array-index.d.ts +0 -5
  455. package/dist/src/runtime/emit/array-index.d.ts.map +0 -1
  456. package/dist/src/runtime/emit/array-index.js +0 -22
  457. package/dist/src/runtime/emit/array-index.js.map +0 -1
@@ -4,6 +4,13 @@ import type * as AST from '../parser/ast.js';
4
4
  import { type SqlValue } from '../common/types.js';
5
5
  /**
6
6
  * Represents a catalog snapshot of the current database schema state
7
+ *
8
+ * Adding a field to this interface — or to any `Catalog*` interface below —
9
+ * requires a matching arm in `renderCatalogForComparison`
10
+ * (`schema/catalog-rendering.ts`), which decides whether the field participates
11
+ * in `apply schema`'s unchanged-catalog fast path. The compiler enforces it: the
12
+ * renderer destructures every field and hands the remainder to a
13
+ * `Record<string, never>` guard, so an unconsidered field fails the build.
7
14
  */
8
15
  export interface SchemaCatalog {
9
16
  schemaName: string;
@@ -12,6 +19,7 @@ export interface SchemaCatalog {
12
19
  indexes: CatalogIndex[];
13
20
  assertions: CatalogAssertion[];
14
21
  }
22
+ /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
15
23
  export interface CatalogTable {
16
24
  name: string;
17
25
  ddl: string;
@@ -70,6 +78,7 @@ export interface CatalogTable {
70
78
  select?: AST.QueryExpr;
71
79
  };
72
80
  }
81
+ /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
73
82
  export interface CatalogView {
74
83
  name: string;
75
84
  ddl: string;
@@ -96,6 +105,7 @@ export interface CatalogView {
96
105
  */
97
106
  select?: AST.QueryExpr;
98
107
  }
108
+ /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
99
109
  export interface CatalogIndex {
100
110
  name: string;
101
111
  tableName: string;
@@ -127,6 +137,7 @@ export interface CatalogIndex {
127
137
  */
128
138
  implicit?: boolean;
129
139
  }
140
+ /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
130
141
  export interface CatalogAssertion {
131
142
  name: string;
132
143
  ddl: string;
@@ -150,18 +161,73 @@ export interface CatalogAssertion {
150
161
  export declare function collectSchemaCatalog(db: Database, schemaName?: string): SchemaCatalog;
151
162
  /**
152
163
  * Rejects a UNIQUE constraint declaration whose implicit backing structure would
153
- * claim a name already held by an index on the same table (see
154
- * {@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint
155
- * kind — CHECK and FOREIGN KEY build no backing index, so they cannot collide.
164
+ * claim a name already held on the same table — by another UNIQUE constraint's
165
+ * backing structure ({@link findUniqueConstraintSharingBackingName}) or by an index
166
+ * ({@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint kind
167
+ * — CHECK and FOREIGN KEY build no backing index, so they cannot collide.
156
168
  *
157
169
  * Called from the engine side BEFORE `module.alterTable`, which is what makes one
158
170
  * guard cover both backends and keeps a rejected statement from reaching the
159
171
  * store's persistence side effects.
160
172
  *
173
+ * The constraint arm runs FIRST so a collision both arms can see reports identically
174
+ * on memory and store: memory materializes a constraint's structure into `.indexes`
175
+ * and store does not, so letting the index arm rule first would name an index the
176
+ * user never created under one backend and a constraint under the other.
177
+ *
161
178
  * `operation` describes what the statement was doing, e.g.
162
179
  * `add constraint 'foo' to table 't'`.
163
180
  */
164
181
  export declare function assertUniqueConstraintIndexNameFree(tableSchema: TableSchema, constraintName: string | undefined, columnNames: ReadonlyArray<string>, operation: string): void;
182
+ /**
183
+ * A UNIQUE constraint as its declaration spells it — the name the user wrote (absent
184
+ * when unnamed) and the names of the columns it covers. Enough to derive its backing
185
+ * structure name and to describe it back in a message, and available before the
186
+ * constraint (or, for `ADD COLUMN`, its column) exists on any schema.
187
+ */
188
+ export interface DeclaredUniqueConstraint {
189
+ readonly name?: string;
190
+ readonly columnNames: ReadonlyArray<string>;
191
+ }
192
+ /**
193
+ * The pairwise form of {@link assertUniqueConstraintIndexNameFree}'s constraint arm:
194
+ * refuses a set of UNIQUE constraints declared TOGETHER, none of them on a table yet,
195
+ * in which two derive one backing structure name.
196
+ *
197
+ * Two callers hold a whole declaration at once and so have no table to compare
198
+ * against: `CREATE TABLE` (its entire constraint list) and
199
+ * `ALTER TABLE … ADD COLUMN` (the inline `unique` constraints on the new column).
200
+ * Both run it AFTER the duplicate-constraint guards, so a genuine duplicate keeps
201
+ * producing the constraint-worded duplicate message rather than a structure-name one,
202
+ * and — for `CREATE TABLE` — before `module.create`, so a refusal leaves no storage
203
+ * behind.
204
+ *
205
+ * Takes {@link DeclaredUniqueConstraint}s rather than built
206
+ * {@link UniqueConstraintSchema}s so the ADD COLUMN caller, whose column does not exist
207
+ * on any schema yet, can use it;
208
+ * {@link assertNoDuplicateUniqueConstraintBackingNames} is the built-constraint wrapper.
209
+ */
210
+ export declare function assertUniqueConstraintBackingNamesDistinct(declared: ReadonlyArray<DeclaredUniqueConstraint>, operation: string): void;
211
+ /**
212
+ * The `CREATE TABLE` wrapper over {@link assertUniqueConstraintBackingNamesDistinct},
213
+ * reading the BUILT constraints (column indices already resolved) so inline and
214
+ * table-level spellings are compared in one place. A `CREATE TABLE` declares no
215
+ * indexes, so this pairwise comparison is the whole of the check there.
216
+ *
217
+ * `derivedFromIndex` constraints are skipped for the same reason
218
+ * {@link findUniqueConstraintSharingBackingName} skips them — unreachable from a
219
+ * `CREATE TABLE` today (the statement carries no index declarations), kept so the two
220
+ * arms answer alike if that ever changes.
221
+ *
222
+ * Called from `SchemaManager.createTable` only — never from the import / rehydrate
223
+ * path, so a catalog written before this guard existed still opens (same placement
224
+ * rationale as {@link assertNoDuplicateUniqueConstraints}; the memory backend's
225
+ * `ensureUniqueConstraintIndexes` keeps its adoption behaviour as damage limitation
226
+ * for exactly those catalogs).
227
+ */
228
+ export declare function assertNoDuplicateUniqueConstraintBackingNames(constraints: ReadonlyArray<UniqueConstraintSchema>, columns: ReadonlyArray<{
229
+ name: string;
230
+ }>, operation: string): void;
165
231
  /**
166
232
  * Order- and repetition-insensitive key for the column set a UNIQUE constraint
167
233
  * covers. `unique (a, b)` and `unique (b, a)` enforce the identical rule, so they
@@ -194,8 +260,9 @@ export declare function uniqueConstraintColumnSetKey(columnNames: ReadonlyArray<
194
260
  * stays legal: both are addressable and droppable by name, so the state is merely
195
261
  * redundant rather than broken, and refusing it would change more surface than the
196
262
  * defect this guard exists for. Two DIFFERENTLY-named UNIQUEs over one column set are
197
- * legal for the same reason; two with the SAME name are already refused by
198
- * `assertConstraintNameFree`.
263
+ * legal for the same reason; two with the SAME name are refused by
264
+ * `assertConstraintNameFree` on the ALTER paths and by
265
+ * {@link assertNoDuplicateConstraintNames} at CREATE TABLE.
199
266
  */
200
267
  export declare function assertUniqueConstraintNotDuplicated(tableSchema: TableSchema, constraintName: string | undefined, columnNames: ReadonlyArray<string>, operation: string, alsoDeclared?: ReadonlySet<string>): void;
201
268
  /**
@@ -213,6 +280,28 @@ export declare function assertUniqueConstraintNotDuplicated(tableSchema: TableSc
213
280
  export declare function assertNoDuplicateUniqueConstraints(constraints: ReadonlyArray<UniqueConstraintSchema>, columns: ReadonlyArray<{
214
281
  name: string;
215
282
  }>, operation: string): void;
283
+ /**
284
+ * Refuses a CREATE TABLE whose declaration carries two *user-written* constraint
285
+ * names that collide — the same within-table rule every ALTER path enforces via
286
+ * `assertConstraintNameFree` (schema/table.ts), applied at birth. One case-folded
287
+ * name space across CHECK + UNIQUE + FOREIGN KEY: two same-class collisions make
288
+ * `DROP CONSTRAINT` remove both, and a cross-class collision makes the pair
289
+ * permanently un-droppable (`resolveNamedConstraintClass` reports it ambiguous
290
+ * forever), so neither shape may be born.
291
+ *
292
+ * Reads the RAW declaration through {@link forEachDeclaredConstraintName} — the
293
+ * same walk that builds the mint taken-set — never the built constraints: the
294
+ * extractors auto-name unnamed CHECKs / FKs, and a synthesized name is not user
295
+ * identity, so comparing built names would refuse two unnamed CHECKs on one
296
+ * column, which is legal (the same reasoning `assertInlineConstraintNamesFree`
297
+ * in runtime/emit/alter-table.ts documents; colliding *mints* are disambiguated
298
+ * by `disambiguateAutoConstraintName` instead).
299
+ *
300
+ * Called from `SchemaManager.createTable` only — never from the import /
301
+ * rehydrate path, so a catalog written before this guard existed still opens
302
+ * (same placement rationale as {@link assertNoDuplicateUniqueConstraints}).
303
+ */
304
+ export declare function assertNoDuplicateConstraintNames(astColumns: ReadonlyArray<AST.ColumnDef>, astConstraints: ReadonlyArray<AST.TableConstraint> | undefined, operation: string): void;
216
305
  /**
217
306
  * A backend-agnostic description of an *exposed* implicit covering index that is
218
307
  * NOT materialized in `tableSchema.indexes` (the store-mode case). Shaped as a
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { forEachDeclaredConstraintName } from './table.js';
1
2
  import { normalizeBackingModule } from './view.js';
2
3
  import { isMaintainedTable } from './derivation.js';
3
4
  import { createTableToString, createViewToString, createMaterializedViewToString, createIndexToString, createAssertionToString, quoteIdentifier, expressionToString, viewDefinitionToCanonicalString } from '../emit/ast-stringify.js';
@@ -280,10 +281,11 @@ function uniqueConstraintColumnNames(columns, uc) {
280
281
  * column names — an `ADD COLUMN`'s column does not even exist on the table yet — so
281
282
  * they cannot go through the schema-resolved form.
282
283
  *
283
- * Keep this the ONLY spelling of the `_uc_<cols>` rule in this package.
284
- * `quereus-store`'s `implicitUniqueIndexName` and
285
- * `MemoryTableManager.implicitIndexNameFor` mirror it for their own backends and
286
- * 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).
287
289
  */
288
290
  function implicitIndexNameForColumns(constraintName, columnNames) {
289
291
  return constraintName ?? `_uc_${columnNames.join('_')}`;
@@ -309,43 +311,147 @@ function implicitIndexNameForColumns(constraintName, columnNames) {
309
311
  * `columnNames` is consulted only when `constraintName` is undefined (the
310
312
  * `_uc_<cols>` auto-name); a named constraint ignores it.
311
313
  *
312
- * NOTE: the *input* is backend-dependent even though the check itself is not. A user
313
- * index is in `tableSchema.indexes` on every backend, so the collision this exists to
314
- * catch is refused identically everywhere. Another constraint's backing structure is
315
- * NOT — the memory module materializes one into `.indexes`, the store module does not
316
- * — so a constraint whose structure is named like another's is refused under memory and
317
- * accepted under store. Two shapes reach that: a constraint name carrying the engine's
318
- * reserved `_uc_` prefix (`constraint _uc_z unique (b)` beside `unique (z)`), and the
319
- * `_`-joined auto-name colliding on ordinary names (`unique (a_b)` beside
320
- * `unique (a, b)` — both derive `_uc_a_b`). If a caller ever needs the two to agree
321
- * there, compare against the derived names of the table's other UNIQUE constraints as
322
- * 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.
323
323
  */
324
324
  function findIndexShadowedByUniqueConstraint(tableSchema, constraintName, columnNames) {
325
325
  const wanted = implicitIndexNameForColumns(constraintName, columnNames).toLowerCase();
326
326
  return (tableSchema.indexes ?? []).find(idx => idx.name.toLowerCase() === wanted);
327
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
+ }
328
366
  /**
329
367
  * Rejects a UNIQUE constraint declaration whose implicit backing structure would
330
- * claim a name already held by an index on the same table (see
331
- * {@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint
332
- * 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.
333
372
  *
334
373
  * Called from the engine side BEFORE `module.alterTable`, which is what makes one
335
374
  * guard cover both backends and keeps a rejected statement from reaching the
336
375
  * store's persistence side effects.
337
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
+ *
338
382
  * `operation` describes what the statement was doing, e.g.
339
383
  * `add constraint 'foo' to table 't'`.
340
384
  */
341
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
+ }
342
394
  const shadowed = findIndexShadowedByUniqueConstraint(tableSchema, constraintName, columnNames);
343
395
  if (!shadowed)
344
396
  return;
345
- const backingName = implicitIndexNameForColumns(constraintName, columnNames);
346
397
  throw new QuereusError(`Cannot ${operation}: its backing index '${backingName}' would collide with existing index '${shadowed.name}' `
347
398
  + `on the same table. Rename the constraint or the index.`, StatusCode.CONSTRAINT);
348
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
+ }
349
455
  /* ─────────────── duplicate UNIQUE constraints ───────────────
350
456
  * An unnamed UNIQUE has no name to compare, so nothing but the derived structure
351
457
  * name ever noticed a repeat — and that name is only materialized by SOME backends,
@@ -412,8 +518,9 @@ function duplicateUniqueConstraintError(operation, columnNames) {
412
518
  * stays legal: both are addressable and droppable by name, so the state is merely
413
519
  * redundant rather than broken, and refusing it would change more surface than the
414
520
  * defect this guard exists for. Two DIFFERENTLY-named UNIQUEs over one column set are
415
- * legal for the same reason; two with the SAME name are already refused by
416
- * `assertConstraintNameFree`.
521
+ * legal for the same reason; two with the SAME name are refused by
522
+ * `assertConstraintNameFree` on the ALTER paths and by
523
+ * {@link assertNoDuplicateConstraintNames} at CREATE TABLE.
417
524
  */
418
525
  export function assertUniqueConstraintNotDuplicated(tableSchema, constraintName, columnNames, operation, alsoDeclared) {
419
526
  if (constraintName !== undefined)
@@ -450,6 +557,37 @@ export function assertNoDuplicateUniqueConstraints(constraints, columns, operati
450
557
  seen.add(key);
451
558
  }
452
559
  }
560
+ /**
561
+ * Refuses a CREATE TABLE whose declaration carries two *user-written* constraint
562
+ * names that collide — the same within-table rule every ALTER path enforces via
563
+ * `assertConstraintNameFree` (schema/table.ts), applied at birth. One case-folded
564
+ * name space across CHECK + UNIQUE + FOREIGN KEY: two same-class collisions make
565
+ * `DROP CONSTRAINT` remove both, and a cross-class collision makes the pair
566
+ * permanently un-droppable (`resolveNamedConstraintClass` reports it ambiguous
567
+ * forever), so neither shape may be born.
568
+ *
569
+ * Reads the RAW declaration through {@link forEachDeclaredConstraintName} — the
570
+ * same walk that builds the mint taken-set — never the built constraints: the
571
+ * extractors auto-name unnamed CHECKs / FKs, and a synthesized name is not user
572
+ * identity, so comparing built names would refuse two unnamed CHECKs on one
573
+ * column, which is legal (the same reasoning `assertInlineConstraintNamesFree`
574
+ * in runtime/emit/alter-table.ts documents; colliding *mints* are disambiguated
575
+ * by `disambiguateAutoConstraintName` instead).
576
+ *
577
+ * Called from `SchemaManager.createTable` only — never from the import /
578
+ * rehydrate path, so a catalog written before this guard existed still opens
579
+ * (same placement rationale as {@link assertNoDuplicateUniqueConstraints}).
580
+ */
581
+ export function assertNoDuplicateConstraintNames(astColumns, astConstraints, operation) {
582
+ const seen = new Set();
583
+ forEachDeclaredConstraintName(astColumns, astConstraints, name => {
584
+ const lower = name.toLowerCase();
585
+ if (seen.has(lower)) {
586
+ throw new QuereusError(`Cannot ${operation}: duplicate constraint name '${name}' — constraint names must be unique within a table (case-insensitive, across CHECK / UNIQUE / FOREIGN KEY)`, StatusCode.CONSTRAINT);
587
+ }
588
+ seen.add(lower);
589
+ });
590
+ }
453
591
  /**
454
592
  * Exposed implicit covering indexes that are NOT already materialized in
455
593
  * `tableSchema.indexes` — i.e. the store-mode case. For each non-derived UNIQUE
@@ -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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"}
@@ -31,8 +31,18 @@ export declare function buildUniqueConstraintSchema(con: AST.TableConstraint, co
31
31
  * parent-column resolution (the parent table may not exist yet). Mirrors
32
32
  * `SchemaManager.extractForeignKeys` (table-level arm), including the
33
33
  * child/parent column-count mismatch error.
34
+ *
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.
34
44
  */
35
- export declare function buildForeignKeyConstraintSchema(con: AST.TableConstraint, columnIndexMap: ReadonlyMap<string, number>, childTableName: string, childSchemaName: string): ForeignKeyConstraintSchema;
45
+ export declare function buildForeignKeyConstraintSchema(con: AST.TableConstraint, columnIndexMap: ReadonlyMap<string, number>, childTableName: string, childSchemaName: string, takenNames?: Set<string>): ForeignKeyConstraintSchema;
36
46
  /**
37
47
  * Builds a {@link RowConstraintSchema} from a table-level CHECK
38
48
  * `AST.TableConstraint` (the `ALTER TABLE … ADD CONSTRAINT … CHECK` form). The
@@ -40,12 +50,11 @@ export declare function buildForeignKeyConstraintSchema(con: AST.TableConstraint
40
50
  * (memory + store) so a CHECK added via ALTER lands in the *module-cached*
41
51
  * schema, in lock-step with the catalog — the same place inline-CREATE CHECKs
42
52
  * live and where `DROP/RENAME CONSTRAINT` later resolve the constraint class. An
43
- * unnamed CHECK is auto-named `check_<existingCount>`, preserving the engine's
44
- * prior in-emitter naming (`existingCount` = the number of CHECKs already on the
45
- * table). Determinism is intentionally NOT validated here — a CHECK may reference
46
- * `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.
47
56
  */
48
- export declare function buildCheckConstraintSchema(con: AST.TableConstraint, existingCount: number): RowConstraintSchema;
57
+ export declare function buildCheckConstraintSchema(con: AST.TableConstraint, existingCount: number, takenNames: ReadonlySet<string>): RowConstraintSchema;
49
58
  /**
50
59
  * Extracts the column-level CHECK constraints declared on a single `ALTER TABLE
51
60
  * ADD COLUMN` ColumnDef into the equivalent table-level constraints.
@@ -54,8 +63,15 @@ export declare function buildCheckConstraintSchema(con: AST.TableConstraint, exi
54
63
  * {@link buildCheckConstraintSchema} (which would auto-name it `check_<n>`,
55
64
  * the table-level `ADD CONSTRAINT` convention): the inline-CREATE-TABLE spelling
56
65
  * of the same declaration is named `_check_<column>`, and the two paths must agree.
66
+ *
67
+ * `takenNames` (when provided) is the disambiguation set the CREATE TABLE mint
68
+ * sites share — the table's existing constraint names plus this statement's
69
+ * user-written inline names — so two unnamed CHECKs on one new column (legal;
70
+ * see `assertInlineConstraintNamesFree`) mint `_check_<col>` / `_check_<col>_2`
71
+ * exactly as the CREATE TABLE spelling does, instead of two constraints one
72
+ * name addresses. The mint is registered into the set as it is chosen.
57
73
  */
58
- export declare function extractColumnLevelCheckConstraints(columnDef: AST.ColumnDef): AST.TableConstraint[];
74
+ export declare function extractColumnLevelCheckConstraints(columnDef: AST.ColumnDef, takenNames?: Set<string>): AST.TableConstraint[];
59
75
  /**
60
76
  * Extracts the column-level FOREIGN KEY constraints declared on a single `ALTER
61
77
  * TABLE ADD COLUMN` ColumnDef into the equivalent table-level constraints over
@@ -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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"}