@quereus/quereus 4.4.0 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/README.md +5 -0
  2. package/dist/src/common/types.d.ts +9 -0
  3. package/dist/src/common/types.d.ts.map +1 -1
  4. package/dist/src/common/types.js.map +1 -1
  5. package/dist/src/core/database-events.d.ts +49 -0
  6. package/dist/src/core/database-events.d.ts.map +1 -1
  7. package/dist/src/core/database-events.js +148 -0
  8. package/dist/src/core/database-events.js.map +1 -1
  9. package/dist/src/core/database-materialized-views-plan-builders.d.ts +2 -1
  10. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  11. package/dist/src/core/database-materialized-views-plan-builders.js +26 -5
  12. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  13. package/dist/src/core/database-materialized-views-plans.d.ts +6 -3
  14. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  15. package/dist/src/core/database-materialized-views.d.ts +3 -2
  16. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  17. package/dist/src/core/database-materialized-views.js +26 -5
  18. package/dist/src/core/database-materialized-views.js.map +1 -1
  19. package/dist/src/core/database.d.ts +5 -0
  20. package/dist/src/core/database.d.ts.map +1 -1
  21. package/dist/src/core/database.js +21 -1
  22. package/dist/src/core/database.js.map +1 -1
  23. package/dist/src/core/internal-statement-cache.d.ts +18 -0
  24. package/dist/src/core/internal-statement-cache.d.ts.map +1 -0
  25. package/dist/src/core/internal-statement-cache.js +211 -0
  26. package/dist/src/core/internal-statement-cache.js.map +1 -0
  27. package/dist/src/func/builtins/aggregate.d.ts +13 -12
  28. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  29. package/dist/src/func/builtins/aggregate.js +45 -67
  30. package/dist/src/func/builtins/aggregate.js.map +1 -1
  31. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  32. package/dist/src/func/builtins/builtin-window-functions.js +63 -48
  33. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  34. package/dist/src/func/registration.d.ts +14 -1
  35. package/dist/src/func/registration.d.ts.map +1 -1
  36. package/dist/src/func/registration.js +25 -0
  37. package/dist/src/func/registration.js.map +1 -1
  38. package/dist/src/index.d.ts +8 -8
  39. package/dist/src/index.d.ts.map +1 -1
  40. package/dist/src/index.js +12 -11
  41. package/dist/src/index.js.map +1 -1
  42. package/dist/src/parser/parser.d.ts +6 -0
  43. package/dist/src/parser/parser.d.ts.map +1 -1
  44. package/dist/src/parser/parser.js +45 -34
  45. package/dist/src/parser/parser.js.map +1 -1
  46. package/dist/src/planner/analysis/comparison-collation.d.ts +2 -0
  47. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -1
  48. package/dist/src/planner/analysis/comparison-collation.js +1 -1
  49. package/dist/src/planner/analysis/comparison-collation.js.map +1 -1
  50. package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
  51. package/dist/src/planner/analysis/expression-fingerprint.js +29 -0
  52. package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
  53. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +6 -0
  54. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  55. package/dist/src/planner/analysis/query-rewrite-matcher.js +11 -2
  56. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  57. package/dist/src/planner/analysis/sat-checker.d.ts.map +1 -1
  58. package/dist/src/planner/analysis/sat-checker.js +43 -4
  59. package/dist/src/planner/analysis/sat-checker.js.map +1 -1
  60. package/dist/src/planner/building/delete.d.ts.map +1 -1
  61. package/dist/src/planner/building/delete.js +10 -3
  62. package/dist/src/planner/building/delete.js.map +1 -1
  63. package/dist/src/planner/building/expression.d.ts.map +1 -1
  64. package/dist/src/planner/building/expression.js +87 -6
  65. package/dist/src/planner/building/expression.js.map +1 -1
  66. package/dist/src/planner/building/foreign-key-builder.d.ts +44 -1
  67. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  68. package/dist/src/planner/building/foreign-key-builder.js +54 -0
  69. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  70. package/dist/src/planner/building/insert.d.ts.map +1 -1
  71. package/dist/src/planner/building/insert.js +9 -12
  72. package/dist/src/planner/building/insert.js.map +1 -1
  73. package/dist/src/planner/building/update.d.ts.map +1 -1
  74. package/dist/src/planner/building/update.js +13 -4
  75. package/dist/src/planner/building/update.js.map +1 -1
  76. package/dist/src/planner/framework/pass.js +3 -3
  77. package/dist/src/planner/nodes/dml-executor-node.d.ts +0 -9
  78. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  79. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  80. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  81. package/dist/src/planner/nodes/scalar.js +26 -3
  82. package/dist/src/planner/nodes/scalar.js.map +1 -1
  83. package/dist/src/planner/optimizer.d.ts.map +1 -1
  84. package/dist/src/planner/optimizer.js +5 -12
  85. package/dist/src/planner/optimizer.js.map +1 -1
  86. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  87. package/dist/src/planner/rules/access/rule-select-access-path.js +43 -18
  88. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  89. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -1
  90. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +23 -4
  91. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  92. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts +10 -8
  93. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.d.ts.map +1 -1
  94. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js +10 -8
  95. package/dist/src/planner/rules/cache/rule-scalar-subquery-cache.js.map +1 -1
  96. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +8 -1
  97. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  98. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js +4 -0
  99. package/dist/src/planner/rules/subquery/rule-scalar-agg-decorrelation.js.map +1 -1
  100. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  101. package/dist/src/runtime/deferred-constraint-queue.js +10 -0
  102. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  103. package/dist/src/runtime/emit/aggregate-setup.d.ts +49 -0
  104. package/dist/src/runtime/emit/aggregate-setup.d.ts.map +1 -0
  105. package/dist/src/runtime/emit/aggregate-setup.js +99 -0
  106. package/dist/src/runtime/emit/aggregate-setup.js.map +1 -0
  107. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  108. package/dist/src/runtime/emit/aggregate.js +4 -69
  109. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  110. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  111. package/dist/src/runtime/emit/alter-table.js +348 -165
  112. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  113. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  114. package/dist/src/runtime/emit/asof-scan.js +6 -0
  115. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  116. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  117. package/dist/src/runtime/emit/between.js +32 -3
  118. package/dist/src/runtime/emit/between.js.map +1 -1
  119. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  120. package/dist/src/runtime/emit/binary.js +22 -2
  121. package/dist/src/runtime/emit/binary.js.map +1 -1
  122. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  123. package/dist/src/runtime/emit/bloom-join.js +24 -3
  124. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  125. package/dist/src/runtime/emit/cast.d.ts.map +1 -1
  126. package/dist/src/runtime/emit/cast.js +10 -23
  127. package/dist/src/runtime/emit/cast.js.map +1 -1
  128. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  129. package/dist/src/runtime/emit/constraint-check.js +41 -44
  130. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  131. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  132. package/dist/src/runtime/emit/create-view.js +6 -0
  133. package/dist/src/runtime/emit/create-view.js.map +1 -1
  134. package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
  135. package/dist/src/runtime/emit/distinct.js +6 -3
  136. package/dist/src/runtime/emit/distinct.js.map +1 -1
  137. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  138. package/dist/src/runtime/emit/dml-executor.js +182 -81
  139. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  140. package/dist/src/runtime/emit/hash-aggregate.d.ts.map +1 -1
  141. package/dist/src/runtime/emit/hash-aggregate.js +16 -65
  142. package/dist/src/runtime/emit/hash-aggregate.js.map +1 -1
  143. package/dist/src/runtime/emit/insert.d.ts.map +1 -1
  144. package/dist/src/runtime/emit/insert.js +18 -7
  145. package/dist/src/runtime/emit/insert.js.map +1 -1
  146. package/dist/src/runtime/emit/join.js +5 -0
  147. package/dist/src/runtime/emit/join.js.map +1 -1
  148. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +14 -1
  149. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  150. package/dist/src/runtime/emit/materialized-view-helpers.js +33 -3
  151. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  152. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  153. package/dist/src/runtime/emit/materialized-view.js +47 -6
  154. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  155. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  156. package/dist/src/runtime/emit/merge-join.js +18 -8
  157. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  158. package/dist/src/runtime/emit/set-object-tags.d.ts +8 -0
  159. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -1
  160. package/dist/src/runtime/emit/set-object-tags.js +8 -0
  161. package/dist/src/runtime/emit/set-object-tags.js.map +1 -1
  162. package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
  163. package/dist/src/runtime/emit/set-operation.js +7 -4
  164. package/dist/src/runtime/emit/set-operation.js.map +1 -1
  165. package/dist/src/runtime/emit/sort.d.ts.map +1 -1
  166. package/dist/src/runtime/emit/sort.js +5 -2
  167. package/dist/src/runtime/emit/sort.js.map +1 -1
  168. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  169. package/dist/src/runtime/emit/subquery.js +113 -13
  170. package/dist/src/runtime/emit/subquery.js.map +1 -1
  171. package/dist/src/runtime/emit/temporal-arithmetic.d.ts +7 -0
  172. package/dist/src/runtime/emit/temporal-arithmetic.d.ts.map +1 -1
  173. package/dist/src/runtime/emit/temporal-arithmetic.js +15 -7
  174. package/dist/src/runtime/emit/temporal-arithmetic.js.map +1 -1
  175. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  176. package/dist/src/runtime/emit/update.js +44 -3
  177. package/dist/src/runtime/emit/update.js.map +1 -1
  178. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  179. package/dist/src/runtime/emit/window.js +72 -55
  180. package/dist/src/runtime/emit/window.js.map +1 -1
  181. package/dist/src/runtime/foreign-key-actions.d.ts +36 -1
  182. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  183. package/dist/src/runtime/foreign-key-actions.js +238 -116
  184. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  185. package/dist/src/runtime/parallel-driver.d.ts +6 -1
  186. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  187. package/dist/src/runtime/parallel-driver.js +7 -1
  188. package/dist/src/runtime/parallel-driver.js.map +1 -1
  189. package/dist/src/runtime/types.d.ts +18 -0
  190. package/dist/src/runtime/types.d.ts.map +1 -1
  191. package/dist/src/runtime/types.js.map +1 -1
  192. package/dist/src/schema/catalog-persistability.d.ts +58 -0
  193. package/dist/src/schema/catalog-persistability.d.ts.map +1 -0
  194. package/dist/src/schema/catalog-persistability.js +87 -0
  195. package/dist/src/schema/catalog-persistability.js.map +1 -0
  196. package/dist/src/schema/catalog.d.ts +17 -1
  197. package/dist/src/schema/catalog.d.ts.map +1 -1
  198. package/dist/src/schema/catalog.js +25 -3
  199. package/dist/src/schema/catalog.js.map +1 -1
  200. package/dist/src/schema/constraint-builder.d.ts +20 -22
  201. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  202. package/dist/src/schema/constraint-builder.js +43 -36
  203. package/dist/src/schema/constraint-builder.js.map +1 -1
  204. package/dist/src/schema/ddl-generator.d.ts +23 -0
  205. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  206. package/dist/src/schema/ddl-generator.js +27 -0
  207. package/dist/src/schema/ddl-generator.js.map +1 -1
  208. package/dist/src/schema/function.d.ts +30 -1
  209. package/dist/src/schema/function.d.ts.map +1 -1
  210. package/dist/src/schema/function.js.map +1 -1
  211. package/dist/src/schema/manager.d.ts +28 -0
  212. package/dist/src/schema/manager.d.ts.map +1 -1
  213. package/dist/src/schema/manager.js +82 -14
  214. package/dist/src/schema/manager.js.map +1 -1
  215. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  216. package/dist/src/schema/schema-differ.js +51 -12
  217. package/dist/src/schema/schema-differ.js.map +1 -1
  218. package/dist/src/schema/unique-enforcement.d.ts +31 -0
  219. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  220. package/dist/src/schema/unique-enforcement.js +37 -1
  221. package/dist/src/schema/unique-enforcement.js.map +1 -1
  222. package/dist/src/schema/window-function.d.ts +30 -10
  223. package/dist/src/schema/window-function.d.ts.map +1 -1
  224. package/dist/src/schema/window-function.js +20 -16
  225. package/dist/src/schema/window-function.js.map +1 -1
  226. package/dist/src/types/cast-semantics.d.ts +43 -0
  227. package/dist/src/types/cast-semantics.d.ts.map +1 -0
  228. package/dist/src/types/cast-semantics.js +59 -0
  229. package/dist/src/types/cast-semantics.js.map +1 -0
  230. package/dist/src/types/index.d.ts +1 -1
  231. package/dist/src/types/index.d.ts.map +1 -1
  232. package/dist/src/types/index.js +1 -1
  233. package/dist/src/types/index.js.map +1 -1
  234. package/dist/src/types/json-type.d.ts.map +1 -1
  235. package/dist/src/types/json-type.js +31 -10
  236. package/dist/src/types/json-type.js.map +1 -1
  237. package/dist/src/types/logical-type.d.ts +22 -0
  238. package/dist/src/types/logical-type.d.ts.map +1 -1
  239. package/dist/src/types/logical-type.js.map +1 -1
  240. package/dist/src/types/temporal-types.d.ts.map +1 -1
  241. package/dist/src/types/temporal-types.js +33 -11
  242. package/dist/src/types/temporal-types.js.map +1 -1
  243. package/dist/src/types/validation.d.ts +39 -1
  244. package/dist/src/types/validation.d.ts.map +1 -1
  245. package/dist/src/types/validation.js +60 -0
  246. package/dist/src/types/validation.js.map +1 -1
  247. package/dist/src/util/ast-spine-clone.d.ts +23 -0
  248. package/dist/src/util/ast-spine-clone.d.ts.map +1 -0
  249. package/dist/src/util/ast-spine-clone.js +41 -0
  250. package/dist/src/util/ast-spine-clone.js.map +1 -0
  251. package/dist/src/util/coercion.d.ts +13 -0
  252. package/dist/src/util/coercion.d.ts.map +1 -1
  253. package/dist/src/util/coercion.js +10 -1
  254. package/dist/src/util/coercion.js.map +1 -1
  255. package/dist/src/util/comparison.d.ts +89 -0
  256. package/dist/src/util/comparison.d.ts.map +1 -1
  257. package/dist/src/util/comparison.js +156 -27
  258. package/dist/src/util/comparison.js.map +1 -1
  259. package/dist/src/vtab/manifest.d.ts +7 -0
  260. package/dist/src/vtab/manifest.d.ts.map +1 -1
  261. package/dist/src/vtab/memory/connection.d.ts +14 -1
  262. package/dist/src/vtab/memory/connection.d.ts.map +1 -1
  263. package/dist/src/vtab/memory/connection.js +20 -2
  264. package/dist/src/vtab/memory/connection.js.map +1 -1
  265. package/dist/src/vtab/memory/layer/base.d.ts +6 -1
  266. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  267. package/dist/src/vtab/memory/layer/base.js +14 -5
  268. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  269. package/dist/src/vtab/memory/layer/connection.d.ts +17 -0
  270. package/dist/src/vtab/memory/layer/connection.d.ts.map +1 -1
  271. package/dist/src/vtab/memory/layer/connection.js +26 -0
  272. package/dist/src/vtab/memory/layer/connection.js.map +1 -1
  273. package/dist/src/vtab/memory/layer/manager.d.ts +96 -13
  274. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  275. package/dist/src/vtab/memory/layer/manager.js +595 -119
  276. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  277. package/dist/src/vtab/memory/layer/plan-filter.d.ts +41 -20
  278. package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
  279. package/dist/src/vtab/memory/layer/plan-filter.js +57 -27
  280. package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
  281. package/dist/src/vtab/memory/layer/row-convert.d.ts +21 -0
  282. package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -0
  283. package/dist/src/vtab/memory/layer/row-convert.js +30 -0
  284. package/dist/src/vtab/memory/layer/row-convert.js.map +1 -0
  285. package/dist/src/vtab/memory/layer/scan-layer.d.ts +6 -3
  286. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  287. package/dist/src/vtab/memory/layer/scan-layer.js +48 -34
  288. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  289. package/dist/src/vtab/memory/layer/transaction.d.ts +127 -13
  290. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  291. package/dist/src/vtab/memory/layer/transaction.js +214 -65
  292. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  293. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  294. package/dist/src/vtab/memory/module.js +9 -2
  295. package/dist/src/vtab/memory/module.js.map +1 -1
  296. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  297. package/dist/src/vtab/memory/table.js +3 -2
  298. package/dist/src/vtab/memory/table.js.map +1 -1
  299. package/dist/src/vtab/memory/types.d.ts +27 -1
  300. package/dist/src/vtab/memory/types.d.ts.map +1 -1
  301. package/dist/src/vtab/memory/types.js +16 -1
  302. package/dist/src/vtab/memory/types.js.map +1 -1
  303. package/dist/src/vtab/memory/utils/primary-key.d.ts +9 -0
  304. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  305. package/dist/src/vtab/memory/utils/primary-key.js +11 -0
  306. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  307. package/dist/src/vtab/module.d.ts +63 -0
  308. package/dist/src/vtab/module.d.ts.map +1 -1
  309. package/dist/src/vtab/table.d.ts +24 -6
  310. package/dist/src/vtab/table.d.ts.map +1 -1
  311. package/dist/src/vtab/table.js.map +1 -1
  312. package/package.json +3 -3
  313. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts +0 -26
  314. package/dist/src/planner/rules/cache/rule-in-subquery-cache.d.ts.map +0 -1
  315. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js +0 -66
  316. package/dist/src/planner/rules/cache/rule-in-subquery-cache.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vtab/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/vtab/module.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,15 @@ export interface UpdateArgs {
25
25
  /** Optional: Deterministic SQL statement that reproduces this mutation (if logMutations is enabled) */
26
26
  mutationStatement?: string;
27
27
  /**
28
- * If true, `values` is already coerced to the table's declared column logical
29
- * types (e.g. flushed from an overlay that coerced on write). The vtab may skip
30
- * its own coercion pass. Used by the isolation layer's overlay→underlying flush
31
- * to avoid double-parsing values that are not idempotent under parse (e.g.
32
- * JSON scalar strings).
28
+ * If true, `values` (and any key cells in `oldKeyValues`) are already coerced
29
+ * to the table's declared column logical types, and the vtab may skip its own
30
+ * coercion pass conversion is not idempotent for every type (JSON scalar
31
+ * strings double-parse to a different value or throw). Set by the DML executor
32
+ * (whose emitters convert every write at the top of the pipeline, driven by
33
+ * static expression types — docs/types.md § Where coercion happens) and by the
34
+ * isolation layer's overlay→underlying flush and tombstone writes (rows built
35
+ * from already-converted stored values). Direct API callers leave it unset and
36
+ * the vtab converts raw values itself, as before.
33
37
  */
34
38
  preCoerced?: boolean;
35
39
  /**
@@ -112,7 +116,21 @@ export declare abstract class VirtualTable {
112
116
  * Performs an INSERT, UPDATE, or DELETE operation.
113
117
  *
114
118
  * Returns an UpdateResult indicating success or constraint violation:
115
- * - `{ status: 'ok', row?: Row }` - Success. Row is new/updated row for INSERT/UPDATE, undefined for DELETE.
119
+ * - `{ status: 'ok', row?: Row }` - Success. The presence of `row` is how the module
120
+ * reports that a row was actually written or removed. Omitting it means "no row
121
+ * changed" (an UPDATE/DELETE whose key was not found, or a conflict the module
122
+ * resolved as IGNORE): the executor then skips the whole post-write pipeline and
123
+ * emits nothing downstream — so every module must return `row` on a real write.
124
+ * For INSERT/UPDATE, `row` is the row the module actually STORED: the proposed
125
+ * `args.values` after the module's own coercion to the declared column logical
126
+ * types. A module that coerces MUST return the coerced row, because the DML
127
+ * executor reports `row` (not `args.values`) to every post-write consumer —
128
+ * RETURNING, change tracking, row-time materialized-view maintenance, FK cascades,
129
+ * data-change events. Returning the raw input from a coercing module makes
130
+ * RETURNING disagree with a subsequent `select` on the same row. A row whose width
131
+ * is not the table's column count makes the executor fall back to `args.values`.
132
+ * For DELETE, only the presence of `row` is consulted, never its contents (the OLD
133
+ * image comes from the source scan), so a PK-only placeholder is acceptable.
116
134
  * - `{ status: 'constraint', constraint, message?, existingRow? }` - Constraint violation.
117
135
  * For 'unique' constraints, existingRow contains the conflicting row (enables UPSERT).
118
136
  *
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,wDAAwD;IACxD,SAAS,EAAE,KAAK,CAAC;IACjB,4EAA4E;IAC5E,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,uFAAuF;IACvF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,uGAAuG;IACvG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,8BAAsB,YAAY;IACjC,SAAgB,MAAM,EAAE,qBAAqB,CAAC;IAC9C,SAAgB,EAAE,EAAE,QAAQ,CAAC;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,8DAA8D;IAC9D,SAAgB,UAAU,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAEjC;;;;OAIG;IACI,cAAc,CAAC,EAAE,OAAO,CAAC;gBAEpB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAO9F;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI5D;;;;OAIG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC;IAElD;;;;;;;;OAQG;IACH,WAAW,CAAC,CACX,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,QAAQ,EACd,GAAG,CAAC,EAAE,OAAO,GACX,aAAa,CAAC,GAAG,CAAC;IAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAExD;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,YAAY,CAAC,sBAAsB,CAAC;IAEzD;;;;OAIG;IACH,aAAa,CAAC,IAAI,sBAAsB,GAAG,SAAS;IAEpD;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,CAAC,UAAU,EAAE,sBAAsB,GAAG,YAAY,CAAC,IAAI,CAAC;IAExE;;OAEG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtB;;OAEG;IACH,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B;;;OAGG;IACH,MAAM,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC;;;OAGG;IACH,SAAS,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjD;;;OAGG;IACH,OAAO,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/C;;;OAGG;IACH,UAAU,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAElD;;;;OAIG;IACH,WAAW,CAAC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzD;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9E;;;OAGG;IACH,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,IAAI,kBAAkB,GAAG,SAAS;IAElD;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe;IAI5D;;;OAGG;IACH,iBAAiB,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,EAAE;IAExC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM;IAExD;;;OAGG;IACH,oBAAoB,CAAC,IAAI,MAAM,EAAE;IAEjC;;;;;;OAMG;IACH,kBAAkB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAS;CAC/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,MAAM,OAAgB,YAAY;IACjB,MAAM,CAAwB;IAC9B,EAAE,CAAW;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACa,SAAS,CAAS;IAClC,8DAA8D;IAC9C,UAAU,CAAS;IAC5B,YAAY,CAAU;IACtB,WAAW,CAAe;IAEjC;;;;OAIG;IACI,cAAc,CAAW;IAEhC,YAAY,EAAY,EAAE,MAA6B,EAAE,UAAkB,EAAE,SAAiB;QAC7F,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,OAA2B;QACpD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC7B,CAAC;CAkMD"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/vtab/table.ts"],"names":[],"mappings":"AAkDA;;;GAGG;AACH,MAAM,OAAgB,YAAY;IACjB,MAAM,CAAwB;IAC9B,EAAE,CAAW;IAC7B;;;;;;;;;;;;;;;;;OAiBG;IACa,SAAS,CAAS;IAClC,8DAA8D;IAC9C,UAAU,CAAS;IAC5B,YAAY,CAAU;IACtB,WAAW,CAAe;IAEjC;;;;OAIG;IACI,cAAc,CAAW;IAEhC,YAAY,EAAY,EAAE,MAA6B,EAAE,UAAkB,EAAE,SAAiB;QAC7F,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACO,eAAe,CAAC,OAA2B;QACpD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC7B,CAAC;CAgND"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quereus/quereus",
3
- "version": "4.4.0",
3
+ "version": "4.4.1",
4
4
  "type": "module",
5
5
  "description": "Pure TypeScript SQL engine — no WASM, no native bindings. Runs in browsers, Node.js, React Native, edge workers, and anywhere JS runs.",
6
6
  "keywords": [
@@ -71,9 +71,9 @@
71
71
  "mutation:subsystem": "node mutation-subsystem.mjs"
72
72
  },
73
73
  "devDependencies": {
74
- "@quereus/plugin-leveldb": "^4.4.0",
74
+ "@quereus/plugin-leveldb": "^4.4.1",
75
75
  "@quereus/plugin-loader": "*",
76
- "@quereus/store": "^4.4.0",
76
+ "@quereus/store": "^4.4.1",
77
77
  "@stryker-mutator/core": "^9.6.1",
78
78
  "@stryker-mutator/mocha-runner": "^9.6.1",
79
79
  "@stryker-mutator/typescript-checker": "^9.6.1",
@@ -1,26 +0,0 @@
1
- /**
2
- * Rule: IN-Subquery Cache
3
- *
4
- * Required Characteristics:
5
- * - Node must be an InNode with a subquery source (not a value list)
6
- * - Source must be uncorrelated (no outer attribute references)
7
- * - Source must be deterministic and read-only (functional)
8
- * - Source must not already be cached
9
- *
10
- * Applied When:
11
- * - IN subquery source would be re-executed for every outer row in a filter predicate
12
- *
13
- * Benefits: Materializes the subquery result once and replays from cache on subsequent
14
- * evaluations, reducing O(N * K) CTE/subquery evaluations to O(K + N * K_cached)
15
- *
16
- * The CacheNode is built in EAGER mode: emitIn's pure streaming consumer returns on
17
- * the first matching row, which would abort a streaming-first cache mid-build and leave
18
- * it uncommitted (so every outer row re-opens the source). Eager mode drains + commits
19
- * the buffer on the first evaluation before yielding any row, so IN's first-match
20
- * short-circuit cannot defeat the cache. Safe here because the rule already gates on
21
- * uncorrelated + functional, so the materialized set is identical across outer rows.
22
- */
23
- import type { PlanNode } from '../../nodes/plan-node.js';
24
- import type { OptContext } from '../../framework/context.js';
25
- export declare function ruleInSubqueryCache(node: PlanNode, context: OptContext): PlanNode | null;
26
- //# sourceMappingURL=rule-in-subquery-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-in-subquery-cache.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAS7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA0DxF"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Rule: IN-Subquery Cache
3
- *
4
- * Required Characteristics:
5
- * - Node must be an InNode with a subquery source (not a value list)
6
- * - Source must be uncorrelated (no outer attribute references)
7
- * - Source must be deterministic and read-only (functional)
8
- * - Source must not already be cached
9
- *
10
- * Applied When:
11
- * - IN subquery source would be re-executed for every outer row in a filter predicate
12
- *
13
- * Benefits: Materializes the subquery result once and replays from cache on subsequent
14
- * evaluations, reducing O(N * K) CTE/subquery evaluations to O(K + N * K_cached)
15
- *
16
- * The CacheNode is built in EAGER mode: emitIn's pure streaming consumer returns on
17
- * the first matching row, which would abort a streaming-first cache mid-build and leave
18
- * it uncommitted (so every outer row re-opens the source). Eager mode drains + commits
19
- * the buffer on the first evaluation before yielding any row, so IN's first-match
20
- * short-circuit cannot defeat the cache. Safe here because the rule already gates on
21
- * uncorrelated + functional, so the materialized set is identical across outer rows.
22
- */
23
- import { createLogger } from '../../../common/logger.js';
24
- import { InNode } from '../../nodes/subquery.js';
25
- import { CacheNode } from '../../nodes/cache-node.js';
26
- import { CapabilityDetectors, CachingAnalysis, PlanNodeCharacteristics } from '../../framework/characteristics.js';
27
- import { isCorrelatedSubquery } from '../../cache/correlation-detector.js';
28
- import { PlanNodeType } from '../../nodes/plan-node-type.js';
29
- const log = createLogger('optimizer:rule:in-subquery-cache');
30
- export function ruleInSubqueryCache(node, context) {
31
- // Guard: must be an InNode with a subquery source
32
- if (node.nodeType !== PlanNodeType.In) {
33
- return null;
34
- }
35
- const inNode = node;
36
- if (!inNode.source) {
37
- return null; // Value-list IN, nothing to cache
38
- }
39
- const source = inNode.source;
40
- // Gate: source must not already be cached
41
- if (CapabilityDetectors.isCached(source) && source.isCached()) {
42
- log('IN-subquery source already cached, skipping');
43
- return null;
44
- }
45
- // Gate: source must be uncorrelated (no outer attribute references)
46
- if (isCorrelatedSubquery(source)) {
47
- log('IN-subquery is correlated, skipping cache wrapping');
48
- return null;
49
- }
50
- // Gate: source must be deterministic and read-only
51
- if (!PlanNodeCharacteristics.isFunctional(source)) {
52
- log('IN-subquery source is not functional, skipping cache wrapping');
53
- return null;
54
- }
55
- log('Wrapping uncorrelated IN-subquery source in CacheNode');
56
- const cacheThreshold = Math.min(CachingAnalysis.getCacheThreshold(source), context.tuning.cte.maxCacheThreshold);
57
- // NOTE: eager drains the whole subquery on the first eval, so a low-cardinality
58
- // outer relation (e.g. one row, or an early LIMIT) pays the full drain and loses
59
- // IN's first-match early-exit. Harmless for small sources; if large-source +
60
- // low-outer-cardinality IN-subqueries show up as slow, gate eager (or the whole
61
- // rule) on estimated outer cardinality.
62
- const cachedSource = new CacheNode(source.scope, source, 'memory', cacheThreshold, true // eager: defeat IN's first-match short-circuit that would abort a streaming build
63
- );
64
- return new InNode(inNode.scope, inNode.expression, inNode.condition, cachedSource, inNode.values);
65
- }
66
- //# sourceMappingURL=rule-in-subquery-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-in-subquery-cache.js","sourceRoot":"","sources":["../../../../../src/planner/rules/cache/rule-in-subquery-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,GAAG,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,IAAc,EAAE,OAAmB;IACtE,kDAAkD;IAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,IAAc,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,kCAAkC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,0CAA0C;IAC1C,IAAI,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/D,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oEAAoE;IACpE,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,GAAG,CAAC,uDAAuD,CAAC,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,EACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACpC,CAAC;IAEF,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,SAAS,CACjC,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,cAAc,EACd,IAAI,CAAE,kFAAkF;KACxF,CAAC;IAEF,OAAO,IAAI,MAAM,CAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,YAAY,EACZ,MAAM,CAAC,MAAM,CACb,CAAC;AACH,CAAC"}