Databases with journal_mode=wal cannot be modified via LiteVFS (but can be read)
Without modifying SQLite (what the Turso guys did), the WAL index is hard (but not impossible) to share across a network boundary. I'm guessing that's the why here. There's a hack that I'm pretty confident works, but I'm not sure how it behaves under latency (sure enough that I use it for Windows, and it hasn't caused issues running mptest thousands of times in CI over months).
Comments
Looking at the LiteVFS repo, it appears so, with some limitations.
"LiteVFS is a Virtual Filesystem extension for SQLite that uses LiteFS Cloud as a backing store."
Limitations
- Databases with journal_mode=wal cannot be modified via LiteVFS (but can be read)
- Databases with auto-vacuum cannon be opened via LiteVFS at all
- VACUUM is not supported
https://github.com/superfly/litevfs
Without modifying SQLite (what the Turso guys did), the WAL index is hard (but not impossible) to share across a network boundary. I'm guessing that's the why here. There's a hack that I'm pretty confident works, but I'm not sure how it behaves under latency (sure enough that I use it for Windows, and it hasn't caused issues running mptest thousands of times in CI over months).
Leaving it here, maybe Ben's interested.
https://github.com/ncruces/go-sqlite3/blob/c780ef16e277274e7...
A SQLite database that supports read-replicas and can offload cold data to object storage would be super useful.