SQLite WAL-режим, в памяти, база данных с личным кешем?

Я работаю над проектом, который опирается на изоляцию моментального снимка чтения, которую обеспечивает режим журнала WAL в Sqlite. Он использует несколько соединений с одной и той же базой данных для одновременного чтения и записи.

Для тестирования я хотел бы использовать базу данных в памяти, но, насколько я могу судить, это требует SQLITE_OPEN_SHAREDCACHE (что делает недействительной гарантию изоляции моментального снимка, которую обеспечивает режим WAL).

Есть ли способ открыть несколько подключений к оперативной памяти, режиму WAL, базе данных SQLite в режиме частного кэша?

Есть ли (ранее существовавшее) решение VFS для этой проблемы?

Документы в режиме WAL

1 ответ

Решение

Режим WAL не применяется к базам данных в памяти.

Чтобы получить WAL (и прочитать изоляцию моментального снимка), вам нужно использовать временную базу данных на диске. (Этот диск может быть RAM-диском.)

Другие вопросы по тегам