@quereus/quereus 4.5.0 → 4.6.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 (468) hide show
  1. package/README.md +4 -3
  2. package/dist/src/core/database-events.d.ts +99 -1
  3. package/dist/src/core/database-events.d.ts.map +1 -1
  4. package/dist/src/core/database-events.js +219 -3
  5. package/dist/src/core/database-events.js.map +1 -1
  6. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  7. package/dist/src/core/database-materialized-views-plan-builders.js +29 -2
  8. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  9. package/dist/src/core/database-transaction.d.ts +9 -0
  10. package/dist/src/core/database-transaction.d.ts.map +1 -1
  11. package/dist/src/core/database-transaction.js +9 -0
  12. package/dist/src/core/database-transaction.js.map +1 -1
  13. package/dist/src/core/database.d.ts +7 -1
  14. package/dist/src/core/database.d.ts.map +1 -1
  15. package/dist/src/core/database.js +20 -5
  16. package/dist/src/core/database.js.map +1 -1
  17. package/dist/src/func/builtins/aggregate.js +11 -11
  18. package/dist/src/func/builtins/aggregate.js.map +1 -1
  19. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  20. package/dist/src/func/builtins/builtin-window-functions.js +15 -85
  21. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  22. package/dist/src/func/builtins/conversion.d.ts.map +1 -1
  23. package/dist/src/func/builtins/conversion.js +10 -9
  24. package/dist/src/func/builtins/conversion.js.map +1 -1
  25. package/dist/src/func/builtins/datetime.d.ts.map +1 -1
  26. package/dist/src/func/builtins/datetime.js +28 -10
  27. package/dist/src/func/builtins/datetime.js.map +1 -1
  28. package/dist/src/func/builtins/json.d.ts.map +1 -1
  29. package/dist/src/func/builtins/json.js +23 -17
  30. package/dist/src/func/builtins/json.js.map +1 -1
  31. package/dist/src/func/builtins/mutation.js +2 -2
  32. package/dist/src/func/builtins/mutation.js.map +1 -1
  33. package/dist/src/func/builtins/return-types.d.ts +327 -0
  34. package/dist/src/func/builtins/return-types.d.ts.map +1 -0
  35. package/dist/src/func/builtins/return-types.js +43 -0
  36. package/dist/src/func/builtins/return-types.js.map +1 -0
  37. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  38. package/dist/src/func/builtins/scalar.js +138 -71
  39. package/dist/src/func/builtins/scalar.js.map +1 -1
  40. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  41. package/dist/src/func/builtins/schema.js +11 -3
  42. package/dist/src/func/builtins/schema.js.map +1 -1
  43. package/dist/src/func/builtins/string.d.ts.map +1 -1
  44. package/dist/src/func/builtins/string.js +4 -2
  45. package/dist/src/func/builtins/string.js.map +1 -1
  46. package/dist/src/func/builtins/timespan.d.ts +3 -0
  47. package/dist/src/func/builtins/timespan.d.ts.map +1 -1
  48. package/dist/src/func/builtins/timespan.js +15 -11
  49. package/dist/src/func/builtins/timespan.js.map +1 -1
  50. package/dist/src/func/registration.d.ts +35 -1
  51. package/dist/src/func/registration.d.ts.map +1 -1
  52. package/dist/src/func/registration.js +235 -41
  53. package/dist/src/func/registration.js.map +1 -1
  54. package/dist/src/index.d.ts +11 -4
  55. package/dist/src/index.d.ts.map +1 -1
  56. package/dist/src/index.js +12 -3
  57. package/dist/src/index.js.map +1 -1
  58. package/dist/src/parser/parser.d.ts +46 -0
  59. package/dist/src/parser/parser.d.ts.map +1 -1
  60. package/dist/src/parser/parser.js +160 -44
  61. package/dist/src/parser/parser.js.map +1 -1
  62. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
  63. package/dist/src/planner/analysis/check-extraction.js +37 -4
  64. package/dist/src/planner/analysis/check-extraction.js.map +1 -1
  65. package/dist/src/planner/analysis/comparison-collation.d.ts +20 -22
  66. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  67. package/dist/src/planner/analysis/comparison-collation.js +29 -26
  68. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  69. package/dist/src/planner/analysis/constraint-extractor.d.ts +0 -7
  70. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  71. package/dist/src/planner/analysis/constraint-extractor.js +59 -59
  72. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  73. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  74. package/dist/src/planner/building/alter-table.js +65 -27
  75. package/dist/src/planner/building/alter-table.js.map +1 -1
  76. package/dist/src/planner/building/coercion.d.ts +21 -45
  77. package/dist/src/planner/building/coercion.d.ts.map +1 -1
  78. package/dist/src/planner/building/coercion.js +42 -91
  79. package/dist/src/planner/building/coercion.js.map +1 -1
  80. package/dist/src/planner/building/expression.d.ts +17 -0
  81. package/dist/src/planner/building/expression.d.ts.map +1 -1
  82. package/dist/src/planner/building/expression.js +28 -17
  83. package/dist/src/planner/building/expression.js.map +1 -1
  84. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  85. package/dist/src/planner/building/function-call.js +7 -2
  86. package/dist/src/planner/building/function-call.js.map +1 -1
  87. package/dist/src/planner/building/select-aggregates.d.ts +1 -1
  88. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  89. package/dist/src/planner/building/select-aggregates.js +53 -2
  90. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  91. package/dist/src/planner/building/select-context.d.ts +7 -0
  92. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  93. package/dist/src/planner/building/select-context.js +10 -40
  94. package/dist/src/planner/building/select-context.js.map +1 -1
  95. package/dist/src/planner/building/select.d.ts +37 -1
  96. package/dist/src/planner/building/select.d.ts.map +1 -1
  97. package/dist/src/planner/building/select.js +112 -51
  98. package/dist/src/planner/building/select.js.map +1 -1
  99. package/dist/src/planner/cost/conjunct-cost.d.ts +40 -0
  100. package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -1
  101. package/dist/src/planner/cost/conjunct-cost.js +45 -0
  102. package/dist/src/planner/cost/conjunct-cost.js.map +1 -1
  103. package/dist/src/planner/cost/index.d.ts +10 -0
  104. package/dist/src/planner/cost/index.d.ts.map +1 -1
  105. package/dist/src/planner/cost/index.js +15 -0
  106. package/dist/src/planner/cost/index.js.map +1 -1
  107. package/dist/src/planner/nodes/aggregate-node.d.ts +6 -0
  108. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  109. package/dist/src/planner/nodes/aggregate-node.js +10 -2
  110. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  111. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  112. package/dist/src/planner/nodes/alias-node.js +2 -1
  113. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  114. package/dist/src/planner/nodes/alter-table-node.d.ts +24 -8
  115. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  116. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  117. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
  118. package/dist/src/planner/nodes/asof-scan-node.js +4 -1
  119. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
  120. package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/asserted-keys-node.js +2 -1
  122. package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -1
  123. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  124. package/dist/src/planner/nodes/bloom-join-node.js +8 -3
  125. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  126. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  127. package/dist/src/planner/nodes/cache-node.js +2 -1
  128. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  129. package/dist/src/planner/nodes/distinct-node.d.ts +6 -0
  130. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  131. package/dist/src/planner/nodes/distinct-node.js +10 -2
  132. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  133. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -1
  134. package/dist/src/planner/nodes/eager-prefetch-node.js +2 -1
  135. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
  136. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +5 -0
  137. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
  138. package/dist/src/planner/nodes/fanout-lookup-join-node.js +13 -6
  139. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
  140. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  141. package/dist/src/planner/nodes/filter.js +12 -5
  142. package/dist/src/planner/nodes/filter.js.map +1 -1
  143. package/dist/src/planner/nodes/hash-aggregate.d.ts +6 -0
  144. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  145. package/dist/src/planner/nodes/hash-aggregate.js +10 -2
  146. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  147. package/dist/src/planner/nodes/join-node.d.ts +20 -1
  148. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  149. package/dist/src/planner/nodes/join-node.js +30 -9
  150. package/dist/src/planner/nodes/join-node.js.map +1 -1
  151. package/dist/src/planner/nodes/join-utils.d.ts +21 -0
  152. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  153. package/dist/src/planner/nodes/join-utils.js +26 -0
  154. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  155. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  156. package/dist/src/planner/nodes/key-set-semi-join-node.js +5 -1
  157. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  158. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  159. package/dist/src/planner/nodes/lens-auxiliary-access-node.js +2 -1
  160. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  161. package/dist/src/planner/nodes/limit-offset.d.ts +6 -0
  162. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  163. package/dist/src/planner/nodes/limit-offset.js +10 -2
  164. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  165. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  166. package/dist/src/planner/nodes/merge-join-node.js +8 -3
  167. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  168. package/dist/src/planner/nodes/ordinal-slice-node.d.ts +5 -0
  169. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
  170. package/dist/src/planner/nodes/ordinal-slice-node.js +9 -2
  171. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
  172. package/dist/src/planner/nodes/plan-node.d.ts +24 -0
  173. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  174. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  175. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  176. package/dist/src/planner/nodes/project-node.js +2 -1
  177. package/dist/src/planner/nodes/project-node.js.map +1 -1
  178. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  179. package/dist/src/planner/nodes/reference.js +3 -2
  180. package/dist/src/planner/nodes/reference.js.map +1 -1
  181. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  182. package/dist/src/planner/nodes/retrieve-node.js +2 -1
  183. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  184. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  185. package/dist/src/planner/nodes/scalar.js +5 -18
  186. package/dist/src/planner/nodes/scalar.js.map +1 -1
  187. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  188. package/dist/src/planner/nodes/sort.js +3 -1
  189. package/dist/src/planner/nodes/sort.js.map +1 -1
  190. package/dist/src/planner/nodes/stream-aggregate.d.ts +6 -0
  191. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  192. package/dist/src/planner/nodes/stream-aggregate.js +10 -2
  193. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  194. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  195. package/dist/src/planner/nodes/table-access-nodes.js +5 -0
  196. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  197. package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
  198. package/dist/src/planner/nodes/window-function.js +8 -0
  199. package/dist/src/planner/nodes/window-function.js.map +1 -1
  200. package/dist/src/planner/nodes/window-node.d.ts +1 -1
  201. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  202. package/dist/src/planner/nodes/window-node.js +3 -1
  203. package/dist/src/planner/nodes/window-node.js.map +1 -1
  204. package/dist/src/planner/optimizer.d.ts +9 -1
  205. package/dist/src/planner/optimizer.d.ts.map +1 -1
  206. package/dist/src/planner/optimizer.js +77 -6
  207. package/dist/src/planner/optimizer.js.map +1 -1
  208. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  209. package/dist/src/planner/rules/access/rule-key-set-seek.js +3 -68
  210. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  211. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +19 -0
  212. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  213. package/dist/src/planner/rules/access/rule-select-access-path.js +24 -3
  214. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  215. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  216. package/dist/src/planner/rules/cache/rule-cte-optimization.js +9 -0
  217. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  218. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  219. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
  220. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  221. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +5 -31
  222. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
  223. package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -44
  224. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
  225. package/dist/src/planner/rules/join/index-nested-loop.d.ts +49 -0
  226. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -0
  227. package/dist/src/planner/rules/join/index-nested-loop.js +285 -0
  228. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -0
  229. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +8 -8
  230. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +10 -4
  231. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  232. package/dist/src/planner/rules/join/rule-join-physical-selection.js +83 -27
  233. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  234. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +4 -4
  235. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  236. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +21 -8
  237. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -1
  238. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +70 -14
  239. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -1
  240. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +42 -17
  241. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  242. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +84 -154
  243. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  244. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +73 -0
  245. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -0
  246. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +205 -0
  247. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -0
  248. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +14 -11
  249. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -1
  250. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +21 -85
  251. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  252. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +7 -1
  253. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  254. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +7 -1
  255. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  256. package/dist/src/planner/rules/shared/access-leaf.d.ts +39 -0
  257. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -0
  258. package/dist/src/planner/rules/shared/access-leaf.js +79 -0
  259. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -0
  260. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
  261. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +18 -8
  262. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  263. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +3 -1
  264. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -1
  265. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +27 -10
  266. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  267. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  268. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +69 -11
  269. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  270. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +17 -7
  271. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
  272. package/dist/src/planner/rules/window/rule-monotonic-window.js +124 -87
  273. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  274. package/dist/src/planner/scopes/aliased.d.ts.map +1 -1
  275. package/dist/src/planner/scopes/aliased.js +6 -0
  276. package/dist/src/planner/scopes/aliased.js.map +1 -1
  277. package/dist/src/planner/stats/catalog-stats.d.ts +44 -13
  278. package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
  279. package/dist/src/planner/stats/catalog-stats.js +137 -61
  280. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  281. package/dist/src/planner/stats/conjunct-selectivity.d.ts +48 -0
  282. package/dist/src/planner/stats/conjunct-selectivity.d.ts.map +1 -0
  283. package/dist/src/planner/stats/conjunct-selectivity.js +168 -0
  284. package/dist/src/planner/stats/conjunct-selectivity.js.map +1 -0
  285. package/dist/src/planner/stats/index.d.ts +22 -3
  286. package/dist/src/planner/stats/index.d.ts.map +1 -1
  287. package/dist/src/planner/stats/index.js.map +1 -1
  288. package/dist/src/planner/stats/table-cardinality.d.ts +28 -0
  289. package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -0
  290. package/dist/src/planner/stats/table-cardinality.js +29 -0
  291. package/dist/src/planner/stats/table-cardinality.js.map +1 -0
  292. package/dist/src/planner/util/column-origins.d.ts +29 -8
  293. package/dist/src/planner/util/column-origins.d.ts.map +1 -1
  294. package/dist/src/planner/util/column-origins.js +74 -14
  295. package/dist/src/planner/util/column-origins.js.map +1 -1
  296. package/dist/src/planner/util/fd-utils.d.ts +32 -8
  297. package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
  298. package/dist/src/planner/util/fd-utils.js +46 -9
  299. package/dist/src/planner/util/fd-utils.js.map +1 -1
  300. package/dist/src/planner/util/ind-utils.d.ts +56 -17
  301. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  302. package/dist/src/planner/util/ind-utils.js +82 -21
  303. package/dist/src/planner/util/ind-utils.js.map +1 -1
  304. package/dist/src/planner/util/key-utils.d.ts +20 -2
  305. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  306. package/dist/src/planner/util/key-utils.js +37 -3
  307. package/dist/src/planner/util/key-utils.js.map +1 -1
  308. package/dist/src/planner/util/row-estimates.d.ts +28 -0
  309. package/dist/src/planner/util/row-estimates.d.ts.map +1 -0
  310. package/dist/src/planner/util/row-estimates.js +40 -0
  311. package/dist/src/planner/util/row-estimates.js.map +1 -0
  312. package/dist/src/planner/util/row-population.d.ts +42 -0
  313. package/dist/src/planner/util/row-population.d.ts.map +1 -0
  314. package/dist/src/planner/util/row-population.js +71 -0
  315. package/dist/src/planner/util/row-population.js.map +1 -0
  316. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  317. package/dist/src/runtime/emit/add-constraint.js +39 -1
  318. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  319. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  320. package/dist/src/runtime/emit/aggregate.js +4 -4
  321. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  322. package/dist/src/runtime/emit/alter-schema-event.d.ts +42 -0
  323. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -0
  324. package/dist/src/runtime/emit/alter-schema-event.js +28 -0
  325. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -0
  326. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  327. package/dist/src/runtime/emit/alter-table.js +380 -154
  328. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  329. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  330. package/dist/src/runtime/emit/analyze.js +35 -3
  331. package/dist/src/runtime/emit/analyze.js.map +1 -1
  332. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  333. package/dist/src/runtime/emit/cast.js +4 -19
  334. package/dist/src/runtime/emit/cast.js.map +1 -1
  335. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  336. package/dist/src/runtime/emit/dml-executor.js +64 -27
  337. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  338. package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
  339. package/dist/src/runtime/emit/drop-index.js +4 -3
  340. package/dist/src/runtime/emit/drop-index.js.map +1 -1
  341. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  342. package/dist/src/runtime/emit/hash-aggregate.js +2 -2
  343. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  344. package/dist/src/runtime/emit/join.d.ts.map +1 -1
  345. package/dist/src/runtime/emit/join.js +8 -67
  346. package/dist/src/runtime/emit/join.js.map +1 -1
  347. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  348. package/dist/src/runtime/emit/key-set-semi-join.js +6 -0
  349. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  350. package/dist/src/runtime/emit/operand-comparator.d.ts +30 -0
  351. package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -1
  352. package/dist/src/runtime/emit/operand-comparator.js +34 -0
  353. package/dist/src/runtime/emit/operand-comparator.js.map +1 -1
  354. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  355. package/dist/src/runtime/emit/schema-declarative.js +30 -0
  356. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  357. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  358. package/dist/src/runtime/emit/subquery.js +153 -52
  359. package/dist/src/runtime/emit/subquery.js.map +1 -1
  360. package/dist/src/runtime/emit/window.js +36 -23
  361. package/dist/src/runtime/emit/window.js.map +1 -1
  362. package/dist/src/schema/catalog-persistability.d.ts +19 -16
  363. package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
  364. package/dist/src/schema/catalog-persistability.js +76 -20
  365. package/dist/src/schema/catalog-persistability.js.map +1 -1
  366. package/dist/src/schema/catalog.d.ts +67 -2
  367. package/dist/src/schema/catalog.d.ts.map +1 -1
  368. package/dist/src/schema/catalog.js +194 -3
  369. package/dist/src/schema/catalog.js.map +1 -1
  370. package/dist/src/schema/column.d.ts +26 -3
  371. package/dist/src/schema/column.d.ts.map +1 -1
  372. package/dist/src/schema/column.js.map +1 -1
  373. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  374. package/dist/src/schema/ddl-generator.js +19 -6
  375. package/dist/src/schema/ddl-generator.js.map +1 -1
  376. package/dist/src/schema/function.d.ts +32 -1
  377. package/dist/src/schema/function.d.ts.map +1 -1
  378. package/dist/src/schema/function.js +10 -2
  379. package/dist/src/schema/function.js.map +1 -1
  380. package/dist/src/schema/manager.d.ts +84 -7
  381. package/dist/src/schema/manager.d.ts.map +1 -1
  382. package/dist/src/schema/manager.js +153 -53
  383. package/dist/src/schema/manager.js.map +1 -1
  384. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  385. package/dist/src/schema/schema-differ.js +104 -28
  386. package/dist/src/schema/schema-differ.js.map +1 -1
  387. package/dist/src/schema/table.d.ts +149 -1
  388. package/dist/src/schema/table.d.ts.map +1 -1
  389. package/dist/src/schema/table.js +248 -1
  390. package/dist/src/schema/table.js.map +1 -1
  391. package/dist/src/schema/unique-enforcement.d.ts +5 -3
  392. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  393. package/dist/src/schema/unique-enforcement.js +5 -3
  394. package/dist/src/schema/unique-enforcement.js.map +1 -1
  395. package/dist/src/types/builtin-types.d.ts +16 -0
  396. package/dist/src/types/builtin-types.d.ts.map +1 -1
  397. package/dist/src/types/builtin-types.js +46 -8
  398. package/dist/src/types/builtin-types.js.map +1 -1
  399. package/dist/src/types/cast-semantics.d.ts +42 -0
  400. package/dist/src/types/cast-semantics.d.ts.map +1 -1
  401. package/dist/src/types/cast-semantics.js +64 -0
  402. package/dist/src/types/cast-semantics.js.map +1 -1
  403. package/dist/src/types/comparison-coercion.d.ts +101 -0
  404. package/dist/src/types/comparison-coercion.d.ts.map +1 -0
  405. package/dist/src/types/comparison-coercion.js +162 -0
  406. package/dist/src/types/comparison-coercion.js.map +1 -0
  407. package/dist/src/types/index.d.ts +2 -2
  408. package/dist/src/types/index.d.ts.map +1 -1
  409. package/dist/src/types/index.js +2 -2
  410. package/dist/src/types/index.js.map +1 -1
  411. package/dist/src/types/logical-type.d.ts +7 -0
  412. package/dist/src/types/logical-type.d.ts.map +1 -1
  413. package/dist/src/types/logical-type.js.map +1 -1
  414. package/dist/src/types/validation.d.ts +56 -0
  415. package/dist/src/types/validation.d.ts.map +1 -1
  416. package/dist/src/types/validation.js +68 -0
  417. package/dist/src/types/validation.js.map +1 -1
  418. package/dist/src/util/coercion.d.ts +8 -0
  419. package/dist/src/util/coercion.d.ts.map +1 -1
  420. package/dist/src/util/coercion.js +8 -0
  421. package/dist/src/util/coercion.js.map +1 -1
  422. package/dist/src/util/comparison.d.ts +16 -3
  423. package/dist/src/util/comparison.d.ts.map +1 -1
  424. package/dist/src/util/comparison.js +21 -5
  425. package/dist/src/util/comparison.js.map +1 -1
  426. package/dist/src/util/key-serializer.d.ts +46 -0
  427. package/dist/src/util/key-serializer.d.ts.map +1 -1
  428. package/dist/src/util/key-serializer.js +47 -0
  429. package/dist/src/util/key-serializer.js.map +1 -1
  430. package/dist/src/util/value-set.d.ts +21 -0
  431. package/dist/src/util/value-set.d.ts.map +1 -0
  432. package/dist/src/util/value-set.js +22 -0
  433. package/dist/src/util/value-set.js.map +1 -0
  434. package/dist/src/vtab/capabilities.d.ts +1 -1
  435. package/dist/src/vtab/events.d.ts +5 -1
  436. package/dist/src/vtab/events.d.ts.map +1 -1
  437. package/dist/src/vtab/events.js.map +1 -1
  438. package/dist/src/vtab/memory/layer/alter-column.d.ts +147 -0
  439. package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -0
  440. package/dist/src/vtab/memory/layer/alter-column.js +214 -0
  441. package/dist/src/vtab/memory/layer/alter-column.js.map +1 -0
  442. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  443. package/dist/src/vtab/memory/layer/base.js +4 -3
  444. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  445. package/dist/src/vtab/memory/layer/interface.d.ts +2 -2
  446. package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
  447. package/dist/src/vtab/memory/layer/manager.d.ts +176 -25
  448. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  449. package/dist/src/vtab/memory/layer/manager.js +572 -495
  450. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  451. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  452. package/dist/src/vtab/memory/layer/scan-layer.js +32 -5
  453. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  454. package/dist/src/vtab/memory/layer/transaction.d.ts +101 -15
  455. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  456. package/dist/src/vtab/memory/layer/transaction.js +133 -45
  457. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  458. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  459. package/dist/src/vtab/memory/module.js +2 -1
  460. package/dist/src/vtab/memory/module.js.map +1 -1
  461. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  462. package/dist/src/vtab/memory/table.js +11 -6
  463. package/dist/src/vtab/memory/table.js.map +1 -1
  464. package/dist/src/vtab/module.d.ts +51 -21
  465. package/dist/src/vtab/module.d.ts.map +1 -1
  466. package/dist/src/vtab/table.d.ts +1 -1
  467. package/dist/src/vtab/table.js +1 -1
  468. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../src/runtime/emit/window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../src/runtime/emit/window.ts"],"names":[],"mappings":"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"}
