@quereus/quereus 4.6.0 → 4.7.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 (535) hide show
  1. package/README.md +2 -2
  2. package/dist/src/common/errors.d.ts +17 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +21 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/core/database-assertions.d.ts +4 -3
  7. package/dist/src/core/database-assertions.d.ts.map +1 -1
  8. package/dist/src/core/database-assertions.js +44 -14
  9. package/dist/src/core/database-assertions.js.map +1 -1
  10. package/dist/src/core/database-events.d.ts +62 -0
  11. package/dist/src/core/database-events.d.ts.map +1 -1
  12. package/dist/src/core/database-events.js +88 -2
  13. package/dist/src/core/database-events.js.map +1 -1
  14. package/dist/src/core/database-internal.d.ts +5 -2
  15. package/dist/src/core/database-internal.d.ts.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 +4 -2
  18. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  19. package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
  20. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  21. package/dist/src/core/database-materialized-views.d.ts +46 -0
  22. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  23. package/dist/src/core/database-materialized-views.js +75 -4
  24. package/dist/src/core/database-materialized-views.js.map +1 -1
  25. package/dist/src/core/database.d.ts +9 -1
  26. package/dist/src/core/database.d.ts.map +1 -1
  27. package/dist/src/core/database.js +36 -10
  28. package/dist/src/core/database.js.map +1 -1
  29. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  30. package/dist/src/core/derived-row-validator.js +7 -1
  31. package/dist/src/core/derived-row-validator.js.map +1 -1
  32. package/dist/src/core/statement.d.ts.map +1 -1
  33. package/dist/src/core/statement.js +15 -5
  34. package/dist/src/core/statement.js.map +1 -1
  35. package/dist/src/emit/ast-stringify.d.ts +18 -2
  36. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  37. package/dist/src/emit/ast-stringify.js +22 -4
  38. package/dist/src/emit/ast-stringify.js.map +1 -1
  39. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  40. package/dist/src/func/builtins/explain.js +19 -5
  41. package/dist/src/func/builtins/explain.js.map +1 -1
  42. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  43. package/dist/src/func/builtins/scalar.js +24 -20
  44. package/dist/src/func/builtins/scalar.js.map +1 -1
  45. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  46. package/dist/src/func/builtins/schema.js +32 -5
  47. package/dist/src/func/builtins/schema.js.map +1 -1
  48. package/dist/src/index.d.ts +4 -4
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/index.js +4 -4
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/parser/ast.d.ts +58 -1
  53. package/dist/src/parser/ast.d.ts.map +1 -1
  54. package/dist/src/parser/parser.js +1 -1
  55. package/dist/src/parser/parser.js.map +1 -1
  56. package/dist/src/parser/utils.d.ts +13 -1
  57. package/dist/src/parser/utils.d.ts.map +1 -1
  58. package/dist/src/parser/utils.js +14 -0
  59. package/dist/src/parser/utils.js.map +1 -1
  60. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  61. package/dist/src/planner/analysis/assertion-classifier.js +7 -2
  62. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  63. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  64. package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
  65. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  66. package/dist/src/planner/analysis/change-scope.d.ts +11 -3
  67. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  68. package/dist/src/planner/analysis/change-scope.js +5 -4
  69. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  70. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  71. package/dist/src/planner/analysis/coverage-prover.js +13 -5
  72. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  73. package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
  74. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
  75. package/dist/src/planner/analysis/equi-correlation.js +8 -1
  76. package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
  77. package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
  78. package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
  79. package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
  80. package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
  81. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
  82. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  83. package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
  84. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  85. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  86. package/dist/src/planner/building/alter-table.js +53 -17
  87. package/dist/src/planner/building/alter-table.js.map +1 -1
  88. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  89. package/dist/src/planner/building/constraint-builder.js +9 -5
  90. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  91. package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
  92. package/dist/src/planner/building/create-assertion.js +72 -1
  93. package/dist/src/planner/building/create-assertion.js.map +1 -1
  94. package/dist/src/planner/building/create-view.d.ts +6 -1
  95. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  96. package/dist/src/planner/building/create-view.js +12 -3
  97. package/dist/src/planner/building/create-view.js.map +1 -1
  98. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  99. package/dist/src/planner/building/ddl.js +6 -2
  100. package/dist/src/planner/building/ddl.js.map +1 -1
  101. package/dist/src/planner/building/delete.d.ts.map +1 -1
  102. package/dist/src/planner/building/delete.js +23 -10
  103. package/dist/src/planner/building/delete.js.map +1 -1
  104. package/dist/src/planner/building/dml-target.d.ts.map +1 -1
  105. package/dist/src/planner/building/dml-target.js +4 -0
  106. package/dist/src/planner/building/dml-target.js.map +1 -1
  107. package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
  108. package/dist/src/planner/building/drop-assertion.js +3 -1
  109. package/dist/src/planner/building/drop-assertion.js.map +1 -1
  110. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  111. package/dist/src/planner/building/foreign-key-builder.js +7 -5
  112. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  113. package/dist/src/planner/building/function-call.d.ts +35 -0
  114. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  115. package/dist/src/planner/building/function-call.js +53 -40
  116. package/dist/src/planner/building/function-call.js.map +1 -1
  117. package/dist/src/planner/building/insert.d.ts.map +1 -1
  118. package/dist/src/planner/building/insert.js +185 -48
  119. package/dist/src/planner/building/insert.js.map +1 -1
  120. package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
  121. package/dist/src/planner/building/materialized-view.js +3 -1
  122. package/dist/src/planner/building/materialized-view.js.map +1 -1
  123. package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
  124. package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
  125. package/dist/src/planner/building/schema-authored-context.js +75 -0
  126. package/dist/src/planner/building/schema-authored-context.js.map +1 -0
  127. package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
  128. package/dist/src/planner/building/schema-resolution.js +7 -4
  129. package/dist/src/planner/building/schema-resolution.js.map +1 -1
  130. package/dist/src/planner/building/select-aggregates.d.ts +187 -2
  131. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  132. package/dist/src/planner/building/select-aggregates.js +414 -81
  133. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  134. package/dist/src/planner/building/select-compound.js +2 -2
  135. package/dist/src/planner/building/select-compound.js.map +1 -1
  136. package/dist/src/planner/building/select-context.d.ts +91 -0
  137. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  138. package/dist/src/planner/building/select-context.js +113 -0
  139. package/dist/src/planner/building/select-context.js.map +1 -1
  140. package/dist/src/planner/building/select-modifiers.d.ts +10 -3
  141. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  142. package/dist/src/planner/building/select-modifiers.js +29 -8
  143. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  144. package/dist/src/planner/building/select-ordinal.d.ts +64 -19
  145. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  146. package/dist/src/planner/building/select-ordinal.js +79 -30
  147. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  148. package/dist/src/planner/building/select-projections.d.ts +1 -1
  149. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  150. package/dist/src/planner/building/select-projections.js +18 -11
  151. package/dist/src/planner/building/select-projections.js.map +1 -1
  152. package/dist/src/planner/building/select-window.d.ts +13 -3
  153. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  154. package/dist/src/planner/building/select-window.js +142 -37
  155. package/dist/src/planner/building/select-window.js.map +1 -1
  156. package/dist/src/planner/building/select.d.ts.map +1 -1
  157. package/dist/src/planner/building/select.js +129 -59
  158. package/dist/src/planner/building/select.js.map +1 -1
  159. package/dist/src/planner/building/update.d.ts.map +1 -1
  160. package/dist/src/planner/building/update.js +27 -13
  161. package/dist/src/planner/building/update.js.map +1 -1
  162. package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
  163. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  164. package/dist/src/planner/building/view-mutation-builder.js +102 -8
  165. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  166. package/dist/src/planner/building/with.d.ts.map +1 -1
  167. package/dist/src/planner/building/with.js +34 -4
  168. package/dist/src/planner/building/with.js.map +1 -1
  169. package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
  170. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  171. package/dist/src/planner/cache/correlation-detector.js +26 -0
  172. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  173. package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
  174. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  175. package/dist/src/planner/cache/materialization-advisory.js +12 -3
  176. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  177. package/dist/src/planner/framework/characteristics.d.ts +9 -0
  178. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  179. package/dist/src/planner/framework/characteristics.js.map +1 -1
  180. package/dist/src/planner/framework/pass.d.ts +2 -0
  181. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  182. package/dist/src/planner/framework/pass.js +15 -0
  183. package/dist/src/planner/framework/pass.js.map +1 -1
  184. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
  185. package/dist/src/planner/mutation/backward-body.js +4 -1
  186. package/dist/src/planner/mutation/backward-body.js.map +1 -1
  187. package/dist/src/planner/mutation/body-context.d.ts +23 -0
  188. package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
  189. package/dist/src/planner/mutation/body-context.js +26 -0
  190. package/dist/src/planner/mutation/body-context.js.map +1 -0
  191. package/dist/src/planner/mutation/cte-flatten.js +15 -2
  192. package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
  193. package/dist/src/planner/mutation/decomposition.d.ts +8 -0
  194. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
  195. package/dist/src/planner/mutation/decomposition.js +8 -3
  196. package/dist/src/planner/mutation/decomposition.js.map +1 -1
  197. package/dist/src/planner/mutation/lens-enforcement.js +1 -1
  198. package/dist/src/planner/mutation/multi-source.d.ts +7 -0
  199. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
  200. package/dist/src/planner/mutation/multi-source.js +5 -0
  201. package/dist/src/planner/mutation/multi-source.js.map +1 -1
  202. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  203. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  204. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  205. package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
  206. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
  207. package/dist/src/planner/mutation/scope-transform.js +181 -33
  208. package/dist/src/planner/mutation/scope-transform.js.map +1 -1
  209. package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
  210. package/dist/src/planner/mutation/set-op.js +66 -16
  211. package/dist/src/planner/mutation/set-op.js.map +1 -1
  212. package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
  213. package/dist/src/planner/mutation/single-source.js +100 -24
  214. package/dist/src/planner/mutation/single-source.js.map +1 -1
  215. package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
  216. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  217. package/dist/src/planner/nodes/add-constraint-node.js +10 -1
  218. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  219. package/dist/src/planner/nodes/aggregate-node.d.ts +14 -5
  220. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  221. package/dist/src/planner/nodes/aggregate-node.js +28 -21
  222. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  223. package/dist/src/planner/nodes/alter-table-node.d.ts +27 -2
  224. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  225. package/dist/src/planner/nodes/alter-table-node.js +49 -2
  226. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  227. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  228. package/dist/src/planner/nodes/constraint-check-node.js +17 -19
  229. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  230. package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
  231. package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
  232. package/dist/src/planner/nodes/create-assertion-node.js +5 -2
  233. package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
  234. package/dist/src/planner/nodes/cte-node.d.ts +19 -9
  235. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  236. package/dist/src/planner/nodes/cte-node.js +25 -9
  237. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  238. package/dist/src/planner/nodes/delete-node.d.ts +20 -2
  239. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  240. package/dist/src/planner/nodes/delete-node.js +11 -2
  241. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  242. package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
  243. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  244. package/dist/src/planner/nodes/dml-executor-node.js +107 -15
  245. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  246. package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
  247. package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
  248. package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
  249. package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
  250. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  251. package/dist/src/planner/nodes/filter.js +12 -6
  252. package/dist/src/planner/nodes/filter.js.map +1 -1
  253. package/dist/src/planner/nodes/hash-aggregate.d.ts +0 -5
  254. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  255. package/dist/src/planner/nodes/hash-aggregate.js +17 -20
  256. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  257. package/dist/src/planner/nodes/insert-node.d.ts +19 -2
  258. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  259. package/dist/src/planner/nodes/insert-node.js +10 -2
  260. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  261. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
  262. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  263. package/dist/src/planner/nodes/key-set-semi-join-node.js +85 -16
  264. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  265. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
  266. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  267. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  268. package/dist/src/planner/nodes/plan-node.d.ts +5 -0
  269. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  270. package/dist/src/planner/nodes/plan-node.js +12 -0
  271. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  272. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  273. package/dist/src/planner/nodes/project-node.js +16 -35
  274. package/dist/src/planner/nodes/project-node.js.map +1 -1
  275. package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
  276. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  277. package/dist/src/planner/nodes/retrieve-node.js +8 -1
  278. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  279. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  280. package/dist/src/planner/nodes/returning-node.js +13 -32
  281. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  282. package/dist/src/planner/nodes/stream-aggregate.d.ts +0 -5
  283. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  284. package/dist/src/planner/nodes/stream-aggregate.js +18 -24
  285. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  286. package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
  287. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  288. package/dist/src/planner/nodes/table-access-nodes.js +64 -2
  289. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  290. package/dist/src/planner/nodes/update-node.d.ts +19 -2
  291. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  292. package/dist/src/planner/nodes/update-node.js +10 -2
  293. package/dist/src/planner/nodes/update-node.js.map +1 -1
  294. package/dist/src/planner/optimizer.d.ts +18 -0
  295. package/dist/src/planner/optimizer.d.ts.map +1 -1
  296. package/dist/src/planner/optimizer.js +59 -10
  297. package/dist/src/planner/optimizer.js.map +1 -1
  298. package/dist/src/planner/planning-context.d.ts +24 -0
  299. package/dist/src/planner/planning-context.d.ts.map +1 -1
  300. package/dist/src/planner/planning-context.js.map +1 -1
  301. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
  302. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  303. package/dist/src/planner/rules/access/rule-key-set-seek.js +297 -71
  304. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  305. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  306. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
  307. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  308. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +11 -1
  309. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  310. package/dist/src/planner/rules/access/rule-select-access-path.js +46 -2
  311. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  312. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
  313. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  314. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
  315. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  316. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  317. package/dist/src/planner/rules/cache/rule-cte-optimization.js +6 -2
  318. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  319. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
  320. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  321. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  322. package/dist/src/planner/rules/join/index-nested-loop.js +13 -7
  323. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  324. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -0
  325. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  326. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +50 -15
  327. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  328. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
  329. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  330. package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
  331. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  332. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
  333. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
  334. package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
  335. package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
  336. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +2 -2
  337. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  338. package/dist/src/planner/rules/join/rule-join-physical-selection.js +46 -16
  339. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  340. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
  341. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  342. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +14 -0
  343. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  344. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
  345. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  346. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
  347. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  348. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +33 -19
  349. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  350. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +37 -18
  351. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  352. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +6 -3
  353. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -1
  354. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +6 -3
  355. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -1
  356. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  357. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +11 -21
  358. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  359. package/dist/src/planner/rules/shared/access-leaf.d.ts +16 -3
  360. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
  361. package/dist/src/planner/rules/shared/access-leaf.js +21 -5
  362. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
  363. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
  364. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  365. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +1 -1
  366. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  367. package/dist/src/planner/stored-body-context.d.ts +57 -0
  368. package/dist/src/planner/stored-body-context.d.ts.map +1 -0
  369. package/dist/src/planner/stored-body-context.js +64 -0
  370. package/dist/src/planner/stored-body-context.js.map +1 -0
  371. package/dist/src/planner/util/ind-utils.d.ts +28 -20
  372. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  373. package/dist/src/planner/util/ind-utils.js +36 -27
  374. package/dist/src/planner/util/ind-utils.js.map +1 -1
  375. package/dist/src/planner/util/key-utils.d.ts +19 -4
  376. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  377. package/dist/src/planner/util/key-utils.js +23 -7
  378. package/dist/src/planner/util/key-utils.js.map +1 -1
  379. package/dist/src/planner/util/output-names.d.ts +12 -0
  380. package/dist/src/planner/util/output-names.d.ts.map +1 -0
  381. package/dist/src/planner/util/output-names.js +20 -0
  382. package/dist/src/planner/util/output-names.js.map +1 -0
  383. package/dist/src/planner/util/row-estimates.d.ts +11 -0
  384. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  385. package/dist/src/planner/util/row-estimates.js +28 -0
  386. package/dist/src/planner/util/row-estimates.js.map +1 -1
  387. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  388. package/dist/src/runtime/deferred-constraint-queue.js +3 -2
  389. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  390. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  391. package/dist/src/runtime/emit/add-constraint.js +22 -6
  392. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  393. package/dist/src/runtime/emit/alter-schema-event.d.ts +59 -4
  394. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  395. package/dist/src/runtime/emit/alter-schema-event.js +63 -4
  396. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  397. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  398. package/dist/src/runtime/emit/alter-table.js +212 -92
  399. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  400. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  401. package/dist/src/runtime/emit/analyze.js +15 -4
  402. package/dist/src/runtime/emit/analyze.js.map +1 -1
  403. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
  404. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
  405. package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
  406. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
  407. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
  408. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
  409. package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
  410. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
  411. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  412. package/dist/src/runtime/emit/constraint-check.js +10 -227
  413. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  414. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  415. package/dist/src/runtime/emit/create-assertion.js +31 -14
  416. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  417. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  418. package/dist/src/runtime/emit/cte.js +11 -6
  419. package/dist/src/runtime/emit/cte.js.map +1 -1
  420. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  421. package/dist/src/runtime/emit/dml-executor.js +169 -1
  422. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  423. package/dist/src/runtime/emit/drop-assertion.js +8 -8
  424. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  425. package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
  426. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
  427. package/dist/src/runtime/emit/drop-column-guards.js +230 -0
  428. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
  429. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  430. package/dist/src/runtime/emit/drop-table.js +6 -0
  431. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  432. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  433. package/dist/src/runtime/emit/drop-view.js +4 -0
  434. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  435. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  436. package/dist/src/runtime/emit/key-set-semi-join.js +5 -3
  437. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  438. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
  439. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  440. package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
  441. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  442. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  443. package/dist/src/runtime/emit/materialized-view.js +7 -2
  444. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  445. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  446. package/dist/src/runtime/emit/recursive-cte.js +4 -5
  447. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  448. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  449. package/dist/src/runtime/emit/update.js +18 -6
  450. package/dist/src/runtime/emit/update.js.map +1 -1
  451. package/dist/src/runtime/row-constraints.d.ts +85 -0
  452. package/dist/src/runtime/row-constraints.d.ts.map +1 -0
  453. package/dist/src/runtime/row-constraints.js +239 -0
  454. package/dist/src/runtime/row-constraints.js.map +1 -0
  455. package/dist/src/runtime/types.d.ts +8 -11
  456. package/dist/src/runtime/types.d.ts.map +1 -1
  457. package/dist/src/runtime/types.js.map +1 -1
  458. package/dist/src/schema/assertion.d.ts +14 -1
  459. package/dist/src/schema/assertion.d.ts.map +1 -1
  460. package/dist/src/schema/assertion.js +14 -1
  461. package/dist/src/schema/assertion.js.map +1 -1
  462. package/dist/src/schema/catalog-persistability.js +19 -3
  463. package/dist/src/schema/catalog-persistability.js.map +1 -1
  464. package/dist/src/schema/catalog.d.ts +6 -0
  465. package/dist/src/schema/catalog.d.ts.map +1 -1
  466. package/dist/src/schema/catalog.js +26 -36
  467. package/dist/src/schema/catalog.js.map +1 -1
  468. package/dist/src/schema/column-source-resolver.d.ts +18 -0
  469. package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
  470. package/dist/src/schema/column-source-resolver.js +22 -0
  471. package/dist/src/schema/column-source-resolver.js.map +1 -0
  472. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  473. package/dist/src/schema/constraint-builder.js +7 -1
  474. package/dist/src/schema/constraint-builder.js.map +1 -1
  475. package/dist/src/schema/ddl-generator.js +8 -0
  476. package/dist/src/schema/ddl-generator.js.map +1 -1
  477. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  478. package/dist/src/schema/lens-compiler.js +203 -51
  479. package/dist/src/schema/lens-compiler.js.map +1 -1
  480. package/dist/src/schema/lens-prover.d.ts +2 -3
  481. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  482. package/dist/src/schema/lens-prover.js +19 -11
  483. package/dist/src/schema/lens-prover.js.map +1 -1
  484. package/dist/src/schema/manager.d.ts +30 -12
  485. package/dist/src/schema/manager.d.ts.map +1 -1
  486. package/dist/src/schema/manager.js +49 -17
  487. package/dist/src/schema/manager.js.map +1 -1
  488. package/dist/src/schema/rename-rewriter.d.ts +142 -0
  489. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  490. package/dist/src/schema/rename-rewriter.js +254 -9
  491. package/dist/src/schema/rename-rewriter.js.map +1 -1
  492. package/dist/src/schema/reserved-tags.d.ts +1 -1
  493. package/dist/src/schema/reserved-tags.d.ts.map +1 -1
  494. package/dist/src/schema/reserved-tags.js +4 -3
  495. package/dist/src/schema/reserved-tags.js.map +1 -1
  496. package/dist/src/schema/schema-differ.d.ts +16 -0
  497. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  498. package/dist/src/schema/schema-differ.js +122 -11
  499. package/dist/src/schema/schema-differ.js.map +1 -1
  500. package/dist/src/schema/view.d.ts +11 -0
  501. package/dist/src/schema/view.d.ts.map +1 -1
  502. package/dist/src/schema/view.js +12 -0
  503. package/dist/src/schema/view.js.map +1 -1
  504. package/dist/src/types/builtin-types.d.ts +38 -0
  505. package/dist/src/types/builtin-types.d.ts.map +1 -1
  506. package/dist/src/types/builtin-types.js +77 -26
  507. package/dist/src/types/builtin-types.js.map +1 -1
  508. package/dist/src/types/index.d.ts +1 -1
  509. package/dist/src/types/index.d.ts.map +1 -1
  510. package/dist/src/types/index.js +1 -1
  511. package/dist/src/types/index.js.map +1 -1
  512. package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
  513. package/dist/src/util/array-row-iterable.d.ts.map +1 -0
  514. package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
  515. package/dist/src/util/array-row-iterable.js.map +1 -0
  516. package/dist/src/vtab/events.d.ts +3 -0
  517. package/dist/src/vtab/events.d.ts.map +1 -1
  518. package/dist/src/vtab/events.js.map +1 -1
  519. package/dist/src/vtab/manifest.d.ts +15 -0
  520. package/dist/src/vtab/manifest.d.ts.map +1 -1
  521. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  522. package/dist/src/vtab/memory/layer/manager.js +3 -69
  523. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  524. package/dist/src/vtab/memory/module.d.ts +16 -1
  525. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  526. package/dist/src/vtab/memory/module.js +62 -2
  527. package/dist/src/vtab/memory/module.js.map +1 -1
  528. package/dist/src/vtab/module.d.ts +26 -2
  529. package/dist/src/vtab/module.d.ts.map +1 -1
  530. package/dist/src/vtab/table.d.ts +8 -1
  531. package/dist/src/vtab/table.d.ts.map +1 -1
  532. package/dist/src/vtab/table.js.map +1 -1
  533. package/package.json +3 -3
  534. package/dist/src/util/working-table-iterable.d.ts.map +0 -1
  535. package/dist/src/util/working-table-iterable.js.map +0 -1
