@quereus/quereus 2.7.0 → 2.9.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 (358) hide show
  1. package/dist/src/common/errors.d.ts +21 -0
  2. package/dist/src/common/errors.d.ts.map +1 -1
  3. package/dist/src/common/errors.js +29 -0
  4. package/dist/src/common/errors.js.map +1 -1
  5. package/dist/src/core/database.d.ts.map +1 -1
  6. package/dist/src/core/database.js +20 -7
  7. package/dist/src/core/database.js.map +1 -1
  8. package/dist/src/core/statement.d.ts.map +1 -1
  9. package/dist/src/core/statement.js +15 -5
  10. package/dist/src/core/statement.js.map +1 -1
  11. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  12. package/dist/src/emit/ast-stringify.js +0 -4
  13. package/dist/src/emit/ast-stringify.js.map +1 -1
  14. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  15. package/dist/src/func/builtins/explain.js +39 -36
  16. package/dist/src/func/builtins/explain.js.map +1 -1
  17. package/dist/src/func/builtins/json-helpers.d.ts +1 -1
  18. package/dist/src/func/builtins/json-helpers.d.ts.map +1 -1
  19. package/dist/src/func/builtins/json-helpers.js.map +1 -1
  20. package/dist/src/func/builtins/json.d.ts.map +1 -1
  21. package/dist/src/func/builtins/json.js +5 -7
  22. package/dist/src/func/builtins/json.js.map +1 -1
  23. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  24. package/dist/src/func/builtins/scalar.js +17 -2
  25. package/dist/src/func/builtins/scalar.js.map +1 -1
  26. package/dist/src/func/builtins/string.d.ts.map +1 -1
  27. package/dist/src/func/builtins/string.js +4 -2
  28. package/dist/src/func/builtins/string.js.map +1 -1
  29. package/dist/src/parser/ast.d.ts +4 -3
  30. package/dist/src/parser/ast.d.ts.map +1 -1
  31. package/dist/src/parser/lexer.d.ts.map +1 -1
  32. package/dist/src/parser/lexer.js +8 -48
  33. package/dist/src/parser/lexer.js.map +1 -1
  34. package/dist/src/parser/parser.d.ts.map +1 -1
  35. package/dist/src/parser/parser.js +43 -11
  36. package/dist/src/parser/parser.js.map +1 -1
  37. package/dist/src/parser/utils.d.ts +10 -1
  38. package/dist/src/parser/utils.d.ts.map +1 -1
  39. package/dist/src/parser/utils.js +23 -0
  40. package/dist/src/parser/utils.js.map +1 -1
  41. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  42. package/dist/src/planner/analysis/constraint-extractor.js +0 -1
  43. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  44. package/dist/src/planner/building/constraint-builder.d.ts +12 -1
  45. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  46. package/dist/src/planner/building/constraint-builder.js +60 -1
  47. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  48. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  49. package/dist/src/planner/building/create-view.js +16 -0
  50. package/dist/src/planner/building/create-view.js.map +1 -1
  51. package/dist/src/planner/building/delete.d.ts.map +1 -1
  52. package/dist/src/planner/building/delete.js +13 -7
  53. package/dist/src/planner/building/delete.js.map +1 -1
  54. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  55. package/dist/src/planner/building/foreign-key-builder.js +27 -17
  56. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  57. package/dist/src/planner/building/insert.d.ts.map +1 -1
  58. package/dist/src/planner/building/insert.js +51 -43
  59. package/dist/src/planner/building/insert.js.map +1 -1
  60. package/dist/src/planner/building/select-aggregates.d.ts +4 -1
  61. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  62. package/dist/src/planner/building/select-aggregates.js +122 -21
  63. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  64. package/dist/src/planner/building/select-modifiers.d.ts +6 -2
  65. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  66. package/dist/src/planner/building/select-modifiers.js +20 -5
  67. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  68. package/dist/src/planner/building/select-ordinal.d.ts +20 -0
  69. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -0
  70. package/dist/src/planner/building/select-ordinal.js +62 -0
  71. package/dist/src/planner/building/select-ordinal.js.map +1 -0
  72. package/dist/src/planner/building/select.d.ts.map +1 -1
  73. package/dist/src/planner/building/select.js +78 -19
  74. package/dist/src/planner/building/select.js.map +1 -1
  75. package/dist/src/planner/building/update.d.ts.map +1 -1
  76. package/dist/src/planner/building/update.js +38 -27
  77. package/dist/src/planner/building/update.js.map +1 -1
  78. package/dist/src/planner/building/with.d.ts.map +1 -1
  79. package/dist/src/planner/building/with.js +25 -2
  80. package/dist/src/planner/building/with.js.map +1 -1
  81. package/dist/src/planner/framework/characteristics.d.ts +3 -1
  82. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  83. package/dist/src/planner/framework/characteristics.js +7 -0
  84. package/dist/src/planner/framework/characteristics.js.map +1 -1
  85. package/dist/src/planner/framework/physical-utils.d.ts +22 -1
  86. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  87. package/dist/src/planner/framework/physical-utils.js +47 -0
  88. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  89. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  90. package/dist/src/planner/nodes/alias-node.js +2 -0
  91. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  92. package/dist/src/planner/nodes/asof-scan-node.d.ts +137 -0
  93. package/dist/src/planner/nodes/asof-scan-node.d.ts.map +1 -0
  94. package/dist/src/planner/nodes/asof-scan-node.js +223 -0
  95. package/dist/src/planner/nodes/asof-scan-node.js.map +1 -0
  96. package/dist/src/planner/nodes/constraint-check-node.d.ts +25 -1
  97. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  98. package/dist/src/planner/nodes/constraint-check-node.js +36 -6
  99. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  100. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  101. package/dist/src/planner/nodes/distinct-node.js +7 -0
  102. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  103. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  104. package/dist/src/planner/nodes/filter.js +8 -2
  105. package/dist/src/planner/nodes/filter.js.map +1 -1
  106. package/dist/src/planner/nodes/function.d.ts +11 -1
  107. package/dist/src/planner/nodes/function.d.ts.map +1 -1
  108. package/dist/src/planner/nodes/function.js +94 -1
  109. package/dist/src/planner/nodes/function.js.map +1 -1
  110. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  111. package/dist/src/planner/nodes/hash-aggregate.js +2 -0
  112. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  113. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  114. package/dist/src/planner/nodes/join-node.js +10 -2
  115. package/dist/src/planner/nodes/join-node.js.map +1 -1
  116. package/dist/src/planner/nodes/join-utils.d.ts +19 -1
  117. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  118. package/dist/src/planner/nodes/join-utils.js +46 -0
  119. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  120. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/limit-offset.js +2 -0
  122. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  123. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  124. package/dist/src/planner/nodes/merge-join-node.js +4 -1
  125. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  126. package/dist/src/planner/nodes/ordinal-slice-node.d.ts +50 -0
  127. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -0
  128. package/dist/src/planner/nodes/ordinal-slice-node.js +127 -0
  129. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -0
  130. package/dist/src/planner/nodes/plan-node-type.d.ts +2 -0
  131. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  132. package/dist/src/planner/nodes/plan-node-type.js +2 -0
  133. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  134. package/dist/src/planner/nodes/plan-node.d.ts +130 -1
  135. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  136. package/dist/src/planner/nodes/plan-node.js +49 -0
  137. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  138. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  139. package/dist/src/planner/nodes/project-node.js +6 -1
  140. package/dist/src/planner/nodes/project-node.js.map +1 -1
  141. package/dist/src/planner/nodes/recursive-cte-node.d.ts +5 -3
  142. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  143. package/dist/src/planner/nodes/recursive-cte-node.js +24 -8
  144. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  145. package/dist/src/planner/nodes/reference.d.ts +4 -1
  146. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  147. package/dist/src/planner/nodes/reference.js +16 -0
  148. package/dist/src/planner/nodes/reference.js.map +1 -1
  149. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  150. package/dist/src/planner/nodes/returning-node.js +5 -12
  151. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  152. package/dist/src/planner/nodes/scalar.d.ts +7 -1
  153. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  154. package/dist/src/planner/nodes/scalar.js +100 -1
  155. package/dist/src/planner/nodes/scalar.js.map +1 -1
  156. package/dist/src/planner/nodes/set-operation-node.d.ts +2 -1
  157. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  158. package/dist/src/planner/nodes/set-operation-node.js +9 -0
  159. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  160. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  161. package/dist/src/planner/nodes/sort.js +20 -0
  162. package/dist/src/planner/nodes/sort.js.map +1 -1
  163. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  164. package/dist/src/planner/nodes/stream-aggregate.js +2 -0
  165. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  166. package/dist/src/planner/nodes/table-access-nodes.d.ts +37 -2
  167. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  168. package/dist/src/planner/nodes/table-access-nodes.js +87 -10
  169. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  170. package/dist/src/planner/nodes/update-node.d.ts +1 -3
  171. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  172. package/dist/src/planner/nodes/update-node.js +3 -9
  173. package/dist/src/planner/nodes/update-node.js.map +1 -1
  174. package/dist/src/planner/nodes/window-node.d.ts +61 -2
  175. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  176. package/dist/src/planner/nodes/window-node.js +64 -3
  177. package/dist/src/planner/nodes/window-node.js.map +1 -1
  178. package/dist/src/planner/optimizer-tuning.d.ts +9 -0
  179. package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
  180. package/dist/src/planner/optimizer-tuning.js +3 -0
  181. package/dist/src/planner/optimizer-tuning.js.map +1 -1
  182. package/dist/src/planner/optimizer.d.ts.map +1 -1
  183. package/dist/src/planner/optimizer.js +91 -0
  184. package/dist/src/planner/optimizer.js.map +1 -1
  185. package/dist/src/planner/rules/access/rule-asof-strategy-select.d.ts +30 -0
  186. package/dist/src/planner/rules/access/rule-asof-strategy-select.d.ts.map +1 -0
  187. package/dist/src/planner/rules/access/rule-asof-strategy-select.js +112 -0
  188. package/dist/src/planner/rules/access/rule-asof-strategy-select.js.map +1 -0
  189. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.d.ts +33 -0
  190. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.d.ts.map +1 -0
  191. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.js +162 -0
  192. package/dist/src/planner/rules/access/rule-monotonic-limit-pushdown.js.map +1 -0
  193. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts +29 -0
  194. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -0
  195. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +175 -0
  196. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -0
  197. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  198. package/dist/src/planner/rules/access/rule-select-access-path.js +53 -36
  199. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  200. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +61 -0
  201. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -0
  202. package/dist/src/planner/rules/join/equi-pair-extractor.js +155 -0
  203. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -0
  204. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  205. package/dist/src/planner/rules/join/rule-join-physical-selection.js +3 -123
  206. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  207. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts +21 -0
  208. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -0
  209. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +405 -0
  210. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -0
  211. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +31 -0
  212. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -0
  213. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +113 -0
  214. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -0
  215. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  216. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +7 -3
  217. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  218. package/dist/src/planner/rules/predicate/rule-filter-merge.js.map +1 -1
  219. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  220. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
  221. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +161 -9
  222. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  223. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  224. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +2 -2
  225. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  226. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts +47 -0
  227. package/dist/src/planner/rules/window/rule-monotonic-window.d.ts.map +1 -0
  228. package/dist/src/planner/rules/window/rule-monotonic-window.js +341 -0
  229. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -0
  230. package/dist/src/runtime/context-helpers.d.ts +9 -0
  231. package/dist/src/runtime/context-helpers.d.ts.map +1 -1
  232. package/dist/src/runtime/context-helpers.js +5 -0
  233. package/dist/src/runtime/context-helpers.js.map +1 -1
  234. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  235. package/dist/src/runtime/emit/alter-table.js +286 -7
  236. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  237. package/dist/src/runtime/emit/asof-scan.d.ts +10 -0
  238. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -0
  239. package/dist/src/runtime/emit/asof-scan.js +467 -0
  240. package/dist/src/runtime/emit/asof-scan.js.map +1 -0
  241. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  242. package/dist/src/runtime/emit/binary.js +12 -7
  243. package/dist/src/runtime/emit/binary.js.map +1 -1
  244. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  245. package/dist/src/runtime/emit/constraint-check.js +145 -62
  246. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  247. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  248. package/dist/src/runtime/emit/create-assertion.js +6 -6
  249. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  250. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  251. package/dist/src/runtime/emit/dml-executor.js +133 -76
  252. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  253. package/dist/src/runtime/emit/ordinal-slice.d.ts +13 -0
  254. package/dist/src/runtime/emit/ordinal-slice.d.ts.map +1 -0
  255. package/dist/src/runtime/emit/ordinal-slice.js +89 -0
  256. package/dist/src/runtime/emit/ordinal-slice.js.map +1 -0
  257. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  258. package/dist/src/runtime/emit/recursive-cte.js +61 -10
  259. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  260. package/dist/src/runtime/emit/returning.d.ts.map +1 -1
  261. package/dist/src/runtime/emit/returning.js +9 -4
  262. package/dist/src/runtime/emit/returning.js.map +1 -1
  263. package/dist/src/runtime/emit/scalar-function.d.ts.map +1 -1
  264. package/dist/src/runtime/emit/scalar-function.js +2 -1
  265. package/dist/src/runtime/emit/scalar-function.js.map +1 -1
  266. package/dist/src/runtime/emit/scan.d.ts +19 -3
  267. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  268. package/dist/src/runtime/emit/scan.js +12 -8
  269. package/dist/src/runtime/emit/scan.js.map +1 -1
  270. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  271. package/dist/src/runtime/emit/schema-declarative.js +91 -14
  272. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  273. package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
  274. package/dist/src/runtime/emit/table-valued-function.js +4 -2
  275. package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
  276. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  277. package/dist/src/runtime/emit/update.js +8 -5
  278. package/dist/src/runtime/emit/update.js.map +1 -1
  279. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  280. package/dist/src/runtime/emit/window.js +732 -37
  281. package/dist/src/runtime/emit/window.js.map +1 -1
  282. package/dist/src/runtime/foreign-key-actions.js +7 -6
  283. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  284. package/dist/src/runtime/register.d.ts.map +1 -1
  285. package/dist/src/runtime/register.js +4 -0
  286. package/dist/src/runtime/register.js.map +1 -1
  287. package/dist/src/schema/catalog.d.ts +12 -0
  288. package/dist/src/schema/catalog.d.ts.map +1 -1
  289. package/dist/src/schema/catalog.js +47 -6
  290. package/dist/src/schema/catalog.js.map +1 -1
  291. package/dist/src/schema/column.d.ts +7 -0
  292. package/dist/src/schema/column.d.ts.map +1 -1
  293. package/dist/src/schema/column.js.map +1 -1
  294. package/dist/src/schema/function.d.ts +28 -3
  295. package/dist/src/schema/function.d.ts.map +1 -1
  296. package/dist/src/schema/function.js.map +1 -1
  297. package/dist/src/schema/manager.d.ts +42 -6
  298. package/dist/src/schema/manager.d.ts.map +1 -1
  299. package/dist/src/schema/manager.js +175 -23
  300. package/dist/src/schema/manager.js.map +1 -1
  301. package/dist/src/schema/rename-rewriter.d.ts +4 -0
  302. package/dist/src/schema/rename-rewriter.d.ts.map +1 -0
  303. package/dist/src/schema/rename-rewriter.js +506 -0
  304. package/dist/src/schema/rename-rewriter.js.map +1 -0
  305. package/dist/src/schema/schema-differ.d.ts +18 -1
  306. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  307. package/dist/src/schema/schema-differ.js +344 -42
  308. package/dist/src/schema/schema-differ.js.map +1 -1
  309. package/dist/src/schema/table.d.ts +65 -2
  310. package/dist/src/schema/table.d.ts.map +1 -1
  311. package/dist/src/schema/table.js +144 -0
  312. package/dist/src/schema/table.js.map +1 -1
  313. package/dist/src/types/logical-type.d.ts +11 -0
  314. package/dist/src/types/logical-type.d.ts.map +1 -1
  315. package/dist/src/types/logical-type.js.map +1 -1
  316. package/dist/src/util/ast-literal.d.ts +11 -0
  317. package/dist/src/util/ast-literal.d.ts.map +1 -0
  318. package/dist/src/util/ast-literal.js +26 -0
  319. package/dist/src/util/ast-literal.js.map +1 -0
  320. package/dist/src/util/async-iterator.d.ts +2 -1
  321. package/dist/src/util/async-iterator.d.ts.map +1 -1
  322. package/dist/src/util/async-iterator.js +4 -4
  323. package/dist/src/util/async-iterator.js.map +1 -1
  324. package/dist/src/util/patterns.d.ts.map +1 -1
  325. package/dist/src/util/patterns.js +58 -10
  326. package/dist/src/util/patterns.js.map +1 -1
  327. package/dist/src/vtab/best-access-plan.d.ts +48 -0
  328. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  329. package/dist/src/vtab/best-access-plan.js +29 -0
  330. package/dist/src/vtab/best-access-plan.js.map +1 -1
  331. package/dist/src/vtab/filter-info.d.ts +14 -0
  332. package/dist/src/vtab/filter-info.d.ts.map +1 -1
  333. package/dist/src/vtab/memory/index.d.ts +8 -0
  334. package/dist/src/vtab/memory/index.d.ts.map +1 -1
  335. package/dist/src/vtab/memory/index.js +11 -0
  336. package/dist/src/vtab/memory/index.js.map +1 -1
  337. package/dist/src/vtab/memory/layer/base.d.ts +8 -1
  338. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  339. package/dist/src/vtab/memory/layer/base.js +36 -2
  340. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  341. package/dist/src/vtab/memory/layer/manager.d.ts +5 -1
  342. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  343. package/dist/src/vtab/memory/layer/manager.js +63 -13
  344. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  345. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  346. package/dist/src/vtab/memory/layer/transaction.js +21 -2
  347. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  348. package/dist/src/vtab/memory/module.d.ts +45 -2
  349. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  350. package/dist/src/vtab/memory/module.js +268 -27
  351. package/dist/src/vtab/memory/module.js.map +1 -1
  352. package/dist/src/vtab/memory/utils/predicate.d.ts +27 -0
  353. package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -0
  354. package/dist/src/vtab/memory/utils/predicate.js +182 -0
  355. package/dist/src/vtab/memory/utils/predicate.js.map +1 -0
  356. package/dist/src/vtab/module.d.ts +24 -0
  357. package/dist/src/vtab/module.d.ts.map +1 -1
  358. package/package.json +3 -3
