У меня есть простая вставка в ROOM, но по странной причине моя вставка не работает в моем приложении после двух или трех вставок.Есть другое странное поведение, при вставке у меня вставка удалась, но при просмотре в БД ничего нет.
DAO
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(entryTable: EntryTable): Completable
ViewModel
entryRepository.saveEntryTable(EntryTable(fieldId, entryId, tabId, index))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
Timber.d("<<<<<row saved!")
result.value = Status.SUCCESS
}, {
Timber.e(it)
Timber.d("<<<<<<<<<<<row not saved!")
result.value = Status.ERROR
})
OnSubscribe всегда запускается, но после двух вставок в db ничего не появляется, и в моем журнале нет ошибок.
Также нет заменыпотому что каждый раз, когда появляется новый PK.
Edit
Вот больше информации об этой проблеме:
Странная вещь, это похоже наБаза данных комнаты в некотором роде копируется в память, когда мое приложение ищет новые записи, я могу их получить, например (выбрать * из entry_table), и показать их пользователю.Но если я остановлю приложение и перезапущу его, строка исчезнет (так как их нет в БД) ..