@devrev/meerkat-core 0.0.98 → 0.0.100

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 (39) hide show
  1. package/package.json +1 -1
  2. package/src/ast-builder/ast-builder.js +10 -4
  3. package/src/ast-builder/ast-builder.js.map +1 -1
  4. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +3 -2
  5. package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -1
  6. package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +2 -1
  7. package/src/cube-group-by-transformer/cube-group-by-transformer.js +9 -3
  8. package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -1
  9. package/src/cube-measure-transformer/cube-measure-transformer.js +23 -5
  10. package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -1
  11. package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +2 -1
  12. package/src/cube-order-by-transformer/cube-order-by-transformer.js +9 -3
  13. package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -1
  14. package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js +16 -4
  15. package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +1 -1
  16. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +11 -3
  17. package/src/get-wrapped-base-query-with-projections/get-projection-clause.js.map +1 -1
  18. package/src/member-formatters/get-alias.d.ts +15 -0
  19. package/src/member-formatters/get-alias.js +42 -0
  20. package/src/member-formatters/get-alias.js.map +1 -0
  21. package/src/member-formatters/get-namespaced-key.d.ts +1 -0
  22. package/src/member-formatters/get-namespaced-key.js +6 -0
  23. package/src/member-formatters/get-namespaced-key.js.map +1 -0
  24. package/src/member-formatters/index.d.ts +2 -0
  25. package/src/member-formatters/index.js +6 -1
  26. package/src/member-formatters/index.js.map +1 -1
  27. package/src/member-formatters/sanitize-value.d.ts +4 -0
  28. package/src/member-formatters/sanitize-value.js +11 -0
  29. package/src/member-formatters/sanitize-value.js.map +1 -0
  30. package/src/resolution/resolution.d.ts +4 -3
  31. package/src/resolution/resolution.js +87 -58
  32. package/src/resolution/resolution.js.map +1 -1
  33. package/src/types/cube-types/table.d.ts +2 -0
  34. package/src/utils/find-in-table-schema.d.ts +3 -1
  35. package/src/utils/find-in-table-schema.js +31 -4
  36. package/src/utils/find-in-table-schema.js.map +1 -1
  37. package/src/utils/modify-meerkat-filter.d.ts +2 -3
  38. package/src/utils/modify-meerkat-filter.js +4 -4
  39. package/src/utils/modify-meerkat-filter.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrev/meerkat-core",
3
- "version": "0.0.98",
3
+ "version": "0.0.100",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0"
6
6
  },
