@quereus/quereus 4.3.2 → 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 (396) 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-external-changes.d.ts +2 -2
  10. package/dist/src/core/database-external-changes.d.ts.map +1 -1
  11. package/dist/src/core/database-external-changes.js +12 -9
  12. package/dist/src/core/database-external-changes.js.map +1 -1
  13. package/dist/src/core/database-materialized-views-apply.d.ts +156 -14
  14. package/dist/src/core/database-materialized-views-apply.d.ts.map +1 -1
  15. package/dist/src/core/database-materialized-views-apply.js +370 -65
  16. package/dist/src/core/database-materialized-views-apply.js.map +1 -1
  17. package/dist/src/core/database-materialized-views-plan-builders.d.ts +66 -1
  18. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  19. package/dist/src/core/database-materialized-views-plan-builders.js +368 -8
  20. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  21. package/dist/src/core/database-materialized-views-plans.d.ts +257 -30
  22. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  23. package/dist/src/core/database-materialized-views.d.ts +99 -42
  24. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  25. package/dist/src/core/database-materialized-views.js +198 -121
  26. package/dist/src/core/database-materialized-views.js.map +1 -1
  27. package/dist/src/core/database.d.ts +5 -0
  28. package/dist/src/core/database.d.ts.map +1 -1
  29. package/dist/src/core/database.js +41 -18
  30. package/dist/src/core/database.js.map +1 -1
  31. package/dist/src/core/internal-statement-cache.d.ts +18 -0
  32. package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
  33. package/dist/src/core/internal-statement-cache.js +211 -0
  34. package/dist/src/core/internal-statement-cache.js.map +1 -0
  35. package/dist/src/func/builtins/aggregate.d.ts +13 -12
  36. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  37. package/dist/src/func/builtins/aggregate.js +146 -62
  38. package/dist/src/func/builtins/aggregate.js.map +1 -1
  39. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  40. package/dist/src/func/builtins/builtin-window-functions.js +63 -48
  41. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  42. package/dist/src/func/registration.d.ts +19 -1
  43. package/dist/src/func/registration.d.ts.map +1 -1
  44. package/dist/src/func/registration.js +41 -0
  45. package/dist/src/func/registration.js.map +1 -1
  46. package/dist/src/index.d.ts +8 -8
  47. package/dist/src/index.d.ts.map +1 -1
  48. package/dist/src/index.js +12 -11
  49. package/dist/src/index.js.map +1 -1
  50. package/dist/src/parser/parser.d.ts +6 -0
  51. package/dist/src/parser/parser.d.ts.map +1 -1
  52. package/dist/src/parser/parser.js +45 -34
  53. package/dist/src/parser/parser.js.map +1 -1
  54. package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
  55. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  56. package/dist/src/planner/analysis/comparison-collation.js +1 -1
  57. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  58. package/dist/src/planner/analysis/equi-correlation.d.ts +26 -0
  59. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -0
  60. package/dist/src/planner/analysis/equi-correlation.js +62 -0
  61. package/dist/src/planner/analysis/equi-correlation.js.map +1 -0
  62. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
  63. package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
  64. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
  65. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +60 -18
  66. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  67. package/dist/src/planner/analysis/query-rewrite-matcher.js +95 -42
  68. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  69. package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
  70. package/dist/src/planner/analysis/sat-checker.js +43 -4
  71. package/dist/src/planner/analysis/sat-checker.js.map +1 -1
  72. package/dist/src/planner/analysis/scalar-subqueries.d.ts +28 -0
  73. package/dist/src/planner/analysis/scalar-subqueries.d.ts.map +1 -0
  74. package/dist/src/planner/analysis/scalar-subqueries.js +60 -0
  75. package/dist/src/planner/analysis/scalar-subqueries.js.map +1 -0
  76. package/dist/src/planner/building/delete.d.ts.map +1 -1
  77. package/dist/src/planner/building/delete.js +10 -3
  78. package/dist/src/planner/building/delete.js.map +1 -1
  79. package/dist/src/planner/building/expression.d.ts.map +1 -1
  80. package/dist/src/planner/building/expression.js +87 -6
  81. package/dist/src/planner/building/expression.js.map +1 -1
  82. package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
  83. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  84. package/dist/src/planner/building/foreign-key-builder.js +54 -0
  85. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  86. package/dist/src/planner/building/insert.d.ts.map +1 -1
  87. package/dist/src/planner/building/insert.js +9 -12
  88. package/dist/src/planner/building/insert.js.map +1 -1
  89. package/dist/src/planner/building/select.d.ts.map +1 -1
  90. package/dist/src/planner/building/select.js +15 -1
  91. package/dist/src/planner/building/select.js.map +1 -1
  92. package/dist/src/planner/building/update.d.ts.map +1 -1
  93. package/dist/src/planner/building/update.js +13 -4
  94. package/dist/src/planner/building/update.js.map +1 -1
  95. package/dist/src/planner/building/with.d.ts.map +1 -1
  96. package/dist/src/planner/building/with.js +5 -8
  97. package/dist/src/planner/building/with.js.map +1 -1
  98. package/dist/src/planner/cache/materialization-advisory.d.ts +33 -0
  99. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  100. package/dist/src/planner/cache/materialization-advisory.js +164 -28
  101. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  102. package/dist/src/planner/cache/reference-graph.d.ts +0 -4
  103. package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
  104. package/dist/src/planner/cache/reference-graph.js +5 -13
  105. package/dist/src/planner/cache/reference-graph.js.map +1 -1
  106. package/dist/src/planner/cost/index.d.ts +28 -7
  107. package/dist/src/planner/cost/index.d.ts.map +1 -1
  108. package/dist/src/planner/cost/index.js +26 -0
  109. package/dist/src/planner/cost/index.js.map +1 -1
  110. package/dist/src/planner/framework/pass.js +3 -3
  111. package/dist/src/planner/nodes/cache-node.d.ts +18 -2
  112. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  113. package/dist/src/planner/nodes/cache-node.js +42 -3
  114. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  115. package/dist/src/planner/nodes/cte-node.d.ts +15 -1
  116. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  117. package/dist/src/planner/nodes/cte-node.js +12 -2
  118. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  119. package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
  120. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  122. package/dist/src/planner/nodes/recursive-cte-node.d.ts +30 -1
  123. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  124. package/dist/src/planner/nodes/recursive-cte-node.js +30 -3
  125. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  126. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  127. package/dist/src/planner/nodes/scalar.js +26 -3
  128. package/dist/src/planner/nodes/scalar.js.map +1 -1
  129. package/dist/src/planner/optimizer.d.ts.map +1 -1
  130. package/dist/src/planner/optimizer.js +129 -8
  131. package/dist/src/planner/optimizer.js.map +1 -1
  132. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  133. package/dist/src/planner/rules/access/rule-select-access-path.js +43 -18
  134. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  135. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  136. package/dist/src/planner/rules/cache/rule-cte-optimization.js +8 -1
  137. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  138. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
  139. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +72 -54
  140. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  141. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.d.ts.map +1 -1
  142. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js +6 -0
  143. package/dist/src/planner/rules/cache/rule-mutating-subquery-cache.js.map +1 -1
  144. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts +25 -0
  145. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -0
  146. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +176 -0
  147. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -0
  148. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +31 -0
  149. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -0
  150. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +68 -0
  151. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -0
  152. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  153. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +1 -54
  154. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  155. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
  156. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  157. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts +191 -0
  158. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.d.ts.map +1 -0
  159. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +627 -0
  160. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -0
  161. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts +10 -1
  162. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  163. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +242 -51
  164. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  165. package/dist/src/runtime/cache/shared-cache.d.ts +7 -0
  166. package/dist/src/runtime/cache/shared-cache.d.ts.map +1 -1
  167. package/dist/src/runtime/cache/shared-cache.js +34 -1
  168. package/dist/src/runtime/cache/shared-cache.js.map +1 -1
  169. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  170. package/dist/src/runtime/deferred-constraint-queue.js +10 -0
  171. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  172. package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
  173. package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
  174. package/dist/src/runtime/emit/aggregate-setup.js +99 -0
  175. package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
  176. package/dist/src/runtime/emit/aggregate.d.ts +2 -3
  177. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  178. package/dist/src/runtime/emit/aggregate.js +10 -84
  179. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  180. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  181. package/dist/src/runtime/emit/alter-table.js +348 -165
  182. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  183. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  184. package/dist/src/runtime/emit/asof-scan.js +6 -0
  185. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  186. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  187. package/dist/src/runtime/emit/between.js +32 -3
  188. package/dist/src/runtime/emit/between.js.map +1 -1
  189. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  190. package/dist/src/runtime/emit/binary.js +22 -2
  191. package/dist/src/runtime/emit/binary.js.map +1 -1
  192. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  193. package/dist/src/runtime/emit/bloom-join.js +24 -3
  194. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  195. package/dist/src/runtime/emit/cache.d.ts +7 -3
  196. package/dist/src/runtime/emit/cache.d.ts.map +1 -1
  197. package/dist/src/runtime/emit/cache.js +23 -6
  198. package/dist/src/runtime/emit/cache.js.map +1 -1
  199. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  200. package/dist/src/runtime/emit/cast.js +10 -23
  201. package/dist/src/runtime/emit/cast.js.map +1 -1
  202. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  203. package/dist/src/runtime/emit/constraint-check.js +41 -44
  204. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  205. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  206. package/dist/src/runtime/emit/create-view.js +6 -0
  207. package/dist/src/runtime/emit/create-view.js.map +1 -1
  208. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  209. package/dist/src/runtime/emit/cte.js +43 -20
  210. package/dist/src/runtime/emit/cte.js.map +1 -1
  211. package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
  212. package/dist/src/runtime/emit/distinct.js +6 -3
  213. package/dist/src/runtime/emit/distinct.js.map +1 -1
  214. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  215. package/dist/src/runtime/emit/dml-executor.js +241 -115
  216. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  217. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  218. package/dist/src/runtime/emit/hash-aggregate.js +16 -65
  219. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  220. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  221. package/dist/src/runtime/emit/insert.js +18 -7
  222. package/dist/src/runtime/emit/insert.js.map +1 -1
  223. package/dist/src/runtime/emit/join.js +5 -0
  224. package/dist/src/runtime/emit/join.js.map +1 -1
  225. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
  226. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  227. package/dist/src/runtime/emit/materialized-view-helpers.js +38 -7
  228. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  229. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  230. package/dist/src/runtime/emit/materialized-view.js +47 -6
  231. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  232. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  233. package/dist/src/runtime/emit/merge-join.js +18 -8
  234. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  235. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  236. package/dist/src/runtime/emit/recursive-cte.js +59 -1
  237. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  238. package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
  239. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  240. package/dist/src/runtime/emit/set-object-tags.js +8 -0
  241. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  242. package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
  243. package/dist/src/runtime/emit/set-operation.js +7 -4
  244. package/dist/src/runtime/emit/set-operation.js.map +1 -1
  245. package/dist/src/runtime/emit/sort.d.ts.map +1 -1
  246. package/dist/src/runtime/emit/sort.js +5 -2
  247. package/dist/src/runtime/emit/sort.js.map +1 -1
  248. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  249. package/dist/src/runtime/emit/subquery.js +113 -13
  250. package/dist/src/runtime/emit/subquery.js.map +1 -1
  251. package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
  252. package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
  253. package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
  254. package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
  255. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  256. package/dist/src/runtime/emit/update.js +44 -3
  257. package/dist/src/runtime/emit/update.js.map +1 -1
  258. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  259. package/dist/src/runtime/emit/window.js +72 -55
  260. package/dist/src/runtime/emit/window.js.map +1 -1
  261. package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
  262. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  263. package/dist/src/runtime/foreign-key-actions.js +238 -116
  264. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  265. package/dist/src/runtime/parallel-driver.d.ts +20 -1
  266. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  267. package/dist/src/runtime/parallel-driver.js +23 -1
  268. package/dist/src/runtime/parallel-driver.js.map +1 -1
  269. package/dist/src/runtime/types.d.ts +54 -0
  270. package/dist/src/runtime/types.d.ts.map +1 -1
  271. package/dist/src/runtime/types.js.map +1 -1
  272. package/dist/src/schema/catalog-persistability.d.ts +58 -0
  273. package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
  274. package/dist/src/schema/catalog-persistability.js +87 -0
  275. package/dist/src/schema/catalog-persistability.js.map +1 -0
  276. package/dist/src/schema/catalog.d.ts +17 -1
  277. package/dist/src/schema/catalog.d.ts.map +1 -1
  278. package/dist/src/schema/catalog.js +25 -3
  279. package/dist/src/schema/catalog.js.map +1 -1
  280. package/dist/src/schema/constraint-builder.d.ts +20 -22
  281. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  282. package/dist/src/schema/constraint-builder.js +43 -36
  283. package/dist/src/schema/constraint-builder.js.map +1 -1
  284. package/dist/src/schema/ddl-generator.d.ts +23 -0
  285. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  286. package/dist/src/schema/ddl-generator.js +27 -0
  287. package/dist/src/schema/ddl-generator.js.map +1 -1
  288. package/dist/src/schema/function.d.ts +109 -1
  289. package/dist/src/schema/function.d.ts.map +1 -1
  290. package/dist/src/schema/function.js.map +1 -1
  291. package/dist/src/schema/manager.d.ts +28 -0
  292. package/dist/src/schema/manager.d.ts.map +1 -1
  293. package/dist/src/schema/manager.js +82 -14
  294. package/dist/src/schema/manager.js.map +1 -1
  295. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  296. package/dist/src/schema/schema-differ.js +51 -12
  297. package/dist/src/schema/schema-differ.js.map +1 -1
  298. package/dist/src/schema/unique-enforcement.d.ts +31 -0
  299. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  300. package/dist/src/schema/unique-enforcement.js +37 -1
  301. package/dist/src/schema/unique-enforcement.js.map +1 -1
  302. package/dist/src/schema/window-function.d.ts +30 -10
  303. package/dist/src/schema/window-function.d.ts.map +1 -1
  304. package/dist/src/schema/window-function.js +20 -16
  305. package/dist/src/schema/window-function.js.map +1 -1
  306. package/dist/src/types/cast-semantics.d.ts +43 -0
  307. package/dist/src/types/cast-semantics.d.ts.map +1 -0
  308. package/dist/src/types/cast-semantics.js +59 -0
  309. package/dist/src/types/cast-semantics.js.map +1 -0
  310. package/dist/src/types/index.d.ts +1 -1
  311. package/dist/src/types/index.d.ts.map +1 -1
  312. package/dist/src/types/index.js +1 -1
  313. package/dist/src/types/index.js.map +1 -1
  314. package/dist/src/types/json-type.d.ts.map +1 -1
  315. package/dist/src/types/json-type.js +31 -10
  316. package/dist/src/types/json-type.js.map +1 -1
  317. package/dist/src/types/logical-type.d.ts +22 -0
  318. package/dist/src/types/logical-type.d.ts.map +1 -1
  319. package/dist/src/types/logical-type.js.map +1 -1
  320. package/dist/src/types/temporal-types.d.ts.map +1 -1
  321. package/dist/src/types/temporal-types.js +33 -11
  322. package/dist/src/types/temporal-types.js.map +1 -1
  323. package/dist/src/types/validation.d.ts +39 -1
  324. package/dist/src/types/validation.d.ts.map +1 -1
  325. package/dist/src/types/validation.js +60 -0
  326. package/dist/src/types/validation.js.map +1 -1
  327. package/dist/src/util/ast-spine-clone.d.ts +23 -0
  328. package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
  329. package/dist/src/util/ast-spine-clone.js +41 -0
  330. package/dist/src/util/ast-spine-clone.js.map +1 -0
  331. package/dist/src/util/coercion.d.ts +13 -0
  332. package/dist/src/util/coercion.d.ts.map +1 -1
  333. package/dist/src/util/coercion.js +10 -1
  334. package/dist/src/util/coercion.js.map +1 -1
  335. package/dist/src/util/comparison.d.ts +89 -0
  336. package/dist/src/util/comparison.d.ts.map +1 -1
  337. package/dist/src/util/comparison.js +156 -27
  338. package/dist/src/util/comparison.js.map +1 -1
  339. package/dist/src/vtab/manifest.d.ts +7 -0
  340. package/dist/src/vtab/manifest.d.ts.map +1 -1
  341. package/dist/src/vtab/memory/connection.d.ts +14 -1
  342. package/dist/src/vtab/memory/connection.d.ts.map +1 -1
  343. package/dist/src/vtab/memory/connection.js +20 -2
  344. package/dist/src/vtab/memory/connection.js.map +1 -1
  345. package/dist/src/vtab/memory/layer/base.d.ts +6 -1
  346. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  347. package/dist/src/vtab/memory/layer/base.js +14 -5
  348. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  349. package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
  350. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  351. package/dist/src/vtab/memory/layer/connection.js +26 -0
  352. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  353. package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
  354. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  355. package/dist/src/vtab/memory/layer/manager.js +595 -119
  356. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  357. package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
  358. package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
  359. package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
  360. package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
  361. package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
  362. package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
  363. package/dist/src/vtab/memory/layer/row-convert.js +30 -0
  364. package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
  365. package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
  366. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  367. package/dist/src/vtab/memory/layer/scan-layer.js +69 -36
  368. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  369. package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
  370. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  371. package/dist/src/vtab/memory/layer/transaction.js +214 -65
  372. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  373. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  374. package/dist/src/vtab/memory/module.js +9 -2
  375. package/dist/src/vtab/memory/module.js.map +1 -1
  376. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  377. package/dist/src/vtab/memory/table.js +3 -2
  378. package/dist/src/vtab/memory/table.js.map +1 -1
  379. package/dist/src/vtab/memory/types.d.ts +27 -1
  380. package/dist/src/vtab/memory/types.d.ts.map +1 -1
  381. package/dist/src/vtab/memory/types.js +16 -1
  382. package/dist/src/vtab/memory/types.js.map +1 -1
  383. package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
  384. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  385. package/dist/src/vtab/memory/utils/primary-key.js +11 -0
  386. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  387. package/dist/src/vtab/module.d.ts +63 -0
  388. package/dist/src/vtab/module.d.ts.map +1 -1
  389. package/dist/src/vtab/table.d.ts +24 -6
  390. package/dist/src/vtab/table.d.ts.map +1 -1
  391. package/dist/src/vtab/table.js.map +1 -1
  392. package/package.json +3 -3
  393. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -19
  394. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
  395. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -53
  396. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