@@ -32,27 +32,30 @@ export declare function assertCatalogObjectPersistable(db: Database, kind: Catal
32
32
  */
33
33
  export type BodyRewrite = (ast: AST.QueryExpr) => boolean;
34
34
  /**
35
- * Pre-flight gate for `ALTER TABLE … RENAME [COLUMN]`: computes what `rewrite` would
36
- * make of every view / materialized-view body in `schema` and vetoes the PROSPECTIVE
37
- * object through {@link assertCatalogObjectPersistable}, so a rename that would leave
38
- * a persisted dependent unwritable fails the statement instead of succeeding and
39
- * losing (or silently diverging from) it.
35
+ * A rewrite of a dependent TABLE's schema, returning a NEW record when anything changed
36
+ * and the SAME reference when nothing did — the shape `rewriteTableForTableRename` /
37
+ * `rewriteTableForColumnRename` (both in `runtime/emit/alter-table.ts`) already have.
38
+ */
39
+ export type TableRewrite = (table: TableSchema) => TableSchema;
40
+ /**
41
+ * Pre-flight gate for `ALTER TABLE … RENAME [COLUMN]`: computes what the rename would
42
+ * make of every dependent catalog entry — view / materialized-view bodies via `rewrite`,
43
+ * plain table records via `rewriteTable` — and vetoes each PROSPECTIVE object through
44
+ * {@link assertCatalogObjectPersistable}, so a rename that would leave a persisted
45
+ * dependent unwritable fails the statement instead of succeeding and losing (or silently
46
+ * diverging from) it.
40
47
  *
41
48
  * The rename propagation is unfailable by construction — it rides
42
49
  * `SchemaChangeNotifier` (try/catch per listener, log only) and then a store module's
43
50
  * async persist queue (`.catch`-log) — so, exactly as for CREATE VIEW, a synchronous
44
51
  * veto ahead of the first side effect is the only place a refusal can reach the user.
45
52
  *
46
- * `rewrite` mutates in place, so each body is rewritten on a {@link spineCloneAst}
47
- * copy: a veto thrown after mutating the LIVE AST would leave the view body naming a
48
- * table that was never renamed. Both DDL generators read the AST rather than a cached
49
- * string, so swapping the clone into a shallow copy of the record is all a prospective
50
- * render needs. Bodies the rewrite does not touch render identically to what is already
51
- * persisted and are skipped.
52
- *
53
- * Scoped to a single `Schema` because that is the scope the propagation's own view / MV
54
- * loops use (see `propagateTableRenameInSchema`) — a dependent in another schema is
55
- * never rewritten, so it has nothing new to persist.
53
+ * Both rewrites mutate ASTs in place, so both arms probe a {@link spineCloneAst} copy: a
54
+ * veto thrown after mutating the LIVE AST would leave a body (or a CHECK expression)
55
+ * naming a table that was never renamed. Every DDL generator reads the AST rather than a
56
+ * cached string, so swapping the clone into a shallow copy of the record is all a
57
+ * prospective render needs. Dependents the rewrite does not touch render identically to
58
+ * what is already persisted and are skipped.
56
59
  */
57
- export declare function assertRenameDependentsPersistable(db: Database, schema: Schema, rewrite: BodyRewrite): void;
60
+ export declare function assertRenameDependentsPersistable(db: Database, schema: Schema, rewrite: BodyRewrite, rewriteTable: TableRewrite): void;
58
61
  //# sourceMappingURL=catalog-persistability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-persistability.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog-persistability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAC7C,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,UAAU,GAAG,WAAW,GAC9B,IAAI,CAIN;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,wBAAgB,iCAAiC,CAChD,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,GAClB,IAAI,CAgBN"}
1
+ {"version":3,"file":"catalog-persistability.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog-persistability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAC7C,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE,UAAU,GAAG,WAAW,GAC9B,IAAI,CAIN;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,KAAK,OAAO,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,WAAW,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,wBAAgB,iCAAiC,CAChD,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,YAAY,GACxB,IAAI,CAIN"}
@@ -25,37 +25,46 @@ export function assertCatalogObjectPersistable(db, kind, object) {
25
25
  }
26
26
  }
