@devrev/meerkat-core 0.0.117 → 0.0.119
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 +0 -2
- package/src/ast-builder/ast-builder.js +6 -9
- package/src/ast-builder/ast-builder.js.map +1 -1
- package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +1 -2
- package/src/cube-group-by-transformer/cube-group-by-transformer.js +2 -2
- package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -1
- package/src/cube-measure-transformer/cube-measure-transformer.d.ts +2 -4
- package/src/cube-measure-transformer/cube-measure-transformer.js +9 -10
- package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -1
- package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +1 -2
- package/src/cube-order-by-transformer/cube-order-by-transformer.js +2 -2
- package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -1
- package/src/filter-params/filter-params-ast.d.ts +1 -2
- package/src/filter-params/filter-params-ast.js +2 -5
- package/src/filter-params/filter-params-ast.js.map +1 -1
- package/src/get-filter-params-sql/get-filter-params-sql.d.ts +1 -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 +1 -3
- package/src/get-final-base-sql/get-final-base-sql.js +1 -3
- 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 +3 -7
- package/src/get-wrapped-base-query-with-projections/get-aliased-columns-from-filters.js +6 -11
- 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 +1 -2
- package/src/get-wrapped-base-query-with-projections/get-projection-clause.js +3 -5
- 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 +1 -3
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +2 -3
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -1
- package/src/joins/joins.js +99 -13
- package/src/joins/joins.js.map +1 -1
- package/src/member-formatters/get-alias.d.ts +8 -34
- package/src/member-formatters/get-alias.js +13 -47
- 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.map +1 -1
- package/src/member-formatters/member-key-to-safe-key.d.ts +3 -12
- package/src/member-formatters/member-key-to-safe-key.js +3 -10
- package/src/member-formatters/member-key-to-safe-key.js.map +1 -1
- package/src/resolution/generators/generate-resolution-join-paths.js +2 -5
- package/src/resolution/generators/generate-resolution-join-paths.js.map +1 -1
- package/src/resolution/generators/generate-resolution-schemas.js +3 -4
- package/src/resolution/generators/generate-resolution-schemas.js.map +1 -1
- package/src/resolution/generators/generate-resolved-dimensions.js +2 -3
- package/src/resolution/generators/generate-resolved-dimensions.js.map +1 -1
- package/src/resolution/generators/generate-row-number-sql.js +1 -2
- package/src/resolution/generators/generate-row-number-sql.js.map +1 -1
- package/src/resolution/resolution.js +5 -13
- package/src/resolution/resolution.js.map +1 -1
- package/src/resolution/steps/apply-aliases-step.js +3 -4
- package/src/resolution/steps/apply-aliases-step.js.map +1 -1
- package/src/resolution/steps/apply-sql-overrides.js +2 -4
- package/src/resolution/steps/apply-sql-overrides.js.map +1 -1
- package/src/resolution/steps/resolution-step.js +1 -2
- package/src/resolution/steps/resolution-step.js.map +1 -1
- package/src/utils/meerkat-placeholder-replacer.d.ts +1 -2
- package/src/utils/meerkat-placeholder-replacer.js +2 -2
- package/src/utils/meerkat-placeholder-replacer.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { FilterType, Query } from '../types/cube-types/query';
|
|
3
2
|
import { TableSchema } from '../types/cube-types/table';
|
|
4
3
|
import { SelectStatement } from '../types/duckdb-serialization-types';
|
|
5
4
|
export declare const cubeToDuckdbAST: (query: Query, tableSchema: TableSchema, options: {
|
|
6
5
|
filterType: FilterType;
|
|
7
|
-
config: QueryOptions;
|
|
8
6
|
}) => SelectStatement | null;
|
|
@@ -10,27 +10,26 @@ 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");
|
|
13
|
-
const formatFilters = (queryFiltersWithInfo, filterType
|
|
13
|
+
const formatFilters = (queryFiltersWithInfo, filterType) => {
|
|
14
14
|
/*
|
|
15
15
|
* If the type of filter is set to base filter where
|
|
16
16
|
*/
|
|
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, get_alias_1.constructAliasForAST)(item.member, item.memberInfo.alias
|
|
20
|
+
return Object.assign(Object.assign({}, item), { member: (0, get_alias_1.constructAliasForAST)(item.member, item.memberInfo.alias) });
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
-
const getFormattedFilters = ({ queryFiltersWithInfo, filterType, mapperFn, baseAST,
|
|
23
|
+
const getFormattedFilters = ({ queryFiltersWithInfo, filterType, mapperFn, baseAST, }) => {
|
|
24
24
|
const filters = queryFiltersWithInfo
|
|
25
25
|
.map((item) => mapperFn(item))
|
|
26
26
|
.filter(Boolean);
|
|
27
|
-
const formattedFilters = formatFilters(filters, filterType
|
|
27
|
+
const formattedFilters = formatFilters(filters, filterType);
|
|
28
28
|
// When it's a projection filter (not BASE_FILTER), we reference projected aliases.
|
|
29
29
|
// When it's a BASE_FILTER, we reference table.column directly.
|
|
30
30
|
const isProjectionFilter = filterType !== 'BASE_FILTER';
|
|
31
31
|
const columnRefOptions = {
|
|
32
32
|
isAlias: isProjectionFilter,
|
|
33
|
-
useDotNotation: config.useDotNotation,
|
|
34
33
|
};
|
|
35
34
|
return (0, factory_1.cubeFilterToDuckdbAST)(formattedFilters, baseAST, columnRefOptions);
|
|
36
35
|
};
|
|
@@ -57,14 +56,12 @@ const cubeToDuckdbAST = (query, tableSchema, options) => {
|
|
|
57
56
|
mapperFn: (item) => (0, filter_params_ast_1.traverseAndFilter)(item, (value) => !query.measures.includes(value.member)),
|
|
58
57
|
queryFiltersWithInfo,
|
|
59
58
|
filterType: options.filterType,
|
|
60
|
-
config: options.config,
|
|
61
59
|
});
|
|
62
60
|
const havingClause = getFormattedFilters({
|
|
63
61
|
baseAST,
|
|
64
62
|
mapperFn: (item) => (0, filter_params_ast_1.traverseAndFilter)(item, (value) => query.measures.includes(value.member)),
|
|
65
63
|
queryFiltersWithInfo,
|
|
66
64
|
filterType: options.filterType,
|
|
67
|
-
config: options.config,
|
|
68
65
|
});
|
|
69
66
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
70
67
|
//@ts-ignore
|
|
@@ -74,7 +71,7 @@ const cubeToDuckdbAST = (query, tableSchema, options) => {
|
|
|
74
71
|
if (query.measures.length &&
|
|
75
72
|
query.dimensions &&
|
|
76
73
|
((_a = query.dimensions) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
77
|
-
node.group_expressions = (0, cube_group_by_transformer_1.cubeDimensionToGroupByAST)(query.dimensions, tableSchema
|
|
74
|
+
node.group_expressions = (0, cube_group_by_transformer_1.cubeDimensionToGroupByAST)(query.dimensions, tableSchema);
|
|
78
75
|
const groupSets = [];
|
|
79
76
|
/**
|
|
80
77
|
* We only support one group set for now.
|
|
@@ -86,7 +83,7 @@ const cubeToDuckdbAST = (query, tableSchema, options) => {
|
|
|
86
83
|
}
|
|
87
84
|
node.modifiers = [];
|
|
88
85
|
if (query.order && Object.keys(query.order).length > 0) {
|
|
89
|
-
node.modifiers.push((0, cube_order_by_transformer_1.cubeOrderByToAST)(query.order, tableSchema
|
|
86
|
+
node.modifiers.push((0, cube_order_by_transformer_1.cubeOrderByToAST)(query.order, tableSchema));
|
|
90
87
|
}
|
|
91
88
|
if (query.limit || query.offset) {
|
|
92
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":";;;AAAA,gEAA2E;AAC3E,sGAAmG;AACnG,kHAAsG;AACtG,sGAA0F;AAK1F,0EAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"ast-builder.js","sourceRoot":"","sources":["../../../../meerkat-core/src/ast-builder/ast-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { TableSchema } from '../types/cube-types';
|
|
3
2
|
import { Member } from '../types/cube-types/query';
|
|
4
3
|
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
5
|
-
export declare const cubeDimensionToGroupByAST: (dimensions: Member[], tableSchema: TableSchema
|
|
4
|
+
export declare const cubeDimensionToGroupByAST: (dimensions: Member[], tableSchema: TableSchema) => {
|
|
6
5
|
class: ExpressionClass;
|
|
7
6
|
type: ExpressionType;
|
|
8
7
|
alias: string;
|
|
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cubeDimensionToGroupByAST = void 0;
|
|
4
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, tableSchema
|
|
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, get_alias_1.getAliasForAST)(dimension, tableSchema
|
|
12
|
+
column_names: [(0, get_alias_1.getAliasForAST)(dimension, tableSchema)],
|
|
13
13
|
};
|
|
14
14
|
return dimensionAST;
|
|
15
15
|
});
|
|
@@ -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,
|
|
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,8DAAgE;AAGhE,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,CAAC,IAAA,0BAAc,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SACvD,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAhBW,QAAA,yBAAyB,6BAgBpC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { Member } from '../types/cube-types/query';
|
|
3
2
|
import { Measure, TableSchema } from '../types/cube-types/table';
|
|
4
|
-
export declare const cubeMeasureToSQLSelectString: (measures: Member[], tableSchema: TableSchema
|
|
3
|
+
export declare const cubeMeasureToSQLSelectString: (measures: Member[], tableSchema: TableSchema) => string;
|
|
5
4
|
export declare const getSelectReplacedSql: (sql: string, selectString: string) => string;
|
|
6
5
|
/**
|
|
7
6
|
* Get all the columns used in the measures.
|
|
@@ -17,7 +16,6 @@ export declare const getAllColumnUsedInMeasures: (measures: Measure[], tableSche
|
|
|
17
16
|
* @param measures
|
|
18
17
|
* @param tableSchema
|
|
19
18
|
* @param sqlToReplace
|
|
20
|
-
* @param config
|
|
21
19
|
* @returns
|
|
22
20
|
*/
|
|
23
|
-
export declare const applyProjectionToSQLQuery: (dimensions: Member[], measures: Member[], tableSchema: TableSchema, sqlToReplace: string
|
|
21
|
+
export declare const applyProjectionToSQLQuery: (dimensions: Member[], measures: Member[], tableSchema: TableSchema, sqlToReplace: string) => string;
|
|
@@ -5,7 +5,7 @@ const get_alias_1 = require("../member-formatters/get-alias");
|
|
|
5
5
|
const get_namespaced_key_1 = require("../member-formatters/get-namespaced-key");
|
|
6
6
|
const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
|
|
7
7
|
const meerkat_placeholder_replacer_1 = require("../utils/meerkat-placeholder-replacer");
|
|
8
|
-
const cubeMeasureToSQLSelectString = (measures, tableSchema
|
|
8
|
+
const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
9
9
|
let base = 'SELECT';
|
|
10
10
|
for (let i = 0; i < measures.length; i++) {
|
|
11
11
|
const measure = measures[i];
|
|
@@ -14,7 +14,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema, config) => {
|
|
|
14
14
|
continue;
|
|
15
15
|
}
|
|
16
16
|
const [tableSchemaName, measureKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measure);
|
|
17
|
-
const aliasKey = (0, get_alias_1.getAliasForSQL)(measure, tableSchema
|
|
17
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(measure, tableSchema);
|
|
18
18
|
const measureSchema = tableSchema.measures.find((m) => m.name === measureKeyWithoutTable);
|
|
19
19
|
if (!measureSchema) {
|
|
20
20
|
continue;
|
|
@@ -24,7 +24,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema, config) => {
|
|
|
24
24
|
}
|
|
25
25
|
// Note that tableSchemaName is not necessarily the same as tableSchema.name
|
|
26
26
|
// since tableSchema might be the merged tableSchema.
|
|
27
|
-
let meerkatReplacedSqlString = (0, meerkat_placeholder_replacer_1.meerkatPlaceholderReplacer)(measureSchema.sql, tableSchemaName, tableSchema
|
|
27
|
+
let meerkatReplacedSqlString = (0, meerkat_placeholder_replacer_1.meerkatPlaceholderReplacer)(measureSchema.sql, tableSchemaName, tableSchema);
|
|
28
28
|
/**
|
|
29
29
|
* Here we extract the columns used in the measure and replace them with the safeKey.
|
|
30
30
|
* We need to do this because the columns used in the measure are not directly available in the joined table.
|
|
@@ -35,7 +35,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema, config) => {
|
|
|
35
35
|
columnsUsedInMeasure === null || columnsUsedInMeasure === void 0 ? void 0 : columnsUsedInMeasure.forEach((measureKey) => {
|
|
36
36
|
const [_, column] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measureKey);
|
|
37
37
|
const memberKey = (0, get_namespaced_key_1.getNamespacedKey)(tableSchemaName, column);
|
|
38
|
-
const columnKey = (0, get_alias_1.getAliasForSQL)(memberKey, tableSchema
|
|
38
|
+
const columnKey = (0, get_alias_1.getAliasForSQL)(memberKey, tableSchema);
|
|
39
39
|
meerkatReplacedSqlString = meerkatReplacedSqlString.replace(memberKey, columnKey);
|
|
40
40
|
});
|
|
41
41
|
base += ` ${meerkatReplacedSqlString} AS ${aliasKey} `;
|
|
@@ -43,7 +43,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema, config) => {
|
|
|
43
43
|
return base;
|
|
44
44
|
};
|
|
45
45
|
exports.cubeMeasureToSQLSelectString = cubeMeasureToSQLSelectString;
|
|
46
|
-
const addDimensionToSQLProjection = (dimensions, selectString, tableSchema
|
|
46
|
+
const addDimensionToSQLProjection = (dimensions, selectString, tableSchema) => {
|
|
47
47
|
if (dimensions.length === 0) {
|
|
48
48
|
return selectString;
|
|
49
49
|
}
|
|
@@ -52,7 +52,7 @@ const addDimensionToSQLProjection = (dimensions, selectString, tableSchema, conf
|
|
|
52
52
|
const dimension = dimensions[i];
|
|
53
53
|
const [_, dimensionKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(dimension);
|
|
54
54
|
const dimensionSchema = tableSchema.dimensions.find((m) => m.name === dimensionKeyWithoutTable);
|
|
55
|
-
const aliasKey = (0, get_alias_1.getAliasForSQL)(dimension, tableSchema
|
|
55
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(dimension, tableSchema);
|
|
56
56
|
if (!dimensionSchema) {
|
|
57
57
|
continue;
|
|
58
58
|
}
|
|
@@ -115,15 +115,14 @@ const getColumnsFromSQL = (sql, tableName) => {
|
|
|
115
115
|
* @param measures
|
|
116
116
|
* @param tableSchema
|
|
117
117
|
* @param sqlToReplace
|
|
118
|
-
* @param config
|
|
119
118
|
* @returns
|
|
120
119
|
*/
|
|
121
|
-
const applyProjectionToSQLQuery = (dimensions, measures, tableSchema, sqlToReplace
|
|
122
|
-
let measureSelectString = (0, exports.cubeMeasureToSQLSelectString)(measures, tableSchema
|
|
120
|
+
const applyProjectionToSQLQuery = (dimensions, measures, tableSchema, sqlToReplace) => {
|
|
121
|
+
let measureSelectString = (0, exports.cubeMeasureToSQLSelectString)(measures, tableSchema);
|
|
123
122
|
if (measures.length > 0 && dimensions.length > 0) {
|
|
124
123
|
measureSelectString += ', ';
|
|
125
124
|
}
|
|
126
|
-
const selectString = addDimensionToSQLProjection(dimensions, measureSelectString, tableSchema
|
|
125
|
+
const selectString = addDimensionToSQLProjection(dimensions, measureSelectString, tableSchema);
|
|
127
126
|
return (0, exports.getSelectReplacedSql)(sqlToReplace, selectString);
|
|
128
127
|
};
|
|
129
128
|
exports.applyProjectionToSQLQuery = applyProjectionToSQLQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cube-measure-transformer.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-measure-transformer/cube-measure-transformer.ts"],"names":[],"mappings":";;;AAAA,
|
|
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,11 +1,10 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { TableSchema } from '../types/cube-types';
|
|
3
2
|
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
4
3
|
import { OrderType } from '../types/duckdb-serialization-types/serialization/Nodes';
|
|
5
4
|
import { ResultModifierType } from '../types/duckdb-serialization-types/serialization/ResultModifier';
|
|
6
5
|
export declare const cubeOrderByToAST: (order: {
|
|
7
6
|
[key: string]: "asc" | "desc";
|
|
8
|
-
}, tableSchema: TableSchema
|
|
7
|
+
}, tableSchema: TableSchema) => {
|
|
9
8
|
type: ResultModifierType;
|
|
10
9
|
orders: {
|
|
11
10
|
type: OrderType;
|
|
@@ -5,7 +5,7 @@ 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, tableSchema
|
|
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,7 @@ const cubeOrderByToAST = (order, tableSchema, config) => {
|
|
|
20
20
|
/**
|
|
21
21
|
* Column name reference - uses alias format matching projections
|
|
22
22
|
*/
|
|
23
|
-
column_names: [(0, get_alias_1.getAliasForAST)(key, tableSchema
|
|
23
|
+
column_names: [(0, get_alias_1.getAliasForAST)(key, tableSchema)],
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
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,
|
|
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,8DAAgE;AAEhE,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,CAAC,IAAA,0BAAc,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;aACjD;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;AA5BW,QAAA,gBAAgB,oBA4B3B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { FilterType, MeerkatQueryFilter, Query, QueryFilter, TableSchema } from '../types/cube-types';
|
|
3
2
|
import { SelectStatement } from '../types/duckdb-serialization-types/serialization/Statement';
|
|
4
3
|
export declare const traverseMeerkatQueryFilter: (filters: MeerkatQueryFilter[], callback: (value: QueryFilter) => void) => void;
|
|
@@ -21,7 +20,7 @@ export declare const detectAllFilterParamsFromSQL: (sql: string) => {
|
|
|
21
20
|
filterExpression: string;
|
|
22
21
|
matchKey: string;
|
|
23
22
|
}[];
|
|
24
|
-
export declare const getFilterParamsAST: (query: Query, tableSchema: TableSchema, filterType: FilterType
|
|
23
|
+
export declare const getFilterParamsAST: (query: Query, tableSchema: TableSchema, filterType: FilterType) => {
|
|
25
24
|
memberKey: string;
|
|
26
25
|
ast: SelectStatement | null;
|
|
27
26
|
matchKey: string;
|
|
@@ -76,7 +76,7 @@ const detectAllFilterParamsFromSQL = (sql) => {
|
|
|
76
76
|
return matches;
|
|
77
77
|
};
|
|
78
78
|
exports.detectAllFilterParamsFromSQL = detectAllFilterParamsFromSQL;
|
|
79
|
-
const getFilterParamsAST = (query, tableSchema, filterType
|
|
79
|
+
const getFilterParamsAST = (query, tableSchema, filterType) => {
|
|
80
80
|
const filterParamKeys = (0, exports.detectAllFilterParamsFromSQL)(tableSchema.sql);
|
|
81
81
|
const filterParamsAST = [];
|
|
82
82
|
for (const filterParamKey of filterParamKeys) {
|
|
@@ -85,10 +85,7 @@ const getFilterParamsAST = (query, tableSchema, filterType, config) => {
|
|
|
85
85
|
filterParamsAST.push({
|
|
86
86
|
memberKey: filterParamKey.memberKey,
|
|
87
87
|
matchKey: filterParamKey.matchKey,
|
|
88
|
-
ast: (0, ast_builder_1.cubeToDuckdbAST)({ filters, measures: [], dimensions: [] }, tableSchema, {
|
|
89
|
-
filterType,
|
|
90
|
-
config,
|
|
91
|
-
}),
|
|
88
|
+
ast: (0, ast_builder_1.cubeToDuckdbAST)({ filters, measures: [], dimensions: [] }, tableSchema, { filterType }),
|
|
92
89
|
});
|
|
93
90
|
}
|
|
94
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-params-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/filter-params/filter-params-ast.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;
|
|
1
|
+
{"version":3,"file":"filter-params-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/filter-params/filter-params-ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { FilterType, Query, TableSchema } from '../types/cube-types';
|
|
3
|
-
export declare const getFilterParamsSQL: ({ query, tableSchema, filterType, getQueryOutput,
|
|
2
|
+
export declare const getFilterParamsSQL: ({ query, tableSchema, filterType, getQueryOutput, }: {
|
|
4
3
|
query: Query;
|
|
5
4
|
tableSchema: TableSchema;
|
|
6
5
|
filterType: FilterType;
|
|
7
6
|
getQueryOutput: (query: string) => Promise<any>;
|
|
8
|
-
config: QueryOptions;
|
|
9
7
|
}) => Promise<{
|
|
10
8
|
memberKey: string;
|
|
11
9
|
sql: string;
|
|
@@ -4,8 +4,8 @@ exports.getFilterParamsSQL = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const ast_deserializer_1 = require("../ast-deserializer/ast-deserializer");
|
|
6
6
|
const filter_params_ast_1 = require("../filter-params/filter-params-ast");
|
|
7
|
-
const getFilterParamsSQL = ({ query, tableSchema, filterType, getQueryOutput,
|
|
8
|
-
const filterParamsAST = (0, filter_params_ast_1.getFilterParamsAST)(query, tableSchema, filterType
|
|
7
|
+
const getFilterParamsSQL = ({ query, tableSchema, filterType, getQueryOutput, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
+
const filterParamsAST = (0, filter_params_ast_1.getFilterParamsAST)(query, tableSchema, filterType);
|
|
9
9
|
const filterParamsSQL = [];
|
|
10
10
|
for (const filterParamAST of filterParamsAST) {
|
|
11
11
|
if (!filterParamAST.ast) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-filter-params-sql.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-filter-params-sql/get-filter-params-sql.ts"],"names":[],"mappings":";;;;AAAA,2EAG8C;AAC9C,0EAAwE;
|
|
1
|
+
{"version":3,"file":"get-filter-params-sql.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-filter-params-sql/get-filter-params-sql.ts"],"names":[],"mappings":";;;;AAAA,2EAG8C;AAC9C,0EAAwE;AAGjE,MAAM,kBAAkB,GAAG,CAAO,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAc,GAMf,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,IAAA,sCAAkB,EAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;YACvB,SAAS;SACV;QAED,MAAM,WAAW,GAAG,MAAM,cAAc,CACtC,IAAA,uCAAoB,EAAC,cAAc,CAAC,GAAG,CAAC,CACzC,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,mCAAgB,EAAC,WAAW,CAAC,CAAC;QAE1C,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC,CAAC;KACJ;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA,CAAC;AA9BW,QAAA,kBAAkB,sBA8B7B"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { QueryOptions } from "../member-formatters/get-alias";
|
|
2
1
|
import { Query } from "../types/cube-types/query";
|
|
3
2
|
import { TableSchema } from "../types/cube-types/table";
|
|
4
|
-
export declare const getFinalBaseSQL: ({ query, getQueryOutput, tableSchema,
|
|
3
|
+
export declare const getFinalBaseSQL: ({ query, getQueryOutput, tableSchema, }: {
|
|
5
4
|
query: Query;
|
|
6
5
|
tableSchema: TableSchema;
|
|
7
6
|
getQueryOutput: (query: string) => Promise<any>;
|
|
8
|
-
config: QueryOptions;
|
|
9
7
|
}) => Promise<string>;
|
|
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const filter_params_ast_1 = require("../filter-params/filter-params-ast");
|
|
6
6
|
const get_filter_params_sql_1 = require("../get-filter-params-sql/get-filter-params-sql");
|
|
7
7
|
const get_wrapped_base_query_with_projections_1 = require("../get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections");
|
|
8
|
-
const getFinalBaseSQL = ({ query, getQueryOutput, tableSchema,
|
|
8
|
+
const getFinalBaseSQL = ({ query, getQueryOutput, tableSchema, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
9
|
/**
|
|
10
10
|
* Apply transformation to the supplied base query.
|
|
11
11
|
* This involves updating the filter placeholder with the actual filter values.
|
|
@@ -15,14 +15,12 @@ const getFinalBaseSQL = ({ query, getQueryOutput, tableSchema, config, }) => tsl
|
|
|
15
15
|
tableSchema,
|
|
16
16
|
filterType: 'BASE_FILTER',
|
|
17
17
|
getQueryOutput,
|
|
18
|
-
config,
|
|
19
18
|
});
|
|
20
19
|
const baseSQL = (0, filter_params_ast_1.applyFilterParamsToBaseSQL)(tableSchema.sql, baseFilterParamsSQL);
|
|
21
20
|
const baseSQLWithFilterProjection = (0, get_wrapped_base_query_with_projections_1.getWrappedBaseQueryWithProjections)({
|
|
22
21
|
baseQuery: baseSQL,
|
|
23
22
|
tableSchema,
|
|
24
23
|
query: query,
|
|
25
|
-
config,
|
|
26
24
|
});
|
|
27
25
|
return baseSQLWithFilterProjection;
|
|
28
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-final-base-sql.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-final-base-sql/get-final-base-sql.ts"],"names":[],"mappings":";;;;AAAA,0EAAgF;AAChF,0FAAoF;AACpF,gJAAwI;
|
|
1
|
+
{"version":3,"file":"get-final-base-sql.js","sourceRoot":"","sources":["../../../../meerkat-core/src/get-final-base-sql/get-final-base-sql.ts"],"names":[],"mappings":";;;;AAAA,0EAAgF;AAChF,0FAAoF;AACpF,gJAAwI;AAIjI,MAAM,eAAe,GAAG,CAAO,EACpC,KAAK,EACL,cAAc,EACd,WAAW,GAKZ,EAAE,EAAE;IACH;;;OAGG;IACH,MAAM,mBAAmB,GAAG,MAAM,IAAA,0CAAkB,EAAC;QACnD,KAAK,EAAE,KAAK;QACZ,WAAW;QACX,UAAU,EAAE,aAAa;QACzB,cAAc;KACf,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,8CAA0B,EACxC,WAAW,CAAC,GAAG,EACf,mBAAmB,CACpB,CAAC;IACF,MAAM,2BAA2B,GAAG,IAAA,4EAAkC,EAAC;QACrE,SAAS,EAAE,OAAO;QAClB,WAAW;QACX,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,OAAO,2BAA2B,CAAC;AACrC,CAAC,CAAA,CAAC;AA7BW,QAAA,eAAe,mBA6B1B"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { MeerkatQueryFilter, Query, TableSchema } from '../types/cube-types';
|
|
3
2
|
import { Modifier } from './types';
|
|
4
|
-
export declare const getDimensionProjection: ({ key, tableSchema, modifiers, query,
|
|
3
|
+
export declare const getDimensionProjection: ({ key, tableSchema, modifiers, query, }: {
|
|
5
4
|
key: string;
|
|
6
5
|
tableSchema: TableSchema;
|
|
7
6
|
modifiers: Modifier[];
|
|
8
7
|
query: Query;
|
|
9
|
-
config: QueryOptions;
|
|
10
8
|
}) => {
|
|
11
9
|
sql: undefined;
|
|
12
10
|
foundMember: undefined;
|
|
@@ -16,11 +14,10 @@ export declare const getDimensionProjection: ({ key, tableSchema, modifiers, que
|
|
|
16
14
|
foundMember: import("../types/cube-types").Dimension;
|
|
17
15
|
aliasKey: string;
|
|
18
16
|
};
|
|
19
|
-
export declare const getFilterMeasureProjection: ({ key, tableSchema, measures,
|
|
17
|
+
export declare const getFilterMeasureProjection: ({ key, tableSchema, measures, }: {
|
|
20
18
|
key: string;
|
|
21
19
|
tableSchema: TableSchema;
|
|
22
20
|
measures: string[];
|
|
23
|
-
config: QueryOptions;
|
|
24
21
|
}) => {
|
|
25
22
|
sql: undefined;
|
|
26
23
|
foundMember: undefined;
|
|
@@ -30,10 +27,9 @@ export declare const getFilterMeasureProjection: ({ key, tableSchema, measures,
|
|
|
30
27
|
foundMember: import("../types/cube-types").Measure;
|
|
31
28
|
aliasKey: string;
|
|
32
29
|
};
|
|
33
|
-
export declare const getAliasedColumnsFromFilters: ({ meerkatFilters, tableSchema, aliasedColumnSet, query,
|
|
30
|
+
export declare const getAliasedColumnsFromFilters: ({ meerkatFilters, tableSchema, aliasedColumnSet, query, }: {
|
|
34
31
|
meerkatFilters?: MeerkatQueryFilter[] | undefined;
|
|
35
32
|
tableSchema: TableSchema;
|
|
36
33
|
aliasedColumnSet: Set<string>;
|
|
37
34
|
query: Query;
|
|
38
|
-
config: QueryOptions;
|
|
39
35
|
}) => string;
|
|
@@ -5,7 +5,7 @@ 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");
|
|
8
|
-
const getDimensionProjection = ({ key, tableSchema, modifiers, query,
|
|
8
|
+
const getDimensionProjection = ({ key, tableSchema, modifiers, query, }) => {
|
|
9
9
|
// Find the table access key
|
|
10
10
|
const [tableName, measureWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(key);
|
|
11
11
|
const foundMember = (0, find_in_table_schema_1.findInDimensionSchema)(measureWithoutTable, tableSchema);
|
|
@@ -25,12 +25,12 @@ const getDimensionProjection = ({ key, tableSchema, modifiers, query, config, })
|
|
|
25
25
|
sqlExpression: foundMember.sql,
|
|
26
26
|
query,
|
|
27
27
|
});
|
|
28
|
-
const aliasKey = (0, get_alias_1.getAliasForSQL)(key, tableSchema
|
|
28
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(key, tableSchema);
|
|
29
29
|
// Add the alias key to the set. So we have a reference to all the previously selected members.
|
|
30
30
|
return { sql: `${modifiedSql} AS ${aliasKey}`, foundMember, aliasKey };
|
|
31
31
|
};
|
|
32
32
|
exports.getDimensionProjection = getDimensionProjection;
|
|
33
|
-
const getFilterMeasureProjection = ({ key, tableSchema, measures,
|
|
33
|
+
const getFilterMeasureProjection = ({ key, tableSchema, measures, }) => {
|
|
34
34
|
const [tableName, measureWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(key);
|
|
35
35
|
const foundMember = (0, find_in_table_schema_1.findInMeasureSchema)(measureWithoutTable, tableSchema);
|
|
36
36
|
const isMeasure = measures.includes(key);
|
|
@@ -44,11 +44,11 @@ const getFilterMeasureProjection = ({ key, tableSchema, measures, config, }) =>
|
|
|
44
44
|
aliasKey: undefined,
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
const aliasKey = (0, get_alias_1.getAliasForSQL)(key, tableSchema
|
|
47
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(key, tableSchema);
|
|
48
48
|
return { sql: `${key} AS ${aliasKey}`, foundMember, aliasKey };
|
|
49
49
|
};
|
|
50
50
|
exports.getFilterMeasureProjection = getFilterMeasureProjection;
|
|
51
|
-
const getFilterProjections = ({ member, tableSchema, measures, query,
|
|
51
|
+
const getFilterProjections = ({ member, tableSchema, measures, query, }) => {
|
|
52
52
|
const [, memberWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(member);
|
|
53
53
|
const isDimension = (0, find_in_table_schema_1.findInDimensionSchema)(memberWithoutTable, tableSchema);
|
|
54
54
|
if (isDimension) {
|
|
@@ -57,7 +57,6 @@ const getFilterProjections = ({ member, tableSchema, measures, query, config, })
|
|
|
57
57
|
tableSchema,
|
|
58
58
|
modifiers: [],
|
|
59
59
|
query,
|
|
60
|
-
config,
|
|
61
60
|
});
|
|
62
61
|
}
|
|
63
62
|
const isMeasure = (0, find_in_table_schema_1.findInMeasureSchema)(memberWithoutTable, tableSchema);
|
|
@@ -66,7 +65,6 @@ const getFilterProjections = ({ member, tableSchema, measures, query, config, })
|
|
|
66
65
|
key: member,
|
|
67
66
|
tableSchema,
|
|
68
67
|
measures,
|
|
69
|
-
config,
|
|
70
68
|
});
|
|
71
69
|
}
|
|
72
70
|
return {
|
|
@@ -75,7 +73,7 @@ const getFilterProjections = ({ member, tableSchema, measures, query, config, })
|
|
|
75
73
|
aliasKey: undefined,
|
|
76
74
|
};
|
|
77
75
|
};
|
|
78
|
-
const getAliasedColumnsFromFilters = ({ meerkatFilters, tableSchema, aliasedColumnSet, query,
|
|
76
|
+
const getAliasedColumnsFromFilters = ({ meerkatFilters, tableSchema, aliasedColumnSet, query, }) => {
|
|
79
77
|
const parts = [];
|
|
80
78
|
const { measures } = query;
|
|
81
79
|
meerkatFilters === null || meerkatFilters === void 0 ? void 0 : meerkatFilters.forEach((filter) => {
|
|
@@ -86,7 +84,6 @@ const getAliasedColumnsFromFilters = ({ meerkatFilters, tableSchema, aliasedColu
|
|
|
86
84
|
tableSchema,
|
|
87
85
|
aliasedColumnSet,
|
|
88
86
|
query,
|
|
89
|
-
config,
|
|
90
87
|
});
|
|
91
88
|
if (sql) {
|
|
92
89
|
parts.push(sql);
|
|
@@ -99,7 +96,6 @@ const getAliasedColumnsFromFilters = ({ meerkatFilters, tableSchema, aliasedColu
|
|
|
99
96
|
meerkatFilters: filter.or,
|
|
100
97
|
aliasedColumnSet,
|
|
101
98
|
query,
|
|
102
|
-
config,
|
|
103
99
|
});
|
|
104
100
|
if (sql) {
|
|
105
101
|
parts.push(sql);
|
|
@@ -111,7 +107,6 @@ const getAliasedColumnsFromFilters = ({ meerkatFilters, tableSchema, aliasedColu
|
|
|
111
107
|
tableSchema,
|
|
112
108
|
measures,
|
|
113
109
|
query,
|
|
114
|
-
config,
|
|
115
110
|
});
|
|
116
111
|
if (!foundMember || aliasedColumnSet.has(aliasKey)) {
|
|
117
112
|
// If the selected member is not found in the table schema or if it is already selected, continue.
|
|
@@ -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,
|
|
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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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
1
|
import { Query, TableSchema } from '../types/cube-types';
|
|
3
|
-
export declare const getProjectionClause: (query: Query, tableSchema: TableSchema, aliasedColumnSet: Set<string
|
|
2
|
+
export declare const getProjectionClause: (query: Query, tableSchema: TableSchema, aliasedColumnSet: Set<string>) => string;
|
|
@@ -14,7 +14,7 @@ const memberClauseAggregator = ({ member, aliasedColumnSet, acc, sql, }) => {
|
|
|
14
14
|
acc.push(sql);
|
|
15
15
|
return acc;
|
|
16
16
|
};
|
|
17
|
-
const getProjectionClause = (query, tableSchema, aliasedColumnSet
|
|
17
|
+
const getProjectionClause = (query, tableSchema, aliasedColumnSet) => {
|
|
18
18
|
const { measures, dimensions = [] } = query;
|
|
19
19
|
const filteredDimensions = dimensions.filter((dimension) => {
|
|
20
20
|
const [dimensionDataSource] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(dimension);
|
|
@@ -30,10 +30,9 @@ const getProjectionClause = (query, tableSchema, aliasedColumnSet, config) => {
|
|
|
30
30
|
tableSchema,
|
|
31
31
|
modifiers: sql_expression_modifiers_1.MODIFIERS,
|
|
32
32
|
query,
|
|
33
|
-
config,
|
|
34
33
|
});
|
|
35
34
|
return memberClauseAggregator({
|
|
36
|
-
member: (0, get_alias_1.getAliasForSQL)(member, tableSchema
|
|
35
|
+
member: (0, get_alias_1.getAliasForSQL)(member, tableSchema),
|
|
37
36
|
aliasedColumnSet,
|
|
38
37
|
acc,
|
|
39
38
|
currentIndex,
|
|
@@ -47,7 +46,6 @@ const getProjectionClause = (query, tableSchema, aliasedColumnSet, config) => {
|
|
|
47
46
|
key: member,
|
|
48
47
|
tableSchema,
|
|
49
48
|
measures,
|
|
50
|
-
config,
|
|
51
49
|
});
|
|
52
50
|
return memberClauseAggregator({
|
|
53
51
|
member,
|
|
@@ -68,7 +66,7 @@ const getProjectionClause = (query, tableSchema, aliasedColumnSet, config) => {
|
|
|
68
66
|
const columnsUsedInMeasures = (0, cube_measure_transformer_1.getAllColumnUsedInMeasures)(usedMeasureObjects, tableSchema);
|
|
69
67
|
let columnsUsedInMeasuresInProjection = '';
|
|
70
68
|
columnsUsedInMeasures.forEach((column, index) => {
|
|
71
|
-
const safeKey = (0, get_alias_1.getAliasForSQL)(column, tableSchema
|
|
69
|
+
const safeKey = (0, get_alias_1.getAliasForSQL)(column, tableSchema);
|
|
72
70
|
columnsUsedInMeasuresInProjection += `${column} AS ${safeKey}`;
|
|
73
71
|
if (index !== columnsUsedInMeasures.length - 1) {
|
|
74
72
|
columnsUsedInMeasuresInProjection += ', ';
|