@@ -42,8 +42,8 @@ import { type SqlValue, type Row } from '../common/types.js';
42
42
  import type { BackingRowChange } from '../vtab/backing-host.js';
43
43
  import type { MaintainedTableSchema } from '../schema/derivation.js';
44
44
  import type { UniqueConstraintSchema } from '../schema/table.js';
45
- import type { MaterializedViewManagerContext, BackingConnectionCache } from './database-materialized-views-plans.js';
46
- export type { BackingConnectionCache } from './database-materialized-views-plans.js';
45
+ import type { MaterializedViewManagerContext, ResidualKeyBatch, BackingConnectionCache } from './database-materialized-views-plans.js';
46
+ export type { BackingConnectionCache, ResidualKeyBatch } from './database-materialized-views-plans.js';
47
47
  export declare class MaterializedViewManager {
48
48
  private readonly ctx;
49
49
  private unsubscribeSchemaChanges;
@@ -237,48 +237,95 @@ export declare class MaterializedViewManager {
237
237
  * too. Omitted by the cold enforcement/eviction callers, which re-resolve the same
238
238
  * connection deterministically.
239
239
  *
240
- * `deferred` is the optional per-statement deferred-rebuild set (MV keys). A
241
- * `'full-rebuild'` plan re-evaluates the WHOLE body, so applying it per source row is
242
- * O(rows × body) pathological. When the DML boundary supplies a `deferred` set, a
243
- * full-rebuild plan is instead marked dirty here (no per-row apply) and rebuilt exactly
244
- * once at the end-of-statement {@link flushDeferredRebuilds} boundary. The bounded-delta
245
- * arms stay per-row-immediate (cheap, and the covering-UNIQUE enforcement scan depends on
246
- * their per-row backing visibility; a full-rebuild MV is never a covering structure, so
247
- * deferring it cannot starve that scan). A cold caller without a `deferred` set falls
248
- * through to an inline rebuild a safe, unamortized fallback that the
249
- * enforcement/eviction callers never actually reach (they never name a full-rebuild MV).
240
+ * `deferred` is the optional per-statement deferred-rebuild set (MV keys) and
241
+ * `residualBatch` the optional per-statement residual key batch. A `'full-rebuild'`
242
+ * plan re-evaluates the WHOLE body, so applying it per source row is O(rows × body)
243
+ * pathological; when the DML boundary supplies a `deferred` set it is instead marked
244
+ * dirty here (no per-row apply) and rebuilt exactly once at the end-of-statement
245
+ * {@link flushDeferredMaintenance} boundary. The three **residual** arms
246
+ * (`'residual-recompute'`, `'prefix-delete'`, `'join-residual'`) are likewise per-key
247
+ * recomputes whose per-row apply costs a scheduler run each; when the DML boundary
248
+ * supplies a `residualBatch`, they accumulate their affected binding keys (deduped
249
+ * across the statement) and recompute once per distinct key at the same flush.
250
+ * `'inverse-projection'` alone stays per-row-immediate: its delta is a cheap pure
251
+ * projection AND the covering-UNIQUE enforcement scan depends on its per-row backing
252
+ * visibility ({@link lookupCoveringConflicts} reads only inverse-projection backings,
253
+ * so deferring the other arms cannot starve that scan —
254
+ * {@link findRowTimeCoveringStructure} declines them). A cold caller without the
255
+ * per-statement structures falls through to the inline per-change apply — a safe,
256
+ * unamortized fallback (the enforcement/eviction callers only ever name
257
+ * inverse-projection MVs, but the fallback stays correct for every arm).
250
258
  */
251
- maintainRowTime(sourceBase: string, change: BackingRowChange, cache?: BackingConnectionCache, deferred?: Set<string>, depth?: number): Promise<void>;
259
+ maintainRowTime(sourceBase: string, change: BackingRowChange, cache?: BackingConnectionCache, deferred?: Set<string>, residualBatch?: ResidualKeyBatch, depth?: number): Promise<void>;
252
260
  /**
253
- * Flush the per-statement deferred full-rebuild set at the end-of-statement boundary:
254
- * rebuild every dirtied full-rebuild MV exactly once (not once per source row) and
255
- * cascade each rebuild's effective {@link BackingRowChange}(s) onward so MV-over-MV
256
- * consumers converge.
261
+ * The invariant pipeline every realized maintenance delta runs, in order: coarsening
262
+ * collision telemetry (observe-only; gated on `coarseningWatch`), the NOT-NULL
263
+ * ordering-seeded-PK guard (no-op unless the MV carries the skew), derived-row
264
+ * CHECK/FK validation (no-op for a constraint-less table; BEFORE the cascade so a
265
+ * consumer never consumes an invalid producer row), parent-side referential
266
+ * enforcement (RESTRICT-walk then declared actions, after `M`'s own image is
267
+ * validated), then the MV-over-MV cascade — each effective {@link BackingRowChange}
268
+ * routed back through {@link maintainRowTime} with the SAME per-statement structures,
269
+ * so a residual consumer accumulates into the batch and a full-rebuild consumer
270
+ * re-dirties the deferred set. Shared verbatim by the per-row inline path and the
271
+ * end-of-statement flush ({@link flushDeferredMaintenance}, which calls with
272
+ * `depth = 0` — its own round bound {@link assertFlushRounds} replaces the recursion
273
+ * bound {@link assertCascadeDepth} there).
274
+ */
275
+ private postApplyBackingChanges;
276
+ /**
277
+ * Flush the per-statement deferred maintenance at the end-of-statement boundary:
278
+ * recompute every accumulated residual key exactly once per distinct key
279
+ * ({@link applyResidualBatch}) and rebuild every dirtied full-rebuild MV exactly once
280
+ * (not once per source row), cascading each apply's effective
281
+ * {@link BackingRowChange}(s) onward so MV-over-MV consumers converge.
257
282
  *
258
- * Drained as a worklist over the producer→consumer DAG. Each rebuild calls
259
- * {@link applyFullRebuild} (re-run the whole body against live mid-transaction source
260
- * state a `'replace-all'` diff) and routes the realized delta back through
261
- * {@link maintainRowTime} with the SAME `deferred` set: an incremental consumer applies
262
- * inline; a full-rebuild consumer re-dirties into the drain (rebuilt in a later round,
263
- * after its producer's delta has landed). The drain proceeds in **rounds** — each round
264
- * snapshots the current dirty set, clears it, and rebuilds each member, collecting the
265
- * next round's re-dirties so a consumer is never permanently stale (a producer rebuilt
266
- * in the same round re-dirties it for the next), and convergence takes at most one round
267
- * per level of the full-rebuild sub-DAG.
283
+ * Drained as a worklist over the producer→consumer DAG. Each apply routes its realized
284
+ * delta back through {@link maintainRowTime} with the SAME `deferred` set and
285
+ * `residualBatch`: an inverse-projection consumer applies inline; a residual consumer
286
+ * accumulates its keys into the batch and a full-rebuild consumer re-dirties into the
287
+ * drain (recomputed in a later round, after its producer's delta has landed). The drain
288
+ * proceeds in **rounds** — each round snapshots both structures, clears them, and
289
+ * applies each member, collecting the next round's re-accumulations so a consumer is
290
+ * never permanently stale (a producer flushed in the same round re-accumulates it for
291
+ * the next), and convergence takes at most one round per level of the deferred sub-DAG.
292
+ * Residual entries drain before rebuilds within a round (arbitrary for correctness —
293
+ * every apply reads live state — but it lets a same-round rebuild read its residual
294
+ * producers' already-flushed backings, saving a round in mixed chains).
268
295
  *
269
296
  * Termination: the dependency DAG is acyclic (a consumer MV requires its producer to
270
- * pre-exist), so the longest full-rebuild chain — hence the round count — is bounded by
297
+ * pre-exist), so the longest deferred chain — hence the round count — is bounded by
271
298
  * the registered-row-time-MV count. Exceeding it signals a structurally-impossible cycle
272
299
  * and fails loud ({@link assertFlushRounds}) — the worklist analogue of
273
300
  * {@link assertCascadeDepth}. This should never fire.
274
301
  *
275
302
  * The DML executor calls this INSIDE the statement-atomicity savepoint (after the row
276
- * loop, before the savepoint release), so a failed rebuild rolls the whole statement
277
- * back. An empty set is a no-op (no overhead on statements touching no full-rebuild MV).
303
+ * loop, before the savepoint release), so a failed recompute/rebuild including a
304
+ * derived-row validation failure or parent-side RESTRICT over the flushed delta rolls
305
+ * the whole statement back with the same attribution as the per-row path. Empty
306
+ * structures are a no-op (no overhead on statements touching no deferred MV).
278
307
  */
279
- flushDeferredRebuilds(deferred: Set<string>, cache?: BackingConnectionCache): Promise<void>;
308
+ flushDeferredMaintenance(deferred: Set<string>, residualBatch: ResidualKeyBatch, cache?: BackingConnectionCache): Promise<void>;
280
309
  /**
281
- * Round backstop for {@link flushDeferredRebuilds}. The full-rebuild sub-DAG is acyclic,
310
+ * Flush one residual-arm MV's accumulated statement keys: run the residual variant
311
+ * once per distinct key against live post-statement state and apply all resulting ops
312
+ * in one {@link BackingHost.applyMaintenance} call (upsert recomputed slices, delete
313
+ * emptied keys — the same keyed diff the per-row path applies, evaluated once per key
314
+ * instead of once per touching row).
315
+ *
316
+ * **Per-statement rebuild demotion** ({@link shouldDegradeToRebuild}, re-costed here
317
+ * against the statement's ACTUAL distinct-key count and the plan's create-time
318
+ * {@link MaintenancePlanCommon.sourceStats}): when k residual runs cost more than one
319
+ * whole-body rebuild — a statement touching most groups — run the plan's
320
+ * {@link ResidualArmCommon.fullRebuildScheduler} and apply a single `'replace-all'`
321
+ * keyed diff instead. Stateless: the stored strategy is unchanged, so a later
322
+ * low-cardinality statement reverts to per-key residuals. Kept on the manager
323
+ * (delegating op computation to the apply-module free helpers) so the statement-flush
324
+ * suites can instrument it alongside {@link applyFullRebuild}.
325
+ */
326
+ private applyResidualBatch;
327
+ /**
328
+ * Round backstop for {@link flushDeferredMaintenance}. The full-rebuild sub-DAG is acyclic,
282
329
  * so the drain converges in at most one round per chain level — bounded by the row-time
283
330
  * MV count. A round count beyond that (`+1` slack for an initial dirty set already
284
331
  * spanning multiple levels) signals a structural impossibility (a cycle) — fail loud
@@ -323,13 +370,20 @@ export declare class MaterializedViewManager {
323
370
  *
324
371
  * Unlike the bounded-delta arms this ignores the specific changed row — the floor
325
372
  * rebuilds wholesale. It is therefore deferred to a single end-of-statement flush
326
- * ({@link flushDeferredRebuilds}) rather than run per source row, so a bulk statement
373
+ * ({@link flushDeferredMaintenance}) rather than run per source row, so a bulk statement
327
374
  * rebuilds exactly once; this is that one rebuild. An empty body (zero rows) yields a
328
375
  * `'replace-all' []`, which empties the backing. Kept on the manager (delegating the
329
376
  * scan / backing write to the apply-module free helpers) so the per-statement-flush
330
377
  * deferral suite can instrument it to count rebuilds.
331
378
  */
332
379
  private applyFullRebuild;
380
+ /**
381
+ * Run a whole-body scheduler to completion against live mid-transaction source state
382
+ * and apply the single `'replace-all'` keyed diff. The shared kernel of the
383
+ * full-rebuild floor ({@link applyFullRebuild}) and the residual arms' per-statement
384
+ * rebuild demotion ({@link applyResidualBatch}).
385
+ */
386
+ private applyReplaceAll;
333
387
  /**
334
388
  * Resolve the linked, enforcement-ready covering MV for a UNIQUE constraint on
335
389
  * `schema.table`, or `undefined`. The constraint's `coveringStructureName`
@@ -337,13 +391,15 @@ export declare class MaterializedViewManager {
337
391
  * this confirms a live row-time plan exists for the source, the MV is not
338
392
  * `stale` (structural breakage), and the plan is **per-row maintained** — only
339
393
  * then is its backing table row-time consistent enough to answer conflict
340
- * resolution. A `'full-rebuild'` plan is deferred to the end-of-statement flush
341
- * (its backing lags the source mid-statement), so it can never serve as a
342
- * covering structure for a synchronous per-row UNIQUE probe it is skipped here
343
- * regardless of any (informational) `coveringStructureName` link, which keeps the
344
- * eligibility flip from opening a stale-read enforcement path. O(1) negative fast
345
- * path off {@link rowTimeBySource} so a source table with no row-time covering MV
346
- * pays a single map lookup and stays on the synchronous index/scan path.
394
+ * resolution. Only the `'inverse-projection'` arm qualifies: every other arm
395
+ * the `'full-rebuild'` floor and the residual arms is deferred to the
396
+ * end-of-statement flush (its backing lags the source mid-statement), so it can
397
+ * never serve as a covering structure for a synchronous per-row UNIQUE probe —
398
+ * all are skipped here regardless of any (informational) `coveringStructureName`
399
+ * link, which keeps an eligibility flip from opening a stale-read enforcement
400
+ * path. O(1) negative fast path off {@link rowTimeBySource} so a source table
401
+ * with no row-time covering MV pays a single map lookup and stays on the
402
+ * synchronous index/scan path.
347
403
  *
348
404
  * **Collation eligibility gate.** A covering MV generates its conflict candidates
349
405
  * by re-comparing each backing row under the SOURCE column's DECLARED collation
@@ -427,8 +483,9 @@ export declare class MaterializedViewManager {
427
483
  * - the leading `k` backing-PK columns do not map to **exactly** the UC
428
484
  * source-column set (defensive guard against a non-UC-leading structure);
429
485
  * - any leading backing-PK column, or its source UC column, has a **non-BINARY**
430
- * collation. This is a *soundness* gate, not a perf choice: the prefix seek's
431
- * early-termination compares with plain `compareSqlValues` (binary), while the
486
+ * collation. This is a *soundness* gate, not a perf choice: the scan request
487
+ * carries no collation names, so the prefix seek's early-termination resolves its
488
+ * comparators at the BINARY floor (`resolveScanComparators`), while the
432
489
  * backing btree orders the PK by its declared collation and the UNIQUE
433
490
  * constraint conflicts by the source collation. Under a non-binary collation
434
491
  * the binary early-termination could `break` before a collated-equal /
@@ -1 +1 @@
1
- {"version":3,"file":"database-materialized-views.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-materialized-views.d.ts","sourceRoot":"","sources":["../../../src/core/database-materialized-views.ts"],"names":[],"mappings":"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"}