[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sqlite3
From: |
Alan Mackenzie |
Subject: |
Re: sqlite3 |
Date: |
Mon, 6 Dec 2021 17:38:29 +0000 |
Hello, Lars.
On Mon, Dec 06, 2021 at 02:51:33 +0100, Lars Ingebrigtsen wrote:
> I think many user experience things in Emacs would be better if Emacs
> remembered more.
> The bigger systems don't have this problem -- Gnus needs a large
> .newsrc.eld file, and it maintains that.
> The tiny things don't really have this problem, either: You save options
> with `customize-save-variable', and that fine.
> It's the many things that fall between these two extremes that have the
> problem: Where you want to store some state, but figuring it's just too
> much work to figure out Yet Another Storage Format, but the data is too
> messy to stash in somebody's .emacs file via Customize (like lists of
> stuff).
> So there's a bunch of stuff that Emacs just forgets when you shut down,
> where it perhaps shouldn't.
> I've brought this up before, but I didn't really have a solution then,
> but I think I do now: sqlite3.
YUCK!!
That would break 45 years of Emacs tradition and practice. In Emacs,
data are stored as PLAIN TEXT. Even .elc files are pretty much plain
text.
That is, text that you can examine with standard tools, such as grep,
awk, perl, less, ...., and C-s and friends within Emacs.
You seem to be suggesting moving plain text data to an opaque format,
which can only be examined with special purpose tools.
> sqlite3 is supported on more platforms than Emacs is, the interface is
> small and stable, and (best of all) somebody has already created
> interface functions for Emacs (via a module):
> https://github.com/syohex/emacs-sqlite3
So, in addition to learning ELisp and C, and the tools mentioned above,
one will now have to learn sqlite3 in order to make full use of Emacs?
Firefox changed some years ago to having its store of visited sites as
an opaque format. That's been entirely a loss for me, since I can no
longer examine and edit it with any tool other than Firefox itself.
Please don't do the same to Emacs.
> I think it'd be good to bring that into core, and then write a small
> wrapper library (well, a trivial ORM) for the rest of Emacs to use, so
> that we don't have to write SQL all over the place. That is:
> (setf (persistent-data :namespace "emoji" :key "favorites") emoji--favorites)
> I.e., what Emacs needs is a persistent key/value store, and this would
> give us that.
Emacs has that already. It's called an alist. It becomes persistent
when you print it to a file, not a challenging project.
> In addition, if somebody really wants to write SQL stuff (it can be very
> handy for some things), having sqlite3 in there gives us that in
> addition for free.
If somebody wants to develop an SQL application, that's fine. But you
seem to be talking about turning Emacs _into_ an SQL application.
That's anything but fine.
> This comes with questions about how the users are supposed be able to
> clear out the data, for instance, but we could have a `M-x
> list-persistent-data' where the users could blow out whatever they want
> to.
Such a data store would be an opaque format. Please don't. Just don't.
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no
--
Alan Mackenzie (Nuremberg, Germany).
- Re: sqlite3, (continued)
- Re: sqlite3, Eli Zaretskii, 2021/12/06
- Re: sqlite3, Lars Ingebrigtsen, 2021/12/06
- Re: sqlite3, Eli Zaretskii, 2021/12/06
- Re: sqlite3, Lars Ingebrigtsen, 2021/12/06
- Re: sqlite3, Eli Zaretskii, 2021/12/06
- Re: sqlite3, Lars Ingebrigtsen, 2021/12/07
- Re: sqlite3, Eli Zaretskii, 2021/12/07
- Re: sqlite3, Lars Ingebrigtsen, 2021/12/07
- Re: sqlite3, dick, 2021/12/06
- Re: sqlite3, Eli Zaretskii, 2021/12/06
Re: sqlite3,
Alan Mackenzie <=
Re: sqlite3, Teemu Likonen, 2021/12/07
Re: sqlite3, Sergey Organov, 2021/12/07