@quereus/quereus 2.9.0 → 3.0.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 (356) hide show
  1. package/README.md +224 -222
  2. package/dist/src/core/database-assertions.d.ts +36 -16
  3. package/dist/src/core/database-assertions.d.ts.map +1 -1
  4. package/dist/src/core/database-assertions.js +222 -118
  5. package/dist/src/core/database-assertions.js.map +1 -1
  6. package/dist/src/core/database-transaction.d.ts +96 -13
  7. package/dist/src/core/database-transaction.d.ts.map +1 -1
  8. package/dist/src/core/database-transaction.js +294 -35
  9. package/dist/src/core/database-transaction.js.map +1 -1
  10. package/dist/src/core/database-watchers.d.ts +58 -0
  11. package/dist/src/core/database-watchers.d.ts.map +1 -0
  12. package/dist/src/core/database-watchers.js +206 -0
  13. package/dist/src/core/database-watchers.js.map +1 -0
  14. package/dist/src/core/database.d.ts +78 -5
  15. package/dist/src/core/database.d.ts.map +1 -1
  16. package/dist/src/core/database.js +120 -20
  17. package/dist/src/core/database.js.map +1 -1
  18. package/dist/src/core/statement.d.ts +9 -0
  19. package/dist/src/core/statement.d.ts.map +1 -1
  20. package/dist/src/core/statement.js +29 -0
  21. package/dist/src/core/statement.js.map +1 -1
  22. package/dist/src/core/table-handle.d.ts +45 -0
  23. package/dist/src/core/table-handle.d.ts.map +1 -0
  24. package/dist/src/core/table-handle.js +54 -0
  25. package/dist/src/core/table-handle.js.map +1 -0
  26. package/dist/src/func/builtins/conversion.d.ts.map +1 -1
  27. package/dist/src/func/builtins/conversion.js +12 -1
  28. package/dist/src/func/builtins/conversion.js.map +1 -1
  29. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  30. package/dist/src/func/builtins/explain.js +22 -8
  31. package/dist/src/func/builtins/explain.js.map +1 -1
  32. package/dist/src/func/builtins/generation.d.ts.map +1 -1
  33. package/dist/src/func/builtins/generation.js +26 -1
  34. package/dist/src/func/builtins/generation.js.map +1 -1
  35. package/dist/src/func/builtins/index.d.ts.map +1 -1
  36. package/dist/src/func/builtins/index.js +5 -1
  37. package/dist/src/func/builtins/index.js.map +1 -1
  38. package/dist/src/func/builtins/json-tvf.d.ts.map +1 -1
  39. package/dist/src/func/builtins/json-tvf.js +16 -2
  40. package/dist/src/func/builtins/json-tvf.js.map +1 -1
  41. package/dist/src/func/builtins/schema.d.ts +4 -0
  42. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  43. package/dist/src/func/builtins/schema.js +270 -11
  44. package/dist/src/func/builtins/schema.js.map +1 -1
  45. package/dist/src/func/registration.d.ts +19 -1
  46. package/dist/src/func/registration.d.ts.map +1 -1
  47. package/dist/src/func/registration.js +8 -3
  48. package/dist/src/func/registration.js.map +1 -1
  49. package/dist/src/index.d.ts +7 -1
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +5 -0
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/parser/parser.d.ts.map +1 -1
  54. package/dist/src/parser/parser.js +12 -4
  55. package/dist/src/parser/parser.js.map +1 -1
  56. package/dist/src/planner/analysis/assertion-classifier.d.ts +71 -0
  57. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -0
  58. package/dist/src/planner/analysis/assertion-classifier.js +286 -0
  59. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -0
  60. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts +34 -0
  61. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -0
  62. package/dist/src/planner/analysis/assertion-hoist-cache.js +119 -0
  63. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -0
  64. package/dist/src/planner/analysis/binding-extractor.d.ts +58 -0
  65. package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -0
  66. package/dist/src/planner/analysis/binding-extractor.js +110 -0
  67. package/dist/src/planner/analysis/binding-extractor.js.map +1 -0
  68. package/dist/src/planner/analysis/change-scope.d.ts +184 -0
  69. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -0
  70. package/dist/src/planner/analysis/change-scope.js +825 -0
  71. package/dist/src/planner/analysis/change-scope.js.map +1 -0
  72. package/dist/src/planner/analysis/check-extraction.d.ts +29 -0
  73. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -0
  74. package/dist/src/planner/analysis/check-extraction.js +420 -0
  75. package/dist/src/planner/analysis/check-extraction.js.map +1 -0
  76. package/dist/src/planner/analysis/constraint-extractor.d.ts +47 -7
  77. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  78. package/dist/src/planner/analysis/constraint-extractor.js +186 -93
  79. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  80. package/dist/src/planner/analysis/partial-unique-extraction.d.ts +68 -0
  81. package/dist/src/planner/analysis/partial-unique-extraction.d.ts.map +1 -0
  82. package/dist/src/planner/analysis/partial-unique-extraction.js +347 -0
  83. package/dist/src/planner/analysis/partial-unique-extraction.js.map +1 -0
  84. package/dist/src/planner/analysis/predicate-conjuncts.d.ts +14 -0
  85. package/dist/src/planner/analysis/predicate-conjuncts.d.ts.map +1 -0
  86. package/dist/src/planner/analysis/predicate-conjuncts.js +31 -0
  87. package/dist/src/planner/analysis/predicate-conjuncts.js.map +1 -0
  88. package/dist/src/planner/analysis/predicate-shape.d.ts +52 -0
  89. package/dist/src/planner/analysis/predicate-shape.d.ts.map +1 -0
  90. package/dist/src/planner/analysis/predicate-shape.js +119 -0
  91. package/dist/src/planner/analysis/predicate-shape.js.map +1 -0
  92. package/dist/src/planner/analysis/sat-checker.d.ts +43 -0
  93. package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -0
  94. package/dist/src/planner/analysis/sat-checker.js +393 -0
  95. package/dist/src/planner/analysis/sat-checker.js.map +1 -0
  96. package/dist/src/planner/building/table.d.ts.map +1 -1
  97. package/dist/src/planner/building/table.js +1 -1
  98. package/dist/src/planner/building/table.js.map +1 -1
  99. package/dist/src/planner/framework/characteristics.d.ts +10 -1
  100. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  101. package/dist/src/planner/framework/characteristics.js +24 -5
  102. package/dist/src/planner/framework/characteristics.js.map +1 -1
  103. package/dist/src/planner/framework/context.d.ts +1 -8
  104. package/dist/src/planner/framework/context.d.ts.map +1 -1
  105. package/dist/src/planner/framework/context.js +4 -21
  106. package/dist/src/planner/framework/context.js.map +1 -1
  107. package/dist/src/planner/framework/pass.d.ts +18 -2
  108. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  109. package/dist/src/planner/framework/pass.js +145 -46
  110. package/dist/src/planner/framework/pass.js.map +1 -1
  111. package/dist/src/planner/framework/physical-utils.d.ts +0 -9
  112. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  113. package/dist/src/planner/framework/physical-utils.js +0 -31
  114. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  115. package/dist/src/planner/nodes/aggregate-node.d.ts +25 -0
  116. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  117. package/dist/src/planner/nodes/aggregate-node.js +75 -8
  118. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  119. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  120. package/dist/src/planner/nodes/alias-node.js +6 -1
  121. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  122. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
  123. package/dist/src/planner/nodes/asof-scan-node.js +17 -3
  124. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
  125. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  126. package/dist/src/planner/nodes/bloom-join-node.js +19 -9
  127. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  128. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  129. package/dist/src/planner/nodes/distinct-node.js +10 -6
  130. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  131. package/dist/src/planner/nodes/empty-relation-node.d.ts +27 -0
  132. package/dist/src/planner/nodes/empty-relation-node.d.ts.map +1 -0
  133. package/dist/src/planner/nodes/empty-relation-node.js +61 -0
  134. package/dist/src/planner/nodes/empty-relation-node.js.map +1 -0
  135. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  136. package/dist/src/planner/nodes/filter.js +65 -5
  137. package/dist/src/planner/nodes/filter.js.map +1 -1
  138. package/dist/src/planner/nodes/hash-aggregate.d.ts +1 -1
  139. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  140. package/dist/src/planner/nodes/hash-aggregate.js +8 -6
  141. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  142. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  143. package/dist/src/planner/nodes/join-node.js +12 -9
  144. package/dist/src/planner/nodes/join-node.js.map +1 -1
  145. package/dist/src/planner/nodes/join-utils.d.ts +24 -1
  146. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  147. package/dist/src/planner/nodes/join-utils.js +86 -0
  148. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  149. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  150. package/dist/src/planner/nodes/limit-offset.js +6 -1
  151. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  152. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  153. package/dist/src/planner/nodes/merge-join-node.js +19 -9
  154. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  155. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
  156. package/dist/src/planner/nodes/ordinal-slice-node.js +5 -2
  157. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
  158. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
  159. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  160. package/dist/src/planner/nodes/plan-node-type.js +1 -0
  161. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  162. package/dist/src/planner/nodes/plan-node.d.ts +186 -4
  163. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  164. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  165. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  166. package/dist/src/planner/nodes/project-node.js +75 -30
  167. package/dist/src/planner/nodes/project-node.js.map +1 -1
  168. package/dist/src/planner/nodes/reference.d.ts +24 -2
  169. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  170. package/dist/src/planner/nodes/reference.js +101 -1
  171. package/dist/src/planner/nodes/reference.js.map +1 -1
  172. package/dist/src/planner/nodes/retrieve-node.d.ts +9 -1
  173. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  174. package/dist/src/planner/nodes/retrieve-node.js +21 -0
  175. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  176. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  177. package/dist/src/planner/nodes/returning-node.js +64 -28
  178. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  179. package/dist/src/planner/nodes/scalar.d.ts +1 -0
  180. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  181. package/dist/src/planner/nodes/scalar.js +12 -0
  182. package/dist/src/planner/nodes/scalar.js.map +1 -1
  183. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  184. package/dist/src/planner/nodes/set-operation-node.js +15 -0
  185. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  186. package/dist/src/planner/nodes/single-row.d.ts.map +1 -1
  187. package/dist/src/planner/nodes/single-row.js +3 -1
  188. package/dist/src/planner/nodes/single-row.js.map +1 -1
  189. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  190. package/dist/src/planner/nodes/sort.js +10 -3
  191. package/dist/src/planner/nodes/sort.js.map +1 -1
  192. package/dist/src/planner/nodes/stream-aggregate.d.ts +1 -1
  193. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  194. package/dist/src/planner/nodes/stream-aggregate.js +8 -8
  195. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  196. package/dist/src/planner/nodes/table-access-nodes.d.ts +3 -3
  197. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  198. package/dist/src/planner/nodes/table-access-nodes.js +26 -8
  199. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  200. package/dist/src/planner/nodes/table-function-call.d.ts +4 -1
  201. package/dist/src/planner/nodes/table-function-call.d.ts.map +1 -1
  202. package/dist/src/planner/nodes/table-function-call.js +224 -14
  203. package/dist/src/planner/nodes/table-function-call.js.map +1 -1
  204. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  205. package/dist/src/planner/nodes/window-node.js +9 -2
  206. package/dist/src/planner/nodes/window-node.js.map +1 -1
  207. package/dist/src/planner/optimizer-tuning.d.ts +29 -1
  208. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  209. package/dist/src/planner/optimizer-tuning.js +3 -0
  210. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  211. package/dist/src/planner/optimizer.d.ts.map +1 -1
  212. package/dist/src/planner/optimizer.js +187 -0
  213. package/dist/src/planner/optimizer.js.map +1 -1
  214. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  215. package/dist/src/planner/rules/access/rule-select-access-path.js +22 -7
  216. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  217. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +30 -0
  218. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -0
  219. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +116 -0
  220. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -0
  221. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +7 -7
  222. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -1
  223. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +18 -16
  224. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -1
  225. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +56 -0
  226. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -0
  227. package/dist/src/planner/rules/join/rule-join-elimination.js +326 -0
  228. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -0
  229. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  230. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +10 -2
  231. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  232. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +20 -0
  233. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -0
  234. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +181 -0
  235. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -0
  236. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts +46 -0
  237. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts.map +1 -0
  238. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +156 -0
  239. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js.map +1 -0
  240. package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts +30 -0
  241. package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts.map +1 -0
  242. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js +60 -0
  243. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js.map +1 -0
  244. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +45 -0
  245. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -0
  246. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +210 -0
  247. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -0
  248. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.d.ts +29 -0
  249. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.d.ts.map +1 -0
  250. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js +161 -0
  251. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js.map +1 -0
  252. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +39 -0
  253. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts.map +1 -0
  254. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +91 -0
  255. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -0
  256. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts +35 -0
  257. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -0
  258. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +74 -0
  259. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -0
  260. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +27 -0
  261. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -0
  262. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +103 -0
  263. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -0
  264. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  265. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +1 -25
  266. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  267. package/dist/src/planner/scopes/global.js +2 -2
  268. package/dist/src/planner/scopes/global.js.map +1 -1
  269. package/dist/src/planner/type-utils.d.ts.map +1 -1
  270. package/dist/src/planner/type-utils.js +11 -0
  271. package/dist/src/planner/type-utils.js.map +1 -1
  272. package/dist/src/planner/util/fd-utils.d.ts +245 -0
  273. package/dist/src/planner/util/fd-utils.d.ts.map +1 -0
  274. package/dist/src/planner/util/fd-utils.js +1416 -0
  275. package/dist/src/planner/util/fd-utils.js.map +1 -0
  276. package/dist/src/planner/util/ind-utils.d.ts +79 -0
  277. package/dist/src/planner/util/ind-utils.d.ts.map +1 -0
  278. package/dist/src/planner/util/ind-utils.js +146 -0
  279. package/dist/src/planner/util/ind-utils.js.map +1 -0
  280. package/dist/src/planner/util/key-utils.d.ts +75 -14
  281. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  282. package/dist/src/planner/util/key-utils.js +234 -57
  283. package/dist/src/planner/util/key-utils.js.map +1 -1
  284. package/dist/src/runtime/delta-executor.d.ts +134 -0
  285. package/dist/src/runtime/delta-executor.d.ts.map +1 -0
  286. package/dist/src/runtime/delta-executor.js +382 -0
  287. package/dist/src/runtime/delta-executor.js.map +1 -0
  288. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  289. package/dist/src/runtime/emit/alter-table.js +70 -24
  290. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  291. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  292. package/dist/src/runtime/emit/create-assertion.js +3 -2
  293. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  294. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  295. package/dist/src/runtime/emit/dml-executor.js +121 -41
  296. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  297. package/dist/src/runtime/emit/drop-assertion.js +1 -1
  298. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  299. package/dist/src/runtime/emit/empty-relation.d.ts +5 -0
  300. package/dist/src/runtime/emit/empty-relation.d.ts.map +1 -0
  301. package/dist/src/runtime/emit/empty-relation.js +11 -0
  302. package/dist/src/runtime/emit/empty-relation.js.map +1 -0
  303. package/dist/src/runtime/foreign-key-actions.d.ts +39 -0
  304. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  305. package/dist/src/runtime/foreign-key-actions.js +219 -1
  306. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  307. package/dist/src/runtime/register.d.ts.map +1 -1
  308. package/dist/src/runtime/register.js +2 -0
  309. package/dist/src/runtime/register.js.map +1 -1
  310. package/dist/src/schema/assertion.d.ts +8 -0
  311. package/dist/src/schema/assertion.d.ts.map +1 -1
  312. package/dist/src/schema/change-events.d.ts +5 -1
  313. package/dist/src/schema/change-events.d.ts.map +1 -1
  314. package/dist/src/schema/change-events.js.map +1 -1
  315. package/dist/src/schema/function.d.ts +65 -1
  316. package/dist/src/schema/function.d.ts.map +1 -1
  317. package/dist/src/schema/function.js +31 -0
  318. package/dist/src/schema/function.js.map +1 -1
  319. package/dist/src/schema/manager.d.ts +33 -0
  320. package/dist/src/schema/manager.d.ts.map +1 -1
  321. package/dist/src/schema/manager.js +95 -4
  322. package/dist/src/schema/manager.js.map +1 -1
  323. package/dist/src/schema/rename-rewriter.d.ts +32 -0
  324. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  325. package/dist/src/schema/rename-rewriter.js +392 -105
  326. package/dist/src/schema/rename-rewriter.js.map +1 -1
  327. package/dist/src/schema/table.d.ts +21 -2
  328. package/dist/src/schema/table.d.ts.map +1 -1
  329. package/dist/src/schema/table.js +17 -8
  330. package/dist/src/schema/table.js.map +1 -1
  331. package/dist/src/types/temporal-types.d.ts.map +1 -1
  332. package/dist/src/types/temporal-types.js +32 -0
  333. package/dist/src/types/temporal-types.js.map +1 -1
  334. package/dist/src/vtab/events.d.ts +9 -0
  335. package/dist/src/vtab/events.d.ts.map +1 -1
  336. package/dist/src/vtab/events.js +19 -0
  337. package/dist/src/vtab/events.js.map +1 -1
  338. package/dist/src/vtab/memory/layer/connection.d.ts +20 -8
  339. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  340. package/dist/src/vtab/memory/layer/connection.js +95 -73
  341. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  342. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  343. package/dist/src/vtab/memory/layer/manager.js +91 -10
  344. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  345. package/dist/src/vtab/memory/layer/transaction.d.ts +0 -8
  346. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  347. package/dist/src/vtab/memory/layer/transaction.js +0 -15
  348. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  349. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  350. package/dist/src/vtab/memory/table.js +13 -2
  351. package/dist/src/vtab/memory/table.js.map +1 -1
  352. package/dist/src/vtab/memory/utils/predicate.d.ts +2 -1
  353. package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -1
  354. package/dist/src/vtab/memory/utils/predicate.js +32 -1
  355. package/dist/src/vtab/memory/utils/predicate.js.map +1 -1
  356. package/package.json +3 -3
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Binding-key extraction for incremental delta planning.
3
+ *
4
+ * Wraps `analyzeRowSpecific` and packages its per-relation classifications
5
+ * into a `BindingMode` per `TableReferenceNode` instance. The shape is
6
+ * consumer-neutral — assertions, materialized views, and any other change-
7
+ * driven consumer can register a `DeltaSubscription` against the same
8
+ * `PlanBindings`.
9
+ *
10
+ * - 'row' bindings carry the unique-key columns to bind on (PK preferred,
11
+ * else the lex-min covered key under FD closure).
12
+ * - 'group' bindings carry the minimal GROUP BY columns recovered from
13
+ * `analyzeRowSpecific.groupKeys`.
14
+ * - 'global' bindings carry no extra metadata — the consumer evaluates its
15
+ * plan once for any dependency change.
16
+ */
17
+ import { TableReferenceNode } from '../nodes/reference.js';
18
+ import { analyzeRowSpecific, extractCoveredKeysForTable } from './constraint-extractor.js';
19
+ /**
20
+ * Walk a plan and emit the per-`TableReferenceNode` binding modes the runtime
21
+ * needs to parameterize a delta-driven consumer over the same plan.
22
+ *
23
+ * The selection rule for `'row'` matches what the assertion path already
24
+ * picks: prefer the primary key when it's covered, else fall back to the
25
+ * first covered unique key (lex-min by column index). For `'group'`,
26
+ * `groupKeys.get(relKey)` from `analyzeRowSpecific` is copied through
27
+ * verbatim — already in the table reference's output-column space.
28
+ */
29
+ export function extractBindings(plan) {
30
+ const { classifications, groupKeys } = analyzeRowSpecific(plan);
31
+ const perRelation = new Map();
32
+ const relationToBase = new Map();
33
+ const tableRefByRelKey = new Map();
34
+ collectTableRefs(plan, tableRefByRelKey, relationToBase);
35
+ for (const [relKey, classification] of classifications) {
36
+ if (classification === 'global') {
37
+ perRelation.set(relKey, { kind: 'global' });
38
+ continue;
39
+ }
40
+ if (classification === 'group') {
41
+ const groupColumns = groupKeys.get(relKey);
42
+ if (groupColumns && groupColumns.length > 0) {
43
+ perRelation.set(relKey, { kind: 'group', groupColumns: [...groupColumns] });
44
+ }
45
+ else {
46
+ // Should not happen — analyzeRowSpecific guarantees groupKeys
47
+ // for every 'group' classification. Fall back to global so
48
+ // the consumer doesn't silently bind on nothing.
49
+ perRelation.set(relKey, { kind: 'global' });
50
+ }
51
+ continue;
52
+ }
53
+ // 'row': pick the same key the assertion path picks today: PK first,
54
+ // else first covered unique key.
55
+ const tableRef = tableRefByRelKey.get(relKey);
56
+ if (!tableRef) {
57
+ perRelation.set(relKey, { kind: 'global' });
58
+ continue;
59
+ }
60
+ const pkIndices = tableRef.tableSchema.primaryKeyDefinition.map(d => d.index);
61
+ const covered = extractCoveredKeysForTable(plan, relKey);
62
+ const chosen = chooseRowKey(pkIndices, covered);
63
+ if (chosen.length === 0) {
64
+ // Classification said 'row' but no covered key — defensive fallback.
65
+ perRelation.set(relKey, { kind: 'global' });
66
+ }
67
+ else {
68
+ perRelation.set(relKey, { kind: 'row', keyColumns: chosen });
69
+ }
70
+ }
71
+ return { perRelation, relationToBase };
72
+ }
73
+ /** Choose the key for a 'row' binding: PK if it's among covered, else
74
+ * the lex-min covered key (sort by length, then by joined indices). */
75
+ function chooseRowKey(pkIndices, coveredKeys) {
76
+ if (coveredKeys.length === 0)
77
+ return [];
78
+ if (pkIndices.length > 0) {
79
+ const pkKey = [...pkIndices].sort((a, b) => a - b).join(',');
80
+ for (const k of coveredKeys) {
81
+ if ([...k].sort((a, b) => a - b).join(',') === pkKey)
82
+ return [...pkIndices];
83
+ }
84
+ }
85
+ // Lex-min covered key for determinism: shortest first, then lexicographic
86
+ // by column indices.
87
+ const sorted = [...coveredKeys].map(k => [...k]).sort((a, b) => {
88
+ if (a.length !== b.length)
89
+ return a.length - b.length;
90
+ for (let i = 0; i < a.length; i++) {
91
+ if (a[i] !== b[i])
92
+ return a[i] - b[i];
93
+ }
94
+ return 0;
95
+ });
96
+ return sorted[0];
97
+ }
98
+ function collectTableRefs(node, out, relationToBase) {
99
+ if (node instanceof TableReferenceNode) {
100
+ const schema = node.tableSchema;
101
+ const base = `${schema.schemaName}.${schema.name}`.toLowerCase();
102
+ const relKey = `${base}#${node.id ?? 'unknown'}`;
103
+ out.set(relKey, node);
104
+ relationToBase.set(relKey, base);
105
+ }
106
+ for (const child of node.getChildren()) {
107
+ collectTableRefs(child, out, relationToBase);
108
+ }
109
+ }
110
+ //# sourceMappingURL=binding-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-extractor.js","sourceRoot":"","sources":["../../../../src/planner/analysis/binding-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Public change-scope data contract and analyzer.
3
+ *
4
+ * `ChangeScope` is the external, serializable projection of the internal
5
+ * `BindingMode` shape from `binding-extractor.ts`. It tells a caller what
6
+ * base-table state a prepared `Statement` may read from, with as much
7
+ * narrowing as the optimizer can prove statically (binding keys, group
8
+ * keys, parameter placeholders).
9
+ *
10
+ * The data contract is plain JSON (after sorted-array normalization of the
11
+ * `columns` set), so callers can serialize a scope, ship it over a wire,
12
+ * and deserialize it on the other side.
13
+ *
14
+ * Companion watcher (`Database.watch`) ships separately and consumes the
15
+ * same shape.
16
+ */
17
+ import type { SqlValue, SqlParameters } from '../../common/types.js';
18
+ import type { ScalarType } from '../../common/datatype.js';
19
+ import type { PlanNode } from '../nodes/plan-node.js';
20
+ /** Qualified base-table name, lowercased. */
21
+ export interface QualifiedName {
22
+ readonly schema: string;
23
+ readonly table: string;
24
+ }
25
+ /** A non-deterministic input that means "watching state alone won't tell you when the result changes." */
26
+ export type NonDetSource = {
27
+ readonly kind: 'time';
28
+ } | {
29
+ readonly kind: 'random';
30
+ } | {
31
+ readonly kind: 'volatileUdf';
32
+ readonly name: string;
33
+ } | {
34
+ readonly kind: 'parameter';
35
+ readonly index: number | string;
36
+ };
37
+ /** A bound or unbound value pinning a key column. */
38
+ export type ScopeValue = SqlValue | ParamScopeValue;
39
+ /**
40
+ * Portable, clone- and JSON-safe description of a parameter's declared scalar
41
+ * type. Carries the logical type's *name* (resolvable against the global type
42
+ * registry) plus the metadata flags that callers typically need at the
43
+ * boundary. The full {@link ScalarType} can be reconstructed with
44
+ * {@link scalarTypeFromPortable}.
45
+ */
46
+ export interface PortableScalarType {
47
+ readonly typeName: string;
48
+ readonly nullable: boolean;
49
+ readonly collationName?: string;
50
+ readonly isReadOnly?: boolean;
51
+ }
52
+ /** An unbound parameter placeholder inside a `ScopeValue` tuple. */
53
+ export interface ParamScopeValue {
54
+ readonly kind: 'param';
55
+ readonly index: number | string;
56
+ readonly type: PortableScalarType;
57
+ }
58
+ /**
59
+ * Reconstruct a full {@link ScalarType} from a {@link PortableScalarType} by
60
+ * resolving the logical type through the global type registry. Useful for
61
+ * callers that received a deserialized {@link ChangeScope} and need to feed
62
+ * the parameter type into other planner APIs.
63
+ */
64
+ export declare function scalarTypeFromPortable(p: PortableScalarType): ScalarType;
65
+ /** How the scope narrows reads on a single base table. */
66
+ export type WatchScope = {
67
+ readonly kind: 'full';
68
+ } | {
69
+ readonly kind: 'rows';
70
+ readonly key: readonly string[];
71
+ readonly values: ReadonlyArray<ReadonlyArray<ScopeValue>>;
72
+ } | {
73
+ readonly kind: 'groups';
74
+ readonly groupBy: readonly string[];
75
+ } | {
76
+ readonly kind: 'rowsByGroup';
77
+ readonly groupBy: readonly string[];
78
+ readonly values: ReadonlyArray<ReadonlyArray<ScopeValue>>;
79
+ };
80
+ /** A watch on one base table referenced by the plan. */
81
+ export interface TableWatch {
82
+ readonly table: QualifiedName;
83
+ /**
84
+ * Columns of the table actually read by the plan. `'all'` is reserved for
85
+ * count-style plans that read nothing column-specific.
86
+ */
87
+ readonly columns: ReadonlySet<string> | 'all';
88
+ readonly scope: WatchScope;
89
+ }
90
+ /** Top-level result: per-table watches plus non-deterministic inputs. */
91
+ export interface ChangeScope {
92
+ readonly watches: ReadonlyArray<TableWatch>;
93
+ readonly nonDeterministicSources: ReadonlyArray<NonDetSource>;
94
+ readonly unboundParameters: ReadonlyArray<number | string>;
95
+ }
96
+ /**
97
+ * Handle returned by `Database.watch(scope, handler)`. Calling
98
+ * `unsubscribe()` stops further firings and releases any capture-spec
99
+ * demand the subscription registered. Idempotent.
100
+ */
101
+ export interface Subscription {
102
+ readonly id: string;
103
+ unsubscribe(): void;
104
+ }
105
+ /**
106
+ * Per-watch hit produced for a single fired `WatchEvent`.
107
+ *
108
+ * - For a `rows` / `rowsByGroup` watch, `hits` lists the bound tuples
109
+ * from the watch's `values` that intersected the changes in this txn.
110
+ * - For a `groups` watch, `hits` lists the distinct group-key tuples
111
+ * touched in this txn.
112
+ * - For a `full` watch, `hits` is always empty (the watch describes the
113
+ * whole table — there is no narrower set of keys to report).
114
+ */
115
+ export interface MatchedWatch {
116
+ readonly watch: TableWatch;
117
+ readonly hits: ReadonlyArray<ReadonlyArray<SqlValue>>;
118
+ }
119
+ /**
120
+ * Event delivered to a `WatchHandler` after a transaction commits.
121
+ *
122
+ * `matched` contains one entry per `TableWatch` in the subscription's
123
+ * scope that actually saw a change in this transaction; watches that
124
+ * weren't touched are omitted. The handler is not invoked at all when
125
+ * `matched` would be empty.
126
+ */
127
+ export interface WatchEvent {
128
+ readonly matched: ReadonlyArray<MatchedWatch>;
129
+ readonly txnId: string;
130
+ }
131
+ /**
132
+ * Handler signature for `Database.watch`. May be sync or async. A
133
+ * Promise return is awaited before the watcher proceeds to the next
134
+ * subscription; rejections are logged and swallowed (watcher errors
135
+ * do not roll back the commit — assertions own that contract).
136
+ */
137
+ export type WatchHandler = (event: WatchEvent) => void | Promise<void>;
138
+ /**
139
+ * Walk a (post-analysis) plan and produce its `ChangeScope`. If `params`
140
+ * is supplied, parameter placeholders are substituted in-place and the
141
+ * corresponding indices are dropped from `unboundParameters`.
142
+ */
143
+ export declare function analyzeChangeScope(plan: PlanNode, options?: {
144
+ params?: SqlParameters | SqlValue[];
145
+ }): ChangeScope;
146
+ export declare function unionScopes(a: ChangeScope, b: ChangeScope): ChangeScope;
147
+ export declare function intersectScopes(a: ChangeScope, b: ChangeScope): ChangeScope;
148
+ export declare function bindParameters(scope: ChangeScope, params: SqlParameters | SqlValue[]): ChangeScope;
149
+ export declare function isEmpty(scope: ChangeScope): boolean;
150
+ export declare function describesEverything(scope: ChangeScope): boolean;
151
+ type SerializedWatchScope = {
152
+ kind: 'full';
153
+ } | {
154
+ kind: 'rows';
155
+ key: string[];
156
+ values: SerializedScopeValue[][];
157
+ } | {
158
+ kind: 'groups';
159
+ groupBy: string[];
160
+ } | {
161
+ kind: 'rowsByGroup';
162
+ groupBy: string[];
163
+ values: SerializedScopeValue[][];
164
+ };
165
+ type SerializedScopeValue = {
166
+ v: SqlValue;
167
+ } | {
168
+ p: number | string;
169
+ t: PortableScalarType;
170
+ };
171
+ interface SerializedTableWatch {
172
+ table: QualifiedName;
173
+ columns: string[] | 'all';
174
+ scope: SerializedWatchScope;
175
+ }
176
+ export interface SerializedChangeScope {
177
+ watches: SerializedTableWatch[];
178
+ nonDeterministicSources: NonDetSource[];
179
+ unboundParameters: ReadonlyArray<number | string>;
180
+ }
181
+ export declare function serializeChangeScope(scope: ChangeScope): SerializedChangeScope;
182
+ export declare function deserializeChangeScope(obj: SerializedChangeScope): ChangeScope;
183
+ export {};
184
+ //# sourceMappingURL=change-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-scope.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/change-scope.ts"],"names":[],"mappings":"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"}