@quereus/quereus 4.6.0 → 4.8.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 (584) hide show
  1. package/README.md +2 -2
  2. package/dist/src/common/errors.d.ts +17 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +21 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/common/types.d.ts +19 -0
  7. package/dist/src/common/types.d.ts.map +1 -1
  8. package/dist/src/common/types.js.map +1 -1
  9. package/dist/src/core/database-assertions.d.ts +4 -3
  10. package/dist/src/core/database-assertions.d.ts.map +1 -1
  11. package/dist/src/core/database-assertions.js +44 -14
  12. package/dist/src/core/database-assertions.js.map +1 -1
  13. package/dist/src/core/database-events.d.ts +62 -0
  14. package/dist/src/core/database-events.d.ts.map +1 -1
  15. package/dist/src/core/database-events.js +88 -2
  16. package/dist/src/core/database-events.js.map +1 -1
  17. package/dist/src/core/database-internal.d.ts +5 -2
  18. package/dist/src/core/database-internal.d.ts.map +1 -1
  19. package/dist/src/core/database-materialized-views-plan-builders.d.ts.map +1 -1
  20. package/dist/src/core/database-materialized-views-plan-builders.js +4 -2
  21. package/dist/src/core/database-materialized-views-plan-builders.js.map +1 -1
  22. package/dist/src/core/database-materialized-views-plans.d.ts +12 -2
  23. package/dist/src/core/database-materialized-views-plans.d.ts.map +1 -1
  24. package/dist/src/core/database-materialized-views.d.ts +46 -0
  25. package/dist/src/core/database-materialized-views.d.ts.map +1 -1
  26. package/dist/src/core/database-materialized-views.js +75 -4
  27. package/dist/src/core/database-materialized-views.js.map +1 -1
  28. package/dist/src/core/database.d.ts +48 -2
  29. package/dist/src/core/database.d.ts.map +1 -1
  30. package/dist/src/core/database.js +222 -11
  31. package/dist/src/core/database.js.map +1 -1
  32. package/dist/src/core/derived-row-validator.d.ts.map +1 -1
  33. package/dist/src/core/derived-row-validator.js +7 -1
  34. package/dist/src/core/derived-row-validator.js.map +1 -1
  35. package/dist/src/core/statement.d.ts.map +1 -1
  36. package/dist/src/core/statement.js +101 -5
  37. package/dist/src/core/statement.js.map +1 -1
  38. package/dist/src/emit/ast-stringify.d.ts +18 -2
  39. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  40. package/dist/src/emit/ast-stringify.js +22 -4
  41. package/dist/src/emit/ast-stringify.js.map +1 -1
  42. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  43. package/dist/src/func/builtins/explain.js +19 -5
  44. package/dist/src/func/builtins/explain.js.map +1 -1
  45. package/dist/src/func/builtins/scalar.d.ts.map +1 -1
  46. package/dist/src/func/builtins/scalar.js +24 -20
  47. package/dist/src/func/builtins/scalar.js.map +1 -1
  48. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  49. package/dist/src/func/builtins/schema.js +32 -5
  50. package/dist/src/func/builtins/schema.js.map +1 -1
  51. package/dist/src/index.d.ts +9 -5
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +7 -5
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/parser/ast.d.ts +58 -1
  56. package/dist/src/parser/ast.d.ts.map +1 -1
  57. package/dist/src/parser/parser.js +1 -1
  58. package/dist/src/parser/parser.js.map +1 -1
  59. package/dist/src/parser/utils.d.ts +13 -1
  60. package/dist/src/parser/utils.d.ts.map +1 -1
  61. package/dist/src/parser/utils.js +14 -0
  62. package/dist/src/parser/utils.js.map +1 -1
  63. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  64. package/dist/src/planner/analysis/assertion-classifier.js +7 -2
  65. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  66. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  67. package/dist/src/planner/analysis/assertion-hoist-cache.js +5 -0
  68. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  69. package/dist/src/planner/analysis/change-scope.d.ts +11 -3
  70. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  71. package/dist/src/planner/analysis/change-scope.js +5 -4
  72. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  73. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -1
  74. package/dist/src/planner/analysis/coverage-prover.js +13 -5
  75. package/dist/src/planner/analysis/coverage-prover.js.map +1 -1
  76. package/dist/src/planner/analysis/equi-correlation.d.ts +6 -1
  77. package/dist/src/planner/analysis/equi-correlation.d.ts.map +1 -1
  78. package/dist/src/planner/analysis/equi-correlation.js +8 -1
  79. package/dist/src/planner/analysis/equi-correlation.js.map +1 -1
  80. package/dist/src/planner/analysis/predicate-dependencies.d.ts +34 -0
  81. package/dist/src/planner/analysis/predicate-dependencies.d.ts.map +1 -0
  82. package/dist/src/planner/analysis/predicate-dependencies.js +60 -0
  83. package/dist/src/planner/analysis/predicate-dependencies.js.map +1 -0
  84. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +1 -1
  85. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
  86. package/dist/src/planner/analysis/query-rewrite-matcher.js +0 -26
  87. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
  88. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  89. package/dist/src/planner/building/alter-table.js +53 -17
  90. package/dist/src/planner/building/alter-table.js.map +1 -1
  91. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  92. package/dist/src/planner/building/constraint-builder.js +9 -5
  93. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  94. package/dist/src/planner/building/create-assertion.d.ts.map +1 -1
  95. package/dist/src/planner/building/create-assertion.js +72 -1
  96. package/dist/src/planner/building/create-assertion.js.map +1 -1
  97. package/dist/src/planner/building/create-view.d.ts +6 -1
  98. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  99. package/dist/src/planner/building/create-view.js +12 -3
  100. package/dist/src/planner/building/create-view.js.map +1 -1
  101. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  102. package/dist/src/planner/building/ddl.js +6 -2
  103. package/dist/src/planner/building/ddl.js.map +1 -1
  104. package/dist/src/planner/building/delete.d.ts.map +1 -1
  105. package/dist/src/planner/building/delete.js +23 -10
  106. package/dist/src/planner/building/delete.js.map +1 -1
  107. package/dist/src/planner/building/dml-target.d.ts.map +1 -1
  108. package/dist/src/planner/building/dml-target.js +4 -0
  109. package/dist/src/planner/building/dml-target.js.map +1 -1
  110. package/dist/src/planner/building/drop-assertion.d.ts.map +1 -1
  111. package/dist/src/planner/building/drop-assertion.js +3 -1
  112. package/dist/src/planner/building/drop-assertion.js.map +1 -1
  113. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  114. package/dist/src/planner/building/foreign-key-builder.js +7 -5
  115. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  116. package/dist/src/planner/building/function-call.d.ts +35 -0
  117. package/dist/src/planner/building/function-call.d.ts.map +1 -1
  118. package/dist/src/planner/building/function-call.js +53 -40
  119. package/dist/src/planner/building/function-call.js.map +1 -1
  120. package/dist/src/planner/building/insert.d.ts.map +1 -1
  121. package/dist/src/planner/building/insert.js +185 -48
  122. package/dist/src/planner/building/insert.js.map +1 -1
  123. package/dist/src/planner/building/materialized-view.d.ts.map +1 -1
  124. package/dist/src/planner/building/materialized-view.js +3 -1
  125. package/dist/src/planner/building/materialized-view.js.map +1 -1
  126. package/dist/src/planner/building/schema-authored-context.d.ts +69 -0
  127. package/dist/src/planner/building/schema-authored-context.d.ts.map +1 -0
  128. package/dist/src/planner/building/schema-authored-context.js +75 -0
  129. package/dist/src/planner/building/schema-authored-context.js.map +1 -0
  130. package/dist/src/planner/building/schema-resolution.d.ts.map +1 -1
  131. package/dist/src/planner/building/schema-resolution.js +7 -4
  132. package/dist/src/planner/building/schema-resolution.js.map +1 -1
  133. package/dist/src/planner/building/select-aggregates.d.ts +187 -2
  134. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  135. package/dist/src/planner/building/select-aggregates.js +414 -81
  136. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  137. package/dist/src/planner/building/select-compound.js +2 -2
  138. package/dist/src/planner/building/select-compound.js.map +1 -1
  139. package/dist/src/planner/building/select-context.d.ts +91 -0
  140. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  141. package/dist/src/planner/building/select-context.js +113 -0
  142. package/dist/src/planner/building/select-context.js.map +1 -1
  143. package/dist/src/planner/building/select-modifiers.d.ts +10 -3
  144. package/dist/src/planner/building/select-modifiers.d.ts.map +1 -1
  145. package/dist/src/planner/building/select-modifiers.js +29 -8
  146. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  147. package/dist/src/planner/building/select-ordinal.d.ts +64 -19
  148. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  149. package/dist/src/planner/building/select-ordinal.js +79 -30
  150. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  151. package/dist/src/planner/building/select-projections.d.ts +1 -1
  152. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  153. package/dist/src/planner/building/select-projections.js +18 -11
  154. package/dist/src/planner/building/select-projections.js.map +1 -1
  155. package/dist/src/planner/building/select-window.d.ts +13 -3
  156. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  157. package/dist/src/planner/building/select-window.js +142 -37
  158. package/dist/src/planner/building/select-window.js.map +1 -1
  159. package/dist/src/planner/building/select.d.ts.map +1 -1
  160. package/dist/src/planner/building/select.js +129 -59
  161. package/dist/src/planner/building/select.js.map +1 -1
  162. package/dist/src/planner/building/update.d.ts.map +1 -1
  163. package/dist/src/planner/building/update.js +27 -13
  164. package/dist/src/planner/building/update.js.map +1 -1
  165. package/dist/src/planner/building/view-mutation-builder.d.ts +1 -1
  166. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -1
  167. package/dist/src/planner/building/view-mutation-builder.js +102 -8
  168. package/dist/src/planner/building/view-mutation-builder.js.map +1 -1
  169. package/dist/src/planner/building/with.d.ts.map +1 -1
  170. package/dist/src/planner/building/with.js +34 -4
  171. package/dist/src/planner/building/with.js.map +1 -1
  172. package/dist/src/planner/cache/correlation-detector.d.ts +15 -0
  173. package/dist/src/planner/cache/correlation-detector.d.ts.map +1 -1
  174. package/dist/src/planner/cache/correlation-detector.js +26 -0
  175. package/dist/src/planner/cache/correlation-detector.js.map +1 -1
  176. package/dist/src/planner/cache/materialization-advisory.d.ts +7 -0
  177. package/dist/src/planner/cache/materialization-advisory.d.ts.map +1 -1
  178. package/dist/src/planner/cache/materialization-advisory.js +12 -3
  179. package/dist/src/planner/cache/materialization-advisory.js.map +1 -1
  180. package/dist/src/planner/framework/characteristics.d.ts +9 -0
  181. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  182. package/dist/src/planner/framework/characteristics.js.map +1 -1
  183. package/dist/src/planner/framework/pass.d.ts +2 -0
  184. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  185. package/dist/src/planner/framework/pass.js +15 -0
  186. package/dist/src/planner/framework/pass.js.map +1 -1
  187. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -1
  188. package/dist/src/planner/mutation/backward-body.js +4 -1
  189. package/dist/src/planner/mutation/backward-body.js.map +1 -1
  190. package/dist/src/planner/mutation/body-context.d.ts +23 -0
  191. package/dist/src/planner/mutation/body-context.d.ts.map +1 -0
  192. package/dist/src/planner/mutation/body-context.js +26 -0
  193. package/dist/src/planner/mutation/body-context.js.map +1 -0
  194. package/dist/src/planner/mutation/cte-flatten.js +15 -2
  195. package/dist/src/planner/mutation/cte-flatten.js.map +1 -1
  196. package/dist/src/planner/mutation/decomposition.d.ts +8 -0
  197. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
  198. package/dist/src/planner/mutation/decomposition.js +8 -3
  199. package/dist/src/planner/mutation/decomposition.js.map +1 -1
  200. package/dist/src/planner/mutation/lens-enforcement.js +1 -1
  201. package/dist/src/planner/mutation/multi-source.d.ts +7 -0
  202. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
  203. package/dist/src/planner/mutation/multi-source.js +5 -0
  204. package/dist/src/planner/mutation/multi-source.js.map +1 -1
  205. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +1 -1
  206. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -1
  207. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -1
  208. package/dist/src/planner/mutation/scope-transform.d.ts +32 -0
  209. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -1
  210. package/dist/src/planner/mutation/scope-transform.js +181 -33
  211. package/dist/src/planner/mutation/scope-transform.js.map +1 -1
  212. package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
  213. package/dist/src/planner/mutation/set-op.js +66 -16
  214. package/dist/src/planner/mutation/set-op.js.map +1 -1
  215. package/dist/src/planner/mutation/single-source.d.ts.map +1 -1
  216. package/dist/src/planner/mutation/single-source.js +100 -24
  217. package/dist/src/planner/mutation/single-source.js.map +1 -1
  218. package/dist/src/planner/nodes/add-constraint-node.d.ts +15 -1
  219. package/dist/src/planner/nodes/add-constraint-node.d.ts.map +1 -1
  220. package/dist/src/planner/nodes/add-constraint-node.js +10 -1
  221. package/dist/src/planner/nodes/add-constraint-node.js.map +1 -1
  222. package/dist/src/planner/nodes/aggregate-node.d.ts +14 -5
  223. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  224. package/dist/src/planner/nodes/aggregate-node.js +28 -21
  225. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  226. package/dist/src/planner/nodes/alter-table-node.d.ts +27 -2
  227. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  228. package/dist/src/planner/nodes/alter-table-node.js +49 -2
  229. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  230. package/dist/src/planner/nodes/constraint-check-node.d.ts.map +1 -1
  231. package/dist/src/planner/nodes/constraint-check-node.js +17 -19
  232. package/dist/src/planner/nodes/constraint-check-node.js.map +1 -1
  233. package/dist/src/planner/nodes/create-assertion-node.d.ts +2 -1
  234. package/dist/src/planner/nodes/create-assertion-node.d.ts.map +1 -1
  235. package/dist/src/planner/nodes/create-assertion-node.js +5 -2
  236. package/dist/src/planner/nodes/create-assertion-node.js.map +1 -1
  237. package/dist/src/planner/nodes/cte-node.d.ts +19 -9
  238. package/dist/src/planner/nodes/cte-node.d.ts.map +1 -1
  239. package/dist/src/planner/nodes/cte-node.js +25 -9
  240. package/dist/src/planner/nodes/cte-node.js.map +1 -1
  241. package/dist/src/planner/nodes/delete-node.d.ts +20 -2
  242. package/dist/src/planner/nodes/delete-node.d.ts.map +1 -1
  243. package/dist/src/planner/nodes/delete-node.js +11 -2
  244. package/dist/src/planner/nodes/delete-node.js.map +1 -1
  245. package/dist/src/planner/nodes/dml-executor-node.d.ts +58 -1
  246. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  247. package/dist/src/planner/nodes/dml-executor-node.js +107 -15
  248. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  249. package/dist/src/planner/nodes/drop-assertion-node.d.ts +2 -1
  250. package/dist/src/planner/nodes/drop-assertion-node.d.ts.map +1 -1
  251. package/dist/src/planner/nodes/drop-assertion-node.js +5 -2
  252. package/dist/src/planner/nodes/drop-assertion-node.js.map +1 -1
  253. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  254. package/dist/src/planner/nodes/filter.js +12 -6
  255. package/dist/src/planner/nodes/filter.js.map +1 -1
  256. package/dist/src/planner/nodes/hash-aggregate.d.ts +0 -5
  257. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  258. package/dist/src/planner/nodes/hash-aggregate.js +17 -20
  259. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  260. package/dist/src/planner/nodes/insert-node.d.ts +19 -2
  261. package/dist/src/planner/nodes/insert-node.d.ts.map +1 -1
  262. package/dist/src/planner/nodes/insert-node.js +10 -2
  263. package/dist/src/planner/nodes/insert-node.js.map +1 -1
  264. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts +42 -10
  265. package/dist/src/planner/nodes/key-set-semi-join-node.d.ts.map +1 -1
  266. package/dist/src/planner/nodes/key-set-semi-join-node.js +85 -16
  267. package/dist/src/planner/nodes/key-set-semi-join-node.js.map +1 -1
  268. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +5 -0
  269. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -1
  270. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -1
  271. package/dist/src/planner/nodes/plan-node.d.ts +5 -0
  272. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  273. package/dist/src/planner/nodes/plan-node.js +12 -0
  274. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  275. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  276. package/dist/src/planner/nodes/project-node.js +16 -35
  277. package/dist/src/planner/nodes/project-node.js.map +1 -1
  278. package/dist/src/planner/nodes/retrieve-node.d.ts +16 -2
  279. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  280. package/dist/src/planner/nodes/retrieve-node.js +8 -1
  281. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  282. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  283. package/dist/src/planner/nodes/returning-node.js +13 -32
  284. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  285. package/dist/src/planner/nodes/stream-aggregate.d.ts +0 -5
  286. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  287. package/dist/src/planner/nodes/stream-aggregate.js +18 -24
  288. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  289. package/dist/src/planner/nodes/table-access-nodes.d.ts +89 -1
  290. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  291. package/dist/src/planner/nodes/table-access-nodes.js +64 -2
  292. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  293. package/dist/src/planner/nodes/update-node.d.ts +19 -2
  294. package/dist/src/planner/nodes/update-node.d.ts.map +1 -1
  295. package/dist/src/planner/nodes/update-node.js +10 -2
  296. package/dist/src/planner/nodes/update-node.js.map +1 -1
  297. package/dist/src/planner/optimizer.d.ts +18 -0
  298. package/dist/src/planner/optimizer.d.ts.map +1 -1
  299. package/dist/src/planner/optimizer.js +59 -10
  300. package/dist/src/planner/optimizer.js.map +1 -1
  301. package/dist/src/planner/planning-context.d.ts +24 -0
  302. package/dist/src/planner/planning-context.d.ts.map +1 -1
  303. package/dist/src/planner/planning-context.js.map +1 -1
  304. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts +78 -20
  305. package/dist/src/planner/rules/access/rule-key-set-seek.d.ts.map +1 -1
  306. package/dist/src/planner/rules/access/rule-key-set-seek.js +297 -71
  307. package/dist/src/planner/rules/access/rule-key-set-seek.js.map +1 -1
  308. package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
  309. package/dist/src/planner/rules/access/rule-monotonic-range-access.js +2 -2
  310. package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
  311. package/dist/src/planner/rules/access/rule-select-access-path.d.ts +11 -1
  312. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  313. package/dist/src/planner/rules/access/rule-select-access-path.js +46 -2
  314. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  315. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +7 -4
  316. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  317. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +39 -5
  318. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  319. package/dist/src/planner/rules/cache/rule-cte-optimization.d.ts.map +1 -1
  320. package/dist/src/planner/rules/cache/rule-cte-optimization.js +6 -2
  321. package/dist/src/planner/rules/cache/rule-cte-optimization.js.map +1 -1
  322. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +10 -3
  323. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -1
  324. package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
  325. package/dist/src/planner/rules/join/index-nested-loop.js +13 -7
  326. package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
  327. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts +4 -0
  328. package/dist/src/planner/rules/join/rule-fanout-lookup-join.d.ts.map +1 -1
  329. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +50 -15
  330. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  331. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +6 -0
  332. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  333. package/dist/src/planner/rules/join/rule-join-elimination.js +25 -9
  334. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  335. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts +7 -0
  336. package/dist/src/planner/rules/join/rule-join-key-inference.d.ts.map +1 -1
  337. package/dist/src/planner/rules/join/rule-join-key-inference.js +23 -11
  338. package/dist/src/planner/rules/join/rule-join-key-inference.js.map +1 -1
  339. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +2 -2
  340. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  341. package/dist/src/planner/rules/join/rule-join-physical-selection.js +46 -16
  342. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  343. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts +2 -0
  344. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  345. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +14 -0
  346. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  347. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts +2 -2
  348. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  349. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +19 -22
  350. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  351. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts +33 -19
  352. package/dist/src/planner/rules/predicate/rule-filter-selectivity.d.ts.map +1 -1
  353. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js +37 -18
  354. package/dist/src/planner/rules/predicate/rule-filter-selectivity.js.map +1 -1
  355. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts +6 -3
  356. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.d.ts.map +1 -1
  357. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js +6 -3
  358. package/dist/src/planner/rules/predicate/rule-join-predicate-pushdown.js.map +1 -1
  359. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.d.ts.map +1 -1
  360. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +11 -21
  361. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  362. package/dist/src/planner/rules/shared/access-leaf.d.ts +16 -3
  363. package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
  364. package/dist/src/planner/rules/shared/access-leaf.js +21 -5
  365. package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
  366. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +1 -1
  367. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  368. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +1 -1
  369. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  370. package/dist/src/planner/stored-body-context.d.ts +57 -0
  371. package/dist/src/planner/stored-body-context.d.ts.map +1 -0
  372. package/dist/src/planner/stored-body-context.js +64 -0
  373. package/dist/src/planner/stored-body-context.js.map +1 -0
  374. package/dist/src/planner/util/ind-utils.d.ts +28 -20
  375. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  376. package/dist/src/planner/util/ind-utils.js +36 -27
  377. package/dist/src/planner/util/ind-utils.js.map +1 -1
  378. package/dist/src/planner/util/key-utils.d.ts +19 -4
  379. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  380. package/dist/src/planner/util/key-utils.js +23 -7
  381. package/dist/src/planner/util/key-utils.js.map +1 -1
  382. package/dist/src/planner/util/output-names.d.ts +12 -0
  383. package/dist/src/planner/util/output-names.d.ts.map +1 -0
  384. package/dist/src/planner/util/output-names.js +20 -0
  385. package/dist/src/planner/util/output-names.js.map +1 -0
  386. package/dist/src/planner/util/row-estimates.d.ts +11 -0
  387. package/dist/src/planner/util/row-estimates.d.ts.map +1 -1
  388. package/dist/src/planner/util/row-estimates.js +28 -0
  389. package/dist/src/planner/util/row-estimates.js.map +1 -1
  390. package/dist/src/runtime/deferred-constraint-queue.d.ts.map +1 -1
  391. package/dist/src/runtime/deferred-constraint-queue.js +3 -2
  392. package/dist/src/runtime/deferred-constraint-queue.js.map +1 -1
  393. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  394. package/dist/src/runtime/emit/add-constraint.js +22 -6
  395. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  396. package/dist/src/runtime/emit/alter-schema-event.d.ts +59 -4
  397. package/dist/src/runtime/emit/alter-schema-event.d.ts.map +1 -1
  398. package/dist/src/runtime/emit/alter-schema-event.js +63 -4
  399. package/dist/src/runtime/emit/alter-schema-event.js.map +1 -1
  400. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  401. package/dist/src/runtime/emit/alter-table.js +212 -92
  402. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  403. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  404. package/dist/src/runtime/emit/analyze.js +15 -4
  405. package/dist/src/runtime/emit/analyze.js.map +1 -1
  406. package/dist/src/runtime/emit/assertion-drop-guard.d.ts +37 -0
  407. package/dist/src/runtime/emit/assertion-drop-guard.d.ts.map +1 -0
  408. package/dist/src/runtime/emit/assertion-drop-guard.js +59 -0
  409. package/dist/src/runtime/emit/assertion-drop-guard.js.map +1 -0
  410. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts +33 -0
  411. package/dist/src/runtime/emit/assertion-rename-helpers.d.ts.map +1 -0
  412. package/dist/src/runtime/emit/assertion-rename-helpers.js +124 -0
  413. package/dist/src/runtime/emit/assertion-rename-helpers.js.map +1 -0
  414. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  415. package/dist/src/runtime/emit/constraint-check.js +10 -227
  416. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  417. package/dist/src/runtime/emit/create-assertion.d.ts.map +1 -1
  418. package/dist/src/runtime/emit/create-assertion.js +31 -14
  419. package/dist/src/runtime/emit/create-assertion.js.map +1 -1
  420. package/dist/src/runtime/emit/cte.d.ts.map +1 -1
  421. package/dist/src/runtime/emit/cte.js +11 -6
  422. package/dist/src/runtime/emit/cte.js.map +1 -1
  423. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  424. package/dist/src/runtime/emit/dml-executor.js +169 -1
  425. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  426. package/dist/src/runtime/emit/drop-assertion.js +8 -8
  427. package/dist/src/runtime/emit/drop-assertion.js.map +1 -1
  428. package/dist/src/runtime/emit/drop-column-guards.d.ts +151 -0
  429. package/dist/src/runtime/emit/drop-column-guards.d.ts.map +1 -0
  430. package/dist/src/runtime/emit/drop-column-guards.js +230 -0
  431. package/dist/src/runtime/emit/drop-column-guards.js.map +1 -0
  432. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  433. package/dist/src/runtime/emit/drop-table.js +6 -0
  434. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  435. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  436. package/dist/src/runtime/emit/drop-view.js +4 -0
  437. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  438. package/dist/src/runtime/emit/key-set-semi-join.d.ts.map +1 -1
  439. package/dist/src/runtime/emit/key-set-semi-join.js +5 -3
  440. package/dist/src/runtime/emit/key-set-semi-join.js.map +1 -1
  441. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +4 -4
  442. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  443. package/dist/src/runtime/emit/materialized-view-helpers.js +34 -22
  444. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  445. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
  446. package/dist/src/runtime/emit/materialized-view.js +7 -2
  447. package/dist/src/runtime/emit/materialized-view.js.map +1 -1
  448. package/dist/src/runtime/emit/recursive-cte.d.ts.map +1 -1
  449. package/dist/src/runtime/emit/recursive-cte.js +4 -5
  450. package/dist/src/runtime/emit/recursive-cte.js.map +1 -1
  451. package/dist/src/runtime/emit/remote-query.d.ts.map +1 -1
  452. package/dist/src/runtime/emit/remote-query.js +8 -3
  453. package/dist/src/runtime/emit/remote-query.js.map +1 -1
  454. package/dist/src/runtime/emit/scan.d.ts.map +1 -1
  455. package/dist/src/runtime/emit/scan.js +4 -1
  456. package/dist/src/runtime/emit/scan.js.map +1 -1
  457. package/dist/src/runtime/emit/schema-declarative.js +2 -2
  458. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  459. package/dist/src/runtime/emit/update.d.ts.map +1 -1
  460. package/dist/src/runtime/emit/update.js +18 -6
  461. package/dist/src/runtime/emit/update.js.map +1 -1
  462. package/dist/src/runtime/parallel-driver.d.ts +4 -3
  463. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  464. package/dist/src/runtime/parallel-driver.js +8 -3
  465. package/dist/src/runtime/parallel-driver.js.map +1 -1
  466. package/dist/src/runtime/row-constraints.d.ts +85 -0
  467. package/dist/src/runtime/row-constraints.d.ts.map +1 -0
  468. package/dist/src/runtime/row-constraints.js +239 -0
  469. package/dist/src/runtime/row-constraints.js.map +1 -0
  470. package/dist/src/runtime/types.d.ts +18 -11
  471. package/dist/src/runtime/types.d.ts.map +1 -1
  472. package/dist/src/runtime/types.js.map +1 -1
  473. package/dist/src/runtime/utils.d.ts.map +1 -1
  474. package/dist/src/runtime/utils.js +11 -0
  475. package/dist/src/runtime/utils.js.map +1 -1
  476. package/dist/src/schema/assertion.d.ts +14 -1
  477. package/dist/src/schema/assertion.d.ts.map +1 -1
  478. package/dist/src/schema/assertion.js +14 -1
  479. package/dist/src/schema/assertion.js.map +1 -1
  480. package/dist/src/schema/catalog-persistability.js +19 -3
  481. package/dist/src/schema/catalog-persistability.js.map +1 -1
  482. package/dist/src/schema/catalog.d.ts +6 -0
  483. package/dist/src/schema/catalog.d.ts.map +1 -1
  484. package/dist/src/schema/catalog.js +26 -36
  485. package/dist/src/schema/catalog.js.map +1 -1
  486. package/dist/src/schema/column-source-resolver.d.ts +18 -0
  487. package/dist/src/schema/column-source-resolver.d.ts.map +1 -0
  488. package/dist/src/schema/column-source-resolver.js +22 -0
  489. package/dist/src/schema/column-source-resolver.js.map +1 -0
  490. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  491. package/dist/src/schema/constraint-builder.js +7 -1
  492. package/dist/src/schema/constraint-builder.js.map +1 -1
  493. package/dist/src/schema/ddl-generator.js +8 -0
  494. package/dist/src/schema/ddl-generator.js.map +1 -1
  495. package/dist/src/schema/lens-compiler.d.ts.map +1 -1
  496. package/dist/src/schema/lens-compiler.js +203 -51
  497. package/dist/src/schema/lens-compiler.js.map +1 -1
  498. package/dist/src/schema/lens-prover.d.ts +2 -3
  499. package/dist/src/schema/lens-prover.d.ts.map +1 -1
  500. package/dist/src/schema/lens-prover.js +19 -11
  501. package/dist/src/schema/lens-prover.js.map +1 -1
  502. package/dist/src/schema/manager.d.ts +30 -12
  503. package/dist/src/schema/manager.d.ts.map +1 -1
  504. package/dist/src/schema/manager.js +49 -17
  505. package/dist/src/schema/manager.js.map +1 -1
  506. package/dist/src/schema/rename-rewriter.d.ts +142 -0
  507. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  508. package/dist/src/schema/rename-rewriter.js +254 -9
  509. package/dist/src/schema/rename-rewriter.js.map +1 -1
  510. package/dist/src/schema/reserved-tags.d.ts +1 -1
  511. package/dist/src/schema/reserved-tags.d.ts.map +1 -1
  512. package/dist/src/schema/reserved-tags.js +4 -3
  513. package/dist/src/schema/reserved-tags.js.map +1 -1
  514. package/dist/src/schema/schema-differ.d.ts +16 -0
  515. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  516. package/dist/src/schema/schema-differ.js +122 -11
  517. package/dist/src/schema/schema-differ.js.map +1 -1
  518. package/dist/src/schema/view.d.ts +11 -0
  519. package/dist/src/schema/view.d.ts.map +1 -1
  520. package/dist/src/schema/view.js +12 -0
  521. package/dist/src/schema/view.js.map +1 -1
  522. package/dist/src/types/builtin-types.d.ts +38 -0
  523. package/dist/src/types/builtin-types.d.ts.map +1 -1
  524. package/dist/src/types/builtin-types.js +77 -26
  525. package/dist/src/types/builtin-types.js.map +1 -1
  526. package/dist/src/types/index.d.ts +1 -1
  527. package/dist/src/types/index.d.ts.map +1 -1
  528. package/dist/src/types/index.js +1 -1
  529. package/dist/src/types/index.js.map +1 -1
  530. package/dist/src/util/abort-signal.d.ts +25 -0
  531. package/dist/src/util/abort-signal.d.ts.map +1 -0
  532. package/dist/src/util/abort-signal.js +40 -0
  533. package/dist/src/util/abort-signal.js.map +1 -0
  534. package/dist/src/util/{working-table-iterable.d.ts → array-row-iterable.d.ts} +6 -6
  535. package/dist/src/util/array-row-iterable.d.ts.map +1 -0
  536. package/dist/src/util/{working-table-iterable.js → array-row-iterable.js} +6 -6
  537. package/dist/src/util/array-row-iterable.js.map +1 -0
  538. package/dist/src/vtab/concurrency.d.ts +15 -0
  539. package/dist/src/vtab/concurrency.d.ts.map +1 -1
  540. package/dist/src/vtab/concurrency.js +17 -0
  541. package/dist/src/vtab/concurrency.js.map +1 -1
  542. package/dist/src/vtab/events.d.ts +3 -0
  543. package/dist/src/vtab/events.d.ts.map +1 -1
  544. package/dist/src/vtab/events.js.map +1 -1
  545. package/dist/src/vtab/manifest.d.ts +15 -0
  546. package/dist/src/vtab/manifest.d.ts.map +1 -1
  547. package/dist/src/vtab/memory/layer/base.d.ts +10 -0
  548. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  549. package/dist/src/vtab/memory/layer/base.js +10 -0
  550. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  551. package/dist/src/vtab/memory/layer/interface.d.ts +24 -0
  552. package/dist/src/vtab/memory/layer/interface.d.ts.map +1 -1
  553. package/dist/src/vtab/memory/layer/manager.d.ts +21 -3
  554. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  555. package/dist/src/vtab/memory/layer/manager.js +107 -157
  556. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  557. package/dist/src/vtab/memory/layer/transaction.d.ts +11 -0
  558. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  559. package/dist/src/vtab/memory/layer/transaction.js +19 -0
  560. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  561. package/dist/src/vtab/memory/module.d.ts +57 -1
  562. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  563. package/dist/src/vtab/memory/module.js +103 -2
  564. package/dist/src/vtab/memory/module.js.map +1 -1
  565. package/dist/src/vtab/memory/table.d.ts +12 -1
  566. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  567. package/dist/src/vtab/memory/table.js +12 -1
  568. package/dist/src/vtab/memory/table.js.map +1 -1
  569. package/dist/src/vtab/module.d.ts +59 -2
  570. package/dist/src/vtab/module.d.ts.map +1 -1
  571. package/dist/src/vtab/table.d.ts +8 -1
  572. package/dist/src/vtab/table.d.ts.map +1 -1
  573. package/dist/src/vtab/table.js.map +1 -1
  574. package/dist/src/vtab/test-support/commit-stall.d.ts +53 -0
  575. package/dist/src/vtab/test-support/commit-stall.d.ts.map +1 -0
  576. package/dist/src/vtab/test-support/commit-stall.js +73 -0
  577. package/dist/src/vtab/test-support/commit-stall.js.map +1 -0
  578. package/dist/src/vtab/test-support/committed-read-conformance.d.ts +96 -0
  579. package/dist/src/vtab/test-support/committed-read-conformance.d.ts.map +1 -0
  580. package/dist/src/vtab/test-support/committed-read-conformance.js +364 -0
  581. package/dist/src/vtab/test-support/committed-read-conformance.js.map +1 -0
  582. package/package.json +3 -3
  583. package/dist/src/util/working-table-iterable.d.ts.map +0 -1
  584. package/dist/src/util/working-table-iterable.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ddl-generator.js","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl-generator.js","sourceRoot":"","sources":["../../../src/schema/ddl-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lens-compiler.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAS7C,OAAO,EAAoC,KAAK,gBAAgB,EAAkD,MAAM,kBAAkB,CAAC;AAU3I;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,QAAQ,EACZ,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,gBAAgB,CA+NlB;AAqSD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,IAAI,CA+BN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,MAAM,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAyBxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,EAAE,WAAW,EACzB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACrB,GAAG,CAAC,UAAU,CAuChB"}