@@ -6,7 +6,7 @@ const cube_group_by_transformer_1 = require("../cube-group-by-transformer/cube-g
6
6
  const cube_limit_offset_transformer_1 = require("../cube-limit-offset-transformer/cube-limit-offset-transformer");
7
7
  const cube_order_by_transformer_1 = require("../cube-order-by-transformer/cube-order-by-transformer");
8
8
  const filter_params_ast_1 = require("../filter-params/filter-params-ast");
9
- const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
9
+ const get_alias_1 = require("../member-formatters/get-alias");
10
10
  const base_ast_1 = require("../utils/base-ast");
11
11
  const cube_filter_enrichment_1 = require("../utils/cube-filter-enrichment");
12
12
  const modify_meerkat_filter_1 = require("../utils/modify-meerkat-filter");
@@ -17,7 +17,13 @@ const formatFilters = (queryFiltersWithInfo, filterType) => {
17
17
  return filterType === 'BASE_FILTER'
18
18
  ? queryFiltersWithInfo
19
19
  : (0, modify_meerkat_filter_1.modifyLeafMeerkatFilter)(queryFiltersWithInfo, (item) => {
20
- return Object.assign(Object.assign({}, item), { member: (0, member_key_to_safe_key_1.memberKeyToSafeKey)(item.member) });
20
+ return Object.assign(Object.assign({}, item), { member: (0, get_alias_1.constructAlias)({
21
+ name: item.member,
22
+ alias: item.memberInfo.alias,
23
+ aliasContext: {
24
+ isAstIdentifier: true,
25
+ },
26
+ }) });
21
27
  });
22
28
  };
23
29
  const getFormattedFilters = ({ queryFiltersWithInfo, filterType, mapperFn, baseAST, }) => {
@@ -65,7 +71,7 @@ const cubeToDuckdbAST = (query, tableSchema, options) => {
65
71
  if (query.measures.length &&
66
72
  query.dimensions &&
67
73
  ((_a = query.dimensions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
68
- node.group_expressions = (0, cube_group_by_transformer_1.cubeDimensionToGroupByAST)(query.dimensions);
74
+ node.group_expressions = (0, cube_group_by_transformer_1.cubeDimensionToGroupByAST)(query.dimensions, tableSchema);
69
75
  const groupSets = [];
70
76
  /**
71
77
  * We only support one group set for now.
@@ -77,7 +83,7 @@ const cubeToDuckdbAST = (query, tableSchema, options) => {
77
83
  }
78
84
  node.modifiers = [];
79
85
  if (query.order && Object.keys(query.order).length > 0) {
80
- node.modifiers.push((0, cube_order_by_transformer_1.cubeOrderByToAST)(query.order));
86
+ node.modifiers.push((0, cube_order_by_transformer_1.cubeOrderByToAST)(query.order, tableSchema));
81
87
  }
82
88
  if (query.limit || query.offset) {
83
89
  // Type assertion is needed here because the AST is not typed correctly.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-builder.js","sourceRoot":"","sources":["../../../../meerkat-core/src/ast-builder/ast-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-builder.js","sourceRoot":"","sources":["../../../../meerkat-core/src/ast-builder/ast-builder.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.valueBuilder = exports.baseArrayDuckdbCondition = exports.baseDuckdbCondition = void 0;
4
4
  const constants_1 = require("../../member-formatters/constants");
5
+ const sanitize_value_1 = require("../../member-formatters/sanitize-value");
5
6
  const index_1 = require("../../types/duckdb-serialization-types/index");
6
7
  const cube_type_to_duckdb_type_1 = require("../../utils/cube-type-to-duckdb-type");
7
8
  const get_type_info_1 = require("../../utils/get-type-info");
@@ -97,7 +98,7 @@ const valueBuilder = (value, memberInfo) => {
97
98
  type_info: null,
98
99
  },
99
100
  is_null: false,
100
- value: value,
101
+ value: (0, sanitize_value_1.sanitizeStringValue)(value),
101
102
  };
102
103
  case 'number': {
103
104
  const parsedValue = parseFloat(value);
@@ -137,7 +138,7 @@ const valueBuilder = (value, memberInfo) => {
137
138
  type_info: null,
138
139
  },
139
140
  is_null: false,
140
- value: value,
141
+ value: (0, sanitize_value_1.sanitizeStringValue)(value),
141
142
  };
142
143
  }
143
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"base-condition-builder.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/base-condition-builder/base-condition-builder.ts"],"names":[],"mappings":";;;AAEA,iEAA0E;AAC1E,wEAKsD;AACtD,mFAAgF;AAChF,6DAA2E;AAEpE,MAAM,mBAAmB,GAAG,CACjC,UAAkB,EAClB,IAAoB,EACpB,KAAa,EACb,UAA+B,EAC/B,EAAE;IACF,OAAO;QACL,KAAK,EAAE,uBAAe,CAAC,UAAU;QACjC,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE;QACT,IAAI,EAAE;YACJ,KAAK,EAAE,uBAAe,CAAC,UAAU;YACjC,IAAI,EAAE,sBAAc,CAAC,UAAU;YAC/B,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,iCAAqB,CAAC;SACtD;QACD,KAAK,EAAE;YACL,KAAK,EAAE,uBAAe,CAAC,QAAQ;YAC/B,IAAI,EAAE,sBAAc,CAAC,cAAc;YACnC,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,IAAA,oBAAY,EAAC,KAAK,EAAE,UAAU,CAAC;SACvC;KACF,CAAC;AACJ,CAAC,CAAC;AAvBW,QAAA,mBAAmB,uBAuB9B;AAEK,MAAM,wBAAwB,GAAG,CACtC,UAAkB,EAClB,IAAoB,EACpB,KAAa,EACb,UAA+B,EAC/B,EAAE;IACF,OAAO;QACL,KAAK,EAAE,uBAAe,CAAC,QAAQ;QAC/B,IAAI,EAAE,sBAAc,CAAC,QAAQ;QAC7B,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,oBAAY,CAAC,GAAG;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,IAAI,EAAE,qBAAa,CAAC,WAAW;gBAC/B,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE;oBACP,GAAG,EAAE,EAAE;iBACR;gBACD,WAAW,EAAE;oBACX;wBACE,KAAK,EAAE,uBAAe,CAAC,QAAQ;wBAC/B,IAAI,EAAE,sBAAc,CAAC,QAAQ;wBAC7B,KAAK,EAAE,EAAE;wBACT,aAAa,EAAE,QAAQ;wBACvB,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR;gCACE,KAAK,EAAE,uBAAe,CAAC,UAAU;gCACjC,IAAI,EAAE,sBAAc,CAAC,UAAU;gCAC/B,KAAK,EAAE,EAAE;gCACT,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,iCAAqB,CAAC;6BACtD;yBACF;wBACD,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACT,IAAI,EAAE,gBAAgB;4BACtB,MAAM,EAAE,EAAE;yBACX;wBACD,QAAQ,EAAE,KAAK;wBACf,WAAW,EAAE,KAAK;wBAClB,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE,EAAE;qBACZ;iBACF;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,IAAI;iBACb;gBACD,YAAY,EAAE,IAAI;gBAClB,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,EAAE;gBACd,kBAAkB,EAAE,mBAAmB;gBACvC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,IAAA,oBAAY,EAAC,KAAK,EAAE,UAAU,CAAC;SACvC;QACD,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC,CAAC;AAlEW,QAAA,wBAAwB,4BAkEnC;AAEK,MAAM,YAAY,GAAG,CAC1B,KAAa,EACb,UAA+B,EAC/B,EAAE;IACF,QAAQ,UAAU,CAAC,IAAI,EAAE;QACvB,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,mDAAwB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC7C,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK;aACb,CAAC;QAEJ,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,mDAAwB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC7C,SAAS,EAAE,IAAA,2BAAW,EAAC,WAAW,CAAC;iBACpC;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAA,iCAAiB,EAAC,WAAW,CAAC;aACtC,CAAC;SACH;QACD,KAAK,SAAS,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,KAAK,KAAK,MAAM,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,mDAAwB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC7C,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,WAAW;aACnB,CAAC;SACH;QACD,KAAK,MAAM;YACT,OAAO;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,mDAAwB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC7C,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK;aACb,CAAC;QAEJ;YACE,OAAO;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,mDAAwB,CAAC,MAAM;oBACnC,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK;aACb,CAAC;KACL;AACH,CAAC,CAAC;AAzDW,QAAA,YAAY,gBAyDvB"}
1
+ {"version":3,"file":"base-condition-builder.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/base-condition-builder/base-condition-builder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { TableSchema } from '../types/cube-types';
1
2
  import { Member } from '../types/cube-types/query';
2
3
  import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
3
- export declare const cubeDimensionToGroupByAST: (dimensions: Member[]) => {
4
+ export declare const cubeDimensionToGroupByAST: (dimensions: Member[], tableSchema: TableSchema) => {
4
5
  class: ExpressionClass;
5
6
  type: ExpressionType;
6
7
  alias: string;
@@ -1,15 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cubeDimensionToGroupByAST = void 0;
4
- const member_formatters_1 = require("../member-formatters");
4
+ const get_alias_1 = require("../member-formatters/get-alias");
5
5
  const Expression_1 = require("../types/duckdb-serialization-types/serialization/Expression");
6
- const cubeDimensionToGroupByAST = (dimensions) => {
6
+ const cubeDimensionToGroupByAST = (dimensions, tableSchema) => {
7
7
  const groupByAST = dimensions.map((dimension) => {
8
8
  const dimensionAST = {
9
9
  class: Expression_1.ExpressionClass.COLUMN_REF,
10
10
  type: Expression_1.ExpressionType.COLUMN_REF,
11
11
  alias: '',
12
- column_names: [(0, member_formatters_1.memberKeyToSafeKey)(dimension)],
12
+ column_names: [
13
+ (0, get_alias_1.getAliasFromSchema)({
14
+ name: dimension,
15
+ tableSchema,
16
+ aliasContext: { isAstIdentifier: true },
17
+ }),
18
+ ],
13
19
  };
14
20
  return dimensionAST;
15
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cube-group-by-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-group-by-transformer/cube-group-by-transformer.ts"],"names":[],"mappings":";;;AAAA,4DAA0D;AAE1D,6FAGsE;AAE/D,MAAM,yBAAyB,GAAG,CAAC,UAAoB,EAAE,EAAE;IAChE,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,4BAAe,CAAC,UAAU;YACjC,IAAI,EAAE,2BAAc,CAAC,UAAU;YAC/B,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,CAAC,IAAA,sCAAkB,EAAC,SAAS,CAAC,CAAC;SAC9C,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAbW,QAAA,yBAAyB,6BAapC"}
1
+ {"version":3,"file":"cube-group-by-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-group-by-transformer/cube-group-by-transformer.ts"],"names":[],"mappings":";;;AAAA,8DAAoE;AAGpE,6FAGsE;AAE/D,MAAM,yBAAyB,GAAG,CACvC,UAAoB,EACpB,WAAwB,EACxB,EAAE;IACF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9C,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,4BAAe,CAAC,UAAU;YACjC,IAAI,EAAE,2BAAc,CAAC,UAAU;YAC/B,KAAK,EAAE,EAAE;YACT,YAAY,EAAE;gBACZ,IAAA,8BAAkB,EAAC;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW;oBACX,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;iBACxC,CAAC;aACH;SACF,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAtBW,QAAA,yBAAyB,6BAsBpC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.applyProjectionToSQLQuery = exports.getAllColumnUsedInMeasures = exports.getSelectReplacedSql = exports.cubeMeasureToSQLSelectString = void 0;
4
- const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
4
+ const member_formatters_1 = require("../member-formatters");
5
5
  const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
6
6
  const meerkat_placeholder_replacer_1 = require("../utils/meerkat-placeholder-replacer");
7
7
  const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
@@ -13,7 +13,13 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
13
13
  continue;
14
14
  }
15
15
  const [tableSchemaName, measureKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measure);
16
- const aliasKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(measure);
16
+ const aliasKey = (0, member_formatters_1.getAliasFromSchema)({
17
+ name: measure,
18
+ tableSchema,
19
+ aliasContext: {
20
+ isAstIdentifier: false,
21
+ },
22
+ });
17
23
  const measureSchema = tableSchema.measures.find((m) => m.name === measureKeyWithoutTable);
18
24
  if (!measureSchema) {
19
25
  continue;
@@ -31,8 +37,14 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
31
37
  //Replace all the columnsUsedInMeasure with safeKey
32
38
  columnsUsedInMeasure === null || columnsUsedInMeasure === void 0 ? void 0 : columnsUsedInMeasure.forEach((measureKey) => {
33
39
  const [_, column] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measureKey);
34
- const memberKey = `${tableSchemaName}.${column}`;
35
- const columnKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(memberKey);
40
+ const memberKey = (0, member_formatters_1.getNamespacedKey)(tableSchemaName, column);
41
+ const columnKey = (0, member_formatters_1.getAliasFromSchema)({
42
+ name: memberKey,
43
+ tableSchema,
44
+ aliasContext: {
45
+ isAstIdentifier: false,
46
+ },
47
+ });
36
48
  meerkatReplacedSqlString = meerkatReplacedSqlString.replace(memberKey, columnKey);
37
49
  });
38
50
  base += ` ${meerkatReplacedSqlString} AS ${aliasKey} `;
@@ -49,7 +61,13 @@ const addDimensionToSQLProjection = (dimensions, selectString, tableSchema) => {
49
61
  const dimension = dimensions[i];
50
62
  const [_, dimensionKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(dimension);
51
63
  const dimensionSchema = tableSchema.dimensions.find((m) => m.name === dimensionKeyWithoutTable);
52
- const aliasKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(dimension);
64
+ const aliasKey = (0, member_formatters_1.getAliasFromSchema)({
65
+ name: dimension,
66
+ tableSchema,
67
+ aliasContext: {
68
+ isAstIdentifier: false,
69
+ },
70
+ });
53
71
  if (!dimensionSchema) {
54
72
  continue;
55
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cube-measure-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-measure-transformer/cube-measure-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cube-measure-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-measure-transformer/cube-measure-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import { TableSchema } from '../types/cube-types';
1
2
  import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
2
3
  import { OrderType } from '../types/duckdb-serialization-types/serialization/Nodes';
3
4
  import { ResultModifierType } from '../types/duckdb-serialization-types/serialization/ResultModifier';
4
5
  export declare const cubeOrderByToAST: (order: {
5
6
  [key: string]: "asc" | "desc";
6
- }) => {
7
+ }, tableSchema: TableSchema) => {
7
8
  type: ResultModifierType;
8
9
  orders: {
9
10
  type: OrderType;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cubeOrderByToAST = void 0;
4
- const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
4
+ const get_alias_1 = require("../member-formatters/get-alias");
5
5
  const Expression_1 = require("../types/duckdb-serialization-types/serialization/Expression");
6
6
  const Nodes_1 = require("../types/duckdb-serialization-types/serialization/Nodes");
7
7
  const ResultModifier_1 = require("../types/duckdb-serialization-types/serialization/ResultModifier");
8
- const cubeOrderByToAST = (order) => {
8
+ const cubeOrderByToAST = (order, tableSchema) => {
9
9
  const orderArr = [];
10
10
  for (const key in order) {
11
11
  const value = order[key];
@@ -20,7 +20,13 @@ const cubeOrderByToAST = (order) => {
20
20
  /**
21
21
  * We need to convert the key in the __ format as they are being projected in this format
22
22
  */
23
- column_names: [(0, member_key_to_safe_key_1.memberKeyToSafeKey)(key)],
23
+ column_names: [
24
+ (0, get_alias_1.getAliasFromSchema)({
25
+ name: key,
26
+ tableSchema,
27
+ aliasContext: { isAstIdentifier: true },
28
+ }),
29
+ ],
24
30
  },
25
31
  };
26
32
  orderArr.push(orderByAST);
@@ -1 +1 @@
1
- {"version":3,"file":"cube-order-by-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-order-by-transformer/cube-order-by-transformer.ts"],"names":[],"mappings":";;;AAAA,wFAAiF;AACjF,6FAGsE;AACtE,mFAAoF;AACpF,qGAAsG;AAE/F,MAAM,gBAAgB,GAAG,CAAC,KAAwC,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,UAAU,GACd,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAS,CAAC,UAAU,CAAC;QAC/D,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,iBAAS,CAAC,aAAa;YACnC,UAAU,EAAE;gBACV,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,UAAU;gBAC/B,KAAK,EAAE,EAAE;gBACT;;mBAEG;gBACH,YAAY,EAAE,CAAC,IAAA,2CAAkB,EAAC,GAAG,CAAC,CAAC;aACxC;SACF,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3B;IACD,OAAO;QACL,IAAI,EAAE,mCAAkB,CAAC,cAAc;QACvC,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,gBAAgB,oBAyB3B"}
1
+ {"version":3,"file":"cube-order-by-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-order-by-transformer/cube-order-by-transformer.ts"],"names":[],"mappings":";;;AAAA,8DAAoE;AAEpE,6FAGsE;AACtE,mFAAoF;AACpF,qGAAsG;AAE/F,MAAM,gBAAgB,GAAG,CAC9B,KAAwC,EACxC,WAAwB,EACxB,EAAE;IACF,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,UAAU,GACd,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAS,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAS,CAAC,UAAU,CAAC;QAC/D,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,iBAAS,CAAC,aAAa;YACnC,UAAU,EAAE;gBACV,KAAK,EAAE,4BAAe,CAAC,UAAU;gBACjC,IAAI,EAAE,2BAAc,CAAC,UAAU;gBAC/B,KAAK,EAAE,EAAE;gBACT;;mBAEG;gBACH,YAAY,EAAE;oBACZ,IAAA,8BAAkB,EAAC;wBACjB,IAAI,EAAE,GAAG;wBACT,WAAW;wBACX,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;qBACxC,CAAC;iBACH;aACF;SACF,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3B;IACD,OAAO;QACL,IAAI,EAAE,mCAAkB,CAAC,cAAc;QACvC,MAAM,EAAE,QAAQ;KACjB,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,gBAAgB,oBAkC3B"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAliasedColumnsFromFilters = exports.getFilterMeasureProjection = exports.getDimensionProjection = void 0;
4
- const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
4
+ const get_alias_1 = require("../member-formatters/get-alias");
5
5
  const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
6
6
  const find_in_table_schema_1 = require("../utils/find-in-table-schema");
7
7
  const sql_expression_modifiers_1 = require("./sql-expression-modifiers");
@@ -25,7 +25,11 @@ const getDimensionProjection = ({ key, tableSchema, modifiers, query, }) => {
25
25
  sqlExpression: foundMember.sql,
26
26
  query,
27
27
  });
28
- const aliasKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(key);
28
+ const aliasKey = (0, get_alias_1.getAliasFromSchema)({
29
+ name: key,
30
+ tableSchema,
31
+ aliasContext: { isAstIdentifier: false },
32
+ });
29
33
  // Add the alias key to the set. So we have a reference to all the previously selected members.
30
34
  return { sql: `${modifiedSql} AS ${aliasKey}`, foundMember, aliasKey };
31
35
  };
@@ -44,7 +48,11 @@ const getFilterMeasureProjection = ({ key, tableSchema, measures, }) => {
44
48
  aliasKey: undefined,
45
49
  };
46
50
  }
