canonical / dqlite

Embeddable, replicated and fault-tolerant SQL engine.
https://dqlite.io
Other
3.8k stars 215 forks source link

Start of work on dqlite revamp #535

Closed cole-miller closed 9 months ago

cole-miller commented 9 months ago

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