@devrev/meerkat-core 0.0.77
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/README.md +11 -0
- package/package.json +30 -0
- package/src/ast-builder/ast-builder.d.ts +6 -0
- package/src/ast-builder/ast-builder.js +89 -0
- package/src/ast-builder/ast-builder.js.map +1 -0
- package/src/ast-deserializer/ast-deserializer.d.ts +5 -0
- package/src/ast-deserializer/ast-deserializer.js +30 -0
- package/src/ast-deserializer/ast-deserializer.js.map +1 -0
- package/src/context-params/context-params-ast.d.ts +11 -0
- package/src/context-params/context-params-ast.js +55 -0
- package/src/context-params/context-params-ast.js.map +1 -0
- package/src/cube-filter-transformer/and/and.d.ts +2 -0
- package/src/cube-filter-transformer/and/and.js +18 -0
- package/src/cube-filter-transformer/and/and.js.map +1 -0
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.d.ts +154 -0
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js +159 -0
- package/src/cube-filter-transformer/base-condition-builder/base-condition-builder.js.map +1 -0
- package/src/cube-filter-transformer/contains/contains.d.ts +65 -0
- package/src/cube-filter-transformer/contains/contains.js +70 -0
- package/src/cube-filter-transformer/contains/contains.js.map +1 -0
- package/src/cube-filter-transformer/equals/equals-array.d.ts +2 -0
- package/src/cube-filter-transformer/equals/equals-array.js +30 -0
- package/src/cube-filter-transformer/equals/equals-array.js.map +1 -0
- package/src/cube-filter-transformer/equals/equals.d.ts +2 -0
- package/src/cube-filter-transformer/equals/equals.js +37 -0
- package/src/cube-filter-transformer/equals/equals.js.map +1 -0
- package/src/cube-filter-transformer/factory.d.ts +5 -0
- package/src/cube-filter-transformer/factory.js +124 -0
- package/src/cube-filter-transformer/factory.js.map +1 -0
- package/src/cube-filter-transformer/gt/gt.d.ts +2 -0
- package/src/cube-filter-transformer/gt/gt.js +30 -0
- package/src/cube-filter-transformer/gt/gt.js.map +1 -0
- package/src/cube-filter-transformer/gte/gte.d.ts +2 -0
- package/src/cube-filter-transformer/gte/gte.js +30 -0
- package/src/cube-filter-transformer/gte/gte.js.map +1 -0
- package/src/cube-filter-transformer/in/in.d.ts +2 -0
- package/src/cube-filter-transformer/in/in.js +77 -0
- package/src/cube-filter-transformer/in/in.js.map +1 -0
- package/src/cube-filter-transformer/in-date-range/in-date-range.d.ts +2 -0
- package/src/cube-filter-transformer/in-date-range/in-date-range.js +24 -0
- package/src/cube-filter-transformer/in-date-range/in-date-range.js.map +1 -0
- package/src/cube-filter-transformer/lt/lt.d.ts +2 -0
- package/src/cube-filter-transformer/lt/lt.js +30 -0
- package/src/cube-filter-transformer/lt/lt.js.map +1 -0
- package/src/cube-filter-transformer/lte/lte.d.ts +2 -0
- package/src/cube-filter-transformer/lte/lte.js +30 -0
- package/src/cube-filter-transformer/lte/lte.js.map +1 -0
- package/src/cube-filter-transformer/not/not.d.ts +2 -0
- package/src/cube-filter-transformer/not/not.js +18 -0
- package/src/cube-filter-transformer/not/not.js.map +1 -0
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.d.ts +2 -0
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js +24 -0
- package/src/cube-filter-transformer/not-In-date-range/not-In-date-range.js.map +1 -0
- package/src/cube-filter-transformer/not-contains/not-contains.d.ts +65 -0
- package/src/cube-filter-transformer/not-contains/not-contains.js +70 -0
- package/src/cube-filter-transformer/not-contains/not-contains.js.map +1 -0
- package/src/cube-filter-transformer/not-equals/not-equals-array.d.ts +2 -0
- package/src/cube-filter-transformer/not-equals/not-equals-array.js +26 -0
- package/src/cube-filter-transformer/not-equals/not-equals-array.js.map +1 -0
- package/src/cube-filter-transformer/not-equals/not-equals.d.ts +8 -0
- package/src/cube-filter-transformer/not-equals/not-equals.js +37 -0
- package/src/cube-filter-transformer/not-equals/not-equals.js.map +1 -0
- package/src/cube-filter-transformer/not-in/not-in.d.ts +2 -0
- package/src/cube-filter-transformer/not-in/not-in.js +84 -0
- package/src/cube-filter-transformer/not-in/not-in.js.map +1 -0
- package/src/cube-filter-transformer/not-set/not-set.d.ts +2 -0
- package/src/cube-filter-transformer/not-set/not-set.js +26 -0
- package/src/cube-filter-transformer/not-set/not-set.js.map +1 -0
- package/src/cube-filter-transformer/or/or.d.ts +2 -0
- package/src/cube-filter-transformer/or/or.js +18 -0
- package/src/cube-filter-transformer/or/or.js.map +1 -0
- package/src/cube-filter-transformer/set/set.d.ts +2 -0
- package/src/cube-filter-transformer/set/set.js +26 -0
- package/src/cube-filter-transformer/set/set.js.map +1 -0
- package/src/cube-group-by-transformer/cube-group-by-transformer.d.ts +8 -0
- package/src/cube-group-by-transformer/cube-group-by-transformer.js +25 -0
- package/src/cube-group-by-transformer/cube-group-by-transformer.js.map +1 -0
- package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.d.ts +31 -0
- package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js +42 -0
- package/src/cube-limit-offset-transformer/cube-limit-offset-transformer.js.map +1 -0
- package/src/cube-measure-transformer/cube-measure-transformer.d.ts +21 -0
- package/src/cube-measure-transformer/cube-measure-transformer.js +126 -0
- package/src/cube-measure-transformer/cube-measure-transformer.js.map +1 -0
- package/src/cube-order-by-transformer/cube-order-by-transformer.d.ts +21 -0
- package/src/cube-order-by-transformer/cube-order-by-transformer.js +39 -0
- package/src/cube-order-by-transformer/cube-order-by-transformer.js.map +1 -0
- package/src/cube-to-duckdb/cube-filter-to-duckdb.d.ts +16 -0
- package/src/cube-to-duckdb/cube-filter-to-duckdb.js +3 -0
- package/src/cube-to-duckdb/cube-filter-to-duckdb.js.map +1 -0
- package/src/filter-params/filter-params-ast.d.ts +33 -0
- package/src/filter-params/filter-params-ast.js +115 -0
- package/src/filter-params/filter-params-ast.js.map +1 -0
- package/src/get-projection-clause/get-projection-clause.d.ts +27 -0
- package/src/get-projection-clause/get-projection-clause.js +135 -0
- package/src/get-projection-clause/get-projection-clause.js.map +1 -0
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.d.ts +8 -0
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js +99 -0
- package/src/get-wrapped-base-query-with-projections/get-wrapped-base-query-with-projections.js.map +1 -0
- package/src/index.d.ts +16 -0
- package/src/index.js +55 -0
- package/src/index.js.map +1 -0
- package/src/joins/joins.d.ts +22 -0
- package/src/joins/joins.js +170 -0
- package/src/joins/joins.js.map +1 -0
- package/src/types/cube-types/index.d.js +6 -0
- package/src/types/cube-types/index.d.js.map +1 -0
- package/src/types/cube-types/index.d.ts +2 -0
- package/src/types/cube-types/index.js +6 -0
- package/src/types/cube-types/index.js.map +1 -0
- package/src/types/cube-types/query.d.js +5 -0
- package/src/types/cube-types/query.d.js.map +1 -0
- package/src/types/cube-types/query.d.ts +141 -0
- package/src/types/cube-types/query.js +14 -0
- package/src/types/cube-types/query.js.map +1 -0
- package/src/types/cube-types/table.d.js +3 -0
- package/src/types/cube-types/table.d.js.map +1 -0
- package/src/types/cube-types/table.d.ts +25 -0
- package/src/types/cube-types/table.js +3 -0
- package/src/types/cube-types/table.js.map +1 -0
- package/src/types/duckdb-serialization-types/index.d.js +11 -0
- package/src/types/duckdb-serialization-types/index.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/index.d.ts +7 -0
- package/src/types/duckdb-serialization-types/index.js +11 -0
- package/src/types/duckdb-serialization-types/index.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Constraint.d.ts +47 -0
- package/src/types/duckdb-serialization-types/serialization/Constraint.js +31 -0
- package/src/types/duckdb-serialization-types/serialization/Constraint.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/CreateInfo.d.ts +95 -0
- package/src/types/duckdb-serialization-types/serialization/CreateInfo.js +67 -0
- package/src/types/duckdb-serialization-types/serialization/CreateInfo.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Expression.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Expression.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Expression.d.ts +186 -0
- package/src/types/duckdb-serialization-types/serialization/Expression.js +130 -0
- package/src/types/duckdb-serialization-types/serialization/Expression.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/LogicalOperator.d.ts +231 -0
- package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js +47 -0
- package/src/types/duckdb-serialization-types/serialization/LogicalOperator.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/MacroFunction.d.ts +20 -0
- package/src/types/duckdb-serialization-types/serialization/MacroFunction.js +15 -0
- package/src/types/duckdb-serialization-types/serialization/MacroFunction.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.d.ts +3 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Misc.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Nodes.d.js +10 -0
- package/src/types/duckdb-serialization-types/serialization/Nodes.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Nodes.d.ts +212 -0
- package/src/types/duckdb-serialization-types/serialization/Nodes.js +92 -0
- package/src/types/duckdb-serialization-types/serialization/Nodes.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/ParseInfo.d.ts +192 -0
- package/src/types/duckdb-serialization-types/serialization/ParseInfo.js +128 -0
- package/src/types/duckdb-serialization-types/serialization/ParseInfo.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.d.ts +114 -0
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js +37 -0
- package/src/types/duckdb-serialization-types/serialization/ParsedExpression.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/QueryNode.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/QueryNode.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/QueryNode.d.ts +62 -0
- package/src/types/duckdb-serialization-types/serialization/QueryNode.js +42 -0
- package/src/types/duckdb-serialization-types/serialization/QueryNode.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.d.ts +29 -0
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.js +16 -0
- package/src/types/duckdb-serialization-types/serialization/ResultModifier.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.d.ts +4 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Statement.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/TableFilter.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/TableFilter.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/TableFilter.d.ts +32 -0
- package/src/types/duckdb-serialization-types/serialization/TableFilter.js +17 -0
- package/src/types/duckdb-serialization-types/serialization/TableFilter.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/TableRef.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/TableRef.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/TableRef.d.ts +84 -0
- package/src/types/duckdb-serialization-types/serialization/TableRef.js +53 -0
- package/src/types/duckdb-serialization-types/serialization/TableRef.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Types.d.js +3 -0
- package/src/types/duckdb-serialization-types/serialization/Types.d.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/Types.d.ts +53 -0
- package/src/types/duckdb-serialization-types/serialization/Types.js +21 -0
- package/src/types/duckdb-serialization-types/serialization/Types.js.map +1 -0
- package/src/types/duckdb-serialization-types/serialization/example.d.ts +1 -0
- package/src/types/duckdb-serialization-types/serialization/example.js +131 -0
- package/src/types/duckdb-serialization-types/serialization/example.js.map +1 -0
- package/src/utils/__fixtures__/joins.fixtures.d.ts +211 -0
- package/src/utils/__fixtures__/joins.fixtures.js +922 -0
- package/src/utils/__fixtures__/joins.fixtures.js.map +1 -0
- package/src/utils/base-ast.d.ts +3 -0
- package/src/utils/base-ast.js +64 -0
- package/src/utils/base-ast.js.map +1 -0
- package/src/utils/constants.d.ts +2 -0
- package/src/utils/constants.js +19 -0
- package/src/utils/constants.js.map +1 -0
- package/src/utils/cube-filter-enrichment.d.ts +4 -0
- package/src/utils/cube-filter-enrichment.js +63 -0
- package/src/utils/cube-filter-enrichment.js.map +1 -0
- package/src/utils/cube-to-table-schema.d.ts +3 -0
- package/src/utils/cube-to-table-schema.js +104 -0
- package/src/utils/cube-to-table-schema.js.map +1 -0
- package/src/utils/cube-type-to-duckdb-type.d.ts +6 -0
- package/src/utils/cube-type-to-duckdb-type.js +17 -0
- package/src/utils/cube-type-to-duckdb-type.js.map +1 -0
- package/src/utils/find-in-table-schema.d.ts +4 -0
- package/src/utils/find-in-table-schema.js +40 -0
- package/src/utils/find-in-table-schema.js.map +1 -0
- package/src/utils/get-possible-nodes.d.ts +15 -0
- package/src/utils/get-possible-nodes.js +152 -0
- package/src/utils/get-possible-nodes.js.map +1 -0
- package/src/utils/get-type-info.d.ts +7 -0
- package/src/utils/get-type-info.js +44 -0
- package/src/utils/get-type-info.js.map +1 -0
- package/src/utils/is-array-member-type.d.ts +4 -0
- package/src/utils/is-array-member-type.js +12 -0
- package/src/utils/is-array-member-type.js.map +1 -0
- package/src/utils/key-from-measures-dimension.d.ts +2 -0
- package/src/utils/key-from-measures-dimension.js +34 -0
- package/src/utils/key-from-measures-dimension.js.map +1 -0
- package/src/utils/meerkat-placeholder-replacer.d.ts +1 -0
- package/src/utils/meerkat-placeholder-replacer.js +14 -0
- package/src/utils/meerkat-placeholder-replacer.js.map +1 -0
- package/src/utils/member-key-to-safe-key.d.ts +1 -0
- package/src/utils/member-key-to-safe-key.js +13 -0
- package/src/utils/member-key-to-safe-key.js.map +1 -0
- package/src/utils/modify-meerkat-filter.d.ts +3 -0
- package/src/utils/modify-meerkat-filter.js +30 -0
- package/src/utils/modify-meerkat-filter.js.map +1 -0
- package/src/utils/type-guards.d.ts +8 -0
- package/src/utils/type-guards.js +83 -0
- package/src/utils/type-guards.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/lt/lt.ts"],"sourcesContent":["import { ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { baseDuckdbCondition } from '../base-condition-builder/base-condition-builder';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { orDuckdbCondition } from '../or/or';\n\nexport const ltTransform: CubeToParseExpressionTransform = (query) => {\n const { member, values } = query;\n\n if (!values || values.length === 0) {\n throw new Error('lt filter must have at least one value');\n }\n\n /**\n * If there is only one value, we can create a simple equals condition\n */\n if (values.length === 1) {\n return baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_LESSTHAN,\n values[0],\n query.memberInfo\n );\n }\n\n /**\n * If there are multiple values, we need to create an OR condition\n */\n const orCondition = orDuckdbCondition();\n values.forEach((value) => {\n orCondition.children.push(\n baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_LESSTHAN,\n value,\n query.memberInfo\n )\n );\n });\n return orCondition;\n};\n"],"names":["ltTransform","query","member","values","length","Error","baseDuckdbCondition","ExpressionType","COMPARE_LESSTHAN","memberInfo","orCondition","orDuckdbCondition","forEach","value","children","push"],"mappings":";+BAKaA;;;eAAAA;;;4BALkB;sCACK;oBAEF;AAE3B,MAAMA,cAA8C,CAACC;IAC1D,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF;IAE3B,IAAI,CAACE,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA;;GAEC,GACD,IAAIF,OAAOC,MAAM,KAAK,GAAG;QACvB,OAAOE,IAAAA,yCAAmB,EACxBJ,QACAK,0BAAc,CAACC,gBAAgB,EAC/BL,MAAM,CAAC,EAAE,EACTF,MAAMQ,UAAU;IAEpB;IAEA;;GAEC,GACD,MAAMC,cAAcC,IAAAA,qBAAiB;IACrCR,OAAOS,OAAO,CAAC,CAACC;QACdH,YAAYI,QAAQ,CAACC,IAAI,CACvBT,IAAAA,yCAAmB,EACjBJ,QACAK,0BAAc,CAACC,gBAAgB,EAC/BK,OACAZ,MAAMQ,UAAU;IAGtB;IACA,OAAOC;AACT"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "lteTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return lteTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const _baseconditionbuilder = require("../base-condition-builder/base-condition-builder");
|
|
10
|
+
const _or = require("../or/or");
|
|
11
|
+
const lteTransform = (query)=>{
|
|
12
|
+
const { member, values } = query;
|
|
13
|
+
if (!values || values.length === 0) {
|
|
14
|
+
throw new Error('lte filter must have at least one value');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* If there is only one value, we can create a simple equals condition
|
|
18
|
+
*/ if (values.length === 1) {
|
|
19
|
+
return (0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_LESSTHANOREQUALTO, values[0], query.memberInfo);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* If there are multiple values, we need to create an OR condition
|
|
23
|
+
*/ const orCondition = (0, _or.orDuckdbCondition)();
|
|
24
|
+
values.forEach((value)=>{
|
|
25
|
+
orCondition.children.push((0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_LESSTHANOREQUALTO, value, query.memberInfo));
|
|
26
|
+
});
|
|
27
|
+
return orCondition;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=lte.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/lte/lte.ts"],"sourcesContent":["import { ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { baseDuckdbCondition } from '../base-condition-builder/base-condition-builder';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { orDuckdbCondition } from '../or/or';\n\nexport const lteTransform: CubeToParseExpressionTransform = (query) => {\n const { member, values } = query;\n\n if (!values || values.length === 0) {\n throw new Error('lte filter must have at least one value');\n }\n\n /**\n * If there is only one value, we can create a simple equals condition\n */\n if (values.length === 1) {\n return baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_LESSTHANOREQUALTO,\n values[0],\n query.memberInfo\n );\n }\n\n /**\n * If there are multiple values, we need to create an OR condition\n */\n const orCondition = orDuckdbCondition();\n values.forEach((value) => {\n orCondition.children.push(\n baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_LESSTHANOREQUALTO,\n value,\n query.memberInfo\n )\n );\n });\n return orCondition;\n};\n"],"names":["lteTransform","query","member","values","length","Error","baseDuckdbCondition","ExpressionType","COMPARE_LESSTHANOREQUALTO","memberInfo","orCondition","orDuckdbCondition","forEach","value","children","push"],"mappings":";+BAKaA;;;eAAAA;;;4BALkB;sCACK;oBAEF;AAE3B,MAAMA,eAA+C,CAACC;IAC3D,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF;IAE3B,IAAI,CAACE,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA;;GAEC,GACD,IAAIF,OAAOC,MAAM,KAAK,GAAG;QACvB,OAAOE,IAAAA,yCAAmB,EACxBJ,QACAK,0BAAc,CAACC,yBAAyB,EACxCL,MAAM,CAAC,EAAE,EACTF,MAAMQ,UAAU;IAEpB;IAEA;;GAEC,GACD,MAAMC,cAAcC,IAAAA,qBAAiB;IACrCR,OAAOS,OAAO,CAAC,CAACC;QACdH,YAAYI,QAAQ,CAACC,IAAI,CACvBT,IAAAA,yCAAmB,EACjBJ,QACAK,0BAAc,CAACC,yBAAyB,EACxCK,OACAZ,MAAMQ,UAAU;IAGtB;IACA,OAAOC;AACT"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notDuckdbCondition", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notDuckdbCondition;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _index = require("../../types/duckdb-serialization-types/index");
|
|
9
|
+
const notDuckdbCondition = ()=>{
|
|
10
|
+
return {
|
|
11
|
+
class: _index.ExpressionClass.OPERATOR,
|
|
12
|
+
type: _index.ExpressionType.OPERATOR_NOT,
|
|
13
|
+
alias: '',
|
|
14
|
+
children: []
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=not.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not/not.ts"],"sourcesContent":["import {\n ConjunctionExpression,\n ExpressionClass,\n ExpressionType,\n} from '../../types/duckdb-serialization-types/index';\n\nexport const notDuckdbCondition = (): ConjunctionExpression => {\n return {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_NOT,\n alias: '',\n children: [],\n };\n};\n"],"names":["notDuckdbCondition","class","ExpressionClass","OPERATOR","type","ExpressionType","OPERATOR_NOT","alias","children"],"mappings":";+BAMaA;;;eAAAA;;;uBAFN;AAEA,MAAMA,qBAAqB;IAChC,OAAO;QACLC,OAAOC,sBAAe,CAACC,QAAQ;QAC/BC,MAAMC,qBAAc,CAACC,YAAY;QACjCC,OAAO;QACPC,UAAU,EAAE;IACd;AACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notInDataRangeTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notInDataRangeTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const _baseconditionbuilder = require("../base-condition-builder/base-condition-builder");
|
|
10
|
+
const _or = require("../or/or");
|
|
11
|
+
const notInDataRangeTransform = (query)=>{
|
|
12
|
+
const { member, values } = query;
|
|
13
|
+
if (!values || values.length === 0) {
|
|
14
|
+
throw new Error('GT filter must have at least one value');
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* If there are multiple values, we need to create an OR condition
|
|
18
|
+
*/ const andCondition = (0, _or.orDuckdbCondition)();
|
|
19
|
+
andCondition.children.push((0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_LESSTHAN, values[0], query.memberInfo));
|
|
20
|
+
andCondition.children.push((0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_GREATERTHAN, values[1], query.memberInfo));
|
|
21
|
+
return andCondition;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=not-In-date-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-In-date-range/not-In-date-range.ts"],"sourcesContent":["import { ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { baseDuckdbCondition } from '../base-condition-builder/base-condition-builder';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { orDuckdbCondition } from '../or/or';\n\nexport const notInDataRangeTransform: CubeToParseExpressionTransform = (\n query\n) => {\n const { member, values } = query;\n\n if (!values || values.length === 0) {\n throw new Error('GT filter must have at least one value');\n }\n\n /**\n * If there are multiple values, we need to create an OR condition\n */\n const andCondition = orDuckdbCondition();\n\n andCondition.children.push(\n baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_LESSTHAN,\n values[0],\n query.memberInfo\n )\n );\n\n andCondition.children.push(\n baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_GREATERTHAN,\n values[1],\n query.memberInfo\n )\n );\n\n return andCondition;\n};\n"],"names":["notInDataRangeTransform","query","member","values","length","Error","andCondition","orDuckdbCondition","children","push","baseDuckdbCondition","ExpressionType","COMPARE_LESSTHAN","memberInfo","COMPARE_GREATERTHAN"],"mappings":";+BAKaA;;;eAAAA;;;4BALkB;sCACK;oBAEF;AAE3B,MAAMA,0BAA0D,CACrEC;IAEA,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF;IAE3B,IAAI,CAACE,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA;;GAEC,GACD,MAAMC,eAAeC,IAAAA,qBAAiB;IAEtCD,aAAaE,QAAQ,CAACC,IAAI,CACxBC,IAAAA,yCAAmB,EACjBR,QACAS,0BAAc,CAACC,gBAAgB,EAC/BT,MAAM,CAAC,EAAE,EACTF,MAAMY,UAAU;IAIpBP,aAAaE,QAAQ,CAACC,IAAI,CACxBC,IAAAA,yCAAmB,EACjBR,QACAS,0BAAc,CAACG,mBAAmB,EAClCX,MAAM,CAAC,EAAE,EACTF,MAAMY,UAAU;IAIpB,OAAOP;AACT"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Dimension, Measure } from '../../types/cube-types/table';
|
|
2
|
+
import { Member, QueryFilter } from '../../types/cube-types/query';
|
|
3
|
+
import { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';
|
|
4
|
+
import { CubeToParseExpressionTransform } from '../factory';
|
|
5
|
+
export interface NotContainsFilters extends QueryFilter {
|
|
6
|
+
member: Member;
|
|
7
|
+
operator: 'notContains';
|
|
8
|
+
values: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare const notContainsDuckdbCondition: (columnName: string, value: string, memberInfo: Measure | Dimension) => {
|
|
11
|
+
class: ExpressionClass;
|
|
12
|
+
type: ExpressionType;
|
|
13
|
+
alias: string;
|
|
14
|
+
function_name: string;
|
|
15
|
+
schema: string;
|
|
16
|
+
children: ({
|
|
17
|
+
class: string;
|
|
18
|
+
type: string;
|
|
19
|
+
alias: string;
|
|
20
|
+
column_names: string[];
|
|
21
|
+
value?: undefined;
|
|
22
|
+
} | {
|
|
23
|
+
class: string;
|
|
24
|
+
type: string;
|
|
25
|
+
alias: string;
|
|
26
|
+
value: {
|
|
27
|
+
type: {
|
|
28
|
+
id: string;
|
|
29
|
+
type_info: null;
|
|
30
|
+
};
|
|
31
|
+
is_null: boolean;
|
|
32
|
+
value: string;
|
|
33
|
+
} | {
|
|
34
|
+
type: {
|
|
35
|
+
id: string;
|
|
36
|
+
type_info: {
|
|
37
|
+
type: string;
|
|
38
|
+
alias: string;
|
|
39
|
+
width: number;
|
|
40
|
+
scale: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
is_null: boolean;
|
|
44
|
+
value: number;
|
|
45
|
+
} | {
|
|
46
|
+
type: {
|
|
47
|
+
id: string;
|
|
48
|
+
type_info: null;
|
|
49
|
+
};
|
|
50
|
+
is_null: boolean;
|
|
51
|
+
value: boolean;
|
|
52
|
+
};
|
|
53
|
+
column_names?: undefined;
|
|
54
|
+
})[];
|
|
55
|
+
filter: null;
|
|
56
|
+
order_bys: {
|
|
57
|
+
type: string;
|
|
58
|
+
orders: never[];
|
|
59
|
+
};
|
|
60
|
+
distinct: boolean;
|
|
61
|
+
is_operator: boolean;
|
|
62
|
+
export_state: boolean;
|
|
63
|
+
catalog: string;
|
|
64
|
+
};
|
|
65
|
+
export declare const notContainsTransform: CubeToParseExpressionTransform;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function _export(target, all) {
|
|
3
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
4
|
+
enumerable: true,
|
|
5
|
+
get: all[name]
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
_export(exports, {
|
|
9
|
+
notContainsDuckdbCondition: function() {
|
|
10
|
+
return notContainsDuckdbCondition;
|
|
11
|
+
},
|
|
12
|
+
notContainsTransform: function() {
|
|
13
|
+
return notContainsTransform;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
17
|
+
const _baseconditionbuilder = require("../base-condition-builder/base-condition-builder");
|
|
18
|
+
const _or = require("../or/or");
|
|
19
|
+
const notContainsDuckdbCondition = (columnName, value, memberInfo)=>{
|
|
20
|
+
return {
|
|
21
|
+
class: _Expression.ExpressionClass.FUNCTION,
|
|
22
|
+
type: _Expression.ExpressionType.FUNCTION,
|
|
23
|
+
alias: '',
|
|
24
|
+
function_name: '!~~',
|
|
25
|
+
schema: '',
|
|
26
|
+
children: [
|
|
27
|
+
{
|
|
28
|
+
class: 'COLUMN_REF',
|
|
29
|
+
type: 'COLUMN_REF',
|
|
30
|
+
alias: '',
|
|
31
|
+
column_names: columnName.split('.')
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
class: 'CONSTANT',
|
|
35
|
+
type: 'VALUE_CONSTANT',
|
|
36
|
+
alias: '',
|
|
37
|
+
value: (0, _baseconditionbuilder.valueBuilder)(`%${value}%`, memberInfo)
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
filter: null,
|
|
41
|
+
order_bys: {
|
|
42
|
+
type: 'ORDER_MODIFIER',
|
|
43
|
+
orders: []
|
|
44
|
+
},
|
|
45
|
+
distinct: false,
|
|
46
|
+
is_operator: true,
|
|
47
|
+
export_state: false,
|
|
48
|
+
catalog: ''
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const notContainsTransform = (query)=>{
|
|
52
|
+
const { member, values, memberInfo } = query;
|
|
53
|
+
if (!values || values.length === 0) {
|
|
54
|
+
throw new Error('Contains filter must have at least one value');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* If there is only one value, we can create a simple Contains condition
|
|
58
|
+
*/ if (values.length === 1) {
|
|
59
|
+
return notContainsDuckdbCondition(member, values[0], memberInfo);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* If there are multiple values, we need to create an OR condition
|
|
63
|
+
*/ const orCondition = (0, _or.orDuckdbCondition)();
|
|
64
|
+
values.forEach((value)=>{
|
|
65
|
+
orCondition.children.push(notContainsDuckdbCondition(member, value, memberInfo));
|
|
66
|
+
});
|
|
67
|
+
return orCondition;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=not-contains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-contains/not-contains.ts"],"sourcesContent":["import { Dimension, Measure } from '../../types/cube-types/table';\nimport { Member, QueryFilter } from '../../types/cube-types/query';\nimport { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { valueBuilder } from '../base-condition-builder/base-condition-builder';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { orDuckdbCondition } from '../or/or';\n\nexport interface NotContainsFilters extends QueryFilter {\n member: Member;\n operator: 'notContains';\n values: string[];\n}\n\nexport const notContainsDuckdbCondition = (\n columnName: string,\n value: string,\n memberInfo: Measure | Dimension\n) => {\n return {\n class: ExpressionClass.FUNCTION,\n type: ExpressionType.FUNCTION,\n alias: '',\n function_name: '!~~',\n schema: '',\n children: [\n {\n class: 'COLUMN_REF',\n type: 'COLUMN_REF',\n alias: '',\n column_names: columnName.split('.'),\n },\n {\n class: 'CONSTANT',\n type: 'VALUE_CONSTANT',\n alias: '',\n value: valueBuilder(`%${value}%`, memberInfo),\n },\n ],\n filter: null,\n order_bys: {\n type: 'ORDER_MODIFIER',\n orders: [],\n },\n distinct: false,\n is_operator: true,\n export_state: false,\n catalog: '',\n };\n};\n\nexport const notContainsTransform: CubeToParseExpressionTransform = (query) => {\n const { member, values, memberInfo } = query;\n\n if (!values || values.length === 0) {\n throw new Error('Contains filter must have at least one value');\n }\n\n /**\n * If there is only one value, we can create a simple Contains condition\n */\n if (values.length === 1) {\n return notContainsDuckdbCondition(member, values[0], memberInfo);\n }\n\n /**\n * If there are multiple values, we need to create an OR condition\n */\n const orCondition = orDuckdbCondition();\n values.forEach((value) => {\n orCondition.children.push(\n notContainsDuckdbCondition(member, value, memberInfo)\n );\n });\n return orCondition;\n};\n"],"names":["notContainsDuckdbCondition","notContainsTransform","columnName","value","memberInfo","class","ExpressionClass","FUNCTION","type","ExpressionType","alias","function_name","schema","children","column_names","split","valueBuilder","filter","order_bys","orders","distinct","is_operator","export_state","catalog","query","member","values","length","Error","orCondition","orDuckdbCondition","forEach","push"],"mappings":";;;;;;;;IAaaA,0BAA0B;eAA1BA;;IAqCAC,oBAAoB;eAApBA;;;4BAhDmC;sCACnB;oBAEK;AAQ3B,MAAMD,6BAA6B,CACxCE,YACAC,OACAC;IAEA,OAAO;QACLC,OAAOC,2BAAe,CAACC,QAAQ;QAC/BC,MAAMC,0BAAc,CAACF,QAAQ;QAC7BG,OAAO;QACPC,eAAe;QACfC,QAAQ;QACRC,UAAU;YACR;gBACER,OAAO;gBACPG,MAAM;gBACNE,OAAO;gBACPI,cAAcZ,WAAWa,KAAK,CAAC;YACjC;YACA;gBACEV,OAAO;gBACPG,MAAM;gBACNE,OAAO;gBACPP,OAAOa,IAAAA,kCAAY,EAAC,CAAC,CAAC,EAAEb,MAAM,CAAC,CAAC,EAAEC;YACpC;SACD;QACDa,QAAQ;QACRC,WAAW;YACTV,MAAM;YACNW,QAAQ,EAAE;QACZ;QACAC,UAAU;QACVC,aAAa;QACbC,cAAc;QACdC,SAAS;IACX;AACF;AAEO,MAAMtB,uBAAuD,CAACuB;IACnE,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEtB,UAAU,EAAE,GAAGoB;IAEvC,IAAI,CAACE,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA;;GAEC,GACD,IAAIF,OAAOC,MAAM,KAAK,GAAG;QACvB,OAAO3B,2BAA2ByB,QAAQC,MAAM,CAAC,EAAE,EAAEtB;IACvD;IAEA;;GAEC,GACD,MAAMyB,cAAcC,IAAAA,qBAAiB;IACrCJ,OAAOK,OAAO,CAAC,CAAC5B;QACd0B,YAAYhB,QAAQ,CAACmB,IAAI,CACvBhC,2BAA2ByB,QAAQtB,OAAOC;IAE9C;IACA,OAAOyB;AACT"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notEqualsArrayTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notEqualsArrayTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _equalsarray = require("../equals/equals-array");
|
|
9
|
+
const _not = require("../not/not");
|
|
10
|
+
const notEqualsArrayTransform = (query)=>{
|
|
11
|
+
const { values } = query;
|
|
12
|
+
if (!values || values.length === 0) {
|
|
13
|
+
throw new Error('Equals filter must have at least one value');
|
|
14
|
+
}
|
|
15
|
+
const notWrapper = (0, _not.notDuckdbCondition)();
|
|
16
|
+
const equalsCondition = (0, _equalsarray.equalsArrayTransform)(query);
|
|
17
|
+
/**
|
|
18
|
+
* We need to wrap the equals condition in a not condition
|
|
19
|
+
* Which basically means ! of ANY of the values
|
|
20
|
+
*/ notWrapper.children = [
|
|
21
|
+
equalsCondition
|
|
22
|
+
];
|
|
23
|
+
return notWrapper;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=not-equals-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals-array.ts"],"sourcesContent":["import { equalsArrayTransform } from '../equals/equals-array';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { notDuckdbCondition } from '../not/not';\n\nexport const notEqualsArrayTransform: CubeToParseExpressionTransform = (\n query\n) => {\n const { values } = query;\n\n if (!values || values.length === 0) {\n throw new Error('Equals filter must have at least one value');\n }\n\n const notWrapper = notDuckdbCondition();\n const equalsCondition = equalsArrayTransform(query);\n /**\n * We need to wrap the equals condition in a not condition\n * Which basically means ! of ANY of the values\n */\n notWrapper.children = [equalsCondition];\n\n return notWrapper;\n};\n"],"names":["notEqualsArrayTransform","query","values","length","Error","notWrapper","notDuckdbCondition","equalsCondition","equalsArrayTransform","children"],"mappings":";+BAIaA;;;eAAAA;;;6BAJwB;qBAEF;AAE5B,MAAMA,0BAA0D,CACrEC;IAEA,MAAM,EAAEC,MAAM,EAAE,GAAGD;IAEnB,IAAI,CAACC,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,aAAaC,IAAAA,uBAAkB;IACrC,MAAMC,kBAAkBC,IAAAA,iCAAoB,EAACP;IAC7C;;;GAGC,GACDI,WAAWI,QAAQ,GAAG;QAACF;KAAgB;IAEvC,OAAOF;AACT"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Member, QueryFilter } from '../../types/cube-types/query';
|
|
2
|
+
import { CubeToParseExpressionTransform } from '../factory';
|
|
3
|
+
export interface NotEqualsFilters extends QueryFilter {
|
|
4
|
+
member: Member;
|
|
5
|
+
operator: 'notEquals';
|
|
6
|
+
values: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare const notEqualsTransform: CubeToParseExpressionTransform;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notEqualsTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notEqualsTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const _isarraymembertype = require("../../utils/is-array-member-type");
|
|
10
|
+
const _baseconditionbuilder = require("../base-condition-builder/base-condition-builder");
|
|
11
|
+
const _or = require("../or/or");
|
|
12
|
+
const _notequalsarray = require("./not-equals-array");
|
|
13
|
+
const notEqualsTransform = (query)=>{
|
|
14
|
+
const { member, values } = query;
|
|
15
|
+
if (!values || values.length === 0) {
|
|
16
|
+
throw new Error('Equals filter must have at least one value');
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* If the member is an array, we need to use the array transform
|
|
20
|
+
*/ if ((0, _isarraymembertype.isArrayTypeMember)(query.memberInfo.type)) {
|
|
21
|
+
return (0, _notequalsarray.notEqualsArrayTransform)(query);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* If there is only one value, we can create a simple equals condition
|
|
25
|
+
*/ if (values.length === 1) {
|
|
26
|
+
return (0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_NOTEQUAL, values[0], query.memberInfo);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* If there are multiple values, we need to create an OR condition
|
|
30
|
+
*/ const orCondition = (0, _or.orDuckdbCondition)();
|
|
31
|
+
values.forEach((value)=>{
|
|
32
|
+
orCondition.children.push((0, _baseconditionbuilder.baseDuckdbCondition)(member, _Expression.ExpressionType.COMPARE_NOTEQUAL, value, query.memberInfo));
|
|
33
|
+
});
|
|
34
|
+
return orCondition;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=not-equals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-equals/not-equals.ts"],"sourcesContent":["import { Member, QueryFilter } from '../../types/cube-types/query';\nimport { ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { isArrayTypeMember } from '../../utils/is-array-member-type';\nimport { baseDuckdbCondition } from '../base-condition-builder/base-condition-builder';\nimport { CubeToParseExpressionTransform } from '../factory';\nimport { orDuckdbCondition } from '../or/or';\nimport { notEqualsArrayTransform } from './not-equals-array';\n\nexport interface NotEqualsFilters extends QueryFilter {\n member: Member;\n operator: 'notEquals';\n values: string[];\n}\n\nexport const notEqualsTransform: CubeToParseExpressionTransform = (query) => {\n const { member, values } = query;\n\n if (!values || values.length === 0) {\n throw new Error('Equals filter must have at least one value');\n }\n\n /**\n * If the member is an array, we need to use the array transform\n */\n if (isArrayTypeMember(query.memberInfo.type)) {\n return notEqualsArrayTransform(query);\n }\n\n /**\n * If there is only one value, we can create a simple equals condition\n */\n if (values.length === 1) {\n return baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_NOTEQUAL,\n values[0],\n query.memberInfo\n );\n }\n\n /**\n * If there are multiple values, we need to create an OR condition\n */\n const orCondition = orDuckdbCondition();\n values.forEach((value) => {\n orCondition.children.push(\n baseDuckdbCondition(\n member,\n ExpressionType.COMPARE_NOTEQUAL,\n value,\n query.memberInfo\n )\n );\n });\n return orCondition;\n};\n"],"names":["notEqualsTransform","query","member","values","length","Error","isArrayTypeMember","memberInfo","type","notEqualsArrayTransform","baseDuckdbCondition","ExpressionType","COMPARE_NOTEQUAL","orCondition","orDuckdbCondition","forEach","value","children","push"],"mappings":";+BAcaA;;;eAAAA;;;4BAbkB;mCACG;sCACE;oBAEF;gCACM;AAQjC,MAAMA,qBAAqD,CAACC;IACjE,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE,GAAGF;IAE3B,IAAI,CAACE,UAAUA,OAAOC,MAAM,KAAK,GAAG;QAClC,MAAM,IAAIC,MAAM;IAClB;IAEA;;GAEC,GACD,IAAIC,IAAAA,oCAAiB,EAACL,MAAMM,UAAU,CAACC,IAAI,GAAG;QAC5C,OAAOC,IAAAA,uCAAuB,EAACR;IACjC;IAEA;;GAEC,GACD,IAAIE,OAAOC,MAAM,KAAK,GAAG;QACvB,OAAOM,IAAAA,yCAAmB,EACxBR,QACAS,0BAAc,CAACC,gBAAgB,EAC/BT,MAAM,CAAC,EAAE,EACTF,MAAMM,UAAU;IAEpB;IAEA;;GAEC,GACD,MAAMM,cAAcC,IAAAA,qBAAiB;IACrCX,OAAOY,OAAO,CAAC,CAACC;QACdH,YAAYI,QAAQ,CAACC,IAAI,CACvBR,IAAAA,yCAAmB,EACjBR,QACAS,0BAAc,CAACC,gBAAgB,EAC/BI,OACAf,MAAMM,UAAU;IAGtB;IACA,OAAOM;AACT"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notInTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notInTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const _baseconditionbuilder = require("../base-condition-builder/base-condition-builder");
|
|
10
|
+
const notInDuckDbCondition = (columnName, values, memberInfo)=>{
|
|
11
|
+
const sqlTreeValues = values.map((value)=>{
|
|
12
|
+
return {
|
|
13
|
+
class: _Expression.ExpressionClass.CONSTANT,
|
|
14
|
+
type: _Expression.ExpressionType.VALUE_CONSTANT,
|
|
15
|
+
alias: "",
|
|
16
|
+
value: (0, _baseconditionbuilder.valueBuilder)(value, memberInfo)
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
const columnRef = {
|
|
20
|
+
class: "COLUMN_REF",
|
|
21
|
+
type: "COLUMN_REF",
|
|
22
|
+
alias: "",
|
|
23
|
+
column_names: columnName.split('.')
|
|
24
|
+
};
|
|
25
|
+
switch(memberInfo.type){
|
|
26
|
+
case 'number_array':
|
|
27
|
+
case 'string_array':
|
|
28
|
+
{
|
|
29
|
+
return {
|
|
30
|
+
class: _Expression.ExpressionClass.OPERATOR,
|
|
31
|
+
type: _Expression.ExpressionType.OPERATOR_NOT,
|
|
32
|
+
alias: "",
|
|
33
|
+
children: [
|
|
34
|
+
{
|
|
35
|
+
"class": _Expression.ExpressionClass.FUNCTION,
|
|
36
|
+
"type": _Expression.ExpressionType.FUNCTION,
|
|
37
|
+
"alias": "",
|
|
38
|
+
"function_name": "&&",
|
|
39
|
+
"schema": "",
|
|
40
|
+
"children": [
|
|
41
|
+
columnRef,
|
|
42
|
+
{
|
|
43
|
+
class: _Expression.ExpressionClass.OPERATOR,
|
|
44
|
+
type: _Expression.ExpressionType.ARRAY_CONSTRUCTOR,
|
|
45
|
+
alias: "",
|
|
46
|
+
children: sqlTreeValues
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"filter": null,
|
|
50
|
+
"order_bys": {
|
|
51
|
+
"type": "ORDER_MODIFIER",
|
|
52
|
+
"orders": []
|
|
53
|
+
},
|
|
54
|
+
"distinct": false,
|
|
55
|
+
"is_operator": true,
|
|
56
|
+
"export_state": false,
|
|
57
|
+
"catalog": ""
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
default:
|
|
63
|
+
{
|
|
64
|
+
return {
|
|
65
|
+
class: _Expression.ExpressionClass.OPERATOR,
|
|
66
|
+
type: _Expression.ExpressionType.COMPARE_NOT_IN,
|
|
67
|
+
alias: "",
|
|
68
|
+
children: [
|
|
69
|
+
columnRef,
|
|
70
|
+
...sqlTreeValues
|
|
71
|
+
]
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const notInTransform = (query)=>{
|
|
77
|
+
const { member, values, memberInfo } = query;
|
|
78
|
+
if (!values) {
|
|
79
|
+
throw new Error('Not in filter must have at least one value');
|
|
80
|
+
}
|
|
81
|
+
return notInDuckDbCondition(member, values, memberInfo);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=not-in.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-in/not-in.ts"],"sourcesContent":["import { Dimension, Measure } from '../../types/cube-types/table';\nimport { CubeToParseExpressionTransform } from \"../factory\";\n\n\nimport {\n ExpressionClass,\n ExpressionType\n} from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { valueBuilder } from \"../base-condition-builder/base-condition-builder\";\n\n\nconst notInDuckDbCondition = (\n columnName: string,\n values: string[],\n memberInfo: Measure | Dimension\n) => {\n const sqlTreeValues = values.map((value) => {\n return {\n class: ExpressionClass.CONSTANT,\n type: ExpressionType.VALUE_CONSTANT,\n alias: \"\",\n value: valueBuilder(value, memberInfo)\n }\n })\n const columnRef = {\n class: \"COLUMN_REF\",\n type: \"COLUMN_REF\",\n alias: \"\",\n column_names: columnName.split('.')\n }\n switch (memberInfo.type) {\n case 'number_array':\n case 'string_array': {\n return {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_NOT,\n alias: \"\",\n children: [{\n \"class\": ExpressionClass.FUNCTION,\n \"type\": ExpressionType.FUNCTION,\n \"alias\": \"\",\n \"function_name\": \"&&\",\n \"schema\": \"\",\n \"children\": [\n columnRef,\n {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.ARRAY_CONSTRUCTOR,\n alias: \"\",\n children: sqlTreeValues,\n }\n ],\n \"filter\": null,\n \"order_bys\": {\n \"type\": \"ORDER_MODIFIER\",\n \"orders\": []\n },\n \"distinct\": false,\n \"is_operator\": true,\n \"export_state\": false,\n \"catalog\": \"\"\n }]\n }\n }\n default: {\n return {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.COMPARE_NOT_IN,\n alias: \"\",\n children: [\n columnRef,\n ...sqlTreeValues\n ]\n }\n }\n }\n \n}\n\n\nexport const notInTransform: CubeToParseExpressionTransform = (query) => {\n const { member, values, memberInfo } = query;\n if (!values) {\n throw new Error('Not in filter must have at least one value');\n }\n\n return notInDuckDbCondition(member, values, memberInfo);\n}\n"],"names":["notInTransform","notInDuckDbCondition","columnName","values","memberInfo","sqlTreeValues","map","value","class","ExpressionClass","CONSTANT","type","ExpressionType","VALUE_CONSTANT","alias","valueBuilder","columnRef","column_names","split","OPERATOR","OPERATOR_NOT","children","FUNCTION","ARRAY_CONSTRUCTOR","COMPARE_NOT_IN","query","member","Error"],"mappings":";+BAgFaA;;;eAAAA;;;4BAzEN;sCACsB;AAG7B,MAAMC,uBAAuB,CACzBC,YACAC,QACAC;IAEA,MAAMC,gBAAgBF,OAAOG,GAAG,CAAC,CAACC;QAC9B,OAAO;YACHC,OAAOC,2BAAe,CAACC,QAAQ;YAC/BC,MAAMC,0BAAc,CAACC,cAAc;YACnCC,OAAO;YACPP,OAAOQ,IAAAA,kCAAY,EAACR,OAAOH;QAC/B;IACJ;IACA,MAAMY,YAAY;QACdR,OAAO;QACPG,MAAM;QACNG,OAAO;QACPG,cAAcf,WAAWgB,KAAK,CAAC;IACnC;IACA,OAAQd,WAAWO,IAAI;QACnB,KAAK;QACL,KAAK;YAAgB;gBACjB,OAAO;oBACHH,OAAOC,2BAAe,CAACU,QAAQ;oBAC/BR,MAAMC,0BAAc,CAACQ,YAAY;oBACjCN,OAAO;oBACPO,UAAU;wBAAC;4BACP,SAASZ,2BAAe,CAACa,QAAQ;4BACjC,QAAQV,0BAAc,CAACU,QAAQ;4BAC/B,SAAS;4BACT,iBAAiB;4BACjB,UAAU;4BACV,YAAY;gCACRN;gCACA;oCACIR,OAAOC,2BAAe,CAACU,QAAQ;oCAC/BR,MAAMC,0BAAc,CAACW,iBAAiB;oCACtCT,OAAO;oCACPO,UAAUhB;gCACd;6BACH;4BACD,UAAU;4BACV,aAAa;gCACT,QAAQ;gCACR,UAAU,EAAE;4BAChB;4BACA,YAAY;4BACZ,eAAe;4BACf,gBAAgB;4BAChB,WAAW;wBACf;qBAAE;gBACN;YACJ;QACA;YAAS;gBACL,OAAO;oBACHG,OAAOC,2BAAe,CAACU,QAAQ;oBAC/BR,MAAMC,0BAAc,CAACY,cAAc;oBACnCV,OAAO;oBACPO,UAAU;wBACNL;2BACGX;qBACN;gBACL;YACJ;IACJ;AAEJ;AAGO,MAAML,iBAAiD,CAACyB;IAC7D,MAAM,EAAEC,MAAM,EAAEvB,MAAM,EAAEC,UAAU,EAAE,GAAGqB;IACvC,IAAI,CAACtB,QAAQ;QACX,MAAM,IAAIwB,MAAM;IAClB;IAEA,OAAO1B,qBAAqByB,QAAQvB,QAAQC;AAC9C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "notSetTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return notSetTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const notSetTransform = (query)=>{
|
|
10
|
+
const { member } = query;
|
|
11
|
+
return {
|
|
12
|
+
class: _Expression.ExpressionClass.OPERATOR,
|
|
13
|
+
type: _Expression.ExpressionType.OPERATOR_IS_NULL,
|
|
14
|
+
alias: "",
|
|
15
|
+
children: [
|
|
16
|
+
{
|
|
17
|
+
class: "COLUMN_REF",
|
|
18
|
+
type: "COLUMN_REF",
|
|
19
|
+
alias: "",
|
|
20
|
+
column_names: member.split('.')
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=not-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/not-set/not-set.ts"],"sourcesContent":["import { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { CubeToParseExpressionTransform } from \"../factory\";\n\nexport const notSetTransform: CubeToParseExpressionTransform = (query) => {\n const { member } = query;\n return {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_IS_NULL,\n alias: \"\",\n children: [\n {\n class: \"COLUMN_REF\",\n type: \"COLUMN_REF\",\n alias: \"\",\n column_names: member.split('.')\n }\n ]\n }\n}"],"names":["notSetTransform","query","member","class","ExpressionClass","OPERATOR","type","ExpressionType","OPERATOR_IS_NULL","alias","children","column_names","split"],"mappings":";+BAGaA;;;eAAAA;;;4BAHmC;AAGzC,MAAMA,kBAAkD,CAACC;IAC5D,MAAM,EAAEC,MAAM,EAAE,GAAGD;IACnB,OAAO;QACHE,OAAOC,2BAAe,CAACC,QAAQ;QAC/BC,MAAMC,0BAAc,CAACC,gBAAgB;QACrCC,OAAO;QACPC,UAAU;YACN;gBACIP,OAAO;gBACPG,MAAM;gBACNG,OAAO;gBACPE,cAAcT,OAAOU,KAAK,CAAC;YAC/B;SACH;IACL;AACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "orDuckdbCondition", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return orDuckdbCondition;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const orDuckdbCondition = ()=>{
|
|
10
|
+
return {
|
|
11
|
+
class: _Expression.ExpressionClass.CONJUNCTION,
|
|
12
|
+
type: _Expression.ExpressionType.CONJUNCTION_OR,
|
|
13
|
+
alias: '',
|
|
14
|
+
children: []
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=or.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/or/or.ts"],"sourcesContent":["import { ConjunctionExpression } from '../../types/duckdb-serialization-types/serialization/ParsedExpression';\nimport { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\n\nexport const orDuckdbCondition = (): ConjunctionExpression => {\n return {\n class: ExpressionClass.CONJUNCTION,\n type: ExpressionType.CONJUNCTION_OR,\n alias: '',\n children: [],\n };\n};\n"],"names":["orDuckdbCondition","class","ExpressionClass","CONJUNCTION","type","ExpressionType","CONJUNCTION_OR","alias","children"],"mappings":";+BAGaA;;;eAAAA;;;4BAFmC;AAEzC,MAAMA,oBAAoB;IAC/B,OAAO;QACLC,OAAOC,2BAAe,CAACC,WAAW;QAClCC,MAAMC,0BAAc,CAACC,cAAc;QACnCC,OAAO;QACPC,UAAU,EAAE;IACd;AACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "setTransform", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return setTransform;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const setTransform = (query)=>{
|
|
10
|
+
const { member } = query;
|
|
11
|
+
return {
|
|
12
|
+
class: _Expression.ExpressionClass.OPERATOR,
|
|
13
|
+
type: _Expression.ExpressionType.OPERATOR_IS_NOT_NULL,
|
|
14
|
+
alias: "",
|
|
15
|
+
children: [
|
|
16
|
+
{
|
|
17
|
+
class: "COLUMN_REF",
|
|
18
|
+
type: "COLUMN_REF",
|
|
19
|
+
alias: "",
|
|
20
|
+
column_names: member.split('.')
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../meerkat-core/src/cube-filter-transformer/set/set.ts"],"sourcesContent":["import { ExpressionClass, ExpressionType } from '../../types/duckdb-serialization-types/serialization/Expression';\nimport { CubeToParseExpressionTransform } from \"../factory\";\n\nexport const setTransform: CubeToParseExpressionTransform = (query) => {\n const { member } = query;\n return {\n class: ExpressionClass.OPERATOR,\n type: ExpressionType.OPERATOR_IS_NOT_NULL,\n alias: \"\",\n children: [\n {\n class: \"COLUMN_REF\",\n type: \"COLUMN_REF\",\n alias: \"\",\n column_names: member.split('.')\n }\n ]\n }\n}"],"names":["setTransform","query","member","class","ExpressionClass","OPERATOR","type","ExpressionType","OPERATOR_IS_NOT_NULL","alias","children","column_names","split"],"mappings":";+BAGaA;;;eAAAA;;;4BAHmC;AAGzC,MAAMA,eAA+C,CAACC;IACzD,MAAM,EAAEC,MAAM,EAAE,GAAGD;IACnB,OAAO;QACHE,OAAOC,2BAAe,CAACC,QAAQ;QAC/BC,MAAMC,0BAAc,CAACC,oBAAoB;QACzCC,OAAO;QACPC,UAAU;YACN;gBACIP,OAAO;gBACPG,MAAM;gBACNG,OAAO;gBACPE,cAAcT,OAAOU,KAAK,CAAC;YAC/B;SACH;IACL;AACJ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Member } from '../types/cube-types/query';
|
|
2
|
+
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
3
|
+
export declare const cubeDimensionToGroupByAST: (dimensions: Member[]) => {
|
|
4
|
+
class: ExpressionClass;
|
|
5
|
+
type: ExpressionType;
|
|
6
|
+
alias: string;
|
|
7
|
+
column_names: string[];
|
|
8
|
+
}[];
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "cubeDimensionToGroupByAST", {
|
|
3
|
+
enumerable: true,
|
|
4
|
+
get: function() {
|
|
5
|
+
return cubeDimensionToGroupByAST;
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
const _Expression = require("../types/duckdb-serialization-types/serialization/Expression");
|
|
9
|
+
const _memberkeytosafekey = require("../utils/member-key-to-safe-key");
|
|
10
|
+
const cubeDimensionToGroupByAST = (dimensions)=>{
|
|
11
|
+
const groupByAST = dimensions.map((dimension)=>{
|
|
12
|
+
const dimensionAST = {
|
|
13
|
+
class: _Expression.ExpressionClass.COLUMN_REF,
|
|
14
|
+
type: _Expression.ExpressionType.COLUMN_REF,
|
|
15
|
+
alias: '',
|
|
16
|
+
column_names: [
|
|
17
|
+
(0, _memberkeytosafekey.memberKeyToSafeKey)(dimension)
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
return dimensionAST;
|
|
21
|
+
});
|
|
22
|
+
return groupByAST;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=cube-group-by-transformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../meerkat-core/src/cube-group-by-transformer/cube-group-by-transformer.ts"],"sourcesContent":["import { Member } from '../types/cube-types/query';\nimport {\n ExpressionClass,\n ExpressionType,\n} from '../types/duckdb-serialization-types/serialization/Expression';\nimport { memberKeyToSafeKey } from '../utils/member-key-to-safe-key';\n\nexport const cubeDimensionToGroupByAST = (dimensions: Member[]) => {\n const groupByAST = dimensions.map((dimension) => {\n const dimensionAST = {\n class: ExpressionClass.COLUMN_REF,\n type: ExpressionType.COLUMN_REF,\n alias: '',\n column_names: [memberKeyToSafeKey(dimension)],\n };\n\n return dimensionAST;\n });\n\n return groupByAST;\n};\n"],"names":["cubeDimensionToGroupByAST","dimensions","groupByAST","map","dimension","dimensionAST","class","ExpressionClass","COLUMN_REF","type","ExpressionType","alias","column_names","memberKeyToSafeKey"],"mappings":";+BAOaA;;;eAAAA;;;4BAHN;oCAC4B;AAE5B,MAAMA,4BAA4B,CAACC;IACxC,MAAMC,aAAaD,WAAWE,GAAG,CAAC,CAACC;QACjC,MAAMC,eAAe;YACnBC,OAAOC,2BAAe,CAACC,UAAU;YACjCC,MAAMC,0BAAc,CAACF,UAAU;YAC/BG,OAAO;YACPC,cAAc;gBAACC,IAAAA,sCAAkB,EAACT;aAAW;QAC/C;QAEA,OAAOC;IACT;IAEA,OAAOH;AACT"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ExpressionClass, ExpressionType } from '../types/duckdb-serialization-types/serialization/Expression';
|
|
2
|
+
import { ResultModifierType } from '../types/duckdb-serialization-types/serialization/ResultModifier';
|
|
3
|
+
export declare const cubeLimitOffsetToAST: (limit?: number | null, offset?: number | null) => {
|
|
4
|
+
type: ResultModifierType;
|
|
5
|
+
limit: {
|
|
6
|
+
class: ExpressionClass;
|
|
7
|
+
type: ExpressionType;
|
|
8
|
+
alias: string;
|
|
9
|
+
value: {
|
|
10
|
+
type: {
|
|
11
|
+
id: string;
|
|
12
|
+
type_info: null;
|
|
13
|
+
};
|
|
14
|
+
is_null: boolean;
|
|
15
|
+
value: number;
|
|
16
|
+
};
|
|
17
|
+
} | null;
|
|
18
|
+
offset: {
|
|
19
|
+
class: ExpressionClass;
|
|
20
|
+
type: ExpressionType;
|
|
21
|
+
alias: string;
|
|
22
|
+
value: {
|
|
23
|
+
type: {
|
|
24
|
+
id: string;
|
|
25
|
+
type_info: null;
|
|
26
|
+
};
|
|
27
|
+
is_null: boolean;
|
|
28
|
+
value: number;
|
|
29
|
+
};
|
|
30
|
+
} | null;
|
|
31
|
+
};
|