package/README.md CHANGED
@@ -170,7 +170,7 @@ See [Store Documentation](../../docs/store.md) for the storage architecture and
170
170
  * [Stability Tiers](../../docs/stability.md) — what each tier promises, and which feature areas are Stable, Beta, Experimental, or Internal
171
171
  * [Usage Guide](../../docs/usage.md) — complete API reference (type mappings, parameter binding, logging, tracing, transactions)
172
172
  * [SQL Reference Guide](../../docs/sql.md) — SQL syntax (includes Declarative Schema)
173
- * [Schema Management](../../docs/schema.md) — SchemaManager API, change events, key types, DDL generation. Deep dive: [view and materialized-view persistence](../../docs/view-persistence.md)
173
+ * [Schema Management](../../docs/schema.md) — SchemaManager API, change events, key types, DDL generation. Deep dives: [rename detection and body-change detection](../../docs/schema-rename-detection.md), [view and materialized-view persistence](../../docs/view-persistence.md)
174
174
  * [View Updateability](../../docs/view-updateability.md) — write-through for views, CTEs, and subqueries-in-FROM; per-operator semantics and override tags
175
175
  * [Materialized Views](../../docs/materialized-views.md) — keyed derived relations, DDL, query resolution, write-through, declarative-schema round-trip. Deep dives: [maintenance](../../docs/mv-maintenance.md), [derived-row constraints and covering structures](../../docs/mv-constraints.md), [external row-change ingestion](../../docs/mv-ingestion.md), [schema-change staleness](../../docs/mv-schema-change.md), [the backing-host capability](../../docs/mv-backing-host.md)
