@devrev/meerkat-core 0.0.97 → 0.0.98

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 (357) hide show
  1. package/package.json +2 -2
  2. package/src/ast-builder/ast-builder.js +91 -0
  3. package/src/ast-builder/ast-builder.js.map +1 -0
  4. package/src/ast-deserializer/ast-deserializer.js +17 -0
  5. package/src/ast-deserializer/ast-deserializer.js.map +1 -0
  6. package/src/ast-serializer/ast-serializer.js +8 -0
  7. package/src/ast-serializer/ast-serializer.js.map +1 -0
  8. package/src/ast-validator/dimension-validator.js +49 -0
  9. package/src/ast-validator/dimension-validator.js.map +1 -0
  10. package/src/ast-validator/index.js +12 -0
  11. package/src/ast-validator/index.js.map +1 -0
  12. package/src/ast-validator/measure-validator.js +155 -0
  13. package/src/ast-validator/measure-validator.js.map +1 -0
  14. package/{ast-validator → src/ast-validator}/tests/test-data.js +692 -890
  15. package/src/ast-validator/tests/test-data.js.map +1 -0
  16. package/src/ast-validator/types.js +3 -0
  17. package/src/ast-validator/types.js.map +1 -0
  18. package/src/ast-validator/utils.js +24 -0
  19. package/src/ast-validator/utils.js.map +1 -0
  20. package/src/context-params/context-params-ast.js +42 -0
  21. package/src/context-params/context-params-ast.js.map +1 -0
  22. package/src/cube-filter-transformer/and/and.js +14 -0
  23. package/src/cube-filter-transformer/and/and.js.map +1 -0
  24. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +145 -0
  25. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -0
  26. package/src/cube-filter-transformer/contains/contains.js +62 -0
  27. package/src/cube-filter-transformer/contains/contains.js.map +1 -0
  28. package/src/cube-filter-transformer/equals/equals-array.js +71 -0
  29. package/src/cube-filter-transformer/equals/equals-array.js.map +1 -0
  30. package/src/cube-filter-transformer/equals/equals.js +36 -0
  31. package/src/cube-filter-transformer/equals/equals.js.map +1 -0
  32. package/src/cube-filter-transformer/factory.js +120 -0
  33. package/src/cube-filter-transformer/factory.js.map +1 -0
  34. package/src/cube-filter-transformer/gt/gt.js +28 -0
  35. package/src/cube-filter-transformer/gt/gt.js.map +1 -0
  36. package/src/cube-filter-transformer/gte/gte.js +28 -0
  37. package/src/cube-filter-transformer/gte/gte.js.map +1 -0
  38. package/src/cube-filter-transformer/in/in.js +69 -0
  39. package/src/cube-filter-transformer/in/in.js.map +1 -0
  40. package/src/cube-filter-transformer/in-date-range/in-date-range.js +21 -0
  41. package/src/cube-filter-transformer/in-date-range/in-date-range.js.map +1 -0
  42. package/src/cube-filter-transformer/lt/lt.js +28 -0
  43. package/src/cube-filter-transformer/lt/lt.js.map +1 -0
  44. package/src/cube-filter-transformer/lte/lte.js +28 -0
  45. package/src/cube-filter-transformer/lte/lte.js.map +1 -0
  46. package/src/cube-filter-transformer/not/not.js +14 -0
  47. package/src/cube-filter-transformer/not/not.js.map +1 -0
  48. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +21 -0
  49. package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -0
  50. package/src/cube-filter-transformer/not-contains/not-contains.js +62 -0
  51. package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -0
  52. package/src/cube-filter-transformer/not-equals/not-equals-array.js +21 -0
  53. package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -0
  54. package/src/cube-filter-transformer/not-equals/not-equals.js +36 -0
  55. package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -0
  56. package/src/cube-filter-transformer/not-in/not-in.js +76 -0
  57. package/src/cube-filter-transformer/not-in/not-in.js.map +1 -0
  58. package/src/cube-filter-transformer/not-set/not-set.js +23 -0
  59. package/src/cube-filter-transformer/not-set/not-set.js.map +1 -0
  60. package/src/cube-filter-transformer/or/or.js +14 -0
  61. package/src/cube-filter-transformer/or/or.js.map +1 -0
  62. package/src/cube-filter-transformer/set/set.js +23 -0
  63. package/src/cube-filter-transformer/set/set.js.map +1 -0
  64. package/src/cube-group-by-transformer/cube-group-by-transformer.js +19 -0
  65. package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -0
  66. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js +42 -0
  67. package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +1 -0
  68. package/src/cube-measure-transformer/cube-measure-transformer.js +124 -0
  69. package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -0
  70. package/src/cube-order-by-transformer/cube-order-by-transformer.js +34 -0
  71. package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -0
  72. package/src/cube-to-duckdb/cube-filter-to-duckdb.js +3 -0
  73. package/src/cube-to-duckdb/cube-filter-to-duckdb.js.map +1 -0
  74. package/src/filter-params/filter-params-ast.js +114 -0
  75. package/src/filter-params/filter-params-ast.js.map +1 -0
  76. package/src/get-filter-params-sql/get-filter-params-sql.js +25 -0
  77. package/src/get-filter-params-sql/get-filter-params-sql.js.map +1 -0
  78. package/src/get-final-base-sql/get-final-base-sql.js +28 -0
  79. package/src/get-final-base-sql/get-final-base-sql.js.map +1 -0
  80. package/{get-wrapped-base-query-with-projections → src/get-wrapped-base-query-with-projections}/get-aliased-columns-from-filters.js +39 -64
  81. package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +1 -0
  82. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +83 -0
  83. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js.map +1 -0
  84. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +32 -0
  85. package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -0
  86. package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +32 -0
  87. package/src/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +1 -0
  88. package/src/index.js +37 -0
  89. package/src/index.js.map +1 -0
  90. package/src/joins/joins.js +162 -0
  91. package/src/joins/joins.js.map +1 -0
  92. package/src/member-formatters/constants.js +6 -0
  93. package/src/member-formatters/constants.js.map +1 -0
  94. package/src/member-formatters/index.js +10 -0
  95. package/src/member-formatters/index.js.map +1 -0
  96. package/src/member-formatters/member-key-to-safe-key.js +9 -0
  97. package/src/member-formatters/member-key-to-safe-key.js.map +1 -0
  98. package/src/member-formatters/split-into-data-source-and-fields.js +10 -0
  99. package/src/member-formatters/split-into-data-source-and-fields.js.map +1 -0
  100. package/src/resolution/resolution.js +112 -0
  101. package/src/resolution/resolution.js.map +1 -0
  102. package/src/resolution/types.js +5 -0
  103. package/src/resolution/types.js.map +1 -0
  104. package/src/types/cube-types/index.js +6 -0
  105. package/src/types/cube-types/index.js.map +1 -0
  106. package/src/types/cube-types/query.js +8 -0
  107. package/src/types/cube-types/query.js.map +1 -0
  108. package/src/types/cube-types/table.js +3 -0
  109. package/src/types/cube-types/table.js.map +1 -0
  110. package/src/types/duckdb-serialization-types/index.js +11 -0
  111. package/src/types/duckdb-serialization-types/index.js.map +1 -0
  112. package/{types → src/types}/duckdb-serialization-types/serialization/Constraint.js +6 -19
  113. package/src/types/duckdb-serialization-types/serialization/Constraint.js.map +1 -0
  114. package/{types → src/types}/duckdb-serialization-types/serialization/CreateInfo.js +10 -29
  115. package/src/types/duckdb-serialization-types/serialization/CreateInfo.js.map +1 -0
  116. package/{types → src/types}/duckdb-serialization-types/serialization/Expression.js +6 -19
  117. package/src/types/duckdb-serialization-types/serialization/Expression.js.map +1 -0
  118. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js +28 -0
  119. package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +1 -0
  120. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js +10 -0
  121. package/src/types/duckdb-serialization-types/serialization/MacroFunction.js.map +1 -0
  122. package/src/types/duckdb-serialization-types/serialization/Misc.js +3 -0
  123. package/src/types/duckdb-serialization-types/serialization/Misc.js.map +1 -0
  124. package/{types → src/types}/duckdb-serialization-types/serialization/Nodes.js +17 -45
  125. package/src/types/duckdb-serialization-types/serialization/Nodes.js.map +1 -0
  126. package/{types → src/types}/duckdb-serialization-types/serialization/ParseInfo.js +20 -54
  127. package/src/types/duckdb-serialization-types/serialization/ParseInfo.js.map +1 -0
  128. package/{types → src/types}/duckdb-serialization-types/serialization/ParsedExpression.js +6 -19
  129. package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +1 -0
  130. package/{types → src/types}/duckdb-serialization-types/serialization/QueryNode.js +8 -24
  131. package/src/types/duckdb-serialization-types/serialization/QueryNode.js.map +1 -0
  132. package/{types → src/types}/duckdb-serialization-types/serialization/ResultModifier.js +4 -9
  133. package/src/types/duckdb-serialization-types/serialization/ResultModifier.js.map +1 -0
  134. package/src/types/duckdb-serialization-types/serialization/Statement.js +3 -0
  135. package/src/types/duckdb-serialization-types/serialization/Statement.js.map +1 -0
  136. package/{types → src/types}/duckdb-serialization-types/serialization/TableFilter.js +4 -9
  137. package/src/types/duckdb-serialization-types/serialization/TableFilter.js.map +1 -0
  138. package/{types → src/types}/duckdb-serialization-types/serialization/TableRef.js +8 -24
  139. package/src/types/duckdb-serialization-types/serialization/TableRef.js.map +1 -0
  140. package/{types → src/types}/duckdb-serialization-types/serialization/Types.js +4 -9
  141. package/src/types/duckdb-serialization-types/serialization/Types.js.map +1 -0
  142. package/src/types/duckdb-serialization-types/serialization/example.js +109 -0
  143. package/src/types/duckdb-serialization-types/serialization/example.js.map +1 -0
  144. package/src/types/utils.js +69 -0
  145. package/src/types/utils.js.map +1 -0
  146. package/{utils → src/utils}/__fixtures__/joins.fixtures.js +228 -316
  147. package/src/utils/__fixtures__/joins.fixtures.js.map +1 -0
  148. package/src/utils/base-ast.js +49 -0
  149. package/src/utils/base-ast.js.map +1 -0
  150. package/src/utils/cube-filter-enrichment.js +53 -0
  151. package/src/utils/cube-filter-enrichment.js.map +1 -0
  152. package/{utils → src/utils}/cube-to-table-schema.js +25 -38
  153. package/src/utils/cube-to-table-schema.js.map +1 -0
  154. package/src/utils/cube-type-to-duckdb-type.js +12 -0
  155. package/src/utils/cube-type-to-duckdb-type.js.map +1 -0
  156. package/src/utils/find-in-table-schema.js +28 -0
  157. package/src/utils/find-in-table-schema.js.map +1 -0
  158. package/src/utils/get-column-names-from-ast.js +45 -0
  159. package/src/utils/get-column-names-from-ast.js.map +1 -0
  160. package/src/utils/get-possible-nodes.js +146 -0
  161. package/src/utils/get-possible-nodes.js.map +1 -0
  162. package/src/utils/get-type-info.js +34 -0
  163. package/src/utils/get-type-info.js.map +1 -0
  164. package/src/utils/is-array-member-type.js +8 -0
  165. package/src/utils/is-array-member-type.js.map +1 -0
  166. package/src/utils/key-from-measures-dimension.js +32 -0
  167. package/src/utils/key-from-measures-dimension.js.map +1 -0
  168. package/src/utils/meerkat-placeholder-replacer.js +10 -0
  169. package/src/utils/meerkat-placeholder-replacer.js.map +1 -0
  170. package/src/utils/modify-meerkat-filter.js +24 -0
  171. package/src/utils/modify-meerkat-filter.js.map +1 -0
  172. package/{utils → src/utils}/type-guards.js +10 -28
  173. package/src/utils/type-guards.js.map +1 -0
  174. package/ast-builder/ast-builder.js +0 -90
  175. package/ast-builder/ast-builder.js.map +0 -1
  176. package/ast-deserializer/ast-deserializer.js +0 -30
  177. package/ast-deserializer/ast-deserializer.js.map +0 -1
  178. package/ast-serializer/ast-serializer.js +0 -12
  179. package/ast-serializer/ast-serializer.js.map +0 -1
  180. package/ast-validator/dimension-validator.js +0 -54
  181. package/ast-validator/dimension-validator.js.map +0 -1
  182. package/ast-validator/index.js +0 -25
  183. package/ast-validator/index.js.map +0 -1
  184. package/ast-validator/measure-validator.js +0 -163
  185. package/ast-validator/measure-validator.js.map +0 -1
  186. package/ast-validator/tests/test-data.js.map +0 -1
  187. package/ast-validator/types.js +0 -3
  188. package/ast-validator/types.js.map +0 -1
  189. package/ast-validator/utils.js +0 -35
  190. package/ast-validator/utils.js.map +0 -1
  191. package/context-params/context-params-ast.js +0 -55
  192. package/context-params/context-params-ast.js.map +0 -1
  193. package/cube-filter-transformer/and/and.js +0 -18
  194. package/cube-filter-transformer/and/and.js.map +0 -1
  195. package/cube-filter-transformer/base-condition-builder/base-condition-builder.js +0 -160
  196. package/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +0 -1
  197. package/cube-filter-transformer/contains/contains.js +0 -71
  198. package/cube-filter-transformer/contains/contains.js.map +0 -1
  199. package/cube-filter-transformer/equals/equals-array.js +0 -77
  200. package/cube-filter-transformer/equals/equals-array.js.map +0 -1
  201. package/cube-filter-transformer/equals/equals.js +0 -37
  202. package/cube-filter-transformer/equals/equals.js.map +0 -1
  203. package/cube-filter-transformer/factory.js +0 -124
  204. package/cube-filter-transformer/factory.js.map +0 -1
  205. package/cube-filter-transformer/gt/gt.js +0 -30
  206. package/cube-filter-transformer/gt/gt.js.map +0 -1
  207. package/cube-filter-transformer/gte/gte.js +0 -30
  208. package/cube-filter-transformer/gte/gte.js.map +0 -1
  209. package/cube-filter-transformer/in/in.js +0 -78
  210. package/cube-filter-transformer/in/in.js.map +0 -1
  211. package/cube-filter-transformer/in-date-range/in-date-range.js +0 -24
  212. package/cube-filter-transformer/in-date-range/in-date-range.js.map +0 -1
  213. package/cube-filter-transformer/lt/lt.js +0 -30
  214. package/cube-filter-transformer/lt/lt.js.map +0 -1
  215. package/cube-filter-transformer/lte/lte.js +0 -30
  216. package/cube-filter-transformer/lte/lte.js.map +0 -1
  217. package/cube-filter-transformer/not/not.js +0 -18
  218. package/cube-filter-transformer/not/not.js.map +0 -1
  219. package/cube-filter-transformer/not-In-date-range/not-In-date-range.js +0 -24
  220. package/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +0 -1
  221. package/cube-filter-transformer/not-contains/not-contains.js +0 -71
  222. package/cube-filter-transformer/not-contains/not-contains.js.map +0 -1
  223. package/cube-filter-transformer/not-equals/not-equals-array.js +0 -26
  224. package/cube-filter-transformer/not-equals/not-equals-array.js.map +0 -1
  225. package/cube-filter-transformer/not-equals/not-equals.js +0 -37
  226. package/cube-filter-transformer/not-equals/not-equals.js.map +0 -1
  227. package/cube-filter-transformer/not-in/not-in.js +0 -85
  228. package/cube-filter-transformer/not-in/not-in.js.map +0 -1
  229. package/cube-filter-transformer/not-set/not-set.js +0 -27
  230. package/cube-filter-transformer/not-set/not-set.js.map +0 -1
  231. package/cube-filter-transformer/or/or.js +0 -18
  232. package/cube-filter-transformer/or/or.js.map +0 -1
  233. package/cube-filter-transformer/set/set.js +0 -27
  234. package/cube-filter-transformer/set/set.js.map +0 -1
  235. package/cube-group-by-transformer/cube-group-by-transformer.js +0 -25
  236. package/cube-group-by-transformer/cube-group-by-transformer.js.map +0 -1
  237. package/cube-limit-offset-transformer/cube-limit-offset-transformer.js +0 -42
  238. package/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +0 -1
  239. package/cube-measure-transformer/cube-measure-transformer.js +0 -127
  240. package/cube-measure-transformer/cube-measure-transformer.js.map +0 -1
  241. package/cube-order-by-transformer/cube-order-by-transformer.js +0 -39
  242. package/cube-order-by-transformer/cube-order-by-transformer.js.map +0 -1
  243. package/cube-to-duckdb/cube-filter-to-duckdb.js +0 -3
  244. package/cube-to-duckdb/cube-filter-to-duckdb.js.map +0 -1
  245. package/filter-params/filter-params-ast.js +0 -115
  246. package/filter-params/filter-params-ast.js.map +0 -1
  247. package/get-filter-params-sql/get-filter-params-sql.js +0 -28
  248. package/get-filter-params-sql/get-filter-params-sql.js.map +0 -1
  249. package/get-final-base-sql/get-final-base-sql.js +0 -30
  250. package/get-final-base-sql/get-final-base-sql.js.map +0 -1
  251. package/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +0 -1
  252. package/get-wrapped-base-query-with-projections/get-projection-clause.js +0 -87
  253. package/get-wrapped-base-query-with-projections/get-projection-clause.js.map +0 -1
  254. package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +0 -33
  255. package/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +0 -1
  256. package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js +0 -60
  257. package/get-wrapped-base-query-with-projections/sql-expression-modifiers.js.map +0 -1
  258. package/index.js +0 -66
  259. package/index.js.map +0 -1
  260. package/joins/joins.js +0 -170
  261. package/joins/joins.js.map +0 -1
  262. package/member-formatters/constants.js +0 -19
  263. package/member-formatters/constants.js.map +0 -1
  264. package/member-formatters/index.js +0 -23
  265. package/member-formatters/index.js.map +0 -1
  266. package/member-formatters/member-key-to-safe-key.js +0 -13
  267. package/member-formatters/member-key-to-safe-key.js.map +0 -1
  268. package/member-formatters/split-into-data-source-and-fields.js +0 -17
  269. package/member-formatters/split-into-data-source-and-fields.js.map +0 -1
  270. package/resolution/resolution.js +0 -128
  271. package/resolution/resolution.js.map +0 -1
  272. package/resolution/types.js +0 -10
  273. package/resolution/types.js.map +0 -1
  274. package/types/cube-types/index.d.js +0 -6
  275. package/types/cube-types/index.d.js.map +0 -1
  276. package/types/cube-types/index.js +0 -6
  277. package/types/cube-types/index.js.map +0 -1
  278. package/types/cube-types/query.d.js +0 -5
  279. package/types/cube-types/query.d.js.map +0 -1
  280. package/types/cube-types/query.js +0 -14
  281. package/types/cube-types/query.js.map +0 -1
  282. package/types/cube-types/table.d.js +0 -3
  283. package/types/cube-types/table.d.js.map +0 -1
  284. package/types/cube-types/table.js +0 -3
  285. package/types/cube-types/table.js.map +0 -1
  286. package/types/duckdb-serialization-types/index.d.js +0 -11
  287. package/types/duckdb-serialization-types/index.d.js.map +0 -1
  288. package/types/duckdb-serialization-types/index.js +0 -11
  289. package/types/duckdb-serialization-types/index.js.map +0 -1
  290. package/types/duckdb-serialization-types/serialization/Constraint.js.map +0 -1
  291. package/types/duckdb-serialization-types/serialization/CreateInfo.js.map +0 -1
  292. package/types/duckdb-serialization-types/serialization/Expression.d.js +0 -3
  293. package/types/duckdb-serialization-types/serialization/Expression.d.js.map +0 -1
  294. package/types/duckdb-serialization-types/serialization/Expression.js.map +0 -1
  295. package/types/duckdb-serialization-types/serialization/LogicalOperator.js +0 -47
  296. package/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +0 -1
  297. package/types/duckdb-serialization-types/serialization/MacroFunction.js +0 -15
  298. package/types/duckdb-serialization-types/serialization/MacroFunction.js.map +0 -1
  299. package/types/duckdb-serialization-types/serialization/Misc.d.js +0 -3
  300. package/types/duckdb-serialization-types/serialization/Misc.d.js.map +0 -1
  301. package/types/duckdb-serialization-types/serialization/Misc.js +0 -3
  302. package/types/duckdb-serialization-types/serialization/Misc.js.map +0 -1
  303. package/types/duckdb-serialization-types/serialization/Nodes.d.js +0 -3
  304. package/types/duckdb-serialization-types/serialization/Nodes.d.js.map +0 -1
  305. package/types/duckdb-serialization-types/serialization/Nodes.js.map +0 -1
  306. package/types/duckdb-serialization-types/serialization/ParseInfo.js.map +0 -1
  307. package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js +0 -3
  308. package/types/duckdb-serialization-types/serialization/ParsedExpression.d.js.map +0 -1
  309. package/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +0 -1
  310. package/types/duckdb-serialization-types/serialization/QueryNode.d.js +0 -3
  311. package/types/duckdb-serialization-types/serialization/QueryNode.d.js.map +0 -1
  312. package/types/duckdb-serialization-types/serialization/QueryNode.js.map +0 -1
  313. package/types/duckdb-serialization-types/serialization/ResultModifier.d.js +0 -3
  314. package/types/duckdb-serialization-types/serialization/ResultModifier.d.js.map +0 -1
  315. package/types/duckdb-serialization-types/serialization/ResultModifier.js.map +0 -1
  316. package/types/duckdb-serialization-types/serialization/Statement.d.js +0 -3
  317. package/types/duckdb-serialization-types/serialization/Statement.d.js.map +0 -1
  318. package/types/duckdb-serialization-types/serialization/Statement.js +0 -3
  319. package/types/duckdb-serialization-types/serialization/Statement.js.map +0 -1
  320. package/types/duckdb-serialization-types/serialization/TableFilter.d.js +0 -3
  321. package/types/duckdb-serialization-types/serialization/TableFilter.d.js.map +0 -1
  322. package/types/duckdb-serialization-types/serialization/TableFilter.js.map +0 -1
  323. package/types/duckdb-serialization-types/serialization/TableRef.d.js +0 -3
  324. package/types/duckdb-serialization-types/serialization/TableRef.d.js.map +0 -1
  325. package/types/duckdb-serialization-types/serialization/TableRef.js.map +0 -1
  326. package/types/duckdb-serialization-types/serialization/Types.d.js +0 -3
  327. package/types/duckdb-serialization-types/serialization/Types.d.js.map +0 -1
  328. package/types/duckdb-serialization-types/serialization/Types.js.map +0 -1
  329. package/types/duckdb-serialization-types/serialization/example.js +0 -131
  330. package/types/duckdb-serialization-types/serialization/example.js.map +0 -1
  331. package/types/utils.js +0 -108
  332. package/types/utils.js.map +0 -1
  333. package/utils/__fixtures__/joins.fixtures.js.map +0 -1
  334. package/utils/base-ast.js +0 -63
  335. package/utils/base-ast.js.map +0 -1
  336. package/utils/cube-filter-enrichment.js +0 -63
  337. package/utils/cube-filter-enrichment.js.map +0 -1
  338. package/utils/cube-to-table-schema.js.map +0 -1
  339. package/utils/cube-type-to-duckdb-type.js +0 -17
  340. package/utils/cube-type-to-duckdb-type.js.map +0 -1
  341. package/utils/find-in-table-schema.js +0 -40
  342. package/utils/find-in-table-schema.js.map +0 -1
  343. package/utils/get-column-names-from-ast.js +0 -45
  344. package/utils/get-column-names-from-ast.js.map +0 -1
  345. package/utils/get-possible-nodes.js +0 -152
  346. package/utils/get-possible-nodes.js.map +0 -1
  347. package/utils/get-type-info.js +0 -44
  348. package/utils/get-type-info.js.map +0 -1
  349. package/utils/is-array-member-type.js +0 -12
  350. package/utils/is-array-member-type.js.map +0 -1
  351. package/utils/key-from-measures-dimension.js +0 -35
  352. package/utils/key-from-measures-dimension.js.map +0 -1
  353. package/utils/meerkat-placeholder-replacer.js +0 -14
  354. package/utils/meerkat-placeholder-replacer.js.map +0 -1
  355. package/utils/modify-meerkat-filter.js +0 -30
  356. package/utils/modify-meerkat-filter.js.map +0 -1
  357. package/utils/type-guards.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../meerkat-core/src/ast-validator/tests/test-data.ts"],"sourcesContent":["import {\n ExpressionType,\n ParsedExpression,\n ResultModifierType,\n} from '../../types/duckdb-serialization-types';\nimport { ExpressionClass } from '../../types/duckdb-serialization-types/serialization/Expression';\n\nexport const EMPTY_VALID_FUNCTIONS = new Set<string>();\nexport const VALID_FUNCTIONS = new Set(['contains', 'round', 'power']);\n\nexport const COLUMN_REF_NODE: ParsedExpression = {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: 'alias',\n query_location: 0,\n column_names: ['column_name'],\n};\n\nexport const INVALID_NODE: ParsedExpression = {\n class: ExpressionClass.INVALID,\n type: ExpressionType.INVALID,\n alias: '',\n query_location: 0,\n};\n\nexport const DIMENSION_TEST_CASES = [\n {\n description: 'node type COLUMN_REF',\n node: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 0,\n column_names: ['column_name'],\n },\n validFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: ['column_name'],\n expected: true,\n },\n {\n description: 'node type COLUMN_REF with alias',\n node: COLUMN_REF_NODE,\n validFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: ['column_name'],\n expected: true,\n },\n {\n description: 'node type VALUE_CONSTANT',\n node: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 0,\n value: '1',\n },\n columnNames: [],\n validFunctions: EMPTY_VALID_FUNCTIONS,\n expected: true,\n },\n {\n description: 'node type OPERATOR_CAST',\n node: {\n class: ExpressionClass.CAST,\n type: ExpressionType.OPERATOR_CAST,\n alias: '',\n query_location: 7,\n child: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 12,\n column_names: ['column_name1'],\n },\n cast_type: {\n id: 1,\n },\n try_cast: false,\n },\n validFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: ['column_name1'],\n expected: true,\n },\n {\n description: 'node type OPERATOR_COALESCE',\n node: {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_COALESCE,\n alias: '',\n query_location: 18446744073709552000,\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 16,\n column_names: ['column_name2'],\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 38,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n ],\n },\n validFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: ['column_name2'],\n expected: true,\n },\n {\n description:\n 'node type FUNCTION with ROUND function and if it contains in validFunctions',\n columnNames: ['schema.column_name'],\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'round',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 13,\n column_names: ['schema', 'column_name'],\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 41,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 1,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n },\n validFunctions: VALID_FUNCTIONS,\n expected: true,\n },\n {\n description: 'node type CASE',\n columnNames: ['actual_close_date1', 'actual_close_date', 'created_date'],\n node: {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: '',\n query_location: 7,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_GREATERTHAN,\n alias: '',\n query_location: 35,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 17,\n column_names: ['actual_close_date'],\n },\n right: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 37,\n column_names: ['created_date'],\n },\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 55,\n column_names: ['actual_close_date1'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n validFunctions: EMPTY_VALID_FUNCTIONS,\n expected: true,\n },\n];\n\nexport const MEASURE_TEST_CASES = [\n {\n description: 'node type FUNCTION with count_star',\n query: 'count_star()',\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'count_star',\n schema: '',\n children: [],\n },\n validFunctions: new Set(['count_star']),\n validScalarFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: [],\n expected: true,\n },\n {\n description: 'node type FUNCTION with SUM',\n query: 'sum(column1)',\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'sum',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n query_location: 11,\n column_names: ['column1'],\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n },\n validFunctions: new Set(['sum']),\n validScalarFunctions: EMPTY_VALID_FUNCTIONS,\n columnNames: ['column1'],\n expected: true,\n },\n {\n description: 'node type FUNCTION with SUM and invalid function type',\n query: 'sum(column1)',\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'sum',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n query_location: 11,\n column_names: ['column1'],\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n },\n validFunctions: new Set(['min']),\n validScalarFunctions: new Set(['/']),\n error: 'Invalid function type: sum',\n expected: 'error',\n columnNames: ['column1'],\n },\n {\n description: 'node type FUNCTION with MAX and operator',\n columnNames: ['column1'],\n query: 'max(column1) / 1000',\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 38,\n function_name: '/',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'max',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 11,\n column_names: ['column1'],\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 40,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 1000,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n validFunctions: new Set(['max']),\n validScalarFunctions: new Set(['/']),\n expected: true,\n },\n {\n description: 'node type CASE_EXPR',\n query: 'CASE WHEN COUNT(id) > 1 THEN AVG(mtbf_hours) ELSE null END',\n columnNames: ['mtbf_hours', 'id'],\n node: {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: '',\n query_location: 7,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_GREATERTHAN,\n alias: '',\n query_location: 27,\n left: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 17,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 23,\n column_names: ['id'],\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 29,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 1,\n },\n },\n },\n then_expr: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 36,\n function_name: 'avg',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 40,\n column_names: ['mtbf_hours'],\n },\n ],\n filter: null,\n order_bys: {\n type: ResultModifierType.ORDER_MODIFIER,\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 57,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n validFunctions: new Set(['count', 'avg']),\n validScalarFunctions: EMPTY_VALID_FUNCTIONS,\n expected: true,\n },\n {\n description:\n 'node type FUNCTION with aggregation and case statement within',\n columnNames: ['modified_date', 'stage_json'],\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'max',\n schema: '',\n children: [\n {\n class: 'CASE',\n type: 'CASE_EXPR',\n alias: '',\n query_location: 11,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_EQUAL',\n alias: '',\n query_location: 43,\n left: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 32,\n function_name: '->>',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 21,\n column_names: ['stage_json'],\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 36,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'name',\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 45,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'Tech Doc Inprogress',\n },\n },\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 72,\n column_names: ['modified_date'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 91,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n validFunctions: new Set(['max']),\n validScalarFunctions: EMPTY_VALID_FUNCTIONS,\n expected: true,\n query:\n 'max(CASE WHEN stage_json->>name = \"Tech\" THEN modified_date ELSE NULL END)',\n },\n {\n description:\n 'node type FUNCTION two children of aggregation and operator operation on them',\n columnNames: ['mean_reciprocal_rank', 'total_queries'],\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 49,\n function_name: '/',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 7,\n function_name: 'sum',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 32,\n function_name: '*',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 11,\n column_names: ['mean_reciprocal_rank'],\n },\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 34,\n column_names: ['total_queries'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 51,\n function_name: 'sum',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 55,\n column_names: ['total_queries'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n validFunctions: new Set(['sum']),\n validScalarFunctions: new Set(['/', '*']),\n expected: true,\n query: 'sum(mean_reciprocal_rank * total_queries) / sum(total_queries)',\n },\n {\n description: 'node type CAST',\n query:\n \"CAST(COUNT(DISTINCT(id)) AS FLOAT) / NULLIF(DATEDIFF('day', MIN(created_date), MAX(created_date)) / 7 + 1, 0)\",\n columnNames: ['id', 'created_date', 'created_date1'],\n node: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 42,\n function_name: '/',\n schema: '',\n children: [\n {\n class: 'CAST',\n type: 'OPERATOR_CAST',\n alias: '',\n query_location: 7,\n child: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 12,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 27,\n column_names: ['id'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n cast_type: {\n id: 'FLOAT',\n type_info: null,\n },\n try_cast: false,\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 44,\n function_name: 'nullif',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 109,\n function_name: '+',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 105,\n function_name: '/',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 51,\n function_name: 'datediff',\n schema: '',\n children: [\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 60,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'day',\n },\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 67,\n function_name: 'min',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 71,\n column_names: ['created_date'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 86,\n function_name: 'max',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 90,\n column_names: ['created_date1'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 107,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 7,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 111,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 1,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 114,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n validFunctions: new Set(['count', 'datediff', 'min', 'max']),\n validScalarFunctions: new Set(['/', '*']),\n expected: true,\n },\n {\n description: 'node type COALESCE',\n query: 'COALESCE(SUM(amount) FILTER(direction = \"Income\"), 0)',\n columnNames: ['amount'],\n node: {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_COALESCE,\n alias: '',\n query_location: 18446744073709552000,\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 16,\n function_name: 'sum',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 20,\n column_names: ['amount'],\n },\n ],\n filter: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n query_location: 45,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 35,\n column_names: ['direction'],\n },\n right: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 47,\n column_names: ['Income'],\n },\n },\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 58,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n ],\n },\n validFunctions: new Set(['sum']),\n validScalarFunctions: new Set(['/']),\n expected: true,\n },\n {\n description: 'node type WINDOW_AGGREGATE',\n query:\n 'AVG(COUNT(column1)) OVER (ORDER BY (MEERKAT).record_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)',\n columnNames: ['column1'],\n node: {\n class: ExpressionClass.WINDOW,\n type: ExpressionType.WINDOW_AGGREGATE,\n alias: '',\n query_location: 7,\n function_name: 'avg',\n schema: '',\n catalog: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 11,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 17,\n column_names: ['column1'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n partitions: [],\n orders: [\n {\n type: 'ORDER_DEFAULT',\n null_order: 'ORDER_DEFAULT',\n expression: {\n class: 'OPERATOR',\n type: 'STRUCT_EXTRACT',\n alias: '',\n query_location: 18446744073709552000,\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 54,\n column_names: ['MEERKAT'],\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'record_date',\n },\n },\n ],\n },\n },\n ],\n start: 'EXPR_PRECEDING_ROWS',\n end: 'CURRENT_ROW_ROWS',\n start_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 88,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 6,\n },\n },\n end_expr: null,\n offset_expr: null,\n default_expr: null,\n ignore_nulls: false,\n filter_expr: null,\n exclude_clause: 'NO_OTHER',\n distinct: false,\n },\n validFunctions: new Set(['avg', 'count']),\n validScalarFunctions: new Set(['/']),\n expected: true,\n },\n {\n description: 'node type FUNCTION - AVG with nested scalar function',\n query: \"AVG(DATE_DIFF('minute', created_date, first_response_time))\",\n columnNames: ['created_date', 'first_response_time'],\n node: {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 7,\n function_name: 'avg',\n schema: '',\n children: [\n {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 11,\n function_name: 'date_diff',\n schema: '',\n children: [\n {\n class: 'CONSTANT',\n type: 'VALUE_CONSTANT',\n alias: '',\n query_location: 21,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'minute',\n },\n },\n {\n class: 'COLUMN_REF',\n type: 'COLUMN_REF',\n alias: '',\n query_location: 31,\n column_names: ['created_date'],\n },\n {\n class: 'COLUMN_REF',\n type: 'COLUMN_REF',\n alias: '',\n query_location: 45,\n column_names: ['first_response_time'],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n validFunctions: new Set(['avg', 'count']),\n validScalarFunctions: new Set(['date_diff']),\n expected: true,\n },\n {\n description: 'node type SUBQUERY',\n columnNames: [\n 'id',\n 'sla_stage',\n 'first_resp_time_arr',\n 'total_first_resp_breaches_ever',\n ],\n query:\n \"(SELECT CASE WHEN COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END) > 0 THEN 100 - (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) * 100.0 / (COUNT(DISTINCT CASE WHEN sla_stage = ''breached'' THEN id END) + COUNT(DISTINCT CASE WHEN sla_stage = ''completed'' AND ARRAY_LENGTH(first_resp_time_arr) > 0 AND (total_first_resp_breaches_ever = 0 OR total_first_resp_breaches_ever IS NULL) THEN id END))) ELSE NULL END AS result)\",\n node: {\n class: ExpressionClass.SUBQUERY,\n type: ExpressionType.SUBQUERY,\n alias: '',\n query_location: 7,\n\n subquery: {\n node: {\n type: 'SELECT_NODE',\n modifiers: [],\n cte_map: {\n map: [],\n },\n select_list: [\n {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: 'result',\n query_location: 15,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_GREATERTHAN,\n alias: '',\n query_location: 275,\n left: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 86,\n function_name: '+',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 25,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: '',\n query_location: 40,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n query_location: 60,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 50,\n column_names: ['sla_stage'],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 62,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'breached',\n },\n },\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 78,\n column_names: ['id'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 88,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: '',\n query_location: 103,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.CONJUNCTION,\n type: ExpressionType.CONJUNCTION_AND,\n alias: '',\n query_location: 137,\n children: [\n {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n query_location: 123,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 113,\n column_names: ['sla_stage'],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 125,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'completed',\n },\n },\n },\n {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_GREATERTHAN',\n alias: '',\n query_location: 175,\n left: {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 141,\n function_name: 'array_length',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 154,\n column_names: [\n 'first_resp_time_arr',\n ],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 177,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n },\n {\n class: 'CONJUNCTION',\n type: 'CONJUNCTION_OR',\n alias: '',\n query_location: 219,\n children: [\n {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_EQUAL',\n alias: '',\n query_location: 215,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 184,\n column_names: [\n 'total_first_resp_breaches_ever',\n ],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 217,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n },\n {\n class: 'OPERATOR',\n type: 'OPERATOR_IS_NULL',\n alias: '',\n query_location: 253,\n children: [\n {\n class:\n ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 222,\n column_names: [\n 'total_first_resp_breaches_ever',\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 267,\n column_names: ['id'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 277,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n },\n then_expr: {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 288,\n function_name: '-',\n schema: '',\n children: [\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 284,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 100,\n },\n },\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 360,\n function_name: '/',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 352,\n function_name: '*',\n schema: '',\n children: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n query_location: 291,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: ExpressionClass.CASE,\n type: ExpressionType.CASE_EXPR,\n alias: '',\n query_location: 306,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: ExpressionType.COMPARE_EQUAL,\n alias: '',\n query_location: 326,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 316,\n column_names: ['sla_stage'],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 328,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'breached',\n },\n },\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 344,\n column_names: ['id'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 354,\n value: {\n type: {\n id: 'DECIMAL',\n type_info: {\n type: 'DECIMAL_TYPE_INFO',\n alias: '',\n modifiers: [],\n width: 4,\n scale: 1,\n },\n },\n is_null: false,\n value: 1000,\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 424,\n function_name: '+',\n schema: '',\n children: [\n {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 363,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: 'CASE',\n type: 'CASE_EXPR',\n alias: '',\n query_location: 378,\n case_checks: [\n {\n when_expr: {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_EQUAL',\n alias: '',\n query_location: 398,\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 388,\n column_names: ['sla_stage'],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 400,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'breached',\n },\n },\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 416,\n column_names: ['id'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 426,\n function_name: 'count',\n schema: '',\n children: [\n {\n class: 'CASE',\n type: 'CASE_EXPR',\n alias: '',\n query_location: 441,\n case_checks: [\n {\n when_expr: {\n class: 'CONJUNCTION',\n type: 'CONJUNCTION_AND',\n alias: '',\n query_location: 475,\n children: [\n {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_EQUAL',\n alias: '',\n query_location: 461,\n left: {\n class:\n ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 451,\n column_names: ['sla_stage'],\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 463,\n value: {\n type: {\n id: 'VARCHAR',\n type_info: null,\n },\n is_null: false,\n value: 'completed',\n },\n },\n },\n {\n class: ExpressionClass.COMPARISON,\n type: 'COMPARE_GREATERTHAN',\n alias: '',\n query_location: 513,\n left: {\n class: 'FUNCTION',\n type: 'FUNCTION',\n alias: '',\n query_location: 479,\n function_name: 'array_length',\n schema: '',\n children: [\n {\n class:\n ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 492,\n column_names: [\n 'first_resp_time_arr',\n ],\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 515,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n },\n {\n class: 'CONJUNCTION',\n type: 'CONJUNCTION_OR',\n alias: '',\n query_location: 557,\n children: [\n {\n class:\n ExpressionClass.COMPARISON,\n type: 'COMPARE_EQUAL',\n alias: '',\n query_location: 553,\n left: {\n class:\n ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 522,\n column_names: [\n 'total_first_resp_breaches_ever',\n ],\n },\n right: {\n class:\n ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 555,\n value: {\n type: {\n id: 'INTEGER',\n type_info: null,\n },\n is_null: false,\n value: 0,\n },\n },\n },\n {\n class: 'OPERATOR',\n type: 'OPERATOR_IS_NULL',\n alias: '',\n query_location: 591,\n children: [\n {\n class:\n ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 560,\n column_names: [\n 'total_first_resp_breaches_ever',\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n then_expr: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n query_location: 605,\n column_names: ['id'],\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 18446744073709552000,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: true,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n },\n },\n ],\n else_expr: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n query_location: 620,\n value: {\n type: {\n id: 'NULL',\n type_info: null,\n },\n is_null: true,\n },\n },\n },\n ],\n from_table: {\n type: 'EMPTY',\n alias: '',\n sample: null,\n query_location: 18446744073709552000,\n },\n where_clause: null,\n group_expressions: [],\n group_sets: [],\n aggregate_handling: 'STANDARD_HANDLING',\n having: null,\n sample: null,\n qualify: null,\n },\n },\n child: null,\n comparison_type: 'INVALID',\n },\n validFunctions: new Set(['count', 'count_star']),\n validScalarFunctions: new Set(['-', '/', '*', '+']),\n expected: true,\n },\n];\n"],"names":["COLUMN_REF_NODE","DIMENSION_TEST_CASES","EMPTY_VALID_FUNCTIONS","INVALID_NODE","MEASURE_TEST_CASES","VALID_FUNCTIONS","Set","class","ExpressionClass","COLUMN_REF","type","ExpressionType","alias","query_location","column_names","INVALID","description","node","validFunctions","columnNames","expected","CONSTANT","VALUE_CONSTANT","value","CAST","OPERATOR_CAST","child","cast_type","id","try_cast","OPERATOR","OPERATOR_COALESCE","children","type_info","is_null","FUNCTION","function_name","schema","filter","order_bys","ResultModifierType","ORDER_MODIFIER","orders","distinct","is_operator","export_state","CASE","CASE_EXPR","case_checks","when_expr","COMPARISON","COMPARE_GREATERTHAN","left","right","then_expr","else_expr","query","validScalarFunctions","error","catalog","COMPARE_EQUAL","WINDOW","WINDOW_AGGREGATE","partitions","null_order","expression","start","end","start_expr","end_expr","offset_expr","default_expr","ignore_nulls","filter_expr","exclude_clause","SUBQUERY","subquery","modifiers","cte_map","map","select_list","CONJUNCTION","CONJUNCTION_AND","width","scale","from_table","sample","where_clause","group_expressions","group_sets","aggregate_handling","having","qualify","comparison_type"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../meerkat-core/src/ast-validator/types.ts"],"names":[],"mappings":""}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- function _export(target, all) {
3
- for(var name in all)Object.defineProperty(target, name, {
4
- enumerable: true,
5
- get: all[name]
6
- });
7
- }
8
- _export(exports, {
9
- getSelectNode: function() {
10
- return getSelectNode;
11
- },
12
- isError: function() {
13
- return isError;
14
- }
15
- });
16
- function getSelectNode(parsedSerialization) {
17
- var _parsedSerialization_statements;
18
- const statement = (_parsedSerialization_statements = parsedSerialization.statements) == null ? void 0 : _parsedSerialization_statements[0];
19
- if (!statement) {
20
- throw new Error('No statement found');
21
- }
22
- if (statement.node.type !== 'SELECT_NODE') {
23
- throw new Error('Statement must be a SELECT node');
24
- }
25
- const selectList = statement.node.select_list;
26
- if (!(selectList == null ? void 0 : selectList.length) || selectList.length !== 1) {
27
- throw new Error('SELECT must contain exactly one expression');
28
- }
29
- return selectList[0];
30
- }
31
- const isError = (data)=>{
32
- return !!data.error;
33
- };
34
-
35
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../meerkat-core/src/ast-validator/utils.ts"],"sourcesContent":["import { ParsedExpression } from '../types/duckdb-serialization-types';\nimport { ParsedSerialization } from './types';\n\nexport function getSelectNode(\n parsedSerialization: ParsedSerialization\n): ParsedExpression {\n const statement = parsedSerialization.statements?.[0];\n if (!statement) {\n throw new Error('No statement found');\n }\n\n if (statement.node.type !== 'SELECT_NODE') {\n throw new Error('Statement must be a SELECT node');\n }\n\n const selectList = statement.node.select_list;\n if (!selectList?.length || selectList.length !== 1) {\n throw new Error('SELECT must contain exactly one expression');\n }\n\n return selectList[0];\n}\n\nexport const isError = (data: ParsedSerialization): boolean => {\n return !!data.error;\n};\n"],"names":["getSelectNode","isError","parsedSerialization","statement","statements","Error","node","type","selectList","select_list","length","data","error"],"mappings":";;;;;;;;IAGgBA,aAAa;eAAbA;;IAoBHC,OAAO;eAAPA;;;AApBN,SAASD,cACdE,mBAAwC;QAEtBA;IAAlB,MAAMC,aAAYD,kCAAAA,oBAAoBE,UAAU,qBAA9BF,+BAAgC,CAAC,EAAE;IACrD,IAAI,CAACC,WAAW;QACd,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAIF,UAAUG,IAAI,CAACC,IAAI,KAAK,eAAe;QACzC,MAAM,IAAIF,MAAM;IAClB;IAEA,MAAMG,aAAaL,UAAUG,IAAI,CAACG,WAAW;IAC7C,IAAI,EAACD,8BAAAA,WAAYE,MAAM,KAAIF,WAAWE,MAAM,KAAK,GAAG;QAClD,MAAM,IAAIL,MAAM;IAClB;IAEA,OAAOG,UAAU,CAAC,EAAE;AACtB;AAEO,MAAMP,UAAU,CAACU;IACtB,OAAO,CAAC,CAACA,KAAKC,KAAK;AACrB"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- function _export(target, all) {
3
- for(var name in all)Object.defineProperty(target, name, {
4
- enumerable: true,
5
- get: all[name]
6
- });
7
- }
8
- _export(exports, {
9
- applyContextParamsToBaseSQL: function() {
10
- return applyContextParamsToBaseSQL;
11
- },
12
- detectAllContextParams: function() {
13
- return detectAllContextParams;
14
- },
15
- detectApplyContextParamsToBaseSQL: function() {
16
- return detectApplyContextParamsToBaseSQL;
17
- }
18
- });
19
- const detectAllContextParams = (sql)=>{
20
- const regex = /\$\{CONTEXT_PARAMS\.([^}]*)\}/g;
21
- const matches = [];
22
- let match;
23
- while((match = regex.exec(sql)) !== null){
24
- matches.push({
25
- memberKey: match[1],
26
- matchKey: match[0]
27
- });
28
- }
29
- return matches;
30
- };
31
- const applyContextParamsToBaseSQL = (baseSQL, contextParamsSQL)=>{
32
- let newSQL = baseSQL;
33
- for (const contextParamSQL of contextParamsSQL){
34
- // Replace matchKey with contextParamSQL
35
- newSQL = newSQL.replace(contextParamSQL.matchKey, contextParamSQL.contextParamSQL);
36
- }
37
- return newSQL;
38
- };
39
- const detectApplyContextParamsToBaseSQL = (baseSQL, contextParams)=>{
40
- const contextParamsSQL = [];
41
- const contextParamsKeys = detectAllContextParams(baseSQL);
42
- for (const contextParamsKey of contextParamsKeys){
43
- const contextParamSQL = contextParams[contextParamsKey.memberKey];
44
- if (contextParamSQL) {
45
- contextParamsSQL.push({
46
- memberKey: contextParamsKey.memberKey,
47
- matchKey: contextParamsKey.matchKey,
48
- contextParamSQL: contextParamSQL
49
- });
50
- }
51
- }
52
- return applyContextParamsToBaseSQL(baseSQL, contextParamsSQL);
53
- };
54
-
55
- //# sourceMappingURL=context-params-ast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../meerkat-core/src/context-params/context-params-ast.ts"],"sourcesContent":["import { ContextParams } from '../types/cube-types/table';\n\nexport const detectAllContextParams = (\n sql: string\n): {\n memberKey: string;\n matchKey: string;\n}[] => {\n const regex = /\\$\\{CONTEXT_PARAMS\\.([^}]*)\\}/g;\n const matches = [];\n let match;\n\n while ((match = regex.exec(sql)) !== null) {\n matches.push({\n memberKey: match[1],\n matchKey: match[0],\n });\n }\n\n return matches;\n};\n\nexport const applyContextParamsToBaseSQL = (\n baseSQL: string,\n contextParamsSQL: {\n memberKey: string;\n contextParamSQL: string;\n matchKey: string;\n }[]\n) => {\n let newSQL = baseSQL;\n for (const contextParamSQL of contextParamsSQL) {\n // Replace matchKey with contextParamSQL\n newSQL = newSQL.replace(\n contextParamSQL.matchKey,\n contextParamSQL.contextParamSQL\n );\n }\n return newSQL;\n};\n\nexport const detectApplyContextParamsToBaseSQL = (\n baseSQL: string,\n contextParams: ContextParams\n) => {\n const contextParamsSQL = [];\n const contextParamsKeys = detectAllContextParams(baseSQL);\n\n for (const contextParamsKey of contextParamsKeys) {\n const contextParamSQL = contextParams[contextParamsKey.memberKey];\n if (contextParamSQL) {\n contextParamsSQL.push({\n memberKey: contextParamsKey.memberKey,\n matchKey: contextParamsKey.matchKey,\n contextParamSQL: contextParamSQL,\n });\n }\n }\n\n return applyContextParamsToBaseSQL(baseSQL, contextParamsSQL);\n};\n"],"names":["applyContextParamsToBaseSQL","detectAllContextParams","detectApplyContextParamsToBaseSQL","sql","regex","matches","match","exec","push","memberKey","matchKey","baseSQL","contextParamsSQL","newSQL","contextParamSQL","replace","contextParams","contextParamsKeys","contextParamsKey"],"mappings":";;;;;;;;IAsBaA,2BAA2B;eAA3BA;;IApBAC,sBAAsB;eAAtBA;;IAuCAC,iCAAiC;eAAjCA;;;AAvCN,MAAMD,yBAAyB,CACpCE;IAKA,MAAMC,QAAQ;IACd,MAAMC,UAAU,EAAE;IAClB,IAAIC;IAEJ,MAAO,AAACA,CAAAA,QAAQF,MAAMG,IAAI,CAACJ,IAAG,MAAO,KAAM;QACzCE,QAAQG,IAAI,CAAC;YACXC,WAAWH,KAAK,CAAC,EAAE;YACnBI,UAAUJ,KAAK,CAAC,EAAE;QACpB;IACF;IAEA,OAAOD;AACT;AAEO,MAAML,8BAA8B,CACzCW,SACAC;IAMA,IAAIC,SAASF;IACb,KAAK,MAAMG,mBAAmBF,iBAAkB;QAC9C,wCAAwC;QACxCC,SAASA,OAAOE,OAAO,CACrBD,gBAAgBJ,QAAQ,EACxBI,gBAAgBA,eAAe;IAEnC;IACA,OAAOD;AACT;AAEO,MAAMX,oCAAoC,CAC/CS,SACAK;IAEA,MAAMJ,mBAAmB,EAAE;IAC3B,MAAMK,oBAAoBhB,uBAAuBU;IAEjD,KAAK,MAAMO,oBAAoBD,kBAAmB;QAChD,MAAMH,kBAAkBE,aAAa,CAACE,iBAAiBT,SAAS,CAAC;QACjE,IAAIK,iBAAiB;YACnBF,iBAAiBJ,IAAI,CAAC;gBACpBC,WAAWS,iBAAiBT,SAAS;gBACrCC,UAAUQ,iBAAiBR,QAAQ;gBACnCI,iBAAiBA;YACnB;QACF;IACF;IAEA,OAAOd,4BAA4BW,SAASC;AAC9C"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "andDuckdbCondition", {
3
- enumerable: true,
4
- get: function() {
5
- return andDuckdbCondition;
6
- }
7
- });
8
- const _index = require("../../types/duckdb-serialization-types/index");
9
- const andDuckdbCondition = ()=>{
10
- return {
11
- class: _index.ExpressionClass.CONJUNCTION,
12
- type: _index.ExpressionType.CONJUNCTION_AND,
13
- alias: '',
14
- children: []
15
- };
16
- };
17
-
18
- //# sourceMappingURL=and.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../meerkat-core/src/cube-filter-transformer/and/and.ts"],"sourcesContent":["import {\n ConjunctionExpression,\n ExpressionClass,\n ExpressionType,\n} from '../../types/duckdb-serialization-types/index';\n\nexport const andDuckdbCondition = (): ConjunctionExpression => {\n return {\n class: ExpressionClass.CONJUNCTION,\n type: ExpressionType.CONJUNCTION_AND,\n alias: '',\n children: [],\n };\n};\n"],"names":["andDuckdbCondition","class","ExpressionClass","CONJUNCTION","type","ExpressionType","CONJUNCTION_AND","alias","children"],"mappings":";+BAMaA;;;eAAAA;;;uBAFN;AAEA,MAAMA,qBAAqB;IAChC,OAAO;QACLC,OAAOC,sBAAe,CAACC,WAAW;QAClCC,MAAMC,qBAAc,CAACC,eAAe;QACpCC,OAAO;QACPC,UAAU,EAAE;IACd;AACF"}
@@ -1,160 +0,0 @@
1
- "use strict";
2
- function _export(target, all) {
3
- for(var name in all)Object.defineProperty(target, name, {
4
- enumerable: true,
5
- get: all[name]
6
- });
7
- }
8
- _export(exports, {
9
- baseArrayDuckdbCondition: function() {
10
- return baseArrayDuckdbCondition;
11
- },
12
- baseDuckdbCondition: function() {
13
- return baseDuckdbCondition;
14
- },
15
- valueBuilder: function() {
16
- return valueBuilder;
17
- }
18
- });
19
- const _constants = require("../../member-formatters/constants");
20
- const _index = require("../../types/duckdb-serialization-types/index");
21
- const _cubetypetoduckdbtype = require("../../utils/cube-type-to-duckdb-type");
22
- const _gettypeinfo = require("../../utils/get-type-info");
23
- const baseDuckdbCondition = (columnName, type, value, memberInfo)=>{
24
- return {
25
- class: _index.ExpressionClass.COMPARISON,
26
- type: type,
27
- alias: '',
28
- left: {
29
- class: _index.ExpressionClass.COLUMN_REF,
30
- type: _index.ExpressionType.COLUMN_REF,
31
- alias: '',
32
- column_names: columnName.split(_constants.COLUMN_NAME_DELIMITER)
33
- },
34
- right: {
35
- class: _index.ExpressionClass.CONSTANT,
36
- type: _index.ExpressionType.VALUE_CONSTANT,
37
- alias: '',
38
- value: valueBuilder(value, memberInfo)
39
- }
40
- };
41
- };
42
- const baseArrayDuckdbCondition = (columnName, type, value, memberInfo)=>{
43
- return {
44
- class: _index.ExpressionClass.SUBQUERY,
45
- type: _index.ExpressionType.SUBQUERY,
46
- alias: '',
47
- subquery_type: _index.SubqueryType.ANY,
48
- subquery: {
49
- node: {
50
- type: _index.QueryNodeType.SELECT_NODE,
51
- modifiers: [],
52
- cte_map: {
53
- map: []
54
- },
55
- select_list: [
56
- {
57
- class: _index.ExpressionClass.FUNCTION,
58
- type: _index.ExpressionType.FUNCTION,
59
- alias: '',
60
- function_name: 'unnest',
61
- schema: '',
62
- children: [
63
- {
64
- class: _index.ExpressionClass.COLUMN_REF,
65
- type: _index.ExpressionType.COLUMN_REF,
66
- alias: '',
67
- column_names: columnName.split(_constants.COLUMN_NAME_DELIMITER)
68
- }
69
- ],
70
- filter: null,
71
- order_bys: {
72
- type: 'ORDER_MODIFIER',
73
- orders: []
74
- },
75
- distinct: false,
76
- is_operator: false,
77
- export_state: false,
78
- catalog: ''
79
- }
80
- ],
81
- from_table: {
82
- type: 'EMPTY',
83
- alias: '',
84
- sample: null
85
- },
86
- where_clause: null,
87
- group_expressions: [],
88
- group_sets: [],
89
- aggregate_handling: 'STANDARD_HANDLING',
90
- having: null,
91
- sample: null,
92
- qualify: null
93
- }
94
- },
95
- child: {
96
- class: 'CONSTANT',
97
- type: 'VALUE_CONSTANT',
98
- alias: '',
99
- value: valueBuilder(value, memberInfo)
100
- },
101
- comparison_type: type
102
- };
103
- };
104
- const valueBuilder = (value, memberInfo)=>{
105
- switch(memberInfo.type){
106
- case 'string':
107
- return {
108
- type: {
109
- id: _cubetypetoduckdbtype.CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],
110
- type_info: null
111
- },
112
- is_null: false,
113
- value: value
114
- };
115
- case 'number':
116
- {
117
- const parsedValue = parseFloat(value);
118
- return {
119
- type: {
120
- id: _cubetypetoduckdbtype.CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],
121
- type_info: (0, _gettypeinfo.getTypeInfo)(parsedValue)
122
- },
123
- is_null: false,
124
- value: (0, _gettypeinfo.convertFloatToInt)(parsedValue)
125
- };
126
- }
127
- case 'boolean':
128
- {
129
- const parsedValue = value === 'true';
130
- return {
131
- type: {
132
- id: _cubetypetoduckdbtype.CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],
133
- type_info: null
134
- },
135
- is_null: false,
136
- value: parsedValue
137
- };
138
- }
139
- case 'time':
140
- return {
141
- type: {
142
- id: _cubetypetoduckdbtype.CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],
143
- type_info: null
144
- },
145
- is_null: false,
146
- value: value
147
- };
148
- default:
149
- return {
150
- type: {
151
- id: _cubetypetoduckdbtype.CUBE_TYPE_TO_DUCKDB_TYPE.string,
152
- type_info: null
153
- },
154
- is_null: false,
155
- value: value
156
- };
157
- }
158
- };
159
-
160
- //# sourceMappingURL=base-condition-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../meerkat-core/src/cube-filter-transformer/base-condition-builder/base-condition-builder.ts"],"sourcesContent":["import { Dimension, Measure } from '../../types/cube-types/index';\n\nimport { COLUMN_NAME_DELIMITER } from '../../member-formatters/constants';\nimport {\n ExpressionClass,\n ExpressionType,\n QueryNodeType,\n SubqueryType,\n} from '../../types/duckdb-serialization-types/index';\nimport { CUBE_TYPE_TO_DUCKDB_TYPE } from '../../utils/cube-type-to-duckdb-type';\nimport { convertFloatToInt, getTypeInfo } from '../../utils/get-type-info';\n\nexport const baseDuckdbCondition = (\n columnName: string,\n type: ExpressionType,\n value: string,\n memberInfo: Measure | Dimension\n) => {\n return {\n class: ExpressionClass.COMPARISON,\n type: type,\n alias: '',\n left: {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: columnName.split(COLUMN_NAME_DELIMITER),\n },\n right: {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: '',\n value: valueBuilder(value, memberInfo),\n },\n };\n};\n\nexport const baseArrayDuckdbCondition = (\n columnName: string,\n type: ExpressionType,\n value: string,\n memberInfo: Measure | Dimension\n) => {\n return {\n class: ExpressionClass.SUBQUERY,\n type: ExpressionType.SUBQUERY,\n alias: '',\n subquery_type: SubqueryType.ANY,\n subquery: {\n node: {\n type: QueryNodeType.SELECT_NODE,\n modifiers: [],\n cte_map: {\n map: [],\n },\n select_list: [\n {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n function_name: 'unnest',\n schema: '',\n children: [\n {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: columnName.split(COLUMN_NAME_DELIMITER),\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: false,\n export_state: false,\n catalog: '',\n },\n ],\n from_table: {\n type: 'EMPTY',\n alias: '',\n sample: null,\n },\n where_clause: null,\n group_expressions: [],\n group_sets: [],\n aggregate_handling: 'STANDARD_HANDLING',\n having: null,\n sample: null,\n qualify: null,\n },\n },\n child: {\n class: 'CONSTANT',\n type: 'VALUE_CONSTANT',\n alias: '',\n value: valueBuilder(value, memberInfo),\n },\n comparison_type: type,\n };\n};\n\nexport const valueBuilder = (\n value: string,\n memberInfo: Measure | Dimension\n) => {\n switch (memberInfo.type) {\n case 'string':\n return {\n type: {\n id: CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],\n type_info: null,\n },\n is_null: false,\n value: value,\n };\n\n case 'number': {\n const parsedValue = parseFloat(value);\n return {\n type: {\n id: CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],\n type_info: getTypeInfo(parsedValue),\n },\n is_null: false,\n value: convertFloatToInt(parsedValue),\n };\n }\n case 'boolean': {\n const parsedValue = value === 'true';\n return {\n type: {\n id: CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],\n type_info: null,\n },\n is_null: false,\n value: parsedValue,\n };\n }\n case 'time':\n return {\n type: {\n id: CUBE_TYPE_TO_DUCKDB_TYPE[memberInfo.type],\n type_info: null,\n },\n is_null: false,\n value: value,\n };\n\n default:\n return {\n type: {\n id: CUBE_TYPE_TO_DUCKDB_TYPE.string,\n type_info: null,\n },\n is_null: false,\n value: value,\n };\n }\n};\n"],"names":["baseArrayDuckdbCondition","baseDuckdbCondition","valueBuilder","columnName","type","value","memberInfo","class","ExpressionClass","COMPARISON","alias","left","COLUMN_REF","ExpressionType","column_names","split","COLUMN_NAME_DELIMITER","right","CONSTANT","VALUE_CONSTANT","SUBQUERY","subquery_type","SubqueryType","ANY","subquery","node","QueryNodeType","SELECT_NODE","modifiers","cte_map","map","select_list","FUNCTION","function_name","schema","children","filter","order_bys","orders","distinct","is_operator","export_state","catalog","from_table","sample","where_clause","group_expressions","group_sets","aggregate_handling","having","qualify","child","comparison_type","id","CUBE_TYPE_TO_DUCKDB_TYPE","type_info","is_null","parsedValue","parseFloat","getTypeInfo","convertFloatToInt","string"],"mappings":"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"}