У меня проблемы с функцией приостановки в Room @Transaction
Версии:
room_version = "2.1.0-alpha04"
implementation "androidx.room:room-runtime:$room_version"
implementation "androidx.room:room-coroutines:$room_version"
kapt "androidx.room:room-compiler:$room_version"
Я также пробовал с 2.1.0-rc01.
Kotlin: 1,3
Это мой интерфейс DAO:
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun insert(sifrBl: SifrBl)
@Query("DELETE FROM sifrbl")
suspend fun deleteAll()
@Transaction
suspend fun setSifrBl(sifrBl: SifrBl){
deleteAll()
insert(sifrBl)
}
При компиляции я получаю следующую ошибку:
Method annotated with @Transaction must not return deferred/async return type androidx.lifecycle.LiveData. Since transactions are thread confined and Room cannot guarantee that all queries in the method implementation are performed on the same thread, only synchronous @Transaction implemented methods are allowed. If a transaction is started and a change of thread is done and waited upon then a database deadlock can occur if the additional thread attempts to perform a query. This restrictions prevents such situation from occurring.
Я имею в видуна это
Если я удаляю приостановку во всех функциях, то это работает.
Любая помощь приветствуется:)