android-fhir
android-fhir copied to clipboard
SQLite crashes with 'Expression tree is too large (maximum depth 1000)'
Describe the bug Filtering data from the db using the FhirEngine#search interface
val patientListIdsReferenceParamFilterCriteria = ....
fhirEngine.search<CarePlan>{
filter(CarePlan.SUBJECT, *patientListIds.toTypedArray())
}
with a long list of more than 500 patient ids, SQLite crashes with this error
android.database.sqlite.SQLiteException: Expression tree is too large (maximum depth 1000) (code 1 SQLITE_ERROR): , while compiling: SELECT a.resourceUuid, a.serializedResource
FROM ResourceEntity a
WHERE a.resourceType = ?
AND a.resourceUuid IN (
SELECT resourceUuid FROM ReferenceIndexEntity
2024-06-03 18:55:15.354 30656-31493 WM-WorkerWrapper org...rtregister.fhircore.mwcoreDev E WHERE resourceType = ? AND index_name = ? AND (index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR
2024-06-03 18:55:15.355 30656-31493 WM-WorkerWrapper org...rtregister.fhircore.mwcoreDev E index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_val
2024-06-03 18:55:15.356 30656-31493 WM-WorkerWrapper org...rtregister.fhircore.mwcoreDev E ue = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ? OR index_value = ?)
)
Component Engine library
Additional context Add any other context about the problem here.
Would you like to work on the issue? Yes