27
27
  /**
28
- * Pre-flight gate for `ALTER TABLE … RENAME [COLUMN]`: computes what `rewrite` would
29
- * make of every view / materialized-view body in `schema` and vetoes the PROSPECTIVE
30
- * object through {@link assertCatalogObjectPersistable}, so a rename that would leave
31
- * a persisted dependent unwritable fails the statement instead of succeeding and
32
- * losing (or silently diverging from) it.
28
+ * Pre-flight gate for `ALTER TABLE … RENAME [COLUMN]`: computes what the rename would
29
+ * make of every dependent catalog entry — view / materialized-view bodies via `rewrite`,
30
+ * plain table records via `rewriteTable` — and vetoes each PROSPECTIVE object through
31
+ * {@link assertCatalogObjectPersistable}, so a rename that would leave a persisted
32
+ * dependent unwritable fails the statement instead of succeeding and losing (or silently
33
+ * diverging from) it.
33
34
  *
34
35
  * The rename propagation is unfailable by construction — it rides
35
36
  * `SchemaChangeNotifier` (try/catch per listener, log only) and then a store module's
36
37
  * async persist queue (`.catch`-log) — so, exactly as for CREATE VIEW, a synchronous
37
38
  * veto ahead of the first side effect is the only place a refusal can reach the user.
38
39
  *
39
- * `rewrite` mutates in place, so each body is rewritten on a {@link spineCloneAst}
40
- * copy: a veto thrown after mutating the LIVE AST would leave the view body naming a
41
- * table that was never renamed. Both DDL generators read the AST rather than a cached
42
- * string, so swapping the clone into a shallow copy of the record is all a prospective
43
- * render needs. Bodies the rewrite does not touch render identically to what is already
44
- * persisted and are skipped.
40
+ * Both rewrites mutate ASTs in place, so both arms probe a {@link spineCloneAst} copy: a
41
+ * veto thrown after mutating the LIVE AST would leave a body (or a CHECK expression)
42
+ * naming a table that was never renamed. Every DDL generator reads the AST rather than a
43
+ * cached string, so swapping the clone into a shallow copy of the record is all a
44
+ * prospective render needs. Dependents the rewrite does not touch render identically to
45
+ * what is already persisted and are skipped.
46
+ */
47
+ // NOTE: clones and re-renders the body of every view and maintained table in the schema,
48
+ // and the rewritable ASTs of every table in EVERY schema, on every `ALTER … RENAME` — and
49
+ // the propagation that follows renders each changed one again. DDL is rare and the ASTs
50
+ // are small, so this is not worth caching today; if a schema-heavy workload ever shows up
51
+ // hot here, gate the clone on a cheap dry-run name scan (or thread the prospective object
52
+ // through to the propagation instead of rebuilding it). Costs nothing at all when no
53
+ // module can veto (the early return below) — a memory-only database never pays it.
54
+ export function assertRenameDependentsPersistable(db, schema, rewrite, rewriteTable) {
55
+ if (!anyModuleCanVeto(db))
56
+ return;
57
+ assertRenameDependentViewsPersistable(db, schema, rewrite);
58
+ assertRenameDependentTablesPersistable(db, rewriteTable);
59
+ }
60
+ /**
61
+ * The view / materialized-view arm of {@link assertRenameDependentsPersistable}.
45
62
  *
46
63
  * Scoped to a single `Schema` because that is the scope the propagation's own view / MV
47
64
  * loops use (see `propagateTableRenameInSchema`) — a dependent in another schema is
48
65
  * never rewritten, so it has nothing new to persist.
49
66
  */
