diff --git a/engine/src/main/java/com/google/android/fhir/db/impl/DatabaseImpl.kt b/engine/src/main/java/com/google/android/fhir/db/impl/DatabaseImpl.kt index a9c27fdc4c..03796f6466 100644 --- a/engine/src/main/java/com/google/android/fhir/db/impl/DatabaseImpl.kt +++ b/engine/src/main/java/com/google/android/fhir/db/impl/DatabaseImpl.kt @@ -230,50 +230,48 @@ internal class DatabaseImpl( override suspend fun search( query: SearchQuery, ): List> { - return db.withTransaction { - resourceDao.getResources(SimpleSQLiteQuery(query.query, query.args.toTypedArray())).pmap( - Dispatchers.Default, - ) { - ResourceWithUUID( - it.uuid, - FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) as R, - ) - } + return resourceDao.getResources(SimpleSQLiteQuery(query.query, query.args.toTypedArray())).pmap( + Dispatchers.Default, + ) { + ResourceWithUUID( + it.uuid, + FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) as R, + ) } } override suspend fun searchForwardReferencedResources( query: SearchQuery, ): List { - return db.withTransaction { - resourceDao - .getForwardReferencedResources(SimpleSQLiteQuery(query.query, query.args.toTypedArray())) - .pmap(Dispatchers.Default) { - ForwardIncludeSearchResult( - it.matchingIndex, - it.baseResourceUUID, - FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) - as Resource, - ) - } - } + return resourceDao + .getForwardReferencedResources( + SimpleSQLiteQuery(query.query, query.args.toTypedArray()), + ) + .pmap(Dispatchers.Default) { + ForwardIncludeSearchResult( + it.matchingIndex, + it.baseResourceUUID, + FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) + as Resource, + ) + } } override suspend fun searchReverseReferencedResources( query: SearchQuery, ): List { - return db.withTransaction { - resourceDao - .getReverseReferencedResources(SimpleSQLiteQuery(query.query, query.args.toTypedArray())) - .pmap(Dispatchers.Default) { - ReverseIncludeSearchResult( - it.matchingIndex, - it.baseResourceTypeAndId, - FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) - as Resource, - ) - } - } + return resourceDao + .getReverseReferencedResources( + SimpleSQLiteQuery(query.query, query.args.toTypedArray()), + ) + .pmap(Dispatchers.Default) { + ReverseIncludeSearchResult( + it.matchingIndex, + it.baseResourceTypeAndId, + FhirContext.forR4Cached().newJsonParser().parseResource(it.serializedResource) + as Resource, + ) + } } override suspend fun count(query: SearchQuery): Long {