@quereus/quereus 0.1.0 → 0.2.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 (465) hide show
  1. package/README.md +47 -23
  2. package/dist/src/core/database.d.ts +22 -4
  3. package/dist/src/core/database.d.ts.map +1 -1
  4. package/dist/src/core/database.js +44 -6
  5. package/dist/src/core/database.js.map +1 -1
  6. package/dist/src/core/statement.d.ts +0 -7
  7. package/dist/src/core/statement.d.ts.map +1 -1
  8. package/dist/src/core/statement.js +1 -51
  9. package/dist/src/core/statement.js.map +1 -1
  10. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  11. package/dist/src/func/builtins/explain.js +0 -11
  12. package/dist/src/func/builtins/explain.js.map +1 -1
  13. package/dist/src/index.d.ts +13 -5
  14. package/dist/src/index.d.ts.map +1 -1
  15. package/dist/src/index.js +5 -2
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/parser/ast.d.ts +9 -2
  18. package/dist/src/parser/ast.d.ts.map +1 -1
  19. package/dist/src/parser/parser.d.ts.map +1 -1
  20. package/dist/src/parser/parser.js +40 -44
  21. package/dist/src/parser/parser.js.map +1 -1
  22. package/dist/src/planner/analysis/const-pass.d.ts.map +1 -1
  23. package/dist/src/planner/analysis/const-pass.js +12 -6
  24. package/dist/src/planner/analysis/const-pass.js.map +1 -1
  25. package/dist/src/planner/building/constraint-builder.d.ts +11 -0
  26. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -0
  27. package/dist/src/planner/building/constraint-builder.js +79 -0
  28. package/dist/src/planner/building/constraint-builder.js.map +1 -0
  29. package/dist/src/planner/building/delete.d.ts.map +1 -1
  30. package/dist/src/planner/building/delete.js +6 -3
  31. package/dist/src/planner/building/delete.js.map +1 -1
  32. package/dist/src/planner/building/expression.d.ts +3 -0
  33. package/dist/src/planner/building/expression.d.ts.map +1 -1
  34. package/dist/src/planner/building/expression.js +33 -7
  35. package/dist/src/planner/building/expression.js.map +1 -1
  36. package/dist/src/planner/building/insert.d.ts.map +1 -1
  37. package/dist/src/planner/building/insert.js +4 -1
  38. package/dist/src/planner/building/insert.js.map +1 -1
  39. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  40. package/dist/src/planner/building/select-aggregates.js +46 -9
  41. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  42. package/dist/src/planner/building/select-context.js +20 -11
  43. package/dist/src/planner/building/select-context.js.map +1 -1
  44. package/dist/src/planner/building/select-modifiers.d.ts +5 -3
  45. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  46. package/dist/src/planner/building/select-modifiers.js +29 -20
  47. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  48. package/dist/src/planner/building/select-projections.d.ts +3 -1
  49. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  50. package/dist/src/planner/building/select-projections.js +15 -20
  51. package/dist/src/planner/building/select-projections.js.map +1 -1
  52. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  53. package/dist/src/planner/building/select-window.js +6 -3
  54. package/dist/src/planner/building/select-window.js.map +1 -1
  55. package/dist/src/planner/building/select.d.ts +25 -2
  56. package/dist/src/planner/building/select.d.ts.map +1 -1
  57. package/dist/src/planner/building/select.js +147 -24
  58. package/dist/src/planner/building/select.js.map +1 -1
  59. package/dist/src/planner/building/table.d.ts +0 -10
  60. package/dist/src/planner/building/table.d.ts.map +1 -1
  61. package/dist/src/planner/building/table.js +1 -35
  62. package/dist/src/planner/building/table.js.map +1 -1
  63. package/dist/src/planner/building/update.d.ts.map +1 -1
  64. package/dist/src/planner/building/update.js +7 -4
  65. package/dist/src/planner/building/update.js.map +1 -1
  66. package/dist/src/planner/building/with.d.ts.map +1 -1
  67. package/dist/src/planner/building/with.js +7 -8
  68. package/dist/src/planner/building/with.js.map +1 -1
  69. package/dist/src/planner/cache/correlation-detector.d.ts +11 -0
  70. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -0
  71. package/dist/src/planner/cache/correlation-detector.js +73 -0
  72. package/dist/src/planner/cache/correlation-detector.js.map +1 -0
  73. package/dist/src/planner/cache/materialization-advisory.d.ts +12 -18
  74. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  75. package/dist/src/planner/cache/materialization-advisory.js +65 -46
  76. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  77. package/dist/src/planner/cache/reference-graph.d.ts +14 -9
  78. package/dist/src/planner/cache/reference-graph.d.ts.map +1 -1
  79. package/dist/src/planner/cache/reference-graph.js +93 -84
  80. package/dist/src/planner/cache/reference-graph.js.map +1 -1
  81. package/dist/src/planner/debug.d.ts +25 -0
  82. package/dist/src/planner/debug.d.ts.map +1 -1
  83. package/dist/src/planner/debug.js +127 -0
  84. package/dist/src/planner/debug.js.map +1 -1
  85. package/dist/src/planner/framework/context.d.ts +11 -0
  86. package/dist/src/planner/framework/context.d.ts.map +1 -1
  87. package/dist/src/planner/framework/context.js +25 -2
  88. package/dist/src/planner/framework/context.js.map +1 -1
  89. package/dist/src/planner/framework/registry.d.ts +3 -7
  90. package/dist/src/planner/framework/registry.d.ts.map +1 -1
  91. package/dist/src/planner/framework/registry.js +20 -31
  92. package/dist/src/planner/framework/registry.js.map +1 -1
  93. package/dist/src/planner/nodes/add-constraint-node.d.ts +2 -1
  94. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  95. package/dist/src/planner/nodes/add-constraint-node.js +3 -0
  96. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  97. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  98. package/dist/src/planner/nodes/aggregate-node.js +6 -4
  99. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  100. package/dist/src/planner/nodes/cache-node.d.ts.map +1 -1
  101. package/dist/src/planner/nodes/cache-node.js +2 -2
  102. package/dist/src/planner/nodes/cache-node.js.map +1 -1
  103. package/dist/src/planner/nodes/constraint-check-node.d.ts +11 -4
  104. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  105. package/dist/src/planner/nodes/constraint-check-node.js +38 -12
  106. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  107. package/dist/src/planner/nodes/create-index-node.d.ts +2 -1
  108. package/dist/src/planner/nodes/create-index-node.d.ts.map +1 -1
  109. package/dist/src/planner/nodes/create-index-node.js +3 -0
  110. package/dist/src/planner/nodes/create-index-node.js.map +1 -1
  111. package/dist/src/planner/nodes/create-table-node.d.ts +2 -1
  112. package/dist/src/planner/nodes/create-table-node.d.ts.map +1 -1
  113. package/dist/src/planner/nodes/create-table-node.js +3 -0
  114. package/dist/src/planner/nodes/create-table-node.js.map +1 -1
  115. package/dist/src/planner/nodes/create-view-node.d.ts +2 -1
  116. package/dist/src/planner/nodes/create-view-node.d.ts.map +1 -1
  117. package/dist/src/planner/nodes/create-view-node.js +3 -0
  118. package/dist/src/planner/nodes/create-view-node.js.map +1 -1
  119. package/dist/src/planner/nodes/cte-node.d.ts +1 -1
  120. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  121. package/dist/src/planner/nodes/cte-node.js +33 -12
  122. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  123. package/dist/src/planner/nodes/cte-reference-node.d.ts +18 -4
  124. package/dist/src/planner/nodes/cte-reference-node.d.ts.map +1 -1
  125. package/dist/src/planner/nodes/cte-reference-node.js +40 -10
  126. package/dist/src/planner/nodes/cte-reference-node.js.map +1 -1
  127. package/dist/src/planner/nodes/delete-node.d.ts +4 -3
  128. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  129. package/dist/src/planner/nodes/delete-node.js +20 -6
  130. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  131. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  132. package/dist/src/planner/nodes/distinct-node.js +2 -2
  133. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  134. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  135. package/dist/src/planner/nodes/dml-executor-node.js +2 -2
  136. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  137. package/dist/src/planner/nodes/drop-table-node.d.ts +2 -1
  138. package/dist/src/planner/nodes/drop-table-node.d.ts.map +1 -1
  139. package/dist/src/planner/nodes/drop-table-node.js +3 -0
  140. package/dist/src/planner/nodes/drop-table-node.js.map +1 -1
  141. package/dist/src/planner/nodes/drop-view-node.d.ts +2 -1
  142. package/dist/src/planner/nodes/drop-view-node.d.ts.map +1 -1
  143. package/dist/src/planner/nodes/drop-view-node.js +3 -0
  144. package/dist/src/planner/nodes/drop-view-node.js.map +1 -1
  145. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  146. package/dist/src/planner/nodes/filter.js +3 -3
  147. package/dist/src/planner/nodes/filter.js.map +1 -1
  148. package/dist/src/planner/nodes/insert-node.d.ts +2 -1
  149. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  150. package/dist/src/planner/nodes/insert-node.js +18 -5
  151. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  152. package/dist/src/planner/nodes/internal-recursive-cte-ref-node.d.ts +28 -0
  153. package/dist/src/planner/nodes/internal-recursive-cte-ref-node.d.ts.map +1 -0
  154. package/dist/src/planner/nodes/internal-recursive-cte-ref-node.js +69 -0
  155. package/dist/src/planner/nodes/internal-recursive-cte-ref-node.js.map +1 -0
  156. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  157. package/dist/src/planner/nodes/join-node.js +3 -3
  158. package/dist/src/planner/nodes/join-node.js.map +1 -1
  159. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  160. package/dist/src/planner/nodes/limit-offset.js +2 -2
  161. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  162. package/dist/src/planner/nodes/plan-node-type.d.ts +1 -1
  163. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  164. package/dist/src/planner/nodes/plan-node-type.js +1 -1
  165. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  166. package/dist/src/planner/nodes/plan-node.d.ts +23 -0
  167. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  168. package/dist/src/planner/nodes/plan-node.js +25 -2
  169. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  170. package/dist/src/planner/nodes/project-node.d.ts +5 -1
  171. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  172. package/dist/src/planner/nodes/project-node.js +39 -20
  173. package/dist/src/planner/nodes/project-node.js.map +1 -1
  174. package/dist/src/planner/nodes/recursive-cte-node.d.ts +2 -2
  175. package/dist/src/planner/nodes/recursive-cte-node.d.ts.map +1 -1
  176. package/dist/src/planner/nodes/recursive-cte-node.js +20 -8
  177. package/dist/src/planner/nodes/recursive-cte-node.js.map +1 -1
  178. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  179. package/dist/src/planner/nodes/reference.js +4 -2
  180. package/dist/src/planner/nodes/reference.js.map +1 -1
  181. package/dist/src/planner/nodes/returning-node.d.ts +1 -1
  182. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  183. package/dist/src/planner/nodes/returning-node.js +21 -13
  184. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  185. package/dist/src/planner/nodes/scalar.d.ts +26 -2
  186. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  187. package/dist/src/planner/nodes/scalar.js +82 -10
  188. package/dist/src/planner/nodes/scalar.js.map +1 -1
  189. package/dist/src/planner/nodes/sequencing-node.d.ts.map +1 -1
  190. package/dist/src/planner/nodes/sequencing-node.js +2 -2
  191. package/dist/src/planner/nodes/sequencing-node.js.map +1 -1
  192. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  193. package/dist/src/planner/nodes/set-operation-node.js +3 -3
  194. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  195. package/dist/src/planner/nodes/single-row.d.ts +4 -2
  196. package/dist/src/planner/nodes/single-row.d.ts.map +1 -1
  197. package/dist/src/planner/nodes/single-row.js +3 -0
  198. package/dist/src/planner/nodes/single-row.js.map +1 -1
  199. package/dist/src/planner/nodes/sink-node.d.ts +1 -1
  200. package/dist/src/planner/nodes/sink-node.d.ts.map +1 -1
  201. package/dist/src/planner/nodes/sink-node.js +4 -4
  202. package/dist/src/planner/nodes/sink-node.js.map +1 -1
  203. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  204. package/dist/src/planner/nodes/sort.js +2 -2
  205. package/dist/src/planner/nodes/sort.js.map +1 -1
  206. package/dist/src/planner/nodes/stream-aggregate.d.ts +1 -0
  207. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  208. package/dist/src/planner/nodes/stream-aggregate.js +64 -11
  209. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  210. package/dist/src/planner/nodes/subquery.d.ts +4 -4
  211. package/dist/src/planner/nodes/subquery.d.ts.map +1 -1
  212. package/dist/src/planner/nodes/subquery.js +68 -23
  213. package/dist/src/planner/nodes/subquery.js.map +1 -1
  214. package/dist/src/planner/nodes/table-access-nodes.d.ts +83 -0
  215. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -0
  216. package/dist/src/planner/nodes/table-access-nodes.js +226 -0
  217. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -0
  218. package/dist/src/planner/nodes/update-node.d.ts +4 -2
  219. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  220. package/dist/src/planner/nodes/update-node.js +26 -13
  221. package/dist/src/planner/nodes/update-node.js.map +1 -1
  222. package/dist/src/planner/nodes/window-node.d.ts.map +1 -1
  223. package/dist/src/planner/nodes/window-node.js +25 -23
  224. package/dist/src/planner/nodes/window-node.js.map +1 -1
  225. package/dist/src/planner/optimizer.d.ts.map +1 -1
  226. package/dist/src/planner/optimizer.js +46 -50
  227. package/dist/src/planner/optimizer.js.map +1 -1
  228. package/dist/src/planner/planning-context.d.ts +13 -0
  229. package/dist/src/planner/planning-context.d.ts.map +1 -1
  230. package/dist/src/planner/planning-context.js.map +1 -1
  231. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +1 -1
  232. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  233. package/dist/src/planner/rules/access/rule-select-access-path.js +59 -53
  234. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  235. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
  236. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +62 -2
  237. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  238. package/dist/src/planner/rules/cache/rule-materialization-advisory.d.ts.map +1 -1
  239. package/dist/src/planner/rules/cache/rule-materialization-advisory.js +31 -24
  240. package/dist/src/planner/rules/cache/rule-materialization-advisory.js.map +1 -1
  241. package/dist/src/planner/scopes/base.d.ts +0 -10
  242. package/dist/src/planner/scopes/base.d.ts.map +1 -1
  243. package/dist/src/planner/scopes/base.js +0 -14
  244. package/dist/src/planner/scopes/base.js.map +1 -1
  245. package/dist/src/planner/scopes/empty.d.ts +0 -2
  246. package/dist/src/planner/scopes/empty.d.ts.map +1 -1
  247. package/dist/src/planner/scopes/empty.js +0 -8
  248. package/dist/src/planner/scopes/empty.js.map +1 -1
  249. package/dist/src/planner/scopes/multi.d.ts.map +1 -1
  250. package/dist/src/planner/scopes/multi.js +0 -1
  251. package/dist/src/planner/scopes/multi.js.map +1 -1
  252. package/dist/src/planner/scopes/param.d.ts.map +1 -1
  253. package/dist/src/planner/scopes/param.js +0 -1
  254. package/dist/src/planner/scopes/param.js.map +1 -1
  255. package/dist/src/planner/scopes/registered.d.ts +0 -10
  256. package/dist/src/planner/scopes/registered.d.ts.map +1 -1
  257. package/dist/src/planner/scopes/registered.js +1 -17
  258. package/dist/src/planner/scopes/registered.js.map +1 -1
  259. package/dist/src/planner/scopes/scope.d.ts +0 -8
  260. package/dist/src/planner/scopes/scope.d.ts.map +1 -1
  261. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  262. package/dist/src/planner/validation/plan-validator.js +1 -7
  263. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  264. package/dist/src/runtime/context-helpers.d.ts +45 -0
  265. package/dist/src/runtime/context-helpers.d.ts.map +1 -0
  266. package/dist/src/runtime/context-helpers.js +139 -0
  267. package/dist/src/runtime/context-helpers.js.map +1 -0
  268. package/dist/src/runtime/emission-context.d.ts +1 -0
  269. package/dist/src/runtime/emission-context.d.ts.map +1 -1
  270. package/dist/src/runtime/emission-context.js +2 -1
  271. package/dist/src/runtime/emission-context.js.map +1 -1
  272. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  273. package/dist/src/runtime/emit/aggregate.js +119 -86
  274. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  275. package/dist/src/runtime/emit/between.d.ts +5 -0
  276. package/dist/src/runtime/emit/between.d.ts.map +1 -0
  277. package/dist/src/runtime/emit/between.js +38 -0
  278. package/dist/src/runtime/emit/between.js.map +1 -0
  279. package/dist/src/runtime/emit/binary.d.ts +0 -1
  280. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  281. package/dist/src/runtime/emit/binary.js +0 -36
  282. package/dist/src/runtime/emit/binary.js.map +1 -1
  283. package/dist/src/runtime/emit/column-reference.d.ts.map +1 -1
  284. package/dist/src/runtime/emit/column-reference.js +2 -26
  285. package/dist/src/runtime/emit/column-reference.js.map +1 -1
  286. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  287. package/dist/src/runtime/emit/constraint-check.js +14 -121
  288. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  289. package/dist/src/runtime/emit/cte-reference.d.ts.map +1 -1
  290. package/dist/src/runtime/emit/cte-reference.js +16 -48
  291. package/dist/src/runtime/emit/cte-reference.js.map +1 -1
  292. package/dist/src/runtime/emit/distinct.d.ts.map +1 -1
  293. package/dist/src/runtime/emit/distinct.js +2 -8
  294. package/dist/src/runtime/emit/distinct.js.map +1 -1
  295. package/dist/src/runtime/emit/filter.d.ts.map +1 -1
  296. package/dist/src/runtime/emit/filter.js +6 -13
  297. package/dist/src/runtime/emit/filter.js.map +1 -1
  298. package/dist/src/runtime/emit/internal-recursive-cte-ref.d.ts +5 -0
  299. package/dist/src/runtime/emit/internal-recursive-cte-ref.d.ts.map +1 -0
  300. package/dist/src/runtime/emit/internal-recursive-cte-ref.js +23 -0
  301. package/dist/src/runtime/emit/internal-recursive-cte-ref.js.map +1 -0
  302. package/dist/src/runtime/emit/join.d.ts.map +1 -1
  303. package/dist/src/runtime/emit/join.js +40 -40
  304. package/dist/src/runtime/emit/join.js.map +1 -1
  305. package/dist/src/runtime/emit/project.d.ts.map +1 -1
  306. package/dist/src/runtime/emit/project.js +13 -13
  307. package/dist/src/runtime/emit/project.js.map +1 -1
  308. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  309. package/dist/src/runtime/emit/recursive-cte.js +3 -14
  310. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  311. package/dist/src/runtime/emit/returning.d.ts.map +1 -1
  312. package/dist/src/runtime/emit/returning.js +7 -14
  313. package/dist/src/runtime/emit/returning.js.map +1 -1
  314. package/dist/src/runtime/emit/scan.d.ts +5 -2
  315. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  316. package/dist/src/runtime/emit/scan.js +21 -17
  317. package/dist/src/runtime/emit/scan.js.map +1 -1
  318. package/dist/src/runtime/emit/sort.d.ts.map +1 -1
  319. package/dist/src/runtime/emit/sort.js +8 -11
  320. package/dist/src/runtime/emit/sort.js.map +1 -1
  321. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  322. package/dist/src/runtime/emit/subquery.js +95 -40
  323. package/dist/src/runtime/emit/subquery.js.map +1 -1
  324. package/dist/src/runtime/emit/table-valued-function.d.ts.map +1 -1
  325. package/dist/src/runtime/emit/table-valued-function.js +7 -22
  326. package/dist/src/runtime/emit/table-valued-function.js.map +1 -1
  327. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  328. package/dist/src/runtime/emit/update.js +20 -27
  329. package/dist/src/runtime/emit/update.js.map +1 -1
  330. package/dist/src/runtime/emit/window.d.ts.map +1 -1
  331. package/dist/src/runtime/emit/window.js +55 -83
  332. package/dist/src/runtime/emit/window.js.map +1 -1
  333. package/dist/src/runtime/emitters.d.ts.map +1 -1
  334. package/dist/src/runtime/emitters.js +49 -1
  335. package/dist/src/runtime/emitters.js.map +1 -1
  336. package/dist/src/runtime/register.d.ts.map +1 -1
  337. package/dist/src/runtime/register.js +5 -4
  338. package/dist/src/runtime/register.js.map +1 -1
  339. package/dist/src/runtime/scheduler.d.ts.map +1 -1
  340. package/dist/src/runtime/scheduler.js +47 -42
  341. package/dist/src/runtime/scheduler.js.map +1 -1
  342. package/dist/src/runtime/types.d.ts +34 -0
  343. package/dist/src/runtime/types.d.ts.map +1 -1
  344. package/dist/src/runtime/types.js +21 -0
  345. package/dist/src/runtime/types.js.map +1 -1
  346. package/dist/src/schema/manager.d.ts.map +1 -1
  347. package/dist/src/schema/manager.js +29 -16
  348. package/dist/src/schema/manager.js.map +1 -1
  349. package/dist/src/util/plugin-loader.d.ts +10 -1
  350. package/dist/src/util/plugin-loader.d.ts.map +1 -1
  351. package/dist/src/util/plugin-loader.js +56 -1
  352. package/dist/src/util/plugin-loader.js.map +1 -1
  353. package/dist/src/util/working-table-iterable.d.ts.map +1 -1
  354. package/dist/src/util/working-table-iterable.js +8 -8
  355. package/dist/src/util/working-table-iterable.js.map +1 -1
  356. package/dist/src/vtab/manifest.d.ts +36 -0
  357. package/dist/src/vtab/manifest.d.ts.map +1 -1
  358. package/package.json +8 -3
  359. package/src/core/database.ts +48 -6
  360. package/src/core/statement.ts +1 -49
  361. package/src/func/builtins/explain.ts +0 -11
  362. package/src/index.ts +39 -5
  363. package/src/parser/ast.ts +11 -2
  364. package/src/parser/parser.ts +40 -47
  365. package/src/planner/analysis/const-pass.ts +281 -270
  366. package/src/planner/building/constraint-builder.ts +114 -0
  367. package/src/planner/building/delete.ts +16 -3
  368. package/src/planner/building/expression.ts +35 -7
  369. package/src/planner/building/insert.ts +14 -1
  370. package/src/planner/building/select-aggregates.ts +57 -11
  371. package/src/planner/building/select-context.ts +22 -12
  372. package/src/planner/building/select-modifiers.ts +35 -21
  373. package/src/planner/building/select-projections.ts +25 -26
  374. package/src/planner/building/select-window.ts +14 -9
  375. package/src/planner/building/select.ts +163 -31
  376. package/src/planner/building/table.ts +1 -40
  377. package/src/planner/building/update.ts +19 -4
  378. package/src/planner/building/with.ts +12 -13
  379. package/src/planner/cache/correlation-detector.ts +83 -0
  380. package/src/planner/cache/materialization-advisory.ts +71 -50
  381. package/src/planner/cache/reference-graph.ts +115 -91
  382. package/src/planner/debug.ts +163 -0
  383. package/src/planner/framework/context.ts +36 -2
  384. package/src/planner/framework/registry.ts +261 -274
  385. package/src/planner/nodes/add-constraint-node.ts +5 -1
  386. package/src/planner/nodes/aggregate-node.ts +6 -4
  387. package/src/planner/nodes/cache-node.ts +2 -2
  388. package/src/planner/nodes/constraint-check-node.ts +47 -13
  389. package/src/planner/nodes/create-index-node.ts +5 -1
  390. package/src/planner/nodes/create-table-node.ts +5 -1
  391. package/src/planner/nodes/create-view-node.ts +5 -1
  392. package/src/planner/nodes/cte-node.ts +45 -14
  393. package/src/planner/nodes/cte-reference-node.ts +49 -13
  394. package/src/planner/nodes/delete-node.ts +31 -7
  395. package/src/planner/nodes/distinct-node.ts +2 -2
  396. package/src/planner/nodes/dml-executor-node.ts +2 -2
  397. package/src/planner/nodes/drop-table-node.ts +5 -1
  398. package/src/planner/nodes/drop-view-node.ts +5 -1
  399. package/src/planner/nodes/filter.ts +3 -3
  400. package/src/planner/nodes/function.ts +93 -93
  401. package/src/planner/nodes/insert-node.ts +28 -5
  402. package/src/planner/nodes/internal-recursive-cte-ref-node.ts +76 -0
  403. package/src/planner/nodes/join-node.ts +3 -3
  404. package/src/planner/nodes/limit-offset.ts +2 -2
  405. package/src/planner/nodes/plan-node-type.ts +1 -1
  406. package/src/planner/nodes/plan-node.ts +39 -2
  407. package/src/planner/nodes/project-node.ts +39 -19
  408. package/src/planner/nodes/recursive-cte-node.ts +37 -9
  409. package/src/planner/nodes/reference.ts +4 -2
  410. package/src/planner/nodes/returning-node.ts +25 -13
  411. package/src/planner/nodes/scalar.ts +95 -11
  412. package/src/planner/nodes/sequencing-node.ts +2 -2
  413. package/src/planner/nodes/set-operation-node.ts +3 -3
  414. package/src/planner/nodes/single-row.ts +7 -2
  415. package/src/planner/nodes/sink-node.ts +5 -5
  416. package/src/planner/nodes/sort.ts +2 -2
  417. package/src/planner/nodes/stream-aggregate.ts +76 -12
  418. package/src/planner/nodes/subquery.ts +90 -27
  419. package/src/planner/nodes/{physical-access-nodes.ts → table-access-nodes.ts} +6 -6
  420. package/src/planner/nodes/update-node.ts +31 -13
  421. package/src/planner/nodes/window-node.ts +28 -22
  422. package/src/planner/optimizer.ts +257 -263
  423. package/src/planner/planning-context.ts +15 -0
  424. package/src/planner/rules/access/rule-select-access-path.ts +68 -64
  425. package/src/planner/rules/aggregate/rule-aggregate-streaming.ts +74 -2
  426. package/src/planner/rules/cache/rule-materialization-advisory.ts +31 -27
  427. package/src/planner/scopes/base.ts +0 -17
  428. package/src/planner/scopes/empty.ts +0 -10
  429. package/src/planner/scopes/multi.ts +0 -1
  430. package/src/planner/scopes/param.ts +0 -1
  431. package/src/planner/scopes/registered.ts +1 -20
  432. package/src/planner/scopes/scope.ts +0 -12
  433. package/src/planner/validation/plan-validator.ts +1 -8
  434. package/src/runtime/context-helpers.ts +191 -0
  435. package/src/runtime/emission-context.ts +5 -2
  436. package/src/runtime/emit/aggregate.ts +131 -85
  437. package/src/runtime/emit/between.ts +51 -0
  438. package/src/runtime/emit/binary.ts +0 -46
  439. package/src/runtime/emit/column-reference.ts +3 -36
  440. package/src/runtime/emit/constraint-check.ts +17 -142
  441. package/src/runtime/emit/cte-reference.ts +23 -60
  442. package/src/runtime/emit/distinct.ts +2 -7
  443. package/src/runtime/emit/filter.ts +6 -13
  444. package/src/runtime/emit/internal-recursive-cte-ref.ts +37 -0
  445. package/src/runtime/emit/join.ts +45 -43
  446. package/src/runtime/emit/project.ts +18 -12
  447. package/src/runtime/emit/recursive-cte.ts +3 -12
  448. package/src/runtime/emit/returning.ts +7 -14
  449. package/src/runtime/emit/scan.ts +25 -23
  450. package/src/runtime/emit/sort.ts +8 -11
  451. package/src/runtime/emit/subquery.ts +108 -48
  452. package/src/runtime/emit/table-valued-function.ts +7 -20
  453. package/src/runtime/emit/update.ts +22 -29
  454. package/src/runtime/emit/window.ts +74 -88
  455. package/src/runtime/emitters.ts +52 -1
  456. package/src/runtime/register.ts +5 -4
  457. package/src/runtime/scheduler.ts +54 -54
  458. package/src/runtime/types.ts +45 -0
  459. package/src/schema/manager.ts +34 -19
  460. package/src/util/plugin-loader.ts +78 -4
  461. package/src/util/working-table-iterable.ts +15 -7
  462. package/src/vtab/manifest.ts +42 -0
  463. package/src/planner/nodes/scan.ts +0 -103
  464. package/src/planner/rules/physical/rule-mark-physical.ts +0 -37
  465. package/src/runtime/emit/table-reference.ts +0 -92