50
- // NOTE: clones and re-renders the body of every view and maintained table in the schema
51
- // on every `ALTER … RENAME`, and the propagation that follows renders each changed one
52
- // again. DDL is rare and bodies are small, so this is not worth caching today; if a
53
- // schema-heavy workload ever shows up hot here, thread the prospective object through to
54
- // the propagation instead of rebuilding it. Costs nothing at all when no module can veto
55
- // (the early return below) — a memory-only database never pays it.
56
- export function assertRenameDependentsPersistable(db, schema, rewrite) {
57
- if (!anyModuleCanVeto(db))
58
- return;
67
+ function assertRenameDependentViewsPersistable(db, schema, rewrite) {
59
68
  for (const view of Array.from(schema.getAllViews())) {
60
69
  const selectAst = spineCloneAst(view.selectAst);
61
70
  if (!rewrite(selectAst))
@@ -74,6 +83,53 @@ export function assertRenameDependentsPersistable(db, schema, rewrite) {
74
83
  });
75
84
  }
76
85
  }
86
+ /**
87
+ * The dependent-TABLE arm of {@link assertRenameDependentsPersistable}: a rename rewrites
88
+ * the FK targets, CHECK expressions and partial-index predicates of tables that mention the
89
+ * renamed object, and a store-backed one of those has to re-persist its catalog entry.
90
+ *
91
+ * Walks EVERY schema, not just the renamed object's own, because the propagation's table
92
+ * loop does (`propagateTableRename` iterates `_getAllSchemas()`) — a cross-schema foreign
93
+ * key is rewritten and so must be vetted. That is the one structural difference from the
94
+ * view / MV arm above.
95
+ *
96
+ * The renamed table itself is deliberately left in the scan rather than special-cased. It
97
+ * is probed under its OLD name with any self-references rewritten to the NEW one (table
98
+ * arm) or with its CHECK expressions rewritten (column arm) — either way the probe only
99
+ * ever fires on text carrying the new name, so a veto there is always true; and a table
100
+ * with nothing to rewrite rewrites to the same reference and is skipped. Its own catalog
101
+ * entry stays covered by the module's `renameTable` / `alterTable` guards, as before.
102
+ */
103
+ function assertRenameDependentTablesPersistable(db, rewriteTable) {
104
+ for (const schema of db.schemaManager._getAllSchemas()) {
105
+ for (const table of Array.from(schema.getAllTables())) {
106
+ const probe = cloneTableRewritableAsts(table);
107
+ const rewritten = rewriteTable(probe);
108
+ if (rewritten === probe)
109
+ continue; // nothing to re-persist
110
+ assertCatalogObjectPersistable(db, 'table', rewritten);
111
+ }
112
+ }
113
+ }
114
+ /**
115
+ * A shallow copy of `table` whose in-place-rewritable ASTs are {@link spineCloneAst}
116
+ * copies, so a prospective rewrite cannot touch the live catalog. `foreignKeys` needs no
117
+ * clone — that arm of both table rewriters is already copy-on-write (it builds a new `fk`
118
+ * record rather than assigning into the existing one).
119
+ */
120
+ // NOTE: a unique partial index and its derived UNIQUE constraint share ONE predicate node by
121
+ // reference (see `appendIndexToTableSchema`), which is how the live propagation rewrites both
122
+ // at once. Cloning the index's copy here breaks that sharing, so the probe's constraint keeps
123
+ // the pre-rename predicate — invisible today, because a predicate can only name another table
124
+ // through a subquery and no module accepts one. If index-predicate subqueries ever land, clone
125
+ // the constraint's predicate to the SAME node as its index's.
126
+ function cloneTableRewritableAsts(table) {
127
+ return {
128
+ ...table,
129
+ checkConstraints: table.checkConstraints.map(cc => ({ ...cc, expr: spineCloneAst(cc.expr) })),
130
+ indexes: table.indexes?.map(idx => idx.predicate ? { ...idx, predicate: spineCloneAst(idx.predicate) } : idx),
131
+ };
132
+ }
77
133
  /** Whether any registered module implements the veto hook at all — the same presence
78
134
  * test {@link assertCatalogObjectPersistable} applies per module, hoisted so the scan
79
135
  * can skip its clone-and-render work entirely when nothing could refuse. */
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-persistability.js","sourceRoot":"","sources":["../../../src/schema/catalog-persistability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAC7C,EAAY,EACZ,IAAuB,EACvB,MAAgC;IAEhC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AAUD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wFAAwF;AACxF,uFAAuF;AACvF,oFAAoF;AACpF,yFAAyF;AACzF,yFAAyF;AACzF,mEAAmE;AACnE,MAAM,UAAU,iCAAiC,CAChD,EAAY,EACZ,MAAc,EACd,OAAoB;IAEpB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAAE,OAAO;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAClC,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAClC,8BAA8B,CAAC,EAAE,EAAE,kBAAkB,EAAE;YACtD,GAAG,KAAK;YACR,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE;SAC9C,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED;;6EAE6E;AAC7E,SAAS,gBAAgB,CAAC,EAAY;IACrC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,8BAA8B;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"catalog-persistability.js","sourceRoot":"","sources":["../../../src/schema/catalog-persistability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,8BAA8B,CAC7C,EAAY,EACZ,IAAuB,EACvB,MAAgC;IAEhC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AAiBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yFAAyF;AACzF,0FAA0F;AAC1F,wFAAwF;AACxF,0FAA0F;AAC1F,0FAA0F;AAC1F,qFAAqF;AACrF,mFAAmF;AACnF,MAAM,UAAU,iCAAiC,CAChD,EAAY,EACZ,MAAc,EACd,OAAoB,EACpB,YAA0B;IAE1B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAAE,OAAO;IAClC,qCAAqC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,sCAAsC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qCAAqC,CAAC,EAAY,EAAE,MAAc,EAAE,OAAoB;IAChG,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAClC,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAClC,8BAA8B,CAAC,EAAE,EAAE,kBAAkB,EAAE;YACtD,GAAG,KAAK;YACR,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE;SAC9C,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,sCAAsC,CAAC,EAAY,EAAE,YAA0B;IACvF,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,SAAS,KAAK,KAAK;gBAAE,SAAS,CAAC,wBAAwB;YAC3D,8BAA8B,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,6FAA6F;AAC7F,8FAA8F;AAC9F,8FAA8F;AAC9F,8FAA8F;AAC9F,+FAA+F;AAC/F,8DAA8D;AAC9D,SAAS,wBAAwB,CAAC,KAAkB;IACnD,OAAO;QACN,GAAG,KAAK;QACR,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CACjC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;KAC3E,CAAC;AACH,CAAC;AAED;;6EAE6E;AAC7E,SAAS,gBAAgB,CAAC,EAAY;IACrC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,8BAA8B;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Database } from '../core/database.js';
2
- import type { TableSchema, IndexColumnSchema } from './table.js';
2
+ import type { TableSchema, IndexColumnSchema, UniqueConstraintSchema } from './table.js';
3
3
  import type * as AST from '../parser/ast.js';
4
- import type { SqlValue } from '../common/types.js';
4
+ import { type SqlValue } from '../common/types.js';
5
5
  /**
6
6
  * Represents a catalog snapshot of the current database schema state
7
7
  */
@@ -120,6 +120,71 @@ export interface CatalogAssertion {
120
120
  * Collects current schema state from the database into a catalog representation
121
121
  */
122
122
  export declare function collectSchemaCatalog(db: Database, schemaName?: string): SchemaCatalog;
123
+ /**
124
+ * Rejects a UNIQUE constraint declaration whose implicit backing structure would
125
+ * claim a name already held by an index on the same table (see
126
+ * {@link findIndexShadowedByUniqueConstraint}). No-op for any other constraint
127
+ * kind — CHECK and FOREIGN KEY build no backing index, so they cannot collide.
128
+ *
129
+ * Called from the engine side BEFORE `module.alterTable`, which is what makes one
130
+ * guard cover both backends and keeps a rejected statement from reaching the
131
+ * store's persistence side effects.
132
+ *
133
+ * `operation` describes what the statement was doing, e.g.
134
+ * `add constraint 'foo' to table 't'`.
135
+ */
136
+ export declare function assertUniqueConstraintIndexNameFree(tableSchema: TableSchema, constraintName: string | undefined, columnNames: ReadonlyArray<string>, operation: string): void;
137
+ /**
138
+ * Order- and repetition-insensitive key for the column set a UNIQUE constraint
139
+ * covers. `unique (a, b)` and `unique (b, a)` enforce the identical rule, so they
140
+ * share a key — while their derived structure names (`_uc_a_b` / `_uc_b_a`) do not,
141
+ * which is exactly why the duplicate test cannot go through those names.
142
+ * Case-folded like every other column-name comparison in the engine.
143
+ *
144
+ * JSON-encoded rather than joined on a separator character: a column name may
145
+ * legally contain any character (`"a,b"` is one quoted identifier), and a plain
146
+ * `join(',')` would key it identically to the two-column set `(a, b)` — refusing a
147
+ * legal declaration. JSON escaping makes the encoding injective.
148
+ */
149
+ export declare function uniqueConstraintColumnSetKey(columnNames: ReadonlyArray<string>): string;
150
+ /**
151
+ * Rejects a UNIQUE declaration that would duplicate one the table already carries —
152
+ * see {@link isAnonymousUniqueConstraint} for what counts as "the same constraint".
153
+ *
154
+ * Takes prospective column *names* (like {@link assertUniqueConstraintIndexNameFree})
155
+ * so the `ALTER TABLE ADD COLUMN … unique` caller, whose column does not exist on
156
+ * `tableSchema` yet, can use it. A name absent from the table simply matches no
157
+ * existing constraint, which is the correct answer for a brand-new column.
158
+ *
159
+ * `alsoDeclared` holds column-set keys ({@link uniqueConstraintColumnSetKey}) claimed
160
+ * earlier in the SAME statement, none of which is on `tableSchema` yet — one
161
+ * `ADD COLUMN` can declare several inline `unique` constraints over its new column.
162
+ *
163
+ * NOTE: deliberately silent when the NEW constraint is named, and skips named
164
+ * existing ones. A named UNIQUE beside an unnamed one over the same columns
165
+ * (`create table t (…, unique (c))` then `alter table t add constraint u1 unique (c)`)
166
+ * stays legal: both are addressable and droppable by name, so the state is merely
167
+ * redundant rather than broken, and refusing it would change more surface than the
168
+ * defect this guard exists for. Two DIFFERENTLY-named UNIQUEs over one column set are
169
+ * legal for the same reason; two with the SAME name are already refused by
170
+ * `assertConstraintNameFree`.
171
+ */
172
+ export declare function assertUniqueConstraintNotDuplicated(tableSchema: TableSchema, constraintName: string | undefined, columnNames: ReadonlyArray<string>, operation: string, alsoDeclared?: ReadonlySet<string>): void;
173
+ /**
174
+ * The `CREATE TABLE` form of {@link assertUniqueConstraintNotDuplicated}: rejects a
175
+ * constraint list that already contains two equivalent UNIQUEs, whether they were
176
+ * declared inline on a column or at table level. Runs over the BUILT constraints
177
+ * (column indices already resolved), so both declaration shapes are compared in one
178
+ * place and neither can slip past.
179
+ *
180
+ * Called from `SchemaManager.createTable` only — never from the import / rehydrate
181
+ * path, so a catalog written before this guard existed still opens (`importDDL`
182
+ * warns and proceeds; `MemoryTableManager.ensureUniqueConstraintIndexes` refuses to
183
+ * build the duplicate structure such a catalog asks for).
184
+ */
185
+ export declare function assertNoDuplicateUniqueConstraints(constraints: ReadonlyArray<UniqueConstraintSchema>, columns: ReadonlyArray<{
186
+ name: string;
187
+ }>, operation: string): void;
123
188
  /**
124
189
  * A backend-agnostic description of an *exposed* implicit covering index that is
125
190
  * 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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"}