GNU bug report logs - #59346
Adding sqlite-backup

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Andrew Hyatt <ahyatt@HIDDEN>; Keywords: wontfix; dated Fri, 18 Nov 2022 02:41:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 07:52:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 02:52:57 2022
Received: from localhost ([127.0.0.1]:38910 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owIem-0007HO-Uq
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:52:57 -0500
Received: from eggs.gnu.org ([209.51.188.92]:43530)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1owIek-0007HC-Ng
 for 59346 <at> debbugs.gnu.org; Sat, 19 Nov 2022 02:52:55 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1owIef-0003qo-1y; Sat, 19 Nov 2022 02:52:49 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=2d2vST7sjVi/oa8ihybB0cUDRdX63u7EDcfe12YK8GU=; b=d2RE+OwkiA7x
 t9Fo4YkFSbld+ZFE7dQK1Kggh30Hl6vpH/di/NtJNKXfHcV6P2ChKhbFeQir4KDsysvWC0FyQU7kH
 lDl7lVHo0s3j7uVCYPXGbYWcPT5pPad6Q+eO1lHDWjx8mVRsLZLSIvsko7AT0cCvicekjPxl/fbOY
 mwQ1051iE09ze3oCEUzznmkLJDzp2uQqoujZCZ4K3n7fycA1L0fMvFBuMhD1uJwx417F0OYj4AHD6
 Da5HTeX+UuJ7A2mqXHhNRq3Oo3R9BTYid3Y8TktA97j19z2rHzSJoFd9XiUyPp5t6+jl5BPSh2yTW
 ydQy+xCtL9KpJxTXAmwdzw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1owIee-0004jC-Hm; Sat, 19 Nov 2022 02:52:48 -0500
Date: Sat, 19 Nov 2022 09:52:55 +0200
Message-Id: <835yfb9y94.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Jean Louis <bugs@HIDDEN>
In-Reply-To: <Y3hm4XjymCpyvDiY@HIDDEN> (message from Jean Louis
 on Sat, 19 Nov 2022 08:17:21 +0300)
Subject: Re: bug#59346: Adding sqlite-backup
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
 <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
 <83h6ywbgo5.fsf@HIDDEN> <Y3hm4XjymCpyvDiY@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59346
Cc: ahyatt@HIDDEN, 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Sat, 19 Nov 2022 08:17:21 +0300
> From: Jean Louis <bugs@HIDDEN>
> Cc: Andrew Hyatt <ahyatt@HIDDEN>, 59346 <at> debbugs.gnu.org
> 
> When SQLite is already included in Emacs, it should not expect then
> that external SQLite related software is available on the system.

I disagree.  We included sqlite support in Emacs to let Lisp programs
gain access to databases, but we didn't intend to make Emacs a
platform for developing full-fledged sqlite applications.  And I see
nothing wrong with using external applications for DB administration,
especially since the tools to do that come with the same sqlite
installation as the library.

> It is logical that Emacs with SQLite included should have proper way
> of doing backup without relying on external tools.

You take that logic too far beyond our intent.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.
Added tag(s) wontfix. Request was from Eli Zaretskii <eliz@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Eli Zaretskii <eliz@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 05:30:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 00:30:45 2022
Received: from localhost ([127.0.0.1]:38763 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owGRB-0003X7-2w
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:30:45 -0500
Received: from stw1.rcdrun.com ([217.170.207.13]:45489)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bugs@HIDDEN>) id 1owGR6-0003Wu-Tc
 for 59346 <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:30:43 -0500
Received: from localhost ([::ffff:197.239.5.174])
 (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384)
 by stw1.rcdrun.com with ESMTPSA
 id 00000000000F612E.00000000637869FE.0000118E; Fri, 18 Nov 2022 22:30:38 -0700
Date: Sat, 19 Nov 2022 08:29:58 +0300
From: Jean Louis <bugs@HIDDEN>
To: Andrew Hyatt <ahyatt@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
Message-ID: <Y3hp1imYPpgs22yk@HIDDEN>
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
 <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
 <83h6ywbgo5.fsf@HIDDEN>
 <CAM6wYYKbTJ=c=HZ1tbtHDSr7aA++ByRO6hHuBCwn5BcVa3Bq2A@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
In-Reply-To: <CAM6wYYKbTJ=c=HZ1tbtHDSr7aA++ByRO6hHuBCwn5BcVa3Bq2A@HIDDEN>
User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02)
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: * Andrew Hyatt <ahyatt@HIDDEN> [2022-11-19 05:07]: > But
 if you are interested in furthering the conversation, which has a lot > to
 do with what I'm talking about in my upcoming (and already record [...] 
 Content analysis details:   (2.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
 [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 59346
Cc: Eli Zaretskii <eliz@HIDDEN>, 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.6 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  * Andrew Hyatt <ahyatt@HIDDEN> [2022-11-19 05:07]: > But
    if you are interested in furthering the conversation, which has a lot > to
    do with what I'm talking about in my upcoming (and already record [...] 
 
 Content analysis details:   (1.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
                             [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

* Andrew Hyatt <ahyatt@HIDDEN> [2022-11-19 05:07]:
> But if you are interested in furthering the conversation, which has a lot
> to do with what I'm talking about in my upcoming (and already recorded)
> Emacs conference talk, I don't think the distinction you are making between
> files and databases is important.  Let's say I wanted to store, use and
> otherwise manipulate contact information with emacs.  Right now that sort
> of thing happens with a file with emacs-readable lists inside, but it's
> really more natural to do it with a database.  The fact that it's done via
> a file now seems historical, especially now that we have sqlite.  I expect
> that sqlite will be used for this sort of thing more often.  However, if
> there's no database option, then maybe not, since it won't be seen as
> reliable as the filesystem.  I don't think it is reasonable to expect users
> to figure out how to do this, even if the info is easy to find.  I'd like
> us to be able to encourage the use of sqlite for data, and give the user a
> good experience when sqlite is the backend.

I totally agree on that.

I have already made SQLite version of CRM for Emacs by using SQLite,
but it is not polished for public, it will be soon.

Backing up database which does not run on the file system is
trivial. That often needs human interaction.

Though there are use cases when programs run continuously without
human interaction and where there are too many changes to the database
that one cannot just control by human.

Thus program itself should be able to reliably backup the database
while it is running without human supervision.

There are programs like sending of mailing list, sending thousands of
SMS messages, and such programs may run autonomously over days. That
is how my programs are designed. They may accept the sales lead and
re-check if any new person has subscribed, then dispatch e-mail and
SMS to that person.

Having reliable backup functions thus is necessary and useful in those
cases of running programs.

--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 05:17:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 00:17:36 2022
Received: from localhost ([127.0.0.1]:38732 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owGER-0003AU-Nv
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:17:36 -0500
Received: from stw1.rcdrun.com ([217.170.207.13]:60983)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bugs@HIDDEN>) id 1owGEP-0003AJ-Qt
 for 59346 <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:17:34 -0500
Received: from localhost ([::ffff:197.239.5.174])
 (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384)
 by stw1.rcdrun.com with ESMTPSA
 id 00000000000F612E.00000000637866EC.00001098; Fri, 18 Nov 2022 22:17:31 -0700
Date: Sat, 19 Nov 2022 08:17:21 +0300
From: Jean Louis <bugs@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
Message-ID: <Y3hm4XjymCpyvDiY@HIDDEN>
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
 <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
 <83h6ywbgo5.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
In-Reply-To: <83h6ywbgo5.fsf@HIDDEN>
User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02)
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: * Eli Zaretskii <eliz@HIDDEN> [2022-11-18 15:18]: > > From:
 Andrew Hyatt <ahyatt@HIDDEN> > > Date: Fri, 18 Nov 2022 09:05:58 -0300
 > > Cc: 59346 <at> debbugs.gnu.org > > > > Thanks, but I'm not sure Em [...] 
 Content analysis details:   (2.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
 [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 59346
Cc: Andrew Hyatt <ahyatt@HIDDEN>, 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.6 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  * Eli Zaretskii <eliz@HIDDEN> [2022-11-18 15:18]: > > From:
    Andrew Hyatt <ahyatt@HIDDEN> > > Date: Fri, 18 Nov 2022 09:05:58 -0300
    > > Cc: 59346 <at> debbugs.gnu.org > > > > Thanks, but I'm not sure Em [...] 
 
 Content analysis details:   (1.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
                             [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

* Eli Zaretskii <eliz@HIDDEN> [2022-11-18 15:18]:
> > From: Andrew Hyatt <ahyatt@HIDDEN>
> > Date: Fri, 18 Nov 2022 09:05:58 -0300
> > Cc: 59346 <at> debbugs.gnu.org
> > 
> >  Thanks, but I'm not sure Emacs should support DB administration
> >  functions of sqlite.  Aren't there utilities out there which can be
> >  used for this?  Why should we have this built-in in Emacs? why not
> >  simply use shell-command or somesuch to invoke the necessary external
> >  program?
> > 
> > Good questions. Let me respond to your two questions: why does emacs need to be involved in backups,
> > and why can't it control backups some other way?
> > 
> > Emacs already has a file backup facility, but if emacs is primarily working with data in sqlite, there is no
> > mechanism for backups, which seems scary to me.  I'd like modules that rely on sqlite for data to be able to
> > back up their data, because the user would like to have some security, knowing if something goes wrong
> > they can always restore a recent backup.
> 
> A database is not like a normal file, and so the fact that Emacs has
> backups doesn't seem to be a reason good enough to extend the backups
> to DB operations.

In this case SQLite database is normal file. It is not text. But it is
definitely a file.

It requires usage of internal functions:

SQLite Backup API:
https://www.sqlite.org/backup.html

> We don't bother with this when we send email or do other operations.
> We also have auto-save and file-locks for normal file, but not for
> DBs.  And a DB is not a file, it is a (large) collection of tables
> and records, and Emacs deals with at most a single table at a time,
> AFAIU.

You mean it is not text file.

> More generally, DB administration is outside of the Emacs scope, and
> how to do that properly is outside our expertise.  There's more to it
> than just backing up the DB.

When there are sqlite functions included then so much of database
administration automatically becomes available to Emacs. Statement is
contradictory to the inclusion of SQLite.

> This SO article:
> 
>   https://stackoverflow.com/questions/25675314/how-to-backup-sqlite-database
> 
> (which is the first hit I get if I "how to backup sqlite database"
> into the browser search box) says that you can backup the DB by using
> the sqlite3 executable.  I think it is reasonable to expect users who
> want to backup their DB to have this executable and use it for that
> purpose (and other purposes, as they need).  I do have this executable
> here, FWIW.
> 
> So I think these needs should be fulfilled "by other means", not by
> Emacs Lisp programs.

That patch uses SQLite internals, without those, Emacs Lisp can't
properly backup the database. Without that patch, Emacs which does
support now SQLite would ask users to default to using external
program, like:

`sqlite3 currentDB.sqlite ".backup backuDB.sqlite"'

but how sure are you that you will have that external program
`sqlite3' in existence? 

When SQLite is already included in Emacs, it should not expect then
that external SQLite related software is available on the system.

It is logical that Emacs with SQLite included should have proper way
of doing backup without relying on external tools.

--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 05:04:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 00:04:58 2022
Received: from localhost ([127.0.0.1]:38705 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owG2D-0002pg-J1
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:04:58 -0500
Received: from stw1.rcdrun.com ([217.170.207.13]:36779)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bugs@HIDDEN>) id 1owG2C-0002pF-5b
 for 59346 <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:04:56 -0500
Received: from localhost ([::ffff:197.239.5.174])
 (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384)
 by stw1.rcdrun.com with ESMTPSA
 id 00000000000F612E.00000000637863F8.00000F06; Fri, 18 Nov 2022 22:04:56 -0700
Date: Sat, 19 Nov 2022 08:03:35 +0300
From: Jean Louis <bugs@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
Message-ID: <Y3hjp3O7AT5is3BR@HIDDEN>
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
In-Reply-To: <837czsd7sr.fsf@HIDDEN>
User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02)
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: * Eli Zaretskii <eliz@HIDDEN> [2022-11-18 10:48]: > > From:
 Andrew Hyatt <ahyatt@HIDDEN> > > Date: Thu, 17 Nov 2022 23:40:11 -0300
 > > > > Currently there's no great way to perform a proper backup [...] 
 Content analysis details:   (2.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
 [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 59346
Cc: Andrew Hyatt <ahyatt@HIDDEN>, 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.6 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  * Eli Zaretskii <eliz@HIDDEN> [2022-11-18 10:48]: > > From:
    Andrew Hyatt <ahyatt@HIDDEN> > > Date: Thu, 17 Nov 2022 23:40:11 -0300
    > > > > Currently there's no great way to perform a proper backup [...] 
 
 Content analysis details:   (1.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
                             [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

* Eli Zaretskii <eliz@HIDDEN> [2022-11-18 10:48]:
> > From: Andrew Hyatt <ahyatt@HIDDEN>
> > Date: Thu, 17 Nov 2022 23:40:11 -0300
> > 
> > Currently there's no great way to perform a proper backup of a sqlite database if you use the built-in sqlite in
> > emacs 29.  If you just copy the file, there's a chance another database user is in the middle of something,
> > and the database could be corrupted.
> > 
> > I've included a patch that fixes this. I would the sqlite-backup function to exist so I can use it in the ELPA
> > triples package.
> 
> Thanks, but I'm not sure Emacs should support DB administration
> functions of sqlite.  Aren't there utilities out there which can be
> used for this?  Why should we have this built-in in Emacs? why not
> simply use shell-command or somesuch to invoke the necessary external
> program?

sqlite functions in Emacs ARE database administration. Not only here
mentioned backup functions. I can read in the patch that it uses
proper way of backup for the SQLite.

And backup function is part of SQLite internals.

https://www.sqlite.org/backup.html

Using the SQLite Online Backup API

Historically, backups (copies) of SQLite databases have been created using the following method:

    Establish a shared lock on the database file using the SQLite API (i.e. the shell tool).
    Copy the database file using an external tool (for example the unix 'cp' utility or the DOS 'copy' command).
    Relinquish the shared lock on the database file obtained in step 1. 

This procedure works well in many scenarios and is usually very fast. However, this technique has the following shortcomings:

    Any database clients wishing to write to the database file while a backup is being created must wait until the shared lock is relinquished.
    It cannot be used to copy data to or from in-memory databases.
    If a power failure or operating system failure occurs while copying the database file the backup database may be corrupted following system recovery. 

The Online Backup API was created to address these concerns. The
online backup API allows the contents of one database to be copied
into another database file, replacing any original contents of the
target database. The copy operation may be done incrementally, in
which case the source database does not need to be locked for the
duration of the copy, only for the brief periods of time when it is
actually being read from. This allows other database users to continue
without excessive delays while a backup of an online database is made.

https://www.sqlite.org/c3ref/backup_finish.html#sqlite3backupinit

--
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 05:04:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 19 00:04:54 2022
Received: from localhost ([127.0.0.1]:38702 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owG2A-0002pR-8J
	for submit <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:04:54 -0500
Received: from stw1.rcdrun.com ([217.170.207.13]:36779)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bugs@HIDDEN>) id 1owG26-0002pF-FW
 for 59346 <at> debbugs.gnu.org; Sat, 19 Nov 2022 00:04:52 -0500
Received: from localhost ([::ffff:197.239.5.174])
 (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384)
 by stw1.rcdrun.com with ESMTPSA
 id 00000000000F612E.00000000637863F1.00000EF5; Fri, 18 Nov 2022 22:04:49 -0700
Date: Sat, 19 Nov 2022 07:52:33 +0300
From: Jean Louis <bugs@HIDDEN>
To: Andrew Hyatt <ahyatt@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
Message-ID: <Y3hhER+n8ZAwfzjS@HIDDEN>
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
In-Reply-To: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02)
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: * Andrew Hyatt <ahyatt@HIDDEN> [2022-11-18 05:42]: >
 Currently
 there's no great way to perform a proper backup of a sqlite > database if
 you use the built-in sqlite in emacs 29. If you just copy th [...] 
 Content analysis details:   (2.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
 [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
X-Debbugs-Envelope-To: 59346
Cc: 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.6 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  * Andrew Hyatt <ahyatt@HIDDEN> [2022-11-18 05:42]: > Currently
    there's no great way to perform a proper backup of a sqlite > database if
    you use the built-in sqlite in emacs 29. If you just copy th [...] 
 
 Content analysis details:   (1.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  2.6 RCVD_IN_SBL            RBL: Received via a relay in Spamhaus SBL
                             [197.239.5.174 listed in zen.spamhaus.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

* Andrew Hyatt <ahyatt@HIDDEN> [2022-11-18 05:42]:
> Currently there's no great way to perform a proper backup of a sqlite
> database if you use the built-in sqlite in emacs 29.  If you just copy the
> file, there's a chance another database user is in the middle of something,
> and the database could be corrupted.
> 
> I've included a patch that fixes this. I would the sqlite-backup function
> to exist so I can use it in the ELPA triples package.

How I see those functions, that shall be included in Emacs as they are
standard part of SQLite.

SQLite Backup API:
https://www.sqlite.org/backup.html


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 19 Nov 2022 02:05:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 18 21:05:42 2022
Received: from localhost ([127.0.0.1]:38581 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1owDEk-0006lt-0B
	for submit <at> debbugs.gnu.org; Fri, 18 Nov 2022 21:05:42 -0500
Received: from mail-yw1-f170.google.com ([209.85.128.170]:45767)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ahyatt@HIDDEN>) id 1owDEg-0006le-8O
 for 59346 <at> debbugs.gnu.org; Fri, 18 Nov 2022 21:05:40 -0500
Received: by mail-yw1-f170.google.com with SMTP id
 00721157ae682-369426664f9so65685977b3.12
 for <59346 <at> debbugs.gnu.org>; Fri, 18 Nov 2022 18:05:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=vSEDD0iZRSif4zXHXNcSA7C2Ykcg4tIkzH4LbBcA5oI=;
 b=I9QOn85gEHDUO8hma9yymkisRQzgE+LVRGuRzwYUBwLzDqsLhdSsrMLtk2HjRkiK+G
 8qo9Z+nPOYzqgf1Q0H4DjqnRUzUQZzBd1pUNoi2DBrY3kdQ1gGWQBdHLrYjQ2oYx+xJ+
 9/1lG5PiolDPtlULjKG/AbnTMEMZ0gSsPBIFUYPQox/IUdt16eFkJat7lQgSi8UZzA4b
 rzzs0/Na0ALlLzlPw+VMBMVlLv/wjj1nXIUdIXCX+68AXnZXqRFn/Me2Ern+MllibC1K
 rqMe2P6iE5EvzXbSCDBVt5x1+6huNqV/Hs7QI+DsFOz9+KzBT0H901ggFh953dWEjHFZ
 l37A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=vSEDD0iZRSif4zXHXNcSA7C2Ykcg4tIkzH4LbBcA5oI=;
 b=UWtC5zzHU0HHLoXF4C/ma1pZp49NrJghJIqmSDfSJPVOaP6kuTumb5PZP42HCyAJv3
 2qj9CRL+ch47+Txudh5flxteWXRwBxWmAIdi/iBVA4/Tfq3vpfVrmngL9DG0MD4sEcG9
 0gkb2nxQATsgWqJtvmOO4zpBZLfr9XAfQvMH2mPbpIF1Cm4KFnyOj5O0ma26SwcVK97A
 54CjoWVl0vKIurw9Wq8THnRRdr998nRRk/q7/xPogEfje+icTNN7oLW+knwQs5ruvOgU
 Tu45gX5PhvQN6HDf1mXFEWfmIKWtPfcl9ATNfkKxgW7myPe4v7iv4Qu83iX92uhOpx+2
 0R8w==
X-Gm-Message-State: ANoB5pkDjrJNBR3z0WB+0Q588dW+iwExoaZGOuBkT2gwFboGXnjO9/5e
 nzjB/6gNIvstlDoQr6I1A0g+h4OPlPld5Br0HmCchaTY87BpvA==
X-Google-Smtp-Source: AA0mqf7T7Bq9EFZHinO7qrIWEV4eLhKDFmTevCBKURa435xAaYKv/ONbJj409B9MkSZ7Z3n5fc0TFzoCRjZq+dbcXLM=
X-Received: by 2002:a05:690c:789:b0:373:5455:6125 with SMTP id
 bw9-20020a05690c078900b0037354556125mr8933253ywb.27.1668823532508; Fri, 18
 Nov 2022 18:05:32 -0800 (PST)
MIME-Version: 1.0
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
 <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
 <83h6ywbgo5.fsf@HIDDEN>
In-Reply-To: <83h6ywbgo5.fsf@HIDDEN>
From: Andrew Hyatt <ahyatt@HIDDEN>
Date: Fri, 18 Nov 2022 23:05:20 -0300
Message-ID: <CAM6wYYKbTJ=c=HZ1tbtHDSr7aA++ByRO6hHuBCwn5BcVa3Bq2A@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="000000000000d91c5a05edc941d0"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 59346
Cc: 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000d91c5a05edc941d0
Content-Type: text/plain; charset="UTF-8"

On Fri, Nov 18, 2022 at 9:17 AM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Andrew Hyatt <ahyatt@HIDDEN>
> > Date: Fri, 18 Nov 2022 09:05:58 -0300
> > Cc: 59346 <at> debbugs.gnu.org
> >
> >  Thanks, but I'm not sure Emacs should support DB administration
> >  functions of sqlite.  Aren't there utilities out there which can be
> >  used for this?  Why should we have this built-in in Emacs? why not
> >  simply use shell-command or somesuch to invoke the necessary external
> >  program?
> >
> > Good questions. Let me respond to your two questions: why does emacs
> need to be involved in backups,
> > and why can't it control backups some other way?
> >
> > Emacs already has a file backup facility, but if emacs is primarily
> working with data in sqlite, there is no
> > mechanism for backups, which seems scary to me.  I'd like modules that
> rely on sqlite for data to be able to
> > back up their data, because the user would like to have some security,
> knowing if something goes wrong
> > they can always restore a recent backup.
>
> A database is not like a normal file, and so the fact that Emacs has
> backups doesn't seem to be a reason good enough to extend the backups
> to DB operations.  We don't bother with this when we send email or do
> other operations.  We also have auto-save and file-locks for normal
> file, but not for DBs.  And a DB is not a file, it is a (large)
> collection of tables and records, and Emacs deals with at most a
> single table at a time, AFAIU.


> More generally, DB administration is outside of the Emacs scope, and
> how to do that properly is outside our expertise.  There's more to it
> than just backing up the DB.
>
> So I don't think we should extend the Emacs sqlite3 support in this
> direction.
>

I disagree, but I understand this is just a difference of opinion, so I'm
happy to let this patch sit here until there's more demand for this sort of
thing.

But if you are interested in furthering the conversation, which has a lot
to do with what I'm talking about in my upcoming (and already recorded)
Emacs conference talk, I don't think the distinction you are making between
files and databases is important.  Let's say I wanted to store, use and
otherwise manipulate contact information with emacs.  Right now that sort
of thing happens with a file with emacs-readable lists inside, but it's
really more natural to do it with a database.  The fact that it's done via
a file now seems historical, especially now that we have sqlite.  I expect
that sqlite will be used for this sort of thing more often.  However, if
there's no database option, then maybe not, since it won't be seen as
reliable as the filesystem.  I don't think it is reasonable to expect users
to figure out how to do this, even if the info is easy to find.  I'd like
us to be able to encourage the use of sqlite for data, and give the user a
good experience when sqlite is the backend.


>
> > But why can't we do this by invoking backup via the binary?  Certainly a
> possibility, and in fact that's how I
> > would implement it if the sqlite library was instead emacsql-sqlite.
> However, I have no idea how to locate the
> > binary; that isn't part of the current built-in sqlite implementation.
> For good reason, too, it's a built-in
> > implementation, including a variable holding the executable path seems
> odd.  I could add one, but this
> > solution seems better to me, since it doubles down on the built-in
> sqlite, and doesn't provide an alternative
> > mechanism for doing things with sqlite.
>
> This SO article:
>
>
> https://stackoverflow.com/questions/25675314/how-to-backup-sqlite-database
>
> (which is the first hit I get if I "how to backup sqlite database"
> into the browser search box) says that you can backup the DB by using
> the sqlite3 executable.  I think it is reasonable to expect users who
> want to backup their DB to have this executable and use it for that
> purpose (and other purposes, as they need).  I do have this executable
> here, FWIW.
>
> So I think these needs should be fulfilled "by other means", not by
> Emacs Lisp programs.
>

--000000000000d91c5a05edc941d0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Nov 18, 2022 at 9:17 AM Eli Zaret=
skii &lt;<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></d=
iv><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex">&gt; From: Andrew Hyatt &lt;<a href=3D"mailto:ahyatt@HIDDEN" target=
=3D"_blank">ahyatt@HIDDEN</a>&gt;<br>
&gt; Date: Fri, 18 Nov 2022 09:05:58 -0300<br>
&gt; Cc: <a href=3D"mailto:59346 <at> debbugs.gnu.org" target=3D"_blank">59346@d=
ebbugs.gnu.org</a><br>
&gt; <br>
&gt;=C2=A0 Thanks, but I&#39;m not sure Emacs should support DB administrat=
ion<br>
&gt;=C2=A0 functions of sqlite.=C2=A0 Aren&#39;t there utilities out there =
which can be<br>
&gt;=C2=A0 used for this?=C2=A0 Why should we have this built-in in Emacs? =
why not<br>
&gt;=C2=A0 simply use shell-command or somesuch to invoke the necessary ext=
ernal<br>
&gt;=C2=A0 program?<br>
&gt; <br>
&gt; Good questions. Let me respond to your two questions: why does emacs n=
eed to be involved in backups,<br>
&gt; and why can&#39;t it control backups some other way?<br>
&gt; <br>
&gt; Emacs already has a file backup facility, but if emacs is primarily wo=
rking with data in sqlite, there is no<br>
&gt; mechanism for backups, which seems scary to me.=C2=A0 I&#39;d like mod=
ules that rely on sqlite for data to be able to<br>
&gt; back up their data, because the user would like to have some security,=
 knowing if something goes wrong<br>
&gt; they can always restore a recent backup.<br>
<br>
A database is not like a normal file, and so the fact that Emacs has<br>
backups doesn&#39;t seem to be a reason good enough to extend the backups<b=
r>
to DB operations.=C2=A0 We don&#39;t bother with this when we send email or=
 do<br>
other operations.=C2=A0 We also have auto-save and file-locks for normal<br=
>
file, but not for DBs.=C2=A0 And a DB is not a file, it is a (large)<br>
collection of tables and records, and Emacs deals with at most a<br>
single table at a time, AFAIU.=C2=A0</blockquote><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">
<br>
More generally, DB administration is outside of the Emacs scope, and<br>
how to do that properly is outside our expertise.=C2=A0 There&#39;s more to=
 it<br>
than just backing up the DB.<br>
<br>
So I don&#39;t think we should extend the Emacs sqlite3 support in this<br>
direction.<br></blockquote><div><br></div><div>I disagree, but I understand=
 this is just a difference of opinion, so I&#39;m happy to let this patch s=
it here until there&#39;s more demand for this sort of thing.=C2=A0<div><br=
></div><div>But if you are interested in furthering the conversation, which=
 has a lot to do with what I&#39;m talking about in my upcoming (and alread=
y recorded) Emacs conference talk, I don&#39;t think the distinction you ar=
e making between files and databases is important.=C2=A0 Let&#39;s say I wa=
nted to store, use and otherwise manipulate contact information with emacs.=
=C2=A0 Right now that sort of thing happens with=C2=A0a file with emacs-rea=
dable lists inside, but it&#39;s really more natural to do it with a databa=
se.=C2=A0 The fact that it&#39;s done via a file now seems historical, espe=
cially now that we have sqlite.=C2=A0 I expect that sqlite will be used for=
 this sort of thing more often.=C2=A0 However, if there&#39;s no database o=
ption, then maybe not, since it won&#39;t be seen as reliable as the filesy=
stem.=C2=A0 I don&#39;t think it is reasonable to expect users to figure ou=
t how to do this, even if the info is easy to find.=C2=A0 I&#39;d like us t=
o be able to encourage the use of sqlite for data, and give the user a good=
 experience when sqlite is the backend.</div></div><div>=C2=A0</div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex">
<br>
&gt; But why can&#39;t we do this by invoking backup via the binary?=C2=A0 =
Certainly a possibility, and in fact that&#39;s how I<br>
&gt; would implement it if the sqlite library was instead emacsql-sqlite.=
=C2=A0 However, I have no idea how to locate the<br>
&gt; binary; that isn&#39;t part of the current built-in sqlite implementat=
ion.=C2=A0 For good reason, too, it&#39;s a built-in<br>
&gt; implementation, including a variable holding the executable path seems=
 odd.=C2=A0 I could add one, but this<br>
&gt; solution seems better to me, since it doubles down on the built-in sql=
ite, and doesn&#39;t provide an alternative<br>
&gt; mechanism for doing things with sqlite.<br>
<br>
This SO article:<br>
<br>
=C2=A0 <a href=3D"https://stackoverflow.com/questions/25675314/how-to-backu=
p-sqlite-database" rel=3D"noreferrer" target=3D"_blank">https://stackoverfl=
ow.com/questions/25675314/how-to-backup-sqlite-database</a><br>
<br>
(which is the first hit I get if I &quot;how to backup sqlite database&quot=
;<br>
into the browser search box) says that you can backup the DB by using<br>
the sqlite3 executable.=C2=A0 I think it is reasonable to expect users who<=
br>
want to backup their DB to have this executable and use it for that<br>
purpose (and other purposes, as they need).=C2=A0 I do have this executable=
<br>
here, FWIW.<br>
<br>
So I think these needs should be fulfilled &quot;by other means&quot;, not =
by<br>
Emacs Lisp programs.<br>
</blockquote></div></div>

--000000000000d91c5a05edc941d0--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 18 Nov 2022 12:17:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 18 07:17:36 2022
Received: from localhost ([127.0.0.1]:35570 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ow0JL-0005YA-Qg
	for submit <at> debbugs.gnu.org; Fri, 18 Nov 2022 07:17:36 -0500
Received: from eggs.gnu.org ([209.51.188.92]:42700)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ow0JK-0005Xw-GW
 for 59346 <at> debbugs.gnu.org; Fri, 18 Nov 2022 07:17:34 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ow0JF-0002z0-7E; Fri, 18 Nov 2022 07:17:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=rOnc6ZQw30GE7W1y1UUe0sUHpRSsYSOSDXt4L+mSI6o=; b=Pni5DQiAbKgp
 rx1Tu4oZCwydvUPp04VuAWwBePeHJht/j02/YQfs3AsYcqgjH6S2vDAgUOOsb+WXUzUMxK73FwEzi
 ob8+QYyd3GdXpQNtp7oNXVmSCo0baeLijEpUUfyOf1OACt7gkcs8Cv2ZLelpwlk8WyEyTknD0cOII
 MFweoROBqbxpTP/pIX2ecYU8NGa0Vfr7foYtmEpTUefbVmmLAQ37mkgMATpADXNMzL2ZLtmsO49Rp
 QH1t2c/nOnb2ZDYMA5CCcQZGsmGCwlkHi3bnQI1UYTdurOUWnWMbe+4yrPkNVjmBpI0WFTLoI39TX
 gqAuSC82M6mC+9kEMF1fBA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ow0JD-0007Ld-6s; Fri, 18 Nov 2022 07:17:28 -0500
Date: Fri, 18 Nov 2022 14:17:30 +0200
Message-Id: <83h6ywbgo5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Andrew Hyatt <ahyatt@HIDDEN>
In-Reply-To: <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
 (message from Andrew Hyatt on Fri, 18 Nov 2022 09:05:58 -0300)
Subject: Re: bug#59346: Adding sqlite-backup
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
 <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59346
Cc: 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Andrew Hyatt <ahyatt@HIDDEN>
> Date: Fri, 18 Nov 2022 09:05:58 -0300
> Cc: 59346 <at> debbugs.gnu.org
> 
>  Thanks, but I'm not sure Emacs should support DB administration
>  functions of sqlite.  Aren't there utilities out there which can be
>  used for this?  Why should we have this built-in in Emacs? why not
>  simply use shell-command or somesuch to invoke the necessary external
>  program?
> 
> Good questions. Let me respond to your two questions: why does emacs need to be involved in backups,
> and why can't it control backups some other way?
> 
> Emacs already has a file backup facility, but if emacs is primarily working with data in sqlite, there is no
> mechanism for backups, which seems scary to me.  I'd like modules that rely on sqlite for data to be able to
> back up their data, because the user would like to have some security, knowing if something goes wrong
> they can always restore a recent backup.

A database is not like a normal file, and so the fact that Emacs has
backups doesn't seem to be a reason good enough to extend the backups
to DB operations.  We don't bother with this when we send email or do
other operations.  We also have auto-save and file-locks for normal
file, but not for DBs.  And a DB is not a file, it is a (large)
collection of tables and records, and Emacs deals with at most a
single table at a time, AFAIU.

More generally, DB administration is outside of the Emacs scope, and
how to do that properly is outside our expertise.  There's more to it
than just backing up the DB.

So I don't think we should extend the Emacs sqlite3 support in this
direction.

> But why can't we do this by invoking backup via the binary?  Certainly a possibility, and in fact that's how I
> would implement it if the sqlite library was instead emacsql-sqlite.  However, I have no idea how to locate the
> binary; that isn't part of the current built-in sqlite implementation.  For good reason, too, it's a built-in
> implementation, including a variable holding the executable path seems odd.  I could add one, but this
> solution seems better to me, since it doubles down on the built-in sqlite, and doesn't provide an alternative
> mechanism for doing things with sqlite.

This SO article:

  https://stackoverflow.com/questions/25675314/how-to-backup-sqlite-database

(which is the first hit I get if I "how to backup sqlite database"
into the browser search box) says that you can backup the DB by using
the sqlite3 executable.  I think it is reasonable to expect users who
want to backup their DB to have this executable and use it for that
purpose (and other purposes, as they need).  I do have this executable
here, FWIW.

So I think these needs should be fulfilled "by other means", not by
Emacs Lisp programs.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 18 Nov 2022 12:06:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 18 07:06:19 2022
Received: from localhost ([127.0.0.1]:35542 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ow08Q-000326-Ju
	for submit <at> debbugs.gnu.org; Fri, 18 Nov 2022 07:06:19 -0500
Received: from mail-yb1-f176.google.com ([209.85.219.176]:38575)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ahyatt@HIDDEN>) id 1ow08O-00031s-9F
 for 59346 <at> debbugs.gnu.org; Fri, 18 Nov 2022 07:06:17 -0500
Received: by mail-yb1-f176.google.com with SMTP id v123so5398582ybv.5
 for <59346 <at> debbugs.gnu.org>; Fri, 18 Nov 2022 04:06:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=IvonamIerSDIPc2BFwGB9jwXohqkv01eQM6NrQMy0kM=;
 b=g1QkBNyV0zI2py4x45u5o2nDPypjenKBh3BWtXOVxe9kG5ztC7AFwVSD2kpjPgTP2R
 AD8WyibsA1qz48YNNnBfHGJDvcE81+ly64mZQ8NPVOPGeGp/z21crCNqBzDIFTXz/+OI
 ZaYuxvSHKwRUhmDUhjDquOkq0osxVXd7NdfEC0CykVFRIc47U+St0XQr/sEtmO8mmmf1
 msGLQZpOlVLnh0UcEnlEC7mlKkJv/xBeoKiq3dI3YbodcCeCI3CERch/BGZiASHaIeeo
 meldWSX9wbWVhhaGIdDv5q/xEoIppOmJAS30r3XsaaTkOajLshLTfqsC5iZuFIoBjAPd
 wmng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=IvonamIerSDIPc2BFwGB9jwXohqkv01eQM6NrQMy0kM=;
 b=UdXfwuOfwveJ9fL6b+ETVtOpriusIlxW4mdSBITglUUmCqAlBFOrkNP529EKLVZDcX
 VJlESKRJP41R8Edisaav6O5E97Mg8fezRHzD41BwTylP6g3h7GyFtmSehWrOtXRYrxm7
 HxEhKBc8xkSMvoJUnNU90ndb0UzeuXAtavhEWFTRf3PXWU8RqhCkaIrSrkxxqkEOld0a
 skAllMqevMe8okWDMTDJ9VmUwEkwcQUs0Vrefr7ACxdKajTeb1CykKggB1CNOt0WYDZ+
 wJxCSdDygC+MiqgQT8aPrXlncwYk7nP5vHBlyXZ3pxsqcZ4+hCCuFwS9tAT6pI1/08r8
 nDSQ==
X-Gm-Message-State: ANoB5plbQOjsTugyjJpT7+KUhCQRejldJkRcJs7Ixu5fZ/BOU/m9SSwq
 yRDqs+fA+PRE0QxdHU3NvqoCA3wO1mBAjk6mmFswYIlNLOQ=
X-Google-Smtp-Source: AA0mqf7gPgsSI5pYFs5ATDwc0tlk0UO771H9cJimEF5aKAuWSitqd3qOub5MpJfabXRrFcTUAW+3VkkEnebsWbCnyMA=
X-Received: by 2002:a25:6641:0:b0:6ca:b03:7111 with SMTP id
 z1-20020a256641000000b006ca0b037111mr6062100ybm.598.1668773170293; Fri, 18
 Nov 2022 04:06:10 -0800 (PST)
MIME-Version: 1.0
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 <837czsd7sr.fsf@HIDDEN>
In-Reply-To: <837czsd7sr.fsf@HIDDEN>
From: Andrew Hyatt <ahyatt@HIDDEN>
Date: Fri, 18 Nov 2022 09:05:58 -0300
Message-ID: <CAM6wYY+xp7qYx_GHg6pJh6rXeXVfo_oifZ=1j_-_=KoR1w6K7A@HIDDEN>
Subject: Re: bug#59346: Adding sqlite-backup
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary="00000000000006b37b05edbd8808"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 59346
Cc: 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--00000000000006b37b05edbd8808
Content-Type: text/plain; charset="UTF-8"

On Fri, Nov 18, 2022 at 4:46 AM Eli Zaretskii <eliz@HIDDEN> wrote:

> > From: Andrew Hyatt <ahyatt@HIDDEN>
> > Date: Thu, 17 Nov 2022 23:40:11 -0300
> >
> > Currently there's no great way to perform a proper backup of a sqlite
> database if you use the built-in sqlite in
> > emacs 29.  If you just copy the file, there's a chance another database
> user is in the middle of something,
> > and the database could be corrupted.
> >
> > I've included a patch that fixes this. I would the sqlite-backup
> function to exist so I can use it in the ELPA
> > triples package.
>
> Thanks, but I'm not sure Emacs should support DB administration
> functions of sqlite.  Aren't there utilities out there which can be
> used for this?  Why should we have this built-in in Emacs? why not
> simply use shell-command or somesuch to invoke the necessary external
> program?
>

Good questions. Let me respond to your two questions: why does emacs need
to be involved in backups, and why can't it control backups some other way?

Emacs already has a file backup facility, but if emacs is primarily working
with data in sqlite, there is no mechanism for backups, which seems scary
to me.  I'd like modules that rely on sqlite for data to be able to back up
their data, because the user would like to have some security, knowing if
something goes wrong they can always restore a recent backup.

But why can't we do this by invoking backup via the binary?  Certainly a
possibility, and in fact that's how I would implement it if the sqlite
library was instead emacsql-sqlite.  However, I have no idea how to locate
the binary; that isn't part of the current built-in sqlite implementation.
For good reason, too, it's a built-in implementation, including a variable
holding the executable path seems odd.  I could add one, but this solution
seems better to me, since it doubles down on the built-in sqlite, and
doesn't provide an alternative mechanism for doing things with sqlite.

Hope this clarifies things, let me know if you have any other questions.

--00000000000006b37b05edbd8808
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Nov 18, 2022 at 4:46 AM Eli Zaret=
skii &lt;<a href=3D"mailto:eliz@HIDDEN">eliz@HIDDEN</a>&gt; wrote:<br></d=
iv><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex">&gt; From: Andrew Hyatt &lt;<a href=3D"mailto:ahyatt@HIDDEN" target=
=3D"_blank">ahyatt@HIDDEN</a>&gt;<br>
&gt; Date: Thu, 17 Nov 2022 23:40:11 -0300<br>
&gt; <br>
&gt; Currently there&#39;s no great way to perform a proper backup of a sql=
ite database if you use the built-in sqlite in<br>
&gt; emacs 29.=C2=A0 If you just copy the file, there&#39;s a chance anothe=
r database user is in the middle of something,<br>
&gt; and the database could be corrupted.<br>
&gt; <br>
&gt; I&#39;ve included a patch that fixes this. I would the sqlite-backup f=
unction to exist so I can use it in the ELPA<br>
&gt; triples package.<br>
<br>
Thanks, but I&#39;m not sure Emacs should support DB administration<br>
functions of sqlite.=C2=A0 Aren&#39;t there utilities out there which can b=
e<br>
used for this?=C2=A0 Why should we have this built-in in Emacs? why not<br>
simply use shell-command or somesuch to invoke the necessary external<br>
program?<br></blockquote><div><br></div><div>Good questions. Let me respond=
 to your two questions: why does emacs need to be involved in backups, and =
why can&#39;t it control backups some other way?</div><div><br></div><div>E=
macs already has a file backup facility, but if emacs is primarily working =
with data in sqlite, there is no mechanism for backups, which seems scary t=
o me.=C2=A0 I&#39;d like modules that rely on sqlite for data to be able to=
 back up their data,=C2=A0because the user would like to have some security=
, knowing if something goes wrong they can always restore a recent backup.<=
/div><div><br></div><div>But why can&#39;t we do this by invoking backup vi=
a the binary?=C2=A0 Certainly a possibility, and in fact that&#39;s how I w=
ould implement it if the=C2=A0sqlite library was instead emacsql-sqlite.=C2=
=A0 However, I have no idea how to locate the binary; that isn&#39;t part o=
f the current built-in sqlite implementation.=C2=A0 For good reason, too, i=
t&#39;s a built-in implementation, including a variable holding the executa=
ble path seems odd.=C2=A0 I could add one, but this solution seems better t=
o me, since it doubles down on the built-in sqlite, and doesn&#39;t provide=
 an alternative mechanism for doing things with sqlite.</div><div><br></div=
><div>Hope this clarifies things, let me know if you have any other questio=
ns.</div><div><br></div></div></div>

--00000000000006b37b05edbd8808--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at 59346 <at> debbugs.gnu.org:


Received: (at 59346) by debbugs.gnu.org; 18 Nov 2022 07:46:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 18 02:46:18 2022
Received: from localhost ([127.0.0.1]:35150 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovw4o-0004LZ-DT
	for submit <at> debbugs.gnu.org; Fri, 18 Nov 2022 02:46:18 -0500
Received: from eggs.gnu.org ([209.51.188.92]:54004)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1ovw4k-0004LK-L0
 for 59346 <at> debbugs.gnu.org; Fri, 18 Nov 2022 02:46:17 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ovw4f-0000M3-BK; Fri, 18 Nov 2022 02:46:09 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=TZJFD0o2cJJp4ybDFFHLlAFp5Z88GKuEh37jc9URcaA=; b=e/xH9IhOLhI1
 Frgwu4wst1xKWdAm2iZnk59/rDRXScDU8fTX2s/XyZRxQFAesJfGSgrPp9QRwof7SP+WAMeSu5WBJ
 WTf5ITUsZDwJsHdyH9mq5MSQzfxxhNtJ8BWbHUMeNmxkZShFFUn+l95rNbYLWLdZzTsgXamgw/qsb
 2LF3yC+X8bhGVQHfcieTluUXCPYFCz4yrZqZRwHxZmXVw424+84NhwMhuww/tOXbj3Ox1rofsGs+b
 p9XMy207mYSs3YY6+ulWg5tWYxKBfyaxHm9SpwxcyH+jy2Jqegbo//bsZWDNnT5EZ5cb/OmDIfH6G
 ko4TgvlNUt8XTxIzQRihUg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1ovw4e-0002ld-Qw; Fri, 18 Nov 2022 02:46:09 -0500
Date: Fri, 18 Nov 2022 09:46:12 +0200
Message-Id: <837czsd7sr.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Andrew Hyatt <ahyatt@HIDDEN>
In-Reply-To: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
 (message from Andrew Hyatt on Thu, 17 Nov 2022 23:40:11 -0300)
Subject: Re: bug#59346: Adding sqlite-backup
References: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 59346
Cc: 59346 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Andrew Hyatt <ahyatt@HIDDEN>
> Date: Thu, 17 Nov 2022 23:40:11 -0300
> 
> Currently there's no great way to perform a proper backup of a sqlite database if you use the built-in sqlite in
> emacs 29.  If you just copy the file, there's a chance another database user is in the middle of something,
> and the database could be corrupted.
> 
> I've included a patch that fixes this. I would the sqlite-backup function to exist so I can use it in the ELPA
> triples package.

Thanks, but I'm not sure Emacs should support DB administration
functions of sqlite.  Aren't there utilities out there which can be
used for this?  Why should we have this built-in in Emacs? why not
simply use shell-command or somesuch to invoke the necessary external
program?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 18 Nov 2022 02:40:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 17 21:40:46 2022
Received: from localhost ([127.0.0.1]:34806 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovrJ8-0004UF-46
	for submit <at> debbugs.gnu.org; Thu, 17 Nov 2022 21:40:46 -0500
Received: from lists.gnu.org ([209.51.188.17]:50036)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ahyatt@HIDDEN>) id 1ovrJ3-0004U4-O5
 for submit <at> debbugs.gnu.org; Thu, 17 Nov 2022 21:40:44 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ahyatt@HIDDEN>) id 1ovrJ2-0001gh-DY
 for bug-gnu-emacs@HIDDEN; Thu, 17 Nov 2022 21:40:41 -0500
Received: from mail-yw1-x112a.google.com ([2607:f8b0:4864:20::112a])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <ahyatt@HIDDEN>) id 1ovrIr-0005Qc-Ss
 for bug-gnu-emacs@HIDDEN; Thu, 17 Nov 2022 21:40:40 -0500
Received: by mail-yw1-x112a.google.com with SMTP id
 00721157ae682-368edbc2c18so37050007b3.13
 for <bug-gnu-emacs@HIDDEN>; Thu, 17 Nov 2022 18:40:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=rFq/ytiBRchSA6hbd4g9NQ4QNuO4MNlaWHROvQjNgB8=;
 b=BXicQp24k8aP/r1krABTQzIP6TlbzPA9Si8OPKbKL5HPLNyQoSnGZs2L2EesMIURD/
 tKLF8MswfE4VSbaZ+qZASvdQh9n+mOr3z33X6txILXEGtcyKLIi1j6IeaBq8VNUS0oaY
 1CHLMvgYlnFWUjC+i+NfViCX3UkOMwqRbqglNhVCS6wTfy1RP5+sZGs34FI0gsuA2qUy
 mHQKoJPdaPyNwB2VYhMh6ICiemyb/CRuGz0+w4D0VqzIgkimc01Z70Z2PpxqSe0wmo5q
 GrvmOlPDwdboQ4y/80LR4kvdo3Esj9eNNGig+I88qk1Mih7/quAic01q5ceGIjb6LATW
 2oHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=rFq/ytiBRchSA6hbd4g9NQ4QNuO4MNlaWHROvQjNgB8=;
 b=fzva5c/xkZvCQCI3SRrLri64/UPQiU7JL4xi2PomAKTCNCIhxclVyt+HDfvH8FvLpH
 tUjglbTcPxaiYum/rL8KZkwYxMq1yTFGeZCGBSt1iekxaBOf119nEdKquFnrZ7nbkLXS
 BBApNmfmTv6GeYhfOPjo0Cl1WknIZOPAlAAS08Kk9WgMCRAM0wXS9JCswLOM4b2Zw/jN
 M8TmPZBIsw65woNPIg40ci3h/qhH3KrXc4hb42FNe/Bc57/RLz4t6uI9FWLTB3Sm4Ef8
 WLzS0i+66MyxYzgsUkVNi9WBBetcwypWsXhoBtBZBsQjpjG9nf6BbIznVM5+G3Ne1o0S
 es8A==
X-Gm-Message-State: ANoB5pmtJ8HUOm5dwBgI8oWeyltAg9l8bSeZYmPEm2C/Sy6MyBfJlzcY
 80niTrEz61qBZncIlpMxjWfYbap2ao1Kw6OSCD5K59L4qi4=
X-Google-Smtp-Source: AA0mqf7nUtS0lCP5Ye74pFEYTkOUkxP1gLpxToDFL520hW50gQFDyTs85bbnla3kPjm3X0SyQAe73kadbo6aI0oyF2w=
X-Received: by 2002:a05:690c:789:b0:373:5455:6125 with SMTP id
 bw9-20020a05690c078900b0037354556125mr4746849ywb.27.1668739222789; Thu, 17
 Nov 2022 18:40:22 -0800 (PST)
MIME-Version: 1.0
From: Andrew Hyatt <ahyatt@HIDDEN>
Date: Thu, 17 Nov 2022 23:40:11 -0300
Message-ID: <CAM6wYYJBmROm+vJ183vfYR3jC6sdOMDg7EO8guthwyZGGjCD0g@HIDDEN>
Subject: Adding sqlite-backup
To: Bug-Gnu-Emacs <bug-gnu-emacs@HIDDEN>
Content-Type: multipart/mixed; boundary="00000000000099912d05edb5a0cc"
Received-SPF: pass client-ip=2607:f8b0:4864:20::112a;
 envelope-from=ahyatt@HIDDEN; helo=mail-yw1-x112a.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_SPF_HELO_TEMPERROR=0.01,
 T_SPF_TEMPERROR=0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--00000000000099912d05edb5a0cc
Content-Type: multipart/alternative; boundary="00000000000099912a05edb5a0ca"

--00000000000099912a05edb5a0ca
Content-Type: text/plain; charset="UTF-8"

Currently there's no great way to perform a proper backup of a sqlite
database if you use the built-in sqlite in emacs 29.  If you just copy the
file, there's a chance another database user is in the middle of something,
and the database could be corrupted.

I've included a patch that fixes this. I would the sqlite-backup function
to exist so I can use it in the ELPA triples package.

--00000000000099912a05edb5a0ca
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Currently there&#39;s no great way to perform a proper bac=
kup of a sqlite database if you use the built-in sqlite in emacs 29.=C2=A0 =
If you just copy the file, there&#39;s a chance another database user is in=
 the middle of something, and the database could be corrupted.<div><br></di=
v><div>I&#39;ve included a patch that=C2=A0fixes this. I would the sqlite-b=
ackup function to exist so I can=C2=A0use it in the ELPA triples package.</=
div><div><br></div></div>

--00000000000099912a05edb5a0ca--

--00000000000099912d05edb5a0cc
Content-Type: application/octet-stream; 
	name="0001-Add-sqlite-backup-a-function-to-backup-sqlite-databa.patch"
Content-Disposition: attachment; 
	filename="0001-Add-sqlite-backup-a-function-to-backup-sqlite-databa.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_lalw5nun0>
X-Attachment-Id: f_lalw5nun0

RnJvbSAyZDgyODllMzRlZTc3MGEwOGM0ZjI2OTY5YWE1ZmI3YTM4Njg5OGQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgSHlhdHQgPGFoeWF0dEBnbWFpbC5jb20+CkRhdGU6
IFRodSwgMTcgTm92IDIwMjIgMjM6MzE6NTMgLTAzMDAKU3ViamVjdDogW1BBVENIXSBBZGQgYHNx
bGl0ZS1iYWNrdXAnLCBhIGZ1bmN0aW9uIHRvIGJhY2t1cCBzcWxpdGUgZGF0YWJhc2UKIGZpbGVz
CgogICAgKiBzcmMvc3FsaXRlLmM6IGNyZWF0ZSBuZXcgZGVmdW4gc3FsaXRlLWJhY2t1cCwgYW5k
IGFkZCB0aGUKICAgIG5lY2Vzc2FyeSBmdW5jdGlvbiBpbXBvcnRzIGZyb20gc3FsaXRlLgotLS0K
IHNyYy9zcWxpdGUuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCgpkaWZmIC0t
Z2l0IGEvc3JjL3NxbGl0ZS5jIGIvc3JjL3NxbGl0ZS5jCmluZGV4IDA4YmY2OTZiOGMuLjc3MTRl
MDUyOWEgMTAwNjQ0Ci0tLSBhL3NyYy9zcWxpdGUuYworKysgYi9zcmMvc3FsaXRlLmMKQEAgLTQx
LDYgKzQxLDkgQEAgREVGX0RMTF9GTiAoU1FMSVRFX0FQSSBpbnQsIHNxbGl0ZTNfY2xvc2UsIChz
cWxpdGUzKikpOwogREVGX0RMTF9GTiAoU1FMSVRFX0FQSSBpbnQsIHNxbGl0ZTNfb3Blbl92MiwK
IAkgICAgKGNvbnN0IGNoYXIqLCBzcWxpdGUzKiosIGludCwgY29uc3QgY2hhciopKTsKIERFRl9E
TExfRk4gKFNRTElURV9BUEkgaW50LCBzcWxpdGUzX3Jlc2V0LCAoc3FsaXRlM19zdG10KikpOwor
REVGX0RMTF9GTiAoU1FMSVRFX0FQSSBpbnQsIHNxbGl0ZTNfYmFja3VwX2luaXQsIChzcWxpdGUz
KiwgY29uc3QgY2hhciosIHNxbGl0ZTMqLCBjb25zdCBjaGFyKikpOworREVGX0RMTF9GTiAoU1FM
SVRFX0FQSSBpbnQsIHNxbGl0ZTNfYmFja3VwX3N0ZXAsKHNxbGl0ZTNfYmFja3VwICpwLCBpbnQg
blBhZ2UpKTsKK0RFRl9ETExfRk4gKFNRTElURV9BUEkgaW50LCBzcWxpdGUzX2JhY2t1cF9maW5p
c2gsKHNxbGl0ZTNfYmFja3VwICpwKSk7CiBERUZfRExMX0ZOIChTUUxJVEVfQVBJIGludCwgc3Fs
aXRlM19iaW5kX3RleHQsCiAJICAgIChzcWxpdGUzX3N0bXQqLCBpbnQsIGNvbnN0IGNoYXIqLCBp
bnQsIHZvaWQoKikodm9pZCopKSk7CiBERUZfRExMX0ZOIChTUUxJVEVfQVBJIGludCwgc3FsaXRl
M19iaW5kX2Jsb2IsCkBAIC04Myw2ICs4Niw5IEBAIERFRl9ETExfRk4gKFNRTElURV9BUEkgaW50
LCBzcWxpdGUzX2xvYWRfZXh0ZW5zaW9uLAogIyB1bmRlZiBzcWxpdGUzX2Nsb3NlCiAjIHVuZGVm
IHNxbGl0ZTNfb3Blbl92MgogIyB1bmRlZiBzcWxpdGUzX3Jlc2V0CisjIHVuZGVmIHNxbGl0ZV9i
YWNrdXBfaW5pdAorIyB1bmRlZiBzcWxpdGVfYmFja3VwX3N0ZXAKKyMgdW5kZWYgc3FsaXRlX2Jh
Y2t1cF9maW5pc2gKICMgdW5kZWYgc3FsaXRlM19iaW5kX3RleHQKICMgdW5kZWYgc3FsaXRlM19i
aW5kX2Jsb2IKICMgdW5kZWYgc3FsaXRlM19iaW5kX2ludDY0CkBAIC0xMDksNiArMTE1LDkgQEAg
REVGX0RMTF9GTiAoU1FMSVRFX0FQSSBpbnQsIHNxbGl0ZTNfbG9hZF9leHRlbnNpb24sCiAjIGRl
ZmluZSBzcWxpdGUzX2Nsb3NlIGZuX3NxbGl0ZTNfY2xvc2UKICMgZGVmaW5lIHNxbGl0ZTNfb3Bl
bl92MiBmbl9zcWxpdGUzX29wZW5fdjIKICMgZGVmaW5lIHNxbGl0ZTNfcmVzZXQgZm5fc3FsaXRl
M19yZXNldAorIyBkZWZpbmUgc3FsaXRlM19iYWNrdXBfaW5pdCBmbl9zcWxpdGUzX2JhY2t1cF9p
bml0CisjIGRlZmluZSBzcWxpdGUzX2JhY2t1cF9zdGVwIGZuX3NxbGl0ZTNfYmFja3VwX3N0ZXAK
KyMgZGVmaW5lIHNxbGl0ZTNfYmFja3VwX2ZpbmlzaCBmbl9zcWxpdGUzX2JhY2t1cF9maW5pc2gK
ICMgZGVmaW5lIHNxbGl0ZTNfYmluZF90ZXh0IGZuX3NxbGl0ZTNfYmluZF90ZXh0CiAjIGRlZmlu
ZSBzcWxpdGUzX2JpbmRfYmxvYiBmbl9zcWxpdGUzX2JpbmRfYmxvYgogIyBkZWZpbmUgc3FsaXRl
M19iaW5kX2ludDY0IGZuX3NxbGl0ZTNfYmluZF9pbnQ2NApAQCAtMTM4LDYgKzE0Nyw5IEBAIGxv
YWRfZGxsX2Z1bmN0aW9ucyAoSE1PRFVMRSBsaWJyYXJ5KQogICBMT0FEX0RMTF9GTiAobGlicmFy
eSwgc3FsaXRlM19jbG9zZSk7CiAgIExPQURfRExMX0ZOIChsaWJyYXJ5LCBzcWxpdGUzX29wZW5f
djIpOwogICBMT0FEX0RMTF9GTiAobGlicmFyeSwgc3FsaXRlM19yZXNldCk7CisgIExPQURfRExM
X0ZOIChsaWJyYXJ5LCBzcWxpdGUzX2JhY2t1cF9pbml0KTsKKyAgTE9BRF9ETExfRk4gKGxpYnJh
cnksIHNxbGl0ZTNfYmFja3VwX3N0ZXApOworICBMT0FEX0RMTF9GTiAobGlicmFyeSwgc3FsaXRl
M19iYWNrdXBfZmluaXNoKTsKICAgTE9BRF9ETExfRk4gKGxpYnJhcnksIHNxbGl0ZTNfYmluZF90
ZXh0KTsKICAgTE9BRF9ETExfRk4gKGxpYnJhcnksIHNxbGl0ZTNfYmluZF9ibG9iKTsKICAgTE9B
RF9ETExfRk4gKGxpYnJhcnksIHNxbGl0ZTNfYmluZF9pbnQ2NCk7CkBAIC02NDMsNiArNjU1LDUw
IEBAIERFRlVOICgic3FsaXRlLXByYWdtYSIsIEZzcWxpdGVfcHJhZ21hLCBTc3FsaXRlX3ByYWdt
YSwgMiwgMiwgMCwKIAkJICAgICAgU1NEQVRBIChjb25jYXQyIChidWlsZF9zdHJpbmcgKCJQUkFH
TUEgIiksIHByYWdtYSkpKTsKIH0KIAorCitERUZVTiAoInNxbGl0ZS1iYWNrdXAiLCBGc3FsaXRl
X2JhY2t1cCwgU3NxbGl0ZV9iYWNrdXAsIDIsIDIsIDAsCisgICAgICAgZG9jOiAvKiBCYWNrdXAg
dGhlIHNxbGl0ZSBkYXRhYmFzZSBEQiB0byBGSUxFTkFNRS4KK1RoaXMgZG9lcyBhIHNhZmUgZGF0
YWJhc2UgYmFja3VwIHRoYXQgd2lsbCBlaXRoZXIgc3VjY2VlZCBvciBzaWduYWwgYW4KK2Vycm9y
LgorCitGSUxFTkFNRSBkb2VzIG5vdCBoYXZlIHRvIGV4aXN0LCBidXQgaWYgaXQgZG9lcyBleGlz
dCwgaXQgd2lsbCBiZQorb3ZlcndyaXR0ZW4uKi8pCisgIChMaXNwX09iamVjdCBkYiwgTGlzcF9P
YmplY3QgZmlsZW5hbWUpCit7CisgIHNxbGl0ZTMgKmRlc3RfZGI7CisgIGludCByYzsKKyAgTGlz
cF9PYmplY3QgYmFja3VwX25hbWU7CisKKyAgaWYgKCFOSUxQIChmaWxlbmFtZSkpCisgICAgYmFj
a3VwX25hbWUgPSBFTkNPREVfRklMRSAoRmV4cGFuZF9maWxlX25hbWUgKGZpbGVuYW1lLCBRbmls
KSk7CisgIGVsc2UKKyAgICB4c2lnbmFsMSAoUXNxbGl0ZV9lcnJvciwgYnVpbGRfc3RyaW5nICgi
c3FsaXRlLWJhY2t1cCBtdXN0IGJlIGNhbGxlZCB3aXRoIGEgbm9uLW5pbCBmaWxlbmFtZS4iKSk7
CisgIGNoZWNrX3NxbGl0ZSAoZGIsIGZhbHNlKTsKKyAgcmMgPSBzcWxpdGUzX29wZW5fdjIoU1NE
QVRBIChiYWNrdXBfbmFtZSksICZkZXN0X2RiLAorCQkgICAgICAgKFNRTElURV9PUEVOX0NSRUFU
RSAgfCBTUUxJVEVfT1BFTl9SRUFEV1JJVEUpLCBOVUxMKTsKKworICBpZiAocmMgPT0gU1FMSVRF
X09LICkgeworICAgIHNxbGl0ZTNfYmFja3VwICpiazsKKyAgICBiayA9IHNxbGl0ZTNfYmFja3Vw
X2luaXQoZGVzdF9kYiwgIm1haW4iLCBYU1FMSVRFIChkYiktPmRiLCAibWFpbiIpOworICAgIGlm
KGJrKQorICAgICAgeworCXJjID0gc3FsaXRlM19iYWNrdXBfc3RlcChiaywgLTEpOworCWlmIChy
YyA9PSBTUUxJVEVfRE9ORSkgeworCSAgc3FsaXRlM19iYWNrdXBfZmluaXNoKGJrKTsKKwl9Cisg
ICAgICB9CisgICAgc3FsaXRlM19jbG9zZSAoZGVzdF9kYik7CisgIH0KKworICBpZiAocmMgPT0g
U1FMSVRFX0RPTkUpIHsKKyAgICByZXR1cm4gUW5pbDsKKyAgfSBlbHNlIHsKKyAgICB4c2lnbmFs
MShyYyA9PSBTUUxJVEVfTE9DS0VEIHx8IHJjID09IFNRTElURV9CVVNZPworCSAgICAgUXNxbGl0
ZV9sb2NrZWRfZXJyb3I6IFFzcWxpdGVfZXJyb3IsCisJICAgICBzcWxpdGVfcHJlcGFyZV9lcnJk
YXRhKHJjLCBYU1FMSVRFIChkYiktPmRiKSk7CisgIH0KK30KKwogI2lmZGVmIEhBVkVfU1FMSVRF
M19MT0FEX0VYVEVOU0lPTgogREVGVU4gKCJzcWxpdGUtbG9hZC1leHRlbnNpb24iLCBGc3FsaXRl
X2xvYWRfZXh0ZW5zaW9uLAogICAgICAgIFNzcWxpdGVfbG9hZF9leHRlbnNpb24sIDIsIDIsIDAs
CkBAIC03ODUsNiArODQxLDcgQEAgc3ltc19vZl9zcWxpdGUgKHZvaWQpCiAgIGRlZnN1YnIgKCZT
c3FsaXRlX2NvbW1pdCk7CiAgIGRlZnN1YnIgKCZTc3FsaXRlX3JvbGxiYWNrKTsKICAgZGVmc3Vi
ciAoJlNzcWxpdGVfcHJhZ21hKTsKKyAgZGVmc3ViciAoJlNzcWxpdGVfYmFja3VwKTsKICNpZmRl
ZiBIQVZFX1NRTElURTNfTE9BRF9FWFRFTlNJT04KICAgZGVmc3ViciAoJlNzcWxpdGVfbG9hZF9l
eHRlbnNpb24pOwogI2VuZGlmCi0tIAoyLjM3LjEgKEFwcGxlIEdpdC0xMzcuMSkKCg==
--00000000000099912d05edb5a0cc--




Acknowledgement sent to Andrew Hyatt <ahyatt@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#59346; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 19 Nov 2022 08:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.