SQLite Forum

shared in memory db: :memory:+shared cache OR memdb VFS?
Login
Well, the point is that shared-cache is frowned upon, and kinda deprecated,  
except on very low resources devices, which is precisely not the case of wanting  
to use it on large multi-core desktop machines. Except shared-cache was the only  
known way to have separate SQLite connections sharing the same in-memory DB within  
the bounds of a single process, allowing concurrent access to the same DB from several  
threads. Until MemDB VFS. But then you say they end up being the same code... that's confusing.

Shared-cache implies normal Journal mode, with readers blocking writers, and the writer  
blocking readers. WAL not supported. While nothing prevents in theory a VFS from supporting  
WAL-mode, as long as that VFS supports SHM, which it can if that VFS is in-memory.  
Thus my question whether MemDB VFS supports WAL-mode for true MVCC.

Hopefully everything will be clearer soon. --DD