@quereus/quereus 4.5.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (818) hide show
  1. package/README.md +5 -4
  2. package/dist/src/common/errors.d.ts +17 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +21 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/core/database-assertions.d.ts +4 -3
  7. package/dist/src/core/database-assertions.d.ts.map +1 -1
  8. package/dist/src/core/database-assertions.js +44 -14
  9. package/dist/src/core/database-assertions.js.map +1 -1
  10. package/dist/src/core/database-events.d.ts +161 -1
  11. package/dist/src/core/database-events.d.ts.map +1 -1
  12. package/dist/src/core/database-events.js +307 -5
  13. package/dist/src/core/database-events.js.map +1 -1
  14. package/dist/src/core/database-internal.d.ts +5 -2
  15. package/dist/src/core/database-internal.d.ts.map +1 -1
  16. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  17. package/dist/src/core/database-materialized-views-plan-builders.js +33 -4
  18. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  19. package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
  20. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  21. package/dist/src/core/database-materialized-views.d.ts +46 -0
  22. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  23. package/dist/src/core/database-materialized-views.js +75 -4
  24. package/dist/src/core/database-materialized-views.js.map +1 -1
  25. package/dist/src/core/database-transaction.d.ts +9 -0
  26. package/dist/src/core/database-transaction.d.ts.map +1 -1
  27. package/dist/src/core/database-transaction.js +9 -0
  28. package/dist/src/core/database-transaction.js.map +1 -1
  29. package/dist/src/core/database.d.ts +16 -2
  30. package/dist/src/core/database.d.ts.map +1 -1
  31. package/dist/src/core/database.js +56 -15
  32. package/dist/src/core/database.js.map +1 -1
  33. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  34. package/dist/src/core/derived-row-validator.js +7 -1
  35. package/dist/src/core/derived-row-validator.js.map +1 -1
  36. package/dist/src/core/statement.d.ts.map +1 -1
  37. package/dist/src/core/statement.js +15 -5
  38. package/dist/src/core/statement.js.map +1 -1
  39. package/dist/src/emit/ast-stringify.d.ts +18 -2
  40. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  41. package/dist/src/emit/ast-stringify.js +22 -4
  42. package/dist/src/emit/ast-stringify.js.map +1 -1
  43. package/dist/src/func/builtins/aggregate.js +11 -11
  44. package/dist/src/func/builtins/aggregate.js.map +1 -1
  45. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  46. package/dist/src/func/builtins/builtin-window-functions.js +15 -85
  47. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  48. package/dist/src/func/builtins/conversion.d.ts.map +1 -1
  49. package/dist/src/func/builtins/conversion.js +10 -9
  50. package/dist/src/func/builtins/conversion.js.map +1 -1
  51. package/dist/src/func/builtins/datetime.d.ts.map +1 -1
  52. package/dist/src/func/builtins/datetime.js +28 -10
  53. package/dist/src/func/builtins/datetime.js.map +1 -1
  54. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  55. package/dist/src/func/builtins/explain.js +19 -5
  56. package/dist/src/func/builtins/explain.js.map +1 -1
  57. package/dist/src/func/builtins/json.d.ts.map +1 -1
  58. package/dist/src/func/builtins/json.js +23 -17
  59. package/dist/src/func/builtins/json.js.map +1 -1
  60. package/dist/src/func/builtins/mutation.js +2 -2
  61. package/dist/src/func/builtins/mutation.js.map +1 -1
  62. package/dist/src/func/builtins/return-types.d.ts +327 -0
  63. package/dist/src/func/builtins/return-types.d.ts.map +1 -0
  64. package/dist/src/func/builtins/return-types.js +43 -0
  65. package/dist/src/func/builtins/return-types.js.map +1 -0
  66. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  67. package/dist/src/func/builtins/scalar.js +150 -79
  68. package/dist/src/func/builtins/scalar.js.map +1 -1
  69. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  70. package/dist/src/func/builtins/schema.js +43 -8
  71. package/dist/src/func/builtins/schema.js.map +1 -1
  72. package/dist/src/func/builtins/string.d.ts.map +1 -1
  73. package/dist/src/func/builtins/string.js +4 -2
  74. package/dist/src/func/builtins/string.js.map +1 -1
  75. package/dist/src/func/builtins/timespan.d.ts +3 -0
  76. package/dist/src/func/builtins/timespan.d.ts.map +1 -1
  77. package/dist/src/func/builtins/timespan.js +15 -11
  78. package/dist/src/func/builtins/timespan.js.map +1 -1
  79. package/dist/src/func/registration.d.ts +35 -1
  80. package/dist/src/func/registration.d.ts.map +1 -1
  81. package/dist/src/func/registration.js +235 -41
  82. package/dist/src/func/registration.js.map +1 -1
  83. package/dist/src/index.d.ts +14 -7
  84. package/dist/src/index.d.ts.map +1 -1
  85. package/dist/src/index.js +15 -6
  86. package/dist/src/index.js.map +1 -1
  87. package/dist/src/parser/ast.d.ts +58 -1
  88. package/dist/src/parser/ast.d.ts.map +1 -1
  89. package/dist/src/parser/parser.d.ts +46 -0
  90. package/dist/src/parser/parser.d.ts.map +1 -1
  91. package/dist/src/parser/parser.js +161 -45
  92. package/dist/src/parser/parser.js.map +1 -1
  93. package/dist/src/parser/utils.d.ts +13 -1
  94. package/dist/src/parser/utils.d.ts.map +1 -1
  95. package/dist/src/parser/utils.js +14 -0
  96. package/dist/src/parser/utils.js.map +1 -1
  97. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  98. package/dist/src/planner/analysis/assertion-classifier.js +7 -2
  99. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  100. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  101. package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
  102. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  103. package/dist/src/planner/analysis/change-scope.d.ts +11 -3
  104. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  105. package/dist/src/planner/analysis/change-scope.js +5 -4
  106. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  107. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
  108. package/dist/src/planner/analysis/check-extraction.js +37 -4
  109. package/dist/src/planner/analysis/check-extraction.js.map +1 -1
  110. package/dist/src/planner/analysis/comparison-collation.d.ts +20 -22
  111. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  112. package/dist/src/planner/analysis/comparison-collation.js +29 -26
  113. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  114. package/dist/src/planner/analysis/constraint-extractor.d.ts +0 -7
  115. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  116. package/dist/src/planner/analysis/constraint-extractor.js +59 -59
  117. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  118. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  119. package/dist/src/planner/analysis/coverage-prover.js +13 -5
  120. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  121. package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
  122. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
  123. package/dist/src/planner/analysis/equi-correlation.js +8 -1
  124. package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
  125. package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
  126. package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
  127. package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
  128. package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
  129. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
  130. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  131. package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
  132. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  133. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  134. package/dist/src/planner/building/alter-table.js +117 -43
  135. package/dist/src/planner/building/alter-table.js.map +1 -1
  136. package/dist/src/planner/building/coercion.d.ts +21 -45
  137. package/dist/src/planner/building/coercion.d.ts.map +1 -1
  138. package/dist/src/planner/building/coercion.js +42 -91
  139. package/dist/src/planner/building/coercion.js.map +1 -1
  140. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  141. package/dist/src/planner/building/constraint-builder.js +9 -5
  142. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  143. package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
  144. package/dist/src/planner/building/create-assertion.js +72 -1
  145. package/dist/src/planner/building/create-assertion.js.map +1 -1
  146. package/dist/src/planner/building/create-view.d.ts +6 -1
  147. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  148. package/dist/src/planner/building/create-view.js +12 -3
  149. package/dist/src/planner/building/create-view.js.map +1 -1
  150. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  151. package/dist/src/planner/building/ddl.js +6 -2
  152. package/dist/src/planner/building/ddl.js.map +1 -1
  153. package/dist/src/planner/building/delete.d.ts.map +1 -1
  154. package/dist/src/planner/building/delete.js +23 -10
  155. package/dist/src/planner/building/delete.js.map +1 -1
  156. package/dist/src/planner/building/dml-target.d.ts.map +1 -1
  157. package/dist/src/planner/building/dml-target.js +4 -0
  158. package/dist/src/planner/building/dml-target.js.map +1 -1
  159. package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
  160. package/dist/src/planner/building/drop-assertion.js +3 -1
  161. package/dist/src/planner/building/drop-assertion.js.map +1 -1
  162. package/dist/src/planner/building/expression.d.ts +17 -0
  163. package/dist/src/planner/building/expression.d.ts.map +1 -1
  164. package/dist/src/planner/building/expression.js +28 -17
  165. package/dist/src/planner/building/expression.js.map +1 -1
  166. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  167. package/dist/src/planner/building/foreign-key-builder.js +7 -5
  168. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  169. package/dist/src/planner/building/function-call.d.ts +35 -0
  170. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  171. package/dist/src/planner/building/function-call.js +60 -42
  172. package/dist/src/planner/building/function-call.js.map +1 -1
  173. package/dist/src/planner/building/insert.d.ts.map +1 -1
  174. package/dist/src/planner/building/insert.js +185 -48
  175. package/dist/src/planner/building/insert.js.map +1 -1
  176. package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
  177. package/dist/src/planner/building/materialized-view.js +3 -1
  178. package/dist/src/planner/building/materialized-view.js.map +1 -1
  179. package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
  180. package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
  181. package/dist/src/planner/building/schema-authored-context.js +75 -0
  182. package/dist/src/planner/building/schema-authored-context.js.map +1 -0
  183. package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
  184. package/dist/src/planner/building/schema-resolution.js +7 -4
  185. package/dist/src/planner/building/schema-resolution.js.map +1 -1
  186. package/dist/src/planner/building/select-aggregates.d.ts +188 -3
  187. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  188. package/dist/src/planner/building/select-aggregates.js +449 -65
  189. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  190. package/dist/src/planner/building/select-compound.js +2 -2
  191. package/dist/src/planner/building/select-compound.js.map +1 -1
  192. package/dist/src/planner/building/select-context.d.ts +98 -0
  193. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  194. package/dist/src/planner/building/select-context.js +120 -37
  195. package/dist/src/planner/building/select-context.js.map +1 -1
  196. package/dist/src/planner/building/select-modifiers.d.ts +10 -3
  197. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  198. package/dist/src/planner/building/select-modifiers.js +29 -8
  199. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  200. package/dist/src/planner/building/select-ordinal.d.ts +64 -19
  201. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  202. package/dist/src/planner/building/select-ordinal.js +79 -30
  203. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  204. package/dist/src/planner/building/select-projections.d.ts +1 -1
  205. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  206. package/dist/src/planner/building/select-projections.js +18 -11
  207. package/dist/src/planner/building/select-projections.js.map +1 -1
  208. package/dist/src/planner/building/select-window.d.ts +13 -3
  209. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  210. package/dist/src/planner/building/select-window.js +142 -37
  211. package/dist/src/planner/building/select-window.js.map +1 -1
  212. package/dist/src/planner/building/select.d.ts +37 -1
  213. package/dist/src/planner/building/select.d.ts.map +1 -1
  214. package/dist/src/planner/building/select.js +240 -109
  215. package/dist/src/planner/building/select.js.map +1 -1
  216. package/dist/src/planner/building/update.d.ts.map +1 -1
  217. package/dist/src/planner/building/update.js +27 -13
  218. package/dist/src/planner/building/update.js.map +1 -1
  219. package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
  220. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  221. package/dist/src/planner/building/view-mutation-builder.js +102 -8
  222. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  223. package/dist/src/planner/building/with.d.ts.map +1 -1
  224. package/dist/src/planner/building/with.js +34 -4
  225. package/dist/src/planner/building/with.js.map +1 -1
  226. package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
  227. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  228. package/dist/src/planner/cache/correlation-detector.js +26 -0
  229. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  230. package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
  231. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  232. package/dist/src/planner/cache/materialization-advisory.js +12 -3
  233. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  234. package/dist/src/planner/cost/conjunct-cost.d.ts +40 -0
  235. package/dist/src/planner/cost/conjunct-cost.d.ts.map +1 -1
  236. package/dist/src/planner/cost/conjunct-cost.js +45 -0
  237. package/dist/src/planner/cost/conjunct-cost.js.map +1 -1
  238. package/dist/src/planner/cost/index.d.ts +10 -0
  239. package/dist/src/planner/cost/index.d.ts.map +1 -1
  240. package/dist/src/planner/cost/index.js +15 -0
  241. package/dist/src/planner/cost/index.js.map +1 -1
  242. package/dist/src/planner/framework/characteristics.d.ts +9 -0
  243. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  244. package/dist/src/planner/framework/characteristics.js.map +1 -1
  245. package/dist/src/planner/framework/pass.d.ts +2 -0
  246. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  247. package/dist/src/planner/framework/pass.js +15 -0
  248. package/dist/src/planner/framework/pass.js.map +1 -1
  249. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
  250. package/dist/src/planner/mutation/backward-body.js +4 -1
  251. package/dist/src/planner/mutation/backward-body.js.map +1 -1
  252. package/dist/src/planner/mutation/body-context.d.ts +23 -0
  253. package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
  254. package/dist/src/planner/mutation/body-context.js +26 -0
  255. package/dist/src/planner/mutation/body-context.js.map +1 -0
  256. package/dist/src/planner/mutation/cte-flatten.js +15 -2
  257. package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
  258. package/dist/src/planner/mutation/decomposition.d.ts +8 -0
  259. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
  260. package/dist/src/planner/mutation/decomposition.js +8 -3
  261. package/dist/src/planner/mutation/decomposition.js.map +1 -1
  262. package/dist/src/planner/mutation/lens-enforcement.js +1 -1
  263. package/dist/src/planner/mutation/multi-source.d.ts +7 -0
  264. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
  265. package/dist/src/planner/mutation/multi-source.js +5 -0
  266. package/dist/src/planner/mutation/multi-source.js.map +1 -1
  267. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  268. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  269. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  270. package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
  271. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
  272. package/dist/src/planner/mutation/scope-transform.js +181 -33
  273. package/dist/src/planner/mutation/scope-transform.js.map +1 -1
  274. package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
  275. package/dist/src/planner/mutation/set-op.js +66 -16
  276. package/dist/src/planner/mutation/set-op.js.map +1 -1
  277. package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
  278. package/dist/src/planner/mutation/single-source.js +100 -24
  279. package/dist/src/planner/mutation/single-source.js.map +1 -1
  280. package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
  281. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  282. package/dist/src/planner/nodes/add-constraint-node.js +10 -1
  283. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  284. package/dist/src/planner/nodes/aggregate-node.d.ts +15 -0
  285. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  286. package/dist/src/planner/nodes/aggregate-node.js +32 -17
  287. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  288. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  289. package/dist/src/planner/nodes/alias-node.js +2 -1
  290. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  291. package/dist/src/planner/nodes/alter-table-node.d.ts +51 -10
  292. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  293. package/dist/src/planner/nodes/alter-table-node.js +49 -2
  294. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  295. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -1
  296. package/dist/src/planner/nodes/asof-scan-node.js +4 -1
  297. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -1
  298. package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -1
  299. package/dist/src/planner/nodes/asserted-keys-node.js +2 -1
  300. package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -1
  301. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  302. package/dist/src/planner/nodes/bloom-join-node.js +8 -3
  303. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  304. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  305. package/dist/src/planner/nodes/cache-node.js +2 -1
  306. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  307. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  308. package/dist/src/planner/nodes/constraint-check-node.js +17 -19
  309. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  310. package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
  311. package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
  312. package/dist/src/planner/nodes/create-assertion-node.js +5 -2
  313. package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
  314. package/dist/src/planner/nodes/cte-node.d.ts +19 -9
  315. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  316. package/dist/src/planner/nodes/cte-node.js +25 -9
  317. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  318. package/dist/src/planner/nodes/delete-node.d.ts +20 -2
  319. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  320. package/dist/src/planner/nodes/delete-node.js +11 -2
  321. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  322. package/dist/src/planner/nodes/distinct-node.d.ts +6 -0
  323. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  324. package/dist/src/planner/nodes/distinct-node.js +10 -2
  325. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  326. package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
  327. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  328. package/dist/src/planner/nodes/dml-executor-node.js +107 -15
  329. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  330. package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
  331. package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
  332. package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
  333. package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
  334. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -1
  335. package/dist/src/planner/nodes/eager-prefetch-node.js +2 -1
  336. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
  337. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts +5 -0
  338. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
  339. package/dist/src/planner/nodes/fanout-lookup-join-node.js +13 -6
  340. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
  341. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  342. package/dist/src/planner/nodes/filter.js +18 -5
  343. package/dist/src/planner/nodes/filter.js.map +1 -1
  344. package/dist/src/planner/nodes/hash-aggregate.d.ts +1 -0
  345. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  346. package/dist/src/planner/nodes/hash-aggregate.js +21 -16
  347. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  348. package/dist/src/planner/nodes/insert-node.d.ts +19 -2
  349. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  350. package/dist/src/planner/nodes/insert-node.js +10 -2
  351. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  352. package/dist/src/planner/nodes/join-node.d.ts +20 -1
  353. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  354. package/dist/src/planner/nodes/join-node.js +30 -9
  355. package/dist/src/planner/nodes/join-node.js.map +1 -1
  356. package/dist/src/planner/nodes/join-utils.d.ts +21 -0
  357. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  358. package/dist/src/planner/nodes/join-utils.js +26 -0
  359. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  360. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
  361. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  362. package/dist/src/planner/nodes/key-set-semi-join-node.js +90 -17
  363. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  364. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
  365. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  366. package/dist/src/planner/nodes/lens-auxiliary-access-node.js +2 -1
  367. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  368. package/dist/src/planner/nodes/limit-offset.d.ts +6 -0
  369. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  370. package/dist/src/planner/nodes/limit-offset.js +10 -2
  371. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  372. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  373. package/dist/src/planner/nodes/merge-join-node.js +8 -3
  374. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  375. package/dist/src/planner/nodes/ordinal-slice-node.d.ts +5 -0
  376. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
  377. package/dist/src/planner/nodes/ordinal-slice-node.js +9 -2
  378. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
  379. package/dist/src/planner/nodes/plan-node.d.ts +29 -0
  380. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  381. package/dist/src/planner/nodes/plan-node.js +12 -0
  382. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  383. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  384. package/dist/src/planner/nodes/project-node.js +18 -36
  385. package/dist/src/planner/nodes/project-node.js.map +1 -1
  386. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  387. package/dist/src/planner/nodes/reference.js +3 -2
  388. package/dist/src/planner/nodes/reference.js.map +1 -1
  389. package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
  390. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  391. package/dist/src/planner/nodes/retrieve-node.js +10 -2
  392. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  393. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  394. package/dist/src/planner/nodes/returning-node.js +13 -32
  395. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  396. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  397. package/dist/src/planner/nodes/scalar.js +5 -18
  398. package/dist/src/planner/nodes/scalar.js.map +1 -1
  399. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  400. package/dist/src/planner/nodes/sort.js +3 -1
  401. package/dist/src/planner/nodes/sort.js.map +1 -1
  402. package/dist/src/planner/nodes/stream-aggregate.d.ts +1 -0
  403. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  404. package/dist/src/planner/nodes/stream-aggregate.js +22 -20
  405. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  406. package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
  407. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  408. package/dist/src/planner/nodes/table-access-nodes.js +69 -2
  409. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  410. package/dist/src/planner/nodes/update-node.d.ts +19 -2
  411. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  412. package/dist/src/planner/nodes/update-node.js +10 -2
  413. package/dist/src/planner/nodes/update-node.js.map +1 -1
  414. package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
  415. package/dist/src/planner/nodes/window-function.js +8 -0
  416. package/dist/src/planner/nodes/window-function.js.map +1 -1
  417. package/dist/src/planner/nodes/window-node.d.ts +1 -1
  418. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  419. package/dist/src/planner/nodes/window-node.js +3 -1
  420. package/dist/src/planner/nodes/window-node.js.map +1 -1
  421. package/dist/src/planner/optimizer.d.ts +27 -1
  422. package/dist/src/planner/optimizer.d.ts.map +1 -1
  423. package/dist/src/planner/optimizer.js +130 -10
  424. package/dist/src/planner/optimizer.js.map +1 -1
  425. package/dist/src/planner/planning-context.d.ts +24 -0
  426. package/dist/src/planner/planning-context.d.ts.map +1 -1
  427. package/dist/src/planner/planning-context.js.map +1 -1
  428. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
  429. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  430. package/dist/src/planner/rules/access/rule-key-set-seek.js +296 -135
  431. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  432. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  433. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
  434. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  435. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +30 -1
  436. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  437. package/dist/src/planner/rules/access/rule-select-access-path.js +70 -5
  438. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  439. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
  440. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  441. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
  442. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  443. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  444. package/dist/src/planner/rules/cache/rule-cte-optimization.js +15 -2
  445. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  446. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
  447. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  448. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
  449. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +6 -4
  450. package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
  451. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +5 -31
  452. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
  453. package/dist/src/planner/rules/join/equi-pair-extractor.js +4 -44
  454. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
  455. package/dist/src/planner/rules/join/index-nested-loop.d.ts +49 -0
  456. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -0
  457. package/dist/src/planner/rules/join/index-nested-loop.js +291 -0
  458. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -0
  459. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +8 -8
  460. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -0
  461. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  462. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +50 -15
  463. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  464. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
  465. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  466. package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
  467. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  468. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
  469. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
  470. package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
  471. package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
  472. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +10 -4
  473. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  474. package/dist/src/planner/rules/join/rule-join-physical-selection.js +115 -29
  475. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  476. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
  477. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  478. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +18 -4
  479. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  480. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
  481. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  482. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
  483. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  484. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts +21 -8
  485. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.d.ts.map +1 -1
  486. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js +70 -14
  487. package/dist/src/planner/rules/predicate/rule-filter-conjunct-ordering.js.map +1 -1
  488. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +56 -17
  489. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  490. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +103 -154
  491. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  492. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +76 -0
  493. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -0
  494. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +208 -0
  495. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -0
  496. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts +14 -11
  497. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -1
  498. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +21 -85
  499. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  500. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts +7 -1
  501. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  502. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +18 -22
  503. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  504. package/dist/src/planner/rules/shared/access-leaf.d.ts +52 -0
  505. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -0
  506. package/dist/src/planner/rules/shared/access-leaf.js +95 -0
  507. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -0
  508. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
  509. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +17 -7
  510. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  511. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts +3 -1
  512. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -1
  513. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +26 -9
  514. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  515. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  516. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +69 -11
  517. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  518. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +17 -7
  519. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -1
  520. package/dist/src/planner/rules/window/rule-monotonic-window.js +124 -87
  521. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  522. package/dist/src/planner/scopes/aliased.d.ts.map +1 -1
  523. package/dist/src/planner/scopes/aliased.js +6 -0
  524. package/dist/src/planner/scopes/aliased.js.map +1 -1
  525. package/dist/src/planner/stats/catalog-stats.d.ts +44 -13
  526. package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
  527. package/dist/src/planner/stats/catalog-stats.js +137 -61
  528. package/dist/src/planner/stats/catalog-stats.js.map +1 -1
  529. package/dist/src/planner/stats/conjunct-selectivity.d.ts +48 -0
  530. package/dist/src/planner/stats/conjunct-selectivity.d.ts.map +1 -0
  531. package/dist/src/planner/stats/conjunct-selectivity.js +168 -0
  532. package/dist/src/planner/stats/conjunct-selectivity.js.map +1 -0
  533. package/dist/src/planner/stats/index.d.ts +22 -3
  534. package/dist/src/planner/stats/index.d.ts.map +1 -1
  535. package/dist/src/planner/stats/index.js.map +1 -1
  536. package/dist/src/planner/stats/table-cardinality.d.ts +28 -0
  537. package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -0
  538. package/dist/src/planner/stats/table-cardinality.js +29 -0
  539. package/dist/src/planner/stats/table-cardinality.js.map +1 -0
  540. package/dist/src/planner/stored-body-context.d.ts +57 -0
  541. package/dist/src/planner/stored-body-context.d.ts.map +1 -0
  542. package/dist/src/planner/stored-body-context.js +64 -0
  543. package/dist/src/planner/stored-body-context.js.map +1 -0
  544. package/dist/src/planner/util/column-origins.d.ts +29 -8
  545. package/dist/src/planner/util/column-origins.d.ts.map +1 -1
  546. package/dist/src/planner/util/column-origins.js +74 -14
  547. package/dist/src/planner/util/column-origins.js.map +1 -1
  548. package/dist/src/planner/util/fd-utils.d.ts +32 -8
  549. package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
  550. package/dist/src/planner/util/fd-utils.js +46 -9
  551. package/dist/src/planner/util/fd-utils.js.map +1 -1
  552. package/dist/src/planner/util/ind-utils.d.ts +66 -19
  553. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  554. package/dist/src/planner/util/ind-utils.js +91 -21
  555. package/dist/src/planner/util/ind-utils.js.map +1 -1
  556. package/dist/src/planner/util/key-utils.d.ts +36 -3
  557. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  558. package/dist/src/planner/util/key-utils.js +57 -7
  559. package/dist/src/planner/util/key-utils.js.map +1 -1
  560. package/dist/src/planner/util/output-names.d.ts +12 -0
  561. package/dist/src/planner/util/output-names.d.ts.map +1 -0
  562. package/dist/src/planner/util/output-names.js +20 -0
  563. package/dist/src/planner/util/output-names.js.map +1 -0
  564. package/dist/src/planner/util/row-estimates.d.ts +39 -0
  565. package/dist/src/planner/util/row-estimates.d.ts.map +1 -0
  566. package/dist/src/planner/util/row-estimates.js +68 -0
  567. package/dist/src/planner/util/row-estimates.js.map +1 -0
  568. package/dist/src/planner/util/row-population.d.ts +42 -0
  569. package/dist/src/planner/util/row-population.d.ts.map +1 -0
  570. package/dist/src/planner/util/row-population.js +71 -0
  571. package/dist/src/planner/util/row-population.js.map +1 -0
  572. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  573. package/dist/src/runtime/deferred-constraint-queue.js +3 -2
  574. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  575. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  576. package/dist/src/runtime/emit/add-constraint.js +60 -6
  577. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  578. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  579. package/dist/src/runtime/emit/aggregate.js +4 -4
  580. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  581. package/dist/src/runtime/emit/alter-schema-event.d.ts +97 -0
  582. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -0
  583. package/dist/src/runtime/emit/alter-schema-event.js +87 -0
  584. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -0
  585. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  586. package/dist/src/runtime/emit/alter-table.js +582 -236
  587. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  588. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  589. package/dist/src/runtime/emit/analyze.js +50 -7
  590. package/dist/src/runtime/emit/analyze.js.map +1 -1
  591. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
  592. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
  593. package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
  594. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
  595. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
  596. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
  597. package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
  598. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
  599. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  600. package/dist/src/runtime/emit/cast.js +4 -19
  601. package/dist/src/runtime/emit/cast.js.map +1 -1
  602. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  603. package/dist/src/runtime/emit/constraint-check.js +10 -227
  604. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  605. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  606. package/dist/src/runtime/emit/create-assertion.js +31 -14
  607. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  608. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  609. package/dist/src/runtime/emit/cte.js +11 -6
  610. package/dist/src/runtime/emit/cte.js.map +1 -1
  611. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  612. package/dist/src/runtime/emit/dml-executor.js +233 -28
  613. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  614. package/dist/src/runtime/emit/drop-assertion.js +8 -8
  615. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  616. package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
  617. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
  618. package/dist/src/runtime/emit/drop-column-guards.js +230 -0
  619. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
  620. package/dist/src/runtime/emit/drop-index.d.ts.map +1 -1
  621. package/dist/src/runtime/emit/drop-index.js +4 -3
  622. package/dist/src/runtime/emit/drop-index.js.map +1 -1
  623. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  624. package/dist/src/runtime/emit/drop-table.js +6 -0
  625. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  626. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  627. package/dist/src/runtime/emit/drop-view.js +4 -0
  628. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  629. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  630. package/dist/src/runtime/emit/hash-aggregate.js +2 -2
  631. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  632. package/dist/src/runtime/emit/join.d.ts.map +1 -1
  633. package/dist/src/runtime/emit/join.js +8 -67
  634. package/dist/src/runtime/emit/join.js.map +1 -1
  635. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  636. package/dist/src/runtime/emit/key-set-semi-join.js +11 -3
  637. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  638. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
  639. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  640. package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
  641. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  642. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  643. package/dist/src/runtime/emit/materialized-view.js +7 -2
  644. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  645. package/dist/src/runtime/emit/operand-comparator.d.ts +30 -0
  646. package/dist/src/runtime/emit/operand-comparator.d.ts.map +1 -1
  647. package/dist/src/runtime/emit/operand-comparator.js +34 -0
  648. package/dist/src/runtime/emit/operand-comparator.js.map +1 -1
  649. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  650. package/dist/src/runtime/emit/recursive-cte.js +4 -5
  651. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  652. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  653. package/dist/src/runtime/emit/schema-declarative.js +30 -0
  654. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  655. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  656. package/dist/src/runtime/emit/subquery.js +153 -52
  657. package/dist/src/runtime/emit/subquery.js.map +1 -1
  658. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  659. package/dist/src/runtime/emit/update.js +18 -6
  660. package/dist/src/runtime/emit/update.js.map +1 -1
  661. package/dist/src/runtime/emit/window.js +36 -23
  662. package/dist/src/runtime/emit/window.js.map +1 -1
  663. package/dist/src/runtime/row-constraints.d.ts +85 -0
  664. package/dist/src/runtime/row-constraints.d.ts.map +1 -0
  665. package/dist/src/runtime/row-constraints.js +239 -0
  666. package/dist/src/runtime/row-constraints.js.map +1 -0
  667. package/dist/src/runtime/types.d.ts +8 -11
  668. package/dist/src/runtime/types.d.ts.map +1 -1
  669. package/dist/src/runtime/types.js.map +1 -1
  670. package/dist/src/schema/assertion.d.ts +14 -1
  671. package/dist/src/schema/assertion.d.ts.map +1 -1
  672. package/dist/src/schema/assertion.js +14 -1
  673. package/dist/src/schema/assertion.js.map +1 -1
  674. package/dist/src/schema/catalog-persistability.d.ts +19 -16
  675. package/dist/src/schema/catalog-persistability.d.ts.map +1 -1
  676. package/dist/src/schema/catalog-persistability.js +92 -20
  677. package/dist/src/schema/catalog-persistability.js.map +1 -1
  678. package/dist/src/schema/catalog.d.ts +73 -2
  679. package/dist/src/schema/catalog.d.ts.map +1 -1
  680. package/dist/src/schema/catalog.js +220 -39
  681. package/dist/src/schema/catalog.js.map +1 -1
  682. package/dist/src/schema/column-source-resolver.d.ts +18 -0
  683. package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
  684. package/dist/src/schema/column-source-resolver.js +22 -0
  685. package/dist/src/schema/column-source-resolver.js.map +1 -0
  686. package/dist/src/schema/column.d.ts +26 -3
  687. package/dist/src/schema/column.d.ts.map +1 -1
  688. package/dist/src/schema/column.js.map +1 -1
  689. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  690. package/dist/src/schema/constraint-builder.js +7 -1
  691. package/dist/src/schema/constraint-builder.js.map +1 -1
  692. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  693. package/dist/src/schema/ddl-generator.js +27 -6
  694. package/dist/src/schema/ddl-generator.js.map +1 -1
  695. package/dist/src/schema/function.d.ts +32 -1
  696. package/dist/src/schema/function.d.ts.map +1 -1
  697. package/dist/src/schema/function.js +10 -2
  698. package/dist/src/schema/function.js.map +1 -1
  699. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  700. package/dist/src/schema/lens-compiler.js +203 -51
  701. package/dist/src/schema/lens-compiler.js.map +1 -1
  702. package/dist/src/schema/lens-prover.d.ts +2 -3
  703. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  704. package/dist/src/schema/lens-prover.js +19 -11
  705. package/dist/src/schema/lens-prover.js.map +1 -1
  706. package/dist/src/schema/manager.d.ts +115 -20
  707. package/dist/src/schema/manager.d.ts.map +1 -1
  708. package/dist/src/schema/manager.js +202 -70
  709. package/dist/src/schema/manager.js.map +1 -1
  710. package/dist/src/schema/rename-rewriter.d.ts +142 -0
  711. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  712. package/dist/src/schema/rename-rewriter.js +254 -9
  713. package/dist/src/schema/rename-rewriter.js.map +1 -1
  714. package/dist/src/schema/reserved-tags.d.ts +1 -1
  715. package/dist/src/schema/reserved-tags.d.ts.map +1 -1
  716. package/dist/src/schema/reserved-tags.js +4 -3
  717. package/dist/src/schema/reserved-tags.js.map +1 -1
  718. package/dist/src/schema/schema-differ.d.ts +16 -0
  719. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  720. package/dist/src/schema/schema-differ.js +225 -38
  721. package/dist/src/schema/schema-differ.js.map +1 -1
  722. package/dist/src/schema/table.d.ts +149 -1
  723. package/dist/src/schema/table.d.ts.map +1 -1
  724. package/dist/src/schema/table.js +248 -1
  725. package/dist/src/schema/table.js.map +1 -1
  726. package/dist/src/schema/unique-enforcement.d.ts +5 -3
  727. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  728. package/dist/src/schema/unique-enforcement.js +5 -3
  729. package/dist/src/schema/unique-enforcement.js.map +1 -1
  730. package/dist/src/schema/view.d.ts +11 -0
  731. package/dist/src/schema/view.d.ts.map +1 -1
  732. package/dist/src/schema/view.js +12 -0
  733. package/dist/src/schema/view.js.map +1 -1
  734. package/dist/src/types/builtin-types.d.ts +54 -0
  735. package/dist/src/types/builtin-types.d.ts.map +1 -1
  736. package/dist/src/types/builtin-types.js +123 -34
  737. package/dist/src/types/builtin-types.js.map +1 -1
  738. package/dist/src/types/cast-semantics.d.ts +42 -0
  739. package/dist/src/types/cast-semantics.d.ts.map +1 -1
  740. package/dist/src/types/cast-semantics.js +64 -0
  741. package/dist/src/types/cast-semantics.js.map +1 -1
  742. package/dist/src/types/comparison-coercion.d.ts +101 -0
  743. package/dist/src/types/comparison-coercion.d.ts.map +1 -0
  744. package/dist/src/types/comparison-coercion.js +162 -0
  745. package/dist/src/types/comparison-coercion.js.map +1 -0
  746. package/dist/src/types/index.d.ts +2 -2
  747. package/dist/src/types/index.d.ts.map +1 -1
  748. package/dist/src/types/index.js +2 -2
  749. package/dist/src/types/index.js.map +1 -1
  750. package/dist/src/types/logical-type.d.ts +7 -0
  751. package/dist/src/types/logical-type.d.ts.map +1 -1
  752. package/dist/src/types/logical-type.js.map +1 -1
  753. package/dist/src/types/validation.d.ts +56 -0
  754. package/dist/src/types/validation.d.ts.map +1 -1
  755. package/dist/src/types/validation.js +68 -0
  756. package/dist/src/types/validation.js.map +1 -1
  757. package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
  758. package/dist/src/util/array-row-iterable.d.ts.map +1 -0
  759. package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
  760. package/dist/src/util/array-row-iterable.js.map +1 -0
  761. package/dist/src/util/coercion.d.ts +8 -0
  762. package/dist/src/util/coercion.d.ts.map +1 -1
  763. package/dist/src/util/coercion.js +8 -0
  764. package/dist/src/util/coercion.js.map +1 -1
  765. package/dist/src/util/comparison.d.ts +16 -3
  766. package/dist/src/util/comparison.d.ts.map +1 -1
  767. package/dist/src/util/comparison.js +21 -5
  768. package/dist/src/util/comparison.js.map +1 -1
  769. package/dist/src/util/key-serializer.d.ts +46 -0
  770. package/dist/src/util/key-serializer.d.ts.map +1 -1
  771. package/dist/src/util/key-serializer.js +47 -0
  772. package/dist/src/util/key-serializer.js.map +1 -1
  773. package/dist/src/util/value-set.d.ts +21 -0
  774. package/dist/src/util/value-set.d.ts.map +1 -0
  775. package/dist/src/util/value-set.js +22 -0
  776. package/dist/src/util/value-set.js.map +1 -0
  777. package/dist/src/vtab/capabilities.d.ts +1 -1
  778. package/dist/src/vtab/events.d.ts +8 -1
  779. package/dist/src/vtab/events.d.ts.map +1 -1
  780. package/dist/src/vtab/events.js.map +1 -1
  781. package/dist/src/vtab/manifest.d.ts +15 -0
  782. package/dist/src/vtab/manifest.d.ts.map +1 -1
  783. package/dist/src/vtab/memory/layer/alter-column.d.ts +147 -0
  784. package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -0
  785. package/dist/src/vtab/memory/layer/alter-column.js +214 -0
  786. package/dist/src/vtab/memory/layer/alter-column.js.map +1 -0
  787. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  788. package/dist/src/vtab/memory/layer/base.js +4 -3
  789. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  790. package/dist/src/vtab/memory/layer/interface.d.ts +2 -2
  791. package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
  792. package/dist/src/vtab/memory/layer/manager.d.ts +176 -25
  793. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  794. package/dist/src/vtab/memory/layer/manager.js +569 -558
  795. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  796. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  797. package/dist/src/vtab/memory/layer/scan-layer.js +32 -5
  798. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  799. package/dist/src/vtab/memory/layer/transaction.d.ts +101 -15
  800. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  801. package/dist/src/vtab/memory/layer/transaction.js +133 -45
  802. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  803. package/dist/src/vtab/memory/module.d.ts +16 -1
  804. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  805. package/dist/src/vtab/memory/module.js +64 -3
  806. package/dist/src/vtab/memory/module.js.map +1 -1
  807. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  808. package/dist/src/vtab/memory/table.js +11 -6
  809. package/dist/src/vtab/memory/table.js.map +1 -1
  810. package/dist/src/vtab/module.d.ts +77 -23
  811. package/dist/src/vtab/module.d.ts.map +1 -1
  812. package/dist/src/vtab/table.d.ts +9 -2
  813. package/dist/src/vtab/table.d.ts.map +1 -1
  814. package/dist/src/vtab/table.js +1 -1
  815. package/dist/src/vtab/table.js.map +1 -1
  816. package/package.json +3 -3
  817. package/dist/src/util/working-table-iterable.d.ts.map +0 -1
  818. package/dist/src/util/working-table-iterable.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from '../../common/logger.js';