package/README.md CHANGED
@@ -29,7 +29,7 @@ Quereus is built on a modern architecture based on partially immutable PlanNodes
29
29
  * Handles Common Table Expressions (CTEs) and Subqueries by converting them into relational `PlanNode`s.
30
30
  * Resolves table and function references using the Schema Manager.
31
31
  * Performs query planning, incorporating virtual table `xBestIndex` method and table schema statistics.
32
- * **Optimizer (`src/planner/optimizer`)**: Performs query optimization, including join reordering, predicate pushdown, and other optimizations.
32
+ * **Optimizer (`src/planner/optimizer`)**: Transforms logical plans into efficient physical execution plans through a rule-based optimization system. See [Optimizer Documentation](docs/optimizer.md) for details.
33
33
  4. **Runtime (`src/runtime`)**:
34
34
  * **Emitters (`src/runtime/emitters.ts`, `src/runtime/emit/`)**: Translate `PlanNode`s into a graph of `Instruction` objects.
35
35
  * **Scheduler (`src/runtime/scheduler.ts`)**: Manages the execution flow of the `Instruction` graph.
@@ -108,6 +108,34 @@ To add logging within a module:
108
108
  }
109
109
  ```
110
110
 
111
+ ### Instruction Tracing
112
+
113
+ For detailed runtime analysis and debugging, Quereus provides an instruction tracing system. Set a tracer on the database instance, and all statement executions will be traced:
114
+
115
+ ```typescript
116
+ import { Database, CollectingInstructionTracer } from 'quereus';
117
+
118
+ const db = new Database();
119
+ const tracer = new CollectingInstructionTracer();
120
+
121
+ // Enable tracing for all database operations
122
+ db.setInstructionTracer(tracer);
123
+
124
+ // Execute statements - they will automatically be traced
125
+ await db.exec("CREATE TABLE users (id INTEGER, name TEXT)");
126
+ await db.exec("INSERT INTO users VALUES (1, 'Alice')");
127
+ const users = await db.prepare("SELECT * FROM users").all();
128
+
129
+ // Analyze the trace
130
+ const events = tracer.getTraceEvents();
131
+ console.log(`Executed ${events.length} instruction operations`);
132
+
133
+ // Disable tracing
134
+ db.setInstructionTracer(null);
135
+ ```
136
+
137
+ The `CollectingInstructionTracer` captures detailed information about each instruction execution, including inputs, outputs, timing, and any sub-programs. This is particularly useful for performance analysis and debugging complex query plans.
138
+
111
139
  ## Documentation
112
140
 
113
141
  * [Usage Guide](docs/usage.md): Detailed usage examples and API reference
@@ -118,6 +146,7 @@ To add logging within a module:
118
146
  * [Date/Time Handling](docs/datetime.md): Details on date/time parsing, functions, and the Temporal API.
119
147
  * [Runtime](docs/runtime.md): Details on the runtime and opcodes.
120
148
  * [Error Handling](docs/error.md): Details on the error handling and status codes.
149
+ * [Plugin System](docs/plugins.md): Complete guide to creating and using plugins for virtual tables, functions, and collations.
121
150
  * [TODO List](docs/todo.md): Planned features and improvements
122
151
 
123
152
  ## Key Design Decisions
@@ -159,22 +188,11 @@ Quereus is a feature-complete SQL query processor with a modern planner and inst
159
188
  * **Robust transaction support** - Multi-level savepoints and rollback
160
189
  * **Rich built-in function library** - Scalar, aggregate, window, JSON, and date/time functions
161
190
 
162
- **Titan Optimizer Implementation Status:**
163
- * ✅ **Phase 0 - Groundwork**: Foundational infrastructure complete with cost models, constraint analysis, shared caching utilities, and development standards
164
- * ✅ **xBestIndex Refactor**: Modern type-safe BestAccessPlan API replacing legacy SQLite-style interfaces
165
- * ✅ **Phase 1 - Core Framework**: Complete rule registration system, trace framework, physical property utilities, statistics provider abstraction, emitter metadata, and golden plan test harness
166
- * ✅ **Phase 2 - Cache & Visualize**: Intelligent materialization advisory, async stream utilities, and PlanViz CLI tool for visual plan inspection
167
- * ✅ **Phase 2.5 - Generic Tree Rewriting**: Abstract `withChildren()` method eliminating manual node handling and preserving attribute IDs
168
- * ✅ **Phase 3 - Constant Folding**: Functional safety flags, runtime-based evaluation, and expression boundary optimization
169
- * 🔄 **Phase 1.5 - Access Path Selection**: Seek/range scan infrastructure and access path selection rules
170
- * 📋 **Upcoming**: Advanced optimization rules, join algorithms, and performance tooling
171
-
172
- **Current development focus:**
173
- * **Access Path Selection** - Physical seek/range scan nodes and optimization rules
174
- * **Phase 3 Polishing** - Plan validation, constant folding, execution metrics, and development tooling
175
- * **Advanced Optimization Rules** - Predicate pushdown, join reordering, and cost-based transformations
176
-
177
- See the [Titan Optimizer Documentation](docs/titan-optimizer.md) for detailed implementation progress and [Optimizer Conventions](docs/optimizer-conventions.md) for the rules and conventions used, as well as [Planner framework README](src/planner/framework/README.md) for optimizer framework details.
191
+ **Optimizer Status:**
192
+
193
+ Quereus features a sophisticated rule-based query optimizer that transforms logical plans into efficient physical execution plans. The optimizer uses a single plan node hierarchy with logical-to-physical transformation, generic tree rewriting infrastructure, and comprehensive optimization rules including constant folding, intelligent caching, and streaming aggregation.
194
+
195
+ See the [Optimizer Documentation](docs/optimizer.md) for architecture details and [Optimizer Conventions](docs/optimizer-conventions.md) for development guidelines.
178
196
  [TODO List](docs/todo.md) has remaining priorities.
179
197
 
180
198
  ## Testing
@@ -191,12 +209,18 @@ Quereus employs a multi-faceted testing strategy:
191
209
  * Inspired by SQLite's own testing methodology.
192
210
  * Uses simple text files (`*.sqllogic`) containing SQL statements and their expected JSON results (using `→` marker) or expected error messages (using `-- error:` directive).
193
211
  * Driven by a Mocha test runner (`test/logic.spec.ts`) that executes the SQL against a fresh `Database` instance for each file.
194
- * **Configurable Diagnostics**: On unexpected failures, the test runner provides clean error messages by default with optional detailed diagnostics controlled by environment variables:
195
- * `QUEREUS_TEST_VERBOSE=true` - Show execution progress during tests
196
- * `QUEREUS_TEST_SHOW_PLAN=true` - Include query plan in diagnostics
197
- * `QUEREUS_TEST_SHOW_PROGRAM=true` - Include instruction program in diagnostics
198
- * `QUEREUS_TEST_SHOW_STACK=true` - Include full stack trace in diagnostics
199
- * `QUEREUS_TEST_SHOW_TRACE=true` - Include execution trace in diagnostics
212
+ * **Configurable Diagnostics**: On unexpected failures, the test runner provides clean error messages by default with optional detailed diagnostics controlled by command line arguments:
213
+ * `yarn test --verbose` - Show execution progress during tests
214
+ * `yarn test --show-plan` - Include concise query plan in diagnostics
215
+ * `yarn test --plan-full-detail` - Include full detailed query plan (JSON format)
216
+ * `yarn test --plan-summary` - Show one-line execution path summary
217
+ * `yarn test --expand-nodes node1,node2...` - Expand specific nodes in concise plan
218
+ * `yarn test --max-plan-depth N` - Limit plan display depth
219
+ * `yarn test --show-program` - Include instruction program in diagnostics
220
+ * `yarn test --show-stack` - Include full stack trace in diagnostics
221
+ * `yarn test --show-trace` - Include execution trace in diagnostics
222
+ * `yarn test --trace-plan-stack` - Enable plan stack tracing in runtime
223
+ * Environment variables (deprecated): `QUEREUS_TEST_VERBOSE=true`, `QUEREUS_TEST_SHOW_PLAN=true`, etc.
200
224
  * This helps pinpoint failures at the Parser, Planner, or Runtime layer while keeping output manageable.
201
225
  * Provides comprehensive coverage of SQL features: basic CRUD, complex expressions, all join types, window functions, aggregates, subqueries, CTEs, constraints, transactions, set operations, views, and error handling.
202
226
 
@@ -10,6 +10,7 @@ import type { PlanNode } from '../planner/nodes/plan-node.js';
10
10
  import type { DebugOptions } from '../planner/planning-context.js';
11
11
  import { Optimizer } from '../planner/optimizer.js';
12
12
  import { DatabaseOptionsManager } from './database-options.js';
13
+ import type { InstructionTracer } from '../runtime/types.js';
13
14
  /**
14
15
  * Represents a connection to an Quereus database (in-memory in this port).
15
16
  * Manages schema, prepared statements, virtual tables, and functions.
@@ -24,6 +25,7 @@ export declare class Database {
24
25
  private inImplicitTransaction;
25
26
  readonly optimizer: Optimizer;
26
27
  readonly options: DatabaseOptionsManager;
28
+ private instructionTracer;
27
29
  constructor();
28
30
  /**
29
31
  * Prepares an SQL statement for execution.
@@ -149,6 +151,17 @@ export declare class Database {
149
151
  * // SELECT * FROM contacts ORDER BY phone COLLATE PHONENUMBER;
150
152
  */
151
153
  registerCollation(name: string, func: CollationFunction): void;
154
+ /**
155
+ * Sets the instruction tracer for this database.
156
+ * The tracer will be used for all statement executions.
157
+ * @param tracer The instruction tracer to use, or null to disable tracing.
158
+ */
159
+ setInstructionTracer(tracer: InstructionTracer | undefined): void;
160
+ /**
161
+ * Gets the current instruction tracer for this database.
162
+ * @returns The instruction tracer, or undefined if none is set.
163
+ */
164
+ getInstructionTracer(): InstructionTracer | undefined;
152
165
  /**
153
166
  * Prepares, binds parameters, executes, and yields result rows for a query.
154
167
  * This is a high-level convenience method for iterating over query results.
@@ -176,11 +189,16 @@ export declare class Database {
176
189
  eval(sql: string, params?: SqlParameters | SqlValue[]): AsyncIterable<Record<string, SqlValue>>;
177
190
  getPlan(sqlOrAst: string | AST.AstNode): PlanNode;
178
191
  /**
179
- * Gets a detailed JSON representation of the query plan for debugging.
192
+ * Gets a detailed representation of the query plan for debugging.
180
193
  * @param sql The SQL statement to plan.
181
- * @returns JSON string containing the detailed plan tree.
182
- */
183
- getDebugPlan(sql: string): string;
194
+ * @param options Optional formatting options. If not provided, uses concise tree format.
195
+ * @returns String containing the formatted plan tree.
196
+ */
197
+ getDebugPlan(sql: string, options?: {
198
+ verbose?: boolean;
199
+ expandNodes?: string[];
200
+ maxDepth?: number;
201
+ }): string;
184
202
  /**
185
203
  * Prepares a statement with debug options enabled.
186
204
  * @param sql The SQL statement to prepare.
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import { BuildTimeDependencyTracker } from '../planner/planning-context.js';
16
16
  import { ParameterScope } from '../planner/scopes/param.js';
17
17
  import { GlobalScope } from '../planner/scopes/global.js';
18
18
  import { registerEmitters } from '../runtime/register.js';
19
- import { serializePlanTree } from '../planner/debug.js';
19
+ import { serializePlanTree, formatPlanTree } from '../planner/debug.js';
20
20
  import { EmissionContext } from '../runtime/emission-context.js';
21
21
  import { Optimizer, DEFAULT_TUNING } from '../planner/optimizer.js';
22
22
  import { registerBuiltinWindowFunctions } from '../func/builtins/builtin-window-functions.js';
@@ -39,6 +39,7 @@ export class Database {
39
39
  inImplicitTransaction = false; // Track if we're in an implicit transaction
40
40
  optimizer;
41
41
  options;
42
+ instructionTracer;
42
43
  constructor() {
43
44
  this.schemaManager = new SchemaManager(this);
44
45
  this.options = new DatabaseOptionsManager();
@@ -118,6 +119,11 @@ export class Database {
118
119
  log('Default column nullability changed to: %s', value);
119
120
  }
120
121
  });
122
+ this.options.registerOption('trace_plan_stack', {
123
+ type: 'boolean',
124
+ defaultValue: false,
125
+ description: 'Enable plan stack tracing',
126
+ });
121
127
  }
122
128
  /** @internal Registers default built-in SQL functions */
123
129
  registerBuiltinFunctions() {
@@ -202,6 +208,7 @@ export class Database {
202
208
  params: params ?? {},
203
209
  context: new Map(),
204
210
  tableContexts: new Map(),
211
+ tracer: this.instructionTracer,
205
212
  enableMetrics: this.options.getBooleanOption('runtime_stats'),
206
213
  };
207
214
  void await scheduler.run(runtimeCtx);
@@ -453,6 +460,22 @@ export class Database {
453
460
  registerCollation(name, func);
454
461
  log('Registered collation: %s', name);
455
462
  }
463
+ /**
464
+ * Sets the instruction tracer for this database.
465
+ * The tracer will be used for all statement executions.
466
+ * @param tracer The instruction tracer to use, or null to disable tracing.
467
+ */
468
+ setInstructionTracer(tracer) {
469
+ this.instructionTracer = tracer;
470
+ log('Instruction tracer %s', tracer ? 'enabled' : 'disabled');
471
+ }
472
+ /**
473
+ * Gets the current instruction tracer for this database.
474
+ * @returns The instruction tracer, or undefined if none is set.
475
+ */
476
+ getInstructionTracer() {
477
+ return this.instructionTracer;
478
+ }
456
479
  /** @internal Gets a registered collation function */
457
480
  _getCollation(name) {
458
481
  return getCollation(name);
@@ -528,14 +551,27 @@ export class Database {
528
551
  return this.optimizer.optimize(plan, this);
529
552
  }
530
553
  /**
531
- * Gets a detailed JSON representation of the query plan for debugging.
554
+ * Gets a detailed representation of the query plan for debugging.
532
555
  * @param sql The SQL statement to plan.
533
- * @returns JSON string containing the detailed plan tree.
556
+ * @param options Optional formatting options. If not provided, uses concise tree format.
557
+ * @returns String containing the formatted plan tree.
534
558
  */
535
- getDebugPlan(sql) {
559
+ getDebugPlan(sql, options) {
536
560
  this.checkOpen();
537
561
  const plan = this.getPlan(sql);
538
- return serializePlanTree(plan);
562
+ if (options?.verbose) {
563
+ // Use the original detailed JSON format
564
+ return serializePlanTree(plan);
565
+ }
566
+ else {
567
+ // Use the new concise tree format
568
+ return formatPlanTree(plan, {
569
+ concise: true,
570
+ expandNodes: options?.expandNodes || [],
571
+ maxDepth: options?.maxDepth,
572
+ showPhysical: true
573
+ });
574
+ }
539
575
  }
540
576
  /**
541
577
  * Prepares a statement with debug options enabled.
@@ -577,8 +613,10 @@ export class Database {
577
613
  schemaManager: this.schemaManager,
578
614
  parameters: params ?? {},
579
615
  scope: parameterScope,
616
+ cteNodes: new Map(),
580
617
  schemaDependencies: new BuildTimeDependencyTracker(),
581
- schemaCache: new Map()
618
+ schemaCache: new Map(),
619
+ cteReferenceCache: new Map()
582
620
  };
583
621
  return buildBlock(ctx, statements);
584
622
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { type SqlValue, type Row, type SqlParameters, type DeepReadonly } from '
2
2
  import type { Database } from './database.js';
3
3
  import { type ColumnDef, type ScalarType } from '../common/datatype.js';
4
4
  import type { Statement as ASTStatement } from '../parser/ast.js';
5
- import type { InstructionTracer } from '../runtime/types.js';
6
5
  /**
7
6
  * Represents a prepared SQL statement.
8
7
  */
@@ -84,11 +83,5 @@ export declare class Statement {
84
83
  * @returns String representation of the instruction program.
85
84
  */
86
85
  getDebugProgram(): string;
87
- /**
88
- * Executes with runtime instruction tracing enabled.
89
- * @param params Optional parameters to bind.
90
- * @param tracer Optional custom tracer for collecting trace data.
91
- */
92
- iterateRowsWithTrace(params?: SqlParameters | SqlValue[], tracer?: InstructionTracer): AsyncIterable<Row>;
93
86
  }
94
87
  //# sourceMappingURL=statement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAc,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ7D;;GAEG;AACH,qBAAa,SAAS;IACrB,SAAgB,EAAE,EAAE,QAAQ,CAAC;IAC7B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAqE;IAC3F,OAAO,CAAC,wBAAwB,CAA6B;IAoC7D,wFAAwF;IACjF,aAAa,IAAI,OAAO;IAe/B,wEAAwE;IACjE,WAAW,IAAI,MAAM;IAoF5B;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAcjD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,IAAI;IAmB/C,mFAAmF;IAC5E,OAAO,IAAI,OAAO;IASlB,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC;IA2C3E,cAAc,IAAI,MAAM,EAAE;IAK1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACH,aAAa,IAAI,IAAI;IASrB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;OAEG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;OAEG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IAa7F;;OAEG;IACI,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAYxF;;OAEG;IACH,aAAa,IAAI,aAAa;IAM9B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IASlD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASpC,aAAa,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE;IAiB1C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAMtB;;;OAGG;IACH,eAAe,IAAI,MAAM;IAUzB;;;;OAIG;IACI,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC;CA0ChH"}
1
+ {"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAc,KAAK,GAAG,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAelE;;GAEG;AACH,qBAAa,SAAS;IACrB,SAAgB,EAAE,EAAE,QAAQ,CAAC;IAC7B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,cAAc,CAAqE;IAC3F,OAAO,CAAC,wBAAwB,CAA6B;IAoC7D,wFAAwF;IACjF,aAAa,IAAI,OAAO;IAe/B,wEAAwE;IACjE,WAAW,IAAI,MAAM;IAoF5B;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAcjD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,IAAI;IAmB/C,mFAAmF;IAC5E,OAAO,IAAI,OAAO;IASlB,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC;IA4C3E,cAAc,IAAI,MAAM,EAAE;IAK1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACH,aAAa,IAAI,IAAI;IASrB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;OAEG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;OAEG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IAa7F;;OAEG;IACI,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAYxF;;OAEG;IACH,aAAa,IAAI,aAAa;IAM9B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;IASlD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASpC,aAAa,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE;IAiB1C,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAMtB;;;OAGG;IACH,eAAe,IAAI,MAAM;CASzB"}
@@ -238,6 +238,7 @@ export class Statement {
238
238
  params: this.boundArgs,
239
239
  context: new Map(),
240
240
  tableContexts: new Map(),
241
+ tracer: this.db.getInstructionTracer(),
241
242
  enableMetrics: this.db.getOption('runtime_metrics'),
242
243
  };
243
244
  const results = await scheduler.run(runtimeCtx);
@@ -427,56 +428,5 @@ export class Statement {
427
428
  const scheduler = new Scheduler(rootInstruction);
428
429
  return generateInstructionProgram(scheduler.instructions, scheduler.destinations);
429
430
  }
430
- /**
431
- * Executes with runtime instruction tracing enabled.
432
- * @param params Optional parameters to bind.
433
- * @param tracer Optional custom tracer for collecting trace data.
434
- */
435
- async *iterateRowsWithTrace(params, tracer) {
436
- this.validateStatement("iterate rows with trace for");
437
- if (this.busy)
438
- throw new MisuseError("Statement busy, another iteration may be in progress or reset needed.");
439
- if (params)
440
- this.bindAll(params);
441
- this.busy = true;
442
- try {
443
- const blockPlanNode = this.compile();
444
- if (!blockPlanNode.statements.length)
445
- return;
446
- const emissionContext = this.getEmissionContext();
447
- const rootInstruction = emitPlanNode(blockPlanNode, emissionContext);
448
- const scheduler = new Scheduler(rootInstruction);
449
- const runtimeCtx = {
450
- db: this.db,
451
- stmt: this,
452
- params: this.boundArgs,
453
- context: new Map(),
454
- tableContexts: new Map(),
455
- tracer: tracer,
456
- enableMetrics: this.db.getOption('runtime_metrics'),
457
- };
458
- const results = await scheduler.run(runtimeCtx);
459
- if (results) {
460
- if (Array.isArray(results) && results.length) {
461
- const lastStatementOutput = results[results.length - 1];
462
- if (isAsyncIterable(lastStatementOutput)) {
463
- yield* lastStatementOutput;
464
- }
465
- }
466
- else if (isAsyncIterable(results)) {
467
- yield* results;
468
- }
469
- }
470
- }
471
- catch (e) {
472
- errorLog('Runtime execution failed in iterateRowsWithTrace for current statement: %O', e);
473
- if (e instanceof QuereusError)
474
- throw e;
475
- throw new QuereusError(`Execution error: ${e.message}`, StatusCode.ERROR, e);
476
- }
477
- finally {
478
- this.busy = false;
479
- }
480
- }
481
431
  }
482
432
  //# sourceMappingURL=statement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/core/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAiB,UAAU,EAAmD,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAmC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEnC;;GAEG;AACH,MAAM,OAAO,SAAS;IACL,EAAE,CAAW;IACb,WAAW,CAAS;IACpB,QAAQ,CAAiB;IACjC,aAAa,GAAW,CAAC,CAAC,CAAC;IAC3B,SAAS,GAAG,KAAK,CAAC;IAClB,IAAI,GAAG,KAAK,CAAC;IACb,SAAS,GAAsC,EAAE,CAAC;IAClD,IAAI,GAAqB,IAAI,CAAC;IAC9B,eAAe,GAA2B,IAAI,CAAC;IAC/C,YAAY,GAAG,IAAI,CAAC;IACpB,cAAc,GAAG,IAAI,MAAM,CAA4B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnF,wBAAwB,GAAwB,IAAI,CAAC;IAE7D;;;;OAIG;IACH,YAAY,EAAY,EAAE,aAAsC,EAAE,kBAA0B,CAAC;QAC5F,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,IAAI,CAAC,YAAY,UAAU;oBAAE,MAAM,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtG,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC9B,oEAAoE;YACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gDAAgD;QACrH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YACzD,sEAAsE;YACtE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,IAAI,eAAe,IAAI,CAAC,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC3E,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,4DAA4D;QACvF,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,qDAAqD,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;IAED,wFAAwF;IACjF,aAAa;QACnB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,4DAA4D,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,wEAAwE;IACjE,WAAW;QACjB,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1E,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,gDAAgD;IAC3F,CAAC;IAED,gDAAgD;IACzC,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAEtD,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,GAAG,CAAC,8CAA8C,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAI,IAA2B,CAAC;QAChC,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,YAAY,GAAI,UAAkB,CAAC,kBAAkB,CAAC,CAAC,6CAA6C;YAC1G,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAc,CAAC;YAEpE,4DAA4D;YAC5D,IAAI,YAAY,IAAI,YAAY,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBACvD,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACnC,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACjC,CAAC;gBAED,mEAAmE;gBACnE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;oBAC7F,oCAAoC;oBACpC,IAAI,cAAsB,CAAC;oBAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrC,cAAc,GAAG,OAAO,CAAC;oBAC1B,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/C,cAAc,GAAG,UAAU,CAAC;oBAC7B,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7C,cAAc,GAAG,aAAa,CAAC;oBAChC,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,cAAc,GAAG,WAAW,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,qBAAqB;oBAC9B,CAAC;oBAED,uDAAuD;oBACvD,MAAM,gBAAgB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;oBACxD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAqB,EAAE,EAAE,CAC1E,GAAG,CAAC,IAAI,KAAK,cAAc;wBAC3B,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;wBACnC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,CACxD,CAAC;oBAEF,IAAI,kBAAkB,EAAE,CAAC;wBACxB,GAAG,CAAC,qDAAqD,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;wBACzF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wBACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC7B,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,QAAQ,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,YAAY;gBAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,KAAK;gBAAE,MAAM,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACvG,MAAM,IAAI,YAAY,CAAC,wBAAwB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,oDAAoD,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7G,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,wEAAwE;IAChE,kBAAkB;QACzB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,GAAoB,EAAE,KAAe;QACzC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,kBAAkB,GAAG,8BAA8B,CAAC,CAAC;YACvF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,2BAA2B,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAgC;QACvC,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,wEAAwE;YACxE,MAAM,aAAa,GAA6B,EAAE,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,mBAAmB;YAC9D,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,2DAA2D,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,mFAAmF;IAC5E,OAAO;QACb,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,oBAAoB,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpD,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAAC,MAAmC;QACrD,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,uEAAuE,CAAC,CAAC;QAE9G,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM;gBAAE,OAAO;YAE7C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;YACjD,MAAM,UAAU,GAAmB;gBAClC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI,CAAC,SAAS;gBACtB,OAAO,EAAE,IAAI,GAAG,EAAE;gBAClB,aAAa,EAAE,IAAI,GAAG,EAAE;gBACxB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE;gBACtC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC;aACnD,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC9C,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACxD,IAAI,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAC1C,KAAK,CAAC,CAAC,mBAAyC,CAAC;oBAClD,CAAC;gBACF,CAAC;qBAAM,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrC,KAAK,CAAC,CAAC,OAA6B,CAAC;gBACtC,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,mEAAmE,EAAE,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,YAAY,YAAY;gBAAE,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,YAAY,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,CAAC;IACF,CAAC;IAED,cAAc;QACb,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,+DAA+D,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACb,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAExB,kCAAkC;QAClC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAmC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAmC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gBACtC,OAAO,GAAG,CAAC;YACZ,CAAC,EAAE,EAA8B,CAAC,CAAC;YACnC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,GAAG,CAAC,MAAmC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gBACtC,OAAO,GAAG,CAAC;YACZ,CAAC,EAAE,EAA8B,CAAC,CAAC;YACnC,MAAM,SAAS,CAAC;QACjB,CAAC;IACF,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAa;QAC1B,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC7C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAa;QAC1B,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,UAAU,CAAC,gBAAgB,KAAK,oBAAoB,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/F,IAAI,CAAC;oBAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,0DAA0D,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvF,IAAI,wBAAwB,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,cAAc,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QAC1C,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1E,MAAM,IAAI,WAAW,CAAC,oCAAoC,SAAS,2DAA2D,CAAC,CAAC;QACjI,CAAC;IACF,CAAC;IAEO,eAAe;QACtB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,YAAY;QACX,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,eAAe;QACd,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;QAEjD,OAAO,0BAA0B,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACnF,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,8DAmIzB,CAAC;AAGF,eAAO,MAAM,oBAAoB,8DAgFhC,CAAC;AAGF,eAAO,MAAM,cAAc,8DA6G1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,8DA4K9B,CAAC;AAGF,eAAO,MAAM,YAAY,8DAyGxB,CAAC;AAGF,eAAO,MAAM,cAAc,8DAwB1B,CAAC"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,8DA+HzB,CAAC;AAGF,eAAO,MAAM,oBAAoB,8DAgFhC,CAAC;AAGF,eAAO,MAAM,cAAc,8DAsG1B,CAAC;AAGF,eAAO,MAAM,kBAAkB,8DA4K9B,CAAC;AAGF,eAAO,MAAM,YAAY,8DAyGxB,CAAC;AAGF,eAAO,MAAM,cAAc,8DAwB1B,CAAC"}
@@ -60,10 +60,6 @@ export const queryPlanFunc = createIntegratedTableValuedFunction({
60
60
  if (node.nodeType) {
61
61
  op = node.nodeType.replace(/Node$/, '').toUpperCase();
62
62
  switch (node.nodeType) {
63
- case 'TableScan':
64
- objectName = node.source?.tableSchema?.name || null;
65
- alias = node.alias || null;
66
- break;
67
63
  case 'TableFunctionCall':
68
64
  objectName = node.functionName;
69
65
  alias = node.alias || null;
@@ -249,13 +245,6 @@ export const stackTraceFunc = createIntegratedTableValuedFunction({
249
245
  vars: { statementCount: node.statements?.length || 0 }
250
246
  });
251
247
  break;
252
- case 'TableScan':
253
- stack.push({
254
- name: 'buildTableScan',
255
- location: 'building/table.ts:buildTableScan',
256
- vars: { tableName: node.source?.tableSchema?.name || 'unknown' }
257
- });
258
- break;
259
248
  case 'Filter':
260
249
  stack.push({
261
250
  name: 'buildFilter',