From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: persistent data feature Date: Fri, 10 Dec 2021 06:39:03 +0100 Message-ID: <87bl1p10js.fsf@gnus.org> 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> <837dcex6ub.fsf@gnu.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="30447"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: eric@ericabrahamsen.net, cesar.mena@gmail.com, eliz@gnu.org, Pip Cet , emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Dec 10 06:42:03 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 1mvYfS-0007iK-4I for ged-emacs-devel@m.gmane-mx.org; Fri, 10 Dec 2021 06:42:02 +0100 Original-Received: from localhost ([::1]:45068 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mvYfQ-0000FB-Fu for ged-emacs-devel@m.gmane-mx.org; Fri, 10 Dec 2021 00:42:00 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:56964) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvYco-0007ph-JD for emacs-devel@gnu.org; Fri, 10 Dec 2021 00:39:18 -0500 Original-Received: from [2a01:4f9:2b:f0f::2] (port=41338 helo=quimby.gnus.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mvYcm-0007Iu-IN; Fri, 10 Dec 2021 00:39:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=gLcD0e5VVGpJMSh//YfHI/7FUCzI/zo2zOeKPte+ngA=; b=BPWGXD76h4oaS9igCvnmGNrmBF UuWrL7wWYJPMc2cCEda5+jYGEi8UWkJ0W7QjV1vGGo7gkpVmGrNFMyqI5gCmn1KfmQBBcmg8ahIOO 8ShKNYXfrkv/AeEd8giCjg5XdofxfwfnC4TfzPSJDVIj7WTukZA1Xutfb8QK9mL3pS3U=; Original-Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mvYcb-00008u-VY; Fri, 10 Dec 2021 06:39:09 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAALVBMVEUqEBdRHiMEAQMy LjCkn6BwaWuCfoLTyard29ZPSkxTQjubWjPWrjjo1Vv////K9Un/AAAAAWJLR0QOb70wTwAAAAd0 SU1FB+UMCgUhFl6QT60AAAGmSURBVDjLpdG9T8JAFADwo8UosBgXBxyOK03EqVIHcfVKy6p8dYfE OGlSAu5gcTOUhOBEMCYODugMA7Nlc4T/xStRuZe2k02ud9dfX9/1PRRBgkACLgTWGAtEETiIUi1P ZZ02dYte9TiQda1hH5arLWoZfT4ifaJbmkQrTcsqUB52ipSacr1IDZ0WeRCVHEYSmwnJ8afCdy99 s1/S2DivlswNSN3OSefUbtO+cV+xNS5ieBlztoaOilRFfEa+HwQV+AO5qNXqtJz1lwShZHISXKvE dBwC7l4wHIRAaup+BELCXQUmx4nFaiKEwG4QkMhs9R4Cy1CYozAIjEjNFnMkjvyAZ+5naej4q3s8 W7kjcgQBiznnzfWDpLJPD9wlyy0BWL8mpL7iBEkCiPB2Z8n2/jWSsgC8nWG3tx8IhtBjt9duR2bz mAfsQaZ7G2dTDxx3vat2G8FQsU12CAXAIxvpQUtgmVUA3o5Ga95SBMCy4pt03lvGAGQYZFuFnyUE UutYFwSrOQjsOC2jYQ4dBdTKK5bY1FSubb/9cJ7UTb/5DsKnsOf/hW9qBNh+9IQd7gAAACV0RVh0 ZGF0ZTpjcmVhdGUAMjAyMS0xMi0xMFQwNTozMzoyMiswMDowMDeBjIMAAAAldEVYdGRhdGU6bW9k aWZ5ADIwMjEtMTItMTBUMDU6MzM6MjIrMDA6MDBG3DQ/AAAAAElFTkSuQmCC X-Now-Playing: David Bowie's _Ziggy Stardust And The Spiders From Mars (1)_: "Hang Onto Yourself" In-Reply-To: (Richard Stallman's message of "Thu, 09 Dec 2021 23:53:27 -0500") X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f9:2b:f0f::2 (failed) Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -35 X-Spam_score: -3.6 X-Spam_bar: --- X-Spam_report: (-3.6 / 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, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_NONE=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:281569 Archived-At: Richard Stallman writes: > If we provide a feature for storing persistent Lisp data, I contend > that the default option should be to store it in a purely textual > file. > > Many users will not store large amounts of data, and a textual file > would be much less risk-prone than any other method. There will, of course, be large amounts of data, and that will be slow. (People already do this with a number things, and the results are predictably sluggish.) > If we decide also to implement the feature of sqlite3 database access, > we could offer the option of storing persistent Lisp data in such a > database. Users should be able to choose one storage format or the > other for each database. You'll get a slower and messier interface. If you're (optionally) storing the data in different data files, which ones has precedence? Will all these backends have the same semantics wrt. concurrent updates from different Emacs instances? Will they offer the same introspection opportunities (like "delete all stored data that refer to 'foo'"?) Offering a number of backend storage options is just needlessly complicating things, and we'll end up with a big non-performant mess, as usual in Emacs. For this feature to be attractive, there's a bunch of performance issues and features that have to be present, and they will be in my implementation, based on storing using sqlite3. I won't be adding any other backends for this. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no