Open
Description
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
- I can reproduce the issue with the latest version of Parse Server and the Parse Flutter SDK.
Issue Description
QueryBuilder().count() method does not work when we add whereWithinKilometers() query for any parse objects in QueryBuilder.or(EventsModel(),[query1 , query2]).
It returns InternalServerError, where as QueryBuilder().query() works completely fine in QueryBuilder.or(EventsModel(),[query1 , query2]) and returns the results as expected.
Steps to reproduce
final query1 = QueryBuilder(EventsModel());
query1.whereEqualTo(keyStatus, EVENT_STATUS_APPROVED);
query1.whereGreaterThanOrEqualsTo(keyDate, oneHrBeforeTime);
query1.whereContainedIn(keyEventStatus, [EVENT_STATUS_ONGOING, EVENT_STATUS_RESCHEDULED]);
final query2 = QueryBuilder(EventsModel());
query2.whereValueExists(keyRecurrentEvent, true);
query2.whereEqualTo(keyRecurrentEvent, true);
query2.whereEqualTo(keyStatus, EVENT_STATUS_APPROVED);
query2.whereContainedIn(keyEventStatus, [EVENT_STATUS_ONGOING, EVENT_STATUS_RESCHEDULED]);
final mergedQuery = QueryBuilder.or(EventsModel(), [query1, query2]);
mergedQuery.whereWithinKilometers(keyGeoPoint, currentUser.getGeoPoint!, 100);
mergedQuery.orderByDescending(EventsModel.keyTime);
mergedQuery.setLimit(100);
final response = await mergedQuery.count();
Actual Outcome
Status Code: 1
Type: InternalServerError
Error: null
Expected Outcome
Function: ParseApiRQ.query
Status Code: 200
Payload: [EventsModel(), EventsModel(), EventsModel()]
Environment
Parse Flutter SDK
- SDK version:
5.1.2
- Flutter version:
3.7.12
- Dart version:
2.19.6
- Operating system version:
Mobile
Server
- Parse Server version:
5.1.2