Leo now supports new .leo.db file format. It is actually SQLite database
file. In current version all data are stored in two tables:
Plugins can create and use additional tables.
There is also new setting @string default_leo_extension = .leo. When saving to new file if user doesn't provide extension, this default file extension will be appended to filename. Leo will honor the extension explicitly set by user.
When editing .leo.db files c.sqlite_connection is sqlite3.Connection instance connected to .leo.db file.
In current implementation, Leo operates data base just when opening and saving Leo document. On every open/save command it retrieves/stores all nodes. This can be changed to update nodes on every change and to retrieve nodes on demand. But for now this all-in/all-out strategy is satisfying.
I have no more ideas what to say about this feature. Please ask me if there is something that needs more explanation.
I have been using this branch for more than a month and it served me very well. However, whenever merge is involved there is possibility something won't work as advertised.
Please report any problem and I will try to fix it ASAP.
The only thing that comes in my mind is that when g.SQLITE is true, retrieving from cache is skipped. Can you test once again clearing cache, then git checkout -f, so that all external files are unchanged and then open LeoPy.leo?
git status