@devrev/meerkat-core 0.0.111 → 0.0.115
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.
- package/package.json +1 -1
- package/src/ast-builder/ast-builder.d.ts +3 -1
- package/src/ast-builder/ast-builder.js +18 -15
- package/src/ast-builder/ast-builder.js.map +1 -1
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.d.ts +37 -15
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +48 -15
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -1
- package/src/cube-filter-transformer/contains/contains.d.ts +3 -9
- package/src/cube-filter-transformer/contains/contains.js +8 -12
- package/src/cube-filter-transformer/contains/contains.js.map +1 -1
- package/src/cube-filter-transformer/equals/equals-array.js +7 -11
- package/src/cube-filter-transformer/equals/equals-array.js.map +1 -1
- package/src/cube-filter-transformer/equals/equals.js +5 -5
- package/src/cube-filter-transformer/equals/equals.js.map +1 -1
- package/src/cube-filter-transformer/factory.d.ts +3 -2
- package/src/cube-filter-transformer/factory.js +23 -23
- package/src/cube-filter-transformer/factory.js.map +1 -1
- package/src/cube-filter-transformer/gt/gt.js +4 -4
- package/src/cube-filter-transformer/gt/gt.js.map +1 -1
- package/src/cube-filter-transformer/gte/gte.js +4 -4
- package/src/cube-filter-transformer/gte/gte.js.map +1 -1
- package/src/cube-filter-transformer/in/in.js +7 -11
- package/src/cube-filter-transformer/in/in.js.map +1 -1
- package/src/cube-filter-transformer/in-date-range/in-date-range.js +4 -4
- package/src/cube-filter-transformer/in-date-range/in-date-range.js.map +1 -1
- package/src/cube-filter-transformer/lt/lt.js +4 -4
- package/src/cube-filter-transformer/lt/lt.js.map +1 -1
- package/src/cube-filter-transformer/lte/lte.js +4 -4
- package/src/cube-filter-transformer/lte/lte.js.map +1 -1
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +3 -3
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -1
- package/src/cube-filter-transformer/not-contains/not-contains.d.ts +3 -9
- package/src/cube-filter-transformer/not-contains/not-contains.js +8 -12
- package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -1
- package/src/cube-filter-transformer/not-equals/not-equals-array.js +2 -2
- package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -1
- package/src/cube-filter-transformer/not-equals/not-equals.js +5 -5
- package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -1
- package/src/cube-filter-transformer/not-in/not-in.js +7 -11
- package/src/cube-filter-transformer/not-in/not-in.js.map +1 -1
- package/src/cube-filter-transformer/not-set/not-set.js +5 -8
- package/src/cube-filter-transformer/not-set/not-set.js.map +1 -1
- package/src/cube-filter-transformer/set/set.js +5 -8
- package/src/cube-filter-transformer/set/set.js.map +1 -1
- package/src/cube-filter-transformer/sql-expression/sql-expression-parser.d.ts +2 -1
- package/src/cube-filter-transformer/sql-expression/sql-expression-parser.js +10 -18
- package/src/cube-filter-transformer/sql-expression/sql-expression-parser.js.map +1 -1
- package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +2 -1
- package/src/cube-group-by-transformer/cube-group-by-transformer.js +2 -8
- package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -1
- package/src/cube-measure-transformer/cube-measure-transformer.d.ts +4 -2
- package/src/cube-measure-transformer/cube-measure-transformer.js +16 -30
- package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -1
- package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +3 -2
- package/src/cube-order-by-transformer/cube-order-by-transformer.js +3 -9
- package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -1
- package/src/filter-params/filter-params-ast.d.ts +2 -1
- package/src/filter-params/filter-params-ast.js +2 -1
- package/src/filter-params/filter-params-ast.js.map +1 -1
- package/src/get-filter-params-sql/get-filter-params-sql.d.ts +5 -3
- package/src/get-filter-params-sql/get-filter-params-sql.js +2 -2
- package/src/get-filter-params-sql/get-filter-params-sql.js.map +1 -1
- package/src/get-final-base-sql/get-final-base-sql.d.ts +3 -1
- package/src/get-final-base-sql/get-final-base-sql.js +3 -1
- package/src/get-final-base-sql/get-final-base-sql.js.map +1 -1
- package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.d.ts +7 -3
- package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js +11 -14
- package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js.map +1 -1
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.d.ts +2 -1
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +5 -11
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.js.map +1 -1
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.d.ts +3 -1
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +3 -2
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -1
- package/src/index.d.ts +2 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -1
- package/src/joins/joins.d.ts +22 -0
- package/src/joins/joins.js +60 -8
- package/src/joins/joins.js.map +1 -1
- package/src/member-formatters/get-alias.d.ts +112 -7
- package/src/member-formatters/get-alias.js +149 -17
- package/src/member-formatters/get-alias.js.map +1 -1
- package/src/member-formatters/index.d.ts +2 -2
- package/src/member-formatters/index.js +6 -1
- package/src/member-formatters/index.js.map +1 -1
- package/src/member-formatters/member-key-to-safe-key.d.ts +17 -1
- package/src/member-formatters/member-key-to-safe-key.js +15 -1
- package/src/member-formatters/member-key-to-safe-key.js.map +1 -1
- package/src/resolution/generators/generate-resolution-join-paths.js +7 -7
- package/src/resolution/generators/generate-resolution-join-paths.js.map +1 -1
- package/src/resolution/generators/generate-resolution-schemas.d.ts +1 -1
- package/src/resolution/generators/generate-resolution-schemas.js +5 -14
- package/src/resolution/generators/generate-resolution-schemas.js.map +1 -1
- package/src/resolution/generators/generate-resolved-dimensions.js +3 -2
- package/src/resolution/generators/generate-resolved-dimensions.js.map +1 -1
- package/src/resolution/generators/generate-row-number-sql.js +2 -1
- package/src/resolution/generators/generate-row-number-sql.js.map +1 -1
- package/src/resolution/resolution.d.ts +1 -1
- package/src/resolution/resolution.js +20 -21
- package/src/resolution/resolution.js.map +1 -1
- package/src/resolution/steps/aggregation-step.d.ts +1 -1
- package/src/resolution/steps/aggregation-step.js +2 -1
- package/src/resolution/steps/aggregation-step.js.map +1 -1
- package/src/resolution/steps/apply-aliases-step.d.ts +34 -0
- package/src/resolution/steps/apply-aliases-step.js +100 -0
- package/src/resolution/steps/apply-aliases-step.js.map +1 -0
- package/src/resolution/steps/apply-sql-overrides.d.ts +38 -0
- package/src/resolution/steps/apply-sql-overrides.js +84 -0
- package/src/resolution/steps/apply-sql-overrides.js.map +1 -0
- package/src/resolution/steps/resolution-step.js +6 -7
- package/src/resolution/steps/resolution-step.js.map +1 -1
- package/src/resolution/types.d.ts +6 -0
- package/src/resolution/types.js.map +1 -1
- package/src/utils/meerkat-placeholder-replacer.d.ts +2 -1
- package/src/utils/meerkat-placeholder-replacer.js +4 -9
- package/src/utils/meerkat-placeholder-replacer.js.map +1 -1
|
@@ -1,42 +1,174 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.constructAlias = exports.getAliasFromSchema = void 0;
|
|
3
|
+
exports.constructCompoundAlias = exports.constructAlias = exports.getAliasFromSchema = exports.constructAliasForAST = exports.constructAliasForSQL = exports.getAliasForAST = exports.getAliasForSQL = void 0;
|
|
4
4
|
const find_in_table_schema_1 = require("../utils/find-in-table-schema");
|
|
5
5
|
const member_key_to_safe_key_1 = require("./member-key-to-safe-key");
|
|
6
6
|
const split_into_data_source_and_fields_1 = require("./split-into-data-source-and-fields");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// NEW FLAG-AWARE API (recommended)
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Get alias for SQL string contexts (SELECT projections, etc.).
|
|
12
|
+
* Always returns a properly quoted alias when needed.
|
|
13
|
+
*
|
|
14
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
15
|
+
* @param tableSchema - The table schema to look up custom aliases from
|
|
16
|
+
* @param config - Configuration with useDotNotation flag
|
|
17
|
+
* @returns The alias string, quoted when necessary
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // With useDotNotation: false
|
|
22
|
+
* getAliasForSQL("orders.total", schema, { useDotNotation: false }) // "orders__total"
|
|
23
|
+
*
|
|
24
|
+
* // With useDotNotation: true
|
|
25
|
+
* getAliasForSQL("orders.total", schema, { useDotNotation: true }) // "\"orders.total\""
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
const getAliasForSQL = (name, tableSchema, config) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const [, field] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(name);
|
|
31
|
+
return (0, exports.constructAliasForSQL)(name, (_a = (0, find_in_table_schema_1.findInSchema)(field, tableSchema)) === null || _a === void 0 ? void 0 : _a.alias, config);
|
|
32
|
+
};
|
|
33
|
+
exports.getAliasForSQL = getAliasForSQL;
|
|
34
|
+
/**
|
|
35
|
+
* Get alias for AST contexts (DuckDB AST nodes, column references).
|
|
36
|
+
* Returns unquoted alias - DuckDB handles quoting automatically.
|
|
37
|
+
*
|
|
38
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
39
|
+
* @param tableSchema - The table schema to look up custom aliases from
|
|
40
|
+
* @param config - Configuration with useDotNotation flag
|
|
41
|
+
* @returns The alias string, unquoted
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // With useDotNotation: false
|
|
46
|
+
* getAliasForAST("orders.total", schema, { useDotNotation: false }) // "orders__total"
|
|
47
|
+
*
|
|
48
|
+
* // With useDotNotation: true
|
|
49
|
+
* getAliasForAST("orders.total", schema, { useDotNotation: true }) // "orders.total"
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
const getAliasForAST = (name, tableSchema, config) => {
|
|
53
|
+
var _a;
|
|
54
|
+
const [, field] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(name);
|
|
55
|
+
return (0, exports.constructAliasForAST)(name, (_a = (0, find_in_table_schema_1.findInSchema)(field, tableSchema)) === null || _a === void 0 ? void 0 : _a.alias, config);
|
|
56
|
+
};
|
|
57
|
+
exports.getAliasForAST = getAliasForAST;
|
|
58
|
+
/**
|
|
59
|
+
* Construct alias for SQL string contexts directly from name and optional custom alias.
|
|
60
|
+
* Always returns a properly quoted alias when needed.
|
|
61
|
+
*
|
|
62
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
63
|
+
* @param alias - Optional custom alias override
|
|
64
|
+
* @param config - Configuration with useDotNotation flag
|
|
65
|
+
* @returns The alias string, quoted when necessary
|
|
66
|
+
*/
|
|
67
|
+
const constructAliasForSQL = (name, alias, config) => {
|
|
68
|
+
if (alias) {
|
|
69
|
+
// Custom aliases always need quotes in SQL context (may contain spaces/special chars)
|
|
70
|
+
return `"${alias}"`;
|
|
12
71
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
72
|
+
const safeKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(name, {
|
|
73
|
+
useDotNotation: config.useDotNotation,
|
|
74
|
+
});
|
|
75
|
+
if (config.useDotNotation) {
|
|
76
|
+
// With dot notation, we need to quote the safe key since it contains dots
|
|
77
|
+
return `"${safeKey}"`;
|
|
16
78
|
}
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
return true;
|
|
79
|
+
// Underscore notation doesn't need quotes
|
|
80
|
+
return safeKey;
|
|
20
81
|
};
|
|
21
|
-
|
|
82
|
+
exports.constructAliasForSQL = constructAliasForSQL;
|
|
83
|
+
/**
|
|
84
|
+
* Construct alias for AST contexts directly from name and optional custom alias.
|
|
85
|
+
* Returns unquoted alias - DuckDB handles quoting automatically.
|
|
86
|
+
*
|
|
87
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
88
|
+
* @param alias - Optional custom alias override
|
|
89
|
+
* @param config - Configuration with useDotNotation flag
|
|
90
|
+
* @returns The alias string, unquoted
|
|
91
|
+
*/
|
|
92
|
+
const constructAliasForAST = (name, alias, config) => {
|
|
93
|
+
if (alias) {
|
|
94
|
+
// Return custom alias without quotes - DuckDB will handle quoting
|
|
95
|
+
return alias;
|
|
96
|
+
}
|
|
97
|
+
// Return safe key without quotes - DuckDB will handle quoting
|
|
98
|
+
return (0, member_key_to_safe_key_1.memberKeyToSafeKey)(name, { useDotNotation: config.useDotNotation });
|
|
99
|
+
};
|
|
100
|
+
exports.constructAliasForAST = constructAliasForAST;
|
|
101
|
+
// ============================================================================
|
|
102
|
+
// LEGACY API (deprecated, kept for backward compatibility)
|
|
103
|
+
// ============================================================================
|
|
104
|
+
/**
|
|
105
|
+
* Get alias for a schema field.
|
|
106
|
+
*
|
|
107
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
108
|
+
* @param tableSchema - The table schema to look up custom aliases from
|
|
109
|
+
* @param shouldWrapAliasWithQuotes - When true, wraps alias in quotes for SQL validity.
|
|
110
|
+
* Use `true` for SELECT projections where special characters need quoting.
|
|
111
|
+
* Use `false` for AST nodes (DuckDB auto-quotes) and internal schema references.
|
|
112
|
+
* @param config - Configuration with useDotNotation flag
|
|
113
|
+
*
|
|
114
|
+
* @deprecated Use `getAliasForSQL` or `getAliasForAST` instead for clearer intent.
|
|
115
|
+
*/
|
|
116
|
+
const getAliasFromSchema = ({ name, tableSchema, shouldWrapAliasWithQuotes, config, }) => {
|
|
22
117
|
var _a;
|
|
23
118
|
const [, field] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(name);
|
|
24
119
|
return (0, exports.constructAlias)({
|
|
25
120
|
name,
|
|
26
121
|
alias: (_a = (0, find_in_table_schema_1.findInSchema)(field, tableSchema)) === null || _a === void 0 ? void 0 : _a.alias,
|
|
27
|
-
|
|
122
|
+
shouldWrapAliasWithQuotes,
|
|
123
|
+
config,
|
|
28
124
|
});
|
|
29
125
|
};
|
|
30
126
|
exports.getAliasFromSchema = getAliasFromSchema;
|
|
31
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Construct alias directly from name and optional custom alias.
|
|
129
|
+
*
|
|
130
|
+
* @param name - The member key (e.g., "orders.total_amount")
|
|
131
|
+
* @param alias - Optional custom alias override
|
|
132
|
+
* @param shouldWrapAliasWithQuotes - When true, wraps alias in quotes for SQL validity.
|
|
133
|
+
* Use `true` for SELECT projections where special characters need quoting.
|
|
134
|
+
* Use `false` for AST nodes (DuckDB auto-quotes) and internal schema references.
|
|
135
|
+
* @param config - Configuration with useDotNotation flag
|
|
136
|
+
*
|
|
137
|
+
* @deprecated Use `constructAliasForSQL` or `constructAliasForAST` instead for clearer intent.
|
|
138
|
+
*/
|
|
139
|
+
const constructAlias = ({ name, alias, shouldWrapAliasWithQuotes, config, }) => {
|
|
32
140
|
if (alias) {
|
|
33
|
-
if (
|
|
141
|
+
if (shouldWrapAliasWithQuotes) {
|
|
34
142
|
// Alias may contain special characters or spaces, so we need to wrap in quotes.
|
|
35
143
|
return `"${alias}"`;
|
|
36
144
|
}
|
|
37
145
|
return alias;
|
|
38
146
|
}
|
|
39
|
-
|
|
147
|
+
// Use config to determine notation
|
|
148
|
+
const safeKey = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(name, config);
|
|
149
|
+
if (config.useDotNotation && shouldWrapAliasWithQuotes) {
|
|
150
|
+
// With dot notation and SQL context, wrap in quotes
|
|
151
|
+
return `"${safeKey}"`;
|
|
152
|
+
}
|
|
153
|
+
return safeKey;
|
|
40
154
|
};
|
|
41
155
|
exports.constructAlias = constructAlias;
|
|
156
|
+
/**
|
|
157
|
+
* Creates a compound alias by joining two alias strings with " - ".
|
|
158
|
+
* Used when a field resolves to multiple columns (e.g., "Owners - Display Name").
|
|
159
|
+
*
|
|
160
|
+
* @param baseAlias - The base field alias (e.g., "Owners")
|
|
161
|
+
* @param resolutionAlias - The resolved field alias (e.g., "Display Name")
|
|
162
|
+
* @returns The compound alias (e.g., "Owners - Display Name")
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* createCompoundAlias("Owners", "Display Name") // "Owners - Display Name"
|
|
167
|
+
* createCompoundAlias("Tags", "Tag Name") // "Tags - Tag Name"
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
const constructCompoundAlias = (baseAlias, resolutionAlias) => {
|
|
171
|
+
return `${baseAlias} - ${resolutionAlias}`;
|
|
172
|
+
};
|
|
173
|
+
exports.constructCompoundAlias = constructCompoundAlias;
|
|
42
174
|
//# sourceMappingURL=get-alias.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"get-alias.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/get-alias.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { COLUMN_NAME_DELIMITER, MEERKAT_OUTPUT_DELIMITER } from './constants';
|
|
2
|
-
export { constructAlias, getAliasFromSchema } from './get-alias';
|
|
2
|
+
export { constructAlias, constructAliasForAST, constructAliasForSQL, constructCompoundAlias, getAliasForAST, getAliasForSQL, getAliasFromSchema, QueryOptions, } from './get-alias';
|
|
3
3
|
export { getNamespacedKey } from './get-namespaced-key';
|
|
4
|
-
export { memberKeyToSafeKey } from './member-key-to-safe-key';
|
|
4
|
+
export { memberKeyToSafeKey, MemberKeyToSafeKeyOptions, } from './member-key-to-safe-key';
|
|
5
5
|
export { splitIntoDataSourceAndFields } from './split-into-data-source-and-fields';
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.splitIntoDataSourceAndFields = exports.memberKeyToSafeKey = exports.getNamespacedKey = exports.getAliasFromSchema = exports.constructAlias = exports.MEERKAT_OUTPUT_DELIMITER = exports.COLUMN_NAME_DELIMITER = void 0;
|
|
3
|
+
exports.splitIntoDataSourceAndFields = exports.memberKeyToSafeKey = exports.getNamespacedKey = exports.getAliasFromSchema = exports.getAliasForSQL = exports.getAliasForAST = exports.constructCompoundAlias = exports.constructAliasForSQL = exports.constructAliasForAST = exports.constructAlias = exports.MEERKAT_OUTPUT_DELIMITER = 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
6
|
Object.defineProperty(exports, "MEERKAT_OUTPUT_DELIMITER", { enumerable: true, get: function () { return constants_1.MEERKAT_OUTPUT_DELIMITER; } });
|
|
7
7
|
var get_alias_1 = require("./get-alias");
|
|
8
8
|
Object.defineProperty(exports, "constructAlias", { enumerable: true, get: function () { return get_alias_1.constructAlias; } });
|
|
9
|
+
Object.defineProperty(exports, "constructAliasForAST", { enumerable: true, get: function () { return get_alias_1.constructAliasForAST; } });
|
|
10
|
+
Object.defineProperty(exports, "constructAliasForSQL", { enumerable: true, get: function () { return get_alias_1.constructAliasForSQL; } });
|
|
11
|
+
Object.defineProperty(exports, "constructCompoundAlias", { enumerable: true, get: function () { return get_alias_1.constructCompoundAlias; } });
|
|
12
|
+
Object.defineProperty(exports, "getAliasForAST", { enumerable: true, get: function () { return get_alias_1.getAliasForAST; } });
|
|
13
|
+
Object.defineProperty(exports, "getAliasForSQL", { enumerable: true, get: function () { return get_alias_1.getAliasForSQL; } });
|
|
9
14
|
Object.defineProperty(exports, "getAliasFromSchema", { enumerable: true, get: function () { return get_alias_1.getAliasFromSchema; } });
|
|
10
15
|
var get_namespaced_key_1 = require("./get-namespaced-key");
|
|
11
16
|
Object.defineProperty(exports, "getNamespacedKey", { enumerable: true, get: function () { return get_namespaced_key_1.getNamespacedKey; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/index.ts"],"names":[],"mappings":";;;AAAA,yCAA8E;AAArE,kHAAA,qBAAqB,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/index.ts"],"names":[],"mappings":";;;AAAA,yCAA8E;AAArE,kHAAA,qBAAqB,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AACxD,yCASqB;AARnB,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,iHAAA,oBAAoB,OAAA;AACpB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAGpB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,mEAGkC;AAFhC,4HAAA,kBAAkB,OAAA;AAGpB,yFAAmF;AAA1E,iJAAA,4BAA4B,OAAA"}
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface MemberKeyToSafeKeyOptions {
|
|
2
|
+
/**
|
|
3
|
+
* When true, keeps the dot notation (returns memberKey as-is).
|
|
4
|
+
* When false (default), converts dots to underscores for SQL-safe identifiers.
|
|
5
|
+
*/
|
|
6
|
+
useDotNotation: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Converts a member key to a safe key for use in SQL.
|
|
10
|
+
*
|
|
11
|
+
* @param memberKey - The member key (e.g., "orders.customer_id")
|
|
12
|
+
* @param options - Configuration options
|
|
13
|
+
* @returns The safe key:
|
|
14
|
+
* - With useDotNotation=true: "orders.customer_id" (unchanged)
|
|
15
|
+
* - With useDotNotation=false (default): "orders__customer_id"
|
|
16
|
+
*/
|
|
17
|
+
export declare const memberKeyToSafeKey: (memberKey: string, options: MemberKeyToSafeKeyOptions) => string;
|
|
@@ -2,7 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.memberKeyToSafeKey = void 0;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Converts a member key to a safe key for use in SQL.
|
|
7
|
+
*
|
|
8
|
+
* @param memberKey - The member key (e.g., "orders.customer_id")
|
|
9
|
+
* @param options - Configuration options
|
|
10
|
+
* @returns The safe key:
|
|
11
|
+
* - With useDotNotation=true: "orders.customer_id" (unchanged)
|
|
12
|
+
* - With useDotNotation=false (default): "orders__customer_id"
|
|
13
|
+
*/
|
|
14
|
+
const memberKeyToSafeKey = (memberKey, options) => {
|
|
15
|
+
if (options.useDotNotation) {
|
|
16
|
+
// Keep dot notation - the caller is responsible for quoting when needed
|
|
17
|
+
return memberKey;
|
|
18
|
+
}
|
|
19
|
+
// Legacy behavior: convert dots to double underscores
|
|
6
20
|
return memberKey.split(constants_1.COLUMN_NAME_DELIMITER).join(constants_1.MEERKAT_OUTPUT_DELIMITER);
|
|
7
21
|
};
|
|
8
22
|
exports.memberKeyToSafeKey = memberKeyToSafeKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-key-to-safe-key.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/member-key-to-safe-key.ts"],"names":[],"mappings":";;;AAAA,2CAA8E;
|
|
1
|
+
{"version":3,"file":"member-key-to-safe-key.js","sourceRoot":"","sources":["../../../../meerkat-core/src/member-formatters/member-key-to-safe-key.ts"],"names":[],"mappings":";;;AAAA,2CAA8E;AAU9E;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,CAChC,SAAiB,EACjB,OAAkC,EAC1B,EAAE;IACV,IAAI,OAAO,CAAC,cAAc,EAAE;QAC1B,wEAAwE;QACxE,OAAO,SAAS,CAAC;KAClB;IACD,sDAAsD;IACtD,OAAO,SAAS,CAAC,KAAK,CAAC,iCAAqB,CAAC,CAAC,IAAI,CAAC,oCAAwB,CAAC,CAAC;AAC/E,CAAC,CAAC;AAVW,QAAA,kBAAkB,sBAU7B"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateResolutionJoinPaths = void 0;
|
|
4
|
-
const
|
|
4
|
+
const get_alias_1 = require("../../member-formatters/get-alias");
|
|
5
|
+
const member_key_to_safe_key_1 = require("../../member-formatters/member-key-to-safe-key");
|
|
5
6
|
const find_in_table_schema_1 = require("../../utils/find-in-table-schema");
|
|
6
7
|
const generateResolutionJoinPaths = (baseDataSourceName, resolutionConfig, baseTableSchemas) => {
|
|
7
|
-
|
|
8
|
+
const config = { useDotNotation: false };
|
|
9
|
+
return resolutionConfig.columnConfigs.map((columnConfig) => {
|
|
8
10
|
var _a;
|
|
9
11
|
return [
|
|
10
12
|
{
|
|
11
13
|
left: baseDataSourceName,
|
|
12
|
-
right: (0,
|
|
13
|
-
|
|
14
|
-
name: config.name,
|
|
15
|
-
alias: (_a = (0, find_in_table_schema_1.findInSchemas)(config.name, baseTableSchemas)) === null || _a === void 0 ? void 0 : _a.alias,
|
|
16
|
-
aliasContext: { isAstIdentifier: false },
|
|
14
|
+
right: (0, member_key_to_safe_key_1.memberKeyToSafeKey)(columnConfig.name, {
|
|
15
|
+
useDotNotation: config.useDotNotation,
|
|
17
16
|
}),
|
|
17
|
+
on: (0, get_alias_1.constructAliasForAST)(columnConfig.name, (_a = (0, find_in_table_schema_1.findInSchemas)(columnConfig.name, baseTableSchemas)) === null || _a === void 0 ? void 0 : _a.alias, config),
|
|
18
18
|
},
|
|
19
19
|
];
|
|
20
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-resolution-join-paths.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolution-join-paths.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"generate-resolution-join-paths.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolution-join-paths.ts"],"names":[],"mappings":";;;AAAA,iEAAyE;AACzE,2FAAoF;AAGpF,2EAAiE;AAG1D,MAAM,2BAA2B,GAAG,CACzC,kBAA0B,EAC1B,gBAAkC,EAClC,gBAA+B,EACnB,EAAE;IACd,MAAM,MAAM,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACzC,OAAO,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;;QAAC,OAAA;YAC1D;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,IAAA,2CAAkB,EAAC,YAAY,CAAC,IAAI,EAAE;oBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;iBACtC,CAAC;gBACF,EAAE,EAAE,IAAA,gCAAoB,EACtB,YAAY,CAAC,IAAI,EACjB,MAAA,IAAA,oCAAa,EAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,0CAAE,KAAK,EACzD,MAAM,CACP;aACF;SACF,CAAA;KAAA,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,2BAA2B,+BAmBtC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TableSchema } from '../../types/cube-types/table';
|
|
2
2
|
import { ResolutionConfig } from '../types';
|
|
3
|
-
export declare const generateResolutionSchemas: (config: ResolutionConfig
|
|
3
|
+
export declare const generateResolutionSchemas: (config: ResolutionConfig) => TableSchema[];
|
|
@@ -3,20 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateResolutionSchemas = void 0;
|
|
4
4
|
const member_formatters_1 = require("../../member-formatters");
|
|
5
5
|
const find_in_table_schema_1 = require("../../utils/find-in-table-schema");
|
|
6
|
-
const generateResolutionSchemas = (config
|
|
6
|
+
const generateResolutionSchemas = (config) => {
|
|
7
|
+
const options = { useDotNotation: false };
|
|
7
8
|
const resolutionSchemas = [];
|
|
8
9
|
config.columnConfigs.forEach((colConfig) => {
|
|
9
|
-
var _a;
|
|
10
10
|
const tableSchema = config.tableSchemas.find((ts) => ts.name === colConfig.source);
|
|
11
11
|
if (!tableSchema) {
|
|
12
12
|
throw new Error(`Table schema not found for ${colConfig.source}`);
|
|
13
13
|
}
|
|
14
|
-
const baseName = (0, member_formatters_1.memberKeyToSafeKey)(colConfig.name);
|
|
15
|
-
const baseAlias = (0, member_formatters_1.constructAlias)({
|
|
16
|
-
name: colConfig.name,
|
|
17
|
-
alias: (_a = (0, find_in_table_schema_1.findInSchemas)(colConfig.name, baseTableSchemas)) === null || _a === void 0 ? void 0 : _a.alias,
|
|
18
|
-
aliasContext: { isTableSchemaAlias: true },
|
|
19
|
-
});
|
|
14
|
+
const baseName = (0, member_formatters_1.memberKeyToSafeKey)(colConfig.name, options);
|
|
20
15
|
// For each column that needs to be resolved, create a copy of the relevant table schema.
|
|
21
16
|
// We use the name of the column in the base query as the table schema name
|
|
22
17
|
// to avoid conflicts.
|
|
@@ -32,14 +27,10 @@ const generateResolutionSchemas = (config, baseTableSchemas) => {
|
|
|
32
27
|
return {
|
|
33
28
|
// Need to create a new name due to limitations with how
|
|
34
29
|
// CubeToSql handles duplicate dimension names between different sources.
|
|
35
|
-
name: (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(colConfig.name, col)),
|
|
30
|
+
name: (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(colConfig.name, col), options),
|
|
36
31
|
sql: `${baseName}.${col}`,
|
|
37
32
|
type: dimension.type,
|
|
38
|
-
alias:
|
|
39
|
-
name: col,
|
|
40
|
-
alias: dimension.alias,
|
|
41
|
-
aliasContext: { isTableSchemaAlias: true },
|
|
42
|
-
})}`,
|
|
33
|
+
alias: (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(colConfig.name, col), options),
|
|
43
34
|
};
|
|
44
35
|
}),
|
|
45
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-resolution-schemas.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolution-schemas.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"generate-resolution-schemas.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolution-schemas.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;AAE/E,2EAA0E;AAGnE,MAAM,yBAAyB,GAAG,CAAC,MAAwB,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC1C,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,IAAA,sCAAkB,EAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7D,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,IAAA,6CAAsB,EACtC,IAAA,oCAAgB,EAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,EACvC,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;iBAChD;gBACD,OAAO;oBACL,wDAAwD;oBACxD,yEAAyE;oBACzE,IAAI,EAAE,IAAA,sCAAkB,EACtB,IAAA,oCAAgB,EAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EACrC,OAAO,CACR;oBACD,GAAG,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE;oBACzB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,KAAK,EAAE,IAAA,sCAAkB,EACvB,IAAA,oCAAgB,EAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,EACrC,OAAO,CACR;iBACF,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;AAjDW,QAAA,yBAAyB,6BAiDpC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateResolvedDimensions = void 0;
|
|
4
4
|
const member_formatters_1 = require("../../member-formatters");
|
|
5
5
|
const generateResolvedDimensions = (baseDataSourceName, query, config, columnProjections) => {
|
|
6
|
+
const options = { useDotNotation: false };
|
|
6
7
|
// If column projections are provided, use those.
|
|
7
8
|
// Otherwise, use all measures and dimensions from the original query.
|
|
8
9
|
const aggregatedDimensions = columnProjections
|
|
@@ -12,11 +13,11 @@ const generateResolvedDimensions = (baseDataSourceName, query, config, columnPro
|
|
|
12
13
|
const columnConfig = config.columnConfigs.find((c) => c.name === dimension);
|
|
13
14
|
if (!columnConfig) {
|
|
14
15
|
return [
|
|
15
|
-
(0, member_formatters_1.getNamespacedKey)(baseDataSourceName, (0, member_formatters_1.memberKeyToSafeKey)(dimension)),
|
|
16
|
+
(0, member_formatters_1.getNamespacedKey)(baseDataSourceName, (0, member_formatters_1.memberKeyToSafeKey)(dimension, options)),
|
|
16
17
|
];
|
|
17
18
|
}
|
|
18
19
|
else {
|
|
19
|
-
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))));
|
|
20
|
+
return columnConfig.resolutionColumns.map((col) => (0, member_formatters_1.getNamespacedKey)((0, member_formatters_1.memberKeyToSafeKey)(dimension, options), (0, member_formatters_1.memberKeyToSafeKey)((0, member_formatters_1.getNamespacedKey)(columnConfig.name, col), options)));
|
|
20
21
|
}
|
|
21
22
|
});
|
|
22
23
|
return resolvedDimensions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-resolved-dimensions.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolved-dimensions.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;AAIxE,MAAM,0BAA0B,GAAG,CACxC,kBAA0B,EAC1B,KAAY,EACZ,MAAwB,EACxB,iBAA4B,EAClB,EAAE;IACZ,iDAAiD;IACjD,sEAAsE;IACtE,MAAM,oBAAoB,GAAG,iBAAiB;QAC5C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAa,oBAAoB,CAAC,OAAO,CAC/D,CAAC,SAAS,EAAE,EAAE;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAC5B,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;gBACL,IAAA,oCAAgB,
|
|
1
|
+
{"version":3,"file":"generate-resolved-dimensions.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-resolved-dimensions.ts"],"names":[],"mappings":";;;AAAA,+DAA+E;AAIxE,MAAM,0BAA0B,GAAG,CACxC,kBAA0B,EAC1B,KAAY,EACZ,MAAwB,EACxB,iBAA4B,EAClB,EAAE;IACZ,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC1C,iDAAiD;IACjD,sEAAsE;IACtE,MAAM,oBAAoB,GAAG,iBAAiB;QAC5C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAa,oBAAoB,CAAC,OAAO,CAC/D,CAAC,SAAS,EAAE,EAAE;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAC5B,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;gBACL,IAAA,oCAAgB,EACd,kBAAkB,EAClB,IAAA,sCAAkB,EAAC,SAAS,EAAE,OAAO,CAAC,CACvC;aACF,CAAC;SACH;aAAM;YACL,OAAO,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,IAAA,oCAAgB,EACd,IAAA,sCAAkB,EAAC,SAAS,EAAE,OAAO,CAAC,EACtC,IAAA,sCAAkB,EAChB,IAAA,oCAAgB,EAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EACxC,OAAO,CACR,CACF,CACF,CAAC;SACH;IACH,CAAC,CACF,CAAC;IACF,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAxCW,QAAA,0BAA0B,8BAwCrC"}
|
|
@@ -12,11 +12,12 @@ const member_formatters_1 = require("../../member-formatters");
|
|
|
12
12
|
* @returns SQL expression for row_number() OVER (ORDER BY ...)
|
|
13
13
|
*/
|
|
14
14
|
const generateRowNumberSql = (query, dimensions, baseTableName) => {
|
|
15
|
+
const options = { useDotNotation: false };
|
|
15
16
|
let rowNumberSql = 'row_number() OVER (';
|
|
16
17
|
if (query.order && Object.keys(query.order).length > 0) {
|
|
17
18
|
const orderClauses = Object.entries(query.order).map(([member, direction]) => {
|
|
18
19
|
// Find the actual column name/alias in the base table dimensions
|
|
19
|
-
const safeMember = (0, member_formatters_1.memberKeyToSafeKey)(member);
|
|
20
|
+
const safeMember = (0, member_formatters_1.memberKeyToSafeKey)(member, options);
|
|
20
21
|
const dimension = dimensions.find((d) => d.name === safeMember || d.alias === safeMember);
|
|
21
22
|
const columnName = dimension
|
|
22
23
|
? dimension.alias || dimension.name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-row-number-sql.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-row-number-sql.ts"],"names":[],"mappings":";;;AAAA,+DAA6D;AAE7D;;;;;;;;GAQG;AACI,MAAM,oBAAoB,GAAG,CAClC,KAAyC,EACzC,UAA8C,EAC9C,aAAqB,EACb,EAAE;IACV,IAAI,YAAY,GAAG,qBAAqB,CAAC;IACzC,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE;YACtB,iEAAiE;YACjE,MAAM,UAAU,GAAG,IAAA,sCAAkB,EAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-row-number-sql.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/generators/generate-row-number-sql.ts"],"names":[],"mappings":";;;AAAA,+DAA6D;AAE7D;;;;;;;;GAQG;AACI,MAAM,oBAAoB,GAAG,CAClC,KAAyC,EACzC,UAA8C,EAC9C,aAAqB,EACb,EAAE;IACV,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC1C,IAAI,YAAY,GAAG,qBAAqB,CAAC;IACzC,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE;YACtB,iEAAiE;YACjE,MAAM,UAAU,GAAG,IAAA,sCAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CACvD,CAAC;YACF,MAAM,UAAU,GAAG,SAAS;gBAC1B,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI;gBACnC,CAAC,CAAC,UAAU,CAAC;YACf,OAAO,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC,CACF,CAAC;QACF,YAAY,IAAI,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACvD;IACD,YAAY,IAAI,GAAG,CAAC;IACpB,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B;AAEF,MAAM,mBAAmB,GAAG,CAC1B,aAAqB,EACrB,UAAkB,EAClB,SAAiB,EACjB,EAAE;IACF,OAAO,GAAG,aAAa,KAAK,UAAU,KAAK,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;AACvE,CAAC,CAAC"}
|
|
@@ -21,7 +21,7 @@ export declare const getColumnReference: (tableName: string, member: {
|
|
|
21
21
|
* @returns true if resolution should be skipped, false otherwise
|
|
22
22
|
*/
|
|
23
23
|
export declare const shouldSkipResolution: (resolutionConfig: ResolutionConfig, query: Query, columnProjections?: string[]) => boolean;
|
|
24
|
-
export declare const createBaseTableSchema: (baseSql: string, tableSchemas: TableSchema[], resolutionConfig: ResolutionConfig, measures: Member[], dimensions
|
|
24
|
+
export declare const createBaseTableSchema: (baseSql: string, tableSchemas: TableSchema[], resolutionConfig: ResolutionConfig, measures: Member[], dimensions: Member[] | undefined) => {
|
|
25
25
|
name: string;
|
|
26
26
|
sql: string;
|
|
27
27
|
measures: never[];
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.wrapWithRowIdOrderingAndExclusion = exports.getArrayTypeResolutionColumnConfigs = exports.withArrayFlattenModifier = exports.createWrapperTableSchema = exports.createBaseTableSchema = exports.shouldSkipResolution = exports.getColumnReference = void 0;
|
|
4
|
-
const
|
|
4
|
+
const get_alias_1 = require("../member-formatters/get-alias");
|
|
5
|
+
const get_namespaced_key_1 = require("../member-formatters/get-namespaced-key");
|
|
6
|
+
const member_key_to_safe_key_1 = require("../member-formatters/member-key-to-safe-key");
|
|
5
7
|
const is_array_member_type_1 = require("../utils/is-array-member-type");
|
|
6
8
|
const types_1 = require("./types");
|
|
7
9
|
/**
|
|
@@ -32,31 +34,25 @@ const shouldSkipResolution = (resolutionConfig, query, columnProjections) => {
|
|
|
32
34
|
};
|
|
33
35
|
exports.shouldSkipResolution = shouldSkipResolution;
|
|
34
36
|
const constructBaseDimension = (name, schema) => {
|
|
37
|
+
const config = { useDotNotation: false };
|
|
35
38
|
return {
|
|
36
|
-
name: (0,
|
|
37
|
-
sql: `${types_1.BASE_DATA_SOURCE_NAME}.${(0,
|
|
38
|
-
name,
|
|
39
|
-
alias: schema.alias,
|
|
40
|
-
aliasContext: { isAstIdentifier: false },
|
|
41
|
-
})}`,
|
|
39
|
+
name: (0, member_key_to_safe_key_1.memberKeyToSafeKey)(name, { useDotNotation: false }),
|
|
40
|
+
sql: `${types_1.BASE_DATA_SOURCE_NAME}.${(0, get_alias_1.constructAliasForSQL)(name, schema.alias, config)}`,
|
|
42
41
|
type: schema.type,
|
|
43
42
|
// Constructs alias to match the name in the base query.
|
|
44
|
-
alias: (0,
|
|
45
|
-
name,
|
|
46
|
-
alias: schema.alias,
|
|
47
|
-
aliasContext: { isTableSchemaAlias: true },
|
|
48
|
-
}),
|
|
43
|
+
alias: (0, get_alias_1.constructAliasForAST)(name, schema.alias, config),
|
|
49
44
|
};
|
|
50
45
|
};
|
|
51
46
|
const createBaseTableSchema = (baseSql, tableSchemas, resolutionConfig, measures, dimensions) => {
|
|
47
|
+
const config = { useDotNotation: false };
|
|
52
48
|
const schemaByName = {};
|
|
53
49
|
tableSchemas.forEach((tableSchema) => {
|
|
54
50
|
tableSchema.dimensions.forEach((dimension) => {
|
|
55
|
-
schemaByName[(0,
|
|
51
|
+
schemaByName[(0, get_namespaced_key_1.getNamespacedKey)(tableSchema.name, dimension.name)] =
|
|
56
52
|
dimension;
|
|
57
53
|
});
|
|
58
54
|
tableSchema.measures.forEach((measure) => {
|
|
59
|
-
schemaByName[(0,
|
|
55
|
+
schemaByName[(0, get_namespaced_key_1.getNamespacedKey)(tableSchema.name, measure.name)] = measure;
|
|
60
56
|
});
|
|
61
57
|
});
|
|
62
58
|
return {
|
|
@@ -72,15 +68,18 @@ const createBaseTableSchema = (baseSql, tableSchemas, resolutionConfig, measures
|
|
|
72
68
|
throw new Error(`Not found: ${member}`);
|
|
73
69
|
}
|
|
74
70
|
}),
|
|
75
|
-
joins: resolutionConfig.columnConfigs.map((
|
|
71
|
+
joins: resolutionConfig.columnConfigs.map((columnConfig) => {
|
|
76
72
|
var _a;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
name: config.name,
|
|
80
|
-
alias: (_a = schemaByName[config.name]) === null || _a === void 0 ? void 0 : _a.alias,
|
|
81
|
-
aliasContext: { isAstIdentifier: false },
|
|
82
|
-
})} = ${(0, member_formatters_1.memberKeyToSafeKey)(config.name)}.${config.joinColumn}`,
|
|
73
|
+
const targetTable = (0, member_key_to_safe_key_1.memberKeyToSafeKey)(columnConfig.name, {
|
|
74
|
+
useDotNotation: false,
|
|
83
75
|
});
|
|
76
|
+
// Quote the table name if it contains dots (useDotNotation mode)
|
|
77
|
+
const quotedTargetTable = targetTable.includes('.')
|
|
78
|
+
? `"${targetTable}"`
|
|
79
|
+
: targetTable;
|
|
80
|
+
return {
|
|
81
|
+
sql: `${types_1.BASE_DATA_SOURCE_NAME}.${(0, get_alias_1.constructAliasForSQL)(columnConfig.name, (_a = schemaByName[columnConfig.name]) === null || _a === void 0 ? void 0 : _a.alias, config)} = ${quotedTargetTable}.${columnConfig.joinColumn}`,
|
|
82
|
+
};
|
|
84
83
|
}),
|
|
85
84
|
};
|
|
86
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../../meerkat-core/src/resolution/resolution.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../../../meerkat-core/src/resolution/resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,8 +75,9 @@ const getAggregatedSql = ({ resolvedTableSchema, resolutionConfig, contextParams
|
|
|
75
75
|
tableSchemas: [schemaWithAggregation],
|
|
76
76
|
contextParams,
|
|
77
77
|
});
|
|
78
|
+
const tableSchema = (0, index_1.createWrapperTableSchema)(aggregatedSql, schemaWithAggregation);
|
|
78
79
|
// Order by row_id to maintain consistent ordering before excluding it
|
|
79
|
-
return
|
|
80
|
+
return tableSchema;
|
|
80
81
|
});
|
|
81
82
|
exports.getAggregatedSql = getAggregatedSql;
|
|
82
83
|
//# sourceMappingURL=aggregation-step.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation-step.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/steps/aggregation-step.ts"],"names":[],"mappings":";;;;AAAA,uCAWqB;AAErB;;;;;;GAMG;AACH,MAAM,4BAA4B,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClE,OAAO,GAAG,UAAU,GAAG,gCAAwB,EAAE,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACI,MAAM,gBAAgB,GAAG,CAAO,EACrC,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,cAAc,GAUf,
|
|
1
|
+
{"version":3,"file":"aggregation-step.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/resolution/steps/aggregation-step.ts"],"names":[],"mappings":"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"}
|