This is the first chunk of work on the new design for data storage/VFS on the dqlite side. It's exclusively scaffolding to set up the new DB thread and prepare to pass things to it.
The next step is to work out how clients on the main thread will cause databases to be opened on the main thread -- we can probably re-use the DB registry code here. Likewise for preparing statements. This will involve writing a proper main loop for the DB thread. (I think it makes sense to keep the "old way" code around, working in parallel, while the "new way" code is being developed.) After that the main thread should be able to pass (parsed versions of) client requests to the DB thread -- maybe just EXEC or EXEC_SQL to start, if that's easier. That will set things up to start working on the new VFS.
This is the first chunk of work on the new design for data storage/VFS on the dqlite side. It's exclusively scaffolding to set up the new DB thread and prepare to pass things to it.
The next step is to work out how clients on the main thread will cause databases to be opened on the main thread -- we can probably re-use the DB registry code here. Likewise for preparing statements. This will involve writing a proper main loop for the DB thread. (I think it makes sense to keep the "old way" code around, working in parallel, while the "new way" code is being developed.) After that the main thread should be able to pass (parsed versions of) client requests to the DB thread -- maybe just EXEC or EXEC_SQL to start, if that's easier. That will set things up to start working on the new VFS.
Signed-off-by: Cole Miller cole.miller@canonical.com