176
176
  * [Lenses and Layered Schemas](../../docs/lens.md) — logical/basis separation and bidirectional per-table lenses
@@ -184,7 +184,7 @@ See [Store Documentation](../../docs/store.md) for the storage architecture and
184
184
  * [Runtime](../../docs/runtime.md) — instruction-based execution and opcodes
185
185
  * [Error Handling](../../docs/errors.md) — error types and status codes
186
186
  * [Plugin System](../../docs/plugins.md) — virtual tables, functions, and collations
187
- * [Optimizer](../../docs/optimizer.md) — hub; topic docs for [Rules](../../docs/optimizer-rules.md), [Rule Families](../../docs/optimizer-rule-families.md), [Joins](../../docs/optimizer-joins.md), [Retrieve Push-down](../../docs/optimizer-retrieve.md), [Streaming](../../docs/optimizer-streaming.md), [Parallel](../../docs/optimizer-parallel.md), [Assertions](../../docs/optimizer-assertions.md), [Functional Dependencies](../../docs/optimizer-fd.md), [Conventions](../../docs/optimizer-conventions.md)
187
+ * [Optimizer](../../docs/optimizer.md) — hub; topic docs for [Rules](../../docs/optimizer-rules.md), [Rule Families](../../docs/optimizer-rule-families.md), [Joins](../../docs/optimizer-joins.md), [Retrieve Push-down](../../docs/optimizer-retrieve.md), [Streaming](../../docs/optimizer-streaming.md), [Parallel](../../docs/optimizer-parallel.md), [Assertions](../../docs/optimizer-assertions.md), [Functional Dependencies](../../docs/optimizer-fd.md), [Visited Tracking](../../docs/optimizer-visited-tracking.md), [Conventions](../../docs/optimizer-conventions.md)
188
188
  * [Change-scope Introspection](../../docs/change-scope.md) — what a prepared statement reads from
