@devrev/meerkat-core 0.0.112 → 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/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 +97 -7
- package/src/member-formatters/get-alias.js +131 -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 +5 -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 -10
- 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/apply-aliases-step.js +9 -5
- package/src/resolution/steps/apply-aliases-step.js.map +1 -1
- package/src/resolution/steps/apply-sql-overrides.d.ts +2 -3
- package/src/resolution/steps/apply-sql-overrides.js +6 -5
- package/src/resolution/steps/apply-sql-overrides.js.map +1 -1
- package/src/resolution/steps/resolution-step.js +6 -7
- package/src/resolution/steps/resolution-step.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
|
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.notInTransform = void 0;
|
|
4
4
|
const cube_filter_to_duckdb_1 = require("../../cube-to-duckdb/cube-filter-to-duckdb");
|
|
5
5
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
6
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
7
6
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
8
7
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
9
|
-
const notInDuckDbCondition = (columnName, values, memberInfo) => {
|
|
8
|
+
const notInDuckDbCondition = (columnName, values, memberInfo, options) => {
|
|
10
9
|
const sqlTreeValues = values.map((value) => {
|
|
11
10
|
return {
|
|
12
11
|
class: Expression_1.ExpressionClass.CONSTANT,
|
|
@@ -15,12 +14,9 @@ const notInDuckDbCondition = (columnName, values, memberInfo) => {
|
|
|
15
14
|
value: (0, base_condition_builder_1.valueBuilder)(value, memberInfo),
|
|
16
15
|
};
|
|
17
16
|
});
|
|
18
|
-
const columnRef = {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
alias: '',
|
|
22
|
-
column_names: columnName.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
23
|
-
};
|
|
17
|
+
const columnRef = (0, base_condition_builder_1.createColumnRef)(columnName, {
|
|
18
|
+
isAlias: options.isAlias,
|
|
19
|
+
});
|
|
24
20
|
switch (memberInfo.type) {
|
|
25
21
|
case 'number_array':
|
|
26
22
|
case 'string_array': {
|
|
@@ -67,16 +63,16 @@ const notInDuckDbCondition = (columnName, values, memberInfo) => {
|
|
|
67
63
|
}
|
|
68
64
|
}
|
|
69
65
|
};
|
|
70
|
-
const notInTransform = (query) => {
|
|
66
|
+
const notInTransform = (query, options) => {
|
|
71
67
|
const { member, memberInfo } = query;
|
|
72
68
|
// Check if this is a SQL expression
|
|
73
69
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
74
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notIn');
|
|
70
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notIn', options);
|
|
75
71
|
}
|
|
76
72
|
if (!query.values) {
|
|
77
73
|
throw new Error('Not in filter must have at least one value');
|
|
78
74
|
}
|
|
79
|
-
return notInDuckDbCondition(member, query.values, memberInfo);
|
|
75
|
+
return notInDuckDbCondition(member, query.values, memberInfo, options);
|
|
80
76
|
};
|
|
81
77
|
exports.notInTransform = notInTransform;
|
|
82
78
|
//# sourceMappingURL=not-in.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-in/not-in.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AAGzF,mFAA8E;AAE9E,
|
|
1
|
+
{"version":3,"file":"not-in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-in/not-in.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AAGzF,mFAA8E;AAE9E,gGAGyE;AACzE,6FAI0D;AAE1D,MAAM,oBAAoB,GAAG,CAC3B,UAAkB,EAClB,MAAgB,EAChB,UAA+B,EAC/B,OAA+B,EAC/B,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO;YACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;YAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;YACnC,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,IAAA,qCAAY,EAAC,KAAK,EAAE,UAAU,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,IAAA,wCAAe,EAAC,UAAU,EAAE;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IACH,QAAQ,UAAU,CAAC,IAAI,EAAE;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,YAAY;gBACjC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE;oBACR;wBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;wBAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;wBAC7B,KAAK,EAAE,EAAE;wBACT,aAAa,EAAE,IAAI;wBACnB,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,SAAS;4BACT;gCACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;gCAC/B,IAAI,EAAE,2BAAc,CAAC,iBAAiB;gCACtC,KAAK,EAAE,EAAE;gCACT,QAAQ,EAAE,aAAa;6BACxB;yBACF;wBACD,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE;4BACT,IAAI,EAAE,gBAAgB;4BACtB,MAAM,EAAE,EAAE;yBACX;wBACD,QAAQ,EAAE,KAAK;wBACf,WAAW,EAAE,IAAI;wBACjB,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,cAAc;gBACnC,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC;aACxC,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAEK,MAAM,cAAc,GAAmC,CAC5D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,oCAAoC;IACpC,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAC3E;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.notSetTransform = void 0;
|
|
4
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
5
4
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
6
|
-
const
|
|
5
|
+
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
6
|
+
const notSetTransform = (query, options) => {
|
|
7
7
|
const { member } = query;
|
|
8
8
|
return {
|
|
9
9
|
class: Expression_1.ExpressionClass.OPERATOR,
|
|
10
10
|
type: Expression_1.ExpressionType.OPERATOR_IS_NULL,
|
|
11
11
|
alias: '',
|
|
12
12
|
children: [
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
alias: '',
|
|
17
|
-
column_names: member.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
18
|
-
},
|
|
13
|
+
(0, base_condition_builder_1.createColumnRef)(member, {
|
|
14
|
+
isAlias: options.isAlias,
|
|
15
|
+
}),
|
|
19
16
|
],
|
|
20
17
|
};
|
|
21
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-set.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-set/not-set.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"not-set.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-set/not-set.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAG5E,MAAM,eAAe,GAAmC,CAC7D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;QAC/B,IAAI,EAAE,2BAAc,CAAC,gBAAgB;QACrC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR,IAAA,wCAAe,EAAC,MAAM,EAAE;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;SACH;KACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setTransform = void 0;
|
|
4
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
5
4
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
6
|
-
const
|
|
5
|
+
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
6
|
+
const setTransform = (query, options) => {
|
|
7
7
|
const { member } = query;
|
|
8
8
|
return {
|
|
9
9
|
class: Expression_1.ExpressionClass.OPERATOR,
|
|
10
10
|
type: Expression_1.ExpressionType.OPERATOR_IS_NOT_NULL,
|
|
11
11
|
alias: '',
|
|
12
12
|
children: [
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
alias: '',
|
|
17
|
-
column_names: member.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
18
|
-
},
|
|
13
|
+
(0, base_condition_builder_1.createColumnRef)(member, {
|
|
14
|
+
isAlias: options.isAlias,
|
|
15
|
+
}),
|
|
19
16
|
],
|
|
20
17
|
};
|
|
21
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/set/set.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/set/set.ts"],"names":[],"mappings":";;;AAAA,gGAGyE;AACzE,6FAAmF;AAG5E,MAAM,YAAY,GAAmC,CAC1D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;QAC/B,IAAI,EAAE,2BAAc,CAAC,oBAAoB;QACzC,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE;YACR,IAAA,wCAAe,EAAC,MAAM,EAAE;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;SACH;KACF,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FilterOperator } from '../../types/cube-types/query';
|
|
2
2
|
import { ParsedExpression } from '../../types/duckdb-serialization-types/serialization/ParsedExpression';
|
|
3
|
-
|
|
3
|
+
import { CreateColumnRefOptions } from '../base-condition-builder/base-condition-builder';
|
|
4
|
+
export declare const getSQLExpressionAST: (member: string, sqlExpression: string, operator: FilterOperator, options: CreateColumnRefOptions) => ParsedExpression;
|
|
4
5
|
/**
|
|
5
6
|
* Extract SQL expression placeholders from generated SQL and replace them
|
|
6
7
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.applySQLExpressions = exports.getSQLExpressionAST = void 0;
|
|
4
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
5
4
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
5
|
+
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
6
6
|
/**
|
|
7
7
|
* Encode a string to base64 (works in both browser and Node.js)
|
|
8
8
|
*/
|
|
@@ -28,14 +28,11 @@ const fromBase64 = (base64) => {
|
|
|
28
28
|
const getSQLPlaceholder = (sqlExpression) => {
|
|
29
29
|
return `__MEERKAT_SQL_EXPR__${toBase64(sqlExpression)}__`;
|
|
30
30
|
};
|
|
31
|
-
const createInOperatorAST = (member, sqlExpression) => {
|
|
31
|
+
const createInOperatorAST = (member, sqlExpression, options) => {
|
|
32
32
|
const sqlPlaceholder = getSQLPlaceholder(sqlExpression);
|
|
33
|
-
const columnRef = {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
alias: '',
|
|
37
|
-
column_names: member.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
38
|
-
};
|
|
33
|
+
const columnRef = (0, base_condition_builder_1.createColumnRef)(member, {
|
|
34
|
+
isAlias: options.isAlias,
|
|
35
|
+
});
|
|
39
36
|
// Create a placeholder constant node for the SQL expression
|
|
40
37
|
// This will be replaced with actual SQL during query generation
|
|
41
38
|
const sqlExpressionNode = {
|
|
@@ -51,14 +48,9 @@ const createInOperatorAST = (member, sqlExpression) => {
|
|
|
51
48
|
children: [columnRef, sqlExpressionNode],
|
|
52
49
|
};
|
|
53
50
|
};
|
|
54
|
-
const createNotInOperatorAST = (member, sqlExpression) => {
|
|
51
|
+
const createNotInOperatorAST = (member, sqlExpression, options) => {
|
|
55
52
|
const sqlPlaceholder = getSQLPlaceholder(sqlExpression);
|
|
56
|
-
const columnRef =
|
|
57
|
-
class: Expression_1.ExpressionClass.COLUMN_REF,
|
|
58
|
-
type: Expression_1.ExpressionType.COLUMN_REF,
|
|
59
|
-
alias: '',
|
|
60
|
-
column_names: member.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
61
|
-
};
|
|
53
|
+
const columnRef = (0, base_condition_builder_1.createColumnRef)(member, options);
|
|
62
54
|
// Create a placeholder constant node for the SQL expression
|
|
63
55
|
// This will be replaced with actual SQL during query generation
|
|
64
56
|
const sqlExpressionNode = {
|
|
@@ -74,12 +66,12 @@ const createNotInOperatorAST = (member, sqlExpression) => {
|
|
|
74
66
|
children: [columnRef, sqlExpressionNode],
|
|
75
67
|
};
|
|
76
68
|
};
|
|
77
|
-
const getSQLExpressionAST = (member, sqlExpression, operator) => {
|
|
69
|
+
const getSQLExpressionAST = (member, sqlExpression, operator, options) => {
|
|
78
70
|
switch (operator) {
|
|
79
71
|
case 'in':
|
|
80
|
-
return createInOperatorAST(member, sqlExpression);
|
|
72
|
+
return createInOperatorAST(member, sqlExpression, options);
|
|
81
73
|
case 'notIn':
|
|
82
|
-
return createNotInOperatorAST(member, sqlExpression);
|
|
74
|
+
return createNotInOperatorAST(member, sqlExpression, options);
|
|
83
75
|
default:
|
|
84
76
|
throw new Error(`SQL expressions are not supported for ${operator} operator. Only "in" and "notIn" operators support SQL expressions.`);
|
|
85
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-expression-parser.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/sql-expression/sql-expression-parser.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sql-expression-parser.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/sql-expression/sql-expression-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { QueryOptions } from '../member-formatters/get-alias';
|
|
1
2
|
import { TableSchema } from '../types/cube-types';
|
|
2
3
|
import { Member } from '../types/cube-types/query';
|
|
3
4
|
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
4
|
-
export declare const cubeDimensionToGroupByAST: (dimensions: Member[], tableSchema: TableSchema) => {
|
|
5
|
+
export declare const cubeDimensionToGroupByAST: (dimensions: Member[], tableSchema: TableSchema, config: QueryOptions) => {
|
|
5
6
|
class: ExpressionClass;
|
|
6
7
|
type: ExpressionType;
|
|
7
8
|
alias: string;
|
|
@@ -3,19 +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, config) => {
|
|
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: [
|
|
13
|
-
(0, get_alias_1.getAliasFromSchema)({
|
|
14
|
-
name: dimension,
|
|
15
|
-
tableSchema,
|
|
16
|
-
aliasContext: { isAstIdentifier: true },
|
|
17
|
-
}),
|
|
18
|
-
],
|
|
12
|
+
column_names: [(0, get_alias_1.getAliasForAST)(dimension, tableSchema, config)],
|
|
19
13
|
};
|
|
20
14
|
return dimensionAST;
|
|
21
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,8DAA8E;AAG9E,6FAGsE;AAE/D,MAAM,yBAAyB,GAAG,CACvC,UAAoB,EACpB,WAAwB,EACxB,MAAoB,EACpB,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,EAAE,MAAM,CAAC,CAAC;SAC/D,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAjBW,QAAA,yBAAyB,6BAiBpC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { QueryOptions } from '../member-formatters/get-alias';
|
|
1
2
|
import { Member } from '../types/cube-types/query';
|
|
2
3
|
import { Measure, TableSchema } from '../types/cube-types/table';
|
|
3
|
-
export declare const cubeMeasureToSQLSelectString: (measures: Member[], tableSchema: TableSchema) => string;
|
|
4
|
+
export declare const cubeMeasureToSQLSelectString: (measures: Member[], tableSchema: TableSchema, config: QueryOptions) => string;
|
|
4
5
|
export declare const getSelectReplacedSql: (sql: string, selectString: string) => string;
|
|
5
6
|
/**
|
|
6
7
|
* Get all the columns used in the measures.
|
|
@@ -16,6 +17,7 @@ export declare const getAllColumnUsedInMeasures: (measures: Measure[], tableSche
|
|
|
16
17
|
* @param measures
|
|
17
18
|
* @param tableSchema
|
|
18
19
|
* @param sqlToReplace
|
|
20
|
+
* @param config
|
|
19
21
|
* @returns
|
|
20
22
|
*/
|
|
21
|
-
export declare const applyProjectionToSQLQuery: (dimensions: Member[], measures: Member[], tableSchema: TableSchema, sqlToReplace: string) => string;
|
|
23
|
+
export declare const applyProjectionToSQLQuery: (dimensions: Member[], measures: Member[], tableSchema: TableSchema, sqlToReplace: string, config: QueryOptions) => string;
|
|
@@ -1,10 +1,11 @@
|
|
|
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
|
|
4
|
+
const get_alias_1 = require("../member-formatters/get-alias");
|
|
5
|
+
const get_namespaced_key_1 = require("../member-formatters/get-namespaced-key");
|
|
5
6
|
const split_into_data_source_and_fields_1 = require("../member-formatters/split-into-data-source-and-fields");
|
|
6
7
|
const meerkat_placeholder_replacer_1 = require("../utils/meerkat-placeholder-replacer");
|
|
7
|
-
const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
8
|
+
const cubeMeasureToSQLSelectString = (measures, tableSchema, config) => {
|
|
8
9
|
let base = 'SELECT';
|
|
9
10
|
for (let i = 0; i < measures.length; i++) {
|
|
10
11
|
const measure = measures[i];
|
|
@@ -13,13 +14,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
|
13
14
|
continue;
|
|
14
15
|
}
|
|
15
16
|
const [tableSchemaName, measureKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measure);
|
|
16
|
-
const aliasKey = (0,
|
|
17
|
-
name: measure,
|
|
18
|
-
tableSchema,
|
|
19
|
-
aliasContext: {
|
|
20
|
-
isAstIdentifier: false,
|
|
21
|
-
},
|
|
22
|
-
});
|
|
17
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(measure, tableSchema, config);
|
|
23
18
|
const measureSchema = tableSchema.measures.find((m) => m.name === measureKeyWithoutTable);
|
|
24
19
|
if (!measureSchema) {
|
|
25
20
|
continue;
|
|
@@ -29,7 +24,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
|
29
24
|
}
|
|
30
25
|
// Note that tableSchemaName is not necessarily the same as tableSchema.name
|
|
31
26
|
// since tableSchema might be the merged tableSchema.
|
|
32
|
-
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, config);
|
|
33
28
|
/**
|
|
34
29
|
* Here we extract the columns used in the measure and replace them with the safeKey.
|
|
35
30
|
* We need to do this because the columns used in the measure are not directly available in the joined table.
|
|
@@ -39,14 +34,8 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
|
39
34
|
//Replace all the columnsUsedInMeasure with safeKey
|
|
40
35
|
columnsUsedInMeasure === null || columnsUsedInMeasure === void 0 ? void 0 : columnsUsedInMeasure.forEach((measureKey) => {
|
|
41
36
|
const [_, column] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(measureKey);
|
|
42
|
-
const memberKey = (0,
|
|
43
|
-
const columnKey = (0,
|
|
44
|
-
name: memberKey,
|
|
45
|
-
tableSchema,
|
|
46
|
-
aliasContext: {
|
|
47
|
-
isAstIdentifier: false,
|
|
48
|
-
},
|
|
49
|
-
});
|
|
37
|
+
const memberKey = (0, get_namespaced_key_1.getNamespacedKey)(tableSchemaName, column);
|
|
38
|
+
const columnKey = (0, get_alias_1.getAliasForSQL)(memberKey, tableSchema, config);
|
|
50
39
|
meerkatReplacedSqlString = meerkatReplacedSqlString.replace(memberKey, columnKey);
|
|
51
40
|
});
|
|
52
41
|
base += ` ${meerkatReplacedSqlString} AS ${aliasKey} `;
|
|
@@ -54,7 +43,7 @@ const cubeMeasureToSQLSelectString = (measures, tableSchema) => {
|
|
|
54
43
|
return base;
|
|
55
44
|
};
|
|
56
45
|
exports.cubeMeasureToSQLSelectString = cubeMeasureToSQLSelectString;
|
|
57
|
-
const addDimensionToSQLProjection = (dimensions, selectString, tableSchema) => {
|
|
46
|
+
const addDimensionToSQLProjection = (dimensions, selectString, tableSchema, config) => {
|
|
58
47
|
if (dimensions.length === 0) {
|
|
59
48
|
return selectString;
|
|
60
49
|
}
|
|
@@ -63,13 +52,7 @@ const addDimensionToSQLProjection = (dimensions, selectString, tableSchema) => {
|
|
|
63
52
|
const dimension = dimensions[i];
|
|
64
53
|
const [_, dimensionKeyWithoutTable] = (0, split_into_data_source_and_fields_1.splitIntoDataSourceAndFields)(dimension);
|
|
65
54
|
const dimensionSchema = tableSchema.dimensions.find((m) => m.name === dimensionKeyWithoutTable);
|
|
66
|
-
const aliasKey = (0,
|
|
67
|
-
name: dimension,
|
|
68
|
-
tableSchema,
|
|
69
|
-
aliasContext: {
|
|
70
|
-
isAstIdentifier: false,
|
|
71
|
-
},
|
|
72
|
-
});
|
|
55
|
+
const aliasKey = (0, get_alias_1.getAliasForSQL)(dimension, tableSchema, config);
|
|
73
56
|
if (!dimensionSchema) {
|
|
74
57
|
continue;
|
|
75
58
|
}
|
|
@@ -121,7 +104,9 @@ const getAllColumnUsedInMeasures = (measures, tableSchema) => {
|
|
|
121
104
|
};
|
|
122
105
|
exports.getAllColumnUsedInMeasures = getAllColumnUsedInMeasures;
|
|
123
106
|
const getColumnsFromSQL = (sql, tableName) => {
|
|
124
|
-
|
|
107
|
+
// Match table.column patterns that are NOT preceded by a quote character
|
|
108
|
+
// This prevents matching already-quoted aliases like "orders.column"
|
|
109
|
+
const regex = new RegExp(`(?<!")\\b(${tableName}\\.[a-zA-Z0-9_]+)\\b(?!")`, 'g');
|
|
125
110
|
const columnMatch = sql.match(regex);
|
|
126
111
|
return columnMatch;
|
|
127
112
|
};
|
|
@@ -130,14 +115,15 @@ const getColumnsFromSQL = (sql, tableName) => {
|
|
|
130
115
|
* @param measures
|
|
131
116
|
* @param tableSchema
|
|
132
117
|
* @param sqlToReplace
|
|
118
|
+
* @param config
|
|
133
119
|
* @returns
|
|
134
120
|
*/
|
|
135
|
-
const applyProjectionToSQLQuery = (dimensions, measures, tableSchema, sqlToReplace) => {
|
|
136
|
-
let measureSelectString = (0, exports.cubeMeasureToSQLSelectString)(measures, tableSchema);
|
|
121
|
+
const applyProjectionToSQLQuery = (dimensions, measures, tableSchema, sqlToReplace, config) => {
|
|
122
|
+
let measureSelectString = (0, exports.cubeMeasureToSQLSelectString)(measures, tableSchema, config);
|
|
137
123
|
if (measures.length > 0 && dimensions.length > 0) {
|
|
138
124
|
measureSelectString += ', ';
|
|
139
125
|
}
|
|
140
|
-
const selectString = addDimensionToSQLProjection(dimensions, measureSelectString, tableSchema);
|
|
126
|
+
const selectString = addDimensionToSQLProjection(dimensions, measureSelectString, tableSchema, config);
|
|
141
127
|
return (0, exports.getSelectReplacedSql)(sqlToReplace, selectString);
|
|
142
128
|
};
|
|
143
129
|
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,10 +1,11 @@
|
|
|
1
|
+
import { QueryOptions } from '../member-formatters/get-alias';
|
|
1
2
|
import { TableSchema } from '../types/cube-types';
|
|
2
3
|
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
3
4
|
import { OrderType } from '../types/duckdb-serialization-types/serialization/Nodes';
|
|
4
5
|
import { ResultModifierType } from '../types/duckdb-serialization-types/serialization/ResultModifier';
|
|
5
6
|
export declare const cubeOrderByToAST: (order: {
|
|
6
7
|
[key: string]: "asc" | "desc";
|
|
7
|
-
}, tableSchema: TableSchema) => {
|
|
8
|
+
}, tableSchema: TableSchema, config: QueryOptions) => {
|
|
8
9
|
type: ResultModifierType;
|
|
9
10
|
orders: {
|
|
10
11
|
type: OrderType;
|
|
@@ -14,7 +15,7 @@ export declare const cubeOrderByToAST: (order: {
|
|
|
14
15
|
type: ExpressionType;
|
|
15
16
|
alias: string;
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
+
* Column name reference - uses alias format matching projections
|
|
18
19
|
*/
|
|
19
20
|
column_names: string[];
|
|
20
21
|
};
|
|
@@ -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, config) => {
|
|
9
9
|
const orderArr = [];
|
|
10
10
|
for (const key in order) {
|
|
11
11
|
const value = order[key];
|
|
@@ -18,15 +18,9 @@ const cubeOrderByToAST = (order, tableSchema) => {
|
|
|
18
18
|
type: Expression_1.ExpressionType.COLUMN_REF,
|
|
19
19
|
alias: '',
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Column name reference - uses alias format matching projections
|
|
22
22
|
*/
|
|
23
|
-
column_names: [
|
|
24
|
-
(0, get_alias_1.getAliasFromSchema)({
|
|
25
|
-
name: key,
|
|
26
|
-
tableSchema,
|
|
27
|
-
aliasContext: { isAstIdentifier: true },
|
|
28
|
-
}),
|
|
29
|
-
],
|
|
23
|
+
column_names: [(0, get_alias_1.getAliasForAST)(key, tableSchema, config)],
|
|
30
24
|
},
|
|
31
25
|
};
|
|
32
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,8DAGwC;AAExC,6FAGsE;AACtE,mFAAoF;AACpF,qGAAsG;AAE/F,MAAM,gBAAgB,GAAG,CAC9B,KAAwC,EACxC,WAAwB,EACxB,MAAoB,EACpB,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,EAAE,MAAM,CAAC,CAAC;aACzD;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;AA7BW,QAAA,gBAAgB,oBA6B3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { QueryOptions } from '../member-formatters/get-alias';
|
|
1
2
|
import { FilterType, MeerkatQueryFilter, Query, QueryFilter, TableSchema } from '../types/cube-types';
|
|
2
3
|
import { SelectStatement } from '../types/duckdb-serialization-types/serialization/Statement';
|
|
3
4
|
export declare const traverseMeerkatQueryFilter: (filters: MeerkatQueryFilter[], callback: (value: QueryFilter) => void) => void;
|
|
@@ -20,7 +21,7 @@ export declare const detectAllFilterParamsFromSQL: (sql: string) => {
|
|
|
20
21
|
filterExpression: string;
|
|
21
22
|
matchKey: string;
|
|
22
23
|
}[];
|
|
23
|
-
export declare const getFilterParamsAST: (query: Query, tableSchema: TableSchema, filterType
|
|
24
|
+
export declare const getFilterParamsAST: (query: Query, tableSchema: TableSchema, filterType: FilterType, config: QueryOptions) => {
|
|
24
25
|
memberKey: string;
|
|
25
26
|
ast: SelectStatement | null;
|
|
26
27
|
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, config) => {
|
|
80
80
|
const filterParamKeys = (0, exports.detectAllFilterParamsFromSQL)(tableSchema.sql);
|
|
81
81
|
const filterParamsAST = [];
|
|
82
82
|
for (const filterParamKey of filterParamKeys) {
|
|
@@ -87,6 +87,7 @@ const getFilterParamsAST = (query, tableSchema, filterType = 'PROJECTION_FILTER'
|
|
|
87
87
|
matchKey: filterParamKey.matchKey,
|
|
88
88
|
ast: (0, ast_builder_1.cubeToDuckdbAST)({ filters, measures: [], dimensions: [] }, tableSchema, {
|
|
89
89
|
filterType,
|
|
90
|
+
config,
|
|
90
91
|
}),
|
|
91
92
|
});
|
|
92
93
|
}
|
|
@@ -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,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { QueryOptions } from '../member-formatters/get-alias';
|
|
2
|
+
import { FilterType, Query, TableSchema } from '../types/cube-types';
|
|
3
|
+
export declare const getFilterParamsSQL: ({ query, tableSchema, filterType, getQueryOutput, config, }: {
|
|
3
4
|
query: Query;
|
|
4
5
|
tableSchema: TableSchema;
|
|
5
|
-
filterType
|
|
6
|
+
filterType: FilterType;
|
|
6
7
|
getQueryOutput: (query: string) => Promise<any>;
|
|
8
|
+
config: QueryOptions;
|
|
7
9
|
}) => Promise<{
|
|
8
10
|
memberKey: string;
|
|
9
11
|
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 }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
-
const filterParamsAST = (0, filter_params_ast_1.getFilterParamsAST)(query, tableSchema, filterType);
|
|
7
|
+
const getFilterParamsSQL = ({ query, tableSchema, filterType, getQueryOutput, config, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
+
const filterParamsAST = (0, filter_params_ast_1.getFilterParamsAST)(query, tableSchema, filterType, config);
|
|
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,
|
|
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;AAIjE,MAAM,kBAAkB,GAAG,CAAO,EACvC,KAAK,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,MAAM,GAOP,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,IAAA,sCAAkB,EACxC,KAAK,EACL,WAAW,EACX,UAAU,EACV,MAAM,CACP,CAAC;IACF,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;AArCW,QAAA,kBAAkB,sBAqC7B"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { QueryOptions } from "../member-formatters/get-alias";
|
|
1
2
|
import { Query } from "../types/cube-types/query";
|
|
2
3
|
import { TableSchema } from "../types/cube-types/table";
|
|
3
|
-
export declare const getFinalBaseSQL: ({ query, getQueryOutput, tableSchema, }: {
|
|
4
|
+
export declare const getFinalBaseSQL: ({ query, getQueryOutput, tableSchema, config, }: {
|
|
4
5
|
query: Query;
|
|
5
6
|
tableSchema: TableSchema;
|
|
6
7
|
getQueryOutput: (query: string) => Promise<any>;
|
|
8
|
+
config: QueryOptions;
|
|
7
9
|
}) => 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, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
+
const getFinalBaseSQL = ({ query, getQueryOutput, tableSchema, config, }) => 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,12 +15,14 @@ const getFinalBaseSQL = ({ query, getQueryOutput, tableSchema, }) => tslib_1.__a
|
|
|
15
15
|
tableSchema,
|
|
16
16
|
filterType: 'BASE_FILTER',
|
|
17
17
|
getQueryOutput,
|
|
18
|
+
config,
|
|
18
19
|
});
|
|
19
20
|
const baseSQL = (0, filter_params_ast_1.applyFilterParamsToBaseSQL)(tableSchema.sql, baseFilterParamsSQL);
|
|
20
21
|
const baseSQLWithFilterProjection = (0, get_wrapped_base_query_with_projections_1.getWrappedBaseQueryWithProjections)({
|
|
21
22
|
baseQuery: baseSQL,
|
|
22
23
|
tableSchema,
|
|
23
24
|
query: query,
|
|
25
|
+
config,
|
|
24
26
|
});
|
|
25
27
|
return baseSQLWithFilterProjection;
|
|
26
28
|
});
|
|
@@ -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;AAKjI,MAAM,eAAe,GAAG,CAAO,EACpC,KAAK,EACL,cAAc,EACd,WAAW,EACX,MAAM,GAMP,EAAE,EAAE;IACH;;;OAGG;IACH,MAAM,mBAAmB,GAAG,MAAM,IAAA,0CAAkB,EAAC;QACnD,KAAK,EAAE,KAAK;QACZ,WAAW;QACX,UAAU,EAAE,aAAa;QACzB,cAAc;QACd,MAAM;KACP,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;QACZ,MAAM;KACP,CAAC,CAAC;IACH,OAAO,2BAA2B,CAAC;AACrC,CAAC,CAAA,CAAC;AAjCW,QAAA,eAAe,mBAiC1B"}
|