@quereus/quereus 4.4.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/README.md +5 -0
  2. package/dist/src/common/types.d.ts +9 -0
  3. package/dist/src/common/types.d.ts.map +1 -1
  4. package/dist/src/common/types.js.map +1 -1
  5. package/dist/src/core/database-events.d.ts +49 -0
  6. package/dist/src/core/database-events.d.ts.map +1 -1
  7. package/dist/src/core/database-events.js +148 -0
  8. package/dist/src/core/database-events.js.map +1 -1
  9. package/dist/src/core/database-materialized-views-plan-builders.d.ts +2 -1
  10. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  11. package/dist/src/core/database-materialized-views-plan-builders.js +26 -5
  12. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  13. package/dist/src/core/database-materialized-views-plans.d.ts +6 -3
  14. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  15. package/dist/src/core/database-materialized-views.d.ts +3 -2
  16. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  17. package/dist/src/core/database-materialized-views.js +26 -5
  18. package/dist/src/core/database-materialized-views.js.map +1 -1
  19. package/dist/src/core/database.d.ts +5 -0
  20. package/dist/src/core/database.d.ts.map +1 -1
  21. package/dist/src/core/database.js +21 -1
  22. package/dist/src/core/database.js.map +1 -1
  23. package/dist/src/core/internal-statement-cache.d.ts +18 -0
  24. package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
  25. package/dist/src/core/internal-statement-cache.js +211 -0
  26. package/dist/src/core/internal-statement-cache.js.map +1 -0
  27. package/dist/src/func/builtins/aggregate.d.ts +13 -12
  28. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  29. package/dist/src/func/builtins/aggregate.js +45 -67
  30. package/dist/src/func/builtins/aggregate.js.map +1 -1
  31. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  32. package/dist/src/func/builtins/builtin-window-functions.js +63 -48
  33. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  34. package/dist/src/func/registration.d.ts +14 -1
  35. package/dist/src/func/registration.d.ts.map +1 -1
  36. package/dist/src/func/registration.js +25 -0
  37. package/dist/src/func/registration.js.map +1 -1
  38. package/dist/src/index.d.ts +8 -8
  39. package/dist/src/index.d.ts.map +1 -1
  40. package/dist/src/index.js +12 -11
  41. package/dist/src/index.js.map +1 -1
  42. package/dist/src/parser/parser.d.ts +6 -0
  43. package/dist/src/parser/parser.d.ts.map +1 -1
  44. package/dist/src/parser/parser.js +45 -34
  45. package/dist/src/parser/parser.js.map +1 -1
  46. package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
  47. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  48. package/dist/src/planner/analysis/comparison-collation.js +1 -1
  49. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  50. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
  51. package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
  52. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
  53. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +6 -0
  54. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  55. package/dist/src/planner/analysis/query-rewrite-matcher.js +11 -2
  56. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  57. package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
  58. package/dist/src/planner/analysis/sat-checker.js +43 -4
  59. package/dist/src/planner/analysis/sat-checker.js.map +1 -1
  60. package/dist/src/planner/building/delete.d.ts.map +1 -1
  61. package/dist/src/planner/building/delete.js +10 -3
  62. package/dist/src/planner/building/delete.js.map +1 -1
  63. package/dist/src/planner/building/expression.d.ts.map +1 -1
  64. package/dist/src/planner/building/expression.js +87 -6
  65. package/dist/src/planner/building/expression.js.map +1 -1
  66. package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
  67. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  68. package/dist/src/planner/building/foreign-key-builder.js +54 -0
  69. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  70. package/dist/src/planner/building/insert.d.ts.map +1 -1
  71. package/dist/src/planner/building/insert.js +9 -12
  72. package/dist/src/planner/building/insert.js.map +1 -1
  73. package/dist/src/planner/building/update.d.ts.map +1 -1
  74. package/dist/src/planner/building/update.js +13 -4
  75. package/dist/src/planner/building/update.js.map +1 -1
  76. package/dist/src/planner/framework/pass.js +3 -3
  77. package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
  78. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  79. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  80. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  81. package/dist/src/planner/nodes/scalar.js +26 -3
  82. package/dist/src/planner/nodes/scalar.js.map +1 -1
  83. package/dist/src/planner/optimizer.d.ts.map +1 -1
  84. package/dist/src/planner/optimizer.js +5 -12
  85. package/dist/src/planner/optimizer.js.map +1 -1
  86. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  87. package/dist/src/planner/rules/access/rule-select-access-path.js +43 -18
  88. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  89. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
  90. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +23 -4
  91. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  92. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +10 -8
  93. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -1
  94. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +10 -8
  95. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -1
  96. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
  97. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  98. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +4 -0
  99. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -1
  100. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  101. package/dist/src/runtime/deferred-constraint-queue.js +10 -0
  102. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  103. package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
  104. package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
  105. package/dist/src/runtime/emit/aggregate-setup.js +99 -0
  106. package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
  107. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  108. package/dist/src/runtime/emit/aggregate.js +4 -69
  109. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  110. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  111. package/dist/src/runtime/emit/alter-table.js +348 -165
  112. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  113. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  114. package/dist/src/runtime/emit/asof-scan.js +6 -0
  115. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  116. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  117. package/dist/src/runtime/emit/between.js +32 -3
  118. package/dist/src/runtime/emit/between.js.map +1 -1
  119. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  120. package/dist/src/runtime/emit/binary.js +22 -2
  121. package/dist/src/runtime/emit/binary.js.map +1 -1
  122. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  123. package/dist/src/runtime/emit/bloom-join.js +24 -3
  124. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  125. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  126. package/dist/src/runtime/emit/cast.js +10 -23
  127. package/dist/src/runtime/emit/cast.js.map +1 -1
  128. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  129. package/dist/src/runtime/emit/constraint-check.js +41 -44
  130. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  131. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  132. package/dist/src/runtime/emit/create-view.js +6 -0
  133. package/dist/src/runtime/emit/create-view.js.map +1 -1
  134. package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
  135. package/dist/src/runtime/emit/distinct.js +6 -3
  136. package/dist/src/runtime/emit/distinct.js.map +1 -1
  137. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  138. package/dist/src/runtime/emit/dml-executor.js +182 -81
  139. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  140. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  141. package/dist/src/runtime/emit/hash-aggregate.js +16 -65
  142. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  143. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  144. package/dist/src/runtime/emit/insert.js +18 -7
  145. package/dist/src/runtime/emit/insert.js.map +1 -1
  146. package/dist/src/runtime/emit/join.js +5 -0
  147. package/dist/src/runtime/emit/join.js.map +1 -1
  148. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
  149. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  150. package/dist/src/runtime/emit/materialized-view-helpers.js +33 -3
  151. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  152. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  153. package/dist/src/runtime/emit/materialized-view.js +47 -6
  154. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  155. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  156. package/dist/src/runtime/emit/merge-join.js +18 -8
  157. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  158. package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
  159. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  160. package/dist/src/runtime/emit/set-object-tags.js +8 -0
  161. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  162. package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
  163. package/dist/src/runtime/emit/set-operation.js +7 -4
  164. package/dist/src/runtime/emit/set-operation.js.map +1 -1
  165. package/dist/src/runtime/emit/sort.d.ts.map +1 -1
  166. package/dist/src/runtime/emit/sort.js +5 -2
  167. package/dist/src/runtime/emit/sort.js.map +1 -1
  168. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  169. package/dist/src/runtime/emit/subquery.js +113 -13
  170. package/dist/src/runtime/emit/subquery.js.map +1 -1
  171. package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
  172. package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
  173. package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
  174. package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
  175. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  176. package/dist/src/runtime/emit/update.js +44 -3
  177. package/dist/src/runtime/emit/update.js.map +1 -1
  178. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  179. package/dist/src/runtime/emit/window.js +72 -55
  180. package/dist/src/runtime/emit/window.js.map +1 -1
  181. package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
  182. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  183. package/dist/src/runtime/foreign-key-actions.js +238 -116
  184. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  185. package/dist/src/runtime/parallel-driver.d.ts +6 -1
  186. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  187. package/dist/src/runtime/parallel-driver.js +7 -1
  188. package/dist/src/runtime/parallel-driver.js.map +1 -1
  189. package/dist/src/runtime/types.d.ts +18 -0
  190. package/dist/src/runtime/types.d.ts.map +1 -1
  191. package/dist/src/runtime/types.js.map +1 -1
  192. package/dist/src/schema/catalog-persistability.d.ts +58 -0
  193. package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
  194. package/dist/src/schema/catalog-persistability.js +87 -0
  195. package/dist/src/schema/catalog-persistability.js.map +1 -0
  196. package/dist/src/schema/catalog.d.ts +17 -1
  197. package/dist/src/schema/catalog.d.ts.map +1 -1
  198. package/dist/src/schema/catalog.js +25 -3
  199. package/dist/src/schema/catalog.js.map +1 -1
  200. package/dist/src/schema/constraint-builder.d.ts +20 -22
  201. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  202. package/dist/src/schema/constraint-builder.js +43 -36
  203. package/dist/src/schema/constraint-builder.js.map +1 -1
  204. package/dist/src/schema/ddl-generator.d.ts +23 -0
  205. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  206. package/dist/src/schema/ddl-generator.js +27 -0
  207. package/dist/src/schema/ddl-generator.js.map +1 -1
  208. package/dist/src/schema/function.d.ts +30 -1
  209. package/dist/src/schema/function.d.ts.map +1 -1
  210. package/dist/src/schema/function.js.map +1 -1
  211. package/dist/src/schema/manager.d.ts +28 -0
  212. package/dist/src/schema/manager.d.ts.map +1 -1
  213. package/dist/src/schema/manager.js +82 -14
  214. package/dist/src/schema/manager.js.map +1 -1
  215. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  216. package/dist/src/schema/schema-differ.js +51 -12
  217. package/dist/src/schema/schema-differ.js.map +1 -1
  218. package/dist/src/schema/unique-enforcement.d.ts +31 -0
  219. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  220. package/dist/src/schema/unique-enforcement.js +37 -1
  221. package/dist/src/schema/unique-enforcement.js.map +1 -1
  222. package/dist/src/schema/window-function.d.ts +30 -10
  223. package/dist/src/schema/window-function.d.ts.map +1 -1
  224. package/dist/src/schema/window-function.js +20 -16
  225. package/dist/src/schema/window-function.js.map +1 -1
  226. package/dist/src/types/cast-semantics.d.ts +43 -0
  227. package/dist/src/types/cast-semantics.d.ts.map +1 -0
  228. package/dist/src/types/cast-semantics.js +59 -0
  229. package/dist/src/types/cast-semantics.js.map +1 -0
  230. package/dist/src/types/index.d.ts +1 -1
  231. package/dist/src/types/index.d.ts.map +1 -1
  232. package/dist/src/types/index.js +1 -1
  233. package/dist/src/types/index.js.map +1 -1
  234. package/dist/src/types/json-type.d.ts.map +1 -1
  235. package/dist/src/types/json-type.js +31 -10
  236. package/dist/src/types/json-type.js.map +1 -1
  237. package/dist/src/types/logical-type.d.ts +22 -0
  238. package/dist/src/types/logical-type.d.ts.map +1 -1
  239. package/dist/src/types/logical-type.js.map +1 -1
  240. package/dist/src/types/temporal-types.d.ts.map +1 -1
  241. package/dist/src/types/temporal-types.js +33 -11
  242. package/dist/src/types/temporal-types.js.map +1 -1
  243. package/dist/src/types/validation.d.ts +39 -1
  244. package/dist/src/types/validation.d.ts.map +1 -1
  245. package/dist/src/types/validation.js +60 -0
  246. package/dist/src/types/validation.js.map +1 -1
  247. package/dist/src/util/ast-spine-clone.d.ts +23 -0
  248. package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
  249. package/dist/src/util/ast-spine-clone.js +41 -0
  250. package/dist/src/util/ast-spine-clone.js.map +1 -0
  251. package/dist/src/util/coercion.d.ts +13 -0
  252. package/dist/src/util/coercion.d.ts.map +1 -1
  253. package/dist/src/util/coercion.js +10 -1
  254. package/dist/src/util/coercion.js.map +1 -1
  255. package/dist/src/util/comparison.d.ts +89 -0
  256. package/dist/src/util/comparison.d.ts.map +1 -1
  257. package/dist/src/util/comparison.js +156 -27
  258. package/dist/src/util/comparison.js.map +1 -1
  259. package/dist/src/vtab/manifest.d.ts +7 -0
  260. package/dist/src/vtab/manifest.d.ts.map +1 -1
  261. package/dist/src/vtab/memory/connection.d.ts +14 -1
  262. package/dist/src/vtab/memory/connection.d.ts.map +1 -1
  263. package/dist/src/vtab/memory/connection.js +20 -2
  264. package/dist/src/vtab/memory/connection.js.map +1 -1
  265. package/dist/src/vtab/memory/layer/base.d.ts +6 -1
  266. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  267. package/dist/src/vtab/memory/layer/base.js +14 -5
  268. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  269. package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
  270. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  271. package/dist/src/vtab/memory/layer/connection.js +26 -0
  272. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  273. package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
  274. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  275. package/dist/src/vtab/memory/layer/manager.js +595 -119
  276. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  277. package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
  278. package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
  279. package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
  280. package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
  281. package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
  282. package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
  283. package/dist/src/vtab/memory/layer/row-convert.js +30 -0
  284. package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
  285. package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
  286. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  287. package/dist/src/vtab/memory/layer/scan-layer.js +48 -34
  288. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  289. package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
  290. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  291. package/dist/src/vtab/memory/layer/transaction.js +214 -65
  292. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  293. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  294. package/dist/src/vtab/memory/module.js +9 -2
  295. package/dist/src/vtab/memory/module.js.map +1 -1
  296. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  297. package/dist/src/vtab/memory/table.js +3 -2
  298. package/dist/src/vtab/memory/table.js.map +1 -1
  299. package/dist/src/vtab/memory/types.d.ts +27 -1
  300. package/dist/src/vtab/memory/types.d.ts.map +1 -1
  301. package/dist/src/vtab/memory/types.js +16 -1
  302. package/dist/src/vtab/memory/types.js.map +1 -1
  303. package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
  304. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  305. package/dist/src/vtab/memory/utils/primary-key.js +11 -0
  306. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  307. package/dist/src/vtab/module.d.ts +63 -0
  308. package/dist/src/vtab/module.d.ts.map +1 -1
  309. package/dist/src/vtab/table.d.ts +24 -6
  310. package/dist/src/vtab/table.d.ts.map +1 -1
  311. package/dist/src/vtab/table.js.map +1 -1
  312. package/package.json +3 -3
  313. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -26
  314. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
  315. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -66
  316. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