189
189
  * [TODO List](../../docs/todo.md) — planned features
190
190
 
@@ -36,6 +36,23 @@ export declare class FailConflictError extends ConstraintError {
36
36
  export declare class RollbackConflictError extends ConstraintError {
37
37
  constructor(message: string, code?: number, cause?: Error);
38
38
  }
39
+ /**
40
+ * Error thrown when a statement names a table or view that does not resolve —
41
+ * the object is absent, or the schema qualifying it is not attached.
42
+ *
43
+ * Distinct from the generic `QuereusError` so callers can positively recognise
44
+ * "the relation is not there" without matching message text. Deliberately scoped
45
+ * to *relations* only: a missing column, function, parameter, or tag is a
46
+ * different failure and must not be reported through this class, since callers
47
+ * use it to decide that "no such row" is an observed fact rather than a failed
48
+ * lookup.
49
+ *
50
+ * Carries `StatusCode.NOTFOUND`, but note that code is shared with several
51
+ * unrelated absent-object errors — the class / `name` is the discriminator.
52
+ */
53
+ export declare class RelationNotFoundError extends QuereusError {
54
+ constructor(message: string, cause?: Error, line?: number, column?: number);
55
+ }
39
56
  /**
40
57
  * Error thrown when an in-flight statement is cancelled via an `AbortSignal`
41
58
  * (e.g. a request-timeout). Extends `QuereusError` (so it survives the engine's
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAyB,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAiB3G;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,YAAY;gBAC/B,OAAO,GAAE,MAA4B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAOzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAChC,OAAO,GAAE,MAAqB,EAAE,KAAK,CAAC,EAAE,KAAK;CAKzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,UAA6B,EACnC,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrG,KAAK,CAQP;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,CAyBrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CAuB/F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAMvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAyB,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAiB3G;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACpC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;gBACzC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;gBAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAA8B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhF;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;gBAC1C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK1E;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,YAAY;gBAC/B,OAAO,GAAE,MAA4B,EAAE,KAAK,CAAC,EAAE,KAAK;CAKhE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAOzD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAChC,OAAO,GAAE,MAAqB,EAAE,KAAK,CAAC,EAAE,KAAK;CAKzD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,UAA6B,EACnC,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,GACrG,KAAK,CAQP;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,CAyBrD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CAuB/F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAMvD"}
@@ -62,6 +62,27 @@ export class RollbackConflictError extends ConstraintError {
62
62
  Object.setPrototypeOf(this, RollbackConflictError.prototype);
63
63
  }
64
64
  }
65
+ /**
66
+ * Error thrown when a statement names a table or view that does not resolve —
67
+ * the object is absent, or the schema qualifying it is not attached.
68
+ *
69
+ * Distinct from the generic `QuereusError` so callers can positively recognise
70
+ * "the relation is not there" without matching message text. Deliberately scoped
71
+ * to *relations* only: a missing column, function, parameter, or tag is a
72
+ * different failure and must not be reported through this class, since callers
73
+ * use it to decide that "no such row" is an observed fact rather than a failed
74
+ * lookup.
75
+ *
76
+ * Carries `StatusCode.NOTFOUND`, but note that code is shared with several
77
+ * unrelated absent-object errors — the class / `name` is the discriminator.
78
+ */
79
+ export class RelationNotFoundError extends QuereusError {
80
+ constructor(message, cause, line, column) {
81
+ super(message, StatusCode.NOTFOUND, cause, line, column);
82
+ this.name = 'RelationNotFoundError';
83
+ Object.setPrototypeOf(this, RelationNotFoundError.prototype);
84
+ }
85
+ }
65
86
  /**
66
87
  * Error thrown when an in-flight statement is cancelled via an `AbortSignal`
67
88
  * (e.g. a request-timeout). Extends `QuereusError` (so it survives the engine's
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"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"}
@@ -39,8 +39,9 @@ export interface AssertionEvaluatorContext {
39
39
  readonly schemaManager: Database['schemaManager'];
40
40
  readonly optimizer: Database['optimizer'];
41
41
  readonly options: Database['options'];
42
- _buildPlan(statements: AST.Statement[]): import('./database.js').BuildPlanResult;
42
+ _buildPlan(statements: AST.Statement[], paramsOrTypes?: undefined, schemaPathOverride?: string[]): import('./database.js').BuildPlanResult;
43
43
  _findTable(tableName: string, schemaName?: string): ReturnType<Database['_findTable']>;
44
+ _homeSchemaPath(schemaName: string): string[];
44
45
  prepare(sql: string): ReturnType<Database['prepare']>;
45
46
  getInstructionTracer(): ReturnType<Database['getInstructionTracer']>;
46
47
  /** Get the set of changed base tables (lowercase qualified names) */
@@ -66,7 +67,7 @@ export interface AssertionEvaluatorContext {
66
67
  */
67
68
  export declare class AssertionEvaluator {
68
69
  private readonly ctx;
69
- /** Cached compiled plans keyed by assertion name (lowercase) */
70
+ /** Cached compiled plans keyed by lowercase `schema.name` (see {@link assertionCacheKey}) */
70
71
  private cache;
71
72
  /** Monotonic generation counter; incremented on schema changes that may affect assertions */
72
73
  private schemaGeneration;
@@ -82,7 +83,7 @@ export declare class AssertionEvaluator {
82
83
  constructor(ctx: AssertionEvaluatorContext);
83
84
  private subscribeToSchemaChanges;
84
85
  /** Remove an assertion from the plan cache (called on DROP ASSERTION) */
85
- invalidateAssertion(name: string): void;
86
+ invalidateAssertion(schemaName: string, name: string): void;
86
87
  /** Unsubscribe from schema changes and clear cached plans */
87
88
  dispose(): void;
88
89
  private releaseCached;
@@ -1 +1 @@
1
- {"version":3,"file":"database-assertions.d.ts","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAWxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAS9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAClC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;6CAGyC;IACzC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEtC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,OAAO,eAAe,EAAE,eAAe,CAAC;IACjF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,oBAAoB,IAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAErE,qEAAqE;IACrE,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,sDAAsD;IACtD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,EAAE,CAAC;IAChD,6DAA6D;IAC7D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,EAAE,EAAE,CAAC;IAC7G,iEAAiE;IACjE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;CAChG;AAwCD;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAelB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAA0C;IACvD,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB,CAAK;IAC7B,sDAAsD;IACtD,OAAO,CAAC,wBAAwB,CAA6B;IAC7D,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC;;;iCAG6B;IAC7B,OAAO,CAAC,aAAa,CAAqC;gBAE7B,GAAG,EAAE,yBAAyB;IAe3D,OAAO,CAAC,wBAAwB;IAUhC,yEAAyE;IACzE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IASvC,6DAA6D;IAC7D,OAAO,IAAI,IAAI;IAYf,OAAO,CAAC,aAAa;IAMrB;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCrE,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,uBAAuB;IA+F/B,OAAO,CAAC,iBAAiB;YAwCX,oBAAoB;YAsBpB,uBAAuB;IAqCrC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;CAQ3B"}
1
+ {"version":3,"file":"database-assertions.d.ts","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,20 @@ import { splitBaseKey } from '../util/qualified-name.js';
28
28
  const log = createLogger('core:assertions');
29
29
  /** Maximum number of violating rows to include in error messages */
30
30
  const MAX_VIOLATION_SAMPLES = 5;
31
+ /** Cache key for an assertion: schema-qualified so two same-named assertions
32
+ * in different schemas never evict each other's compiled plan. */
33
+ function assertionCacheKey(assertion) {
34
+ return `${assertion.schemaName.toLowerCase()}.${assertion.name.toLowerCase()}`;
35
+ }
36
+ /** How an assertion names itself in a violation error / report-mode record.
37
+ * Qualified outside `main`, where a bare name is ambiguous (names are only
38
+ * unique per schema); bare in `main`, matching the rest of the DDL surface
39
+ * (see `applyAssertionSchemaDefault`, `assertionSchemaToCatalog`). */
40
+ function assertionDisplayName(assertion) {
41
+ return assertion.schemaName.toLowerCase() === 'main'
42
+ ? assertion.name
43
+ : `${assertion.schemaName}.${assertion.name}`;
44
+ }
31
45
  /**
32
46
  * Evaluates global assertions (CREATE ASSERTION) at transaction commit time.
33
47
  *
@@ -40,7 +54,7 @@ const MAX_VIOLATION_SAMPLES = 5;
40
54
  */
41
55
  export class AssertionEvaluator {
42
56
  ctx;
43
- /** Cached compiled plans keyed by assertion name (lowercase) */
57
+ /** Cached compiled plans keyed by lowercase `schema.name` (see {@link assertionCacheKey}) */
44
58
  cache = new Map();
45
59
  /** Monotonic generation counter; incremented on schema changes that may affect assertions */
46
60
  schemaGeneration = 0;
@@ -68,6 +82,15 @@ export class AssertionEvaluator {
68
82
  this.executor = new DeltaExecutor(executorCtx);
69
83
  this.subscribeToSchemaChanges();
70
84
  }
85
+ // NOTE: `assertion_modified` deliberately does NOT bump the generation — the only
86
+ // producer today is the `ALTER TABLE … RENAME` body rewrite
87
+ // (`runtime/emit/assertion-rename-helpers.ts`), and that statement already fires
88
+ // `table_modified` for the renamed table before it rewrites any body, so the
89
+ // cached plan is invalidated either way. `CREATE ASSERTION` over an existing name
90
+ // is refused, so no in-place redefine reaches here. If a redefine path is ever
91
+ // added (`create or replace assertion`, a catalog-import reconstruction), add
92
+ // `assertion_modified` to this gate — without it the evaluator keeps serving a
93
+ // plan compiled from the previous `violationSql`.
71
94
  subscribeToSchemaChanges() {
72
95
  const notifier = this.ctx.schemaManager.getChangeNotifier();
73
96
  this.unsubscribeSchemaChanges = notifier.addListener((event) => {
@@ -78,8 +101,8 @@ export class AssertionEvaluator {
78
101
  });
79
102
  }
80
103
  /** Remove an assertion from the plan cache (called on DROP ASSERTION) */
81
- invalidateAssertion(name) {
82
- const key = name.toLowerCase();
104
+ invalidateAssertion(schemaName, name) {
105
+ const key = assertionCacheKey({ name, schemaName });
83
106
  const cached = this.cache.get(key);
84
107
  if (cached) {
85
108
  this.releaseCached(cached);
@@ -144,9 +167,9 @@ export class AssertionEvaluator {
144
167
  // it dispatches on dependency overlap. Handle them directly here. In
145
168
  // report mode these collect (do not throw), so all are evaluated.
146
169
  for (const assertion of assertions) {
147
- const cached = this.cache.get(assertion.name.toLowerCase());
170
+ const cached = this.cache.get(assertionCacheKey(assertion));
148
171
  if (cached && cached.baseTablesInPlan.size === 0) {
149
- await this.executeViolationOnce(assertion.name, assertion.violationSql);
172
+ await this.executeViolationOnce(assertion);
150
173
  }
151
174
  }
152
175
  // Kernel walks all live subscriptions. In throw mode the first violation
@@ -159,7 +182,7 @@ export class AssertionEvaluator {
159
182
  }
160
183
  }
161
184
  getOrCompilePlan(assertion) {
162
- const key = assertion.name.toLowerCase();
185
+ const key = assertionCacheKey(assertion);
163
186
  const existing = this.cache.get(key);
164
187
  if (existing && existing.schemaGeneration === this.schemaGeneration) {
165
188
  return existing;
@@ -185,7 +208,10 @@ export class AssertionEvaluator {
185
208
  return this.ctx.schemaManager.withSuppressedAssertionHoist(() => this.compileUnderSuppression(assertion, ast, key));
186
209
  }
187
210
  compileUnderSuppression(assertion, ast, key) {
188
- const { plan } = this.ctx._buildPlan([ast]);
211
+ // Plan under the assertion's home-schema path so unqualified table names in
212
+ // the stored body resolve against the assertion's own schema first,
213
+ // independent of the session's search path (see Database._homeSchemaPath).
214
+ const { plan } = this.ctx._buildPlan([ast], undefined, this.ctx._homeSchemaPath(assertion.schemaName));
189
215
  const analyzed = this.ctx.optimizer.optimizeForAnalysis(plan, this.ctx);
190
216
  const bindings = extractBindings(analyzed);
191
217
  // Collect baseTables and PK indices per base.
@@ -272,7 +298,7 @@ export class AssertionEvaluator {
272
298
  return cached;
273
299
  }
274
300
  buildSubscription(assertion, cached) {
275
- const id = `assertion:${assertion.name}`;
301
+ const id = `assertion:${assertionCacheKey(assertion)}`;
276
302
  const bindingsForExecutor = new Map(cached.bindings.perRelation);
277
303
  const relationToBase = new Map(cached.bindings.relationToBase);
278
304
  const pkIndicesByBase = new Map(cached.pkIndicesByBase);
@@ -283,15 +309,15 @@ export class AssertionEvaluator {
283
309
  if (!residual) {
284
310
  // Defensive: no residual compiled — run the full violation
285
311
  // query once to maintain correctness.
286
- await this.executeViolationOnce(assertion.name, assertion.violationSql);
312
+ await this.executeViolationOnce(assertion);
287
313
  return;
288
314
  }
289
- await this.executeResidualPerTuple(assertion.name, residual, tuples);
315
+ await this.executeResidualPerTuple(assertionDisplayName(assertion), residual, tuples);
290
316
  }
291
317
  // Global re-evaluation: run once if any relation needs it. (Multiple
292
318
  // 'global' relations for one assertion still only need one run.)
293
319
  if (input.globalRelations.size > 0) {
294
- await this.executeViolationOnce(assertion.name, assertion.violationSql);
320
+ await this.executeViolationOnce(assertion);
295
321
  }
296
322
  };
297
323
  return {
@@ -304,11 +330,15 @@ export class AssertionEvaluator {
304
330
  dispose: () => { },
305
331
  };
306
332
  }
307
- async executeViolationOnce(assertionName, sql) {
333
+ async executeViolationOnce(assertion) {
334
+ const assertionName = assertionDisplayName(assertion);
308
335
  // `prepare()` defers planning; force compile under hoist-suppression so
309
336
  // the optimizer can't fold this assertion's own violation query to
310
- // empty. See `getOrCompilePlan`.
311
- const stmt = this.ctx.prepare(sql);
337
+ // empty. See `getOrCompilePlan`. The home-schema path override makes the
338
+ // stored body resolve unqualified names against the assertion's own
339
+ // schema (compile is deferred, so setting it here is race-free).
340
+ const stmt = this.ctx.prepare(assertion.violationSql);
341
+ stmt._schemaPathOverride = this.ctx._homeSchemaPath(assertion.schemaName);
312
342
  this.ctx.schemaManager.withSuppressedAssertionHoist(() => { stmt.compile(); });
313
343
  try {
314
344
  const violatingRows = [];
@@ -1 +1 @@
1
- {"version":3,"file":"database-assertions.js","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-assertions.js","sourceRoot":"","sources":["../../../src/core/database-assertions.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ export interface DatabaseSchemaChangeEvent {
55
55
  schemaName: string;
56
56
  /** Object name (table name for table/column, index name for index) */
57
57
  objectName: string;
58
+ /** Old object name — `RENAME TO` only: the table name before the rename
59
+ * (`objectName` carries the new one). Companion to `oldColumnName`. */
60
+ oldObjectName?: string;
58
61
  /** Column name (for column operations) */
59
62
  columnName?: string;
60
63
  /** Old column name (for column rename) */
@@ -165,6 +168,21 @@ export declare class DatabaseEventEmitter {
165
168
  private dataEventLayers;
166
169
  private schemaEventLayers;
167
170
  private collisionEventLayers;
171
+ /**
172
+ * Next value stamped onto a batched schema event's {@link PendingSchemaEvent.seq}.
173
+ *
174
+ * NEVER reset — not by {@link startBatch}, not by {@link flushBatch}, not by
175
+ * {@link removeAllListeners}. Every stamp is therefore distinct for the emitter's whole
176
+ * lifetime, so an event batched BEFORE a scope opened can never be mistaken for one
177
+ * batched inside it, however many transactions and savepoint layers came between.
178
+ *
179
+ * That is a guard against under-matching only. `discardSchemaEventsSince` drops
180
+ * everything from its watermark ON, so a watermark held past its own scope would also
181
+ * retract events batched after it — which is why the only caller
182
+ * (`withStatementScopedSchemaEvents` in `runtime/emit/alter-schema-event.ts`) takes one
183
+ * and spends it inside a single try/catch, never storing it.
184
+ */
185
+ private schemaEventSeq;
168
186
  /**
169
187
  * Cumulative count of COMMITTED key-coarsening collisions, keyed by lowercased
170
188
  * qualified `schema.table` of the maintained table. Incremented in
@@ -354,8 +372,52 @@ export declare class DatabaseEventEmitter {
354
372
  * undelivered — a later RELEASE merges them into the parent and the commit ships them.
355
373
  */
356
374
  private allDataEventStores;
375
+ /** Schema-channel counterpart of {@link allDataEventStores}. */
376
+ private allSchemaEventStores;
357
377
  /** Collision-channel counterpart of {@link allDataEventStores}. */
358
378
  private allCollisionEventStores;
379
+ /**
380
+ * The ONE place a schema event enters the batch, so every batched schema event carries a
381
+ * {@link PendingSchemaEvent.seq} stamp — both the module-emitter path
382
+ * ({@link handleModuleSchemaEvent}) and the engine's own ({@link emitAutoSchemaEvent})
383
+ * route through here. A second push site that skipped the stamp would produce an event
384
+ * {@link discardSchemaEventsSince} silently cannot retract.
385
+ */
386
+ private pushSchemaEvent;
387
+ /**
388
+ * Take a watermark identifying "every schema event batched from here on" — the mark half
389
+ * of the mark/discard pair {@link discardSchemaEventsSince} completes. Used to make one
390
+ * statement's schema events retractable when the statement then fails; see
391
+ * `runtime/emit/alter-schema-event.ts` § `withStatementScopedSchemaEvents`.
392
+ */
393
+ beginSchemaEventScope(): number;
394
+ /**
395
+ * Drop every BATCHED schema event stamped at or after `watermark`, and return how many
396
+ * went. The retraction half of {@link beginSchemaEventScope}: a statement that produced
397
+ * schema events and then threw must announce nothing, and a module that emits from inside
398
+ * its own `alterTable` has already put its event in the batch by the time the engine's
399
+ * revert runs.
400
+ *
401
+ * Walks the base batch AND every open savepoint layer, like
402
+ * {@link remapBatchedDataEvents} / {@link renameBatchedEvents} do — a layer's events are
403
+ * still undelivered, and a RELEASE would merge them into the parent.
404
+ *
405
+ * Matching is by the per-event STAMP, never by a remembered array length: between the mark
406
+ * and the discard a savepoint layer can be pushed, popped, or released, and
407
+ * {@link releaseSavepointLayer} moves entries between arrays. A stamp travels with the
408
+ * event through all of that; an index into an array does not.
409
+ *
410
+ * DATA events are deliberately untouched, and this is a trap worth stating: the store
411
+ * module's `ddlCommitPendingOps()` flushes the transaction's EARLIER buffered writes into
412
+ * this batch during an ALTER, so those data events fall inside the failing statement's
413
+ * window while belonging to previous, successful statements. Retracting them would
414
+ * silently swallow committed work. The maintenance-collision channel is out of scope for
415
+ * the same reason (nothing in a DDL statement's window produced it).
416
+ *
417
+ * No-op when not batching: without a batch the events were already delivered
418
+ * synchronously and there is nothing left to retract.
419
+ */
420
+ discardSchemaEventsSince(watermark: number): number;
359
421
  /**
360
422
  * Handle a data change event from a module.
361
423
  * If batching, queue the event; otherwise emit immediately.
@@ -1 +1 @@
1
- {"version":3,"file":"database-events.d.ts","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-events.d.ts","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,21 @@ export class DatabaseEventEmitter {
115
115
  dataEventLayers = [];
116
116
  schemaEventLayers = [];
117
117
  collisionEventLayers = [];
118
+ /**
119
+ * Next value stamped onto a batched schema event's {@link PendingSchemaEvent.seq}.
120
+ *
121
+ * NEVER reset — not by {@link startBatch}, not by {@link flushBatch}, not by
122
+ * {@link removeAllListeners}. Every stamp is therefore distinct for the emitter's whole
123
+ * lifetime, so an event batched BEFORE a scope opened can never be mistaken for one
124
+ * batched inside it, however many transactions and savepoint layers came between.
125
+ *
126
+ * That is a guard against under-matching only. `discardSchemaEventsSince` drops
127
+ * everything from its watermark ON, so a watermark held past its own scope would also
128
+ * retract events batched after it — which is why the only caller
129
+ * (`withStatementScopedSchemaEvents` in `runtime/emit/alter-schema-event.ts`) takes one
130
+ * and spends it inside a single try/catch, never storing it.
131
+ */
132
+ schemaEventSeq = 0;
118
133
  /**
119
134
  * Cumulative count of COMMITTED key-coarsening collisions, keyed by lowercased
120
135
  * qualified `schema.table` of the maintained table. Incremented in
@@ -427,10 +442,80 @@ export class DatabaseEventEmitter {
427
442
  allDataEventStores() {
428
443
  return [this.batchedDataEvents, ...this.dataEventLayers];
429
444
  }
445
+ /** Schema-channel counterpart of {@link allDataEventStores}. */
446
+ allSchemaEventStores() {
447
+ return [this.batchedSchemaEvents, ...this.schemaEventLayers];
448
+ }
430
449
  /** Collision-channel counterpart of {@link allDataEventStores}. */
431
450
  allCollisionEventStores() {
432
451
  return [this.batchedCollisionEvents, ...this.collisionEventLayers];
433
452
  }
453
+ /**
454
+ * The ONE place a schema event enters the batch, so every batched schema event carries a
455
+ * {@link PendingSchemaEvent.seq} stamp — both the module-emitter path
456
+ * ({@link handleModuleSchemaEvent}) and the engine's own ({@link emitAutoSchemaEvent})
457
+ * route through here. A second push site that skipped the stamp would produce an event
458
+ * {@link discardSchemaEventsSince} silently cannot retract.
459
+ */
460
+ pushSchemaEvent(moduleName, event) {
461
+ this.getActiveSchemaStore().push({ moduleName, event, seq: this.schemaEventSeq++ });
462
+ }
463
+ /**
464
+ * Take a watermark identifying "every schema event batched from here on" — the mark half
465
+ * of the mark/discard pair {@link discardSchemaEventsSince} completes. Used to make one
466
+ * statement's schema events retractable when the statement then fails; see
467
+ * `runtime/emit/alter-schema-event.ts` § `withStatementScopedSchemaEvents`.
468
+ */
469
+ beginSchemaEventScope() {
470
+ return this.schemaEventSeq;
471
+ }
472
+ /**
473
+ * Drop every BATCHED schema event stamped at or after `watermark`, and return how many
474
+ * went. The retraction half of {@link beginSchemaEventScope}: a statement that produced
475
+ * schema events and then threw must announce nothing, and a module that emits from inside
476
+ * its own `alterTable` has already put its event in the batch by the time the engine's
477
+ * revert runs.
478
+ *
479
+ * Walks the base batch AND every open savepoint layer, like
480
+ * {@link remapBatchedDataEvents} / {@link renameBatchedEvents} do — a layer's events are
481
+ * still undelivered, and a RELEASE would merge them into the parent.
482
+ *
483
+ * Matching is by the per-event STAMP, never by a remembered array length: between the mark
484
+ * and the discard a savepoint layer can be pushed, popped, or released, and
485
+ * {@link releaseSavepointLayer} moves entries between arrays. A stamp travels with the
486
+ * event through all of that; an index into an array does not.
487
+ *
488
+ * DATA events are deliberately untouched, and this is a trap worth stating: the store
489
+ * module's `ddlCommitPendingOps()` flushes the transaction's EARLIER buffered writes into
490
+ * this batch during an ALTER, so those data events fall inside the failing statement's
491
+ * window while belonging to previous, successful statements. Retracting them would
492
+ * silently swallow committed work. The maintenance-collision channel is out of scope for
493
+ * the same reason (nothing in a DDL statement's window produced it).
494
+ *
495
+ * No-op when not batching: without a batch the events were already delivered
496
+ * synchronously and there is nothing left to retract.
497
+ */
498
+ discardSchemaEventsSince(watermark) {
499
+ if (!this.isBatching)
500
+ return 0;
501
+ // NOTE: splices per matching event, so a scope covering N events costs O(N × batch
502
+ // size). One ALTER statement batches at most a handful (its module announces once),
503
+ // so this is nothing today. If a scope ever spans many schema events — a batched DDL
504
+ // arm, a whole failed migration — partition each store into a kept array instead.
505
+ let discarded = 0;
506
+ for (const store of this.allSchemaEventStores()) {
507
+ for (let i = store.length - 1; i >= 0; i--) {
508
+ if (store[i].seq < watermark)
509
+ continue;
510
+ store.splice(i, 1);
511
+ discarded++;
512
+ }
513
+ }
514
+ if (discarded > 0) {
515
+ log('Discarded %d batched schema events stamped at or after watermark %d (the statement that produced them failed)', discarded, watermark);
516
+ }
517
+ return discarded;
518
+ }
434
519
  /**
435
520
  * Handle a data change event from a module.
436
521
  * If batching, queue the event; otherwise emit immediately.
@@ -455,7 +540,7 @@ export class DatabaseEventEmitter {
455
540
  if (this.dropSchemaEventWhileSuppressed('module', moduleName, event))
456
541
  return;
457
542
  if (this.isBatching) {
458
- this.getActiveSchemaStore().push({ moduleName, event });
543
+ this.pushSchemaEvent(moduleName, event);
459
544
  log('Batched schema event from %s: %s %s', moduleName, event.type, event.objectName);
460
545
  }
461
546
  else {
@@ -491,7 +576,7 @@ export class DatabaseEventEmitter {
491
576
  if (this.dropSchemaEventWhileSuppressed('auto', moduleName, event))
492
577
  return;
493
578
  if (this.isBatching) {
494
- this.getActiveSchemaStore().push({ moduleName, event });
579
+ this.pushSchemaEvent(moduleName, event);
495
580
  }
496
581
  else {
497
582
  this.emitSchemaEvent(moduleName, event);
@@ -565,6 +650,7 @@ export class DatabaseEventEmitter {
565
650
  moduleName,
566
651
  schemaName: event.schemaName,
567
652
  objectName: event.objectName,
653
+ oldObjectName: event.oldObjectName,
568
654
  columnName: event.columnName,
569
655
  oldColumnName: event.oldColumnName,
570
656
  ddl: event.ddl,