Приведенный выше метод интерфейса вставки не удалит вашу лишнюю строку. Что он делает, так это то, что каждый раз, когда собирается вставить сущность, и эта сущность уже существует (имеется в виду, что существует один и тот же PK), она заменяет старую сущность новой. Что вам нужно сделать, это
result = Dao()."Select * from _your_table"
result.forEach {
if (it.primary_key_id.existsIn(response_from_server_list)) {
Dao.insert(it) // Will replace the already existed
} else {
Dao.delete(it) // Will delete the rows that does not exist in server respone
}
}