PRAGMA journal_mode = OFF не работает, почему? - PullRequest
3 голосов
/ 23 апреля 2009

Я использую SQLite3 версии sqlite-3.6.12 и успешно портировал его на мою ОС. Проблема, которую я вижу, заключается в том, что когда я выполняю команда «PRAGMA journal_mode = OFF» возвращает «OFF», но я все еще вижу * .db-журнал файлы создаются. Очень важно, чтобы эти файлы не создан для целей моего проекта. Когда я шагаю по коду sqlite3PagerJournalMode возвращает PAGER_JOURNALMODE_OFF, поэтому мне интересно если установка journal_mode = OFF все равно должна генерировать эти файлы или если есть что-то еще, что мне не хватает. Пожалуйста, помогите

Я также пробовал PRAGMA main.journal_mode = OFF и PRAGMA journal_mode = MEMORY. Но файл журнала создается как таковой !!!!

1 Ответ

0 голосов
/ 27 января 2011

Скомпилируйте ваше приложение с помощью макроса ption:

SQLITE_ENABLE_ATOMIC_WRITE

Если этот макрос C-препроцессора определен и если метод xDeviceCharacteristics объекта sqlite3_io_methods для файла базы данных сообщает (через один из битов SQLITE_IOCAP_ATOMIC), что файловая система поддерживает атомарные записи и если транзакция включает изменение только одной страницы файла базы данных, тогда транзакция фиксируется с помощью всего одного запроса записи одной страницы базы данных, и журнал отката не создается и не записывается.

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