package/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  <img src="../../docs/images/Quereus_colored_wide.svg" alt="Quereus Logo" height="150">
4
4
 
5
+ > **Stability** — this package spans tiers: the core SQL engine, type system, and
6
+ > virtual-table framework are **Stable**, while other feature areas are Beta or
7
+ > Experimental. See [Stability](#stability) below and
8
+ > [Stability Tiers](../../docs/stability.md#tiers) for the per-area assignment.
9
+
5
10
  Quereus is a feature-complete SQL query processor specifically designed for efficient in-memory data processing with a strong emphasis on the **virtual table** interface. It provides rich SQL query and constraint capabilities (joins, aggregates, subqueries, CTEs, window functions, constraints) over data sources exposed via the virtual table mechanism. Quereus features a modern type system with temporal types, JSON support, and plugin-extensible custom types. It has no persistent file storage, though one could be built as a virtual table module.
6
11
 
7
12
  ## Project Goals
@@ -113,6 +113,15 @@ export type ConstraintType = 'unique' | 'check' | 'not_null' | 'foreign_key';
113
113
  * Replaces exception-based constraint signaling to distinguish expected
114
114
  * constraint violations from unexpected errors (network issues, bugs, etc.).
115
115
  *
116
+ * `row` present means a row really was written/removed; absent means nothing
117
+ * changed and the executor skips the post-write pipeline entirely. For an
118
+ * INSERT/UPDATE it is the row the module STORED — the proposed values after the
119
+ * module's own coercion to the declared column logical types — and the DML
120
+ * executor reports it, not the proposed row, to every post-write consumer. For a
121
+ * DELETE only its presence is read, never its contents. See
122
+ * `VirtualTable.update`'s doc comment for the module-author contract and
123
+ * docs/runtime.md § per-row post-write pipeline.
124
+ *
116
125
  * Two REPLACE-displacement channels, both consumed by the DML executor so the
117
126
  * single post-write pipeline (change-tracking, row-time MV maintenance, FK
118
127
  * cascade, auto-events) runs uniformly across substrates:
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAgEA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAgCX;AAhCD,WAAY,UAAU;IACrB,uCAAM,CAAA;IACN,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,2CAAQ,CAAA;IACR,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,8CAAU,CAAA;IACV,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,4CAAS,CAAA;IACT,oDAAa,CAAA;IACb,oDAAa,CAAA;IACb,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,wDAAe,CAAA;IACf,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,0DAAgB,CAAA;AACjB,CAAC,EAhCW,UAAU,KAAV,UAAU,QAgCrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACtB,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,mDAAW,CAAA;AACZ,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AA4CD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,iDAAiD;IACjD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/G,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACvD,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,YAAY,CAAC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAChD,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,eAAe,CAAC;QAC9E,OAAQ,KAAgB,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/common/types.ts"],"names":[],"mappings":"AAgEA;;;GAGG;AACH,MAAM,CAAN,IAAY,UAgCX;AAhCD,WAAY,UAAU;IACrB,uCAAM,CAAA;IACN,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,2CAAQ,CAAA;IACR,6CAAS,CAAA;IACT,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,mDAAY,CAAA;IACZ,qDAAa,CAAA;IACb,8CAAU,CAAA;IACV,kDAAY,CAAA;IACZ,oDAAa,CAAA;IACb,4CAAS,CAAA;IACT,oDAAa,CAAA;IACb,oDAAa,CAAA;IACb,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,wDAAe,CAAA;IACf,oDAAa,CAAA;IACb,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,gDAAW,CAAA;IACX,gDAAW,CAAA;IACX,kDAAY,CAAA;IACZ,gDAAW,CAAA;IACX,0DAAgB,CAAA;AACjB,CAAC,EAhCW,UAAU,KAAV,UAAU,QAgCrB;AAED;;;GAGG;AACH,MAAM,CAAN,IAAY,WAQX;AARD,WAAY,WAAW;IACtB,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,mDAAW,CAAA;IACX,mDAAW,CAAA;AACZ,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;AAqDD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvF,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,iDAAiD;IACjD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/G,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACvD,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,KAAK,YAAY,UAAU;YAAE,OAAO,YAAY,CAAC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAChD,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;YAAE,OAAO,eAAe,CAAC;QAC9E,OAAQ,KAAgB,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,CAAC;AACV,CAAC"}
@@ -288,6 +288,14 @@ export declare class DatabaseEventEmitter {
288
288
  * Get the active collision event store (top savepoint layer or base).
289
289
  */
290
290
  private getActiveCollisionStore;
291
+ /**
292
+ * Every data-event store a batched rewrite must walk: the base batch plus each open
293
+ * savepoint layer. A rewrite touches all of them because a layer's events are still
294
+ * undelivered — a later RELEASE merges them into the parent and the commit ships them.
295
+ */
296
+ private allDataEventStores;
297
+ /** Collision-channel counterpart of {@link allDataEventStores}. */
298
+ private allCollisionEventStores;
291
299
  /**
292
300
  * Handle a data change event from a module.
293
301
  * If batching, queue the event; otherwise emit immediately.
@@ -366,6 +374,47 @@ export declare class DatabaseEventEmitter {
366
374
  * others or the commit (mirrors {@link emitDataEvent}).
367
375
  */
368
376
  private emitTransactionCommit;
377
+ /**
378
+ * Rewrite the row images of every BATCHED data event for one table, in place, after a
379
+ * mid-transaction column-set, column-name, or column-value change (`ALTER TABLE
380
+ * ADD/DROP/RENAME COLUMN`, `ALTER COLUMN … SET DATA TYPE` / `SET NOT NULL` backfill).
381
+ * Covers {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer,
382
+ * so a commit delivers each event's `oldRow`/`newRow` in the schema current at delivery.
383
+ * No-op when not batching: in autocommit the earlier events were already delivered,
384
+ * and there is no earlier same-transaction write to fix.
385
+ *
386
+ * An event that already carried `changedColumns` gets it re-derived against
387
+ * `newColumnNames`; one that never carried it keeps it absent, because some modules
388
+ * (the store) deliberately omit it and leave the per-column diff to the consumer —
389
+ * synthesizing one only for transactions that happened to ALTER would make the
390
+ * delivered shape depend on unrelated DDL.
391
+ *
392
+ * BEST-EFFORT, unlike the module-side pending-ROW reshape (whose failure must reject
393
+ * the ALTER): these are historical row images, including superseded intermediate ones
394
+ * a backfill evaluator or value conversion can legitimately fail on. A `remapRow`
395
+ * throw leaves that event's image as it was (logged), and never rejects an ALTER
396
+ * that would otherwise succeed.
397
+ */
398
+ remapBatchedDataEvents(schemaName: string, tableName: string, remapRow: (row: Row, which: 'old' | 'new') => Row | Promise<Row>, newColumnNames: readonly string[]): Promise<void>;
399
+ /**
400
+ * Relabel every BATCHED event naming `(schemaName, oldTableName)` to `newTableName`,
401
+ * in place, after a mid-transaction `ALTER TABLE … RENAME TO`. Covers
402
+ * {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer, plus the
403
+ * collision channel ({@link batchedCollisionEvents} / {@link collisionEventLayers}) —
404
+ * a maintained table (materialized view) can be renamed too. So a commit delivers each
405
+ * event under the name the table has at delivery, not the one it had at write time.
406
+ *
407
+ * No-op when not batching: in autocommit the earlier events were already delivered under
408
+ * the name the table had at the time, which is correct.
409
+ *
410
+ * Relabelling cannot fail (it moves no value and reads no schema), so unlike
411
+ * {@link remapBatchedDataEvents} this is synchronous and needs no per-event `try`.
412
+ * `key` and `changedColumns` are untouched — a rename moves no value and changes no column.
413
+ *
414
+ * Batched SCHEMA events are deliberately NOT relabelled; see the call site in
415
+ * `runtime/emit/alter-table.ts`.
416
+ */
417
+ renameBatchedEvents(schemaName: string, oldTableName: string, newTableName: string): void;
369
418
  /**
370
419
  * Discard all batched events (called on rollback).
371
420
  */
@@ -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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"}
@@ -15,6 +15,29 @@ const warnLog = log.extend('warn');
15
15
  const errorLog = log.extend('error');
16
16
  /** Default maximum number of listeners per event type before a warning is logged. */
17
17
  const DEFAULT_MAX_LISTENERS = 100;
18
+ /**
19
+ * Whether a batched event names `(schemaLower, tableLower)` — the single matching rule
20
+ * every batched-event rewrite (row-shape remap, table-name relabel) applies, on both the
21
+ * data and the maintenance-collision channel. Both operands are compared lowercased, so
22
+ * callers pass already-lowercased names.
23
+ */
24
+ function namesTable(event, schemaLower, tableLower) {
25
+ return event.schemaName.toLowerCase() === schemaLower
26
+ && event.tableName.toLowerCase() === tableLower;
27
+ }
28
+ /**
29
+ * Names of the columns whose values differ between two same-arity row images —
30
+ * the `changedColumns` recomputation for a remapped update event. Same strict
31
+ * (`!==`) comparison the memory module's `computeChangedColumns` uses.
32
+ */
33
+ function computeChangedColumnNames(oldRow, newRow, columnNames) {
34
+ const changed = [];
35
+ for (let i = 0; i < columnNames.length; i++) {
36
+ if (oldRow[i] !== newRow[i])
37
+ changed.push(columnNames[i]);
38
+ }
39
+ return changed;
40
+ }
18
41
  /**
19
42
  * Central event emitter for database-level reactivity.
20
43
  *
@@ -262,6 +285,18 @@ export class DatabaseEventEmitter {
262
285
  ? this.collisionEventLayers[this.collisionEventLayers.length - 1]
263
286
  : this.batchedCollisionEvents;
264
287
  }
288
+ /**
289
+ * Every data-event store a batched rewrite must walk: the base batch plus each open
290
+ * savepoint layer. A rewrite touches all of them because a layer's events are still
291
+ * undelivered — a later RELEASE merges them into the parent and the commit ships them.
292
+ */
293
+ allDataEventStores() {
294
+ return [this.batchedDataEvents, ...this.dataEventLayers];
295
+ }
296
+ /** Collision-channel counterpart of {@link allDataEventStores}. */
297
+ allCollisionEventStores() {
298
+ return [this.batchedCollisionEvents, ...this.collisionEventLayers];
299
+ }
265
300
  /**
266
301
  * Handle a data change event from a module.
267
302
  * If batching, queue the event; otherwise emit immediately.
@@ -511,6 +546,119 @@ export class DatabaseEventEmitter {
511
546
  }
512
547
  }
513
548
  }
549
+ /**
550
+ * Rewrite the row images of every BATCHED data event for one table, in place, after a
551
+ * mid-transaction column-set, column-name, or column-value change (`ALTER TABLE
552
+ * ADD/DROP/RENAME COLUMN`, `ALTER COLUMN … SET DATA TYPE` / `SET NOT NULL` backfill).
553
+ * Covers {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer,
554
+ * so a commit delivers each event's `oldRow`/`newRow` in the schema current at delivery.
555
+ * No-op when not batching: in autocommit the earlier events were already delivered,
556
+ * and there is no earlier same-transaction write to fix.
557
+ *
558
+ * An event that already carried `changedColumns` gets it re-derived against
559
+ * `newColumnNames`; one that never carried it keeps it absent, because some modules
560
+ * (the store) deliberately omit it and leave the per-column diff to the consumer —
561
+ * synthesizing one only for transactions that happened to ALTER would make the
562
+ * delivered shape depend on unrelated DDL.
563
+ *
564
+ * BEST-EFFORT, unlike the module-side pending-ROW reshape (whose failure must reject
565
+ * the ALTER): these are historical row images, including superseded intermediate ones
566
+ * a backfill evaluator or value conversion can legitimately fail on. A `remapRow`
567
+ * throw leaves that event's image as it was (logged), and never rejects an ALTER
568
+ * that would otherwise succeed.
569
+ */
570
+ async remapBatchedDataEvents(schemaName, tableName, remapRow, newColumnNames) {
571
+ if (!this.isBatching)
572
+ return;
573
+ const schemaLower = schemaName.toLowerCase();
574
+ const tableLower = tableName.toLowerCase();
575
+ let remapped = 0;
576
+ for (const store of this.allDataEventStores()) {
577
+ for (const entry of store) {
578
+ const event = entry.event;
579
+ if (!namesTable(event, schemaLower, tableLower))
580
+ continue;
581
+ const next = { ...event };
582
+ try {
583
+ if (event.oldRow !== undefined)
584
+ next.oldRow = await remapRow(event.oldRow, 'old');
585
+ }
586
+ catch (e) {
587
+ warnLog('remapBatchedDataEvents: oldRow remap failed on %s.%s, leaving image as-is: %O', event.schemaName, event.tableName, e);
588
+ }
589
+ try {
590
+ if (event.newRow !== undefined)
591
+ next.newRow = await remapRow(event.newRow, 'new');
592
+ }
593
+ catch (e) {
594
+ warnLog('remapBatchedDataEvents: newRow remap failed on %s.%s, leaving image as-is: %O', event.schemaName, event.tableName, e);
595
+ }
596
+ if (next.changedColumns) {
597
+ // Both images present at a common arity ⇒ re-derive positionally: a dropped
598
+ // column falls out, an added one can appear, and a RENAME's new name
599
+ // replaces the old. Otherwise (a delete's lone image, or a remap that failed
600
+ // on one side and left it at the old arity) a positional diff is meaningless,
601
+ // so only drop names that no longer exist.
602
+ if (next.oldRow && next.newRow && next.oldRow.length === next.newRow.length) {
603
+ next.changedColumns = computeChangedColumnNames(next.oldRow, next.newRow, newColumnNames);
604
+ }
605
+ else {
606
+ const valid = new Set(newColumnNames.map(n => n.toLowerCase()));
607
+ next.changedColumns = next.changedColumns.filter(n => valid.has(n.toLowerCase()));
608
+ }
609
+ }
610
+ entry.event = next;
611
+ remapped++;
612
+ }
613
+ }
614
+ if (remapped > 0) {
615
+ log('Remapped %d batched data events on %s.%s after mid-transaction ALTER', remapped, schemaName, tableName);
616
+ }
617
+ }
618
+ /**
619
+ * Relabel every BATCHED event naming `(schemaName, oldTableName)` to `newTableName`,
620
+ * in place, after a mid-transaction `ALTER TABLE … RENAME TO`. Covers
621
+ * {@link batchedDataEvents} and every {@link dataEventLayers} savepoint layer, plus the
622
+ * collision channel ({@link batchedCollisionEvents} / {@link collisionEventLayers}) —
623
+ * a maintained table (materialized view) can be renamed too. So a commit delivers each
624
+ * event under the name the table has at delivery, not the one it had at write time.
625
+ *
626
+ * No-op when not batching: in autocommit the earlier events were already delivered under
627
+ * the name the table had at the time, which is correct.
628
+ *
629
+ * Relabelling cannot fail (it moves no value and reads no schema), so unlike
630
+ * {@link remapBatchedDataEvents} this is synchronous and needs no per-event `try`.
631
+ * `key` and `changedColumns` are untouched — a rename moves no value and changes no column.
632
+ *
633
+ * Batched SCHEMA events are deliberately NOT relabelled; see the call site in
634
+ * `runtime/emit/alter-table.ts`.
635
+ */
636
+ renameBatchedEvents(schemaName, oldTableName, newTableName) {
637
+ if (!this.isBatching)
638
+ return;
639
+ const schemaLower = schemaName.toLowerCase();
640
+ const oldLower = oldTableName.toLowerCase();
641
+ let relabelled = 0;
642
+ for (const store of this.allDataEventStores()) {
643
+ for (const entry of store) {
644
+ if (!namesTable(entry.event, schemaLower, oldLower))
645
+ continue;
646
+ entry.event = { ...entry.event, tableName: newTableName };
647
+ relabelled++;
648
+ }
649
+ }
650
+ for (const store of this.allCollisionEventStores()) {
651
+ for (let i = 0; i < store.length; i++) {
652
+ if (!namesTable(store[i], schemaLower, oldLower))
653
+ continue;
654
+ store[i] = { ...store[i], tableName: newTableName };
655
+ relabelled++;
656
+ }
657
+ }
658
+ if (relabelled > 0) {
659
+ log('Relabelled %d batched events from %s.%s to %s after mid-transaction RENAME TO', relabelled, schemaName, oldTableName, newTableName);
660
+ }
661
+ }
514
662
  /**
515
663
  * Discard all batched events (called on rollback).
516
664
  */
@@ -1 +1 @@
1
- {"version":3,"file":"database-events.js","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-events.js","sourceRoot":"","sources":["../../../src/core/database-events.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { MaintainedTableSchema } from '../schema/derivation.js';
14
14
  import type { TableSchema } from '../schema/table.js';
15
15
  import { type AggregateLike } from './database-materialized-views-analysis.js';
16
16
  import type { MaterializedViewManagerContext, MaintenancePlan, FullRebuildPlan, BackingPkColumn, DeltaAggregateDescriptor } from './database-materialized-views-plans.js';
17
+ import type { CollationResolver } from '../types/logical-type.js';
17
18
  /**
18
19
  * Build the row-time maintenance plan for an MV — **cost-gated, with a floor, never a
19
20
  * shape allowlist**. The builder tries to match a bounded-delta arm by shape
@@ -149,7 +150,7 @@ export declare function buildAggregateResidualPlan(ctx: MaterializedViewManagerC
149
150
  */
150
151
  export declare function buildDeltaAggregateDescriptor(mv: MaintainedTableSchema, analyzed: BlockNode, tableRef: TableReferenceNode, groupColumns: readonly number[], backingPkDefinition: ReadonlyArray<BackingPkColumn>, backingPkSourceCols: readonly number[], rootAttrs: ReadonlyArray<{
151
152
  id: number;
152
- } | undefined>, sourceAttrToCol: Map<number, number>, producingByAttrId: Map<number, ScalarPlanNode>): DeltaAggregateDescriptor | undefined;
153
+ } | undefined>, sourceAttrToCol: Map<number, number>, producingByAttrId: Map<number, ScalarPlanNode>, collationResolver: CollationResolver): DeltaAggregateDescriptor | undefined;
153
154
  /**
154
155
  * Build a `'join-residual'` plan for a provably-1:1 row-preserving **inner/cross join**
155
156
  * body (`select … from T join P on T.fk = P.id`), or return `null` on a shape mismatch
@@ -1 +1 @@
1
- {"version":3,"file":"database-materialized-views-plan-builders.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views-plan-builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-materialized-views-plan-builders.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views-plan-builders.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { StatusCode } from '../common/types.js';
10
10
  import { ColumnReferenceNode } from '../planner/nodes/reference.js';
11
11
  import { AggregateFunctionCallNode } from '../planner/nodes/aggregate-function.js';
12
12
  import { isAggregateFunctionSchema } from '../schema/function.js';
13
+ import { bindAggregateSchema } from '../func/registration.js';
13
14
  import { PhysicalType } from '../types/logical-type.js';
14
15
  import { checkDeterministic } from '../planner/validation/determinism-validator.js';
15
16
  import { emitPlanNode } from '../runtime/emitters.js';
@@ -495,7 +496,7 @@ export function buildAggregateResidualPlan(ctx, mv, analyzed, tableRef, sourceBa
495
496
  // Delta-aggregate fast path: build the descriptor when EVERY stored aggregate
496
497
  // column is delta-maintainable by its declared algebra (see the builder below).
497
498
  // `undefined` on any gate failure — the arm then stays a plain residual, unchanged.
498
- const delta = buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColumns, backingPkDefinition, backingPkSourceCols, rootAttrs, sourceAttrToCol, producingByAttrId);
499
+ const delta = buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColumns, backingPkDefinition, backingPkSourceCols, rootAttrs, sourceAttrToCol, producingByAttrId, ctx.getCollationResolver());
499
500
  // ── Cost gate ──
500
501
  // The residual is the structurally-sound incremental arm for an aggregate body;
501
502
  // 'full-rebuild' is the always-correct floor for shapes where the residual is NOT
@@ -598,7 +599,7 @@ export function buildAggregateResidualPlan(ctx, mv, analyzed, tableRef, sourceBa
598
599
  * than gated: a not-retraction-safe descriptor still serves the bulk-insert fast path,
599
600
  * and the flush re-derives only the retracted groups through the residual.
600
601
  */
601
- export function buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColumns, backingPkDefinition, backingPkSourceCols, rootAttrs, sourceAttrToCol, producingByAttrId) {
602
+ export function buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColumns, backingPkDefinition, backingPkSourceCols, rootAttrs, sourceAttrToCol, producingByAttrId, collationResolver) {
602
603
  const sourceSchema = tableRef.tableSchema;
603
604
  const groupColumnSet = new Set(groupColumns);
604
605
  // Post-aggregate filter gate: a Filter whose subtree contains the aggregate is a
@@ -674,13 +675,26 @@ export function buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColum
674
675
  return undefined;
675
676
  if (producing.args.length > 1)
676
677
  return undefined;
677
- const schema = producing.functionSchema;
678
- if (!isAggregateFunctionSchema(schema))
678
+ const unboundSchema = producing.functionSchema;
679
+ if (!isAggregateFunctionSchema(unboundSchema))
679
680
  return undefined;
680
- const algebra = schema.algebra;
681
681
  // A bare source column argument (both classes below step / decompose over the raw
682
682
  // value); a zero-arg (count(*)-shaped) call carries none.
683
+ //
684
+ // Bind the schema to the argument's comparison context ONCE here at plan build:
685
+ // the BOUND schema/algebra are what the delta arm executes (step at statement
686
+ // accumulation, merge/decode/finalize at flush — database-materialized-views-
687
+ // apply.ts), so store maintenance ranks by the same comparator as direct
688
+ // evaluation (min/max over TIMESPAN/JSON/collated text).
689
+ // NOTE (soundness assumption): the flush's decode reconstructs an accumulator from the STORED
690
+ // backing value and merges it against step contributions from SOURCE rows. For
691
+ // min/max the backing column's type is inferReturnType(argType) = argType, so one
692
+ // binding covers both sides. An aggregate whose result type differed from its
693
+ // argument type would need two bindings — none exists today that is both
694
+ // delta-maintainable and comparison-sensitive; state the assumption rather than
695
+ // generalizing for it.
683
696
  let argSourceCol;
697
+ const argBindings = [];
684
698
  if (producing.args.length === 1) {
685
699
  const arg = producing.args[0];
686
700
  if (!(arg instanceof ColumnReferenceNode))
@@ -688,7 +702,14 @@ export function buildDeltaAggregateDescriptor(mv, analyzed, tableRef, groupColum
688
702
  argSourceCol = resolveTransitiveSourceCol(arg.attributeId, sourceAttrToCol, producingByAttrId);
689
703
  if (argSourceCol === undefined)
690
704
  return undefined;
705
+ const argType = arg.getType();
706
+ argBindings.push({
707
+ logicalType: argType.logicalType,
708
+ collation: argType.collationName ? collationResolver(argType.collationName) : undefined,
709
+ });
691
710
  }
711
+ const schema = bindAggregateSchema(unboundSchema, argBindings);
712
+ const algebra = schema.algebra;
692
713
  // Class routing — declaration-driven, never an aggregate-name list:
693
714
  // - **directly delta-maintainable** (`merge` + `negate` (retraction) + `decode` —
694
715
  // the backing stores finalized values, not accumulators): accumulate it as an