diff --git a/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/CommonAggregationSelect.java b/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/CommonAggregationSelect.java index 01e53a2f08..3197d95532 100644 --- a/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/CommonAggregationSelect.java +++ b/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/CommonAggregationSelect.java @@ -8,6 +8,7 @@ import com.bakdata.conquery.sql.conversion.model.QueryStep; import com.bakdata.conquery.sql.conversion.model.select.ConnectorSqlSelects; import com.bakdata.conquery.sql.conversion.model.select.FieldWrapper; +import com.bakdata.conquery.sql.conversion.model.select.SingleColumnSqlSelect; import com.bakdata.conquery.sql.conversion.model.select.SqlSelect; import lombok.Getter; @@ -23,23 +24,23 @@ @Getter class CommonAggregationSelect { - private final List rootSelects; + private final List rootSelects; private final FieldWrapper groupBy; private final QueryStep additionalPredecessor; - public CommonAggregationSelect(List rootSelects, FieldWrapper groupBy, QueryStep additionalPredecessor) { + public CommonAggregationSelect(List rootSelects, FieldWrapper groupBy, QueryStep additionalPredecessor) { this.rootSelects = rootSelects; this.groupBy = groupBy; this.additionalPredecessor = additionalPredecessor; } - public CommonAggregationSelect(SqlSelect rootSelect, FieldWrapper groupBy) { + public CommonAggregationSelect(SingleColumnSqlSelect rootSelect, FieldWrapper groupBy) { this.rootSelects = List.of(rootSelect); this.groupBy = groupBy; this.additionalPredecessor = null; } - public CommonAggregationSelect(List rootSelects, FieldWrapper groupBy) { + public CommonAggregationSelect(List rootSelects, FieldWrapper groupBy) { this.rootSelects = rootSelects; this.groupBy = groupBy; this.additionalPredecessor = null; diff --git a/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/SumSqlAggregator.java b/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/SumSqlAggregator.java index 93accb556a..2659095928 100644 --- a/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/SumSqlAggregator.java +++ b/backend/src/main/java/com/bakdata/conquery/sql/conversion/model/aggregator/SumSqlAggregator.java @@ -30,6 +30,7 @@ import com.bakdata.conquery.sql.conversion.model.select.FieldWrapper; import com.bakdata.conquery.sql.conversion.model.select.SelectContext; import com.bakdata.conquery.sql.conversion.model.select.SelectConverter; +import com.bakdata.conquery.sql.conversion.model.select.SingleColumnSqlSelect; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.jooq.Condition; @@ -187,7 +188,7 @@ public Condition convertForTableExport(SumFilter filter, FilterContext createSumAggregationSelect(Column sumColumn, Column subtractColumn, String alias, ConnectorSqlTables tables) { Class numberClass = NumberMapUtil.NUMBER_MAP.get(sumColumn.getType()); - List> preprocessingSelects = new ArrayList<>(); + List preprocessingSelects = new ArrayList<>(); ExtractingSqlSelect rootSelect = new ExtractingSqlSelect<>(tables.getRootTable(), sumColumn.getName(), numberClass); preprocessingSelects.add(rootSelect); @@ -223,13 +224,13 @@ private CommonAggregationSelect createDistinctSumAggregationSelect( ConnectorSqlTables tables, NameGenerator nameGenerator ) { - List> preprocessingSelects = new ArrayList<>(); + List preprocessingSelects = new ArrayList<>(); Class numberClass = NumberMapUtil.NUMBER_MAP.get(sumColumn.getType()); ExtractingSqlSelect rootSelect = new ExtractingSqlSelect<>(tables.getRootTable(), sumColumn.getName(), numberClass); preprocessingSelects.add(rootSelect); - List> distinctByRootSelects = + List distinctByRootSelects = distinctByColumns.stream() .map(column -> new ExtractingSqlSelect<>(tables.getRootTable(), column.getName(), Object.class)) .collect(Collectors.toList()); @@ -249,15 +250,15 @@ private CommonAggregationSelect createDistinctSumAggregationSelect( */ private static QueryStep createRowNumberCte( SqlIdColumns ids, - ExtractingSqlSelect sumColumnRootSelect, - List> distinctByRootSelects, + SingleColumnSqlSelect sumColumnRootSelect, + List distinctByRootSelects, String alias, SqlTables connectorTables, NameGenerator nameGenerator ) { String predecessor = connectorTables.getPredecessor(ConceptCteStep.AGGREGATION_SELECT); SqlIdColumns qualifiedIds = ids.qualify(predecessor); - ExtractingSqlSelect qualifiedSumRootSelect = sumColumnRootSelect.qualify(predecessor); + SingleColumnSqlSelect qualifiedSumRootSelect = sumColumnRootSelect.qualify(predecessor); List> partitioningFields = Stream.concat( qualifiedIds.toFields().stream(),