Код ошибки Sqlite для генерации запросов данных Swift Core 769 (ошибка sqlite3_snapshot_open) - PullRequest
2 голосов
/ 15 марта 2019

Я использую генерацию запроса основных данных, для каждого чтения данных контекста представления я делаю следующее

  1. контекст контекста
  2. чтение (запрос выборки)
  3. 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.

Теперь, как я могу обработать или предотвратить эту ошибку в основных данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...