1
+ {"version":3,"file":"lens-compiler.d.ts","sourceRoot":"","sources":["../../../src/schema/lens-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtE,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAS7C,OAAO,EAAoC,KAAK,gBAAgB,EAAkD,MAAM,kBAAkB,CAAC;AAW3I;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,QAAQ,EACZ,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,gBAAgB,CA+NlB;AAySD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACzC,cAAc,EAAE,GAAG,CAAC,iBAAiB,EACrC,iBAAiB,EAAE,MAAM,GACvB,IAAI,CA+BN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,MAAM,GACvB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAyBxC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,EAAE,WAAW,EACzB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACrB,GAAG,CAAC,UAAU,CAuChB"}
@@ -10,6 +10,7 @@ import { proveLens, collectColumnRefNames } from './lens-prover.js';
10
10
  import { applyAckGovernance, resolveEscalationPolicy } from './lens-ack.js';
11
11
  import { createLogger } from '../common/logger.js';
12
12
  import { addInd, MAX_INDS_PER_NODE } from '../planner/util/fd-utils.js';
13
+ import { spineCloneAst } from '../util/ast-spine-clone.js';
13
14
  const log = createLogger('schema:lens-compiler');
14
15
  /**
15
16
  * Lens compiler — the `apply schema X` step for a **logical** schema.
@@ -311,7 +312,11 @@ function requiredBasisColumnsOf(table) {
311
312
  * its member, mapped to that logical column.
312
313
  */
313
314
  function deriveRelationBacking(body, provenance, basis, schemaManager) {
314
- const { sources } = collectOverrideSources(body.from, basis.schemaName, schemaManager);
315
+ // The compiled body is fully qualified (see `qualifyBasisSources`), so a bare
316
+ // name surviving in it is a CTE reference or unresolvable — never a basis
317
+ // table. Carry the shadow set so neither pass claims a CTE as basis backing.
318
+ const cteNames = collectCteNames(body);
319
+ const { sources } = collectOverrideSources(body.from, basis.schemaName, schemaManager, cteNames);
315
320
  const byRef = new Map();
316
321
  for (const s of sources)
317
322
  byRef.set(s.refName.toLowerCase(), s);
@@ -351,7 +356,7 @@ function deriveRelationBacking(body, provenance, basis, schemaManager) {
351
356
  add(src, colExpr.name, provenance[i].logicalColumn);
352
357
  }
353
358
  // 2. Shared join keys — thread each equated key column to a projected logical column.
354
- for (const cls of collectJoinKeyEquivalences(body.from, basis.schemaName, schemaManager)) {
359
+ for (const cls of collectJoinKeyEquivalences(body.from, basis.schemaName, schemaManager, cteNames)) {
355
360
  let logical;
356
361
  for (const m of cls) {
357
362
  const proj = projected.find(p => sourceRelKey(p.src) === sourceRelKey(m.src)
@@ -374,7 +379,7 @@ function deriveRelationBacking(body, provenance, basis, schemaManager) {
374
379
  * subtree sources; each `on a.x = b.y` conjunct contributes that pair. Overlapping
375
380
  * classes are harmless — threading dedups per relation.
376
381
  */
377
- function collectJoinKeyEquivalences(from, basisSchemaName, schemaManager) {
382
+ function collectJoinKeyEquivalences(from, basisSchemaName, schemaManager, cteNames) {
378
383
  const classes = [];
379
384
  if (!from)
380
385
  return classes;
@@ -382,8 +387,7 @@ function collectJoinKeyEquivalences(from, basisSchemaName, schemaManager) {
382
387
  const out = [];
383
388
  const walk = (n) => {
384
389
  if (n.type === 'table') {
385
- const schemaName = n.table.schema ?? basisSchemaName;
386
- const tbl = schemaManager.getSchema(schemaName)?.getTable(n.table.name);
390
+ const tbl = resolveBasisTableSource(n, basisSchemaName, schemaManager, cteNames);
387
391
  if (tbl)
388
392
  out.push({ table: tbl, refName: n.alias ?? tbl.name });
389
393
  }
@@ -1025,14 +1029,19 @@ function indexOverrides(lensDecl, declaredSchema, logicalSchemaName) {
1025
1029
  function compileOverrideBody(logicalTable, logicalSchemaName, basisSchemaName, schemaManager, override, advertisement) {
1026
1030
  const select = override.select;
1027
1031
  const logicalName = logicalTable.name;
1032
+ // Names a CTE declares anywhere in the body shadow same-named basis relations:
1033
+ // they are neither collectable as basis sources (their columns are the CTE's,
1034
+ // not the basis table's, so `*` expansion and gap-fill must not use them) nor
1035
+ // qualifiable with the basis schema.
1036
+ const cteNames = collectCteNames(select);
1028
1037
  // Every FROM source the override names must live in the declared basis — an
1029
1038
  // override referencing a *different* existing schema (e.g. `Z.Foo` while the
1030
1039
  // lens is `over Y`) would silently re-anchor the body to Z (docs/lens.md § D4).
1031
- validateOverrideBasisSources(select, basisSchemaName, logicalSchemaName, logicalName);
1040
+ validateOverrideBasisSources(select, basisSchemaName, schemaManager, cteNames, logicalSchemaName, logicalName);
1032
1041
  // Resolve FROM-source basis tables once — used for both `*` expansion and
1033
- // gap-fill. Opaque sources (subquery / function / unresolvable table) are
1034
- // tracked so a gap that actually needs them errors precisely.
1035
- const { sources, hasOpaqueSource } = collectOverrideSources(select.from, basisSchemaName, schemaManager);
1042
+ // gap-fill. Opaque sources (subquery / function / CTE / basis view — anything
1043
+ // exposing no column list) are tracked so a gap that needs one errors precisely.
1044
+ const { sources, hasOpaqueSource } = collectOverrideSources(select.from, basisSchemaName, schemaManager, cteNames);
1036
1045
  const qualify = sources.length > 1;
1037
1046
  // Advertisement-driven gap-fill needs to map an advertised member relationId to
1038
1047
  // its reference name (alias / table name) in the override's FROM. A member the
@@ -1132,19 +1141,146 @@ function compileOverrideBody(logicalTable, logicalSchemaName, basisSchemaName, s
1132
1141
  }
1133
1142
  // Preserve every non-projection clause of the override (where/group/having/
1134
1143
  // order/limit/distinct/with — the filter shape, etc.); replace only the
1135
- // projection with the composed logical-column list.
1136
- const body = { ...select, columns: composed };
1144
+ // projection with the composed logical-column list, then pin each bare basis
1145
+ // source to the basis schema so the stored body resolves the same way for
1146
+ // every consumer (read / prover / explain), not just for this compiler.
1147
+ const body = qualifyBasisSources({ ...select, columns: composed }, basisSchemaName, schemaManager, cteNames);
1137
1148
  return { body, provenance, effectiveColumns };
1138
1149
  }
1150
+ /**
1151
+ * Reflectively visits every plain-object node reachable from `root`, in no
1152
+ * particular order. Descent is *not* gated on a `type` discriminant: some
1153
+ * containers that hold nested SELECTs are plain wrappers without one — notably
1154
+ * `compound` (`{ op, select }`) and `orderBy` clauses — so a type-gated walk
1155
+ * would skip everything nested under them. Arrays are transparent (their
1156
+ * elements are visited, the array itself is not).
1157
+ *
1158
+ * Anything with a non-plain prototype (`Uint8Array`, a Promise
1159
+ * {@link AST.LiteralExpr} value, any class instance) is a leaf and is neither
1160
+ * visited nor descended into — the same boundary {@link spineCloneAst} draws.
1161
+ */
1162
+ function forEachAstNode(root, visit) {
1163
+ const stack = [root];
1164
+ while (stack.length > 0) {
1165
+ const node = stack.pop();
1166
+ if (!node || typeof node !== 'object')
1167
+ continue;
1168
+ if (!Array.isArray(node)) {
1169
+ const proto = Object.getPrototypeOf(node);
1170
+ if (proto !== Object.prototype && proto !== null)
1171
+ continue;
1172
+ visit(node);
1173
+ }
1174
+ for (const value of Object.values(node)) {
1175
+ if (value && typeof value === 'object')
1176
+ stack.push(value);
1177
+ }
1178
+ }
1179
+ }
1180
+ /**
1181
+ * Every CTE name declared anywhere in an override body, lowercased — the set of
1182
+ * bare FROM names that must NOT be read as basis tables (a CTE shadows a
1183
+ * same-named basis relation, per SQL scoping).
1184
+ *
1185
+ * NOTE: this is one flat set over the whole body, not per-scope frames as
1186
+ * `schema/rename-rewriter.ts` maintains. A name declared as a CTE in *any*
1187
+ * nested scope therefore disables basis-qualification and basis-source
1188
+ * collection for that name in *all* scopes, including scopes where it really is
1189
+ * the basis table. That direction is safe — such a reference keeps today's
1190
+ * behavior (unqualified, hence unresolved at read time, hence a loud error)
1191
+ * rather than risking a silently wrong bind. If a real body ever needs the same
1192
+ * name to mean a CTE in one scope and the basis table in another, replace this
1193
+ * with the per-scope frames `rename-rewriter.ts` already models.
1194
+ */
1195
+ function collectCteNames(select) {
1196
+ const names = new Set();
1197
+ forEachAstNode(select, node => {
1198
+ if (node.type === 'commonTableExpr')
1199
+ names.add(node.name.toLowerCase());
1200
+ });
1201
+ return names;
1202
+ }
1203
+ /**
1204
+ * Rewrites every bare FROM `table` reference that resolves in the declared basis
1205
+ * so it carries the basis schema qualifier explicitly.
1206
+ *
1207
+ * The compiler resolves an unqualified override source against the basis
1208
+ * (docs/lens.md § Body-shape restrictions), but the *stored* body used to keep
1209
+ * the authored FROM verbatim — so nothing recorded which schema the bare name
1210
+ * meant, and each downstream consumer re-resolved it its own way: the read path
1211
+ * plans the body under the **logical** schema's home path, while the prover and
1212
+ * `explain` round-trip it through SQL text with no path context at all. None of
1213
+ * those knows the basis, so an unqualified source either failed to resolve or
1214
+ * (with a same-named `main` table in the way) silently bound the wrong relation.
1215
+ * Qualifying here makes the stored body self-describing, so every consumer
1216
+ * agrees by construction — and matches `compileDefaultBody` /
1217
+ * `compileDecompositionBody`, which already emit fully-qualified references.
1218
+ *
1219
+ * A bare name is left exactly as authored when a CTE shadows it (see
1220
+ * {@link collectCteNames}); one the basis does not have never reaches this pass,
1221
+ * having already been rejected by {@link validateOverrideBasisSources}.
1222
+ *
1223
+ * The input AST is never mutated: `select` here is the authored
1224
+ * `override.select`, which is also stored as the slot's override *and* lives in
1225
+ * the declared-lens AST held by the catalog, so an in-place edit would rewrite
1226
+ * the user's own declaration (and perturb DDL round-trip / declarative
1227
+ * equivalence). A rewrite therefore works on a spine clone; when there is
1228
+ * nothing to rewrite the input is returned untouched.
1229
+ */
1230
+ function qualifyBasisSources(select, basisSchemaName, schemaManager, cteNames) {
1231
+ const basis = schemaManager.getSchema(basisSchemaName);
1232
+ if (!basis)
1233
+ return select;
1234
+ const needsQualifier = (node) => {
1235
+ if (node.type !== 'table')
1236
+ return false;
1237
+ const src = node;
1238
+ if (src.table.schema !== undefined)
1239
+ return false;
1240
+ if (cteNames.has(src.table.name.toLowerCase()))
1241
+ return false;
1242
+ return basisHasRelation(basis, src.table.name);
1243
+ };
1244
+ let found = false;
1245
+ forEachAstNode(select, node => { if (needsQualifier(node))
1246
+ found = true; });
1247
+ // NOTE: this early return leaves the compiled body sharing FROM/where subtrees
1248
+ // with the authored declaration AST (as it always did), while the rewrite path
1249
+ // below hands back a fully detached clone — so body↔declaration aliasing is
1250
+ // asymmetric. Harmless while nothing mutates a compiled body in place; if an
1251
+ // in-place AST rewriter (`schema/rename-rewriter.ts`) is ever pointed at one,
1252
+ // clone unconditionally here instead of chasing the difference.
1253
+ if (!found)
1254
+ return select;
1255
+ const clone = spineCloneAst(select);
1256
+ forEachAstNode(clone, node => {
1257
+ if (needsQualifier(node))
1258
+ node.table.schema = basisSchemaName;
1259
+ });
1260
+ return clone;
1261
+ }
1262
+ /**
1263
+ * Resolves one FROM `table` node to its basis table, or undefined when it is not
1264
+ * an introspectable basis relation. A bare name a CTE declares is *not* a basis
1265
+ * table — resolving it as one would attribute the CTE's rows (and columns) to a
1266
+ * basis relation the body never reads. Narrower than {@link basisHasRelation}: a
1267
+ * basis *view* is a legal source but exposes no column list, so it resolves to
1268
+ * undefined here and the caller treats it as opaque.
1269
+ */
1270
+ function resolveBasisTableSource(node, basisSchemaName, schemaManager, cteNames) {
1271
+ if (node.table.schema === undefined && cteNames.has(node.table.name.toLowerCase()))
1272
+ return undefined;
1273
+ const schemaName = node.table.schema ?? basisSchemaName;
1274
+ return schemaManager.getSchema(schemaName)?.getTable(node.table.name);
1275
+ }
1139
1276
  /** Walks an override's FROM tree, collecting introspectable basis-table sources. */
1140
- function collectOverrideSources(from, basisSchemaName, schemaManager) {
1277
+ function collectOverrideSources(from, basisSchemaName, schemaManager, cteNames) {
1141
1278
  const sources = [];
1142
1279
  let hasOpaqueSource = false;
1143
1280
  const walk = (node) => {
1144
1281
  switch (node.type) {
1145
1282
  case 'table': {
1146
- const schemaName = node.table.schema ?? basisSchemaName;
1147
- const tbl = schemaManager.getSchema(schemaName)?.getTable(node.table.name);
1283
+ const tbl = resolveBasisTableSource(node, basisSchemaName, schemaManager, cteNames);
1148
1284
  if (!tbl) {
1149
1285
  hasOpaqueSource = true;
1150
1286
  return;
@@ -1170,49 +1306,65 @@ function collectOverrideSources(from, basisSchemaName, schemaManager) {
1170
1306
  }
1171
1307
  /**
1172
1308
  * Validates that every `table` source reachable from an override's body resolves
1173
- * to the declared basis schema. A table qualified with a *different* existing
1174
- * schema would otherwise bind there silently (re-anchoring the lens off its
1175
- * `over Y` basis); reject it at deploy time. Unqualified tables default to the
1176
- * basis and are fine; tables qualified with the basis name are fine.
1309
+ * to the declared basis schema — in both directions an override could escape it:
1177
1310
  *
1178
- * The walk is reflective over the entire override `select` AST, so it descends
1179
- * into subquery-source FROM trees, function-source argument subqueries, `with`
1180
- * CTE bodies, compound (`union`/`intersect`/…) legs, and scalar/`where`/`in`/
1181
- * `exists` subqueries — a cross-basis `z.Foo` in any of those nested positions is
1182
- * flagged too, not only top-level `table`/`join` sources. Descent is *not* gated
1183
- * on a `type` discriminant: some containers that hold nested SELECTs are plain
1184
- * wrappers without one — notably `compound` (`{ op, select }`) and `orderBy`
1185
- * clauses — so a type-gated walk would skip the tables nested under them.
1311
+ * 1. **Qualified with another schema** (`Z.Foo` while the lens is `over Y`) would
1312
+ * bind there silently, re-anchoring the lens off its basis.
1313
+ * 2. **Bare and absent from the basis.** A bare name is the basis or a CTE and
1314
+ * nothing else (docs/lens.md § Body-shape restrictions). One that is neither
1315
+ * has no basis qualifier to pin ({@link qualifyBasisSources} leaves it alone),
1316
+ * so it falls through to the *default* schema path at read time — binding a
1317
+ * same-named `main` relation, which is the same silent re-anchor as (1) minus
1318
+ * the qualifier that would have made it visible. Rejecting it here reports the
1319
+ * escape at deploy, naming the relation, instead of at read (or not at all).
1186
1320
  *
1187
- * No CTE-name / alias scope tracking is needed. The check fires only on a `table`
1188
- * node carrying an explicit, non-basis *schema qualifier*; CTE references and
1189
- * FROM aliases are always bare (SQL has no `schema.cte` form) and the compiler
1190
- * resolves a bare FROM table to the basis (see `collectOverrideSources`), so a
1191
- * bare name is always either the basis or a CTE — never a cross-basis relation.
1192
- * Only a schema-qualified table can be cross-basis, and that can never name a
1193
- * CTE/alias, so the walk needs no in-scope-name set to avoid false positives.
1321
+ * A basis *view* counts as a basis relation for this check and for qualification,
1322
+ * though not as an introspectable source: `*` expansion and gap-fill still treat
1323
+ * it as opaque (see {@link resolveBasisTableSource}).
1324
+ *
1325
+ * The walk ({@link forEachAstNode}) is reflective over the entire override
1326
+ * `select` AST, so it descends into subquery-source FROM trees, function-source
1327
+ * argument subqueries, `with` CTE bodies, compound (`union`/`intersect`/…) legs,
1328
+ * and scalar/`where`/`in`/`exists` subqueries — an escaping source in any of
1329
+ * those nested positions is flagged too, not only top-level `table`/`join`
1330
+ * sources. Function (TVF) sources are not `table` nodes and resolve through the
1331
+ * function registry rather than the schema path, so they are out of scope here.
1332
+ *
1333
+ * Runs on the **authored** select, before {@link qualifyBasisSources} rewrites
1334
+ * bare basis names — the qualifier that pass adds is the basis one, so ordering
1335
+ * does not change the verdict either way.
1194
1336
  */
1195
- function validateOverrideBasisSources(select, basisSchemaName, logicalSchemaName, logicalName) {
1337
+ function validateOverrideBasisSources(select, basisSchemaName, schemaManager, cteNames, logicalSchemaName, logicalName) {
1196
1338
  const lowerBasis = basisSchemaName.toLowerCase();
1197
- const stack = [select];
1198
- while (stack.length > 0) {
1199
- const node = stack.pop();
1200
- if (!node || typeof node !== 'object')
1201
- continue;
1202
- if (node.type === 'table') {
1203
- const source = node;
1204
- const schema = source.table.schema;
1205
- if (schema && schema.toLowerCase() !== lowerBasis) {
1206
- throw new QuereusError(`lens: override for logical table '${logicalSchemaName}.${logicalName}' references basis relation '${schema}.${source.table.name}' outside the declared basis '${basisSchemaName}' (the lens is declared 'over ${basisSchemaName}'); an override's FROM may only reference the declared basis`, StatusCode.ERROR);
1339
+ const basis = schemaManager.getSchema(basisSchemaName);
1340
+ const fail = (message) => {
1341
+ throw new QuereusError(`lens: override for logical table '${logicalSchemaName}.${logicalName}' ${message} (the lens is declared 'over ${basisSchemaName}'); an override's FROM may only reference the declared basis`, StatusCode.ERROR);
1342
+ };
1343
+ forEachAstNode(select, node => {
1344
+ if (node.type !== 'table')
1345
+ return;
1346
+ const { table } = node;
1347
+ if (table.schema !== undefined) {
1348
+ if (table.schema.toLowerCase() !== lowerBasis) {
1349
+ fail(`references basis relation '${table.schema}.${table.name}' outside the declared basis '${basisSchemaName}'`);
1207
1350
  }
1351
+ return;
1208
1352
  }
1209
- // Reflective descent: push every nested object/array element. Arrays are
1210
- // transparent here — Object.values yields their elements.
1211
- for (const value of Object.values(node)) {
1212
- if (value && typeof value === 'object')
1213
- stack.push(value);
1353
+ if (cteNames.has(table.name.toLowerCase()))
1354
+ return;
1355
+ if (basis && !basisHasRelation(basis, table.name)) {
1356
+ fail(`references relation '${table.name}', which the declared basis '${basisSchemaName}' does not have — an unqualified FROM source names a basis table or view, or a CTE of the same body`);
1214
1357
  }
1215
- }
1358
+ });
1359
+ }
1360
+ /**
1361
+ * Whether the basis schema holds a relation of this name. Broader than
1362
+ * {@link resolveBasisTableSource}: a *view* is a legitimate basis source to
1363
+ * reference (and to qualify) even though it exposes no {@link TableSchema} for
1364
+ * `*` expansion / gap-fill to read columns from.
1365
+ */
1366
+ function basisHasRelation(basis, name) {
1367
+ return basis.getTable(name) !== undefined || basis.getView(name) !== undefined;
1216
1368
  }
1217
1369
  /** Output name a result column contributes: its alias, or the bare column name. */
1218
1370
  function deriveColumnOutputName(col) {
@@ -1583,7 +1735,7 @@ function validateOverrideAdvertisementConflict(ad, override, basisSchemaName, sc
1583
1735
  if (!storage)
1584
1736
  return;
1585
1737
  const memberRelations = new Set(storage.members.map(m => `${(m.relation.schema || basisSchemaName).toLowerCase()}.${m.relation.table.toLowerCase()}`));
1586
- const { sources } = collectOverrideSources(override.select.from, basisSchemaName, schemaManager);
1738
+ const { sources } = collectOverrideSources(override.select.from, basisSchemaName, schemaManager, collectCteNames(override.select));
1587
1739
  for (const src of sources) {
1588
1740
  const key = `${src.table.schemaName.toLowerCase()}.${src.table.name.toLowerCase()}`;
1589
1741
  if (!memberRelations.has(key)) {