emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: persistent data feature


From: Tomas Hlavaty
Subject: Re: persistent data feature
Date: Sat, 11 Dec 2021 20:36:29 +0100

On Sat 11 Dec 2021 at 19:38, Alexandre Garreau <galex-713@galex-713.eu> wrote:
> Le sabato, 11-a de decembro 2021, 16-a horo kaj 38:10 CET Tomas Hlavaty a 
> écrit :
>> On the other hand, my notmuch (emacs email reader) database is 30GB and
>> lives externally out of emacs without issues.
>
> in what format is it? sexps?

https://getting-started-with-xapian.readthedocs.io/en/latest/concepts/indexing/databases.html

>> Why link sqlite and not xapian?
>> Where does it stop?
>
> Yeah and why not akonadi and then mysql, which it uses.

yeah

> Akonadi is the reason why I wish so much to switch again from kmail to 
> gnus, because

Try notmuch;-)

> …but I still don’t switch, because the way kmail stores mail is of course 
> at least partially incompatible with gnus, because all these databases are 
> so complex…

With notmuch, Emails are stored in maildir.  The notmuch database
contains the search index and user tags.  You can always migrate to
whatever supports maildir.  Or reindex your emails.  Tags can be
exported/imported as simple text.

> And I think that a fear of getting a such thing into emacs, under the 
> excuse that “for the developer, it works” and that “it brings more 
> features” is what makes people afraid from something even as minimal as 
> sqlite… for emacs is one of the very few software to be minimal and 
> transparent enough to have a better situation than sqlite

Databases are complex.
Suitability of sqlite depends on the use-case.
It is a leaky abstraction.
For example, will users have to deal with schema upgrades?
Will they have to deal with sql?
Will they have to deal with sqlite specific issues?
Once sqlite is linked into emacs, it will eventually infest
almost everything and emacs will be stuck with it forever.

Also I find the trend of linking everything into the emacs process
concerning:
$ ldd .emacs-27.2 | wc -l
107

Strangely enough, sqlite is already there:
$ ldd emacs-27.2 | grep sqlite
libsqlite3.so.0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]