@devrev/meerkat-core 0.0.112 → 0.0.116
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 +32 -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
|
@@ -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"}
|