47
- const aliasKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(key);
51
+ const aliasKey = (0, get_alias_1.getAliasFromSchema)({
52
+ name: key,
53
+ tableSchema,
54
+ aliasContext: { isAstIdentifier: false },
55
+ });
48
56
  return { sql: `${key} AS ${aliasKey}`, foundMember, aliasKey };
49
57
  };
50
58
  exports.getFilterMeasureProjection = getFilterMeasureProjection;
@@ -61,7 +69,11 @@ const getFilterProjections = ({ member, tableSchema, measures, query, }) => {
61
69
  }
62
70
  const isMeasure = (0, find_in_table_schema_1.findInMeasureSchema)(memberWithoutTable, tableSchema);
63
71
  if (isMeasure) {
64
- return (0, exports.getFilterMeasureProjection)({ key: member, tableSchema, measures });
72
+ return (0, exports.getFilterMeasureProjection)({
73
+ key: member,
74
+ tableSchema,
75
+ measures,
76
+ });
65
77
  }
66
78
  return {
67
79
  sql: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"get-aliased-columns-from-filters.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.ts"],"names":[],"mappings":";;;AAAA,wFAAiF;AACjF,8GAAsG;AAEtG,wEAGuC;AACvC,yEAAgF;AAEzE,MAAM,sBAAsB,GAAG,CAAC,EACrC,GAAG,EACH,WAAW,EACX,SAAS,EACT,KAAK,GAMN,EAAE,EAAE;IACH,4BAA4B;IAC5B,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,IAAA,gEAA4B,EAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,IAAA,4CAAqB,EAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAC5E,IAAI,CAAC,WAAW,IAAI,SAAS,KAAK,WAAW,CAAC,IAAI,EAAE;QAClD,kGAAkG;QAClG,+EAA+E;QAC/E,OAAO;YACL,GAAG,EAAE,SAAS;YACd,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,SAAS;SACpB,CAAC;KACH;IAED,MAAM,WAAW,GAAG,IAAA,mDAAwB,EAAC;QAC3C,SAAS,EAAE,WAAW;QACtB,GAAG,EAAE,GAAG;QACR,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,WAAW,CAAC,GAAG;QAC9B,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,2CAAkB,EAAC,GAAG,CAAC,CAAC;IACzC,+FAA+F;IAC/F,OAAO,EAAE,GAAG,EAAE,GAAG,WAAW,OAAO,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACzE,CAAC,CAAC;AApCW,QAAA,sBAAsB,0BAoCjC;AAEK,MAAM,0BAA0B,GAAG,CAAC,EACzC,GAAG,EACH,WAAW,EACX,QAAQ,GAKT,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,IAAA,gEAA4B,EAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,IAAA,0CAAmB,EAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,IAAI,SAAS,IAAI,SAAS,KAAK,WAAW,CAAC,IAAI,EAAE;QAC/D,kGAAkG;QAClG,oIAAoI;QACpI,+EAA+E;QAC/E,OAAO;YACL,GAAG,EAAE,SAAS;YACd,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,SAAS;SACpB,CAAC;KACH;IACD,MAAM,QAAQ,GAAG,IAAA,2CAAkB,EAAC,GAAG,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,QAAQ,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACjE,CAAC,CAAC;AAxBW,QAAA,0BAA0B,8BAwBrC;AAEF,MAAM,oBAAoB,GAAG,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,KAAK,GAMN,EAAE,EAAE;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,GAAG,IAAA,gEAA4B,EAAC,MAAM,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAA,4CAAqB,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAC3E,IAAI,WAAW,EAAE;QACf,OAAO,IAAA,8BAAsB,EAAC;YAC5B,GAAG,EAAE,MAAM;YACX,WAAW;YACX,SAAS,EAAE,EAAE;YACb,KAAK;SACN,CAAC,CAAC;KACJ;IACD,MAAM,SAAS,GAAG,IAAA,0CAAmB,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IACvE,IAAI,SAAS,EAAE;QACb,OAAO,IAAA,kCAA0B,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC3E;IACD,OAAO;QACL,GAAG,EAAE,SAAS;QACd,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,SAAS;KACpB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,4BAA4B,GAAG,CAAC,EAC3C,OAAO,EACP,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,KAAK,GAON,EAAE,EAAE;IACH,IAAI,GAAG,GAAG,OAAO,CAAC;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACjC,IAAI,KAAK,IAAI,MAAM,EAAE;YACnB,4CAA4C;YAC5C,GAAG,IAAI,IAAA,oCAA4B,EAAC;gBAClC,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE,MAAM,CAAC,GAAG;gBAC1B,WAAW;gBACX,gBAAgB;gBAChB,KAAK;aACN,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,2CAA2C;YAC3C,GAAG,IAAI,IAAA,oCAA4B,EAAC;gBAClC,OAAO,EAAE,EAAE;gBACX,WAAW;gBACX,cAAc,EAAE,MAAM,CAAC,EAAE;gBACzB,gBAAgB;gBAChB,KAAK;aACN,CAAC,CAAC;SACJ;QACD,IAAI,QAAQ,IAAI,MAAM,EAAE;YACtB,MAAM,EACJ,QAAQ,EACR,WAAW,EACX,GAAG,EAAE,SAAS,GACf,GAAG,oBAAoB,CAAC;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW;gBACX,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAClD,kGAAkG;gBAClG,OAAO;aACR;YACD,IAAI,QAAQ,EAAE;gBACZ,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAChC;YACD,+FAA+F;YAC/F,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC;SACzB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA3DW,QAAA,4BAA4B,gCA2DvC"}
