Я использую генерацию запроса основных данных, для каждого чтения данных контекста представления я делаю следующее
- контекст контекста
- чтение (запрос выборки)
- unpin context
Все работает правильно, как и ожидалось, но иногда я получаю следующую ошибку:
ошибка: SQLCore dispatchRequest: запрос обработки исключения:, sqlite3_snapshot_open завершился неудачей с userInfoиз {NSSQLiteErrorDomain = 769;} CoreData: ошибка: SQLCore dispatchRequest: запрос обработки исключительной ситуации: ошибка sqlite3_snapshot_open с userInfo из {NSSQLiteErrorDomain = 769;}
Ниже кода для закрепления / открепления контекста:
// MARK: Query generation
func pinContext() {
do {
context.reset()
try context.setQueryGenerationFrom(NSQueryGenerationToken.current)
} catch {
fatalError("Context pinning:\(error)")
}
}
func unpinContext() {
do {
try context.setQueryGenerationFrom(nil)
} catch {
fatalError("Context unpinning:\(error)")
}
}
Сайт sqlite.org для кода ошибки (769) SQLITE_ERROR_SNAPSHOT сообщает:
Код результата SQLITE_ERROR_SNAPSHOT может быть возвращен при попытке запустить транзакцию чтения в хронологической версии базы данных с помощью интерфейса sqlite3_snapshot_open ().Если исторический моментальный снимок больше недоступен, транзакция чтения завершится неудачно с SQLITE_ERROR_SNAPSHOT.Этот код ошибки возможен только если SQLite скомпилирован с -DSQLITE_ENABLE_SNAPSHOT.
Теперь, как я могу обработать или предотвратить эту ошибку в основных данных?