@@ -1,10 +1,34 @@
1
1
  import { emitPlanNode, emitCallFromPlan } from '../emitters.js';
2
- import { QuereusError } from '../../common/errors.js';
3
- import { StatusCode } from '../../common/types.js';
2
+ import { ConstraintError, FailConflictError, RollbackConflictError } from '../../common/errors.js';
4
3
  import { RowOpFlag } from '../../schema/table.js';
4
+ import { ConflictResolution } from '../../common/constants.js';
5
5
  import { withAsyncRowContext, createRowSlot } from '../context-helpers.js';
6
6
  import { expressionToString } from '../../emit/ast-stringify.js';
7
7
  import { composeCombinedDescriptor } from '../descriptor-helpers.js';
8
+ import { sqlValuesEqual } from '../../util/comparison.js';
9
+ /**
10
+ * Resolve the effective conflict action for a single failure.
11
+ *
12
+ * Precedence: statement-level OR clause > per-constraint default > ABORT.
13
+ */
14
+ function pickAction(stmtOR, constraintDefault) {
15
+ return stmtOR ?? constraintDefault ?? ConflictResolution.ABORT;
16
+ }
17
+ /**
18
+ * Throws an appropriate ConstraintError subclass based on the effective
19
+ * conflict action. ABORT/REPLACE/IGNORE callers must not reach this — IGNORE
20
+ * is handled by skipping the row, REPLACE by substitution / passthrough, and
21
+ * ABORT throws a plain ConstraintError.
22
+ */
23
+ function throwForAction(action, message) {
24
+ if (action === ConflictResolution.FAIL) {
25
+ throw new FailConflictError(message);
26
+ }
27
+ if (action === ConflictResolution.ROLLBACK) {
28
+ throw new RollbackConflictError(message);
29
+ }
30
+ throw new ConstraintError(message);
31
+ }
8
32
  export function emitConstraintCheck(plan, ctx) {
9
33
  // Get the table schema to access constraints
10
34
  const tableSchema = plan.table.tableSchema;
@@ -14,6 +38,7 @@ export function emitConstraintCheck(plan, ctx) {
14
38
  const mutationContextValues = plan.mutationContextValues;
15
39
  const contextAttributes = plan.contextAttributes;
16
40
  const contextDescriptor = plan.contextDescriptor;
41
+ const stmtOR = plan.onConflict;
17
42
  // Emit mutation context value evaluators if present
18
43
  const contextEvaluatorInstructions = [];
19
44
  if (mutationContextValues && contextAttributes) {
@@ -26,6 +51,9 @@ export function emitConstraintCheck(plan, ctx) {
26
51
  }
27
52
  // Emit evaluator instructions for each pre-built constraint expression
28
53
  const checkEvaluators = plan.constraintChecks.map(check => emitCallFromPlan(check.expression, ctx));
54
+ // Emit evaluators for NOT NULL DEFAULT substitution (used by REPLACE).
55
+ const notNullDefaultPlans = plan.notNullDefaults ?? [];
56
+ const notNullDefaultInstructions = notNullDefaultPlans.map(d => emitCallFromPlan(d.defaultNode, ctx));
29
57
  const constraintMetadata = plan.constraintChecks.map((check, idx) => {
30
58
  const evaluatorInstruction = checkEvaluators[idx];
31
59
  const constraintName = check.constraint.name ?? generateDefaultConstraintName(tableSchema, check.constraint);
@@ -39,57 +67,59 @@ export function emitConstraintCheck(plan, ctx) {
39
67
  shouldDefer: Boolean(check.deferrable || check.initiallyDeferred || check.needsDeferred),
40
68
  baseTable: `${tableSchema.schemaName}.${tableSchema.name}`,
41
69
  contextRow: undefined,
42
- contextDescriptor
70
+ contextDescriptor,
71
+ kind: check.kind ?? 'check',
72
+ referencedColumnIndices: check.referencedColumnIndices,
43
73
  };
44
74
  });
45
75
  async function* run(rctx, inputRows, ...evaluatorFunctions) {
46
76
  if (!inputRows) {
47
77
  return;
48
78
  }
49
- // Evaluate mutation context values once per statement (not per row)
79
+ // Split: first contextEvaluatorInstructions are context evaluators, then constraint
80
+ // evaluators, then NOT NULL DEFAULT evaluators.
81
+ const numContextEvaluators = contextEvaluatorInstructions.length;
82
+ const numConstraintEvaluators = constraintMetadata.length;
50
83
  let contextRow;
51
84
  let contextSlot;
52
- if (contextEvaluatorInstructions.length > 0 && contextDescriptor) {
53
- // Split evaluatorFunctions into context evaluators and constraint evaluators
54
- const contextEvalFunctions = evaluatorFunctions.slice(0, contextEvaluatorInstructions.length);
55
- const constraintEvalFunctions = evaluatorFunctions.slice(contextEvaluatorInstructions.length);
56
- // Evaluate all context values
85
+ if (numContextEvaluators > 0 && contextDescriptor) {
86
+ const contextEvalFunctions = evaluatorFunctions.slice(0, numContextEvaluators);
57
87
  contextRow = [];
58
88
  for (const contextEvaluator of contextEvalFunctions) {
59
89
  const value = await contextEvaluator(rctx);
60
90
  contextRow.push(value);
61
91
  }
62
- // Store context row in metadata for deferred constraints
63
92
  constraintMetadata.forEach(meta => {
64
93
  meta.contextRow = contextRow;
65
94
  });
66
- // Create a row slot for the mutation context that persists for the whole statement
67
95
  contextSlot = createRowSlot(rctx, contextDescriptor);
68
96
  contextSlot.set(contextRow);
69
- // Use constraint evaluators for the rest of the function
70
- evaluatorFunctions = constraintEvalFunctions;
71
97
  }
98
+ const constraintEvalFunctions = evaluatorFunctions.slice(numContextEvaluators, numContextEvaluators + numConstraintEvaluators);
99
+ const defaultEvalFunctions = evaluatorFunctions.slice(numContextEvaluators + numConstraintEvaluators);
100
+ const defaultsRuntime = notNullDefaultPlans.map((d, i) => ({
101
+ columnIndex: d.columnIndex,
102
+ evaluator: defaultEvalFunctions[i],
103
+ }));
72
104
  // Pre-compute the combined descriptor (constant across rows)
73
105
  const combinedDescriptor = contextDescriptor && contextRow
74
106
  ? composeCombinedDescriptor(contextDescriptor, flatRowDescriptor)
75
107
  : flatRowDescriptor;
76
108
  try {
77
109
  for await (const inputRow of inputRows) {
78
- const flatRow = inputRow;
79
- // If we have mutation context, compose it with the flat row for constraint evaluation
80
- const combinedRow = contextRow ? [...contextRow, ...flatRow] : flatRow;
81
- const result = await withAsyncRowContext(rctx, combinedDescriptor, () => combinedRow, async () => {
82
- // Check all constraints that apply to this operation
83
- await checkConstraints(rctx, plan, tableSchema, flatRow, constraintMetadata, evaluatorFunctions);
84
- // If all constraints pass, yield the flat row for downstream processing
85
- // All downstream operations (INSERT executor, DELETE executor, RETURNING) expect flat rows
86
- return flatRow;
110
+ let flatRow = inputRow;
111
+ const evaluation = await withAsyncRowContext(rctx, combinedDescriptor, () => contextRow ? [...contextRow, ...flatRow] : flatRow, async () => {
112
+ return await checkConstraints(rctx, plan, tableSchema, flatRow, constraintMetadata, constraintEvalFunctions, stmtOR, defaultsRuntime);
87
113
  });
88
- yield result;
114
+ if (evaluation.skip)
115
+ continue;
116
+ if (evaluation.replacedRow) {
117
+ flatRow = evaluation.replacedRow;
118
+ }
119
+ yield flatRow;
89
120
  }
90
121
  }
91
122
  finally {
92
- // Clean up context slot if we created one
93
123
  if (contextSlot) {
94
124
  contextSlot.close();
95
125
  }
@@ -98,68 +128,121 @@ export function emitConstraintCheck(plan, ctx) {
98
128
  // Emit the source instruction
99
129
  const sourceInstruction = emitPlanNode(plan.source, ctx);
100
130
  return {
101
- params: [sourceInstruction, ...contextEvaluatorInstructions, ...checkEvaluators],
131
+ params: [sourceInstruction, ...contextEvaluatorInstructions, ...checkEvaluators, ...notNullDefaultInstructions],
102
132
  run: run,
103
- note: `constraintCheck(${plan.operation}, ${contextEvaluatorInstructions.length} ctx, ${plan.constraintChecks.length} checks)`
133
+ note: `constraintCheck(${plan.operation}, ${contextEvaluatorInstructions.length} ctx, ${plan.constraintChecks.length} checks, ${notNullDefaultInstructions.length} defaults)`
104
134
  };
105
135
  }
106
- async function checkConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions) {
107
- // Check PRIMARY KEY constraints (UNIQUE constraints on PK columns)
108
- await checkPrimaryKeyConstraints(rctx, plan, tableSchema, row);
109
- // Check NOT NULL constraints on individual columns
110
- await checkNotNullConstraints(rctx, plan, tableSchema, row);
111
- // Check CHECK constraints (both column-level and table-level)
112
- await checkCheckConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions);
136
+ async function checkConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions, stmtOR, notNullDefaults) {
137
+ // NOT NULL constraints with possible REPLACE-DEFAULT substitution.
138
+ const nnResult = await checkNotNullConstraints(rctx, plan, tableSchema, row, stmtOR, notNullDefaults);
139
+ if (nnResult.skip)
140
+ return { skip: true };
141
+ if (nnResult.replacedRow)
142
+ row = nnResult.replacedRow;
143
+ // CHECK constraints (and synthetic FK existence checks built as RowConstraintSchema).
144
+ const ckResult = await checkCheckConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions, stmtOR);
145
+ if (ckResult.skip)
146
+ return { skip: true };
147
+ return { skip: false, replacedRow: nnResult.replacedRow };
113
148
  }
114
- async function checkNotNullConstraints(rctx, plan, tableSchema, flatRow) {
115
- // For INSERT operations, check NOT NULL on NEW values
116
- // For UPDATE operations, check NOT NULL on NEW values
117
- // DELETE operations don't need NOT NULL checks
149
+ async function checkNotNullConstraints(rctx, plan, tableSchema, flatRow, stmtOR, notNullDefaults) {
118
150
  if (plan.operation === RowOpFlag.DELETE) {
119
- return;
151
+ return { skip: false };
120
152
  }
121
- // Check each column for NOT NULL constraint using NEW values
122
- if (plan.newRowDescriptor) {
123
- for (let i = 0; i < tableSchema.columns.length; i++) {
124
- const column = tableSchema.columns[i];
125
- if (column.notNull) {
126
- // Find the NEW value for this column in the flat row
127
- const newValueIndex = tableSchema.columns.length + i; // NEW section: n..2n-1
128
- const value = flatRow[newValueIndex];
129
- if (value === null || value === undefined) {
130
- throw new QuereusError(`NOT NULL constraint failed: ${tableSchema.name}.${column.name}`, StatusCode.CONSTRAINT);
131
- }
153
+ if (!plan.newRowDescriptor) {
154
+ return { skip: false };
155
+ }
156
+ const numCols = tableSchema.columns.length;
157
+ let mutableRow;
158
+ for (let i = 0; i < numCols; i++) {
159
+ const column = tableSchema.columns[i];
160
+ if (!column.notNull)
161
+ continue;
162
+ const newValueIndex = numCols + i; // NEW section: n..2n-1
163
+ const value = (mutableRow ?? flatRow)[newValueIndex];
164
+ if (value !== null && value !== undefined)
165
+ continue;
166
+ const action = pickAction(stmtOR, column.defaultConflict);
167
+ const message = `NOT NULL constraint failed: ${tableSchema.name}.${column.name}`;
168
+ if (action === ConflictResolution.IGNORE) {
169
+ return { skip: true };
170
+ }
171
+ if (action === ConflictResolution.REPLACE) {
172
+ // Try to substitute the column's DEFAULT.
173
+ const defaultEntry = notNullDefaults.find(d => d.columnIndex === i);
174
+ if (!defaultEntry) {
175
+ // No DEFAULT available — REPLACE cannot recover.
176
+ throw new ConstraintError(message);
177
+ }
178
+ const defaultValue = await defaultEntry.evaluator(rctx);
179
+ if (defaultValue === null || defaultValue === undefined) {
180
+ // DEFAULT itself is NULL — substitution does not satisfy NOT NULL.
181
+ throw new ConstraintError(message);
132
182
  }
183
+ if (!mutableRow)
184
+ mutableRow = [...flatRow];
185
+ mutableRow[newValueIndex] = defaultValue;
186
+ continue;
133
187
  }
188
+ // ABORT / FAIL / ROLLBACK
189
+ throwForAction(action, message);
134
190
  }
191
+ return { skip: false, replacedRow: mutableRow };
135
192
  }
136
- async function checkPrimaryKeyConstraints(_rctx, _plan, _tableSchema, _row) {
137
- // Primary Key constraints are enforced at the VTable level for now
138
- // This is simpler and more efficient than trying to implement it at the engine level
139
- // since the VTable has direct access to the current table state
140
- return;
141
- }
142
- async function checkCheckConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions) {
143
- // Evaluate each CHECK constraint using pre-built evaluators
193
+ async function checkCheckConstraints(rctx, plan, tableSchema, row, constraintMetadata, evaluatorFunctions, stmtOR) {
144
194
  for (let i = 0; i < constraintMetadata.length; i++) {
145
195
  const metadata = constraintMetadata[i];
146
196
  const evaluator = evaluatorFunctions[i] ?? metadata.evaluator;
147
- if (metadata.shouldDefer) {
197
+ // Parent-side FK UPDATE: skip the NOT EXISTS subquery when none of the
198
+ // referenced parent columns actually changed.
199
+ if (plan.operation === RowOpFlag.UPDATE &&
200
+ metadata.kind === 'fk-parent' &&
201
+ metadata.referencedColumnIndices) {
202
+ const numCols = tableSchema.columns.length;
203
+ let anyChanged = false;
204
+ for (const colIdx of metadata.referencedColumnIndices) {
205
+ const oldVal = row[colIdx]; // OLD section: 0..n-1
206
+ const newVal = row[numCols + colIdx]; // NEW section: n..2n-1
207
+ if (!sqlValuesEqual(oldVal, newVal)) {
208
+ anyChanged = true;
209
+ break;
210
+ }
211
+ }
212
+ if (!anyChanged)
213
+ continue;
214
+ }
215
+ // Resolve effective action up front; non-default actions (IGNORE/REPLACE/FAIL/ROLLBACK)
216
+ // must be applied at row time, so we cannot let those defer to commit.
217
+ const effectiveAction = pickAction(stmtOR, metadata.schema.defaultConflict);
218
+ const mustEvaluateNow = effectiveAction !== ConflictResolution.ABORT;
219
+ if (metadata.shouldDefer && !mustEvaluateNow) {
148
220
  const activeConnectionId = rctx.activeConnection?.connectionId;
149
221
  rctx.db._queueDeferredConstraintRow(metadata.baseTable, metadata.constraintName, row.slice(), metadata.flatRowDescriptor, evaluator, activeConnectionId, metadata.contextRow, metadata.contextDescriptor);
150
222
  continue;
151
223
  }
152
224
  const result = await evaluator(rctx);
153
- // CHECK constraint passes if result is truthy or NULL
154
- // It fails only if result is false or 0 (SQLite-style numeric boolean)
225
+ // CHECK passes if truthy or NULL; fails on false / 0 (SQLite numeric boolean).
155
226
  if (result === false || result === 0) {
156
- // Include constraint expression in error message for better debugging
157
227
  const exprHint = metadata.constraintExpr.length <= 60
158
228
  ? ` (${metadata.constraintExpr})`
159
229
  : '';
160
- throw new QuereusError(`CHECK constraint failed: ${metadata.constraintName}${exprHint}`, StatusCode.CONSTRAINT);
230
+ // Both engine-level CHECK and synthetic FK existence checks share the
231
+ // same "CHECK constraint failed" prefix for backward compatibility with
232
+ // existing assertions; downstream consumers identify FK by name.
233
+ const baseMessage = `CHECK constraint failed: ${metadata.constraintName}${exprHint}`;
234
+ if (effectiveAction === ConflictResolution.IGNORE) {
235
+ return { skip: true };
236
+ }
237
+ // REPLACE does NOT mask CHECK / FK violations — fall through to abort.
238
+ // (SQLite's OR REPLACE only relaxes UNIQUE/PK and NOT-NULL; CHECK still aborts.)
239
+ if (effectiveAction === ConflictResolution.REPLACE) {
240
+ throw new ConstraintError(baseMessage);
241
+ }
242
+ throwForAction(effectiveAction, baseMessage);
161
243
  }
162
244
  }
245
+ return { skip: false };
163
246
  }
164
247
  function generateDefaultConstraintName(tableSchema, constraint) {
165
248
  // Find the index of this constraint in the original array to get the correct constraint number
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraint-check.js","sourceRoot":"","sources":["../../../../src/runtime/emit/constraint-check.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAInG,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D;;;;GAIG;AACH,SAAS,UAAU,CAClB,MAAsC,EACtC,iBAAiD;IAEjD,OAAO,MAAM,IAAI,iBAAiB,IAAI,kBAAkB,CAAC,KAAK,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAA0B,EAAE,OAAe;IAClE,IAAI,MAAM,KAAK,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,MAAM,KAAK,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAyB,EAAE,GAAoB;IAClF,6CAA6C;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAE3C,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAEjD,gEAAgE;IAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IAE/B,oDAAoD;IACpD,MAAM,4BAA4B,GAAkB,EAAE,CAAC;IACvD,IAAI,qBAAqB,IAAI,iBAAiB,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,SAAS,EAAE,CAAC;gBACf,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YACrE,CAAC;QACF,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACzD,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CACvC,CAAC;IAEF,uEAAuE;IACvE,MAAM,mBAAmB,GAAsC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IAC1F,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtG,MAAM,kBAAkB,GAA8B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAsB,EAAE,GAAG,EAAE,EAAE;QAC/G,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,6BAA6B,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7G,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO;YACN,MAAM,EAAE,KAAK,CAAC,UAAU;YACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,oBAAoB,CAAC,GAAG;YACnC,cAAc;YACd,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,aAAa,CAAC;YACxF,SAAS,EAAE,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,EAAE;YAC1D,UAAU,EAAE,SAAS;YACrB,iBAAiB;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;YAC3B,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;SACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,IAAoB,EAAE,SAA6B,EAAE,GAAG,kBAA+D;QAC1I,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,oFAAoF;QACpF,gDAAgD;QAChD,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,MAAM,CAAC;QACjE,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAE1D,IAAI,UAA2B,CAAC;QAChC,IAAI,WAAyD,CAAC;QAE9D,IAAI,oBAAoB,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACnD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAE/E,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,gBAAgB,IAAI,oBAAoB,EAAE,CAAC;gBACrD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAa,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CACvD,oBAAoB,EACpB,oBAAoB,GAAG,uBAAuB,CAC9C,CAAC;QACF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,KAAK,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,CAAC;QAEtG,MAAM,eAAe,GAA4B,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;SAClC,CAAC,CAAC,CAAC;QAEJ,6DAA6D;QAC7D,MAAM,kBAAkB,GAAG,iBAAiB,IAAI,UAAU;YACzD,CAAC,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;YACjE,CAAC,CAAC,iBAAiB,CAAC;QAErB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACxC,IAAI,OAAO,GAAG,QAAQ,CAAC;gBAEvB,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC3I,OAAO,MAAM,gBAAgB,CAC5B,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,EACN,eAAe,CACf,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,IAAI;oBAAE,SAAS;gBAC9B,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5B,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;gBAClC,CAAC;gBAED,MAAM,OAAO,CAAC;YACf,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;QACF,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzD,OAAO;QACN,MAAM,EAAE,CAAC,iBAAiB,EAAE,GAAG,4BAA4B,EAAE,GAAG,eAAe,EAAE,GAAG,0BAA0B,CAAC;QAC/G,GAAG,EAAE,GAAqB;QAC1B,IAAI,EAAE,mBAAmB,IAAI,CAAC,SAAS,KAAK,4BAA4B,CAAC,MAAM,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,YAAY,0BAA0B,CAAC,MAAM,YAAY;KAC7K,CAAC;AACH,CAAC;AAcD,KAAK,UAAU,gBAAgB,CAC9B,IAAoB,EACpB,IAAyB,EACzB,WAAwB,EACxB,GAAQ,EACR,kBAA6C,EAC7C,kBAA+D,EAC/D,MAAsC,EACtC,eAAwC;IAExC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACtG,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,WAAW;QAAE,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC;IAErD,sFAAsF;IACtF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC3H,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,IAAoB,EACpB,IAAyB,EACzB,WAAwB,EACxB,OAAY,EACZ,MAAsC,EACtC,eAAwC;IAExC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3C,IAAI,UAA2B,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,SAAS;QAE9B,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,uBAAuB;QAC1D,MAAM,KAAK,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAEpD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,+BAA+B,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAEjF,IAAI,MAAM,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC3C,0CAA0C;YAC1C,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,iDAAiD;gBACjD,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC;YACpE,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBACzD,mEAAmE;gBACnE,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,UAAU;gBAAE,UAAU,GAAG,CAAC,GAAG,OAAO,CAAQ,CAAC;YAClD,UAAU,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC;YACzC,SAAS;QACV,CAAC;QAED,0BAA0B;QAC1B,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,IAAoB,EACpB,IAAyB,EACzB,WAAwB,EACxB,GAAQ,EACR,kBAA6C,EAC7C,kBAA+D,EAC/D,MAAsC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC;QAE9D,uEAAuE;QACvE,8CAA8C;QAC9C,IACC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM;YACnC,QAAQ,CAAC,IAAI,KAAK,WAAW;YAC7B,QAAQ,CAAC,uBAAuB,EAC/B,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;YAC3C,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAa,CAAC,CAAW,sBAAsB;gBACxE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAa,CAAC,CAAC,uBAAuB;gBACzE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACP,CAAC;YACF,CAAC;YACD,IAAI,CAAC,UAAU;gBAAE,SAAS;QAC3B,CAAC;QAED,wFAAwF;QACxF,uEAAuE;QACvE,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,eAAe,KAAK,kBAAkB,CAAC,KAAK,CAAC;QAErE,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC;YAC/D,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAClC,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,cAAc,EACvB,GAAG,CAAC,KAAK,EAAS,EAClB,QAAQ,CAAC,iBAAiB,EAC1B,SAAS,EACT,kBAAkB,EAClB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,iBAAiB,CAC1B,CAAC;YACF,SAAS;QACV,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAa,CAAC;QAEjD,+EAA+E;QAC/E,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE;gBACpD,CAAC,CAAC,KAAK,QAAQ,CAAC,cAAc,GAAG;gBACjC,CAAC,CAAC,EAAE,CAAC;YACN,sEAAsE;YACtE,wEAAwE;YACxE,iEAAiE;YACjE,MAAM,WAAW,GAAG,4BAA4B,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAAE,CAAC;YAErF,IAAI,eAAe,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,uEAAuE;YACvE,iFAAiF;YACjF,IAAI,eAAe,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;YAED,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,6BAA6B,CAAC,WAAwB,EAAE,UAA+B;IAC/F,+FAA+F;IAC/F,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAsB,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IAC3G,OAAO,UAAU,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-assertion.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA2EjG"}
1
+ {"version":3,"file":"create-assertion.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,GAAG,WAAW,CA+EjG"}
@@ -31,14 +31,14 @@ export function emitCreateAssertion(plan, _ctx) {
31
31
  const planNode = rctx.db.getPlan(violationSql);
32
32
  const deps = new Map();
33
33
  (function collect(node) {
34
- const anyNode = node;
35
- if (anyNode && typeof anyNode.getRelations === 'function') {
36
- for (const child of anyNode.getRelations())
34
+ const candidate = node;
35
+ if (candidate && typeof candidate.getRelations === 'function') {
36
+ for (const child of candidate.getRelations())
37
37
  collect(child);
38
38
  }
39
- if (anyNode?.tableSchema?.name && anyNode?.id !== undefined) {
40
- const base = `${anyNode.tableSchema.schemaName}.${anyNode.tableSchema.name}`.toLowerCase();
41
- const relationKey = `${base}#${anyNode.id}`;
39
+ if (candidate?.tableSchema?.name && candidate?.id !== undefined) {
40
+ const base = `${candidate.tableSchema.schemaName}.${candidate.tableSchema.name}`.toLowerCase();
41
+ const relationKey = `${base}#${String(candidate.id)}`;
42
42
  if (!deps.has(relationKey))
43
43
  deps.set(relationKey, { relationKey, base });
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-assertion.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-assertion.js","sourceRoot":"","sources":["../../../../src/runtime/emit/create-assertion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dml-executor.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AAM5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuD9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CA4fxF"}
1
+ {"version":3,"file":"dml-executor.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/dml-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,aAAa,CAAC;AAM5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuD9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,GAAG,WAAW,CAsjBxF"}