@quereus/quereus 3.2.1 → 4.0.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 (935) hide show
  1. package/README.md +7 -0
  2. package/dist/src/common/datatype.d.ts +12 -0
  3. package/dist/src/common/datatype.d.ts.map +1 -1
  4. package/dist/src/common/datatype.js.map +1 -1
  5. package/dist/src/common/types.d.ts +24 -0
  6. package/dist/src/common/types.d.ts.map +1 -1
  7. package/dist/src/common/types.js.map +1 -1
  8. package/dist/src/core/database-assertions.d.ts +37 -9
  9. package/dist/src/core/database-assertions.d.ts.map +1 -1
  10. package/dist/src/core/database-assertions.js +62 -106
  11. package/dist/src/core/database-assertions.js.map +1 -1
  12. package/dist/src/core/database-events.d.ts +163 -0
  13. package/dist/src/core/database-events.d.ts.map +1 -1
  14. package/dist/src/core/database-events.js +235 -21
  15. package/dist/src/core/database-events.js.map +1 -1
  16. package/dist/src/core/database-external-changes.d.ts +28 -0
  17. package/dist/src/core/database-external-changes.d.ts.map +1 -0
  18. package/dist/src/core/database-external-changes.js +242 -0
  19. package/dist/src/core/database-external-changes.js.map +1 -0
  20. package/dist/src/core/database-internal.d.ts +50 -1
  21. package/dist/src/core/database-internal.d.ts.map +1 -1
  22. package/dist/src/core/database-materialized-views.d.ts +1253 -0
  23. package/dist/src/core/database-materialized-views.d.ts.map +1 -0
  24. package/dist/src/core/database-materialized-views.js +3064 -0
  25. package/dist/src/core/database-materialized-views.js.map +1 -0
  26. package/dist/src/core/database-options.d.ts +4 -0
  27. package/dist/src/core/database-options.d.ts.map +1 -1
  28. package/dist/src/core/database-options.js +10 -0
  29. package/dist/src/core/database-options.js.map +1 -1
  30. package/dist/src/core/database-transaction.d.ts +19 -3
  31. package/dist/src/core/database-transaction.d.ts.map +1 -1
  32. package/dist/src/core/database-transaction.js +30 -3
  33. package/dist/src/core/database-transaction.js.map +1 -1
  34. package/dist/src/core/database-watchers.d.ts +19 -0
  35. package/dist/src/core/database-watchers.d.ts.map +1 -1
  36. package/dist/src/core/database-watchers.js +63 -3
  37. package/dist/src/core/database-watchers.js.map +1 -1
  38. package/dist/src/core/database.d.ts +203 -11
  39. package/dist/src/core/database.d.ts.map +1 -1
  40. package/dist/src/core/database.js +493 -29
  41. package/dist/src/core/database.js.map +1 -1
  42. package/dist/src/core/derived-row-validator.d.ts +137 -0
  43. package/dist/src/core/derived-row-validator.d.ts.map +1 -0
  44. package/dist/src/core/derived-row-validator.js +314 -0
  45. package/dist/src/core/derived-row-validator.js.map +1 -0
  46. package/dist/src/core/statement.d.ts.map +1 -1
  47. package/dist/src/core/statement.js +30 -9
  48. package/dist/src/core/statement.js.map +1 -1
  49. package/dist/src/emit/ast-stringify.d.ts +135 -1
  50. package/dist/src/emit/ast-stringify.d.ts.map +1 -1
  51. package/dist/src/emit/ast-stringify.js +795 -120
  52. package/dist/src/emit/ast-stringify.js.map +1 -1
  53. package/dist/src/func/builtins/aggregate.d.ts.map +1 -1
  54. package/dist/src/func/builtins/aggregate.js +11 -10
  55. package/dist/src/func/builtins/aggregate.js.map +1 -1
  56. package/dist/src/func/builtins/builtin-window-functions.d.ts.map +1 -1
  57. package/dist/src/func/builtins/builtin-window-functions.js +32 -0
  58. package/dist/src/func/builtins/builtin-window-functions.js.map +1 -1
  59. package/dist/src/func/builtins/explain.d.ts +3 -0
  60. package/dist/src/func/builtins/explain.d.ts.map +1 -1
  61. package/dist/src/func/builtins/explain.js +229 -0
  62. package/dist/src/func/builtins/explain.js.map +1 -1
  63. package/dist/src/func/builtins/index.d.ts.map +1 -1
  64. package/dist/src/func/builtins/index.js +10 -2
  65. package/dist/src/func/builtins/index.js.map +1 -1
  66. package/dist/src/func/builtins/json.d.ts.map +1 -1
  67. package/dist/src/func/builtins/json.js +3 -2
  68. package/dist/src/func/builtins/json.js.map +1 -1
  69. package/dist/src/func/builtins/mutation.d.ts +2 -0
  70. package/dist/src/func/builtins/mutation.d.ts.map +1 -0
  71. package/dist/src/func/builtins/mutation.js +53 -0
  72. package/dist/src/func/builtins/mutation.js.map +1 -0
  73. package/dist/src/func/builtins/schema.d.ts +2 -0
  74. package/dist/src/func/builtins/schema.d.ts.map +1 -1
  75. package/dist/src/func/builtins/schema.js +713 -26
  76. package/dist/src/func/builtins/schema.js.map +1 -1
  77. package/dist/src/func/builtins/string.js +1 -1
  78. package/dist/src/func/builtins/string.js.map +1 -1
  79. package/dist/src/func/registration.d.ts +9 -0
  80. package/dist/src/func/registration.d.ts.map +1 -1
  81. package/dist/src/func/registration.js +4 -0
  82. package/dist/src/func/registration.js.map +1 -1
  83. package/dist/src/index.d.ts +25 -6
  84. package/dist/src/index.d.ts.map +1 -1
  85. package/dist/src/index.js +27 -3
  86. package/dist/src/index.js.map +1 -1
  87. package/dist/src/parser/ast.d.ts +353 -21
  88. package/dist/src/parser/ast.d.ts.map +1 -1
  89. package/dist/src/parser/index.d.ts +14 -1
  90. package/dist/src/parser/index.d.ts.map +1 -1
  91. package/dist/src/parser/index.js +19 -0
  92. package/dist/src/parser/index.js.map +1 -1
  93. package/dist/src/parser/lexer.d.ts +9 -0
  94. package/dist/src/parser/lexer.d.ts.map +1 -1
  95. package/dist/src/parser/lexer.js +9 -0
  96. package/dist/src/parser/lexer.js.map +1 -1
  97. package/dist/src/parser/parser.d.ts +277 -8
  98. package/dist/src/parser/parser.d.ts.map +1 -1
  99. package/dist/src/parser/parser.js +1393 -471
  100. package/dist/src/parser/parser.js.map +1 -1
  101. package/dist/src/parser/visitor.d.ts.map +1 -1
  102. package/dist/src/parser/visitor.js +12 -8
  103. package/dist/src/parser/visitor.js.map +1 -1
  104. package/dist/src/planner/analysis/assertion-classifier.d.ts.map +1 -1
  105. package/dist/src/planner/analysis/assertion-classifier.js +4 -0
  106. package/dist/src/planner/analysis/assertion-classifier.js.map +1 -1
  107. package/dist/src/planner/analysis/assertion-hoist-cache.d.ts.map +1 -1
  108. package/dist/src/planner/analysis/assertion-hoist-cache.js +8 -4
  109. package/dist/src/planner/analysis/assertion-hoist-cache.js.map +1 -1
  110. package/dist/src/planner/analysis/authored-inverse.d.ts +22 -0
  111. package/dist/src/planner/analysis/authored-inverse.d.ts.map +1 -0
  112. package/dist/src/planner/analysis/authored-inverse.js +267 -0
  113. package/dist/src/planner/analysis/authored-inverse.js.map +1 -0
  114. package/dist/src/planner/analysis/binding-extractor.d.ts.map +1 -1
  115. package/dist/src/planner/analysis/binding-extractor.js +9 -6
  116. package/dist/src/planner/analysis/binding-extractor.js.map +1 -1
  117. package/dist/src/planner/analysis/change-scope.d.ts +34 -4
  118. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  119. package/dist/src/planner/analysis/change-scope.js +115 -7
  120. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  121. package/dist/src/planner/analysis/check-extraction.d.ts +36 -2
  122. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
  123. package/dist/src/planner/analysis/check-extraction.js +174 -46
  124. package/dist/src/planner/analysis/check-extraction.js.map +1 -1
  125. package/dist/src/planner/analysis/coarsened-key.d.ts +109 -0
  126. package/dist/src/planner/analysis/coarsened-key.d.ts.map +1 -0
  127. package/dist/src/planner/analysis/coarsened-key.js +228 -0
  128. package/dist/src/planner/analysis/coarsened-key.js.map +1 -0
  129. package/dist/src/planner/analysis/comparison-collation.d.ts +216 -0
  130. package/dist/src/planner/analysis/comparison-collation.d.ts.map +1 -0
  131. package/dist/src/planner/analysis/comparison-collation.js +341 -0
  132. package/dist/src/planner/analysis/comparison-collation.js.map +1 -0
  133. package/dist/src/planner/analysis/constraint-extractor.d.ts +13 -1
  134. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  135. package/dist/src/planner/analysis/constraint-extractor.js +220 -21
  136. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  137. package/dist/src/planner/analysis/coverage-prover.d.ts +321 -0
  138. package/dist/src/planner/analysis/coverage-prover.d.ts.map +1 -0
  139. package/dist/src/planner/analysis/coverage-prover.js +1038 -0
  140. package/dist/src/planner/analysis/coverage-prover.js.map +1 -0
  141. package/dist/src/planner/analysis/key-filter.d.ts +22 -0
  142. package/dist/src/planner/analysis/key-filter.d.ts.map +1 -0
  143. package/dist/src/planner/analysis/key-filter.js +105 -0
  144. package/dist/src/planner/analysis/key-filter.js.map +1 -0
  145. package/dist/src/planner/analysis/partial-unique-extraction.d.ts +36 -1
  146. package/dist/src/planner/analysis/partial-unique-extraction.d.ts.map +1 -1
  147. package/dist/src/planner/analysis/partial-unique-extraction.js +148 -22
  148. package/dist/src/planner/analysis/partial-unique-extraction.js.map +1 -1
  149. package/dist/src/planner/analysis/predicate-normalizer.d.ts.map +1 -1
  150. package/dist/src/planner/analysis/predicate-normalizer.js +30 -1
  151. package/dist/src/planner/analysis/predicate-normalizer.js.map +1 -1
  152. package/dist/src/planner/analysis/predicate-shape.d.ts +36 -1
  153. package/dist/src/planner/analysis/predicate-shape.d.ts.map +1 -1
  154. package/dist/src/planner/analysis/predicate-shape.js +51 -13
  155. package/dist/src/planner/analysis/predicate-shape.js.map +1 -1
  156. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +314 -0
  157. package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -0
  158. package/dist/src/planner/analysis/query-rewrite-matcher.js +1081 -0
  159. package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -0
  160. package/dist/src/planner/analysis/scalar-invertibility.d.ts +92 -0
  161. package/dist/src/planner/analysis/scalar-invertibility.d.ts.map +1 -0
  162. package/dist/src/planner/analysis/scalar-invertibility.js +129 -0
  163. package/dist/src/planner/analysis/scalar-invertibility.js.map +1 -0
  164. package/dist/src/planner/analysis/update-lineage.d.ts +196 -0
  165. package/dist/src/planner/analysis/update-lineage.d.ts.map +1 -0
  166. package/dist/src/planner/analysis/update-lineage.js +322 -0
  167. package/dist/src/planner/analysis/update-lineage.js.map +1 -0
  168. package/dist/src/planner/analysis/view-complement.d.ts +42 -0
  169. package/dist/src/planner/analysis/view-complement.d.ts.map +1 -0
  170. package/dist/src/planner/analysis/view-complement.js +54 -0
  171. package/dist/src/planner/analysis/view-complement.js.map +1 -0
  172. package/dist/src/planner/building/alter-table.d.ts +1 -1
  173. package/dist/src/planner/building/alter-table.d.ts.map +1 -1
  174. package/dist/src/planner/building/alter-table.js +211 -2
  175. package/dist/src/planner/building/alter-table.js.map +1 -1
  176. package/dist/src/planner/building/block.d.ts.map +1 -1
  177. package/dist/src/planner/building/block.js +18 -1
  178. package/dist/src/planner/building/block.js.map +1 -1
  179. package/dist/src/planner/building/constraint-builder.d.ts +33 -5
  180. package/dist/src/planner/building/constraint-builder.d.ts.map +1 -1
  181. package/dist/src/planner/building/constraint-builder.js +63 -28
  182. package/dist/src/planner/building/constraint-builder.js.map +1 -1
  183. package/dist/src/planner/building/create-view.d.ts +9 -0
  184. package/dist/src/planner/building/create-view.d.ts.map +1 -1
  185. package/dist/src/planner/building/create-view.js +41 -12
  186. package/dist/src/planner/building/create-view.js.map +1 -1
  187. package/dist/src/planner/building/ddl.d.ts.map +1 -1
  188. package/dist/src/planner/building/ddl.js +94 -0
  189. package/dist/src/planner/building/ddl.js.map +1 -1
  190. package/dist/src/planner/building/declare-schema.d.ts +1 -0
  191. package/dist/src/planner/building/declare-schema.d.ts.map +1 -1
  192. package/dist/src/planner/building/declare-schema.js +4 -1
  193. package/dist/src/planner/building/declare-schema.js.map +1 -1
  194. package/dist/src/planner/building/default-scope.d.ts +26 -0
  195. package/dist/src/planner/building/default-scope.d.ts.map +1 -0
  196. package/dist/src/planner/building/default-scope.js +41 -0
  197. package/dist/src/planner/building/default-scope.js.map +1 -0
  198. package/dist/src/planner/building/delete.d.ts +19 -1
  199. package/dist/src/planner/building/delete.d.ts.map +1 -1
  200. package/dist/src/planner/building/delete.js +116 -34
  201. package/dist/src/planner/building/delete.js.map +1 -1
  202. package/dist/src/planner/building/dml-target.d.ts +118 -0
  203. package/dist/src/planner/building/dml-target.d.ts.map +1 -0
  204. package/dist/src/planner/building/dml-target.js +282 -0
  205. package/dist/src/planner/building/dml-target.js.map +1 -0
  206. package/dist/src/planner/building/drop-index.d.ts.map +1 -1
  207. package/dist/src/planner/building/drop-index.js +4 -1
  208. package/dist/src/planner/building/drop-index.js.map +1 -1
  209. package/dist/src/planner/building/drop-view.d.ts.map +1 -1
  210. package/dist/src/planner/building/drop-view.js +4 -2
  211. package/dist/src/planner/building/drop-view.js.map +1 -1
  212. package/dist/src/planner/building/expression.d.ts.map +1 -1
  213. package/dist/src/planner/building/expression.js +60 -21
  214. package/dist/src/planner/building/expression.js.map +1 -1
  215. package/dist/src/planner/building/foreign-key-builder.d.ts +30 -0
  216. package/dist/src/planner/building/foreign-key-builder.d.ts.map +1 -1
  217. package/dist/src/planner/building/foreign-key-builder.js +160 -129
  218. package/dist/src/planner/building/foreign-key-builder.js.map +1 -1
  219. package/dist/src/planner/building/insert.d.ts +45 -2
  220. package/dist/src/planner/building/insert.d.ts.map +1 -1
  221. package/dist/src/planner/building/insert.js +257 -88
  222. package/dist/src/planner/building/insert.js.map +1 -1
  223. package/dist/src/planner/building/lens-auxiliary-access.d.ts +22 -0
  224. package/dist/src/planner/building/lens-auxiliary-access.d.ts.map +1 -0
  225. package/dist/src/planner/building/lens-auxiliary-access.js +132 -0
  226. package/dist/src/planner/building/lens-auxiliary-access.js.map +1 -0
  227. package/dist/src/planner/building/materialized-view.d.ts +16 -0
  228. package/dist/src/planner/building/materialized-view.d.ts.map +1 -0
  229. package/dist/src/planner/building/materialized-view.js +57 -0
  230. package/dist/src/planner/building/materialized-view.js.map +1 -0
  231. package/dist/src/planner/building/returning-star.d.ts +32 -0
  232. package/dist/src/planner/building/returning-star.d.ts.map +1 -0
  233. package/dist/src/planner/building/returning-star.js +45 -0
  234. package/dist/src/planner/building/returning-star.js.map +1 -0
  235. package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
  236. package/dist/src/planner/building/select-aggregates.js +51 -13
  237. package/dist/src/planner/building/select-aggregates.js.map +1 -1
  238. package/dist/src/planner/building/select-compound.d.ts.map +1 -1
  239. package/dist/src/planner/building/select-compound.js +84 -11
  240. package/dist/src/planner/building/select-compound.js.map +1 -1
  241. package/dist/src/planner/building/select-context.d.ts +10 -2
  242. package/dist/src/planner/building/select-context.d.ts.map +1 -1
  243. package/dist/src/planner/building/select-context.js +7 -1
  244. package/dist/src/planner/building/select-context.js.map +1 -1
  245. package/dist/src/planner/building/select-modifiers.js +6 -0
  246. package/dist/src/planner/building/select-modifiers.js.map +1 -1
  247. package/dist/src/planner/building/select-ordinal.d.ts +18 -0
  248. package/dist/src/planner/building/select-ordinal.d.ts.map +1 -1
  249. package/dist/src/planner/building/select-ordinal.js +30 -0
  250. package/dist/src/planner/building/select-ordinal.js.map +1 -1
  251. package/dist/src/planner/building/select-projections.d.ts +8 -2
  252. package/dist/src/planner/building/select-projections.d.ts.map +1 -1
  253. package/dist/src/planner/building/select-projections.js +26 -4
  254. package/dist/src/planner/building/select-projections.js.map +1 -1
  255. package/dist/src/planner/building/select-window.d.ts.map +1 -1
  256. package/dist/src/planner/building/select-window.js +8 -5
  257. package/dist/src/planner/building/select-window.js.map +1 -1
  258. package/dist/src/planner/building/select.d.ts.map +1 -1
  259. package/dist/src/planner/building/select.js +164 -59
  260. package/dist/src/planner/building/select.js.map +1 -1
  261. package/dist/src/planner/building/set-object-tags.d.ts +7 -0
  262. package/dist/src/planner/building/set-object-tags.d.ts.map +1 -0
  263. package/dist/src/planner/building/set-object-tags.js +38 -0
  264. package/dist/src/planner/building/set-object-tags.js.map +1 -0
  265. package/dist/src/planner/building/tag-diagnostics.d.ts +27 -0
  266. package/dist/src/planner/building/tag-diagnostics.d.ts.map +1 -0
  267. package/dist/src/planner/building/tag-diagnostics.js +37 -0
  268. package/dist/src/planner/building/tag-diagnostics.js.map +1 -0
  269. package/dist/src/planner/building/update.d.ts +18 -1
  270. package/dist/src/planner/building/update.d.ts.map +1 -1
  271. package/dist/src/planner/building/update.js +134 -58
  272. package/dist/src/planner/building/update.js.map +1 -1
  273. package/dist/src/planner/building/view-mutation-builder.d.ts +15 -0
  274. package/dist/src/planner/building/view-mutation-builder.d.ts.map +1 -0
  275. package/dist/src/planner/building/view-mutation-builder.js +1158 -0
  276. package/dist/src/planner/building/view-mutation-builder.js.map +1 -0
  277. package/dist/src/planner/building/with.d.ts +11 -0
  278. package/dist/src/planner/building/with.d.ts.map +1 -1
  279. package/dist/src/planner/building/with.js +48 -10
  280. package/dist/src/planner/building/with.js.map +1 -1
  281. package/dist/src/planner/cost/index.d.ts +83 -0
  282. package/dist/src/planner/cost/index.d.ts.map +1 -1
  283. package/dist/src/planner/cost/index.js +114 -0
  284. package/dist/src/planner/cost/index.js.map +1 -1
  285. package/dist/src/planner/framework/characteristics.d.ts +38 -4
  286. package/dist/src/planner/framework/characteristics.d.ts.map +1 -1
  287. package/dist/src/planner/framework/characteristics.js +50 -6
  288. package/dist/src/planner/framework/characteristics.js.map +1 -1
  289. package/dist/src/planner/framework/pass.d.ts.map +1 -1
  290. package/dist/src/planner/framework/pass.js +2 -1
  291. package/dist/src/planner/framework/pass.js.map +1 -1
  292. package/dist/src/planner/framework/physical-utils.d.ts.map +1 -1
  293. package/dist/src/planner/framework/physical-utils.js +7 -1
  294. package/dist/src/planner/framework/physical-utils.js.map +1 -1
  295. package/dist/src/planner/framework/registry.d.ts +39 -1
  296. package/dist/src/planner/framework/registry.d.ts.map +1 -1
  297. package/dist/src/planner/framework/registry.js +18 -2
  298. package/dist/src/planner/framework/registry.js.map +1 -1
  299. package/dist/src/planner/mutation/backward-body.d.ts +131 -0
  300. package/dist/src/planner/mutation/backward-body.d.ts.map +1 -0
  301. package/dist/src/planner/mutation/backward-body.js +135 -0
  302. package/dist/src/planner/mutation/backward-body.js.map +1 -0
  303. package/dist/src/planner/mutation/cte-flatten.d.ts +17 -0
  304. package/dist/src/planner/mutation/cte-flatten.d.ts.map +1 -0
  305. package/dist/src/planner/mutation/cte-flatten.js +364 -0
  306. package/dist/src/planner/mutation/cte-flatten.js.map +1 -0
  307. package/dist/src/planner/mutation/decomposition.d.ts +273 -0
  308. package/dist/src/planner/mutation/decomposition.d.ts.map +1 -0
  309. package/dist/src/planner/mutation/decomposition.js +1719 -0
  310. package/dist/src/planner/mutation/decomposition.js.map +1 -0
  311. package/dist/src/planner/mutation/lens-enforcement.d.ts +165 -0
  312. package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -0
  313. package/dist/src/planner/mutation/lens-enforcement.js +745 -0
  314. package/dist/src/planner/mutation/lens-enforcement.js.map +1 -0
  315. package/dist/src/planner/mutation/multi-source.d.ts +568 -0
  316. package/dist/src/planner/mutation/multi-source.d.ts.map +1 -0
  317. package/dist/src/planner/mutation/multi-source.js +2915 -0
  318. package/dist/src/planner/mutation/multi-source.js.map +1 -0
  319. package/dist/src/planner/mutation/mutation-diagnostic.d.ts +37 -0
  320. package/dist/src/planner/mutation/mutation-diagnostic.d.ts.map +1 -0
  321. package/dist/src/planner/mutation/mutation-diagnostic.js +24 -0
  322. package/dist/src/planner/mutation/mutation-diagnostic.js.map +1 -0
  323. package/dist/src/planner/mutation/mutation-tags.d.ts +33 -0
  324. package/dist/src/planner/mutation/mutation-tags.d.ts.map +1 -0
  325. package/dist/src/planner/mutation/mutation-tags.js +31 -0
  326. package/dist/src/planner/mutation/mutation-tags.js.map +1 -0
  327. package/dist/src/planner/mutation/propagate.d.ts +97 -0
  328. package/dist/src/planner/mutation/propagate.d.ts.map +1 -0
  329. package/dist/src/planner/mutation/propagate.js +220 -0
  330. package/dist/src/planner/mutation/propagate.js.map +1 -0
  331. package/dist/src/planner/mutation/scope-transform.d.ts +181 -0
  332. package/dist/src/planner/mutation/scope-transform.d.ts.map +1 -0
  333. package/dist/src/planner/mutation/scope-transform.js +574 -0
  334. package/dist/src/planner/mutation/scope-transform.js.map +1 -0
  335. package/dist/src/planner/mutation/set-op.d.ts +242 -0
  336. package/dist/src/planner/mutation/set-op.d.ts.map +1 -0
  337. package/dist/src/planner/mutation/set-op.js +1687 -0
  338. package/dist/src/planner/mutation/set-op.js.map +1 -0
  339. package/dist/src/planner/mutation/single-source.d.ts +261 -0
  340. package/dist/src/planner/mutation/single-source.d.ts.map +1 -0
  341. package/dist/src/planner/mutation/single-source.js +1096 -0
  342. package/dist/src/planner/mutation/single-source.js.map +1 -0
  343. package/dist/src/planner/nodes/aggregate-node.d.ts +6 -4
  344. package/dist/src/planner/nodes/aggregate-node.d.ts.map +1 -1
  345. package/dist/src/planner/nodes/aggregate-node.js +11 -9
  346. package/dist/src/planner/nodes/aggregate-node.js.map +1 -1
  347. package/dist/src/planner/nodes/alias-node.d.ts.map +1 -1
  348. package/dist/src/planner/nodes/alias-node.js +5 -1
  349. package/dist/src/planner/nodes/alias-node.js.map +1 -1
  350. package/dist/src/planner/nodes/alter-table-node.d.ts +124 -1
  351. package/dist/src/planner/nodes/alter-table-node.d.ts.map +1 -1
  352. package/dist/src/planner/nodes/alter-table-node.js +27 -0
  353. package/dist/src/planner/nodes/alter-table-node.js.map +1 -1
  354. package/dist/src/planner/nodes/analyze-node.d.ts +2 -1
  355. package/dist/src/planner/nodes/analyze-node.d.ts.map +1 -1
  356. package/dist/src/planner/nodes/analyze-node.js +21 -1
  357. package/dist/src/planner/nodes/analyze-node.js.map +1 -1
  358. package/dist/src/planner/nodes/asserted-keys-node.d.ts +43 -0
  359. package/dist/src/planner/nodes/asserted-keys-node.d.ts.map +1 -0
  360. package/dist/src/planner/nodes/asserted-keys-node.js +99 -0
  361. package/dist/src/planner/nodes/asserted-keys-node.js.map +1 -0
  362. package/dist/src/planner/nodes/async-gather-node.d.ts.map +1 -1
  363. package/dist/src/planner/nodes/async-gather-node.js +33 -8
  364. package/dist/src/planner/nodes/async-gather-node.js.map +1 -1
  365. package/dist/src/planner/nodes/bloom-join-node.d.ts.map +1 -1
  366. package/dist/src/planner/nodes/bloom-join-node.js +2 -1
  367. package/dist/src/planner/nodes/bloom-join-node.js.map +1 -1
  368. package/dist/src/planner/nodes/create-view-node.d.ts +7 -2
  369. package/dist/src/planner/nodes/create-view-node.d.ts.map +1 -1
  370. package/dist/src/planner/nodes/create-view-node.js +4 -1
  371. package/dist/src/planner/nodes/create-view-node.js.map +1 -1
  372. package/dist/src/planner/nodes/declarative-schema.d.ts +13 -1
  373. package/dist/src/planner/nodes/declarative-schema.d.ts.map +1 -1
  374. package/dist/src/planner/nodes/declarative-schema.js +32 -0
  375. package/dist/src/planner/nodes/declarative-schema.js.map +1 -1
  376. package/dist/src/planner/nodes/distinct-node.d.ts.map +1 -1
  377. package/dist/src/planner/nodes/distinct-node.js +2 -0
  378. package/dist/src/planner/nodes/distinct-node.js.map +1 -1
  379. package/dist/src/planner/nodes/dml-executor-node.d.ts +29 -1
  380. package/dist/src/planner/nodes/dml-executor-node.d.ts.map +1 -1
  381. package/dist/src/planner/nodes/dml-executor-node.js +27 -3
  382. package/dist/src/planner/nodes/dml-executor-node.js.map +1 -1
  383. package/dist/src/planner/nodes/eager-prefetch-node.d.ts.map +1 -1
  384. package/dist/src/planner/nodes/eager-prefetch-node.js +2 -0
  385. package/dist/src/planner/nodes/eager-prefetch-node.js.map +1 -1
  386. package/dist/src/planner/nodes/envelope-scan-node.d.ts +42 -0
  387. package/dist/src/planner/nodes/envelope-scan-node.d.ts.map +1 -0
  388. package/dist/src/planner/nodes/envelope-scan-node.js +62 -0
  389. package/dist/src/planner/nodes/envelope-scan-node.js.map +1 -0
  390. package/dist/src/planner/nodes/fanout-lookup-join-node.d.ts.map +1 -1
  391. package/dist/src/planner/nodes/fanout-lookup-join-node.js +11 -1
  392. package/dist/src/planner/nodes/fanout-lookup-join-node.js.map +1 -1
  393. package/dist/src/planner/nodes/filter.d.ts.map +1 -1
  394. package/dist/src/planner/nodes/filter.js +63 -13
  395. package/dist/src/planner/nodes/filter.js.map +1 -1
  396. package/dist/src/planner/nodes/hash-aggregate.d.ts.map +1 -1
  397. package/dist/src/planner/nodes/hash-aggregate.js +6 -16
  398. package/dist/src/planner/nodes/hash-aggregate.js.map +1 -1
  399. package/dist/src/planner/nodes/join-node.d.ts +41 -1
  400. package/dist/src/planner/nodes/join-node.d.ts.map +1 -1
  401. package/dist/src/planner/nodes/join-node.js +78 -8
  402. package/dist/src/planner/nodes/join-node.js.map +1 -1
  403. package/dist/src/planner/nodes/join-utils.d.ts +33 -6
  404. package/dist/src/planner/nodes/join-utils.d.ts.map +1 -1
  405. package/dist/src/planner/nodes/join-utils.js +131 -10
  406. package/dist/src/planner/nodes/join-utils.js.map +1 -1
  407. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts +104 -0
  408. package/dist/src/planner/nodes/lens-auxiliary-access-node.d.ts.map +1 -0
  409. package/dist/src/planner/nodes/lens-auxiliary-access-node.js +91 -0
  410. package/dist/src/planner/nodes/lens-auxiliary-access-node.js.map +1 -0
  411. package/dist/src/planner/nodes/limit-offset.d.ts +12 -0
  412. package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
  413. package/dist/src/planner/nodes/limit-offset.js +52 -3
  414. package/dist/src/planner/nodes/limit-offset.js.map +1 -1
  415. package/dist/src/planner/nodes/materialized-view-nodes.d.ts +69 -0
  416. package/dist/src/planner/nodes/materialized-view-nodes.d.ts.map +1 -0
  417. package/dist/src/planner/nodes/materialized-view-nodes.js +111 -0
  418. package/dist/src/planner/nodes/materialized-view-nodes.js.map +1 -0
  419. package/dist/src/planner/nodes/merge-join-node.d.ts.map +1 -1
  420. package/dist/src/planner/nodes/merge-join-node.js +2 -1
  421. package/dist/src/planner/nodes/merge-join-node.js.map +1 -1
  422. package/dist/src/planner/nodes/ordinal-slice-node.d.ts.map +1 -1
  423. package/dist/src/planner/nodes/ordinal-slice-node.js +2 -0
  424. package/dist/src/planner/nodes/ordinal-slice-node.js.map +1 -1
  425. package/dist/src/planner/nodes/plan-node-type.d.ts +9 -0
  426. package/dist/src/planner/nodes/plan-node-type.d.ts.map +1 -1
  427. package/dist/src/planner/nodes/plan-node-type.js +9 -0
  428. package/dist/src/planner/nodes/plan-node-type.js.map +1 -1
  429. package/dist/src/planner/nodes/plan-node.d.ts +265 -5
  430. package/dist/src/planner/nodes/plan-node.d.ts.map +1 -1
  431. package/dist/src/planner/nodes/plan-node.js.map +1 -1
  432. package/dist/src/planner/nodes/pragma.d.ts +2 -1
  433. package/dist/src/planner/nodes/pragma.d.ts.map +1 -1
  434. package/dist/src/planner/nodes/pragma.js +12 -0
  435. package/dist/src/planner/nodes/pragma.js.map +1 -1
  436. package/dist/src/planner/nodes/project-node.d.ts +14 -1
  437. package/dist/src/planner/nodes/project-node.d.ts.map +1 -1
  438. package/dist/src/planner/nodes/project-node.js +103 -16
  439. package/dist/src/planner/nodes/project-node.js.map +1 -1
  440. package/dist/src/planner/nodes/reference.d.ts.map +1 -1
  441. package/dist/src/planner/nodes/reference.js +63 -30
  442. package/dist/src/planner/nodes/reference.js.map +1 -1
  443. package/dist/src/planner/nodes/retrieve-node.d.ts.map +1 -1
  444. package/dist/src/planner/nodes/retrieve-node.js +7 -0
  445. package/dist/src/planner/nodes/retrieve-node.js.map +1 -1
  446. package/dist/src/planner/nodes/returning-node.d.ts.map +1 -1
  447. package/dist/src/planner/nodes/returning-node.js +10 -3
  448. package/dist/src/planner/nodes/returning-node.js.map +1 -1
  449. package/dist/src/planner/nodes/scalar.d.ts +20 -0
  450. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  451. package/dist/src/planner/nodes/scalar.js +71 -14
  452. package/dist/src/planner/nodes/scalar.js.map +1 -1
  453. package/dist/src/planner/nodes/set-object-tags-node.d.ts +39 -0
  454. package/dist/src/planner/nodes/set-object-tags-node.d.ts.map +1 -0
  455. package/dist/src/planner/nodes/set-object-tags-node.js +41 -0
  456. package/dist/src/planner/nodes/set-object-tags-node.js.map +1 -0
  457. package/dist/src/planner/nodes/set-operation-node.d.ts +123 -1
  458. package/dist/src/planner/nodes/set-operation-node.d.ts.map +1 -1
  459. package/dist/src/planner/nodes/set-operation-node.js +302 -18
  460. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  461. package/dist/src/planner/nodes/single-row.d.ts.map +1 -1
  462. package/dist/src/planner/nodes/single-row.js +3 -0
  463. package/dist/src/planner/nodes/single-row.js.map +1 -1
  464. package/dist/src/planner/nodes/sort.d.ts.map +1 -1
  465. package/dist/src/planner/nodes/sort.js +8 -7
  466. package/dist/src/planner/nodes/sort.js.map +1 -1
  467. package/dist/src/planner/nodes/stream-aggregate.d.ts.map +1 -1
  468. package/dist/src/planner/nodes/stream-aggregate.js +8 -23
  469. package/dist/src/planner/nodes/stream-aggregate.js.map +1 -1
  470. package/dist/src/planner/nodes/subquery.d.ts +2 -0
  471. package/dist/src/planner/nodes/subquery.d.ts.map +1 -1
  472. package/dist/src/planner/nodes/subquery.js +18 -2
  473. package/dist/src/planner/nodes/subquery.js.map +1 -1
  474. package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
  475. package/dist/src/planner/nodes/table-access-nodes.js +23 -3
  476. package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
  477. package/dist/src/planner/nodes/table-function-call.js +6 -0
  478. package/dist/src/planner/nodes/table-function-call.js.map +1 -1
  479. package/dist/src/planner/nodes/values-node.d.ts +3 -1
  480. package/dist/src/planner/nodes/values-node.d.ts.map +1 -1
  481. package/dist/src/planner/nodes/values-node.js +26 -0
  482. package/dist/src/planner/nodes/values-node.js.map +1 -1
  483. package/dist/src/planner/nodes/view-mutation-node.d.ts +259 -0
  484. package/dist/src/planner/nodes/view-mutation-node.d.ts.map +1 -0
  485. package/dist/src/planner/nodes/view-mutation-node.js +273 -0
  486. package/dist/src/planner/nodes/view-mutation-node.js.map +1 -0
  487. package/dist/src/planner/nodes/window-function.d.ts +17 -1
  488. package/dist/src/planner/nodes/window-function.d.ts.map +1 -1
  489. package/dist/src/planner/nodes/window-function.js +15 -1
  490. package/dist/src/planner/nodes/window-function.js.map +1 -1
  491. package/dist/src/planner/nodes/window-node.js +3 -3
  492. package/dist/src/planner/nodes/window-node.js.map +1 -1
  493. package/dist/src/planner/optimizer.d.ts.map +1 -1
  494. package/dist/src/planner/optimizer.js +372 -39
  495. package/dist/src/planner/optimizer.js.map +1 -1
  496. package/dist/src/planner/planning-context.d.ts +1 -1
  497. package/dist/src/planner/planning-context.d.ts.map +1 -1
  498. package/dist/src/planner/rules/access/lens-access-form-matcher.d.ts +70 -0
  499. package/dist/src/planner/rules/access/lens-access-form-matcher.d.ts.map +1 -0
  500. package/dist/src/planner/rules/access/lens-access-form-matcher.js +156 -0
  501. package/dist/src/planner/rules/access/lens-access-form-matcher.js.map +1 -0
  502. package/dist/src/planner/rules/access/rule-lens-auxiliary-access.d.ts +31 -0
  503. package/dist/src/planner/rules/access/rule-lens-auxiliary-access.d.ts.map +1 -0
  504. package/dist/src/planner/rules/access/rule-lens-auxiliary-access.js +176 -0
  505. package/dist/src/planner/rules/access/rule-lens-auxiliary-access.js.map +1 -0
  506. package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
  507. package/dist/src/planner/rules/access/rule-select-access-path.js +435 -37
  508. package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
  509. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.d.ts.map +1 -1
  510. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js +8 -27
  511. package/dist/src/planner/rules/aggregate/rule-aggregate-streaming.js.map +1 -1
  512. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +9 -3
  513. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
  514. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +56 -5
  515. package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
  516. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts +39 -0
  517. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.d.ts.map +1 -0
  518. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js +616 -0
  519. package/dist/src/planner/rules/cache/rule-materialized-view-rewrite.js.map +1 -0
  520. package/dist/src/planner/rules/cache/rule-scalar-cse.d.ts.map +1 -1
  521. package/dist/src/planner/rules/cache/rule-scalar-cse.js +8 -1
  522. package/dist/src/planner/rules/cache/rule-scalar-cse.js.map +1 -1
  523. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts +8 -7
  524. package/dist/src/planner/rules/distinct/rule-distinct-elimination.d.ts.map +1 -1
  525. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js +14 -21
  526. package/dist/src/planner/rules/distinct/rule-distinct-elimination.js.map +1 -1
  527. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts +36 -0
  528. package/dist/src/planner/rules/join/equi-pair-extractor.d.ts.map +1 -1
  529. package/dist/src/planner/rules/join/equi-pair-extractor.js +42 -5
  530. package/dist/src/planner/rules/join/equi-pair-extractor.js.map +1 -1
  531. package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
  532. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +10 -0
  533. package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
  534. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js +25 -9
  535. package/dist/src/planner/rules/join/rule-fanout-lookup-join.js.map +1 -1
  536. package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.d.ts +130 -0
  537. package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.d.ts.map +1 -0
  538. package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.js +206 -0
  539. package/dist/src/planner/rules/join/rule-inner-join-existence-recovery.js.map +1 -0
  540. package/dist/src/planner/rules/join/rule-join-elimination.d.ts +67 -14
  541. package/dist/src/planner/rules/join/rule-join-elimination.d.ts.map +1 -1
  542. package/dist/src/planner/rules/join/rule-join-elimination.js +81 -25
  543. package/dist/src/planner/rules/join/rule-join-elimination.js.map +1 -1
  544. package/dist/src/planner/rules/join/rule-join-existence-pruning.d.ts +84 -0
  545. package/dist/src/planner/rules/join/rule-join-existence-pruning.d.ts.map +1 -0
  546. package/dist/src/planner/rules/join/rule-join-existence-pruning.js +138 -0
  547. package/dist/src/planner/rules/join/rule-join-existence-pruning.js.map +1 -0
  548. package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
  549. package/dist/src/planner/rules/join/rule-join-greedy-commute.js +19 -1
  550. package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
  551. package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
  552. package/dist/src/planner/rules/join/rule-join-physical-selection.js +14 -2
  553. package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
  554. package/dist/src/planner/rules/join/rule-lateral-top1-asof.d.ts.map +1 -1
  555. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js +5 -2
  556. package/dist/src/planner/rules/join/rule-lateral-top1-asof.js.map +1 -1
  557. package/dist/src/planner/rules/join/rule-monotonic-merge-join.d.ts.map +1 -1
  558. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js +4 -0
  559. package/dist/src/planner/rules/join/rule-monotonic-merge-join.js.map +1 -1
  560. package/dist/src/planner/rules/join/rule-quickpick-enumeration.d.ts.map +1 -1
  561. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js +10 -0
  562. package/dist/src/planner/rules/join/rule-quickpick-enumeration.js.map +1 -1
  563. package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.d.ts +286 -0
  564. package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.d.ts.map +1 -0
  565. package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.js +548 -0
  566. package/dist/src/planner/rules/join/rule-semijoin-existence-recovery.js.map +1 -0
  567. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.d.ts.map +1 -1
  568. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js +9 -1
  569. package/dist/src/planner/rules/parallel/rule-async-gather-union-all.js.map +1 -1
  570. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.d.ts.map +1 -1
  571. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js +7 -0
  572. package/dist/src/planner/rules/parallel/rule-async-gather-zip-by-key.js.map +1 -1
  573. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.d.ts.map +1 -1
  574. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js +10 -1
  575. package/dist/src/planner/rules/parallel/rule-eager-prefetch-probe.js.map +1 -1
  576. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.d.ts.map +1 -1
  577. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js +10 -1
  578. package/dist/src/planner/rules/predicate/rule-aggregate-predicate-pushdown.js.map +1 -1
  579. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.d.ts.map +1 -1
  580. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js +18 -0
  581. package/dist/src/planner/rules/predicate/rule-empty-relation-folding.js.map +1 -1
  582. package/dist/src/planner/rules/predicate/rule-filter-contradiction.d.ts.map +1 -1
  583. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js +7 -0
  584. package/dist/src/planner/rules/predicate/rule-filter-contradiction.js.map +1 -1
  585. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.d.ts.map +1 -1
  586. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js +9 -0
  587. package/dist/src/planner/rules/predicate/rule-predicate-inference-equivalence.js.map +1 -1
  588. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js +13 -3
  589. package/dist/src/planner/rules/predicate/rule-predicate-pushdown.js.map +1 -1
  590. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +2 -2
  591. package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
  592. package/dist/src/planner/rules/retrieve/rule-projection-pruning.d.ts.map +1 -1
  593. package/dist/src/planner/rules/retrieve/rule-projection-pruning.js +14 -0
  594. package/dist/src/planner/rules/retrieve/rule-projection-pruning.js.map +1 -1
  595. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts +16 -0
  596. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.d.ts.map +1 -1
  597. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js +47 -4
  598. package/dist/src/planner/rules/sort/rule-orderby-fd-pruning.js.map +1 -1
  599. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.d.ts.map +1 -1
  600. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js +8 -0
  601. package/dist/src/planner/rules/subquery/rule-anti-join-fk-empty.js.map +1 -1
  602. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.d.ts.map +1 -1
  603. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js +7 -0
  604. package/dist/src/planner/rules/subquery/rule-semi-join-fk-trivial.js.map +1 -1
  605. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.d.ts.map +1 -1
  606. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js +12 -0
  607. package/dist/src/planner/rules/subquery/rule-subquery-decorrelation.js.map +1 -1
  608. package/dist/src/planner/rules/window/rule-monotonic-window.js +1 -1
  609. package/dist/src/planner/rules/window/rule-monotonic-window.js.map +1 -1
  610. package/dist/src/planner/type-utils.d.ts +14 -0
  611. package/dist/src/planner/type-utils.d.ts.map +1 -1
  612. package/dist/src/planner/type-utils.js +66 -21
  613. package/dist/src/planner/type-utils.js.map +1 -1
  614. package/dist/src/planner/util/fd-utils.d.ts +228 -36
  615. package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
  616. package/dist/src/planner/util/fd-utils.js +501 -84
  617. package/dist/src/planner/util/fd-utils.js.map +1 -1
  618. package/dist/src/planner/util/ind-utils.d.ts +27 -1
  619. package/dist/src/planner/util/ind-utils.d.ts.map +1 -1
  620. package/dist/src/planner/util/ind-utils.js +80 -6
  621. package/dist/src/planner/util/ind-utils.js.map +1 -1
  622. package/dist/src/planner/util/key-utils.d.ts +26 -3
  623. package/dist/src/planner/util/key-utils.d.ts.map +1 -1
  624. package/dist/src/planner/util/key-utils.js +182 -33
  625. package/dist/src/planner/util/key-utils.js.map +1 -1
  626. package/dist/src/planner/util/set-op-wrapper.d.ts +37 -0
  627. package/dist/src/planner/util/set-op-wrapper.d.ts.map +1 -0
  628. package/dist/src/planner/util/set-op-wrapper.js +82 -0
  629. package/dist/src/planner/util/set-op-wrapper.js.map +1 -0
  630. package/dist/src/planner/validation/plan-validator.d.ts.map +1 -1
  631. package/dist/src/planner/validation/plan-validator.js +1 -0
  632. package/dist/src/planner/validation/plan-validator.js.map +1 -1
  633. package/dist/src/runtime/context-helpers.d.ts +13 -1
  634. package/dist/src/runtime/context-helpers.d.ts.map +1 -1
  635. package/dist/src/runtime/context-helpers.js +7 -1
  636. package/dist/src/runtime/context-helpers.js.map +1 -1
  637. package/dist/src/runtime/delta-executor.d.ts +30 -1
  638. package/dist/src/runtime/delta-executor.d.ts.map +1 -1
  639. package/dist/src/runtime/delta-executor.js +38 -4
  640. package/dist/src/runtime/delta-executor.js.map +1 -1
  641. package/dist/src/runtime/emit/add-constraint.d.ts.map +1 -1
  642. package/dist/src/runtime/emit/add-constraint.js +38 -5
  643. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  644. package/dist/src/runtime/emit/aggregate.d.ts.map +1 -1
  645. package/dist/src/runtime/emit/aggregate.js +10 -8
  646. package/dist/src/runtime/emit/aggregate.js.map +1 -1
  647. package/dist/src/runtime/emit/alter-table.d.ts +1 -1
  648. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  649. package/dist/src/runtime/emit/alter-table.js +664 -108
  650. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  651. package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
  652. package/dist/src/runtime/emit/analyze.js +2 -1
  653. package/dist/src/runtime/emit/analyze.js.map +1 -1
  654. package/dist/src/runtime/emit/asof-scan.d.ts.map +1 -1
  655. package/dist/src/runtime/emit/asof-scan.js +24 -9
  656. package/dist/src/runtime/emit/asof-scan.js.map +1 -1
  657. package/dist/src/runtime/emit/asserted-keys.d.ts +13 -0
  658. package/dist/src/runtime/emit/asserted-keys.d.ts.map +1 -0
  659. package/dist/src/runtime/emit/asserted-keys.js +13 -0
  660. package/dist/src/runtime/emit/asserted-keys.js.map +1 -0
  661. package/dist/src/runtime/emit/between.d.ts.map +1 -1
  662. package/dist/src/runtime/emit/between.js +24 -19
  663. package/dist/src/runtime/emit/between.js.map +1 -1
  664. package/dist/src/runtime/emit/binary.d.ts.map +1 -1
  665. package/dist/src/runtime/emit/binary.js +24 -36
  666. package/dist/src/runtime/emit/binary.js.map +1 -1
  667. package/dist/src/runtime/emit/block.d.ts.map +1 -1
  668. package/dist/src/runtime/emit/block.js +11 -2
  669. package/dist/src/runtime/emit/block.js.map +1 -1
  670. package/dist/src/runtime/emit/bloom-join.d.ts.map +1 -1
  671. package/dist/src/runtime/emit/bloom-join.js +12 -4
  672. package/dist/src/runtime/emit/bloom-join.js.map +1 -1
  673. package/dist/src/runtime/emit/constraint-check.d.ts.map +1 -1
  674. package/dist/src/runtime/emit/constraint-check.js +50 -1
  675. package/dist/src/runtime/emit/constraint-check.js.map +1 -1
  676. package/dist/src/runtime/emit/create-table.d.ts.map +1 -1
  677. package/dist/src/runtime/emit/create-table.js +8 -0
  678. package/dist/src/runtime/emit/create-table.js.map +1 -1
  679. package/dist/src/runtime/emit/create-view.d.ts.map +1 -1
  680. package/dist/src/runtime/emit/create-view.js +16 -1
  681. package/dist/src/runtime/emit/create-view.js.map +1 -1
  682. package/dist/src/runtime/emit/delete.d.ts.map +1 -1
  683. package/dist/src/runtime/emit/delete.js +15 -5
  684. package/dist/src/runtime/emit/delete.js.map +1 -1
  685. package/dist/src/runtime/emit/dml-executor.d.ts +27 -0
  686. package/dist/src/runtime/emit/dml-executor.d.ts.map +1 -1
  687. package/dist/src/runtime/emit/dml-executor.js +413 -193
  688. package/dist/src/runtime/emit/dml-executor.js.map +1 -1
  689. package/dist/src/runtime/emit/drop-table.d.ts.map +1 -1
  690. package/dist/src/runtime/emit/drop-table.js +10 -0
  691. package/dist/src/runtime/emit/drop-table.js.map +1 -1
  692. package/dist/src/runtime/emit/drop-view.d.ts.map +1 -1
  693. package/dist/src/runtime/emit/drop-view.js +17 -0
  694. package/dist/src/runtime/emit/drop-view.js.map +1 -1
  695. package/dist/src/runtime/emit/envelope-scan.d.ts +13 -0
  696. package/dist/src/runtime/emit/envelope-scan.d.ts.map +1 -0
  697. package/dist/src/runtime/emit/envelope-scan.js +22 -0
  698. package/dist/src/runtime/emit/envelope-scan.js.map +1 -0
  699. package/dist/src/runtime/emit/join.d.ts +10 -2
  700. package/dist/src/runtime/emit/join.d.ts.map +1 -1
  701. package/dist/src/runtime/emit/join.js +128 -38
  702. package/dist/src/runtime/emit/join.js.map +1 -1
  703. package/dist/src/runtime/emit/lens-auxiliary-access.d.ts +16 -0
  704. package/dist/src/runtime/emit/lens-auxiliary-access.d.ts.map +1 -0
  705. package/dist/src/runtime/emit/lens-auxiliary-access.js +16 -0
  706. package/dist/src/runtime/emit/lens-auxiliary-access.js.map +1 -0
  707. package/dist/src/runtime/emit/materialized-view-helpers.d.ts +640 -0
  708. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -0
  709. package/dist/src/runtime/emit/materialized-view-helpers.js +2576 -0
  710. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -0
  711. package/dist/src/runtime/emit/materialized-view.d.ts +31 -0
  712. package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -0
  713. package/dist/src/runtime/emit/materialized-view.js +187 -0
  714. package/dist/src/runtime/emit/materialized-view.js.map +1 -0
  715. package/dist/src/runtime/emit/merge-join.d.ts.map +1 -1
  716. package/dist/src/runtime/emit/merge-join.js +19 -5
  717. package/dist/src/runtime/emit/merge-join.js.map +1 -1
  718. package/dist/src/runtime/emit/project.d.ts.map +1 -1
  719. package/dist/src/runtime/emit/project.js +10 -5
  720. package/dist/src/runtime/emit/project.js.map +1 -1
  721. package/dist/src/runtime/emit/schema-declarative.d.ts +1 -0
  722. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  723. package/dist/src/runtime/emit/schema-declarative.js +101 -5
  724. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  725. package/dist/src/runtime/emit/set-object-tags.d.ts +16 -0
  726. package/dist/src/runtime/emit/set-object-tags.d.ts.map +1 -0
  727. package/dist/src/runtime/emit/set-object-tags.js +57 -0
  728. package/dist/src/runtime/emit/set-object-tags.js.map +1 -0
  729. package/dist/src/runtime/emit/set-operation.d.ts.map +1 -1
  730. package/dist/src/runtime/emit/set-operation.js +140 -24
  731. package/dist/src/runtime/emit/set-operation.js.map +1 -1
  732. package/dist/src/runtime/emit/subquery.d.ts.map +1 -1
  733. package/dist/src/runtime/emit/subquery.js +110 -5
  734. package/dist/src/runtime/emit/subquery.js.map +1 -1
  735. package/dist/src/runtime/emit/unary.d.ts.map +1 -1
  736. package/dist/src/runtime/emit/unary.js +34 -6
  737. package/dist/src/runtime/emit/unary.js.map +1 -1
  738. package/dist/src/runtime/emit/view-mutation.d.ts +70 -0
  739. package/dist/src/runtime/emit/view-mutation.d.ts.map +1 -0
  740. package/dist/src/runtime/emit/view-mutation.js +299 -0
  741. package/dist/src/runtime/emit/view-mutation.js.map +1 -0
  742. package/dist/src/runtime/emit/window.js +29 -5
  743. package/dist/src/runtime/emit/window.js.map +1 -1
  744. package/dist/src/runtime/foreign-key-actions.d.ts +66 -3
  745. package/dist/src/runtime/foreign-key-actions.d.ts.map +1 -1
  746. package/dist/src/runtime/foreign-key-actions.js +580 -172
  747. package/dist/src/runtime/foreign-key-actions.js.map +1 -1
  748. package/dist/src/runtime/parallel-driver.d.ts +4 -1
  749. package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
  750. package/dist/src/runtime/parallel-driver.js +5 -1
  751. package/dist/src/runtime/parallel-driver.js.map +1 -1
  752. package/dist/src/runtime/register.d.ts.map +1 -1
  753. package/dist/src/runtime/register.js +17 -1
  754. package/dist/src/runtime/register.js.map +1 -1
  755. package/dist/src/runtime/types.d.ts +10 -0
  756. package/dist/src/runtime/types.d.ts.map +1 -1
  757. package/dist/src/runtime/types.js.map +1 -1
  758. package/dist/src/schema/basis-backfill.d.ts +63 -0
  759. package/dist/src/schema/basis-backfill.d.ts.map +1 -0
  760. package/dist/src/schema/basis-backfill.js +161 -0
  761. package/dist/src/schema/basis-backfill.js.map +1 -0
  762. package/dist/src/schema/catalog.d.ts +115 -1
  763. package/dist/src/schema/catalog.d.ts.map +1 -1
  764. package/dist/src/schema/catalog.js +249 -22
  765. package/dist/src/schema/catalog.js.map +1 -1
  766. package/dist/src/schema/change-events.d.ts +42 -1
  767. package/dist/src/schema/change-events.d.ts.map +1 -1
  768. package/dist/src/schema/change-events.js.map +1 -1
  769. package/dist/src/schema/column.d.ts +16 -0
  770. package/dist/src/schema/column.d.ts.map +1 -1
  771. package/dist/src/schema/column.js.map +1 -1
  772. package/dist/src/schema/constraint-builder.d.ts +182 -0
  773. package/dist/src/schema/constraint-builder.d.ts.map +1 -0
  774. package/dist/src/schema/constraint-builder.js +424 -0
  775. package/dist/src/schema/constraint-builder.js.map +1 -0
  776. package/dist/src/schema/ddl-generator.d.ts +86 -1
  777. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  778. package/dist/src/schema/ddl-generator.js +316 -20
  779. package/dist/src/schema/ddl-generator.js.map +1 -1
  780. package/dist/src/schema/declared-schema-manager.d.ts +51 -0
  781. package/dist/src/schema/declared-schema-manager.d.ts.map +1 -1
  782. package/dist/src/schema/declared-schema-manager.js +61 -0
  783. package/dist/src/schema/declared-schema-manager.js.map +1 -1
  784. package/dist/src/schema/derivation.d.ts +106 -0
  785. package/dist/src/schema/derivation.d.ts.map +1 -0
  786. package/dist/src/schema/derivation.js +25 -0
  787. package/dist/src/schema/derivation.js.map +1 -0
  788. package/dist/src/schema/function.d.ts +13 -0
  789. package/dist/src/schema/function.d.ts.map +1 -1
  790. package/dist/src/schema/function.js.map +1 -1
  791. package/dist/src/schema/lens-ack.d.ts +90 -0
  792. package/dist/src/schema/lens-ack.d.ts.map +1 -0
  793. package/dist/src/schema/lens-ack.js +361 -0
  794. package/dist/src/schema/lens-ack.js.map +1 -0
  795. package/dist/src/schema/lens-compiler.d.ts +62 -0
  796. package/dist/src/schema/lens-compiler.d.ts.map +1 -0
  797. package/dist/src/schema/lens-compiler.js +1594 -0
  798. package/dist/src/schema/lens-compiler.js.map +1 -0
  799. package/dist/src/schema/lens-fk-discovery.d.ts +175 -0
  800. package/dist/src/schema/lens-fk-discovery.d.ts.map +1 -0
  801. package/dist/src/schema/lens-fk-discovery.js +336 -0
  802. package/dist/src/schema/lens-fk-discovery.js.map +1 -0
  803. package/dist/src/schema/lens-prover.d.ts +336 -0
  804. package/dist/src/schema/lens-prover.d.ts.map +1 -0
  805. package/dist/src/schema/lens-prover.js +1988 -0
  806. package/dist/src/schema/lens-prover.js.map +1 -0
  807. package/dist/src/schema/lens.d.ts +254 -0
  808. package/dist/src/schema/lens.d.ts.map +1 -0
  809. package/dist/src/schema/lens.js +21 -0
  810. package/dist/src/schema/lens.js.map +1 -0
  811. package/dist/src/schema/manager.d.ts +676 -18
  812. package/dist/src/schema/manager.d.ts.map +1 -1
  813. package/dist/src/schema/manager.js +1573 -238
  814. package/dist/src/schema/manager.js.map +1 -1
  815. package/dist/src/schema/mapping-advertisement-tags.d.ts +39 -0
  816. package/dist/src/schema/mapping-advertisement-tags.d.ts.map +1 -0
  817. package/dist/src/schema/mapping-advertisement-tags.js +216 -0
  818. package/dist/src/schema/mapping-advertisement-tags.js.map +1 -0
  819. package/dist/src/schema/rename-rewriter.d.ts +45 -4
  820. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  821. package/dist/src/schema/rename-rewriter.js +412 -19
  822. package/dist/src/schema/rename-rewriter.js.map +1 -1
  823. package/dist/src/schema/reserved-tags-policy.d.ts +32 -0
  824. package/dist/src/schema/reserved-tags-policy.d.ts.map +1 -0
  825. package/dist/src/schema/reserved-tags-policy.js +34 -0
  826. package/dist/src/schema/reserved-tags-policy.js.map +1 -0
  827. package/dist/src/schema/reserved-tags.d.ts +170 -0
  828. package/dist/src/schema/reserved-tags.d.ts.map +1 -0
  829. package/dist/src/schema/reserved-tags.js +507 -0
  830. package/dist/src/schema/reserved-tags.js.map +1 -0
  831. package/dist/src/schema/schema-differ.d.ts +158 -2
  832. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  833. package/dist/src/schema/schema-differ.js +1460 -78
  834. package/dist/src/schema/schema-differ.js.map +1 -1
  835. package/dist/src/schema/schema-hasher.d.ts +8 -3
  836. package/dist/src/schema/schema-hasher.d.ts.map +1 -1
  837. package/dist/src/schema/schema-hasher.js +22 -2
  838. package/dist/src/schema/schema-hasher.js.map +1 -1
  839. package/dist/src/schema/schema.d.ts +25 -1
  840. package/dist/src/schema/schema.d.ts.map +1 -1
  841. package/dist/src/schema/schema.js +36 -2
  842. package/dist/src/schema/schema.js.map +1 -1
  843. package/dist/src/schema/table.d.ts +259 -10
  844. package/dist/src/schema/table.d.ts.map +1 -1
  845. package/dist/src/schema/table.js +309 -26
  846. package/dist/src/schema/table.js.map +1 -1
  847. package/dist/src/schema/unique-enforcement.d.ts +78 -0
  848. package/dist/src/schema/unique-enforcement.d.ts.map +1 -0
  849. package/dist/src/schema/unique-enforcement.js +93 -0
  850. package/dist/src/schema/unique-enforcement.js.map +1 -0
  851. package/dist/src/schema/view.d.ts +83 -2
  852. package/dist/src/schema/view.d.ts.map +1 -1
  853. package/dist/src/schema/view.js +67 -1
  854. package/dist/src/schema/view.js.map +1 -1
  855. package/dist/src/schema/window-function.d.ts +9 -1
  856. package/dist/src/schema/window-function.d.ts.map +1 -1
  857. package/dist/src/schema/window-function.js.map +1 -1
  858. package/dist/src/types/temporal-types.d.ts.map +1 -1
  859. package/dist/src/types/temporal-types.js +71 -36
  860. package/dist/src/types/temporal-types.js.map +1 -1
  861. package/dist/src/util/comparison.d.ts +24 -0
  862. package/dist/src/util/comparison.d.ts.map +1 -1
  863. package/dist/src/util/comparison.js +34 -0
  864. package/dist/src/util/comparison.js.map +1 -1
  865. package/dist/src/util/mutation-statement.d.ts.map +1 -1
  866. package/dist/src/util/mutation-statement.js +4 -1
  867. package/dist/src/util/mutation-statement.js.map +1 -1
  868. package/dist/src/util/serialization.d.ts +9 -0
  869. package/dist/src/util/serialization.d.ts.map +1 -1
  870. package/dist/src/util/serialization.js +26 -0
  871. package/dist/src/util/serialization.js.map +1 -1
  872. package/dist/src/vtab/backing-host.d.ts +286 -0
  873. package/dist/src/vtab/backing-host.d.ts.map +1 -0
  874. package/dist/src/vtab/backing-host.js +118 -0
  875. package/dist/src/vtab/backing-host.js.map +1 -0
  876. package/dist/src/vtab/best-access-plan.d.ts +21 -0
  877. package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
  878. package/dist/src/vtab/best-access-plan.js.map +1 -1
  879. package/dist/src/vtab/capabilities.d.ts +5 -5
  880. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  881. package/dist/src/vtab/mapping-advertisement.d.ts +163 -0
  882. package/dist/src/vtab/mapping-advertisement.d.ts.map +1 -0
  883. package/dist/src/vtab/mapping-advertisement.js +2 -0
  884. package/dist/src/vtab/mapping-advertisement.js.map +1 -0
  885. package/dist/src/vtab/memory/index.d.ts +64 -4
  886. package/dist/src/vtab/memory/index.d.ts.map +1 -1
  887. package/dist/src/vtab/memory/index.js +119 -12
  888. package/dist/src/vtab/memory/index.js.map +1 -1
  889. package/dist/src/vtab/memory/layer/base.d.ts +38 -1
  890. package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
  891. package/dist/src/vtab/memory/layer/base.js +112 -24
  892. package/dist/src/vtab/memory/layer/base.js.map +1 -1
  893. package/dist/src/vtab/memory/layer/manager.d.ts +291 -4
  894. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  895. package/dist/src/vtab/memory/layer/manager.js +1050 -91
  896. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  897. package/dist/src/vtab/memory/layer/plan-filter.d.ts.map +1 -1
  898. package/dist/src/vtab/memory/layer/plan-filter.js +35 -6
  899. package/dist/src/vtab/memory/layer/plan-filter.js.map +1 -1
  900. package/dist/src/vtab/memory/layer/scan-layer.d.ts.map +1 -1
  901. package/dist/src/vtab/memory/layer/scan-layer.js +66 -14
  902. package/dist/src/vtab/memory/layer/scan-layer.js.map +1 -1
  903. package/dist/src/vtab/memory/layer/scan-plan.d.ts +14 -0
  904. package/dist/src/vtab/memory/layer/scan-plan.d.ts.map +1 -1
  905. package/dist/src/vtab/memory/layer/scan-plan.js +27 -4
  906. package/dist/src/vtab/memory/layer/scan-plan.js.map +1 -1
  907. package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
  908. package/dist/src/vtab/memory/layer/transaction.js +5 -1
  909. package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
  910. package/dist/src/vtab/memory/module.d.ts +17 -0
  911. package/dist/src/vtab/memory/module.d.ts.map +1 -1
  912. package/dist/src/vtab/memory/module.js +82 -3
  913. package/dist/src/vtab/memory/module.js.map +1 -1
  914. package/dist/src/vtab/memory/table.d.ts.map +1 -1
  915. package/dist/src/vtab/memory/table.js +15 -5
  916. package/dist/src/vtab/memory/table.js.map +1 -1
  917. package/dist/src/vtab/memory/types.d.ts +20 -2
  918. package/dist/src/vtab/memory/types.d.ts.map +1 -1
  919. package/dist/src/vtab/memory/utils/predicate.d.ts.map +1 -1
  920. package/dist/src/vtab/memory/utils/predicate.js +46 -24
  921. package/dist/src/vtab/memory/utils/predicate.js.map +1 -1
  922. package/dist/src/vtab/memory/utils/primary-key-encode.d.ts +31 -0
  923. package/dist/src/vtab/memory/utils/primary-key-encode.d.ts.map +1 -0
  924. package/dist/src/vtab/memory/utils/primary-key-encode.js +101 -0
  925. package/dist/src/vtab/memory/utils/primary-key-encode.js.map +1 -0
  926. package/dist/src/vtab/memory/utils/primary-key.d.ts +8 -0
  927. package/dist/src/vtab/memory/utils/primary-key.d.ts.map +1 -1
  928. package/dist/src/vtab/memory/utils/primary-key.js +12 -5
  929. package/dist/src/vtab/memory/utils/primary-key.js.map +1 -1
  930. package/dist/src/vtab/module.d.ts +203 -4
  931. package/dist/src/vtab/module.d.ts.map +1 -1
  932. package/dist/src/vtab/table.d.ts +9 -0
  933. package/dist/src/vtab/table.d.ts.map +1 -1
  934. package/dist/src/vtab/table.js.map +1 -1
  935. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAExE,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1D,gBAAgB;AAChB,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,2DAA2D,CAAC;AAC9G,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,2BAA2B;AAC3B,0BAA0B;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qDAAqD,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,qEAAqE;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,gBAAgB;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,SAAS;IACJ,KAAK,CAAgB;IACrB,WAAW,CAAc;IAClC,eAAe,GAAgC,IAAI,CAAC;IACrD,MAAM,CAAkB;IAE/B,YACC,SAA0B,cAAc,EACxC,KAAqB;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,sEAAsE;QACtE,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,MAAuB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAE7C;;OAEG;IAEH;;OAEG;IACK,qBAAqB;QAC5B,6EAA6E;QAC7E,uDAAuD;QACvD,uDAAuD;QACvD,MAAM,mBAAmB,GAAG;YAC3B,YAAY,CAAC,MAAM;YACnB,YAAY,CAAC,OAAO;YACpB,YAAY,CAAC,IAAI;YACjB,YAAY,CAAC,WAAW;YACxB,YAAY,CAAC,SAAS;YACtB,YAAY,CAAC,QAAQ;YACrB,YAAY,CAAC,IAAI;YACjB,YAAY,CAAC,MAAM;YACnB,gDAAgD;SAChD,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;gBACjD,EAAE,EAAE,iBAAiB,QAAQ,EAAE;gBAC/B,QAAQ;gBACR,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,gBAAgB;gBACpB,QAAQ,EAAE,EAAE;aACZ,CAAC,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,yFAAyF;QACzF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,sFAAsF;QACtF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,4EAA4E;QAC5E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,6EAA6E;QAC7E,sEAAsE;QACtE,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,gEAAgE;QAChE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,8BAA8B;YAClC,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,8BAA8B;YAClC,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,cAAc;YAClB,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,eAAe;YACnB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,0FAA0F;QAC1F,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,YAAY;YAChB,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,aAAa;YACjB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,qEAAqE;QACrE,0EAA0E;QAC1E,kEAAkE;QAClE,mCAAmC;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,iCAAiC;YACrC,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,iCAAiC;YACrC,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,wDAAwD;QACxD,sEAAsE;QACtE,4BAA4B;QAC5B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,2BAA2B;YAC/B,QAAQ,EAAE,YAAY,CAAC,SAAS;YAChC,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,2BAA2B;YAC/B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,qDAAqD;QACrD,2CAA2C;QAC3C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,8EAA8E;QAC9E,0FAA0F;QAC1F,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,wDAAwD;QACxD,+DAA+D;QAC/D,2EAA2E;QAC3E,+BAA+B;QAC/B,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,wEAAwE;QACxE,yEAAyE;QACzE,6DAA6D;QAC7D,2CAA2C;QAC3C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,4BAA4B;YAChC,QAAQ,EAAE,YAAY,CAAC,SAAS;YAChC,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,iCAAiC;YACrC,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,6DAA6D;QAC7D,4EAA4E;QAC5E,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,sEAAsE;QACtE,yDAAyD;QACzD,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,8BAA8B;QAC9B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,YAAY,CAAC,WAAW;YAClC,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,iBAAiB;YACrB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,4EAA4E;QAC5E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,mDAAmD;QACnD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,EAAE,EAAE,4BAA4B;YAChC,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,4BAA4B;YAChC,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC/C,EAAE,EAAE,oBAAoB;YACxB,QAAQ,EAAE,YAAY,CAAC,SAAS;YAChC,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,qBAAqB;YACzB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,oEAAoE;QACpE,mEAAmE;QACnE,+DAA+D;QAC/D,yDAAyD;QACzD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,qEAAqE;QACrE,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,0EAA0E;QAC1E,iEAAiE;QACjE,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,0BAA0B;YAC9B,QAAQ,EAAE,YAAY,CAAC,WAAW;YAClC,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,0BAA0B;YAC9B,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,mEAAmE;QACnE,0EAA0E;QAC1E,wEAAwE;QACxE,kEAAkE;QAClE,qEAAqE;QACrE,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG;YAC5B,YAAY,CAAC,SAAS;YACtB,YAAY,CAAC,SAAS;YACtB,YAAY,CAAC,OAAO;SACpB,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACvD,EAAE,EAAE,0BAA0B,QAAQ,EAAE;gBACxC,QAAQ;gBACR,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,wBAAwB;gBAC5B,QAAQ,EAAE,CAAC;aACX,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,+BAA+B;YACnC,QAAQ,EAAE,YAAY,CAAC,MAAM;YAC7B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,qEAAqE;QACrE,iEAAiE;QACjE,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,MAAM;YACb,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,mDAAmD;QACnD,sEAAsE;QACtE,sEAAsE;QACtE,8DAA8D;QAC9D,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,kEAAkE;QAClE,+DAA+D;QAC/D,mEAAmE;QACnE,iBAAiB;QACjB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,wBAAwB;YAC5B,QAAQ,EAAE,YAAY,CAAC,YAAY;YACnC,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,kEAAkE;QAClE,0DAA0D;QAC1D,sEAAsE;QACtE,wEAAwE;QACxE,mCAAmC;QACnC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,yBAAyB;YAC7B,QAAQ,EAAE,YAAY,CAAC,OAAO;YAC9B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,uEAAuE;QACvE,yDAAyD;QACzD,sEAAsE;QACtE,2CAA2C;QAC3C,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,8DAA8D;QAC9D,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAC5E,0CAA0C;QAC1C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,YAAY,CAAC,gBAAgB;YACvC,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,sBAAsB;YAC1B,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,kBAAkB;YACtB,QAAQ,EAAE,YAAY,CAAC,GAAG;YAC1B,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,0EAA0E;QAC1E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;YACvD,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,YAAY,CAAC,EAAE;YACzB,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,EAAE;SACZ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,MAAM,2BAA2B,GAAG;YACnC,YAAY,CAAC,KAAK;YAClB,YAAY,CAAC,cAAc;YAC3B,YAAY,CAAC,MAAM;YACnB,YAAY,CAAC,EAAE;YACf,YAAY,CAAC,MAAM;YACnB,YAAY,CAAC,MAAM;YACnB,YAAY,CAAC,MAAM;YACnB,YAAY,CAAC,GAAG;YAChB,YAAY,CAAC,YAAY;YACzB,YAAY,CAAC,SAAS;YACtB,YAAY,CAAC,kBAAkB;YAC/B,YAAY,CAAC,QAAQ;SACrB,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,2BAA2B,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACvD,EAAE,EAAE,4BAA4B,QAAQ,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,2BAA2B;gBAC/B,QAAQ,EAAE,EAAE;aACZ,CAAC,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAc,EAAE,EAAY;QACpC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpD,8BAA8B;QAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEpE,eAAe,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,CAAC;YACJ,kCAAkC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE9D,sDAAsD;YACtD,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAElD,gCAAgC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACJ,oBAAoB,CAAC,aAAa,CAAC,CAAC;oBACpC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;oBACzC,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;YAED,OAAO,aAAa,CAAC;QACtB,CAAC;gBAAS,CAAC;YACV,aAAa,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,IAAc,EAAE,EAAY;QAC/C,GAAG,CAAC,qDAAqD,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACzC,IAAI,CAAC;YACJ,qGAAqG;YACrG,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACtF,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,cAAc,CAAC;QACvB,CAAC;gBAAS,CAAC;YACV,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED,YAAY,CAAC,IAAc,EAAE,OAAmB;QAC/C,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,4DAA4D;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,kDAAkD,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChF,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC;QACf,CAAC;QAED,8DAA8D;QAC9D,oFAAoF;QACpF,4EAA4E;QAE5E,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3D,cAAc;QACd,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACpC,6BAA6B;YAC7B,GAAG,CAAC,oBAAoB,aAAa,CAAC,QAAQ,oBAAoB,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3F,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAEjC,yBAAyB;YACzB,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YAClD,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,4CAA4C;QAC5C,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAElC,4CAA4C;QAC5C,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACnD,OAAO,aAAa,CAAC;IACtB,CAAC;IAEO,gBAAgB,CAAC,IAAc,EAAE,OAAmB;QAC3D,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAE3F,gCAAgC;QAChC,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5F,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,CAAC,aAAa;QAC3B,CAAC;QAED,8DAA8D;QAC9D,oEAAoE;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,kBAAkB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC"}
