From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tomas Hlavaty Newsgroups: gmane.emacs.devel Subject: Re: sqlite3 Date: Tue, 14 Dec 2021 22:55:01 +0100 Message-ID: <87zgp2j1hm.fsf@logand.com> References: <87tufmjyai.fsf@gnus.org> <87lf0nr2b4.fsf@gnus.org> <87czlzjfhs.fsf@logand.com> <87pmpznmw4.fsf@gnus.org> <87a6h3jcfm.fsf@logand.com> <87h7bbnjxl.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8667"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Dec 14 22:56:51 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxFn1-00021x-3P for ged-emacs-devel@m.gmane-mx.org; Tue, 14 Dec 2021 22:56:51 +0100 Original-Received: from localhost ([::1]:50210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mxFmz-0005e7-L2 for ged-emacs-devel@m.gmane-mx.org; Tue, 14 Dec 2021 16:56:49 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:59122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mxFlO-0004Vh-Ld for emacs-devel@gnu.org; Tue, 14 Dec 2021 16:55:10 -0500 Original-Received: from logand.com ([37.48.87.44]:49880) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mxFlL-0006gY-BT for emacs-devel@gnu.org; Tue, 14 Dec 2021 16:55:10 -0500 Original-Received: by logand.com (Postfix, from userid 1001) id 03F4219EC54; Tue, 14 Dec 2021 22:55:03 +0100 (CET) X-Mailer: emacs 27.2 (via feedmail 11-beta-1 I) In-Reply-To: <87h7bbnjxl.fsf@gnus.org> Received-SPF: pass client-ip=37.48.87.44; envelope-from=tom@logand.com; helo=logand.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:281948 Archived-At: On Tue 14 Dec 2021 at 19:03, Lars Ingebrigtsen wrote: > Tomas Hlavaty writes: > >> The issue is that Emacs now depends on sqlite. > > Emacs depends on libsqlite3 the same way it depends on librsvg. At the moment. And those are very different things with different consequences. > I think having database support in Emacs is going to be useful, That seems rather vague reason. "My" Emacs supported RDBMS since more than a decade ago: https://logand.com/sw/dbquery/file/README.html https://logand.com/sw/dbquery/file/dbquery.el.html https://logand.com/sw/dbquery/files.html dbquery is a collection of sql drivers and high level code for Emacs-Lisp and Common Lisp with easy to use text based protocol based on symbolic expressions. I guess other people did something similar. It is not difficult. But the question is, should a database be in core Emacs? Should a database be in the Emacs process? What will be the consequences? > and there's been a number of things that's been suggested could use it > instead of the current slow mechanisms, like the Gnus registry and > org-roam. The consequences will likely be, that more and more things will not work without that database. You suggest two examples. I can see more exciting developments, e.g. imagine elfeed does not block Emacs for seconds before quitting; or imagine elfeed with full text search; or notmuch email reader using Emacs built in database. But I am still not sure including sqlite is a good thing. I imagine that once sqlite is in Emacs, it will be easier to dump everything into it and call it a day. Imagine git built on top of sqlite. Would that have been better? Is there really not a better solution than depending on sqlite? I am quite curious, how this will turn out.