2
2
  import { createAggregateFunction } from '../registration.js';
3
3
  import { compareSqlValuesFast, createSemanticValueComparator, BINARY_COLLATION } from '../../util/comparison.js';
4
- import { INTEGER_TYPE, REAL_TYPE, TEXT_TYPE } from '../../types/builtin-types.js';
4
+ import { INTEGER_RETURN_NOT_NULL, REAL_RETURN, REAL_RETURN_NOT_NULL, TEXT_RETURN } from './return-types.js';
5
5
  const log = createLogger('func:builtins:aggregate');
6
6
  const warnLog = log.extend('warn');
7
7
  /** Add two accumulated numeric values, promoting to BigInt when either side is
@@ -20,7 +20,7 @@ function addWithPromotion(a, b) {
20
20
  // --- count(*) ---
21
21
  export const countStarFunc = createAggregateFunction({
22
22
  name: 'count', numArgs: 0, initialValue: 0,
23
- returnType: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true },
23
+ returnType: INTEGER_RETURN_NOT_NULL,
24
24
  algebra: {
25
25
  merge: (a, b) => a + b,
26
26
  negate: (a) => -a,
@@ -31,7 +31,7 @@ export const countStarFunc = createAggregateFunction({
31
31
  }, (acc) => acc + 1, (acc) => acc);
32
32
  export const sumFunc = createAggregateFunction({
33
33
  name: 'sum', numArgs: 1, initialValue: null,
34
- returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true },
34
+ returnType: REAL_RETURN,
35
35
  // NOTE: declared unconditionally; exactness under retraction is a value-domain
36
36
  // property (floats drift) the function cannot see, so the write-side delta arm
37
37
  // gates on the argument's static type before exploiting negate.
@@ -98,7 +98,7 @@ export const sumFunc = createAggregateFunction({
98
98
  });
99
99
  export const avgFunc = createAggregateFunction({
100
100
  name: 'avg', numArgs: 1, initialValue: { sum: 0, count: 0 },
101
- returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true },
101
+ returnType: REAL_RETURN,
102
102
  // No decode — the stored quotient forgets the count and cannot reconstruct
103
103
  // an accumulator. Maintained/rolled up via its decomposition instead.
104
104
  algebra: {
@@ -191,7 +191,7 @@ export const maxFunc = createExtremumFunction('max');
191
191
  // Counts non-NULL values of X
192
192
  export const countXFunc = createAggregateFunction({
193
193
  name: 'count', numArgs: 1, initialValue: 0,
194
- returnType: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: false, isReadOnly: true },
194
+ returnType: INTEGER_RETURN_NOT_NULL,
195
195
  algebra: {
196
196
  merge: (a, b) => a + b,
197
197
  negate: (a) => -a,
@@ -204,7 +204,7 @@ export const countXFunc = createAggregateFunction({
204
204
  return acc; // Do not count NULLs
205
205
  return acc + 1;
206
206
  }, (acc) => acc);
207
- export const groupConcatFuncRev = createAggregateFunction({ name: 'group_concat', numArgs: -1, initialValue: () => ({ values: [], separator: ',' }), returnType: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true } }, (acc, value, separator = ',') => {
207
+ export const groupConcatFuncRev = createAggregateFunction({ name: 'group_concat', numArgs: -1, initialValue: () => ({ values: [], separator: ',' }), returnType: TEXT_RETURN }, (acc, value, separator = ',') => {
208
208
  const currentSeparator = (separator === undefined || separator === null) ? acc.separator : String(separator);
209
209
  acc.separator = currentSeparator;
210
210
  if (value === null) {
@@ -223,7 +223,7 @@ export const groupConcatFuncRev = createAggregateFunction({ name: 'group_concat'
223
223
  // retraction and would diverge byte-exactly from a fresh live re-sum, which the
224
224
  // maintenance-equivalence oracle compares byte-exactly. Residual-only is correct,
225
225
  // just not incremental. Same for group_concat / var_* / stddev_* below.
226
- export const totalFunc = createAggregateFunction({ name: 'total', numArgs: 1, initialValue: 0.0, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: false, isReadOnly: true } }, (acc, value) => {
226
+ export const totalFunc = createAggregateFunction({ name: 'total', numArgs: 1, initialValue: 0.0, returnType: REAL_RETURN_NOT_NULL }, (acc, value) => {
227
227
  let numValue = 0.0;
228
228
  if (value !== null) {
229
229
  try {
@@ -263,7 +263,7 @@ const statReducer = (acc, value) => {
263
263
  }
264
264
  };
265
265
  // Population Variance (VAR_POP)
266
- export const varPopFunc = createAggregateFunction({ name: 'var_pop', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true } }, statReducer, (acc) => {
266
+ export const varPopFunc = createAggregateFunction({ name: 'var_pop', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: REAL_RETURN }, statReducer, (acc) => {
267
267
  if (acc.count === 0)
268
268
  return null; // NULL for empty set
269
269
  const avg = acc.sum / acc.count;
@@ -271,7 +271,7 @@ export const varPopFunc = createAggregateFunction({ name: 'var_pop', numArgs: 1,
271
271
  return variance;
272
272
  });
273
273
  // Sample Variance (VAR_SAMP)
274
- export const varSampFunc = createAggregateFunction({ name: 'var_samp', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true } }, statReducer, (acc) => {
274
+ export const varSampFunc = createAggregateFunction({ name: 'var_samp', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: REAL_RETURN }, statReducer, (acc) => {
275
275
  if (acc.count <= 1)
276
276
  return null; // NULL if count is 0 or 1
277
277
  // Sample variance: (sumSq - n*avg^2) / (n-1) == (sumSq - sum*sum/n) / (n-1)
@@ -279,7 +279,7 @@ export const varSampFunc = createAggregateFunction({ name: 'var_samp', numArgs:
279
279
  return variance;
280
280
  });
281
281
  // Population Standard Deviation (STDDEV_POP)
282
- export const stdDevPopFunc = createAggregateFunction({ name: 'stddev_pop', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true } }, statReducer, (acc) => {
282
+ export const stdDevPopFunc = createAggregateFunction({ name: 'stddev_pop', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: REAL_RETURN }, statReducer, (acc) => {
283
283
  if (acc.count === 0)
284
284
  return null;
285
285
  const avg = acc.sum / acc.count;
@@ -287,7 +287,7 @@ export const stdDevPopFunc = createAggregateFunction({ name: 'stddev_pop', numAr
287
287
  return variance < 0 ? null : Math.sqrt(variance);
288
288
  });
289
289
  // Sample Standard Deviation (STDDEV_SAMP)
290
- export const stdDevSampFunc = createAggregateFunction({ name: 'stddev_samp', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true } }, statReducer, (acc) => {
290
+ export const stdDevSampFunc = createAggregateFunction({ name: 'stddev_samp', numArgs: 1, initialValue: { count: 0, sum: 0, sumSq: 0 }, returnType: REAL_RETURN }, statReducer, (acc) => {
291
291
  if (acc.count <= 1)
292
292
  return null;
293
293
  const variance = (acc.sumSq - (acc.sum * acc.sum) / acc.count) / (acc.count - 1);
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/func/builtins/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/func/builtins/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-window-functions.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/builtin-window-functions.ts"],"names":[],"mappings":"AAmFA,wBAAgB,8BAA8B,IAAI,IAAI,CA6NrD"}
1
+ {"version":3,"file":"builtin-window-functions.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/builtin-window-functions.ts"],"names":[],"mappings":"AA8EA,wBAAgB,8BAA8B,IAAI,IAAI,CA4JrD"}
@@ -1,5 +1,5 @@
1
1
  import { registerWindowFunction } from '../../schema/window-function.js';
2
- import { INTEGER_TYPE, REAL_TYPE } from '../../types/builtin-types.js';
2
+ import { INTEGER_RETURN_NOT_NULL, REAL_RETURN, REAL_RETURN_NOT_NULL } from './return-types.js';
3
3
  import { BINARY_COLLATION, compareSqlValuesFast, createSemanticValueComparator } from '../../util/comparison.js';
4
4
  /**
5
5
  * Shared `inferReturnType` for pass-through window functions (MIN, MAX,
@@ -52,12 +52,7 @@ function registerExtremumWindowFunction(direction) {
52
52
  registerWindowFunction({
53
53
  name: direction.toUpperCase(),
54
54
  argCount: 1,
55
- returnType: {
56
- typeClass: 'scalar',
57
- logicalType: REAL_TYPE,
58
- nullable: true,
59
- isReadOnly: true
60
- },
55
+ returnType: REAL_RETURN,
61
56
  // MIN/MAX pass the argument value through unchanged, so the result follows
62
57
  // the argument's logical type (mirrors the aggregate minFunc/maxFunc).
63
58
  inferReturnType: passThroughArgType,
@@ -74,48 +69,28 @@ export function registerBuiltinWindowFunctions() {
74
69
  registerWindowFunction({
75
70
  name: 'ROW_NUMBER',
76
71
  argCount: 0,
77
- returnType: {
78
- typeClass: 'scalar',
79
- logicalType: INTEGER_TYPE,
80
- nullable: false,
81
- isReadOnly: true
82
- },
72
+ returnType: INTEGER_RETURN_NOT_NULL,
83
73
  requiresOrderBy: true,
84
74
  kind: 'ranking'
85
75
  });
86
76
  registerWindowFunction({
87
77
  name: 'RANK',
88
78
  argCount: 0,
89
- returnType: {
90
- typeClass: 'scalar',
91
- logicalType: INTEGER_TYPE,
92
- nullable: false,
93
- isReadOnly: true
94
- },
79
+ returnType: INTEGER_RETURN_NOT_NULL,
95
80
  requiresOrderBy: true,
96
81
  kind: 'ranking'
97
82
  });
98
83
  registerWindowFunction({
99
84
  name: 'DENSE_RANK',
100
85
  argCount: 0,
101
- returnType: {
102
- typeClass: 'scalar',
103
- logicalType: INTEGER_TYPE,
104
- nullable: false,
105
- isReadOnly: true
106
- },
86
+ returnType: INTEGER_RETURN_NOT_NULL,
107
87
  requiresOrderBy: true,
108
88
  kind: 'ranking'
109
89
  });
110
90
  registerWindowFunction({
111
91
  name: 'NTILE',
112
92
  argCount: 1,
113
- returnType: {
114
- typeClass: 'scalar',
115
- logicalType: INTEGER_TYPE,
116
- nullable: false,
117
- isReadOnly: true
118
- },
93
+ returnType: INTEGER_RETURN_NOT_NULL,
119
94
  requiresOrderBy: true,
120
95
  kind: 'ranking'
121
96
  });
@@ -123,12 +98,7 @@ export function registerBuiltinWindowFunctions() {
123
98
  registerWindowFunction({
124
99
  name: 'LAG',
125
100
  argCount: 'variadic',
126
- returnType: {
127
- typeClass: 'scalar',
128
- logicalType: REAL_TYPE,
129
- nullable: true,
130
- isReadOnly: true
131
- },
101
+ returnType: REAL_RETURN,
132
102
  // LAG passes arg[0] (the value expression) through unchanged; arg[1] is the
133
103
  // offset and arg[2] is an optional default — their types do not widen the result.
134
104
  inferReturnType: passThroughArgType,
@@ -138,12 +108,7 @@ export function registerBuiltinWindowFunctions() {
138
108
  registerWindowFunction({
139
109
  name: 'LEAD',
140
110
  argCount: 'variadic',
141
- returnType: {
142
- typeClass: 'scalar',
143
- logicalType: REAL_TYPE,
144
- nullable: true,
145
- isReadOnly: true
146
- },
111
+ returnType: REAL_RETURN,
147
112
  // LEAD passes arg[0] (the value expression) through unchanged; arg[1] is the
148
113
  // offset and arg[2] is an optional default — their types do not widen the result.
149
114
  inferReturnType: passThroughArgType,
@@ -154,12 +119,7 @@ export function registerBuiltinWindowFunctions() {
154
119
  registerWindowFunction({
155
120
  name: 'FIRST_VALUE',
156
121
  argCount: 1,
157
- returnType: {
158
- typeClass: 'scalar',
159
- logicalType: REAL_TYPE,
160
- nullable: true,
161
- isReadOnly: true
162
- },
122
+ returnType: REAL_RETURN,
163
123
  // FIRST_VALUE passes its argument value through unchanged, so the result
164
124
  // follows the argument's logical type (mirrors the MIN/MAX pattern).
165
125
  inferReturnType: passThroughArgType,
@@ -169,12 +129,7 @@ export function registerBuiltinWindowFunctions() {
169
129
  registerWindowFunction({
170
130
  name: 'LAST_VALUE',
171
131
  argCount: 1,
172
- returnType: {
173
- typeClass: 'scalar',
174
- logicalType: REAL_TYPE,
175
- nullable: true,
176
- isReadOnly: true
177
- },
132
+ returnType: REAL_RETURN,
178
133
  // LAST_VALUE passes its argument value through unchanged, so the result
179
134
  // follows the argument's logical type (mirrors the MIN/MAX pattern).
180
135
  inferReturnType: passThroughArgType,
@@ -185,24 +140,14 @@ export function registerBuiltinWindowFunctions() {
185
140
  registerWindowFunction({
186
141
  name: 'PERCENT_RANK',
187
142
  argCount: 0,
188
- returnType: {
189
- typeClass: 'scalar',
190
- logicalType: REAL_TYPE,
191
- nullable: false,
192
- isReadOnly: true
193
- },
143
+ returnType: REAL_RETURN_NOT_NULL,
194
144
  requiresOrderBy: true,
195
145
  kind: 'ranking'
196
146
  });
197
147
  registerWindowFunction({
198
148
  name: 'CUME_DIST',
199
149
  argCount: 0,
200
- returnType: {
201
- typeClass: 'scalar',
202
- logicalType: REAL_TYPE,
203
- nullable: false,
204
- isReadOnly: true
205
- },
150
+ returnType: REAL_RETURN_NOT_NULL,
206
151
  requiresOrderBy: true,
207
152
  kind: 'ranking'
208
153
  });
@@ -210,12 +155,7 @@ export function registerBuiltinWindowFunctions() {
210
155
  registerWindowFunction({
211
156
  name: 'COUNT',
212
157
  argCount: 1,
213
- returnType: {
214
- typeClass: 'scalar',
215
- logicalType: INTEGER_TYPE,
216
- nullable: false,
217
- isReadOnly: true
218
- },
158
+ returnType: INTEGER_RETURN_NOT_NULL,
219
159
  requiresOrderBy: false,
220
160
  kind: 'aggregate',
221
161
  step: (state, value) => {
@@ -236,12 +176,7 @@ export function registerBuiltinWindowFunctions() {
236
176
  registerWindowFunction({
237
177
  name: 'SUM',
238
178
  argCount: 1,
239
- returnType: {
240
- typeClass: 'scalar',
241
- logicalType: REAL_TYPE,
242
- nullable: true,
243
- isReadOnly: true
244
- },
179
+ returnType: REAL_RETURN,
245
180
  requiresOrderBy: false,
246
181
  kind: 'aggregate',
247
182
  step: (state, value) => {
@@ -257,12 +192,7 @@ export function registerBuiltinWindowFunctions() {
257
192
  registerWindowFunction({
258
193
  name: 'AVG',
259
194
  argCount: 1,
260
- returnType: {
261
- typeClass: 'scalar',
262
- logicalType: REAL_TYPE,
263
- nullable: true,
264
- isReadOnly: true
265
- },
195
+ returnType: REAL_RETURN,
266
196
  requiresOrderBy: false,
267
197
  kind: 'aggregate',
268
198
  step: (state, value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-window-functions.js","sourceRoot":"","sources":["../../../../src/func/builtins/builtin-window-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin-window-functions.js","sourceRoot":"","sources":["../../../../src/func/builtins/builtin-window-functions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAkCrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,yDAuBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,yDAmBzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,yDAczB,CAAC"}
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAkCrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,yDAuBrB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,yDAmBzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yDAcrB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,yDAczB,CAAC"}
@@ -4,11 +4,12 @@ import { StatusCode } from '../../common/types.js';
4
4
  import { INTEGER_TYPE, REAL_TYPE, TEXT_TYPE, BOOLEAN_TYPE } from '../../types/builtin-types.js';
5
5
  import { DATE_TYPE, TIME_TYPE, DATETIME_TYPE, TIMESPAN_TYPE } from '../../types/temporal-types.js';
6
6
  import { JSON_TYPE } from '../../types/json-type.js';
7
+ import { BOOLEAN_RETURN, INTEGER_RETURN, JSON_RETURN, REAL_RETURN, TEXT_RETURN, scalarReturn } from './return-types.js';
7
8
  /**
8
9
  * integer() - Convert value to INTEGER
9
10
  * Usage: integer(value)
10
11
  */
