@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
|
@@ -19,48 +19,48 @@ const not_set_1 = require("./not-set/not-set");
|
|
|
19
19
|
const or_1 = require("./or/or");
|
|
20
20
|
const set_1 = require("./set/set");
|
|
21
21
|
// Comparison operators
|
|
22
|
-
const cubeFilterOperatorsToDuckdb = (cubeFilter) => {
|
|
22
|
+
const cubeFilterOperatorsToDuckdb = (cubeFilter, options) => {
|
|
23
23
|
switch (cubeFilter.operator) {
|
|
24
24
|
case 'equals':
|
|
25
|
-
return (0, equals_1.equalsTransform)(cubeFilter);
|
|
25
|
+
return (0, equals_1.equalsTransform)(cubeFilter, options);
|
|
26
26
|
case 'notEquals':
|
|
27
|
-
return (0, not_equals_1.notEqualsTransform)(cubeFilter);
|
|
27
|
+
return (0, not_equals_1.notEqualsTransform)(cubeFilter, options);
|
|
28
28
|
case 'in':
|
|
29
|
-
return (0, in_1.inTransform)(cubeFilter);
|
|
29
|
+
return (0, in_1.inTransform)(cubeFilter, options);
|
|
30
30
|
case 'notIn':
|
|
31
|
-
return (0, not_in_1.notInTransform)(cubeFilter);
|
|
31
|
+
return (0, not_in_1.notInTransform)(cubeFilter, options);
|
|
32
32
|
case 'contains':
|
|
33
|
-
return (0, contains_1.containsTransform)(cubeFilter);
|
|
33
|
+
return (0, contains_1.containsTransform)(cubeFilter, options);
|
|
34
34
|
case 'notContains':
|
|
35
|
-
return (0, not_contains_1.notContainsTransform)(cubeFilter);
|
|
35
|
+
return (0, not_contains_1.notContainsTransform)(cubeFilter, options);
|
|
36
36
|
case 'gt':
|
|
37
|
-
return (0, gt_1.gtTransform)(cubeFilter);
|
|
37
|
+
return (0, gt_1.gtTransform)(cubeFilter, options);
|
|
38
38
|
case 'gte':
|
|
39
|
-
return (0, gte_1.gteTransform)(cubeFilter);
|
|
39
|
+
return (0, gte_1.gteTransform)(cubeFilter, options);
|
|
40
40
|
case 'lt':
|
|
41
|
-
return (0, lt_1.ltTransform)(cubeFilter);
|
|
41
|
+
return (0, lt_1.ltTransform)(cubeFilter, options);
|
|
42
42
|
case 'lte':
|
|
43
|
-
return (0, lte_1.lteTransform)(cubeFilter);
|
|
43
|
+
return (0, lte_1.lteTransform)(cubeFilter, options);
|
|
44
44
|
case 'inDateRange':
|
|
45
|
-
return (0, in_date_range_1.inDataRangeTransform)(cubeFilter);
|
|
45
|
+
return (0, in_date_range_1.inDataRangeTransform)(cubeFilter, options);
|
|
46
46
|
case 'notInDateRange':
|
|
47
|
-
return (0, not_In_date_range_1.notInDataRangeTransform)(cubeFilter);
|
|
47
|
+
return (0, not_In_date_range_1.notInDataRangeTransform)(cubeFilter, options);
|
|
48
48
|
case 'notSet': {
|
|
49
|
-
return (0, not_set_1.notSetTransform)(cubeFilter);
|
|
49
|
+
return (0, not_set_1.notSetTransform)(cubeFilter, options);
|
|
50
50
|
}
|
|
51
51
|
case 'set': {
|
|
52
|
-
return (0, set_1.setTransform)(cubeFilter);
|
|
52
|
+
return (0, set_1.setTransform)(cubeFilter, options);
|
|
53
53
|
}
|
|
54
54
|
default:
|
|
55
55
|
throw new Error('Could not transform the filter');
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
|
-
const cubeFilterLogicalAndOrToDuckdb = (cubeFilter, whereObj) => {
|
|
58
|
+
const cubeFilterLogicalAndOrToDuckdb = (cubeFilter, whereObj, options) => {
|
|
59
59
|
/**
|
|
60
60
|
* This condition is true when you are at the leaf most level of the filter
|
|
61
61
|
*/
|
|
62
62
|
if (!(0, type_guards_1.isFilterArray)(cubeFilter) && (0, type_guards_1.isQueryFilter)(cubeFilter)) {
|
|
63
|
-
const data = cubeFilterOperatorsToDuckdb(cubeFilter);
|
|
63
|
+
const data = cubeFilterOperatorsToDuckdb(cubeFilter, options);
|
|
64
64
|
if (!data) {
|
|
65
65
|
throw new Error('Could not transform the filter');
|
|
66
66
|
}
|
|
@@ -72,7 +72,7 @@ const cubeFilterLogicalAndOrToDuckdb = (cubeFilter, whereObj) => {
|
|
|
72
72
|
}
|
|
73
73
|
// And or Or we need to recurse
|
|
74
74
|
const andDuckdbExpression = (0, and_1.andDuckdbCondition)();
|
|
75
|
-
const data = cubeFilterLogicalAndOrToDuckdb(cubeFilter.and, andDuckdbExpression);
|
|
75
|
+
const data = cubeFilterLogicalAndOrToDuckdb(cubeFilter.and, andDuckdbExpression, options);
|
|
76
76
|
return data;
|
|
77
77
|
}
|
|
78
78
|
if (!(0, type_guards_1.isFilterArray)(cubeFilter) && (0, type_guards_1.isLogicalOr)(cubeFilter)) {
|
|
@@ -81,12 +81,12 @@ const cubeFilterLogicalAndOrToDuckdb = (cubeFilter, whereObj) => {
|
|
|
81
81
|
}
|
|
82
82
|
// And or Or we need to recurse
|
|
83
83
|
const orDuckdbExpression = (0, or_1.orDuckdbCondition)();
|
|
84
|
-
const data = cubeFilterLogicalAndOrToDuckdb(cubeFilter.or, orDuckdbExpression);
|
|
84
|
+
const data = cubeFilterLogicalAndOrToDuckdb(cubeFilter.or, orDuckdbExpression, options);
|
|
85
85
|
return data;
|
|
86
86
|
}
|
|
87
87
|
if ((0, type_guards_1.isFilterArray)(cubeFilter)) {
|
|
88
88
|
for (const filter of cubeFilter) {
|
|
89
|
-
const data = cubeFilterLogicalAndOrToDuckdb(filter, whereObj);
|
|
89
|
+
const data = cubeFilterLogicalAndOrToDuckdb(filter, whereObj, options);
|
|
90
90
|
if (data) {
|
|
91
91
|
if ((0, type_guards_1.hasChildren)(whereObj)) {
|
|
92
92
|
whereObj.children.push(data);
|
|
@@ -100,7 +100,7 @@ const cubeFilterLogicalAndOrToDuckdb = (cubeFilter, whereObj) => {
|
|
|
100
100
|
}
|
|
101
101
|
return whereObj;
|
|
102
102
|
};
|
|
103
|
-
const cubeFilterToDuckdbAST = (cubeFilter, ast) => {
|
|
103
|
+
const cubeFilterToDuckdbAST = (cubeFilter, ast, options) => {
|
|
104
104
|
let whereObj = ast.node.where_clause || null;
|
|
105
105
|
if (cubeFilter.length > 1) {
|
|
106
106
|
console.error('We do not support multiple filters yet');
|
|
@@ -108,11 +108,11 @@ const cubeFilterToDuckdbAST = (cubeFilter, ast) => {
|
|
|
108
108
|
}
|
|
109
109
|
const filter = cubeFilter[0];
|
|
110
110
|
if ((0, type_guards_1.isQueryFilter)(filter)) {
|
|
111
|
-
whereObj = cubeFilterOperatorsToDuckdb(filter);
|
|
111
|
+
whereObj = cubeFilterOperatorsToDuckdb(filter, options);
|
|
112
112
|
}
|
|
113
113
|
if ((0, type_guards_1.isLogicalAndOR)(filter)) {
|
|
114
114
|
// And or Or we need to recurse
|
|
115
|
-
whereObj = cubeFilterLogicalAndOrToDuckdb(filter, whereObj || null);
|
|
115
|
+
whereObj = cubeFilterLogicalAndOrToDuckdb(filter, whereObj || null, options);
|
|
116
116
|
}
|
|
117
117
|
return whereObj;
|
|
118
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-filter-transformer/factory.ts"],"names":[],"mappings":";;;AAQA,sDAO8B;AAC9B,mCAA+C;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../meerkat-core/src/cube-filter-transformer/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@ const Expression_1 = require("../../types/duckdb-serialization-types/serializati
|
|
|
6
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
7
7
|
const or_1 = require("../or/or");
|
|
8
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const gtTransform = (query) => {
|
|
9
|
+
const gtTransform = (query, options) => {
|
|
10
10
|
const { member } = query;
|
|
11
11
|
// SQL expressions not supported for gt operator
|
|
12
12
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
13
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'gt');
|
|
13
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'gt', options);
|
|
14
14
|
}
|
|
15
15
|
// Otherwise, use values
|
|
16
16
|
if (!query.values || query.values.length === 0) {
|
|
@@ -21,14 +21,14 @@ const gtTransform = (query) => {
|
|
|
21
21
|
* If there is only one value, we can create a simple equals condition
|
|
22
22
|
*/
|
|
23
23
|
if (values.length === 1) {
|
|
24
|
-
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, values[0], query.memberInfo);
|
|
24
|
+
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, values[0], query.memberInfo, options);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* If there are multiple values, we need to create an OR condition
|
|
28
28
|
*/
|
|
29
29
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
30
30
|
values.forEach((value) => {
|
|
31
|
-
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, value, query.memberInfo));
|
|
31
|
+
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, value, query.memberInfo, options));
|
|
32
32
|
});
|
|
33
33
|
return orCondition;
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gt.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/gt/gt.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"gt.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/gt/gt.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,gDAAgD;IAChD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KACxE;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,4CAAmB,EACxB,MAAM,EACN,2BAAc,CAAC,mBAAmB,EAClC,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CAAC;KACH;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,mBAAmB,EAClC,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA5CW,QAAA,WAAW,eA4CtB"}
|
|
@@ -6,11 +6,11 @@ const Expression_1 = require("../../types/duckdb-serialization-types/serializati
|
|
|
6
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
7
7
|
const or_1 = require("../or/or");
|
|
8
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const gteTransform = (query) => {
|
|
9
|
+
const gteTransform = (query, options) => {
|
|
10
10
|
const { member } = query;
|
|
11
11
|
// SQL expressions not supported for gte operator
|
|
12
12
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
13
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'gte');
|
|
13
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'gte', options);
|
|
14
14
|
}
|
|
15
15
|
// Otherwise, use values
|
|
16
16
|
if (!query.values || query.values.length === 0) {
|
|
@@ -21,14 +21,14 @@ const gteTransform = (query) => {
|
|
|
21
21
|
* If there is only one value, we can create a simple equals condition
|
|
22
22
|
*/
|
|
23
23
|
if (values.length === 1) {
|
|
24
|
-
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, values[0], query.memberInfo);
|
|
24
|
+
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, values[0], query.memberInfo, options);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* If there are multiple values, we need to create an OR condition
|
|
28
28
|
*/
|
|
29
29
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
30
30
|
values.forEach((value) => {
|
|
31
|
-
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, value, query.memberInfo));
|
|
31
|
+
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, value, query.memberInfo, options));
|
|
32
32
|
});
|
|
33
33
|
return orCondition;
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gte.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/gte/gte.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"gte.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/gte/gte.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAG0D;AAE1D,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,YAAY,GAAmC,CAC1D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,iDAAiD;IACjD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KACzE;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,4CAAmB,EACxB,MAAM,EACN,2BAAc,CAAC,4BAA4B,EAC3C,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CAAC;KACH;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,4BAA4B,EAC3C,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA/CW,QAAA,YAAY,gBA+CvB"}
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.inTransform = void 0;
|
|
4
4
|
const cube_filter_to_duckdb_1 = require("../../cube-to-duckdb/cube-filter-to-duckdb");
|
|
5
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
6
5
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
7
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
8
7
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const inDuckDbCondition = (columnName, values, memberInfo) => {
|
|
8
|
+
const inDuckDbCondition = (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 inDuckDbCondition = (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': {
|
|
@@ -60,17 +56,17 @@ const inDuckDbCondition = (columnName, values, memberInfo) => {
|
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
};
|
|
63
|
-
const inTransform = (query) => {
|
|
59
|
+
const inTransform = (query, options) => {
|
|
64
60
|
const { member, memberInfo } = query;
|
|
65
61
|
// Check if this is a SQL expression
|
|
66
62
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
67
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'in');
|
|
63
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'in', options);
|
|
68
64
|
}
|
|
69
65
|
// Otherwise, use values
|
|
70
66
|
if (!query.values) {
|
|
71
67
|
throw new Error('In filter must have at least one value');
|
|
72
68
|
}
|
|
73
|
-
return inDuckDbCondition(member, query.values, memberInfo);
|
|
69
|
+
return inDuckDbCondition(member, query.values, memberInfo, options);
|
|
74
70
|
};
|
|
75
71
|
exports.inTransform = inTransform;
|
|
76
72
|
//# sourceMappingURL=in.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in/in.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;
|
|
1
|
+
{"version":3,"file":"in.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in/in.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AAEzF,gGAGyE;AACzE,6FAI0D;AAE1D,mFAA8E;AAE9E,MAAM,iBAAiB,GAAG,CACxB,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,QAAQ;gBAC7B,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE;oBACR,SAAS;oBACT;wBACE,KAAK,EAAE,4BAAe,CAAC,QAAQ;wBAC/B,IAAI,EAAE,2BAAc,CAAC,iBAAiB;wBACtC,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE,aAAa;qBACxB;iBACF;gBACD,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACT,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,EAAE;iBACX;gBACD,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,EAAE;aACZ,CAAC;SACH;QACD,OAAO,CAAC,CAAC;YACP,OAAO;gBACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;gBAC/B,IAAI,EAAE,2BAAc,CAAC,UAAU;gBAC/B,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC;aACxC,CAAC;SACH;KACF;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5E,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,IAAI,EAAE,OAAO,CAAC,CAAC;KACxE;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC,CAAC;AAdW,QAAA,WAAW,eActB"}
|
|
@@ -6,11 +6,11 @@ const Expression_1 = require("../../types/duckdb-serialization-types/serializati
|
|
|
6
6
|
const and_1 = require("../and/and");
|
|
7
7
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
8
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const inDataRangeTransform = (query) => {
|
|
9
|
+
const inDataRangeTransform = (query, options) => {
|
|
10
10
|
const { member } = query;
|
|
11
11
|
// SQL expressions not supported for inDateRange operator
|
|
12
12
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
13
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'inDateRange');
|
|
13
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'inDateRange', options);
|
|
14
14
|
}
|
|
15
15
|
// Otherwise, use values
|
|
16
16
|
if (!query.values || query.values.length === 0) {
|
|
@@ -21,8 +21,8 @@ const inDataRangeTransform = (query) => {
|
|
|
21
21
|
* If there are multiple values, we need to create an AND condition
|
|
22
22
|
*/
|
|
23
23
|
const andCondition = (0, and_1.andDuckdbCondition)();
|
|
24
|
-
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, values[0], query.memberInfo));
|
|
25
|
-
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, values[1], query.memberInfo));
|
|
24
|
+
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHANOREQUALTO, values[0], query.memberInfo, options));
|
|
25
|
+
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, values[1], query.memberInfo, options));
|
|
26
26
|
return andCondition;
|
|
27
27
|
};
|
|
28
28
|
exports.inDataRangeTransform = inDataRangeTransform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-date-range.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in-date-range/in-date-range.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,oCAAgD;AAChD,6FAAuF;AAEvF,mFAA8E;AAEvE,MAAM,oBAAoB,GAAmC,
|
|
1
|
+
{"version":3,"file":"in-date-range.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/in-date-range/in-date-range.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,oCAAgD;AAChD,6FAAuF;AAEvF,mFAA8E;AAEvE,MAAM,oBAAoB,GAAmC,CAClE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,yDAAyD;IACzD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EACxB,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,aAAa,EACb,OAAO,CACR,CAAC;KACH;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,MAAM,YAAY,GAAG,IAAA,wBAAkB,GAAE,CAAC;IAE1C,YAAY,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,4BAA4B,EAC3C,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IAEF,YAAY,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,yBAAyB,EACxC,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAjDW,QAAA,oBAAoB,wBAiD/B"}
|
|
@@ -6,11 +6,11 @@ const Expression_1 = require("../../types/duckdb-serialization-types/serializati
|
|
|
6
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
7
7
|
const or_1 = require("../or/or");
|
|
8
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const ltTransform = (query) => {
|
|
9
|
+
const ltTransform = (query, options) => {
|
|
10
10
|
const { member } = query;
|
|
11
11
|
// SQL expressions not supported for lt operator
|
|
12
12
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
13
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'lt');
|
|
13
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'lt', options);
|
|
14
14
|
}
|
|
15
15
|
// Otherwise, use values
|
|
16
16
|
if (!query.values || query.values.length === 0) {
|
|
@@ -21,14 +21,14 @@ const ltTransform = (query) => {
|
|
|
21
21
|
* If there is only one value, we can create a simple equals condition
|
|
22
22
|
*/
|
|
23
23
|
if (values.length === 1) {
|
|
24
|
-
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, values[0], query.memberInfo);
|
|
24
|
+
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, values[0], query.memberInfo, options);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* If there are multiple values, we need to create an OR condition
|
|
28
28
|
*/
|
|
29
29
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
30
30
|
values.forEach((value) => {
|
|
31
|
-
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, value, query.memberInfo));
|
|
31
|
+
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, value, query.memberInfo, options));
|
|
32
32
|
});
|
|
33
33
|
return orCondition;
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lt.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/lt/lt.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"lt.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/lt/lt.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,WAAW,GAAmC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,gDAAgD;IAChD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;KACxE;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,4CAAmB,EACxB,MAAM,EACN,2BAAc,CAAC,gBAAgB,EAC/B,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CAAC;KACH;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,gBAAgB,EAC/B,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA5CW,QAAA,WAAW,eA4CtB"}
|
|
@@ -6,11 +6,11 @@ const Expression_1 = require("../../types/duckdb-serialization-types/serializati
|
|
|
6
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
7
7
|
const or_1 = require("../or/or");
|
|
8
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
9
|
-
const lteTransform = (query) => {
|
|
9
|
+
const lteTransform = (query, options) => {
|
|
10
10
|
const { member } = query;
|
|
11
11
|
// SQL expressions not supported for lte operator
|
|
12
12
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
13
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'lte');
|
|
13
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'lte', options);
|
|
14
14
|
}
|
|
15
15
|
// Otherwise, use values
|
|
16
16
|
if (!query.values || query.values.length === 0) {
|
|
@@ -21,14 +21,14 @@ const lteTransform = (query) => {
|
|
|
21
21
|
* If there is only one value, we can create a simple equals condition
|
|
22
22
|
*/
|
|
23
23
|
if (values.length === 1) {
|
|
24
|
-
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, values[0], query.memberInfo);
|
|
24
|
+
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, values[0], query.memberInfo, options);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* If there are multiple values, we need to create an OR condition
|
|
28
28
|
*/
|
|
29
29
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
30
30
|
values.forEach((value) => {
|
|
31
|
-
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, value, query.memberInfo));
|
|
31
|
+
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHANOREQUALTO, value, query.memberInfo, options));
|
|
32
32
|
});
|
|
33
33
|
return orCondition;
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lte.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/lte/lte.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,YAAY,GAAmC,
|
|
1
|
+
{"version":3,"file":"lte.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/lte/lte.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAAuF;AAEvF,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,YAAY,GAAmC,CAC1D,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,iDAAiD;IACjD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;KACzE;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,4CAAmB,EACxB,MAAM,EACN,2BAAc,CAAC,yBAAyB,EACxC,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CAAC;KACH;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,yBAAyB,EACxC,KAAK,EACL,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AA/CW,QAAA,YAAY,gBA+CvB"}
|
|
@@ -5,7 +5,7 @@ const cube_filter_to_duckdb_1 = require("../../cube-to-duckdb/cube-filter-to-duc
|
|
|
5
5
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
6
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
7
7
|
const or_1 = require("../or/or");
|
|
8
|
-
const notInDataRangeTransform = (query) => {
|
|
8
|
+
const notInDataRangeTransform = (query, options) => {
|
|
9
9
|
const { member } = query;
|
|
10
10
|
// SQL expressions not supported for notInDateRange operator
|
|
11
11
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
@@ -20,8 +20,8 @@ const notInDataRangeTransform = (query) => {
|
|
|
20
20
|
* If there are multiple values, we need to create an OR condition
|
|
21
21
|
*/
|
|
22
22
|
const andCondition = (0, or_1.orDuckdbCondition)();
|
|
23
|
-
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, values[0], query.memberInfo));
|
|
24
|
-
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, values[1], query.memberInfo));
|
|
23
|
+
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_LESSTHAN, values[0], query.memberInfo, options));
|
|
24
|
+
andCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_GREATERTHAN, values[1], query.memberInfo, options));
|
|
25
25
|
return andCondition;
|
|
26
26
|
};
|
|
27
27
|
exports.notInDataRangeTransform = notInDataRangeTransform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-In-date-range.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-In-date-range/not-In-date-range.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"not-In-date-range.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-In-date-range/not-In-date-range.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,6FAG0D;AAE1D,iCAA6C;AAEtC,MAAM,uBAAuB,GAAmC,CACrE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEzB,4DAA4D;IAC5D,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,yHAAyH,CAC1H,CAAC;KACH;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC3D;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,MAAM,YAAY,GAAG,IAAA,sBAAiB,GAAE,CAAC;IAEzC,YAAY,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,gBAAgB,EAC/B,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IAEF,YAAY,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,mBAAmB,EAClC,MAAM,CAAC,CAAC,CAAC,EACT,KAAK,CAAC,UAAU,EAChB,OAAO,CACR,CACF,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AA9CW,QAAA,uBAAuB,2BA8ClC"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { Dimension, Measure } from '../../types/cube-types/table';
|
|
2
2
|
import { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';
|
|
3
|
+
import { CreateColumnRefOptions } from '../base-condition-builder/base-condition-builder';
|
|
3
4
|
import { CubeToParseExpressionTransform } from '../factory';
|
|
4
|
-
export declare const notContainsDuckdbCondition: (columnName: string, value: string, memberInfo: Measure | Dimension) => {
|
|
5
|
+
export declare const notContainsDuckdbCondition: (columnName: string, value: string, memberInfo: Measure | Dimension, options: CreateColumnRefOptions) => {
|
|
5
6
|
class: ExpressionClass;
|
|
6
7
|
type: ExpressionType;
|
|
7
8
|
alias: string;
|
|
8
9
|
function_name: string;
|
|
9
10
|
schema: string;
|
|
10
|
-
children: ({
|
|
11
|
-
class: string;
|
|
12
|
-
type: string;
|
|
13
|
-
alias: string;
|
|
14
|
-
column_names: string[];
|
|
15
|
-
value?: undefined;
|
|
16
|
-
} | {
|
|
11
|
+
children: (import("../..").BaseParsedExpression | {
|
|
17
12
|
class: string;
|
|
18
13
|
type: string;
|
|
19
14
|
alias: string;
|
|
@@ -44,7 +39,6 @@ export declare const notContainsDuckdbCondition: (columnName: string, value: str
|
|
|
44
39
|
is_null: boolean;
|
|
45
40
|
value: boolean;
|
|
46
41
|
};
|
|
47
|
-
column_names?: undefined;
|
|
48
42
|
})[];
|
|
49
43
|
filter: null;
|
|
50
44
|
order_bys: {
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.notContainsTransform = exports.notContainsDuckdbCondition = void 0;
|
|
4
4
|
const cube_filter_to_duckdb_1 = require("../../cube-to-duckdb/cube-filter-to-duckdb");
|
|
5
|
-
const constants_1 = require("../../member-formatters/constants");
|
|
6
5
|
const Expression_1 = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
7
6
|
const base_condition_builder_1 = require("../base-condition-builder/base-condition-builder");
|
|
8
7
|
const or_1 = require("../or/or");
|
|
9
8
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
10
|
-
const notContainsDuckdbCondition = (columnName, value, memberInfo) => {
|
|
9
|
+
const notContainsDuckdbCondition = (columnName, value, memberInfo, options) => {
|
|
11
10
|
return {
|
|
12
11
|
class: Expression_1.ExpressionClass.FUNCTION,
|
|
13
12
|
type: Expression_1.ExpressionType.FUNCTION,
|
|
@@ -15,12 +14,9 @@ const notContainsDuckdbCondition = (columnName, value, memberInfo) => {
|
|
|
15
14
|
function_name: '!~~',
|
|
16
15
|
schema: '',
|
|
17
16
|
children: [
|
|
18
|
-
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
alias: '',
|
|
22
|
-
column_names: columnName.split(constants_1.COLUMN_NAME_DELIMITER),
|
|
23
|
-
},
|
|
17
|
+
(0, base_condition_builder_1.createColumnRef)(columnName, {
|
|
18
|
+
isAlias: options.isAlias,
|
|
19
|
+
}),
|
|
24
20
|
{
|
|
25
21
|
class: 'CONSTANT',
|
|
26
22
|
type: 'VALUE_CONSTANT',
|
|
@@ -40,11 +36,11 @@ const notContainsDuckdbCondition = (columnName, value, memberInfo) => {
|
|
|
40
36
|
};
|
|
41
37
|
};
|
|
42
38
|
exports.notContainsDuckdbCondition = notContainsDuckdbCondition;
|
|
43
|
-
const notContainsTransform = (query) => {
|
|
39
|
+
const notContainsTransform = (query, options) => {
|
|
44
40
|
const { member, memberInfo } = query;
|
|
45
41
|
// SQL expressions not supported for notContains operator
|
|
46
42
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
47
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notContains');
|
|
43
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notContains', options);
|
|
48
44
|
}
|
|
49
45
|
// Otherwise, use values
|
|
50
46
|
if (!query.values || query.values.length === 0) {
|
|
@@ -55,14 +51,14 @@ const notContainsTransform = (query) => {
|
|
|
55
51
|
* If there is only one value, we can create a simple Contains condition
|
|
56
52
|
*/
|
|
57
53
|
if (values.length === 1) {
|
|
58
|
-
return (0, exports.notContainsDuckdbCondition)(member, values[0], memberInfo);
|
|
54
|
+
return (0, exports.notContainsDuckdbCondition)(member, values[0], memberInfo, options);
|
|
59
55
|
}
|
|
60
56
|
/**
|
|
61
57
|
* If there are multiple values, we need to create an OR condition
|
|
62
58
|
*/
|
|
63
59
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
64
60
|
values.forEach((value) => {
|
|
65
|
-
orCondition.children.push((0, exports.notContainsDuckdbCondition)(member, value, memberInfo));
|
|
61
|
+
orCondition.children.push((0, exports.notContainsDuckdbCondition)(member, value, memberInfo, options));
|
|
66
62
|
});
|
|
67
63
|
return orCondition;
|
|
68
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-contains.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-contains/not-contains.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;
|
|
1
|
+
{"version":3,"file":"not-contains.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-contains/not-contains.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AAEzF,gGAGyE;AACzE,6FAI0D;AAE1D,iCAA6C;AAC7C,mFAA8E;AAEvE,MAAM,0BAA0B,GAAG,CACxC,UAAkB,EAClB,KAAa,EACb,UAA+B,EAC/B,OAA+B,EAC/B,EAAE;IACF,OAAO;QACL,KAAK,EAAE,4BAAe,CAAC,QAAQ;QAC/B,IAAI,EAAE,2BAAc,CAAC,QAAQ;QAC7B,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,IAAA,wCAAe,EAAC,UAAU,EAAE;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;YACF;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,IAAA,qCAAY,EAAC,IAAI,KAAK,GAAG,EAAE,UAAU,CAAC;aAC9C;SACF;QACD,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE;YACT,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,EAAE;SACX;QACD,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,0BAA0B,8BAiCrC;AAEK,MAAM,oBAAoB,GAAmC,CAClE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,yDAAyD;IACzD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EACxB,MAAM,EACN,KAAK,CAAC,aAAa,EACnB,aAAa,EACb,OAAO,CACR,CAAC;KACH;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACjE;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,kCAA0B,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;KAC3E;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,kCAA0B,EAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAC/D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
|
|
@@ -4,7 +4,7 @@ exports.notEqualsArrayTransform = void 0;
|
|
|
4
4
|
const cube_filter_to_duckdb_1 = require("../../cube-to-duckdb/cube-filter-to-duckdb");
|
|
5
5
|
const equals_array_1 = require("../equals/equals-array");
|
|
6
6
|
const not_1 = require("../not/not");
|
|
7
|
-
const notEqualsArrayTransform = (query) => {
|
|
7
|
+
const notEqualsArrayTransform = (query, options) => {
|
|
8
8
|
// SQL expressions not supported for notEquals operator
|
|
9
9
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
10
10
|
throw new Error('SQL expressions are not supported for notEquals operator. Only "in" and "notIn" operators support SQL expressions.');
|
|
@@ -13,7 +13,7 @@ const notEqualsArrayTransform = (query) => {
|
|
|
13
13
|
throw new Error('Equals filter must have at least one value');
|
|
14
14
|
}
|
|
15
15
|
const notWrapper = (0, not_1.notDuckdbCondition)();
|
|
16
|
-
const equalsCondition = (0, equals_array_1.equalsArrayTransform)(query);
|
|
16
|
+
const equalsCondition = (0, equals_array_1.equalsArrayTransform)(query, options);
|
|
17
17
|
/**
|
|
18
18
|
* We need to wrap the equals condition in a not condition
|
|
19
19
|
* Which basically means ! of ANY of the values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-equals-array.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals-array.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,yDAA8D;AAE9D,oCAAgD;AAEzC,MAAM,uBAAuB,GAAmC,CACrE,KAAK,EACL,EAAE;IACF,uDAAuD;IACvD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,MAAM,UAAU,GAAG,IAAA,wBAAkB,GAAE,CAAC;IACxC,MAAM,eAAe,GAAG,IAAA,mCAAoB,EAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"not-equals-array.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals-array.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,yDAA8D;AAE9D,oCAAgD;AAEzC,MAAM,uBAAuB,GAAmC,CACrE,KAAK,EACL,OAAO,EACP,EAAE;IACF,uDAAuD;IACvD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,oHAAoH,CACrH,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KAC/D;IAED,MAAM,UAAU,GAAG,IAAA,wBAAkB,GAAE,CAAC;IACxC,MAAM,eAAe,GAAG,IAAA,mCAAoB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7D;;;OAGG;IACH,UAAU,CAAC,QAAQ,GAAG,CAAC,eAAe,CAAC,CAAC;IAExC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAxBW,QAAA,uBAAuB,2BAwBlC"}
|
|
@@ -8,11 +8,11 @@ const base_condition_builder_1 = require("../base-condition-builder/base-conditi
|
|
|
8
8
|
const or_1 = require("../or/or");
|
|
9
9
|
const sql_expression_parser_1 = require("../sql-expression/sql-expression-parser");
|
|
10
10
|
const not_equals_array_1 = require("./not-equals-array");
|
|
11
|
-
const notEqualsTransform = (query) => {
|
|
11
|
+
const notEqualsTransform = (query, options) => {
|
|
12
12
|
const { member, memberInfo } = query;
|
|
13
13
|
// SQL expressions not supported for notEquals operator
|
|
14
14
|
if ((0, cube_filter_to_duckdb_1.isQueryOperatorsWithSQLInfo)(query)) {
|
|
15
|
-
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notEquals');
|
|
15
|
+
return (0, sql_expression_parser_1.getSQLExpressionAST)(member, query.sqlExpression, 'notEquals', options);
|
|
16
16
|
}
|
|
17
17
|
// Otherwise, use values
|
|
18
18
|
if (!query.values || query.values.length === 0) {
|
|
@@ -23,20 +23,20 @@ const notEqualsTransform = (query) => {
|
|
|
23
23
|
* If the member is an array, we need to use the array transform
|
|
24
24
|
*/
|
|
25
25
|
if ((0, is_array_member_type_1.isArrayTypeMember)(memberInfo.type)) {
|
|
26
|
-
return (0, not_equals_array_1.notEqualsArrayTransform)(query);
|
|
26
|
+
return (0, not_equals_array_1.notEqualsArrayTransform)(query, options);
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* If there is only one value, we can create a simple equals condition
|
|
30
30
|
*/
|
|
31
31
|
if (values.length === 1) {
|
|
32
|
-
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_NOTEQUAL, values[0], memberInfo);
|
|
32
|
+
return (0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_NOTEQUAL, values[0], memberInfo, options);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* If there are multiple values, we need to create an OR condition
|
|
36
36
|
*/
|
|
37
37
|
const orCondition = (0, or_1.orDuckdbCondition)();
|
|
38
38
|
values.forEach((value) => {
|
|
39
|
-
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_NOTEQUAL, value, memberInfo));
|
|
39
|
+
orCondition.children.push((0, base_condition_builder_1.baseDuckdbCondition)(member, Expression_1.ExpressionType.COMPARE_NOTEQUAL, value, memberInfo, options));
|
|
40
40
|
});
|
|
41
41
|
return orCondition;
|
|
42
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not-equals.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,2EAAqE;AACrE,
|
|
1
|
+
{"version":3,"file":"not-equals.js","sourceRoot":"","sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals.ts"],"names":[],"mappings":";;;AAAA,sFAAyF;AACzF,gGAAiG;AACjG,2EAAqE;AACrE,6FAG0D;AAE1D,iCAA6C;AAC7C,mFAA8E;AAC9E,yDAA6D;AAEtD,MAAM,kBAAkB,GAAmC,CAChE,KAAK,EACL,OAAO,EACP,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAErC,uDAAuD;IACvD,IAAI,IAAA,mDAA2B,EAAC,KAAK,CAAC,EAAE;QACtC,OAAO,IAAA,2CAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;KAC/E;IAED,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B;;OAEG;IACH,IAAI,IAAA,wCAAiB,EAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACtC,OAAO,IAAA,0CAAuB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KAChD;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,IAAA,4CAAmB,EACxB,MAAM,EACN,2BAAc,CAAC,gBAAgB,EAC/B,MAAM,CAAC,CAAC,CAAC,EACT,UAAU,EACV,OAAO,CACR,CAAC;KACH;IAED;;OAEG;IACH,MAAM,WAAW,GAAG,IAAA,sBAAiB,GAAE,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,WAAW,CAAC,QAAQ,CAAC,IAAI,CACvB,IAAA,4CAAmB,EACjB,MAAM,EACN,2BAAc,CAAC,gBAAgB,EAC/B,KAAK,EACL,UAAU,EACV,OAAO,CACR,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAtDW,QAAA,kBAAkB,sBAsD7B"}
|