@finos/legend-query-builder 4.16.7 → 4.16.9

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.
Files changed (44) hide show
  1. package/lib/graph/QueryBuilderMetaModelConst.d.ts +1 -0
  2. package/lib/graph/QueryBuilderMetaModelConst.d.ts.map +1 -1
  3. package/lib/graph/QueryBuilderMetaModelConst.js +1 -0
  4. package/lib/graph/QueryBuilderMetaModelConst.js.map +1 -1
  5. package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +5 -2
  6. package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
  7. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts +3 -1
  8. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
  9. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +99 -2
  10. package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
  11. package/lib/index.css +1 -1
  12. package/lib/package.json +5 -5
  13. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  14. package/lib/stores/QueryBuilderStateBuilder.js +21 -2
  15. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  16. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.d.ts +19 -0
  17. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.d.ts.map +1 -0
  18. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.js +98 -0
  19. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.js.map +1 -0
  20. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.d.ts +21 -0
  21. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.d.ts.map +1 -0
  22. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.js +102 -0
  23. package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.js.map +1 -0
  24. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
  25. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +9 -3
  26. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
  27. package/lib/stores/fetch-structure/tds/projection/{QueryBuilderRelationProjectValueSpecBuidler.d.ts → QueryBuilderRelationProjectValueSpecBuilder.d.ts} +1 -1
  28. package/lib/stores/fetch-structure/tds/projection/{QueryBuilderRelationProjectValueSpecBuidler.d.ts.map → QueryBuilderRelationProjectValueSpecBuilder.d.ts.map} +1 -1
  29. package/lib/stores/fetch-structure/tds/projection/{QueryBuilderRelationProjectValueSpecBuidler.js → QueryBuilderRelationProjectValueSpecBuilder.js} +1 -1
  30. package/lib/stores/fetch-structure/tds/projection/{QueryBuilderRelationProjectValueSpecBuidler.js.map → QueryBuilderRelationProjectValueSpecBuilder.js.map} +1 -1
  31. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.d.ts.map +1 -1
  32. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js +8 -9
  33. package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js.map +1 -1
  34. package/package.json +15 -15
  35. package/src/graph/QueryBuilderMetaModelConst.ts +1 -0
  36. package/src/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +4 -4
  37. package/src/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +223 -2
  38. package/src/stores/QueryBuilderStateBuilder.ts +40 -8
  39. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.ts +196 -0
  40. package/src/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.ts +253 -0
  41. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +11 -3
  42. package/src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts +8 -9
  43. package/tsconfig.json +3 -1
  44. /package/src/stores/fetch-structure/tds/projection/{QueryBuilderRelationProjectValueSpecBuidler.ts → QueryBuilderRelationProjectValueSpecBuilder.ts} +0 -0
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ColSpecArray, extractElementNameFromPath, SimpleFunctionExpression, ColSpecArrayInstance, Multiplicity, ColSpec, GenericType, GenericTypeExplicitReference, Relation, RelationColumn, RelationType, LambdaFunctionInstanceValue, AbstractPropertyExpression, PropertyExplicitReference, Property, VariableExpression, } from '@finos/legend-graph';
17
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../graph/QueryBuilderMetaModelConst.js';
18
+ import { buildGenericLambdaFunctionInstanceValue } from '../../../QueryBuilderValueSpecificationHelper.js';
19
+ import { guaranteeNonNullable, guaranteeType, UnsupportedOperationError, } from '@finos/legend-shared';
20
+ import { DEFAULT_LAMBDA_VARIABLE_NAME } from '@finos/legend-data-cube';
21
+ export const buildRelationAggregation = (precedingExpression, tdsState) => {
22
+ // Verify that preceding expression is a relation project
23
+ const projectFunction = guaranteeType(precedingExpression, SimpleFunctionExpression);
24
+ if (projectFunction.functionName !==
25
+ extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_PROJECT)) {
26
+ throw new UnsupportedOperationError(`Can't build relation groupBy() expression: previous expression must be project() column expression`);
27
+ }
28
+ // Build groupBy() expression
29
+ const groupByFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_GROUP_BY));
30
+ const queryBuilderState = tdsState.queryBuilderState;
31
+ // Build normal (grouped) columns
32
+ const groupByCols = new ColSpecArrayInstance(Multiplicity.ONE, undefined);
33
+ const groupByColSpecArray = new ColSpecArray();
34
+ groupByCols.values = [groupByColSpecArray];
35
+ // Build aggregation columns
36
+ const aggregationCols = new ColSpecArrayInstance(Multiplicity.ONE, undefined);
37
+ const aggregationColSpecArray = new ColSpecArray();
38
+ aggregationCols.values = [aggregationColSpecArray];
39
+ // Build relation return type
40
+ const relationType = new RelationType(RelationType.ID);
41
+ // Add normal (non-aggregated) columns to groupByCols
42
+ tdsState.projectionColumns
43
+ .filter((projectionColumnState) => !tdsState.aggregationState.columns.some((aggregationColumnState) => aggregationColumnState.projectionColumnState ===
44
+ projectionColumnState))
45
+ .forEach((projectionColumnState) => {
46
+ // Create and add column to groupByColSpecArray
47
+ const colSpec = new ColSpec();
48
+ colSpec.name = projectionColumnState.columnName;
49
+ groupByColSpecArray.colSpecs.push(colSpec);
50
+ // Add column return type to relationType
51
+ const returnType = guaranteeNonNullable(projectionColumnState.getColumnType(), `Can't create value spec for projection column ${projectionColumnState.columnName}. Missing type.`);
52
+ relationType.columns.push(new RelationColumn(projectionColumnState.columnName, returnType));
53
+ });
54
+ // Add aggregation columns to aggregationCols
55
+ tdsState.aggregationState.columns.forEach((aggregationColumnState) => {
56
+ // Create and add column to aggregationColSpecArray
57
+ const colSpec = new ColSpec();
58
+ colSpec.name = aggregationColumnState.columnName;
59
+ aggregationColSpecArray.colSpecs.push(colSpec);
60
+ // Build map function (function1)
61
+ // First, get the ColSpec from the preceding projection so we can get the name of the projected column.
62
+ const projectionColSpec = guaranteeNonNullable(guaranteeNonNullable(projectFunction.parametersValues[1].values[0], 'Could not find ColSpec array in project() function first parameter').colSpecs.find((_colSpec) => _colSpec.name === aggregationColumnState.columnName), `Could not find projected column matching aggregation column '${aggregationColumnState.columnName}'`);
63
+ const projectedPropertyExpression = guaranteeType(guaranteeType(projectionColSpec.function1, LambdaFunctionInstanceValue)
64
+ .values[0]?.expressionSequence[0], AbstractPropertyExpression);
65
+ const projectedProperty = guaranteeType(projectedPropertyExpression.func.value, Property);
66
+ // Second, build a new AbstractPropertyExpression for our map function
67
+ const newPropertyExpression = new AbstractPropertyExpression('');
68
+ newPropertyExpression.func = PropertyExplicitReference.create(new Property(projectionColSpec.name, projectedProperty.multiplicity, projectedProperty.genericType, projectedProperty._OWNER));
69
+ newPropertyExpression.parametersValues = [
70
+ new VariableExpression(DEFAULT_LAMBDA_VARIABLE_NAME, Multiplicity.ONE),
71
+ ];
72
+ const mapLambda = buildGenericLambdaFunctionInstanceValue(DEFAULT_LAMBDA_VARIABLE_NAME, [newPropertyExpression], queryBuilderState.graphManagerState.graph);
73
+ colSpec.function1 = mapLambda;
74
+ // Reduce function (function2)
75
+ const reduceLambda = buildGenericLambdaFunctionInstanceValue(aggregationColumnState.lambdaParameterName, [
76
+ aggregationColumnState.operator.buildAggregateExpressionFromState(aggregationColumnState),
77
+ ], aggregationColumnState.aggregationState.tdsState.queryBuilderState
78
+ .graphManagerState.graph);
79
+ colSpec.function2 = reduceLambda;
80
+ // Add column return type to relationType
81
+ const returnType = guaranteeNonNullable(aggregationColumnState.getColumnType(), `Can't create value spec for aggregation column ${aggregationColumnState.columnName}. Missing type.`);
82
+ relationType.columns.push(new RelationColumn(aggregationColumnState.columnName, returnType));
83
+ });
84
+ groupByFunction.parametersValues = [
85
+ precedingExpression,
86
+ groupByCols,
87
+ aggregationCols,
88
+ ];
89
+ const relationGenericType = new GenericType(Relation.INSTANCE);
90
+ const relationTypeGenericType = new GenericType(relationType);
91
+ relationGenericType.typeArguments = [
92
+ GenericTypeExplicitReference.create(relationTypeGenericType),
93
+ ];
94
+ groupByFunction.genericType =
95
+ GenericTypeExplicitReference.create(relationGenericType);
96
+ return groupByFunction;
97
+ };
98
+ //# sourceMappingURL=QueryBuilderRelationAggregationValueSpecBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderRelationAggregationValueSpecBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/aggregation/QueryBuilderRelationAggregationValueSpecBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type ColSpec, type LambdaFunction, SimpleFunctionExpression } from '@finos/legend-graph';
17
+ import { type QueryBuilderState } from '../../../QueryBuilderState.js';
18
+ export declare const processTypedAggregationColSpec: (colSpec: ColSpec, parentExpression: SimpleFunctionExpression | undefined, queryBuilderState: QueryBuilderState) => void;
19
+ export declare const processTypedGroupByExpression: (expression: SimpleFunctionExpression, queryBuilderState: QueryBuilderState, parentLambda: LambdaFunction) => void;
20
+ export declare const isTypedGroupByExpression: (expression: SimpleFunctionExpression) => boolean;
21
+ //# sourceMappingURL=QueryBuilderTypedAggregationStateBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderTypedAggregationStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EAKnB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAMvC,eAAO,MAAM,8BAA8B,YAChC,OAAO,oBACE,wBAAwB,GAAG,SAAS,qBACnC,iBAAiB,KACnC,IAuHF,CAAC;AAEF,eAAO,MAAM,6BAA6B,eAC5B,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IAiEF,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,wBAAwB,KACnC,OAWF,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { ColSpecArrayInstance, LambdaFunctionInstanceValue, matchFunctionName, RelationType, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
17
+ import { assertTrue, assertType, guaranteeNonNullable, guaranteeType, returnUndefOnError, UnsupportedOperationError, } from '@finos/legend-shared';
18
+ import { QUERY_BUILDER_LAMBDA_WRITER_MODE, } from '../../../QueryBuilderState.js';
19
+ import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../graph/QueryBuilderMetaModelConst.js';
20
+ import { QueryBuilderValueSpecificationProcessor } from '../../../QueryBuilderStateBuilder.js';
21
+ import { QueryBuilderTDSState } from '../QueryBuilderTDSState.js';
22
+ import { QueryBuilderAggregateOperator_Wavg } from './operators/QueryBuilderAggregateOperator_Wavg.js';
23
+ export const processTypedAggregationColSpec = (colSpec, parentExpression, queryBuilderState) => {
24
+ // check parent expression
25
+ assertTrue(Boolean(parentExpression &&
26
+ matchFunctionName(parentExpression.functionName, QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_GROUP_BY)), `Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression`);
27
+ // Check that there are 2 lambdas, one for map and one for reduce
28
+ const mapLambdaFunctionInstance = guaranteeType(colSpec.function1, LambdaFunctionInstanceValue, `Can't process colSpec: function1 is not a lambda function instance value`);
29
+ assertTrue(mapLambdaFunctionInstance.values.length === 1, `Can't process typed aggregation ColSpec. function1 should only have 1 lambda value.`);
30
+ assertTrue(guaranteeNonNullable(mapLambdaFunctionInstance.values[0]).expressionSequence
31
+ .length === 1, `Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.`);
32
+ const reduceLambdaFunctionInstance = guaranteeType(colSpec.function2, LambdaFunctionInstanceValue, `Can't process colSpec: function2 is not a lambda function instance value`);
33
+ // build state
34
+ if (queryBuilderState.fetchStructureState.implementation instanceof
35
+ QueryBuilderTDSState) {
36
+ const tdsState = queryBuilderState.fetchStructureState.implementation;
37
+ const aggregationState = tdsState.aggregationState;
38
+ const projectionColumnState = guaranteeNonNullable(tdsState.projectionColumns.find((projectionColumn) => projectionColumn.columnName === colSpec.name), `Projection column with name ${colSpec.name} not found`);
39
+ const reduceLambdaFunction = guaranteeNonNullable(reduceLambdaFunctionInstance.values[0], `Can't process colSpec: function2 lambda function is missing`);
40
+ assertTrue(reduceLambdaFunction.expressionSequence.length === 1, `Can't process colSpec: only support colSpec function2 lambda body with 1 expression`);
41
+ assertTrue(reduceLambdaFunction.functionType.parameters.length === 1, `Can't process colSpec function2 lambda: only support lambda with 1 parameter`);
42
+ const reduceFunctionExpression = guaranteeType(reduceLambdaFunction.expressionSequence[0], SimpleFunctionExpression, `Can't process colSpec: only support colSpec function2 lambda body with 1 expression`);
43
+ const lambdaParam = guaranteeType(reduceLambdaFunction.functionType.parameters[0], VariableExpression, `Can't process colSpec function2 lambda: parameter is missing`);
44
+ for (const operator of aggregationState.operators) {
45
+ // NOTE: this allow plugin author to either return `undefined` or throw error
46
+ // if there is a problem with building the lambda. Either case, the plugin is
47
+ // considered as not supporting the lambda.
48
+ const aggregateColumnState = returnUndefOnError(() => operator.buildAggregateColumnState(reduceFunctionExpression, lambdaParam, projectionColumnState));
49
+ if (projectionColumnState.wavgWeight &&
50
+ aggregateColumnState &&
51
+ aggregateColumnState.operator instanceof
52
+ QueryBuilderAggregateOperator_Wavg) {
53
+ aggregateColumnState.operator.setWeight(projectionColumnState.wavgWeight);
54
+ }
55
+ if (aggregateColumnState) {
56
+ aggregationState.addColumn(aggregateColumnState);
57
+ // Update parent groupBy() expression's return type with this column's return type
58
+ // (a temporary return type was set when we processed the groupBy() protocol)
59
+ const parentGroupByRelationType = guaranteeType(parentExpression?.genericType?.value.typeArguments?.[0]?.value
60
+ .rawType, RelationType, `Can't process colSpec: parent groupBy() expression's return type is not a relation`);
61
+ const relationTypeColumn = guaranteeNonNullable(parentGroupByRelationType.columns.find((_column) => _column.name === colSpec.name), `Can't process colSpec: Can't find column '${colSpec.name}' in parent groupBy() expression's relation return type`);
62
+ relationTypeColumn.type =
63
+ aggregateColumnState.getColumnType() ?? relationTypeColumn.type;
64
+ return;
65
+ }
66
+ }
67
+ }
68
+ throw new UnsupportedOperationError(`Can't process aggregate expression function: no compatible aggregate operator processer available from plugins`);
69
+ };
70
+ export const processTypedGroupByExpression = (expression, queryBuilderState, parentLambda) => {
71
+ // check parameters
72
+ assertTrue(expression.parametersValues.length === 3, `Can't process groupBy() expression: groupBy() expects 2 arguments`);
73
+ // check preceding expression is relation project, then process the project
74
+ const precedingExpression = guaranteeType(expression.parametersValues[0], SimpleFunctionExpression, `Can't process groupBy() expression: only support groupBy() immediately following an expression`);
75
+ assertTrue(matchFunctionName(precedingExpression.functionName, [
76
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_PROJECT,
77
+ ]), `Can't process groupBy() expression: only support groupBy() immediately following relation project()`);
78
+ QueryBuilderValueSpecificationProcessor.process(precedingExpression, parentLambda, queryBuilderState);
79
+ const tdsState = guaranteeType(queryBuilderState.fetchStructureState.implementation, QueryBuilderTDSState);
80
+ // process normal (non-aggregation) columns (ensure columns exist in project expression)
81
+ const columnExpressions = guaranteeType(expression.parametersValues[1], ColSpecArrayInstance, `Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance`);
82
+ assertTrue(columnExpressions.values.length === 1, `Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element`);
83
+ queryBuilderState.setLambdaWriteMode(QUERY_BUILDER_LAMBDA_WRITER_MODE.TYPED_FETCH_STRUCTURE);
84
+ columnExpressions.values[0]?.colSpecs.forEach((colSpec) => {
85
+ assertTrue(tdsState.projectionColumns.filter((projectedColumn) => projectedColumn.columnName === colSpec.name).length === 1, `Can't process groupBy() expression: column '${colSpec.name}' not found in project() expression`);
86
+ });
87
+ // process aggregation columns
88
+ const aggregationLambdas = expression.parametersValues[2];
89
+ assertType(aggregationLambdas, ColSpecArrayInstance, `Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance`);
90
+ QueryBuilderValueSpecificationProcessor.processChild(aggregationLambdas, expression, parentLambda, queryBuilderState);
91
+ };
92
+ export const isTypedGroupByExpression = (expression) => {
93
+ return (expression.functionName ===
94
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_GROUP_BY ||
95
+ (matchFunctionName(expression.functionName, [
96
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
97
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_GROUP_BY,
98
+ ]) &&
99
+ expression.parametersValues.length === 3 &&
100
+ expression.parametersValues[1] instanceof ColSpecArrayInstance));
101
+ };
102
+ //# sourceMappingURL=QueryBuilderTypedAggregationStateBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderTypedAggregationStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/aggregation/QueryBuilderTypedAggregationStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EAcpB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yDAAyD,CAAC;AA+DjE,eAAO,MAAM,gBAAgB,aACjB,oBAAoB,kBACd,cAAc,YACpB,2BAA2B,KACpC,IAqTF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EAcpB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yDAAyD,CAAC;AAgEjE,eAAO,MAAM,gBAAgB,aACjB,oBAAoB,kBACd,cAAc,YACpB,2BAA2B,KACpC,IA4TF,CAAC"}
@@ -21,9 +21,10 @@ import { buildGenericLambdaFunctionInstanceValue } from '../../../QueryBuilderVa
21
21
  import { buildPropertyExpressionChain, } from '../../../QueryBuilderValueSpecificationBuilderHelper.js';
