[FR] Add `SUM` Functionality to AggregateQuerySnapshot
Feature proposal
Firebase Component: Firestore
Hello,
The Firestore C++ SDK currently supports only the count() method in the firebase::firestore::AggregateQuerySnapshot class but lacks a sum() method (and avg()), which is essential for aggregating numeric fields across documents.
Current State
The public functions of AggregateQuerySnapshot are:
count()is_valid()- Assignment operators (
operator=) query()
Reference:
- https://github.com/firebase/firebase-cpp-sdk/blob/main/firestore/src/include/firebase/firestore/aggregate_query_snapshot.h#L109
Flutter SDK Implications
This enhancement would also benefit the Flutter SDK, which relies on the Firestore C++ SDK for Windows platform support. For example, in the FlutterFire plugin, unsupported aggregation types like sum currently result in:
...
case AggregateType::sum:
std::cout << "Sum is not supported on C++" << std::endl;
break;
...
Adding sum() to the C++ SDK would also benefit Flutter developers using Firestore on Windows.
Benefits
Implementing a sum() method would:
- Provide access to Firestore's aggregation capabilities in the C++ SDK.
- Support more use cases for C++ and Flutter developers.
Looking forward to hearing thoughts and feedback!
Thanks,
I found a few problems with this issue:
- I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
- This issue does not seem to follow the issue template. Make sure you provide all the required information.
Hi @KKimj , thank you for filling out the ticket. This has been added to the feature request list.