Skip to content

Commit

Permalink
chore | revert passing the alias in case of aggregations and create d…
Browse files Browse the repository at this point in the history
…efault alias without dot (#236)

chore | revert passing the alias in case of aggregations and create default alias without dot
  • Loading branch information
aman-bansal authored Jun 18, 2024
1 parent 2553d2d commit a09a60f
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ private SelectionArguments getSelectionArguments(SelectedField selectedField) {
new SelectionArguments(
attributeExpression,
aggregationType,
this.getArguments(selectedField, aggregationType),
selectedField.getAlias()))
this.getArguments(selectedField, aggregationType)))
.orElse(new SelectionArguments(attributeExpression));
}

Expand All @@ -146,8 +145,7 @@ private Single<MetricAggregationRequest> buildAggregationRequest(
this.aggregationRequestBuilder.build(
attributeExpressionAttributeAssociation,
arguments.getAggregationType(),
arguments.getAggregationArguments(),
arguments.getAlias()));
arguments.getAggregationArguments()));
}

private List<Object> getArguments(
Expand Down Expand Up @@ -190,35 +188,16 @@ private static class SelectionArguments {
@Nonnull AttributeExpression attributeExpression;
@Nullable AttributeModelMetricAggregationType aggregationType;
@Nullable List<Object> aggregationArguments;
@Nullable String alias;

SelectionArguments(AttributeExpression attributeExpression) {
this(SelectionType.ATTRIBUTE, attributeExpression, null, null, null);
this(SelectionType.ATTRIBUTE, attributeExpression, null, null);
}

SelectionArguments(
AttributeExpression attributeExpression,
AttributeModelMetricAggregationType aggregationType,
List<Object> aggregationArguments) {
this(
SelectionType.AGGREGATION,
attributeExpression,
aggregationType,
aggregationArguments,
null);
}

SelectionArguments(
AttributeExpression attributeExpression,
AttributeModelMetricAggregationType aggregationType,
List<Object> aggregationArguments,
String alias) {
this(
SelectionType.AGGREGATION,
attributeExpression,
aggregationType,
aggregationArguments,
alias);
this(SelectionType.AGGREGATION, attributeExpression, aggregationType, aggregationArguments);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,25 +80,16 @@ public MetricAggregationRequest build(
AttributeAssociation<AttributeExpression> attributeExpressionAssociation,
AttributeModelMetricAggregationType aggregationType,
List<Object> arguments) {
return this.build(attributeExpressionAssociation, aggregationType, arguments, false, null);
}

public MetricAggregationRequest build(
AttributeAssociation<AttributeExpression> attributeExpressionAssociation,
AttributeModelMetricAggregationType aggregationType,
List<Object> arguments,
String alias) {
return this.build(attributeExpressionAssociation, aggregationType, arguments, false, alias);
return this.build(attributeExpressionAssociation, aggregationType, arguments, false);
}

private MetricAggregationRequest build(
AttributeAssociation<AttributeExpression> attributeExpressionAssociation,
AttributeModelMetricAggregationType aggregationType,
List<Object> arguments,
boolean baseline,
String alias) {
boolean baseline) {
return new DefaultMetricAggregationRequest(
attributeExpressionAssociation, aggregationType, arguments, baseline, alias);
attributeExpressionAssociation, aggregationType, arguments, baseline);
}

private MetricAggregationRequest requestForAggregationField(
Expand All @@ -114,8 +105,7 @@ private MetricAggregationRequest requestForAggregationField(
.findSelections(
field.getSelectionSet(), SelectionQuery.namedChild(BASELINE_AGGREGATION_VALUE))
.findAny()
.isPresent(),
field.getAlias());
.isPresent());
}

private Optional<AttributeModelMetricAggregationType> getAggregationTypeForField(
Expand Down Expand Up @@ -191,18 +181,18 @@ private static class DefaultMetricAggregationRequest implements MetricAggregatio
AttributeModelMetricAggregationType aggregation;
List<Object> arguments;
boolean baseline;
String alias;

@Override
public String alias() {
if (alias != null) {
return alias;
}

// We have purposefully removed attribute().getId()
// because id contains dot(.) which messes up with
// database operations because we need to encode dot
// at multiple places and it causes data alias mismatch.
return String.format(
"%s_%s_%s",
"%s_%s_%s_%s",
this.aggregation.name(),
this.attributeExpressionAssociation.attribute().id(),
this.attributeExpressionAssociation.attribute().scope(),
this.attributeExpressionAssociation.attribute().key(),
this.arguments);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,4 @@ MetricAggregationRequest build(
AttributeAssociation<AttributeExpression> attributeExpressionAssociation,
AttributeModelMetricAggregationType aggregationType,
List<Object> arguments);

MetricAggregationRequest build(
AttributeAssociation<AttributeExpression> attributeExpressionAssociation,
AttributeModelMetricAggregationType aggregationType,
List<Object> arguments,
String alias);
}

0 comments on commit a09a60f

Please sign in to comment.