22
22
  import { appendOLAPGroupByState } from '../window/QueryBuilderWindowValueSpecificationBuilder.js';
23
23
  import { appendPostFilter } from '../post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js';
24
- import { buildRelationProjection } from './QueryBuilderRelationProjectValueSpecBuidler.js';
24
+ import { buildRelationProjection } from './QueryBuilderRelationProjectValueSpecBuilder.js';
25
25
  import { QueryBuilderAggregateOperator_Wavg } from '../aggregation/operators/QueryBuilderAggregateOperator_Wavg.js';
26
26
  import { appendResultSetModifier } from '../result-modifier/ResultModifierValueSpecificationBuilder.js';
27
+ import { buildRelationAggregation } from '../aggregation/QueryBuilderRelationAggregationValueSpecBuilder.js';
27
28
  const buildProjectColFunc = (tdsState, projectionColumnState, options) => {
28
29
  const colFunc = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_COL));
29
30
  let columnLambda;
@@ -51,7 +52,8 @@ export const appendProjection = (tdsState, lambdaFunction, options) => {
51
52
  const queryBuilderState = tdsState.queryBuilderState;
52
53
  const precedingExpression = guaranteeNonNullable(lambdaFunction.expressionSequence[0], `Can't build projection expression: preceding expression is not defined`);
53
54
  // build projection
54
- if (tdsState.aggregationState.columns.length) {
55
+ if (tdsState.aggregationState.columns.length &&
56
+ !tdsState.queryBuilderState.isFetchStructureTyped) {
55
57
  // aggregation
56
58
  const groupByFunction = new SimpleFunctionExpression(extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY));
57
59
  const colLambdas = new CollectionInstanceValue(queryBuilderState.graphManagerState.graph.getMultiplicity(tdsState.projectionColumns.length -
@@ -198,7 +200,11 @@ export const appendProjection = (tdsState, lambdaFunction, options) => {
198
200
  }
199
201
  else {
200
202
  const projectFunction = buildRelationProjection(precedingExpression, tdsState, options);
201
- lambdaFunction.expressionSequence[0] = projectFunction;
203
+ const aggregationFunction = tdsState.aggregationState.columns.length
204
+ ? buildRelationAggregation(projectFunction, tdsState)
205
+ : null;
206
+ lambdaFunction.expressionSequence[0] =
207
+ aggregationFunction ?? projectFunction;
202
208
  }
203
209
  }
204
210
  // build olapGroupBy
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderProjectionValueSpecificationBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts"],"names":[],"mappings":"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"}
@@ -17,4 +17,4 @@ import { type ValueSpecification, SimpleFunctionExpression } from '@finos/legend
17
17
  import type { QueryBuilderTDSState } from '../QueryBuilderTDSState.js';
18
18
  import { type LambdaFunctionBuilderOption } from '../../../QueryBuilderValueSpecificationBuilderHelper.js';
19
19
  export declare const buildRelationProjection: (precedingExpression: ValueSpecification, tdsState: QueryBuilderTDSState, options?: LambdaFunctionBuilderOption) => SimpleFunctionExpression;
20
- //# sourceMappingURL=QueryBuilderRelationProjectValueSpecBuidler.d.ts.map
20
+ //# sourceMappingURL=QueryBuilderRelationProjectValueSpecBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderRelationProjectValueSpecBuidler.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuidler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,kBAAkB,EAEvB,wBAAwB,EAazB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yDAAyD,CAAC;AAMjE,eAAO,MAAM,uBAAuB,wBACb,kBAAkB,YAC7B,oBAAoB,YACpB,2BAA2B,KACpC,wBA8EF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderRelationProjectValueSpecBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,kBAAkB,EAEvB,wBAAwB,EAazB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yDAAyD,CAAC;AAMjE,eAAO,MAAM,uBAAuB,wBACb,kBAAkB,YAC7B,oBAAoB,YACpB,2BAA2B,KACpC,wBA8EF,CAAC"}
@@ -62,4 +62,4 @@ export const buildRelationProjection = (precedingExpression, tdsState, options)
62
62
  GenericTypeExplicitReference.create(relationGenericType);
63
63
  return projectFunction;
64
64
  };
65
- //# sourceMappingURL=QueryBuilderRelationProjectValueSpecBuidler.js.map
65
+ //# sourceMappingURL=QueryBuilderRelationProjectValueSpecBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderRelationProjectValueSpecBuidler.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuidler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderRelationProjectValueSpecBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderTypedProjectionStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EACnB,wBAAwB,EAGzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,eAAO,MAAM,gCAAgC,eAC/B,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IAgDF,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAC1B,wBAAwB,KACnC,OAYF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderTypedProjectionStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,cAAc,EACnB,wBAAwB,EAGzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,eAAO,MAAM,gCAAgC,eAC/B,wBAAwB,qBACjB,iBAAiB,gBACtB,cAAc,KAC3B,IAgDF,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAC1B,wBAAwB,KACnC,OAWF,CAAC"}
@@ -41,14 +41,13 @@ export const processTypedTDSProjectExpression = (expression, queryBuilderState,
41
41
  QueryBuilderValueSpecificationProcessor.processChild(classInstance, expression, parentLambda, queryBuilderState);
42
42
  };
43
43
  export const isTypedProjectionExpression = (expression) => {
44
- if (matchFunctionName(expression.functionName, [
45
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
46
- QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_PROJECT,
47
- ])) {
48
- if (expression.parametersValues.length === 2) {
49
- return expression.parametersValues[1] instanceof ColSpecArrayInstance;
50
- }
51
- }
52
- return false;
44
+ return (expression.functionName ===
45
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_PROJECT ||
46
+ (matchFunctionName(expression.functionName, [
47
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
48
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_PROJECT,
49
+ ]) &&
50
+ expression.parametersValues.length === 2 &&
51
+ expression.parametersValues[1] instanceof ColSpecArrayInstance));
53
52
  };
54
53
  //# sourceMappingURL=QueryBuilderTypedProjectionStateBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderTypedProjectionStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,gCAAgC,GAEjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,yCAAyC,GAC1C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,UAAoC,EACpC,iBAAoC,EACpC,YAA4B,EACtB,EAAE;IACR,mBAAmB;IACnB,UAAU,CACR,UAAU,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACxC,+EAA+E,CAChF,CAAC;IACF,yBAAyB;IACzB,iBAAiB,CAAC,mBAAmB,CAAC,oBAAoB,CACxD,8BAA8B,CAAC,sBAAsB,CACtD,CAAC;IAEF,6BAA6B;IAC7B,MAAM,mBAAmB,GAAG,aAAa,CACvC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC9B,wBAAwB,EACxB,4GAA4G,CAC7G,CAAC;IACF,UAAU,CACR,iBAAiB,CAAC,mBAAmB,CAAC,YAAY,EAAE;QAClD,yCAAyC,CAAC,OAAO;QACjD,yCAAyC,CAAC,gBAAgB;QAC1D,yCAAyC,CAAC,yBAAyB;QACnE,iCAAiC,CAAC,MAAM;QACxC,iCAAiC,CAAC,SAAS;KAC5C,CAAC,EACF,2IAA2I,CAC5I,CAAC;IACF,uCAAuC,CAAC,OAAO,CAC7C,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,CAClB,CAAC;IACF,gBAAgB;IAChB,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrD,UAAU,CACR,aAAa,EACb,oBAAoB,EACpB,8GAA8G,CAC/G,CAAC;IACF,iBAAiB,CAAC,kBAAkB,CAClC,gCAAgC,CAAC,qBAAqB,CACvD,CAAC;IACF,uCAAuC,CAAC,YAAY,CAClD,aAAa,EACb,UAAU,EACV,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,UAAoC,EAC3B,EAAE;IACX,IACE,iBAAiB,CAAC,UAAU,CAAC,YAAY,EAAE;QACzC,iCAAiC,CAAC,WAAW;QAC7C,iCAAiC,CAAC,gBAAgB;KACnD,CAAC,EACF,CAAC;QACD,IAAI,UAAU,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,oBAAoB,CAAC;QACxE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"QueryBuilderTypedProjectionStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,gCAAgC,GAEjC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,yCAAyC,GAC1C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,UAAoC,EACpC,iBAAoC,EACpC,YAA4B,EACtB,EAAE;IACR,mBAAmB;IACnB,UAAU,CACR,UAAU,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EACxC,+EAA+E,CAChF,CAAC;IACF,yBAAyB;IACzB,iBAAiB,CAAC,mBAAmB,CAAC,oBAAoB,CACxD,8BAA8B,CAAC,sBAAsB,CACtD,CAAC;IAEF,6BAA6B;IAC7B,MAAM,mBAAmB,GAAG,aAAa,CACvC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC9B,wBAAwB,EACxB,4GAA4G,CAC7G,CAAC;IACF,UAAU,CACR,iBAAiB,CAAC,mBAAmB,CAAC,YAAY,EAAE;QAClD,yCAAyC,CAAC,OAAO;QACjD,yCAAyC,CAAC,gBAAgB;QAC1D,yCAAyC,CAAC,yBAAyB;QACnE,iCAAiC,CAAC,MAAM;QACxC,iCAAiC,CAAC,SAAS;KAC5C,CAAC,EACF,2IAA2I,CAC5I,CAAC;IACF,uCAAuC,CAAC,OAAO,CAC7C,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,CAClB,CAAC;IACF,gBAAgB;IAChB,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrD,UAAU,CACR,aAAa,EACb,oBAAoB,EACpB,8GAA8G,CAC/G,CAAC;IACF,iBAAiB,CAAC,kBAAkB,CAClC,gCAAgC,CAAC,qBAAqB,CACvD,CAAC;IACF,uCAAuC,CAAC,YAAY,CAClD,aAAa,EACb,UAAU,EACV,YAAY,EACZ,iBAAiB,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,UAAoC,EAC3B,EAAE;IACX,OAAO,CACL,UAAU,CAAC,YAAY;QACrB,iCAAiC,CAAC,gBAAgB;QACpD,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,EAAE;YAC1C,iCAAiC,CAAC,WAAW;YAC7C,iCAAiC,CAAC,gBAAgB;SACnD,CAAC;YACA,UAAU,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;YACxC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,oBAAoB,CAAC,CAClE,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "4.16.7",
3
+ "version": "4.16.9",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -42,19 +42,19 @@
42
42
  "test:watch": "jest --watch"
43
43
  },
44
44
  "dependencies": {
45
- "@finos/legend-application": "16.0.26",
46
- "@finos/legend-art": "7.1.83",
47
- "@finos/legend-code-editor": "2.0.47",
48
- "@finos/legend-data-cube": "0.1.7",
49
- "@finos/legend-graph": "32.1.5",
50
- "@finos/legend-lego": "2.0.50",
51
- "@finos/legend-server-depot": "6.0.82",
52
- "@finos/legend-shared": "11.0.5",
53
- "@finos/legend-storage": "3.0.124",
45
+ "@finos/legend-application": "16.0.27",
46
+ "@finos/legend-art": "7.1.84",
47
+ "@finos/legend-code-editor": "2.0.49",
48
+ "@finos/legend-data-cube": "0.1.9",
49
+ "@finos/legend-graph": "32.1.7",
50
+ "@finos/legend-lego": "2.0.52",
51
+ "@finos/legend-server-depot": "6.0.83",
52
+ "@finos/legend-shared": "11.0.6",
53
+ "@finos/legend-storage": "3.0.125",
54
54
  "@testing-library/dom": "10.4.0",
55
55
  "@testing-library/react": "16.2.0",
56
- "@types/react": "19.0.8",
57
- "@types/react-dom": "19.0.3",
56
+ "@types/react": "19.0.10",
57
+ "@types/react-dom": "19.0.4",
58
58
  "chart.js": "4.4.7",
59
59
  "mathjs": "14.2.1",
60
60
  "mobx": "6.13.6",
@@ -67,14 +67,14 @@
67
67
  "sql-formatter": "15.4.10"
68
68
  },
69
69
  "devDependencies": {
70
- "@finos/legend-dev-utils": "2.2.1",
70
+ "@finos/legend-dev-utils": "2.2.2",
71
71
  "@jest/globals": "29.7.0",
72
72
  "cross-env": "7.0.3",
73
- "eslint": "9.20.0",
73
+ "eslint": "9.20.1",
74
74
  "jest": "29.7.0",
75
75
  "npm-run-all": "4.1.5",
76
76
  "rimraf": "6.0.1",
77
- "sass": "1.84.0",
77
+ "sass": "1.85.0",
78
78
  "typescript": "5.7.3"
79
79
  },
80
80
  "peerDependencies": {
@@ -126,6 +126,7 @@ export enum QUERY_BUILDER_SUPPORTED_FUNCTIONS {
126
126
  RELATION_DISTINCT = 'meta::pure::functions::relation::distinct',
127
127
  RELATION_SORT = 'meta::pure::functions::relation::sort',
128
128
  RELATION_SLICE = 'meta::pure::functions::relation::slice',
129
+ RELATION_GROUP_BY = 'meta::pure::functions::relation::groupBy',
129
130
  // filter
130
131
  CONTAINS = 'meta::pure::functions::string::contains',
131
132
  ENDS_WITH = 'meta::pure::functions::string::endsWith',
@@ -21,11 +21,11 @@ import {
21
21
  V1_buildGetAllFunctionExpression,
22
22
  V1_buildGetAllVersionsFunctionExpression,
23
23
  V1_buildGetAllVersionsInRangeFunctionExpression,
24
- V1_buildGroupByFunctionExpression,
25
24
  V1_buildOLAPGroupByFunctionExpression,
26
25
  V1_buildProjectFunctionExpression,
27
26
  V1_buildSubTypePropertyExpressionTypeInference,
28
27
  V1_buildWatermarkFunctionExpression,
28
+ V1_buildGroupByFunctionExpression,
29
29
  } from './v1/V1_QueryValueSpecificationBuilderHelper.js';
30
30
  import {
31
31
  type V1_GraphBuilderContext,
@@ -159,10 +159,10 @@ export class QueryBuilder_PureProtocolProcessorPlugin extends PureProtocolProces
159
159
  processingContext,
160
160
  );
161
161
  } else if (
162
- matchFunctionName(
163
- functionName,
162
+ matchFunctionName(functionName, [
164
163
  QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
165
- )
164
+ QUERY_BUILDER_SUPPORTED_FUNCTIONS.RELATION_GROUP_BY,
165
+ ])
166
166
  ) {
167
167
  return V1_buildGroupByFunctionExpression(
168
168
  functionName,