Skip to content

Commit 02339db

Browse files
committed
fix: AggregateOperator empty input returns {} instead of {count_*: 0}
When upstream produces zero rows, AggregateOperator passed { states: [] } to finalizePartialAgg — an empty states array with no aggregate columns. Now uses computePartialAgg([], query) which properly initializes states (count=0, sum=0, etc.) so the result row contains all expected columns.
1 parent 38fccbe commit 02339db

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/operators.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1535,7 +1535,7 @@ export class AggregateOperator implements Operator {
15351535
const partial = computePartialAggColumnar(batch, this.query);
15361536
merged = merged ? mergePartialAggs([merged, partial]) : partial;
15371537
}
1538-
if (!merged) return finalizePartialAgg({ states: [] }, this.query);
1538+
if (!merged) return finalizePartialAgg(computePartialAgg([], this.query), this.query);
15391539
return finalizePartialAgg(merged, this.query);
15401540
}
15411541

@@ -1549,7 +1549,7 @@ export class AggregateOperator implements Operator {
15491549
}
15501550

15511551
if (!merged) {
1552-
return finalizePartialAgg({ states: [] }, this.query);
1552+
return finalizePartialAgg(computePartialAgg([], this.query), this.query);
15531553
}
15541554
return finalizePartialAgg(merged, this.query);
15551555
}

0 commit comments

Comments
 (0)