1
+ {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/planner/optimizer.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export interface DebugOptions {
23
23
  * Used for plan invalidation when schema changes.
24
24
  */
25
25
  export interface SchemaDependency {
26
- readonly type: 'table' | 'function' | 'vtab_module' | 'collation';
26
+ readonly type: 'table' | 'view' | 'function' | 'vtab_module' | 'collation';
27
27
  readonly schemaName?: string;
28
28
  readonly objectName: string;
29
29
  readonly objectVersion?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"planning-context.d.ts","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAElD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,0BAA0B;IACtC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,qBAAqB,CAAyB;IAEtD;;OAEG;IAEH,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAM1D;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKzD;;OAEG;IACH,cAAc,IAAI,OAAO;IAUzB;;OAEG;IACH,eAAe,IAAI,gBAAgB,EAAE;IAIrC;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAM1B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,kBAAkB;CAS1B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAE9B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;QAC1B,UAAU,EAAE,cAAc,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE9C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;IAExD;;OAEG;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEvC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAElD,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC"}
1
+ {"version":3,"file":"planning-context.d.ts","sourceRoot":"","sources":["../../../src/planner/planning-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Lens access-shape form matcher (ticket `lens-access-shape-path-selection`, D1/D5).
3
+ *
4
+ * Given the outer query's `WHERE` predicate over an inlined lens view and the
5
+ * routable auxiliary-access structures collected on a
6
+ * {@link LensAuxiliaryAccessNode}, decide which predicate fragments an
7
+ * auxiliary's advertised {@link AccessForm}s answer. Two sub-channels:
8
+ *
9
+ * - **comparison forms** (`equality`, `range`) — matched directly against a
10
+ * `column op value` conjunct whose column is an advertised access column. (v1
11
+ * uses a focused conjunct check rather than the full `extractConstraintsForTable`
12
+ * surface, which needs a fully-built plan + relation keys; the shape recognized
13
+ * is exactly the single-conjunct constraint that extractor would yield.)
14
+ * - **function-predicate forms** (`prefix`, `contains`, `intersects`, `knn`, and
15
+ * any open `string & {}`) — matched by an **extensible recognizer registry**
16
+ * keyed by form name. A built-in recognizer per built-in form matches a scalar
17
+ * function call whose name equals the form name over an advertised access
18
+ * column; modules register additional recognizers (e.g. `nd_contains` → the
19
+ * `contains` form) via {@link registerAccessFormRecognizer}.
20
+ *
21
+ * An advertised form with **no registered recognizer** (and not a comparison
22
+ * form) yields **no match** — the graceful-degrade contract (D5) that lets
23
+ * vector-similarity / full-text forms land later with zero engine change.
24
+ */
25
+ import type { ScalarPlanNode } from '../../nodes/plan-node.js';
26
+ import type { AccessForm } from '../../../vtab/mapping-advertisement.js';
27
+ import type { AuxAccessColumn, RoutableAuxiliary } from '../../nodes/lens-auxiliary-access-node.js';
28
+ /** Whether a matched form rides the comparison or function-predicate channel. */
29
+ export type AccessFormKind = 'comparison' | 'function-predicate';
30
+ /** One advertised served entry (columns + the forms served over them). */
31
+ export type ServedEntry = {
32
+ readonly columns: readonly string[];
33
+ readonly forms: readonly AccessForm[];
34
+ };
35
+ /** A predicate fragment an auxiliary's advertised form answers. */
36
+ export interface MatchedAuxiliaryPath {
37
+ readonly routable: RoutableAuxiliary;
38
+ readonly servedEntry: ServedEntry;
39
+ readonly form: AccessForm;
40
+ readonly kind: AccessFormKind;
41
+ /** The advertised access column the fragment constrains. */
42
+ readonly accessColumn: AuxAccessColumn;
43
+ /** The single conjunct (from the filter predicate) this match consumes. */
44
+ readonly predicateFragment: ScalarPlanNode;
45
+ }
46
+ /**
47
+ * A function-predicate recognizer for one form. Given a conjunct and the set of
48
+ * logical output-attribute ids that name an advertised access column, returns the
49
+ * matched access-column attribute id when the conjunct is a predicate of the
50
+ * form's shape over one of those columns, else `null`.
51
+ */
52
+ export type AccessFormRecognizer = (conjunct: ScalarPlanNode, accessColumnAttrIds: ReadonlySet<number>) => {
53
+ readonly accessColumnAttrId: number;
54
+ } | null;
55
+ /** Register a recognizer for a function-predicate form (additive — coexists with built-ins). */
56
+ export declare function registerAccessFormRecognizer(form: string, recognizer: AccessFormRecognizer): void;
57
+ /**
58
+ * A recognizer matching a scalar function call by name (case-insensitive) with
59
+ * an operand referencing an advertised access column. The built-in form
60
+ * recognizers are this factory bound to the form name; modules bind it (or a
61
+ * bespoke recognizer) to their own function names.
62
+ */
63
+ export declare function functionNameRecognizer(...functionNames: string[]): AccessFormRecognizer;
64
+ /**
65
+ * Match the filter predicate against the routable auxiliaries' advertised forms.
66
+ * Returns one entry per (auxiliary, served-entry, form, conjunct) that matches —
67
+ * the caller (`rule-lens-auxiliary-access`) selects deterministically among them.
68
+ */
69
+ export declare function matchAccessForms(predicate: ScalarPlanNode, routables: readonly RoutableAuxiliary[]): MatchedAuxiliaryPath[];
70
+ //# sourceMappingURL=lens-access-form-matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lens-access-form-matcher.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/lens-access-form-matcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEpG,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAEjE,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAEzG,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAC;CAC3C;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAClC,QAAQ,EAAE,cAAc,EACxB,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,KACpC;IAAE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAQpD,gGAAgG;AAChG,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAKjG;AAeD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,aAAa,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAQvF;AAmCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,iBAAiB,EAAE,GACrC,oBAAoB,EAAE,CAgDxB"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Lens access-shape form matcher (ticket `lens-access-shape-path-selection`, D1/D5).
3
+ *
4
+ * Given the outer query's `WHERE` predicate over an inlined lens view and the
5
+ * routable auxiliary-access structures collected on a
6
+ * {@link LensAuxiliaryAccessNode}, decide which predicate fragments an
7
+ * auxiliary's advertised {@link AccessForm}s answer. Two sub-channels:
8
+ *
9
+ * - **comparison forms** (`equality`, `range`) — matched directly against a
10
+ * `column op value` conjunct whose column is an advertised access column. (v1
11
+ * uses a focused conjunct check rather than the full `extractConstraintsForTable`
12
+ * surface, which needs a fully-built plan + relation keys; the shape recognized
13
+ * is exactly the single-conjunct constraint that extractor would yield.)
14
+ * - **function-predicate forms** (`prefix`, `contains`, `intersects`, `knn`, and
15
+ * any open `string & {}`) — matched by an **extensible recognizer registry**
16
+ * keyed by form name. A built-in recognizer per built-in form matches a scalar
17
+ * function call whose name equals the form name over an advertised access
18
+ * column; modules register additional recognizers (e.g. `nd_contains` → the
19
+ * `contains` form) via {@link registerAccessFormRecognizer}.
20
+ *
21
+ * An advertised form with **no registered recognizer** (and not a comparison
22
+ * form) yields **no match** — the graceful-degrade contract (D5) that lets
23
+ * vector-similarity / full-text forms land later with zero engine change.
24
+ */
25
+ import { ColumnReferenceNode } from '../../nodes/reference.js';
26
+ import { ScalarFunctionCallNode } from '../../nodes/function.js';
27
+ import { BinaryOpNode } from '../../nodes/scalar.js';
28
+ import { splitConjuncts } from '../../analysis/predicate-conjuncts.js';
29
+ /** form name (lowercased) → recognizers. Multiple recognizers per form are tried in order. */
30
+ const recognizers = new Map();
31
+ /** The comparison forms ride the dedicated channel below, never the recognizer registry. */
32
+ const COMPARISON_FORMS = new Set(['equality', 'range']);
33
+ /** Register a recognizer for a function-predicate form (additive — coexists with built-ins). */
34
+ export function registerAccessFormRecognizer(form, recognizer) {
35
+ const key = form.toLowerCase();
36
+ const list = recognizers.get(key);
37
+ if (list)
38
+ list.push(recognizer);
39
+ else
40
+ recognizers.set(key, [recognizer]);
41
+ }
42
+ /** Walk a scalar subtree for the first ColumnReferenceNode whose attr is in `attrIds`. */
43
+ function findAccessColumnAttr(node, attrIds) {
44
+ const stack = [node];
45
+ while (stack.length) {
46
+ const n = stack.pop();
47
+ if (n instanceof ColumnReferenceNode && attrIds.has(n.attributeId)) {
48
+ return n.attributeId;
49
+ }
50
+ for (const c of n.getChildren())
51
+ stack.push(c);
52
+ }
53
+ return null;
54
+ }
55
+ /**
56
+ * A recognizer matching a scalar function call by name (case-insensitive) with
57
+ * an operand referencing an advertised access column. The built-in form
58
+ * recognizers are this factory bound to the form name; modules bind it (or a
59
+ * bespoke recognizer) to their own function names.
60
+ */
61
+ export function functionNameRecognizer(...functionNames) {
62
+ const names = new Set(functionNames.map(n => n.toLowerCase()));
63
+ return (conjunct, accessColumnAttrIds) => {
64
+ if (!(conjunct instanceof ScalarFunctionCallNode))
65
+ return null;
66
+ if (!names.has(conjunct.expression.name.toLowerCase()))
67
+ return null;
68
+ const attrId = findAccessColumnAttr(conjunct, accessColumnAttrIds);
69
+ return attrId === null ? null : { accessColumnAttrId: attrId };
70
+ };
71
+ }
72
+ // Built-in function-predicate recognizers: each matches a call named exactly the
73
+ // form it serves. `equality`/`range` are NOT here — they ride the comparison channel.
74
+ for (const form of ['prefix', 'contains', 'intersects', 'knn']) {
75
+ registerAccessFormRecognizer(form, functionNameRecognizer(form));
76
+ }
77
+ /** Match a `column op value` comparison conjunct on an advertised access column. */
78
+ function matchComparison(form, conjunct, accessColumnAttrIds) {
79
+ if (!(conjunct instanceof BinaryOpNode))
80
+ return null;
81
+ const op = conjunct.expression.operator;
82
+ const isEq = op === '=';
83
+ const isRange = op === '<' || op === '<=' || op === '>' || op === '>=';
84
+ if (form === 'equality' && !isEq)
85
+ return null;
86
+ if (form === 'range' && !isRange)
87
+ return null;
88
+ // One side a bare column reference to an advertised access column, the other
89
+ // not a column reference to the same table (a value/parameter/literal). The
90
+ // matcher only needs the column side to route — value validity is the
91
+ // auxiliary module's concern once the predicate is pushed.
92
+ const left = conjunct.left;
93
+ const right = conjunct.right;
94
+ const colSide = left instanceof ColumnReferenceNode && accessColumnAttrIds.has(left.attributeId) ? left :
95
+ right instanceof ColumnReferenceNode && accessColumnAttrIds.has(right.attributeId) ? right :
96
+ null;
97
+ if (!colSide)
98
+ return null;
99
+ return { accessColumnAttrId: colSide.attributeId };
100
+ }
101
+ /**
102
+ * Match the filter predicate against the routable auxiliaries' advertised forms.
103
+ * Returns one entry per (auxiliary, served-entry, form, conjunct) that matches —
104
+ * the caller (`rule-lens-auxiliary-access`) selects deterministically among them.
105
+ */
106
+ export function matchAccessForms(predicate, routables) {
107
+ const conjuncts = splitConjuncts(predicate);
108
+ const matches = [];
109
+ for (const routable of routables) {
110
+ // logical access-column attr id → its AuxAccessColumn descriptor.
111
+ const byLogicalAttr = new Map();
112
+ for (const ac of routable.accessColumns)
113
+ byLogicalAttr.set(ac.logicalAttrId, ac);
114
+ for (const servedEntry of routable.served) {
115
+ // Restrict to the access columns this served entry names AND that are
116
+ // locatable on both the logical body and the auxiliary scan.
117
+ const entryColumns = new Set(servedEntry.columns.map(c => c.toLowerCase()));
118
+ const entryAccessColumns = routable.accessColumns.filter(ac => entryColumns.has(ac.logicalColumn.toLowerCase()));
119
+ if (entryAccessColumns.length === 0)
120
+ continue;
121
+ const entryAttrIds = new Set(entryAccessColumns.map(ac => ac.logicalAttrId));
122
+ for (const form of servedEntry.forms) {
123
+ const formKey = String(form).toLowerCase();
124
+ const isComparison = COMPARISON_FORMS.has(formKey);
125
+ for (const conjunct of conjuncts) {
126
+ let hit = null;
127
+ if (isComparison) {
128
+ hit = matchComparison(form, conjunct, entryAttrIds);
129
+ }
130
+ else {
131
+ for (const rec of recognizers.get(formKey) ?? []) {
132
+ hit = rec(conjunct, entryAttrIds);
133
+ if (hit)
134
+ break;
135
+ }
136
+ }
137
+ if (!hit)
138
+ continue;
139
+ const accessColumn = byLogicalAttr.get(hit.accessColumnAttrId);
140
+ if (!accessColumn)
141
+ continue;
142
+ matches.push({
143
+ routable,
144
+ servedEntry,
145
+ form,
146
+ kind: isComparison ? 'comparison' : 'function-predicate',
147
+ accessColumn,
148
+ predicateFragment: conjunct,
149
+ });
150
+ }
151
+ }
152
+ }
153
+ }
154
+ return matches;
155
+ }
156
+ //# sourceMappingURL=lens-access-form-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lens-access-form-matcher.js","sourceRoot":"","sources":["../../../../../src/planner/rules/access/lens-access-form-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Rule: Lens Auxiliary Access (ticket `lens-access-shape-path-selection`).
3
+ *
4
+ * Routes an outer-query predicate over an inlined lens view through an advertised
5
+ * auxiliary-access structure (nd-tree spatial / vector knn / full-text) instead
6
+ * of leaving it a residual filter over the full decomposition scan. Registered on
7
+ * {@link FilterNode}, in the Structural (`rewrite`) pass, **before** generic
8
+ * predicate-pushdown so the predicate still sits directly above the
9
+ * {@link LensAuxiliaryAccessNode} marker.
10
+ *
11
+ * On a match (D1–D6):
12
+ * Filter[ nd_contains(coord, :pt) ∧ rest ] Filter[ rest ]?
13
+ * └─ marker( V ) ──► └─ V ⋈semi[V.pk = aux.key] Filter[nd_contains(aux.coord, :pt)](AuxScan)
14
+ *
15
+ * The matched predicate fragment is **consumed** (v1 treats an advertised form as
16
+ * exact — the auxiliary fully answers it). The access column is rewritten to the
17
+ * auxiliary's backing basis column so the auxiliary's module serves it through the
18
+ * existing access-path surface. The join-back is a **semi-join** on the logical
19
+ * primary key, which preserves the body's output attributes exactly (D4) and
20
+ * needs the auxiliary to be total over the logical key (the motivating nd-tree
21
+ * fixture is). No match / not routable ⇒ `null` (degrade — the marker survives as
22
+ * a transparent pass-through, D5).
23
+ *
24
+ * v1 scope: routes one **function-predicate** (exotic) match per firing; comparison
25
+ * forms (`equality`/`range`) the matcher also surfaces are deferred to the primary
26
+ * body's own pushdown (D2) and logged, not routed here.
27
+ */
28
+ import type { PlanNode } from '../../nodes/plan-node.js';
29
+ import type { OptContext } from '../../framework/context.js';
30
+ export declare function ruleLensAuxiliaryAccess(node: PlanNode, _context: OptContext): PlanNode | null;
31
+ //# sourceMappingURL=rule-lens-auxiliary-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-lens-auxiliary-access.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-lens-auxiliary-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAsC,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAmH7D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA6C7F"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Rule: Lens Auxiliary Access (ticket `lens-access-shape-path-selection`).
3
+ *
4
+ * Routes an outer-query predicate over an inlined lens view through an advertised
5
+ * auxiliary-access structure (nd-tree spatial / vector knn / full-text) instead
6
+ * of leaving it a residual filter over the full decomposition scan. Registered on
7
+ * {@link FilterNode}, in the Structural (`rewrite`) pass, **before** generic
8
+ * predicate-pushdown so the predicate still sits directly above the
9
+ * {@link LensAuxiliaryAccessNode} marker.
10
+ *
11
+ * On a match (D1–D6):
12
+ * Filter[ nd_contains(coord, :pt) ∧ rest ] Filter[ rest ]?
13
+ * └─ marker( V ) ──► └─ V ⋈semi[V.pk = aux.key] Filter[nd_contains(aux.coord, :pt)](AuxScan)
14
+ *
15
+ * The matched predicate fragment is **consumed** (v1 treats an advertised form as
16
+ * exact — the auxiliary fully answers it). The access column is rewritten to the
17
+ * auxiliary's backing basis column so the auxiliary's module serves it through the
18
+ * existing access-path surface. The join-back is a **semi-join** on the logical
19
+ * primary key, which preserves the body's output attributes exactly (D4) and
20
+ * needs the auxiliary to be total over the logical key (the motivating nd-tree
21
+ * fixture is). No match / not routable ⇒ `null` (degrade — the marker survives as
22
+ * a transparent pass-through, D5).
23
+ *
24
+ * v1 scope: routes one **function-predicate** (exotic) match per firing; comparison
25
+ * forms (`equality`/`range`) the matcher also surfaces are deferred to the primary
26
+ * body's own pushdown (D2) and logged, not routed here.
27
+ */
28
+ import { createLogger } from '../../../common/logger.js';
29
+ import { FilterNode } from '../../nodes/filter.js';
30
+ import { AliasNode } from '../../nodes/alias-node.js';
31
+ import { AssertedKeysNode } from '../../nodes/asserted-keys-node.js';
32
+ import { LensAuxiliaryAccessNode } from '../../nodes/lens-auxiliary-access-node.js';
33
+ import { JoinNode } from '../../nodes/join-node.js';
34
+ import { ColumnReferenceNode } from '../../nodes/reference.js';
35
+ import { BinaryOpNode } from '../../nodes/scalar.js';
36
+ import { PlanNodeType } from '../../nodes/plan-node-type.js';
37
+ import { normalizePredicate } from '../../analysis/predicate-normalizer.js';
38
+ import { splitConjuncts, combineConjuncts } from '../../analysis/predicate-conjuncts.js';
39
+ import { matchAccessForms } from './lens-access-form-matcher.js';
40
+ const log = createLogger('optimizer:rule:lens-auxiliary-access');
41
+ /** Walk through pass-through wrappers (Alias / AssertedKeys) to the marker, or null. */
42
+ function findMarker(node) {
43
+ if (node instanceof LensAuxiliaryAccessNode)
44
+ return node;
45
+ if (node instanceof AliasNode || node instanceof AssertedKeysNode) {
46
+ return findMarker(node.source);
47
+ }
48
+ return null;
49
+ }
50
+ /** Rebuild the pass-through chain with the marker replaced by `replacement`. */
51
+ function replaceMarker(node, replacement) {
52
+ if (node instanceof LensAuxiliaryAccessNode)
53
+ return replacement;
54
+ if (node instanceof AliasNode || node instanceof AssertedKeysNode) {
55
+ return node.withChildren([replaceMarker(node.source, replacement)]);
56
+ }
57
+ return node;
58
+ }
59
+ /**
60
+ * Whether every column reference in `fragment` resolves to `accessAttrId`. The
61
+ * rewrite only re-points the matched access column at the auxiliary's backing
62
+ * column and pushes the fragment below the semi-join onto the aux scan; any other
63
+ * logical column it references (e.g. `nd_contains(coord, other)`) would dangle
64
+ * there — the aux scan does not project it. Such a fragment is **not routable**
65
+ * (it degrades to scan, the same graceful-degrade contract as an unrecognized
66
+ * form), so we drop it before choosing a match rather than emit a broken plan.
67
+ */
68
+ function fragmentConfinedToAccessColumn(fragment, accessAttrId) {
69
+ const stack = [fragment];
70
+ while (stack.length) {
71
+ const n = stack.pop();
72
+ if (n instanceof ColumnReferenceNode && n.attributeId !== accessAttrId)
73
+ return false;
74
+ for (const c of n.getChildren())
75
+ stack.push(c);
76
+ }
77
+ return true;
78
+ }
79
+ /** Replace every ColumnReferenceNode to `fromAttrId` with `replacement` in a scalar subtree. */
80
+ function rewriteAttrRef(node, fromAttrId, replacement) {
81
+ if (node instanceof ColumnReferenceNode) {
82
+ return node.attributeId === fromAttrId ? replacement : node;
83
+ }
84
+ const children = node.getChildren();
85
+ let changed = false;
86
+ const newChildren = children.map(c => {
87
+ const nc = rewriteAttrRef(c, fromAttrId, replacement);
88
+ if (nc !== c)
89
+ changed = true;
90
+ return nc;
91
+ });
92
+ return changed ? node.withChildren(newChildren) : node;
93
+ }
94
+ function colRef(scope, ref, name) {
95
+ const expr = { type: 'column', name };
96
+ return new ColumnReferenceNode(scope, expr, ref.type, ref.attrId, ref.columnIndex);
97
+ }
98
+ /** Build the AND-of-equalities semi-join condition over the logical-PK ↔ aux-key pairs. */
99
+ function buildJoinCondition(scope, pairs) {
100
+ const eqs = pairs.map(p => {
101
+ const left = colRef(scope, p.logicalPk, 'pk');
102
+ const right = colRef(scope, p.auxKey, 'auxkey');
103
+ const expr = { type: 'binary', operator: '=', left: left.expression, right: right.expression };
104
+ return new BinaryOpNode(scope, expr, left, right);
105
+ });
106
+ return combineConjuncts(eqs);
107
+ }
108
+ /**
109
+ * Deterministically pick the routed match: function-predicate matches only (D2),
110
+ * ordered by advertisement id then the conjunct's position, so >1 candidate auxiliary
111
+ * resolves stably. Returns the chosen match and logs the rest.
112
+ */
113
+ function chooseMatch(matches, conjuncts) {
114
+ const routable = matches.filter(m => m.kind === 'function-predicate');
115
+ if (routable.length === 0) {
116
+ const deferred = matches.filter(m => m.kind === 'comparison');
117
+ if (deferred.length > 0) {
118
+ log('comparison-form match(es) on %s deferred to primary pushdown (v1, D2)', deferred.map(m => m.routable.advertisement.id).join(','));
119
+ }
120
+ return null;
121
+ }
122
+ const ordered = [...routable].sort((a, b) => {
123
+ const byId = a.routable.advertisement.id.localeCompare(b.routable.advertisement.id);
124
+ if (byId !== 0)
125
+ return byId;
126
+ return conjuncts.indexOf(a.predicateFragment) - conjuncts.indexOf(b.predicateFragment);
127
+ });
128
+ const chosen = ordered[0];
129
+ for (const other of ordered.slice(1)) {
130
+ if (other.routable.advertisement.id !== chosen.routable.advertisement.id || other.predicateFragment !== chosen.predicateFragment) {
131
+ log('auxiliary %s form %s un-chosen (chose %s)', other.routable.advertisement.id, other.form, chosen.routable.advertisement.id);
132
+ }
133
+ }
134
+ return chosen;
135
+ }
136
+ export function ruleLensAuxiliaryAccess(node, _context) {
137
+ if (node.nodeType !== PlanNodeType.Filter)
138
+ return null;
139
+ const filter = node;
140
+ const marker = findMarker(filter.source);
141
+ if (!marker)
142
+ return null;
143
+ // Normalize once, then operate entirely on the normalized conjuncts so the
144
+ // matched fragment is one of the conjuncts we rebuild the residual from.
145
+ const normalized = normalizePredicate(filter.predicate);
146
+ const conjuncts = splitConjuncts(normalized);
147
+ const matches = matchAccessForms(normalized, marker.routables)
148
+ // A routable fragment must reference only its access column; anything else
149
+ // would dangle when pushed below the semi-join onto the aux scan (degrade).
150
+ .filter(m => fragmentConfinedToAccessColumn(m.predicateFragment, m.accessColumn.logicalAttrId));
151
+ const chosen = chooseMatch(matches, conjuncts);
152
+ if (!chosen)
153
+ return null;
154
+ const { routable, accessColumn, predicateFragment } = chosen;
155
+ // Rewrite the access column in the matched fragment from the logical body's
156
+ // attribute to the auxiliary's own backing-column attribute, then push it onto
157
+ // the auxiliary scan (D3).
158
+ const auxColumnRef = colRef(filter.scope, accessColumn.auxRef, accessColumn.logicalColumn);
159
+ const rewrittenFragment = rewriteAttrRef(predicateFragment, accessColumn.logicalAttrId, auxColumnRef);
160
+ const auxScanFiltered = new FilterNode(filter.scope, routable.auxScan, rewrittenFragment);
161
+ // Semi-join the logical body (V = marker.source) back to the auxiliary seek on
162
+ // the logical primary key. Semi preserves V's attributes, so the consumed
163
+ // predicate's output shape is unchanged (D4).
164
+ const condition = buildJoinCondition(filter.scope, routable.joinPairs);
165
+ const semiJoin = new JoinNode(filter.scope, marker.source, auxScanFiltered, 'semi', condition);
166
+ // Splice the semi-join in where the marker was (through any Alias/AssertedKeys
167
+ // pass-throughs), and re-wrap any residual conjuncts as a Filter above it.
168
+ const rewrittenSource = replaceMarker(filter.source, semiJoin);
169
+ const residual = combineConjuncts(conjuncts.filter(c => c !== predicateFragment));
170
+ log('routed predicate via auxiliary %s (form %s, column %s)', routable.advertisement.id, chosen.form, accessColumn.logicalColumn);
171
+ if (residual) {
172
+ return new FilterNode(filter.scope, rewrittenSource, residual);
173
+ }
174
+ return rewrittenSource;
175
+ }
176
+ //# sourceMappingURL=rule-lens-auxiliary-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-lens-auxiliary-access.js","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-lens-auxiliary-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAA6B,MAAM,+BAA+B,CAAC;AAM5F,MAAM,GAAG,GAAG,YAAY,CAAC,sCAAsC,CAAC,CAAC;AAEjE,wFAAwF;AACxF,SAAS,UAAU,CAAC,IAAwB;IAC3C,IAAI,IAAI,YAAY,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;QACnE,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa,CAAC,IAAwB,EAAE,WAA+B;IAC/E,IAAI,IAAI,YAAY,uBAAuB;QAAE,OAAO,WAAW,CAAC;IAChE,IAAI,IAAI,YAAY,SAAS,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAuB,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,8BAA8B,CAAC,QAAwB,EAAE,YAAoB;IACrF,MAAM,KAAK,GAAqB,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QACvB,IAAI,CAAC,YAAY,mBAAmB,IAAI,CAAC,CAAC,WAAW,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QACrF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,CAAmB,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,IAAoB,EAAE,UAAkB,EAAE,WAAgC;IACjG,IAAI,IAAI,YAAY,mBAAmB,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACpC,MAAM,EAAE,GAAG,cAAc,CAAC,CAAmB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;QAC7B,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,MAAM,CAAC,KAAY,EAAE,GAA8D,EAAE,IAAY;IACzG,MAAM,IAAI,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtD,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;AACpF,CAAC;AAED,2FAA2F;AAC3F,SAAS,kBAAkB,CAAC,KAAY,EAAE,KAA6B;IACtE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,IAAI,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/G,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAmB,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,GAAG,CAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAwC,EAAE,SAAoC;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,uEAAuE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxI,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,KAAK,CAAC,iBAAiB,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAClI,GAAG,CAAC,2CAA2C,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACjI,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAc,EAAE,QAAoB;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,IAAkB,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;QAC7D,2EAA2E;QAC3E,4EAA4E;SAC3E,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAE7D,4EAA4E;IAC5E,+EAA+E;IAC/E,2BAA2B;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC3F,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACtG,MAAM,eAAe,GAAuB,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAE9G,+EAA+E;IAC/E,0EAA0E;IAC1E,8CAA8C;IAC9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAuB,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEnH,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC;IAElF,GAAG,CAAC,wDAAwD,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAElI,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,eAAe,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-select-access-path.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-select-access-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAoC7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA0EzF"}
1
+ {"version":3,"file":"rule-select-access-path.d.ts","sourceRoot":"","sources":["../../../../../src/planner/rules/access/rule-select-access-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAwC7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CA0EzF"}