@quereus/quereus 2.9.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) 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 +169 -92
  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/pass.d.ts.map +1 -1
  104. package/dist/src/planner/framework/pass.js +46 -16
  105. package/dist/src/planner/framework/pass.js.map +1 -1
  106. package/dist/src/planner/framework/physical-utils.d.ts +0 -9
  107. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  108. package/dist/src/planner/framework/physical-utils.js +0 -31
  109. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  110. package/dist/src/planner/nodes/aggregate-node.d.ts +25 -0
  111. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  112. package/dist/src/planner/nodes/aggregate-node.js +75 -8
  113. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  114. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  115. package/dist/src/planner/nodes/alias-node.js +6 -1
  116. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  117. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
  118. package/dist/src/planner/nodes/asof-scan-node.js +17 -3
  119. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
  120. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/bloom-join-node.js +19 -9
  122. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  123. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  124. package/dist/src/planner/nodes/distinct-node.js +10 -6
  125. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  126. package/dist/src/planner/nodes/empty-relation-node.d.ts +27 -0
  127. package/dist/src/planner/nodes/empty-relation-node.d.ts.map +1 -0
  128. package/dist/src/planner/nodes/empty-relation-node.js +61 -0
  129. package/dist/src/planner/nodes/empty-relation-node.js.map +1 -0
  130. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  131. package/dist/src/planner/nodes/filter.js +65 -5
  132. package/dist/src/planner/nodes/filter.js.map +1 -1
  133. package/dist/src/planner/nodes/hash-aggregate.d.ts +1 -1
  134. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  135. package/dist/src/planner/nodes/hash-aggregate.js +8 -6
  136. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  137. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  138. package/dist/src/planner/nodes/join-node.js +12 -9
  139. package/dist/src/planner/nodes/join-node.js.map +1 -1
  140. package/dist/src/planner/nodes/join-utils.d.ts +24 -1
  141. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  142. package/dist/src/planner/nodes/join-utils.js +86 -0
  143. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  144. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  145. package/dist/src/planner/nodes/limit-offset.js +6 -1
  146. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  147. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  148. package/dist/src/planner/nodes/merge-join-node.js +19 -9
  149. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  150. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
  151. package/dist/src/planner/nodes/ordinal-slice-node.js +5 -2
  152. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
  153. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -0
  154. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  155. package/dist/src/planner/nodes/plan-node-type.js +1 -0
  156. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  157. package/dist/src/planner/nodes/plan-node.d.ts +186 -4
  158. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  159. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  160. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  161. package/dist/src/planner/nodes/project-node.js +75 -30
  162. package/dist/src/planner/nodes/project-node.js.map +1 -1
  163. package/dist/src/planner/nodes/reference.d.ts +24 -2
  164. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  165. package/dist/src/planner/nodes/reference.js +101 -1
  166. package/dist/src/planner/nodes/reference.js.map +1 -1
  167. package/dist/src/planner/nodes/retrieve-node.d.ts +9 -1
  168. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  169. package/dist/src/planner/nodes/retrieve-node.js +21 -0
  170. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  171. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  172. package/dist/src/planner/nodes/returning-node.js +64 -28
  173. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  174. package/dist/src/planner/nodes/scalar.d.ts +1 -0
  175. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  176. package/dist/src/planner/nodes/scalar.js +12 -0
  177. package/dist/src/planner/nodes/scalar.js.map +1 -1
  178. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  179. package/dist/src/planner/nodes/set-operation-node.js +15 -0
  180. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  181. package/dist/src/planner/nodes/single-row.d.ts.map +1 -1
  182. package/dist/src/planner/nodes/single-row.js +3 -1
  183. package/dist/src/planner/nodes/single-row.js.map +1 -1
  184. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  185. package/dist/src/planner/nodes/sort.js +10 -3
  186. package/dist/src/planner/nodes/sort.js.map +1 -1
  187. package/dist/src/planner/nodes/stream-aggregate.d.ts +1 -1
  188. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  189. package/dist/src/planner/nodes/stream-aggregate.js +8 -8
  190. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  191. package/dist/src/planner/nodes/table-access-nodes.d.ts +3 -3
  192. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  193. package/dist/src/planner/nodes/table-access-nodes.js +26 -8
  194. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  195. package/dist/src/planner/nodes/table-function-call.d.ts +4 -1
  196. package/dist/src/planner/nodes/table-function-call.d.ts.map +1 -1
  197. package/dist/src/planner/nodes/table-function-call.js +224 -14
  198. package/dist/src/planner/nodes/table-function-call.js.map +1 -1
  199. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  200. package/dist/src/planner/nodes/window-node.js +9 -2
  201. package/dist/src/planner/nodes/window-node.js.map +1 -1
  202. package/dist/src/planner/optimizer-tuning.d.ts +29 -1
  203. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  204. package/dist/src/planner/optimizer-tuning.js +3 -0
  205. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  206. package/dist/src/planner/optimizer.d.ts.map +1 -1
  207. package/dist/src/planner/optimizer.js +187 -0
  208. package/dist/src/planner/optimizer.js.map +1 -1
  209. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  210. package/dist/src/planner/rules/access/rule-select-access-path.js +22 -7
  211. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  212. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +30 -0
  213. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -0
  214. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +116 -0
  215. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -0
  216. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +7 -7
  217. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -1
  218. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +18 -16
  219. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -1
  220. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +56 -0
  221. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -0
  222. package/dist/src/planner/rules/join/rule-join-elimination.js +326 -0
  223. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -0
  224. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  225. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +10 -2
  226. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  227. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +20 -0
  228. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -0
  229. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +181 -0
  230. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -0
  231. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts +46 -0
  232. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts.map +1 -0
  233. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +156 -0
  234. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js.map +1 -0
  235. package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts +30 -0
  236. package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts.map +1 -0
  237. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js +60 -0
  238. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js.map +1 -0
  239. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +45 -0
  240. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -0
  241. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +210 -0
  242. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -0
  243. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.d.ts +29 -0
  244. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.d.ts.map +1 -0
  245. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js +161 -0
  246. package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js.map +1 -0
  247. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +39 -0
  248. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts.map +1 -0
  249. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +91 -0
  250. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -0
  251. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts +35 -0
  252. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -0
  253. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +74 -0
  254. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -0
  255. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +27 -0
  256. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -0
  257. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +103 -0
  258. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -0
  259. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  260. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +1 -25
  261. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  262. package/dist/src/planner/scopes/global.js +2 -2
  263. package/dist/src/planner/scopes/global.js.map +1 -1
  264. package/dist/src/planner/type-utils.d.ts.map +1 -1
  265. package/dist/src/planner/type-utils.js +11 -0
  266. package/dist/src/planner/type-utils.js.map +1 -1
  267. package/dist/src/planner/util/fd-utils.d.ts +245 -0
  268. package/dist/src/planner/util/fd-utils.d.ts.map +1 -0
  269. package/dist/src/planner/util/fd-utils.js +1416 -0
  270. package/dist/src/planner/util/fd-utils.js.map +1 -0
  271. package/dist/src/planner/util/ind-utils.d.ts +79 -0
  272. package/dist/src/planner/util/ind-utils.d.ts.map +1 -0
  273. package/dist/src/planner/util/ind-utils.js +146 -0
  274. package/dist/src/planner/util/ind-utils.js.map +1 -0
  275. package/dist/src/planner/util/key-utils.d.ts +75 -14
  276. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  277. package/dist/src/planner/util/key-utils.js +234 -57
  278. package/dist/src/planner/util/key-utils.js.map +1 -1
  279. package/dist/src/runtime/delta-executor.d.ts +134 -0
  280. package/dist/src/runtime/delta-executor.d.ts.map +1 -0
  281. package/dist/src/runtime/delta-executor.js +382 -0
  282. package/dist/src/runtime/delta-executor.js.map +1 -0
  283. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  284. package/dist/src/runtime/emit/alter-table.js +52 -16
  285. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  286. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  287. package/dist/src/runtime/emit/create-assertion.js +3 -2
  288. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  289. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  290. package/dist/src/runtime/emit/dml-executor.js +40 -13
  291. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  292. package/dist/src/runtime/emit/drop-assertion.js +1 -1
  293. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  294. package/dist/src/runtime/emit/empty-relation.d.ts +5 -0
  295. package/dist/src/runtime/emit/empty-relation.d.ts.map +1 -0
  296. package/dist/src/runtime/emit/empty-relation.js +11 -0
  297. package/dist/src/runtime/emit/empty-relation.js.map +1 -0
  298. package/dist/src/runtime/foreign-key-actions.d.ts +16 -0
  299. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  300. package/dist/src/runtime/foreign-key-actions.js +81 -1
  301. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  302. package/dist/src/runtime/register.d.ts.map +1 -1
  303. package/dist/src/runtime/register.js +2 -0
  304. package/dist/src/runtime/register.js.map +1 -1
  305. package/dist/src/schema/assertion.d.ts +8 -0
  306. package/dist/src/schema/assertion.d.ts.map +1 -1
  307. package/dist/src/schema/change-events.d.ts +5 -1
  308. package/dist/src/schema/change-events.d.ts.map +1 -1
  309. package/dist/src/schema/change-events.js.map +1 -1
  310. package/dist/src/schema/function.d.ts +65 -1
  311. package/dist/src/schema/function.d.ts.map +1 -1
  312. package/dist/src/schema/function.js +31 -0
  313. package/dist/src/schema/function.js.map +1 -1
  314. package/dist/src/schema/manager.d.ts +33 -0
  315. package/dist/src/schema/manager.d.ts.map +1 -1
  316. package/dist/src/schema/manager.js +95 -4
  317. package/dist/src/schema/manager.js.map +1 -1
  318. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  319. package/dist/src/schema/rename-rewriter.js +303 -102
  320. package/dist/src/schema/rename-rewriter.js.map +1 -1
  321. package/dist/src/schema/table.d.ts +21 -2
  322. package/dist/src/schema/table.d.ts.map +1 -1
  323. package/dist/src/schema/table.js +17 -8
  324. package/dist/src/schema/table.js.map +1 -1
  325. package/dist/src/types/temporal-types.d.ts.map +1 -1
  326. package/dist/src/types/temporal-types.js +32 -0
  327. package/dist/src/types/temporal-types.js.map +1 -1
  328. package/dist/src/vtab/events.d.ts +9 -0
  329. package/dist/src/vtab/events.d.ts.map +1 -1
  330. package/dist/src/vtab/events.js +19 -0
  331. package/dist/src/vtab/events.js.map +1 -1
  332. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  333. package/dist/src/vtab/memory/layer/manager.js +24 -5
  334. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  335. package/dist/src/vtab/memory/utils/predicate.d.ts +2 -1
  336. package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -1
  337. package/dist/src/vtab/memory/utils/predicate.js +32 -1
  338. package/dist/src/vtab/memory/utils/predicate.js.map +1 -1
  339. package/package.json +3 -3
