From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.devel Subject: Re: sqlite3 Date: Wed, 8 Dec 2021 18:36:24 +0000 Message-ID: References: <87tufmjyai.fsf@gnus.org> <877dcil2sj.fsf@ericabrahamsen.net> <87czm98qi1.fsf@gnu.org> <87o85tcwm0.fsf@ericabrahamsen.net> <874k7ljwkr.fsf@gnus.org> <87fsr5cuzq.fsf@ericabrahamsen.net> <878rwx8mdn.fsf@gnu.org> <87r1aphuei.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32384"; mail-complaints-to="usenet@ciao.gmane.io" Cc: eric@ericabrahamsen.net, cesar mena , Richard Stallman , emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Dec 08 19:38:13 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 1mv1pU-00087f-9z for ged-emacs-devel@m.gmane-mx.org; Wed, 08 Dec 2021 19:38:12 +0100 Original-Received: from localhost ([::1]:56842 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mv1pT-0001k4-AF for ged-emacs-devel@m.gmane-mx.org; Wed, 08 Dec 2021 13:38:11 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:51758) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mv1oP-0000ui-67 for emacs-devel@gnu.org; Wed, 08 Dec 2021 13:37:05 -0500 Original-Received: from [2a00:1450:4864:20::136] (port=38888 helo=mail-lf1-x136.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mv1oN-0003Jc-Pw; Wed, 08 Dec 2021 13:37:04 -0500 Original-Received: by mail-lf1-x136.google.com with SMTP id bi37so7354430lfb.5; Wed, 08 Dec 2021 10:37:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WlcNZqJEWBER83RhPvglTugLzZOBHFI5+d7Bs0hZJXM=; b=PMhZde6rlR41glNEkBu/1qucFD38QFINOpRT6HL7/v60R7xVM/lbGzW9BypGtEAmby 0G9ECypzXL7X5blB14ME//FYwfK+afjMoFxM9SQdn3+FE6qBolSIbbOY4jp+b9ZjDtUB hFFp5E3tlR8uTsoAbGGHfGDeWp4ZWQr6BIkJDjDys13eIsvdvLGTLlfmNY92jsNXdVFK OQUPtte8RZnfSaySOFBM9orW0+0SqE+WErEeCs+Nu9N2zoJLv7fEUbLZyzeCuk+CQe7n N8Oxgw1Ntc4+rJroTuaIZySoKuAivYvxEXZpQvadNBfUbRuVWekEw9ZtN4n4qV6LUbbj CmYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WlcNZqJEWBER83RhPvglTugLzZOBHFI5+d7Bs0hZJXM=; b=eMQhTctoZpbSEibn09HvbVSZGdkq+4XQALy0G5VVfIiRLG/sw0d/Y82W0gZ/4D7GNv 6rzI4sFIR7M7LvZ72uTXpI0pGi/XAs1Xv29SeCiqSSFvsGXHyovPG9QZLxfWw9349uj1 x6aWhJpQBl6mv9RNrl08htDy1c3+VoB0qLC0iQ4GRSv71NoeWMOIJn8UmcrgvE8AA9TV fLAOh12i+FPhyXeXw4cQhsPUb5QEO5F+Fl3Yq8hIJuPudvKGo+0snKJsNb00Es4XG1gg cAqQ8C0sS6oIZy9YfigYkM21MrN3DhVzzhQ1hLonB1oBO2+tlR79Te+sJQf+9h/BqjQ0 yQHA== X-Gm-Message-State: AOAM532bKAiLJnKxqA3TNH5atWRXWoklrVp2+5/rTwG1mvHvNH6V6OUu 4n55xuHp4FcopKylq5UMPTQXNUA7b+y8PDJeEvU= X-Google-Smtp-Source: ABdhPJwi1Hg/NtsEVhWpw+tA2E2iPEHA4/CEqq/9pLEJ14FitQY7KMQTw+lIN2NMFGx+szl7Kezn0KEOuybjSh2Cxys= X-Received: by 2002:ac2:58e2:: with SMTP id v2mr1110926lfo.328.1638988621473; Wed, 08 Dec 2021 10:37:01 -0800 (PST) In-Reply-To: <87r1aphuei.fsf@gnus.org> X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::136 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::136; envelope-from=pipcet@gmail.com; helo=mail-lf1-x136.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:281374 Archived-At: On Tue, Dec 7, 2021 at 5:11 AM Lars Ingebrigtsen wrote: > Richard Stallman writes: > > > Would someone please post a concise description of the proposal that is > > being considered? There have been over 100 messages in this thread, > > too many for me to read, but I'd like to know what the issue is. > > Just read the first one. It explains everything. I disagree, FWIW. There's very little in that message that goes beyond "let's use sqlite!" What I've been able to make of this so far is: The proposal is to have Emacs store some user data in some binary format that cannot be readily inspected, diffed, backed up, version-controlled, shared, altered, or understood. (Or archived, published, indexed, checksummed, ...) Those are huge disadvantages. The benefits are not clear to me at all, but they seem to revolve around the time it takes for an interrupted or terminated session to restart? I don't think there are any applications for which the trade off (gain some performance; lose some user freedom) is worth it, but even if there are, we should look harder at alternatives which allow us to gain similar amounts of performance without littering unsuspecting users' .emacs.ds with binary-only files. And we need to be careful about introducing this "as an option", of course, because that means two versions of many packages' core code need to be maintained, only one of which will be tested by users who have not had the time to customize the defaults. (I believe there are also good reasons for avoiding SQL, but those are not as important as the non-technical issues mentioned above.) I've tested a little and at least in those initial tests, sqlite seems to actually delete data from sqlite files when the corresponding rows are deleted, but I'd like to mention this explicitly because I'm not sure there's actually a guarantee of it in place: if sqlite ever keeps storing data that the user thought they deleted, that makes it unsuitable for storing the kind of data I would expect in .emacs.d. Of course, none of this is meant to stop people experimenting in any way, but I don't see any package that should realistically be able to make use of it without an opt-in option and probably an extra warning. Pip