мая 05
Столкнулся я тут с таким вот сообщением при работе с sqlite3:
SQL error: disk I/O error
Причина ошибки была в том, что sqlite почему-то не хватало места для временных файлов, хотя его было предостаточно. Чуть покопавшись в документации, нашел вот такую табличку:
SQLITE_TEMP_STORE=<значение от 0 до 3>
Опция указывает, где будут храниться временные данные – в оперативной памяти или на диске. Значения опции при компиляции:
SQLITE_TEMP_STORE Значение 0 Всегда использовать временные файлы 1 По умолчанию использовать временные файлы, значение может быть изменено при помощи команды PRAGMA temp_store 2 По умолчанию использовать оперативная память, значение может быть изменено при помощи команды PRAGMA temp_store 3 Всегда использовать оперативную память По умолчанию значение равно 1. Дополнительную информацию читаем в документации.
Перекомпилил sqlite c -DSQLITE_TEMP_STORE=3 и все заработало как надо.


Свежие комментарии