@@ -5,6 +5,39 @@ import { isScalarFunctionSchema, isTableValuedFunctionSchema, isAggregateFunctio
5
5
  import { isWindowFunction } from "../../schema/window-function.js";
6
6
  import { INTEGER_TYPE, TEXT_TYPE } from "../../types/builtin-types.js";
7
7
  import { FunctionFlags } from "../../common/constants.js";
8
+ import { RowOpFlag } from "../../schema/table.js";
9
+ import { jsonStringify } from "../../util/serialization.js";
10
+ import { expressionToString } from "../../emit/ast-stringify.js";
11
+ /**
12
+ * Encodes a tag bag as a JSON object string. Returns null when there are no
13
+ * tags so callers can use `WHERE tags IS NULL` to filter untagged objects.
14
+ * BigInt values are coerced to JSON-safe numbers/strings via `jsonStringify`.
15
+ */
16
+ function tagsToJson(tags) {
17
+ if (!tags)
18
+ return null;
19
+ const keys = Object.keys(tags);
20
+ if (keys.length === 0)
21
+ return null;
22
+ return jsonStringify(tags);
23
+ }
24
+ /**
25
+ * Converts a RowOpMask bitmask to a comma-joined operations list.
26
+ * An empty/default mask returns the canonical default-all string so the
27
+ * value round-trips cleanly.
28
+ */
29
+ function rowOpMaskToString(mask) {
30
+ const parts = [];
31
+ if (mask & RowOpFlag.INSERT)
32
+ parts.push('insert');
33
+ if (mask & RowOpFlag.UPDATE)
34
+ parts.push('update');
35
+ if (mask & RowOpFlag.DELETE)
36
+ parts.push('delete');
37
+ if (parts.length === 0)
38
+ return 'insert,update,delete';
39
+ return parts.join(',');
40
+ }
8
41
  /**
9
42
  * Generates a function signature string for display
10
43
  */
@@ -28,7 +61,8 @@ export const schemaFunc = createIntegratedTableValuedFunction({
28
61
  { name: 'type', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
29
62
  { name: 'name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
30
63
  { name: 'tbl_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
31
- { name: 'sql', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }
64
+ { name: 'sql', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
65
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true }
32
66
  ],
33
67
  keys: [],
34
68
  rowConstraints: []
@@ -54,7 +88,8 @@ export const schemaFunc = createIntegratedTableValuedFunction({
54
88
  tableSchema.isView ? 'view' : 'table',
55
89
  tableSchema.name,
56
90
  tableSchema.name,
57
- createSql
91
+ createSql,
92
+ tagsToJson(tableSchema.tags)
58
93
  ];
59
94
  // Process Indexes for this table
60
95
  if (tableSchema.indexes) {
@@ -82,7 +117,8 @@ export const schemaFunc = createIntegratedTableValuedFunction({
82
117
  'index',
83
118
  indexSchema.name,
84
119
  tableSchema.name,
85
- indexSql
120
+ indexSql,
121
+ tagsToJson(indexSchema.tags)
86
122
  ];
87
123
  }
88
124
  }
@@ -94,7 +130,8 @@ export const schemaFunc = createIntegratedTableValuedFunction({
94
130
  'view',
95
131
  viewSchema.name,
96
132
  viewSchema.name,
97
- viewSchema.sql
133
+ viewSchema.sql,
134
+ tagsToJson(viewSchema.tags)
98
135
  ];
99
136
  }
100
137
  // Process Functions
@@ -104,7 +141,8 @@ export const schemaFunc = createIntegratedTableValuedFunction({
104
141
  'function',
105
142
  funcSchema.name,
106
143
  funcSchema.name,
107
- stringifyCreateFunction(funcSchema)
144
+ stringifyCreateFunction(funcSchema),
145
+ null
108
146
  ];
109
147
  }
110
148
  };
@@ -116,7 +154,7 @@ export const schemaFunc = createIntegratedTableValuedFunction({
116
154
  }
117
155
  catch (error) {
118
156
  // If schema introspection fails, yield an error row
119
- yield ['', 'error', 'schema_error', 'schema_error', `Failed to introspect schema: ${error.message}`];
157
+ yield ['', 'error', 'schema_error', 'schema_error', `Failed to introspect schema: ${error.message}`, null];
120
158
  }
121
159
  });
122
160
  // Table information function (table-valued function)
@@ -134,11 +172,19 @@ export const tableInfoFunc = createIntegratedTableValuedFunction({
134
172
  { name: 'type', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
135
173
  { name: 'notnull', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
136
174
  { name: 'dflt_value', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
137
- { name: 'pk', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true }
175
+ { name: 'pk', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
176
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
177
+ { name: 'collation', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
178
+ { name: 'generated', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true }
138
179
  ],
139
180
  keys: [],
140
181
  rowConstraints: []
141
- }
182
+ },
183
+ relationalAdvertisement: {
184
+ isSet: true,
185
+ // `cid` (column 0) is the column ordinal — unique per row.
186
+ keys: [[{ index: 0 }]],
187
+ },
142
188
  }, async function* (db, tableName) {
143
189
  if (typeof tableName !== 'string') {
144
190
  throw new QuereusError('table_info() requires a table name string argument', StatusCode.ERROR);
@@ -150,13 +196,20 @@ export const tableInfoFunc = createIntegratedTableValuedFunction({
150
196
  for (let i = 0; i < table.columns.length; i++) {
151
197
  const column = table.columns[i];
152
198
  const isPrimaryKey = table.primaryKeyDefinition.some(pk => pk.index === i);
199
+ // 0 = not generated, 1 = virtual generated, 2 = stored generated
200
+ const generatedFlag = column.generated
201
+ ? (column.generatedStored ? 2 : 1)
202
+ : 0;
153
203
  yield [
154
204
  i, // cid
155
205
  column.name, // name
156
206
  column.logicalType.name, // type
157
207
  column.notNull ? 1 : 0, // notnull
158
208
  column.defaultValue?.toString() || null, // dflt_value
159
- isPrimaryKey ? 1 : 0 // pk
209
+ isPrimaryKey ? 1 : 0, // pk
210
+ tagsToJson(column.tags), // tags
211
+ column.collation || 'BINARY', // collation
212
+ generatedFlag // generated
160
213
  ];
161
214
  }
162
215
  });
@@ -181,10 +234,16 @@ export const foreignKeyInfoFunc = createIntegratedTableValuedFunction({
181
234
  { name: 'on_delete', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
182
235
  { name: 'deferred', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
183
236
  { name: 'seq', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
237
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
184
238
  ],
185
239
  keys: [],
186
240
  rowConstraints: []
187
- }
241
+ },
242
+ relationalAdvertisement: {
243
+ isSet: true,
244
+ // Composite key (id, seq): each FK has one row per referenced column.
245
+ keys: [[{ index: 0 }, { index: 10 }]],
246
+ },
188
247
  }, async function* (db, tableName) {
189
248
  if (typeof tableName !== 'string') {
190
249
  throw new QuereusError('foreign_key_info() requires a table name string argument', StatusCode.ERROR);
@@ -198,6 +257,7 @@ export const foreignKeyInfoFunc = createIntegratedTableValuedFunction({
198
257
  return;
199
258
  for (let fkIdx = 0; fkIdx < foreignKeys.length; fkIdx++) {
200
259
  const fk = foreignKeys[fkIdx];
260
+ const fkTagJson = tagsToJson(fk.tags);
201
261
  for (let seq = 0; seq < fk.columns.length; seq++) {
202
262
  const fromCol = table.columns[fk.columns[seq]];
203
263
  // Resolve parent column name
@@ -226,10 +286,204 @@ export const foreignKeyInfoFunc = createIntegratedTableValuedFunction({
226
286
  fk.onDelete, // on_delete
227
287
  fk.deferred ? 1 : 0, // deferred
228
288
  seq, // seq
289
+ fkTagJson, // tags
290
+ ];
291
+ }
292
+ }
293
+ });
294
+ // Index information function (table-valued function)
295
+ export const indexInfoFunc = createIntegratedTableValuedFunction({
296
+ name: 'index_info',
297
+ numArgs: 1,
298
+ deterministic: false,
299
+ returnType: {
300
+ typeClass: 'relation',
301
+ isReadOnly: true,
302
+ isSet: false,
303
+ columns: [
304
+ { name: 'index_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
305
+ { name: 'seq', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
306
+ { name: 'column_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
307
+ { name: 'desc', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
308
+ { name: 'collation', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
309
+ { name: 'unique', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
310
+ { name: 'partial', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
311
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
312
+ ],
313
+ keys: [],
314
+ rowConstraints: []
315
+ },
316
+ relationalAdvertisement: {
317
+ isSet: true,
318
+ // Composite key (index_name, seq): each index has one row per indexed column position.
319
+ keys: [[{ index: 0 }, { index: 1 }]],
320
+ },
321
+ }, async function* (db, tableName) {
322
+ if (typeof tableName !== 'string') {
323
+ throw new QuereusError('index_info() requires a table name string argument', StatusCode.ERROR);
324
+ }
325
+ const table = db._findTable(tableName);
326
+ if (!table) {
327
+ throw new QuereusError(`Table '${tableName}' not found`, StatusCode.ERROR);
328
+ }
329
+ if (!table.indexes)
330
+ return;
331
+ for (const idx of table.indexes) {
332
+ const tagJson = tagsToJson(idx.tags);
333
+ const uniqueFlag = idx.unique ? 1 : 0;
334
+ const partialFlag = idx.predicate ? 1 : 0;
335
+ for (let seq = 0; seq < idx.columns.length; seq++) {
336
+ const col = idx.columns[seq];
337
+ const tableCol = table.columns[col.index];
338
+ yield [
339
+ idx.name, // index_name
340
+ seq, // seq
341
+ tableCol.name, // column_name
342
+ col.desc ? 1 : 0, // desc
343
+ col.collation ?? null, // collation
344
+ uniqueFlag, // unique
345
+ partialFlag, // partial
346
+ tagJson, // tags
347
+ ];
348
+ }
349
+ }
350
+ });
351
+ // CHECK constraint information function (table-valued function)
352
+ export const checkConstraintInfoFunc = createIntegratedTableValuedFunction({
353
+ name: 'check_constraint_info',
354
+ numArgs: 1,
355
+ deterministic: false,
356
+ returnType: {
357
+ typeClass: 'relation',
358
+ isReadOnly: true,
359
+ isSet: false,
360
+ columns: [
361
+ { name: 'id', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
362
+ { name: 'name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
363
+ { name: 'expr', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
364
+ { name: 'operations', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
365
+ { name: 'deferrable', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
366
+ { name: 'initially_deferred', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
367
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
368
+ ],
369
+ keys: [],
370
+ rowConstraints: []
371
+ },
372
+ relationalAdvertisement: {
373
+ isSet: true,
374
+ // `id` (column 0) is the constraint ordinal — unique per emitted row.
375
+ keys: [[{ index: 0 }]],
376
+ },
377
+ }, async function* (db, tableName) {
378
+ if (typeof tableName !== 'string') {
379
+ throw new QuereusError('check_constraint_info() requires a table name string argument', StatusCode.ERROR);
380
+ }
381
+ const table = db._findTable(tableName);
382
+ if (!table) {
383
+ throw new QuereusError(`Table '${tableName}' not found`, StatusCode.ERROR);
384
+ }
385
+ const checks = table.checkConstraints;
386
+ for (let i = 0; i < checks.length; i++) {
387
+ const cc = checks[i];
388
+ yield [
389
+ i, // id
390
+ cc.name ?? null, // name
391
+ expressionToString(cc.expr), // expr
392
+ rowOpMaskToString(cc.operations), // operations
393
+ cc.deferrable ? 1 : 0, // deferrable
394
+ cc.initiallyDeferred ? 1 : 0, // initially_deferred
395
+ tagsToJson(cc.tags), // tags
396
+ ];
397
+ }
398
+ });
399
+ // UNIQUE constraint information function (table-valued function)
400
+ export const uniqueConstraintInfoFunc = createIntegratedTableValuedFunction({
401
+ name: 'unique_constraint_info',
402
+ numArgs: 1,
403
+ deterministic: false,
404
+ returnType: {
405
+ typeClass: 'relation',
406
+ isReadOnly: true,
407
+ isSet: false,
408
+ columns: [
409
+ { name: 'id', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
410
+ { name: 'name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
411
+ { name: 'seq', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
412
+ { name: 'column_name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
413
+ { name: 'partial', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
414
+ { name: 'tags', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true }, generated: true },
415
+ ],
416
+ keys: [],
417
+ rowConstraints: []
418
+ },
419
+ relationalAdvertisement: {
420
+ isSet: true,
421
+ // Composite (id, seq): one row per (constraint, column position).
422
+ keys: [[{ index: 0 }, { index: 2 }]],
423
+ },
424
+ }, async function* (db, tableName) {
425
+ if (typeof tableName !== 'string') {
426
+ throw new QuereusError('unique_constraint_info() requires a table name string argument', StatusCode.ERROR);
427
+ }
428
+ const table = db._findTable(tableName);
429
+ if (!table) {
430
+ throw new QuereusError(`Table '${tableName}' not found`, StatusCode.ERROR);
431
+ }
432
+ const uniques = table.uniqueConstraints;
433
+ if (!uniques)
434
+ return;
435
+ for (let i = 0; i < uniques.length; i++) {
436
+ const uc = uniques[i];
437
+ const tagJson = tagsToJson(uc.tags);
438
+ const partialFlag = uc.predicate ? 1 : 0;
439
+ for (let seq = 0; seq < uc.columns.length; seq++) {
440
+ const tableCol = table.columns[uc.columns[seq]];
441
+ yield [
442
+ i, // id
443
+ uc.name ?? null, // name
444
+ seq, // seq
445
+ tableCol.name, // column_name
446
+ partialFlag, // partial
447
+ tagJson, // tags
229
448
  ];
230
449
  }
231
450
  }
232
451
  });
452
+ // Assertion information function (table-valued function)
453
+ export const assertionInfoFunc = createIntegratedTableValuedFunction({
454
+ name: 'assertion_info',
455
+ numArgs: 0,
456
+ deterministic: false,
457
+ returnType: {
458
+ typeClass: 'relation',
459
+ isReadOnly: true,
460
+ isSet: false,
461
+ columns: [
462
+ { name: 'name', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
463
+ { name: 'violation_sql', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
464
+ { name: 'deferrable', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
465
+ { name: 'initially_deferred', type: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true }, generated: true },
466
+ { name: 'dependent_tables', type: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: false, isReadOnly: true }, generated: true },
467
+ ],
468
+ keys: [],
469
+ rowConstraints: []
470
+ },
471
+ relationalAdvertisement: {
472
+ isSet: true,
473
+ keys: [[{ index: 0 }]],
474
+ },
475
+ }, async function* (db) {
476
+ for (const assertion of db.schemaManager.getAllAssertions()) {
477
+ const deps = assertion.dependentTables ?? [];
478
+ yield [
479
+ assertion.name,
480
+ assertion.violationSql,
481
+ assertion.deferrable ? 1 : 0,
482
+ assertion.initiallyDeferred ? 1 : 0,
483
+ jsonStringify(deps),
484
+ ];
485
+ }
486
+ });
233
487
  export function classifyFunction(funcSchema) {
234
488
  if (isWindowFunction(funcSchema.name))
235
489
  return 'window';
@@ -271,7 +525,12 @@ export const functionInfoFunc = createIntegratedTableValuedFunction({
271
525
  ],
272
526
  keys: [],
273
527
  rowConstraints: []
274
- }
528
+ },
529
+ relationalAdvertisement: {
530
+ isSet: true,
531
+ // Composite (name, num_args): function-key matches the (name, numArgs) registration key.
532
+ keys: [[{ index: 0 }, { index: 1 }]],
533
+ },
275
534
  }, async function* (db, filterName) {
276
535
  const nameFilter = (typeof filterName === 'string') ? filterName.toLowerCase() : null;
277
536
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/func/builtins/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/func/builtins/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AggregateFinalizer, AggregateReducer, IntegratedTableValuedFunc, ScalarFunc, TableValuedFunc, ScalarFunctionSchema, TableValuedFunctionSchema, AggregateFunctionSchema } from '../schema/function.js';
1
+ import type { AggregateFinalizer, AggregateReducer, IntegratedTableValuedFunc, ScalarFunc, TableValuedFunc, ScalarFunctionSchema, TableValuedFunctionSchema, AggregateFunctionSchema, TVFAdvertisement } from '../schema/function.js';
2
2
  import { FunctionFlags } from '../common/constants.js';
3
3
  import type { ScalarType, RelationType } from '../common/datatype.js';
4
4
  import type { LogicalType } from '../types/logical-type.js';
@@ -29,6 +29,22 @@ interface ScalarFuncOptions {
29
29
  * that the argument types are acceptable for this function.
30
30
  */
31
31
  validateArgTypes?: (argTypes: ReadonlyArray<DeepReadonly<LogicalType>>) => boolean;
32
+ /** Argument indices on which this function is injective when all other arguments are held constant. */
33
+ injectiveOnArgs?: readonly number[];
34
+ /** Per-argument monotonicity when all other arguments are held constant. */
35
+ monotoneOnArgs?: {
36
+ readonly [argIndex: number]: 'increasing' | 'decreasing';
37
+ };
38
+ /**
39
+ * Per-argument range-rewrite kind for monotone-but-lossy functions. The
40
+ * actual boundary computation lives on the argument's logical type
41
+ * (`LogicalType.bucketBounds(kind, value)`).
42
+ */
43
+ rangeRewriteOnArg?: {
44
+ readonly [argIndex: number]: {
45
+ readonly kind: string;
46
+ };
47
+ };
32
48
  }
33
49
  /**
34
50
  * Configuration options for table-valued functions
@@ -44,6 +60,8 @@ interface TableValuedFuncOptions {
44
60
  deterministic?: boolean;
45
61
  /** Return type (relation) information */
46
62
  returnType?: RelationType;
63
+ /** Optional relational / physical property advertisement */
64
+ relationalAdvertisement?: TVFAdvertisement;
47
65
  }
48
66
  export type AggValue = any;
49
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/func/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAC/H,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,UAAU,iBAAiB;IAC1B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,UAAU,CAAC;IACrF;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC;CACnF;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,UAAU,CAAC,EAAE,YAAY,CAAC;CAC1B;AAID,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC;AAE3B;;GAEG;AACH,UAAU,oBAAoB;IAC7B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gCAAgC;IAChC,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,UAAU,CAAC;IACrF;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,OAAO,CAAC;CACnF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,GAAG,oBAAoB,CAiBzG;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe,GAAG,yBAAyB,CAiB7H;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,yBAAyB,GAAG,yBAAyB,CAkBjJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,kBAAkB,GAC9B,uBAAuB,CAmBzB"}
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/func/registration.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,10 @@ export function createScalarFunction(options, jsFunc) {
22
22
  returnType,
23
23
  implementation: jsFunc,
24
24
  inferReturnType: options.inferReturnType,
25
- validateArgTypes: options.validateArgTypes
25
+ validateArgTypes: options.validateArgTypes,
26
+ injectiveOnArgs: options.injectiveOnArgs,
27
+ monotoneOnArgs: options.monotoneOnArgs,
28
+ rangeRewriteOnArg: options.rangeRewriteOnArg,
26
29
  };
27
30
  }
28
31
  /**
@@ -47,7 +50,8 @@ export function createTableValuedFunction(options, jsFunc) {
47
50
  numArgs: options.numArgs,
48
51
  flags: options.flags ?? (FunctionFlags.UTF8 | (options.deterministic !== false ? FunctionFlags.DETERMINISTIC : 0)),
49
52
  returnType,
50
- implementation: jsFunc
53
+ implementation: jsFunc,
54
+ relationalAdvertisement: options.relationalAdvertisement
51
55
  };
52
56
  }
53
57
  /**
@@ -73,7 +77,8 @@ export function createIntegratedTableValuedFunction(options, jsFunc) {
73
77
  flags: options.flags ?? (FunctionFlags.UTF8 | (options.deterministic !== false ? FunctionFlags.DETERMINISTIC : 0)),
74
78
  returnType,
75
79
  implementation: jsFunc,
76
- isIntegrated: true
80
+ isIntegrated: true,
81
+ relationalAdvertisement: options.relationalAdvertisement
77
82
  };
78
83
  }
79
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/func/registration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/func/registration.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  export { Database } from './core/database.js';
8
8
  export type { DatabaseInternal } from './core/database-internal.js';
9
9
  export { Statement } from './core/statement.js';
10
+ export { Table } from './core/table-handle.js';
10
11
  export { StatusCode, SqlDataType } from './common/types.js';
11
12
  export type { SqlValue, JsonSqlValue, SqlParameters, Row, MaybePromise, RowOp, ConstraintType, UpdateResult } from './common/types.js';
12
13
  export { isUpdateOk, isConstraintViolation, isSqlValue } from './common/types.js';
@@ -39,12 +40,15 @@ export { validateValue, parseValue, validateAndParse, isValidForType, tryParse }
39
40
  export { Parser } from './parser/parser.js';
40
41
  export { Lexer, TokenType, KEYWORDS } from './parser/lexer.js';
41
42
  export { ParseError } from './parser/parser.js';
43
+ export { tryFoldLiteral } from './parser/utils.js';
42
44
  export { quoteIdentifier } from './emit/ast-stringify.js';
43
45
  export { SchemaManager } from './schema/manager.js';
44
46
  export { buildColumnIndexMap, columnDefToSchema } from './schema/table.js';
45
- export type { TableSchema, IndexSchema as TableIndexSchema } from './schema/table.js';
47
+ export type { TableSchema, IndexSchema as TableIndexSchema, UniqueConstraintSchema } from './schema/table.js';
46
48
  export type { ColumnSchema } from './schema/column.js';
47
49
  export { generateTableDDL, generateIndexDDL } from './schema/ddl-generator.js';
50
+ export { compilePredicate } from './vtab/memory/utils/predicate.js';
51
+ export type { CompiledPredicate } from './vtab/memory/utils/predicate.js';
48
52
  export { isAsyncIterable, getAsyncIterator, asyncIterableToArray } from './runtime/utils.js';
49
53
  export { CollectingInstructionTracer } from './runtime/types.js';
50
54
  export type { InstructionTracer, InstructionTraceEvent } from './runtime/types.js';
@@ -58,6 +62,8 @@ import './runtime/register.js';
58
62
  export type { VirtualTableModule } from './vtab/module.js';
59
63
  export type { ModuleCapabilities, IsolationCapableTable } from './vtab/capabilities.js';
60
64
  export type { PluginManifest, PluginRecord, PluginSetting, VTablePluginInfo, FunctionPluginInfo, CollationPluginInfo, TypePluginInfo, PluginRegistrations } from './vtab/manifest.js';
65
+ export type { ChangeScope, TableWatch, WatchScope, ScopeValue, ParamScopeValue, PortableScalarType, NonDetSource, QualifiedName, SerializedChangeScope, Subscription, WatchEvent, MatchedWatch, WatchHandler, } from './planner/analysis/change-scope.js';
66
+ export { analyzeChangeScope, unionScopes, intersectScopes, bindParameters, isEmpty, describesEverything, serializeChangeScope, deserializeChangeScope, scalarTypeFromPortable, } from './planner/analysis/change-scope.js';
61
67
  export { serializePlanTree, formatPlanTree, formatPlanSummary, serializePlanTreeWithOptions } from './planner/debug.js';
62
68
  export type { PlanDisplayOptions } from './planner/debug.js';
63
69
  export { enableLogging, disableLogging, isLoggingEnabled } from './common/logger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}