11
- export const INTEGER_FUNC = createScalarFunction({ name: 'integer', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: INTEGER_TYPE, nullable: true, isReadOnly: true } }, (value) => {
12
+ export const INTEGER_FUNC = createScalarFunction({ name: 'integer', numArgs: 1, deterministic: true, returnType: INTEGER_RETURN }, (value) => {
12
13
  if (value === null)
13
14
  return null;
14
15
  try {
@@ -22,7 +23,7 @@ export const INTEGER_FUNC = createScalarFunction({ name: 'integer', numArgs: 1,
22
23
  * real() - Convert value to REAL
23
24
  * Usage: real(value)
24
25
  */
25
- export const REAL_FUNC = createScalarFunction({ name: 'real', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: REAL_TYPE, nullable: true, isReadOnly: true } }, (value) => {
26
+ export const REAL_FUNC = createScalarFunction({ name: 'real', numArgs: 1, deterministic: true, returnType: REAL_RETURN }, (value) => {
26
27
  if (value === null)
27
28
  return null;
28
29
  try {
@@ -36,7 +37,7 @@ export const REAL_FUNC = createScalarFunction({ name: 'real', numArgs: 1, determ
36
37
  * text() - Convert value to TEXT
37
38
  * Usage: text(value)
38
39
  */
39
- export const TEXT_FUNC = createScalarFunction({ name: 'text', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: TEXT_TYPE, nullable: true, isReadOnly: true } }, (value) => {
40
+ export const TEXT_FUNC = createScalarFunction({ name: 'text', numArgs: 1, deterministic: true, returnType: TEXT_RETURN }, (value) => {
40
41
  if (value === null)
41
42
  return null;
42
43
  try {
@@ -50,7 +51,7 @@ export const TEXT_FUNC = createScalarFunction({ name: 'text', numArgs: 1, determ
50
51
  * boolean() - Convert value to BOOLEAN
51
52
  * Usage: boolean(value)
52
53
  */
53
- export const BOOLEAN_FUNC = createScalarFunction({ name: 'boolean', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: BOOLEAN_TYPE, nullable: true, isReadOnly: true } }, (value) => {
54
+ export const BOOLEAN_FUNC = createScalarFunction({ name: 'boolean', numArgs: 1, deterministic: true, returnType: BOOLEAN_RETURN }, (value) => {
54
55
  if (value === null)
55
56
  return null;
56
57
  try {
@@ -71,7 +72,7 @@ export const DATE_FUNC = createScalarFunction({
71
72
  name: 'date',
72
73
  numArgs: 1,
73
74
  deterministic: false,
74
- returnType: { typeClass: 'scalar', logicalType: DATE_TYPE, nullable: true, isReadOnly: true },
75
+ returnType: scalarReturn(DATE_TYPE),
75
76
  // `date(x) = D` is equivalent to `x` falling inside the half-open day window
76
77
  // `[D, D+1)`; the boundary computation lives on the argument's logical type
77
78
  // via `bucketBounds('date_bucket', value)`. Only the unary form is annotated —
@@ -102,7 +103,7 @@ export const DATE_FUNC = createScalarFunction({
102
103
  *
103
104
  * Note: This replaces the existing time() function in datetime.ts
104
105
  */
105
- export const TIME_FUNC = createScalarFunction({ name: 'time', numArgs: 1, deterministic: false, returnType: { typeClass: 'scalar', logicalType: TIME_TYPE, nullable: true, isReadOnly: true } }, (value) => {
106
+ export const TIME_FUNC = createScalarFunction({ name: 'time', numArgs: 1, deterministic: false, returnType: scalarReturn(TIME_TYPE) }, (value) => {
106
107
  if (value === null)
107
108
  return null;
108
109
  // Special case: 'now' returns current time
@@ -126,7 +127,7 @@ export const TIME_FUNC = createScalarFunction({ name: 'time', numArgs: 1, determ
126
127
  *
127
128
  * Note: This replaces the existing datetime() function in datetime.ts
128
129
  */
129
- export const DATETIME_FUNC = createScalarFunction({ name: 'datetime', numArgs: 1, deterministic: false, returnType: { typeClass: 'scalar', logicalType: DATETIME_TYPE, nullable: true, isReadOnly: true } }, (value) => {
130
+ export const DATETIME_FUNC = createScalarFunction({ name: 'datetime', numArgs: 1, deterministic: false, returnType: scalarReturn(DATETIME_TYPE) }, (value) => {
130
131
  if (value === null)
131
132
  return null;
132
133
  // Special case: 'now' returns current datetime
@@ -147,7 +148,7 @@ export const DATETIME_FUNC = createScalarFunction({ name: 'datetime', numArgs: 1
147
148
  * Converts a value to a native JSON object. If the value is a valid JSON string,
148
149
  * it parses it. Otherwise, it converts the value to its JSON representation.
149
150
  */
150
- export const JSON_FUNC = createScalarFunction({ name: 'json', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: JSON_TYPE, nullable: true, isReadOnly: true } }, (value) => {
151
+ export const JSON_FUNC = createScalarFunction({ name: 'json', numArgs: 1, deterministic: true, returnType: JSON_RETURN }, (value) => {
151
152
  if (value === null)
152
153
  return null;
153
154
  try {
@@ -166,7 +167,7 @@ export const JSON_FUNC = createScalarFunction({ name: 'json', numArgs: 1, determ
166
167
  * - Human-readable strings: '1 hour', '30 minutes', '2 days 3 hours'
167
168
  * - Numeric values (interpreted as seconds): 3600, 86400
168
169
  */
169
- export const TIMESPAN_FUNC = createScalarFunction({ name: 'timespan', numArgs: 1, deterministic: true, returnType: { typeClass: 'scalar', logicalType: TIMESPAN_TYPE, nullable: true, isReadOnly: true } }, (value) => {
170
+ export const TIMESPAN_FUNC = createScalarFunction({ name: 'timespan', numArgs: 1, deterministic: true, returnType: scalarReturn(TIMESPAN_TYPE) }, (value) => {
170
171
  if (value === null)
171
172
  return null;
172
173
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACtJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1E,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAChJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACvE,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAChJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACvE,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACtJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,YAAY,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1E,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC5C;IACC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;IAC7F,6EAA6E;IAC7E,4EAA4E;IAC5E,+EAA+E;IAC/E,4EAA4E;IAC5E,2EAA2E;IAC3E,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;CACjD,EACD,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,2CAA2C;IAC3C,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACvE,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACjJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,2CAA2C;IAC3C,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO,GAAG,KAAK,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACvE,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAChD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACzJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,+CAA+C;IAC/C,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,aAAa,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC3E,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,oBAAoB,CAC5C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAChJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACvE,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAChD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EACxJ,CAAC,KAAe,EAAY,EAAE;IAC7B,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEhC,IAAI,CAAC;QACJ,OAAO,aAAa,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CACrB,+BAA+B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC3E,UAAU,CAAC,QAAQ,CACnB,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC"}
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../../../src/func/builtins/conversion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/datetime.ts"],"names":[],"mappings":"AAucA,eAAO,MAAM,QAAQ,yDAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,yDAMpB,CAAC;AAEF,eAAO,MAAM,YAAY,yDAMxB,CAAC;AAEF,eAAO,MAAM,aAAa,yDAMzB,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,yDAMtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,yDAMvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,yDAM1B,CAAC;AA0EF,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAIF,eAAO,MAAM,aAAa,yDASzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yDAW7B,CAAC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/datetime.ts"],"names":[],"mappings":"AAydA,eAAO,MAAM,QAAQ,yDAMpB,CAAC;AAEF,eAAO,MAAM,QAAQ,yDAMpB,CAAC;AAEF,eAAO,MAAM,YAAY,yDAMxB,CAAC;AAEF,eAAO,MAAM,aAAa,yDAMzB,CAAC;AAIF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,yDAMtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,yDAMvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,yDAM1B,CAAC;AA0EF,eAAO,MAAM,YAAY,yDAcxB,CAAC;AAIF,eAAO,MAAM,aAAa,yDASzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yDAW7B,CAAC"}
@@ -3,6 +3,7 @@ import { Temporal } from 'temporal-polyfill';
3
3
  import { StatusCode } from '../../common/types.js';
4
4
  import { createScalarFunction } from '../registration.js';
5
5
  import { quereusError } from '../../common/errors.js';
6
+ import { BOOLEAN_RETURN_NOT_NULL, INTEGER_RETURN, REAL_RETURN, TEXT_RETURN } from './return-types.js';
6
7
  const log = createLogger('func:builtins:datetime');
7
8
  const warnLog = log.extend('warn');
8
9
  const errorLog = log.extend('error');
@@ -396,19 +397,36 @@ function formatDateTime(dt, subsec) {
396
397
  }
397
398
  // --- Function Implementations --- //
398
399
  // All date/time functions are non-deterministic because they accept 'now'.
399
- export const dateFunc = createScalarFunction({ name: 'date', numArgs: -1, deterministic: false }, (...args) => {
400
+ // TEXT, not DATE / TIME / DATETIME, for the three variadic modifier-accepting forms
401
+ // below — a deliberate divergence from their single-argument conversion siblings
402
+ // (`date/1`, `time/1`, `datetime/1` in conversion.ts), which DO declare the temporal
403
+ // types. These functions emit SQLite's *display* spelling, which is not the canonical
404
+ // stored spelling of those types:
405
+ // - datetime() separates date and time with a SPACE; DATETIME_TYPE.parse canonicalizes
406
+ // to the ISO 'T' form.
407
+ // - time(..., 'subsec') always emits three fractional digits ('12:00:00.000');
408
+ // TIME_TYPE.parse trims them ('12:00:00').
409
+ // Declaring the temporal type would tell buildRowCoercion the value is already in
410
+ // declared form, so `insert into t(dt) select datetime(x, '+1 day')` would store the
411
+ // display spelling verbatim into a DATETIME column — where `compare` is binary text, so
412
+ // the row would stop matching the canonical spelling every other write produces.
413
+ // `date()` alone is canonical (YYYY-MM-DD either way), but typing it apart from its two
414
+ // siblings is a worse trap than typing all three the same. Reconciling the two families
415
+ // (canonicalize the output, or teach the write path) is tracked by
416
+ // `debt-variadic-datetime-functions-not-temporally-typed`.
417
+ export const dateFunc = createScalarFunction({ name: 'date', numArgs: -1, deterministic: false, returnType: TEXT_RETURN }, (...args) => {
400
418
  const { dt } = processDateTimeArgs(args);
401
419
  return dt ? formatDate(dt) : null;
402
420
  });
403
- export const timeFunc = createScalarFunction({ name: 'time', numArgs: -1, deterministic: false }, (...args) => {
421
+ export const timeFunc = createScalarFunction({ name: 'time', numArgs: -1, deterministic: false, returnType: TEXT_RETURN }, (...args) => {
404
422
  const { dt, subsec } = processDateTimeArgs(args);
405
423
  return dt ? formatTime(dt, subsec) : null;
406
424
  });
407
- export const datetimeFunc = createScalarFunction({ name: 'datetime', numArgs: -1, deterministic: false }, (...args) => {
425
+ export const datetimeFunc = createScalarFunction({ name: 'datetime', numArgs: -1, deterministic: false, returnType: TEXT_RETURN }, (...args) => {
408
426
  const { dt, subsec } = processDateTimeArgs(args);
409
427
  return dt ? formatDateTime(dt, subsec) : null;
410
428
  });
411
- export const juliandayFunc = createScalarFunction({ name: 'julianday', numArgs: -1, deterministic: false }, (...args) => {
429
+ export const juliandayFunc = createScalarFunction({ name: 'julianday', numArgs: -1, deterministic: false, returnType: REAL_RETURN }, (...args) => {
412
430
  const { dt } = processDateTimeArgs(args);
413
431
  return dt ? toJulianDay(dt) : null;
414
432
  });
@@ -421,7 +439,7 @@ export const juliandayFunc = createScalarFunction({ name: 'julianday', numArgs:
421
439
  * modifiers applied, but the returned value is always seconds since
422
440
  * 1970-01-01 00:00:00 UTC.
423
441
  */
424
- export const epochSFunc = createScalarFunction({ name: 'epoch_s', numArgs: -1, deterministic: false }, (...args) => {
442
+ export const epochSFunc = createScalarFunction({ name: 'epoch_s', numArgs: -1, deterministic: false, returnType: INTEGER_RETURN }, (...args) => {
425
443
  const dt = processStrictArgs(args);
426
444
  return dt ? toEpochSeconds(dt) : null;
427
445
  });
@@ -430,7 +448,7 @@ export const epochSFunc = createScalarFunction({ name: 'epoch_s', numArgs: -1, d
430
448
  * Returns INTEGER Unix epoch milliseconds. Same strict parsing as epoch_s.
431
449
  * Epoch values are always relative to UTC regardless of timezone modifiers.
432
450
  */
433
- export const epochMsFunc = createScalarFunction({ name: 'epoch_ms', numArgs: -1, deterministic: false }, (...args) => {
451
+ export const epochMsFunc = createScalarFunction({ name: 'epoch_ms', numArgs: -1, deterministic: false, returnType: INTEGER_RETURN }, (...args) => {
434
452
  const dt = processStrictArgs(args);
435
453
  return dt ? toEpochMilliseconds(dt) : null;
436
454
  });
@@ -439,7 +457,7 @@ export const epochMsFunc = createScalarFunction({ name: 'epoch_ms', numArgs: -1,
439
457
  * Returns REAL Unix epoch seconds with fractional (millisecond) precision.
440
458
  * Same strict parsing as epoch_s. Use epoch_s() when integer precision suffices.
441
459
  */
442
- export const epochSFracFunc = createScalarFunction({ name: 'epoch_s_frac', numArgs: -1, deterministic: false }, (...args) => {
460
+ export const epochSFracFunc = createScalarFunction({ name: 'epoch_s_frac', numArgs: -1, deterministic: false, returnType: REAL_RETURN }, (...args) => {
443
461
  const dt = processStrictArgs(args);
444
462
  return dt ? toEpochSecondsFractional(dt) : null;
445
463
  });
@@ -504,7 +522,7 @@ function formatStrftimeSpecifier(spec, dt) {
504
522
  return spec;
505
523
  }
506
524
  }
507
- export const strftimeFunc = createScalarFunction({ name: 'strftime', numArgs: -1, deterministic: false }, (format, ...timeArgs) => {
525
+ export const strftimeFunc = createScalarFunction({ name: 'strftime', numArgs: -1, deterministic: false, returnType: TEXT_RETURN }, (format, ...timeArgs) => {
508
526
  if (typeof format !== 'string')
509
527
  return null;
510
528
  const { dt } = processDateTimeArgs(timeArgs);
@@ -519,7 +537,7 @@ export const strftimeFunc = createScalarFunction({ name: 'strftime', numArgs: -1
519
537
  }
520
538
  });
521
539
  // --- ISO Validation Functions --- //
522
- export const isISODateFunc = createScalarFunction({ name: 'IsISODate', numArgs: 1, deterministic: true }, (value) => {
540
+ export const isISODateFunc = createScalarFunction({ name: 'IsISODate', numArgs: 1, deterministic: true, returnType: BOOLEAN_RETURN_NOT_NULL }, (value) => {
523
541
  if (typeof value !== 'string')
524
542
  return false;
525
543
  const s = value.trim();
@@ -528,7 +546,7 @@ export const isISODateFunc = createScalarFunction({ name: 'IsISODate', numArgs:
528
546
  const d = tryParse(() => Temporal.PlainDate.from(s));
529
547
  return d !== null && d.toString() === s;
530
548
  });
531
- export const isISODateTimeFunc = createScalarFunction({ name: 'IsISODateTime', numArgs: 1, deterministic: true }, (value) => {
549
+ export const isISODateTimeFunc = createScalarFunction({ name: 'IsISODateTime', numArgs: 1, deterministic: true, returnType: BOOLEAN_RETURN_NOT_NULL }, (value) => {
532
550
  if (typeof value !== 'string')
533
551
  return false;
534
552
  const s = value.trim();