1
+ {"version":3,"file":"get-aliased-columns-from-filters.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProjectionClause = void 0;
4
4
  const cube_measure_transformer_1 = require("../cube-measure-transformer/cube-measure-transformer");
5
- const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
5
+ const get_alias_1 = require("../member-formatters/get-alias");
6
6
  const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
7
7
  const get_aliased_columns_from_filters_1 = require("./get-aliased-columns-from-filters");
8
8
  const sql_expression_modifiers_1 = require("./sql-expression-modifiers");
@@ -32,7 +32,11 @@ const getProjectionClause = (query, tableSchema, aliasedColumnSet) => {
32
32
  query,
33
33
  });
34
34
  return memberClauseAggregator({
35
- member: (0, member_key_to_safe_key_1.memberKeyToSafeKey)(member),
35
+ member: (0, get_alias_1.getAliasFromSchema)({
36
+ name: member,
37
+ tableSchema,
38
+ aliasContext: { isAstIdentifier: false },
39
+ }),
36
40
  aliasedColumnSet,
37
41
  acc,
38
42
  currentIndex,
@@ -66,7 +70,11 @@ const getProjectionClause = (query, tableSchema, aliasedColumnSet) => {
66
70
  const columnsUsedInMeasures = (0, cube_measure_transformer_1.getAllColumnUsedInMeasures)(usedMeasureObjects, tableSchema);
67
71
  let columnsUsedInMeasuresInProjection = '';
68
72
  columnsUsedInMeasures.forEach((column, index) => {
69
- const safeKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(column);
73
+ const safeKey = (0, get_alias_1.getAliasFromSchema)({
74
+ name: column,
75
+ tableSchema,
76
+ aliasContext: { isAstIdentifier: false },
77
+ });
70
78
  columnsUsedInMeasuresInProjection += `${column} AS ${safeKey}`;
71
79
  if (index !== columnsUsedInMeasures.length - 1) {
72
80
  columnsUsedInMeasuresInProjection += ', ';
@@ -1 +1 @@
1
- {"version":3,"file":"get-projection-clause.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-wrapped-base-query-with-projections/get-projection-clause.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-projection-clause.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-wrapped-base-query-with-projections/get-projection-clause.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { TableSchema } from '../types/cube-types';
2
+ export interface AliasContext {
3
+ isAstIdentifier?: boolean;
4
+ isTableSchemaAlias?: boolean;
5
+ }
6
+ export declare const getAliasFromSchema: ({ name, tableSchema, aliasContext, }: {
7
+ name: string;
8
+ tableSchema: TableSchema;
9
+ aliasContext: AliasContext;
10
+ }) => string;
11
+ export declare const constructAlias: ({ name, alias, aliasContext, }: {
12
+ name: string;
13
+ alias?: string | undefined;
14
+ aliasContext: AliasContext;
15
+ }) => string;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.constructAlias = exports.getAliasFromSchema = void 0;
4
+ const find_in_table_schema_1 = require("../utils/find-in-table-schema");
5
+ const member_key_to_safe_key_1 = require("./member-key-to-safe-key");
6
+ const split_into_data_source_and_fields_1 = require("./split-into-data-source-and-fields");
7
+ const shouldUseSafeAlias = ({ isAstIdentifier, isTableSchemaAlias, }) => {
8
+ if (isAstIdentifier) {
9
+ // Duckdb will automatically quote identifiers that contain special characters or spaces.
10
+ // when converting the AST to SQL.
11
+ return false;
12
+ }
13
+ if (isTableSchemaAlias) {
14
+ // No need to wrap alias in quotes as part of table schema
15
+ return false;
16
+ }
17
+ // For other cases such as directly using the alias in SQL queries,
18
+ // we should make the alias safe to avoid issues with special characters or spaces.
19
+ return true;
20
+ };
21
+ const getAliasFromSchema = ({ name, tableSchema, aliasContext, }) => {
22
+ var _a;
23
+ const [, field] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(name);
24
+ return (0, exports.constructAlias)({
25
+ name,
26
+ alias: (_a = (0, find_in_table_schema_1.findInSchema)(field, tableSchema)) === null || _a === void 0 ? void 0 : _a.alias,
27
+ aliasContext,
28
+ });
29
+ };
30
+ exports.getAliasFromSchema = getAliasFromSchema;
31
+ const constructAlias = ({ name, alias, aliasContext, }) => {
32
+ if (alias) {
33
+ if (shouldUseSafeAlias(aliasContext)) {
34
+ // Alias may contain special characters or spaces, so we need to wrap in quotes.
35
+ return `"${alias}"`;
36
+ }
37
+ return alias;
38
+ }
39
+ return (0, member_key_to_safe_key_1.memberKeyToSafeKey)(name);
40
+ };
41
+ exports.constructAlias = constructAlias;
42
+ //# sourceMappingURL=get-alias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-alias.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/get-alias.ts"],"names":[],"mappings":";;;AACA,wEAA6D;AAC7D,qEAA8D;AAC9D,2FAAmF;AAOnF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,eAAe,EACf,kBAAkB,GACL,EAAW,EAAE;IAC1B,IAAI,eAAe,EAAE;QACnB,yFAAyF;QACzF,kCAAkC;QAClC,OAAO,KAAK,CAAC;KACd;IACD,IAAI,kBAAkB,EAAE;QACtB,0DAA0D;QAC1D,OAAO,KAAK,CAAC;KACd;IACD,mEAAmE;IACnE,mFAAmF;IACnF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,EACjC,IAAI,EACJ,WAAW,EACX,YAAY,GAKb,EAAU,EAAE;;IACX,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,IAAA,gEAA4B,EAAC,IAAI,CAAC,CAAC;IACrD,OAAO,IAAA,sBAAc,EAAC;QACpB,IAAI;QACJ,KAAK,EAAE,MAAA,IAAA,mCAAY,EAAC,KAAK,EAAE,WAAW,CAAC,0CAAE,KAAK;QAC9C,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,kBAAkB,sBAe7B;AAEK,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,KAAK,EACL,YAAY,GAKb,EAAU,EAAE;IACX,IAAI,KAAK,EAAE;QACT,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE;YACpC,gFAAgF;YAChF,OAAO,IAAI,KAAK,GAAG,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB"}
@@ -0,0 +1 @@
1
+ export declare const getNamespacedKey: (namespace: string, name: string) => string;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNamespacedKey = void 0;
4
+ const getNamespacedKey = (namespace, name) => `${namespace}.${name}`;
5
+ exports.getNamespacedKey = getNamespacedKey;
6
+ //# sourceMappingURL=get-namespaced-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-namespaced-key.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/get-namespaced-key.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAU,EAAE,CAC1E,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;AADZ,QAAA,gBAAgB,oBACJ"}
@@ -1,3 +1,5 @@
1
1
  export { COLUMN_NAME_DELIMITER } from './constants';
2
+ export { constructAlias, getAliasFromSchema } from './get-alias';
3
+ export { getNamespacedKey } from './get-namespaced-key';
2
4
  export { memberKeyToSafeKey } from './member-key-to-safe-key';
3
5
  export { splitIntoDataSourceAndFields } from './split-into-data-source-and-fields';
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitIntoDataSourceAndFields = exports.memberKeyToSafeKey = exports.COLUMN_NAME_DELIMITER = void 0;
3
+ exports.splitIntoDataSourceAndFields = exports.memberKeyToSafeKey = exports.getNamespacedKey = exports.getAliasFromSchema = exports.constructAlias = exports.COLUMN_NAME_DELIMITER = void 0;
4
4
  var constants_1 = require("./constants");
5
5
  Object.defineProperty(exports, "COLUMN_NAME_DELIMITER", { enumerable: true, get: function () { return constants_1.COLUMN_NAME_DELIMITER; } });
6
+ var get_alias_1 = require("./get-alias");
7
+ Object.defineProperty(exports, "constructAlias", { enumerable: true, get: function () { return get_alias_1.constructAlias; } });
8
+ Object.defineProperty(exports, "getAliasFromSchema", { enumerable: true, get: function () { return get_alias_1.getAliasFromSchema; } });
9
+ var get_namespaced_key_1 = require("./get-namespaced-key");
10
+ Object.defineProperty(exports, "getNamespacedKey", { enumerable: true, get: function () { return get_namespaced_key_1.getNamespacedKey; } });
6
11
  var member_key_to_safe_key_1 = require("./member-key-to-safe-key");
7
12
  Object.defineProperty(exports, "memberKeyToSafeKey", { enumerable: true, get: function () { return member_key_to_safe_key_1.memberKeyToSafeKey; } });
8
13
  var split_into_data_source_and_fields_1 = require("./split-into-data-source-and-fields");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoD;AAA3C,kHAAA,qBAAqB,OAAA;AAC9B,mEAA8D;AAArD,4HAAA,kBAAkB,OAAA;AAC3B,yFAAmF;AAA1E,iJAAA,4BAA4B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoD;AAA3C,kHAAA,qBAAqB,OAAA;AAC9B,yCAAiE;AAAxD,2GAAA,cAAc,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAC3C,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,mEAA8D;AAArD,4HAAA,kBAAkB,OAAA;AAC3B,yFAAmF;AAA1E,iJAAA,4BAA4B,OAAA"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Sanitizes a string value for use in a SQL query
3
+ */
4
+ export declare const sanitizeStringValue: (value: string) => string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeStringValue = void 0;
4
+ /**
5
+ * Sanitizes a string value for use in a SQL query
6
+ */
7
+ const sanitizeStringValue = (value) => {
8
+ return value.replace(/'/g, "''");
9
+ };
10
+ exports.sanitizeStringValue = sanitizeStringValue;
11
+ //# sourceMappingURL=sanitize-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-value.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/sanitize-value.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;IACnD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
@@ -8,12 +8,13 @@ export declare const createBaseTableSchema: (baseSql: string, tableSchemas: Tabl
8
8
  dimensions: {
9
9
  name: string;
10
10
  sql: string;
11
- type: import("../types/cube-types/table").DimensionType;
11
+ type: "string" | "number" | "boolean" | "string_array" | "time" | "number_array";
12
+ alias: string;
12
13
  }[];
13
14
  joins: {
14
15
  sql: string;
15
16
  }[];
16
17
  };
17
- export declare const generateResolutionSchemas: (config: ResolutionConfig) => TableSchema[];
18
+ export declare const generateResolutionSchemas: (config: ResolutionConfig, baseTableSchemas: TableSchema[]) => TableSchema[];
18
19
  export declare const generateResolvedDimensions: (query: Query, config: ResolutionConfig) => Member[];
19
- export declare const generateResolutionJoinPaths: (resolutionConfig: ResolutionConfig) => JoinPath[];
20
+ export declare const generateResolutionJoinPaths: (resolutionConfig: ResolutionConfig, baseTableSchemas: TableSchema[]) => JoinPath[];
@@ -1,61 +1,77 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateResolutionJoinPaths = exports.generateResolvedDimensions = exports.generateResolutionSchemas = exports.createBaseTableSchema = void 0;
4
- const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
4
+ const member_formatters_1 = require("../member-formatters");
5
+ const find_in_table_schema_1 = require("../utils/find-in-table-schema");
5
6
  const types_1 = require("./types");
6
- const resolveDimension = (dim, tableSchemas) => {
7
- const [tableName, columnName] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(dim);
8
- const tableSchema = tableSchemas.find((ts) => ts.name === tableName);
9
- if (!tableSchema) {
10
- throw new Error(`Table schema not found for ${tableName}`);
11
- }
12
- const dimension = tableSchema.dimensions.find((d) => d.name === columnName);
13
- if (!dimension) {
14
- throw new Error(`Dimension not found: ${dim}`);
15
- }
7
+ const constructBaseDimension = (name, schema) => {
16
8
  return {
17
- name: `${generateName(dim)}`,
18
- sql: `${types_1.BASE_DATA_SOURCE_NAME}.${generateName(dim)}`,
19
- type: dimension.type,
9
+ name: (0, member_formatters_1.memberKeyToSafeKey)(name),
10
+ sql: `${types_1.BASE_DATA_SOURCE_NAME}.${(0, member_formatters_1.constructAlias)({
11
+ name,
12
+ alias: schema.alias,
13
+ aliasContext: { isAstIdentifier: false },
14
+ })}`,
15
+ type: schema.type,
16
+ // Constructs alias to match the name in the base query.
17
+ alias: (0, member_formatters_1.constructAlias)({
18
+ name,
19
+ alias: schema.alias,
20
+ aliasContext: { isTableSchemaAlias: true },
21
+ }),
20
22
  };
21
23
  };
22
- const resolveMeasure = (measure, tableSchemas) => {
23
- const [tableName, columnName] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measure);
24
- const tableSchema = tableSchemas.find((ts) => ts.name === tableName);
25
- if (!tableSchema) {
26
- throw new Error(`Table schema not found for ${tableName}`);
27
- }
28
- const measureSchema = tableSchema.measures.find((m) => m.name === columnName);
29
- if (!measureSchema) {
30
- throw new Error(`Measure not found: ${measure}`);
31
- }
24
+ const createBaseTableSchema = (baseSql, tableSchemas, resolutionConfig, measures, dimensions) => {
25
+ const schemaByName = {};
26
+ tableSchemas.forEach((tableSchema) => {
27
+ tableSchema.dimensions.forEach((dimension) => {
28
+ schemaByName[(0, member_formatters_1.getNamespacedKey)(tableSchema.name, dimension.name)] =
29
+ dimension;
30
+ });
31
+ tableSchema.measures.forEach((measure) => {
32
+ schemaByName[(0, member_formatters_1.getNamespacedKey)(tableSchema.name, measure.name)] = measure;
33
+ });
34
+ });
32
35
  return {
33
- name: `${generateName(measure)}`,
34
- sql: `${types_1.BASE_DATA_SOURCE_NAME}.${generateName(measure)}`,
35
- type: measureSchema.type,
36
+ name: types_1.BASE_DATA_SOURCE_NAME,
37
+ sql: baseSql,
38
+ measures: [],
39
+ dimensions: [...measures, ...(dimensions || [])].map((member) => {
40
+ const schema = schemaByName[member];
41
+ if (schema) {
42
+ return constructBaseDimension(member, schema);
43
+ }
44
+ else {
45
+ throw new Error(`Not found: ${member}`);
46
+ }
47
+ }),
48
+ joins: resolutionConfig.columnConfigs.map((config) => {
49
+ var _a;
50
+ return ({
51
+ sql: `${types_1.BASE_DATA_SOURCE_NAME}.${(0, member_formatters_1.constructAlias)({
52
+ name: config.name,
53
+ alias: (_a = schemaByName[config.name]) === null || _a === void 0 ? void 0 : _a.alias,
54
+ aliasContext: { isAstIdentifier: false },
55
+ })} = ${(0, member_formatters_1.memberKeyToSafeKey)(config.name)}.${config.joinColumn}`,
56
+ });
57
+ }),
36
58
  };
37
59
  };
38
- const createBaseTableSchema = (baseSql, tableSchemas, resolutionConfig, measures, dimensions) => ({
39
- name: types_1.BASE_DATA_SOURCE_NAME,
40
- sql: baseSql,
41
- measures: [],
42
- dimensions: [
43
- ...(dimensions || []).map((dim) => resolveDimension(dim, tableSchemas)),
44
- ...(measures || []).map((meas) => resolveMeasure(meas, tableSchemas)),
45
- ],
46
- joins: resolutionConfig.columnConfigs.map((config) => ({
47
- sql: `${types_1.BASE_DATA_SOURCE_NAME}.${generateName(config.name)} = ${generateName(config.name)}.${config.joinColumn}`,
48
- })),
49
- });
50
60
  exports.createBaseTableSchema = createBaseTableSchema;
51
- const generateResolutionSchemas = (config) => {
61
+ const generateResolutionSchemas = (config, baseTableSchemas) => {
52
62
  const resolutionSchemas = [];
53
63
  config.columnConfigs.forEach((colConfig) => {
64
+ var _a;
54
65
  const tableSchema = config.tableSchemas.find((ts) => ts.name === colConfig.source);
55
66
  if (!tableSchema) {
56
67
  throw new Error(`Table schema not found for ${colConfig.source}`);
57
68
  }
58
- const baseName = generateName(colConfig.name);
69
+ const baseName = (0, member_formatters_1.memberKeyToSafeKey)(colConfig.name);
70
+ const baseAlias = (0, member_formatters_1.constructAlias)({
71
+ name: colConfig.name,
72
+ alias: (_a = (0, find_in_table_schema_1.findInSchemas)(colConfig.name, baseTableSchemas)) === null || _a === void 0 ? void 0 : _a.alias,
73
+ aliasContext: { isTableSchemaAlias: true },
74
+ });
59
75
  // For each column that needs to be resolved, create a copy of the relevant table schema.
60
76
  // We use the name of the column in the base query as the table schema name
61
77
  // to avoid conflicts.
@@ -64,14 +80,21 @@ const generateResolutionSchemas = (config) => {
64
80
  sql: tableSchema.sql,
65
81
  measures: [],
66
82
  dimensions: colConfig.resolutionColumns.map((col) => {
67
- const dimension = tableSchema.dimensions.find((d) => d.name === col);
83
+ const dimension = (0, find_in_table_schema_1.findInDimensionSchemas)((0, member_formatters_1.getNamespacedKey)(colConfig.source, col), config.tableSchemas);
68
84
  if (!dimension) {
69
85
  throw new Error(`Dimension not found: ${col}`);
70
86
  }
71
87
  return {
72
- name: col,
88
+ // Need to create a new name due to limitations with how
89
+ // CubeToSql handles duplicate dimension names between different sources.
90
+ name: (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(colConfig.name, col)),
73
91
  sql: `${baseName}.${col}`,
74
92
  type: dimension.type,
93
+ alias: `${baseAlias} - ${(0, member_formatters_1.constructAlias)({
94
+ name: col,
95
+ alias: dimension.alias,
96
+ aliasContext: { isTableSchemaAlias: true },
97
+ })}`,
75
98
  };
76
99
  }),
77
100
  };
@@ -85,28 +108,34 @@ const generateResolvedDimensions = (query, config) => {
85
108
  ...query.measures,
86
109
  ...(query.dimensions || []),
87
110
  ].flatMap((dimension) => {
88
- const resolution = config.columnConfigs.find((c) => c.name === dimension);
89
- if (!resolution) {
90
- return [`${types_1.BASE_DATA_SOURCE_NAME}.${generateName(dimension)}`];
111
+ const columnConfig = config.columnConfigs.find((c) => c.name === dimension);
112
+ if (!columnConfig) {
113
+ return [
114
+ (0, member_formatters_1.getNamespacedKey)(types_1.BASE_DATA_SOURCE_NAME, (0, member_formatters_1.memberKeyToSafeKey)(dimension)),
115
+ ];
91
116
  }
92
117
  else {
93
- return resolution.resolutionColumns.map((col) => `${generateName(dimension)}.${col}`);
118
+ return columnConfig.resolutionColumns.map((col) => (0, member_formatters_1.getNamespacedKey)((0, member_formatters_1.memberKeyToSafeKey)(dimension), (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(columnConfig.name, col))));
94
119
  }
95
120
  });
96
121
  return resolvedDimensions;
97
122
  };
98
123
  exports.generateResolvedDimensions = generateResolvedDimensions;
99
- const generateResolutionJoinPaths = (resolutionConfig) => {
100
- return resolutionConfig.columnConfigs.map((config) => [
101
- {
102
- left: types_1.BASE_DATA_SOURCE_NAME,
103
- right: generateName(config.name),
104
- on: generateName(config.name),
105
- },
106
- ]);
124
+ const generateResolutionJoinPaths = (resolutionConfig, baseTableSchemas) => {
125
+ return resolutionConfig.columnConfigs.map((config) => {
126
+ var _a;
127
+ return [
128
+ {
129
+ left: types_1.BASE_DATA_SOURCE_NAME,
130
+ right: (0, member_formatters_1.memberKeyToSafeKey)(config.name),
131
+ on: (0, member_formatters_1.constructAlias)({
132
+ name: config.name,
133
+ alias: (_a = (0, find_in_table_schema_1.findInSchemas)(config.name, baseTableSchemas)) === null || _a === void 0 ? void 0 : _a.alias,
134
+ aliasContext: { isAstIdentifier: false },
135
+ }),
136
+ },
137
+ ];
138
+ });
107
139
  };
108
140
  exports.generateResolutionJoinPaths = generateResolutionJoinPaths;
109
- // Generates a valid column name from a generic reference
110
- // by replacing '.' with '__'.
111
- const generateName = (columnName) => columnName.replace('.', '__');
112
141
  //# sourceMappingURL=resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../../meerkat-core/src/resolution/resolution.ts"],"names":[],"mappings":";;;AAAA,8GAAsG;AAGtG,mCAAkE;AAElE,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,YAA2B,EAAE,EAAE;IACpE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gEAA4B,EAAC,GAAG,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;KAC5D;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC5E,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;KAChD;IAED,OAAO;QACL,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE;QAC5B,GAAG,EAAE,GAAG,6BAAqB,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;QACpD,IAAI,EAAE,SAAS,CAAC,IAAI;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,YAA2B,EAAE,EAAE;IACtE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gEAA4B,EAAC,OAAO,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;KAC5D;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC9E,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;KAClD;IAED,OAAO;QACL,IAAI,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE;QAChC,GAAG,EAAE,GAAG,6BAAqB,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;QACxD,IAAI,EAAE,aAAa,CAAC,IAAI;KACzB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACnC,OAAe,EACf,YAA2B,EAC3B,gBAAkC,EAClC,QAAkB,EAClB,UAAqB,EACrB,EAAE,CAAC,CAAC;IACJ,IAAI,EAAE,6BAAqB;IAC3B,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACV,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvE,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACtE;IACD,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrD,GAAG,EAAE,GAAG,6BAAqB,IAAI,YAAY,CAC3C,MAAM,CAAC,IAAI,CACZ,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;KACxD,CAAC,CAAC;CACJ,CAAC,CAAC;AAnBU,QAAA,qBAAqB,yBAmB/B;AAEI,MAAM,yBAAyB,GAAG,CAAC,MAAwB,EAAE,EAAE;IACpE,MAAM,iBAAiB,GAAkB,EAAE,CAAC;IAC5C,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAC1C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CACrC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,yFAAyF;QACzF,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,gBAAgB,GAAgB;YACpC,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACrE,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;iBAChD;gBACD,OAAO;oBACL,IAAI,EAAE,GAAG;oBACT,GAAG,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE;oBACzB,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;QAEF,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AApCW,QAAA,yBAAyB,6BAoCpC;AAEK,MAAM,0BAA0B,GAAG,CACxC,KAAY,EACZ,MAAwB,EACd,EAAE;IACZ,MAAM,kBAAkB,GAAa;QACnC,GAAG,KAAK,CAAC,QAAQ;QACjB,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;KAC5B,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE1E,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,GAAG,6BAAqB,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SAChE;aAAM;YACL,OAAO,UAAU,CAAC,iBAAiB,CAAC,GAAG,CACrC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAC7C,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAnBW,QAAA,0BAA0B,8BAmBrC;AAEK,MAAM,2BAA2B,GAAG,CACzC,gBAAkC,EACtB,EAAE;IACd,OAAO,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD;YACE,IAAI,EAAE,6BAAqB;YAC3B,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;SAC9B;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,2BAA2B,+BAUtC;AAEF,yDAAyD;AACzD,8BAA8B;AAC9B,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../../meerkat-core/src/resolution/resolution.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export type Measure = {
4
4
  name: string;
5
5
  sql: string;
6
6
  type: MeasureType;
7
+ alias?: string;
7
8
  };
8
9
  export type Dimension = {
9
10
  name: string;
@@ -12,6 +13,7 @@ export type Dimension = {
12
13
  modifier?: {
13
14
  shouldUnnestGroupBy?: boolean;
14
15
  };
16
+ alias?: string;
15
17
  };
16
18
  export type Join = {
17
19
  sql: string;
@@ -1,4 +1,6 @@
1
- import { TableSchema } from "../types/cube-types";
1
+ import { TableSchema } from '../types/cube-types';
2
2
  export declare const findInDimensionSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Dimension | undefined;
3
3
  export declare const findInMeasureSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Measure | undefined;
4
4
  export declare const findInSchema: (measure: string, tableSchema: TableSchema) => import("../types/cube-types").Measure | undefined;
5
+ export declare const findInDimensionSchemas: (name: string, tableSchemas: TableSchema[]) => import("../types/cube-types").Dimension | undefined;
6
+ export declare const findInSchemas: (name: string, tableSchemas: TableSchema[]) => import("../types/cube-types").Measure | undefined;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findInSchema = exports.findInMeasureSchema = exports.findInDimensionSchema = void 0;
3
+ exports.findInSchemas = exports.findInDimensionSchemas = exports.findInSchema = exports.findInMeasureSchema = exports.findInDimensionSchema = void 0;
4
+ const member_formatters_1 = require("../member-formatters");
4
5
  const findInDimensionSchema = (measure, tableSchema) => {
5
6
  return tableSchema.dimensions.find((m) => m.name === measure);
6
7
  };
@@ -11,9 +12,9 @@ const findInMeasureSchema = (measure, tableSchema) => {
11
12
  exports.findInMeasureSchema = findInMeasureSchema;
12
13
  const findInSchema = (measure, tableSchema) => {
13
14
  /*
14
- ** Using the key passed as measureWithoutTable this function searches the table schema.
15
- ** It returns either the first dimension or measure found.
16
- */
15
+ ** Using the key passed as measureWithoutTable this function searches the table schema.
16
+ ** It returns either the first dimension or measure found.
17
+ */
17
18
  const foundDimension = (0, exports.findInDimensionSchema)(measure, tableSchema);
18
19
  if (foundDimension) {
19
20
  return foundDimension;
@@ -25,4 +26,30 @@ const findInSchema = (measure, tableSchema) => {
25
26
  return undefined;
26
27
  };
27
28
  exports.findInSchema = findInSchema;
29
+ const findInDimensionSchemas = (name, tableSchemas) => {
30
+ /*
31
+ ** Finds the dimension in the provided table schemas.
32
+ ** Assumes the provided name is namespaced as `tableName.columnName`.
33
+ */
34
+ const [tableName, columnName] = (0, member_formatters_1.splitIntoDataSourceAndFields)(name);
35
+ const tableSchema = tableSchemas.find((table) => table.name === tableName);
36
+ if (!tableSchema) {
37
+ return undefined;
38
+ }
39
+ return (0, exports.findInDimensionSchema)(columnName, tableSchema);
40
+ };
41
+ exports.findInDimensionSchemas = findInDimensionSchemas;
42
+ const findInSchemas = (name, tableSchemas) => {
43
+ /*
44
+ ** Finds the dimension or measure in the provided table schemas.
45
+ ** Assumes the provided name is namespaced as `tableName.columnName`.
46
+ */
47
+ const [tableName, columnName] = (0, member_formatters_1.splitIntoDataSourceAndFields)(name);
48
+ const tableSchema = tableSchemas.find((table) => table.name === tableName);
49
+ if (!tableSchema) {
50
+ return undefined;
51
+ }
52
+ return (0, exports.findInSchema)(columnName, tableSchema);
53
+ };
54
+ exports.findInSchemas = findInSchemas;
28
55
  //# sourceMappingURL=find-in-table-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-in-table-schema.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/find-in-table-schema.ts"],"names":[],"mappings":";;;AAGO,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,WAAwB,EAAE,EAAE;IACjF,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAC1B,CAAA;AACH,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,WAAwB,EAAE,EAAE;IAC/E,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAC1B,CAAA;AACH,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B;AAEM,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,WAAwB,EAAE,EAAE;IACxE;;;MAGE;IACF,MAAM,cAAc,GAAG,IAAA,6BAAqB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAClE,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAA;KACtB;IACD,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAC9D,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAA;KACpB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAdY,QAAA,YAAY,gBAcxB"}
1
+ {"version":3,"file":"find-in-table-schema.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/find-in-table-schema.ts"],"names":[],"mappings":";;;AAAA,4DAAoE;AAG7D,MAAM,qBAAqB,GAAG,CACnC,OAAe,EACf,WAAwB,EACxB,EAAE;IACF,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAChE,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,WAAwB,EACxB,EAAE;IACF,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,WAAwB,EAAE,EAAE;IACxE;;;OAGG;IACH,MAAM,cAAc,GAAG,IAAA,6BAAqB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IACD,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEK,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,YAA2B,EAC3B,EAAE;IACF;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gDAA4B,EAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,IAAA,6BAAqB,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,YAA2B,EAAE,EAAE;IACzE;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gDAA4B,EAAC,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,IAAA,oBAAY,EAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB"}
@@ -1,3 +1,2 @@
1
- import { QueryFiltersWithInfo } from "../cube-to-duckdb/cube-filter-to-duckdb";
2
- import { QueryFilter } from "../types/cube-types";
3
- export declare const modifyLeafMeerkatFilter: <T>(filters: QueryFiltersWithInfo, callback: (arg: QueryFilter) => T) => T[] | undefined;
1
+ import { QueryFiltersWithInfo, QueryOperatorsWithInfo } from '../cube-to-duckdb/cube-filter-to-duckdb';
2
+ export declare const modifyLeafMeerkatFilter: <T>(filters: QueryFiltersWithInfo, callback: (arg: QueryOperatorsWithInfo) => T) => T[] | undefined;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.modifyLeafMeerkatFilter = void 0;
4
4
  const modifyLeafMeerkatFilter = (filters, callback) => {
5
5
  /*
6
- ** This function traverse the QueryFiltersWithInfo JSON, and calls the callback for each leaf type.
7
- ** This way we need no rewrite the traversal logic again and again.
8
- ** The return value of the callback will show up the same path in the resulting object as in the original object
9
- */
6
+ ** This function traverse the QueryFiltersWithInfo JSON, and calls the callback for each leaf type.
7
+ ** This way we need no rewrite the traversal logic again and again.
8
+ ** The return value of the callback will show up the same path in the resulting object as in the original object
9
+ */
10
10
  if (!filters)
11
11
  return undefined;
12
12
  return filters.map((item) => {
@@ -1 +1 @@
1
- {"version":3,"file":"modify-meerkat-filter.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/modify-meerkat-filter.ts"],"names":[],"mappings":";;;AAGO,MAAM,uBAAuB,GAAG,CAAI,OAA6B,EAAE,QAAiC,EAAoB,EAAE;IAC/H;;;;MAIE;IACF,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;SACtB;aAAM;YACL,MAAM,UAAU,GAAoB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5G,MAAM,SAAS,GAAoB,IAAI,IAAI,IAAI,CAAC,CAAC,CAAE,IAAA,+BAAuB,EAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1G,OAAO,gCACF,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACvC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnC,CAAA;SACP;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC;AApBW,QAAA,uBAAuB,2BAoBlC"}
1
+ {"version":3,"file":"modify-meerkat-filter.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/modify-meerkat-filter.ts"],"names":[],"mappings":";;;AAKO,MAAM,uBAAuB,GAAG,CACrC,OAA6B,EAC7B,QAA4C,EAC3B,EAAE;IACnB;;;;OAIG;IACH,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;SACvB;aAAM;YACL,MAAM,UAAU,GACd,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,SAAS,GACb,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,OAAO,gCACF,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACvC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnC,CAAC;SACR;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzBW,QAAA,uBAAuB,2BAyBlC"}