android-fhir
android-fhir copied to clipboard
Modify toQueryString to prevent SQLite expression tree from exceeding depth of 1000
IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #2561
Description Recursively bifurcates the conditional params expressions to prevent occurences of SQLite expression tree exceeding depth of 1000, as suggested in this comment
Alternative(s) considered
Chunking large expression list to limit 50 within parantheses to avoid crashing with Expression tree is too large (maximum depth 1000)
, as described here
Type Enhancement Feature
Screenshots (if applicable)
Checklist
- [ ] I have read and acknowledged the Code of conduct.
- [ ] I have read the Contributing page.
- [ ] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
- [ ] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
- [ ] I have run
./gradlew spotlessApply
and./gradlew spotlessCheck
to check my code follows the style guide of this project. - [ ] I have run
./gradlew check
and./gradlew connectedCheck
to test my changes locally. - [ ] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).