From unknown Wed Jun 25 00:27:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65999: [PATCH] Remove column quoting and close sqlite db on buffer kill Resent-From: Thomas Hilke Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 13:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 65999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 65999@debbugs.gnu.org X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" Received: via spool by submit@debbugs.gnu.org id=B.169478304929725 (code B ref -1); Fri, 15 Sep 2023 13:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 15 Sep 2023 13:04:09 +0000 Received: from localhost ([127.0.0.1]:42418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh8US-0007jI-OF for submit@debbugs.gnu.org; Fri, 15 Sep 2023 09:04:09 -0400 Received: from lists.gnu.org ([2001:470:142::17]:43928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh6rh-0007jr-Sw for submit@debbugs.gnu.org; Fri, 15 Sep 2023 07:20:04 -0400 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 ) id 1qh6rV-0005pc-I1 for bug-gnu-emacs@gnu.org; Fri, 15 Sep 2023 07:19:49 -0400 Received: from egress-ip34a.ess.de.barracuda.com ([18.185.115.193]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qh6rS-0006wt-MU for bug-gnu-emacs@gnu.org; Fri, 15 Sep 2023 07:19:49 -0400 Received: from ATLANTIX.rollomatic.ch (mail.rollomatic.ch [80.83.55.38]) by mx-outbound11-249.eu-central-1a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 15 Sep 2023 11:19:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; d=rollomatic.ch; s=atlantix; c=simple/simple; t=1694776769; h=from:subject:to:date:message-id; bh=8ZapryZ6Wtsw5ESk3er47QMbKZZpfBN3M/cLS+PYxHc=; b=ihYn2cVL8ImWDpL31STKjhSW4ptiEox92E8zKkOzwbxEbH8X5GdDzEJslG7pudnlsAPDMHswGBe IxnocVcXHUE5PXFUAeJq0LdiHwD9A2eboHv1TVrf1+M2QXmZ0dSvqD9t/0GZ6w9o4E3mIgexeGQ9L NCBTMnsOyyVFGkC2Z1+8xLhxSj8YIydXn14fkbKmGKS4gXtbh9pIDq0fGKspT7nyDtHjf0eMBQXkF T7iMHh2ha0gsnmYEyzCLbxsFBrl2G3nu38OOXZsebiW0Cip1rFec1OMN3AXp3okKq1PiuVLEExuRX 5LEY4Vl0DbtvVZ4slIMN3YuMQfjUz01pdXQw== Received: from PACIFIX.rollomatic.ch (192.168.7.76) by ATLANTIX.rollomatic.ch (192.168.7.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Fri, 15 Sep 2023 13:19:28 +0200 Received: from PACIFIX.rollomatic.ch ([fe80::c933:7976:6078:6c75]) by PACIFIX.rollomatic.ch ([fe80::c933:7976:6078:6c75%7]) with mapi id 15.01.2507.032; Fri, 15 Sep 2023 13:19:28 +0200 From: Thomas Hilke Thread-Topic: [PATCH] Remove column quoting and close sqlite db on buffer kill Thread-Index: AdnnwyHTGbZSJsGTQnurnda7ccy8bw== Date: Fri, 15 Sep 2023 11:19:28 +0000 Message-ID: Accept-Language: fr-CH, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [192.168.19.61] Content-Type: multipart/mixed; boundary="_002_d01336fd0b2c445bb836fe655a226197rollomaticch_" MIME-Version: 1.0 X-BESS-ID: 1694776769-303065-12607-11143-1 X-BESS-VER: 2019.1_20230913.1749 X-BESS-Apparent-Source-IP: 80.83.55.38 X-BESS-Parts: H4sIAAAAAAACAzXLMQrDMAyF4btoziBFsmPnKqGDFEsUCu2QBAIld6+HZnn8PP iWL/i5wwx73wE+G8wjY+n17GdzdTOvNYsgS1kbYWhZPUlMigWu4fbH+3V7If57GqsKtl BCN2VxsjDOrEgpUp7gevwAahcwm4EAAAA= X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.250840 [from cloudscan13-149.eu-central-1a.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS119469 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 Received-SPF: pass client-ip=18.185.115.193; envelope-from=t.hilke@rollomatic.ch; helo=egress-ip34a.ess.de.barracuda.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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Mailman-Approved-At: Fri, 15 Sep 2023 09:04:01 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) --_002_d01336fd0b2c445bb836fe655a226197rollomaticch_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Tags: patch Hi everyone, I had the opportunity of using sqlite-mode recently, which is really handy for quickly inspecting the content of a database. However I noticed two issues when using it from Windows: - The sql query built by sqlite-mode-delete is syntactically correct, but misinterpreted by sqlite, and eventually do nothing. The query is of the form "REMOVE FROM table_name WHERE rowid =3D ? and 'column_name_1' =3D ? and 'column_name_2' =3D ? and ..." From [1], if I understand correctly, the quoted column name in the WHERE clause are interpreted as strings from sqlite, and as a result not a single row is ever matched and deleted. - The connection to the sqlite database (file) is never closed, even when the buffer is killed. As sqlite--db is a local variable, it's not even possible to close the connection by hand once the buffer is killed. That means that once a database file is opened with sqlite-mode-open-file, the file cannot be deleted unless emacs is closed (on Windows). Attached is the modifications that makes it work for me. I didn't have the opportunity to test it under linux or another environment. I did not want to touch the other parts that were already working, but note that sqlite support a collection of pragma statements [2] that can be used to inspect the schema of the database in a more structured why than parsing the content of the sqlite_master table. I hope it helps, and thanks for all the great work! In GNU Emacs 30.0.50 (build 2, x86_64-w64-mingw32) Repository revision: cb8f39ad6a5129fe18f2ebb0a1619f6949cd3d32 Repository branch: master Windowing system distributor 'Microsoft Corp.', version 10.0.22621 System Description: Microsoft Windows 10 Pro (v10.0.2009.22621.2134) Configured using: 'configure --prefix=3D/d/a/emacs-build/emacs-build/pkg/master-x86_64 'CFLAGS=3D-Ofast -fno-finite-math-only -fomit-frame-pointer' --with-native-compilation --with-zlib --with-xpm --with-xml2 --with-tree-sitter --without-tiff --with-rsvg --with-png --with-lcms2 --with-json --with-jpeg --with-harfbuzz --with-gnutls --with-gif --without-cairo --disable-build-details --without-dbus --with-compress-install --with-small-ja-dic' Footnotes: [1] https://www.sqlite.org/lang_keywords.html [2] https://www.sqlite.org/pragma.html Thomas Hilke --_002_d01336fd0b2c445bb836fe655a226197rollomaticch_ Content-Type: application/octet-stream; name="0001-Remove-column-quoting-and-close-sqlite-db-on-buffer-.patch" Content-Description: 0001-Remove-column-quoting-and-close-sqlite-db-on-buffer-.patch Content-Disposition: attachment; filename="0001-Remove-column-quoting-and-close-sqlite-db-on-buffer-.patch"; size=2413; creation-date="Fri, 15 Sep 2023 08:31:06 GMT"; modification-date="Fri, 15 Sep 2023 11:11:10 GMT" Content-Transfer-Encoding: base64 RnJvbSA0NDM2OGUxYTQzMjdmMzMxN2Y5MDI4MjFlOTJhMDc3ZDQxMzAzZjViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgSGlsa2UgPHQuaGlsa2VAcm9sbG9tYXRpYy5jaD4K RGF0ZTogRnJpLCAxNSBTZXAgMjAyMyAxMDozMDoyNSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIFJl bW92ZSBjb2x1bW4gcXVvdGluZyBhbmQgY2xvc2Ugc3FsaXRlIGRiIG9uIGJ1ZmZlciBraWxsCgpU aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBgc3FsaXRlLW1vZGUtLWNvbHVtbi1uYW1lc2Ag cmV0dXJucyB0aGUKbGlzdCBvZiB0aGUgdGFibGUncyBjb2x1bW5zIHF1b3RlZCB3aXRoIHNpbmds ZSBxdW90ZXMuIFRoaXMgcmVzdWx0cyBpbgphIG1hbGZvcm1lZCBzcWwgcXVlcnkgaW4gc3FsaXRl LW1vZGUtZGVsZXRlIHdoaWNoIHByZXZlbnQgdGhlIGRlbGV0aW9uCm9mIHRoZSB0YWJsZSByb3cu CgpUaGUgZml4IGludm9sdmVzIHJlZ2lzdGVyaW5nIGEgbG9jYWwgaG9vayBpbiBraWxsLWJ1ZmZl ci1ob29rIHdoaWNoCmNsb3NlcyB0aGUgZGF0YWJhc2UgdXBvbiBidWZmZXIga2lsbC4KCkFsc28g dGhlIGRhdGFiYXNlIG9wZW5lZCBieSBzcWxpdGUtbW9kZS1vcGVuLWZpbGUgaXMgc3RvcmVkIGlu IHRoZQpsb2NhbCB2YXJpYWJsZSBzcWxpdGUtLWRiLCBidXQgaXMgbmV2ZXIgY2xvc2VkLiBVbmRl ciBXaW5kb3dzIGF0CmxlYXN0LCB0aGF0IG1lYW5zIHRoYXQgZW1hY3MgbXVzdCBiZSBjbG9zZWQg Zm9yIHRoZSBjb25uZWN0aW9uIHRvIGJlCmNsb3NlZCwgYWZ0ZXIgdGhlICpTUUwgLi4uKiBidWZm ZXIgaXMga2lsbGVkLgoKVGhlIGZpeCBpcyB0byBnZXQgdGhlIGxpc3Qgb2YgY29sdW1uIGJ5IGV2 YWx1YXRpbmcgYSBwcmFnbWEgc3RhdGVtZW50Cmluc3RlYWQgb2YgbWFudWFsbHkgcGFyc2luZyBz cWxpdGUgaW50ZXJuYWwgImNyZWF0ZSB0YWJsZSIgc2NoZW1hLgotLS0KIGxpc3Avc3FsaXRlLW1v ZGUuZWwgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avc3FsaXRlLW1vZGUuZWwg Yi9saXNwL3NxbGl0ZS1tb2RlLmVsCmluZGV4IDhjYjk0NDg1MzY5Li4zOGU5Zjg0Yjg0MiAxMDA2 NDQKLS0tIGEvbGlzcC9zcWxpdGUtbW9kZS5lbAorKysgYi9saXNwL3NxbGl0ZS1tb2RlLmVsCkBA IC02Myw2ICs2Myw3IEBACiAgIChzZXRxLWxvY2FsIHNxbGl0ZS0tZGIgKHNxbGl0ZS1vcGVuIGZp bGUpKQogICAodW5sZXNzIChzcWxpdGVwIHNxbGl0ZS0tZGIpCiAgICAgKGVycm9yICJgc3FsaXRl LW9wZW4nIGZhaWxlZCB0byBvcGVuIFNRTGl0ZSBmaWxlIikpCisgIChhZGQtaG9vayAna2lsbC1i dWZmZXItaG9vayAobGFtYmRhICgpIChzcWxpdGUtY2xvc2Ugc3FsaXRlLS1kYikpIG5pbCB0KQog ICAoc3FsaXRlLW1vZGUtbGlzdC10YWJsZXMpKQogCiAoZGVmdW4gc3FsaXRlLW1vZGUtbGlzdC10 YWJsZXMgKCkKQEAgLTEzNSwyMiArMTM2LDcgQEAKIAogKGRlZnVuIHNxbGl0ZS1tb2RlLS1jb2x1 bW4tbmFtZXMgKHRhYmxlKQogICAiUmV0dXJuIGEgbGlzdCBvZiB0aGUgY29sdW1uIG5hbWVzIGZv ciBUQUJMRS4iCi0gIChsZXQgKChzcWwKLSAgICAgICAgIChjYWFyCi0gICAgICAgICAgKHNxbGl0 ZS1zZWxlY3QKLSAgICAgICAgICAgc3FsaXRlLS1kYgotICAgICAgICAgICAic2VsZWN0IHNxbCBm cm9tIHNxbGl0ZV9tYXN0ZXIgd2hlcmUgdGJsX25hbWUgPSA/IEFORCB0eXBlID0gJ3RhYmxlJyIK LSAgICAgICAgICAgKGxpc3QgdGFibGUpKSkpKQotICAgICh3aXRoLXRlbXAtYnVmZmVyCi0gICAg ICAoaW5zZXJ0IHNxbCkKLSAgICAgIChtYXBjYXIgIydzdHJpbmctdHJpbQotICAgICAgICAgICAg ICAoc3BsaXQtc3RyaW5nCi0gICAgICAgICAgICAgICA7OyBFeHRyYWN0IHRoZSBhcmdzIHRvIENS RUFURSBUQUJMRS4gIFBvaW50IGlzCi0gICAgICAgICAgICAgICA7OyBjdXJyZW50bHkgYXQgaXRz IGVuZC4KLSAgICAgICAgICAgICAgIChidWZmZXItc3Vic3RyaW5nCi0gICAgICAgICAgICAgICAg KDEtIChwb2ludCkpICAgICAgICAgICAgICAgICAgICAgICAgICA7IHJpZ2h0IGJlZm9yZSApCi0g ICAgICAgICAgICAgICAgKDErIChwcm9nbiAoYmFja3dhcmQtc2V4cCkgKHBvaW50KSkpKSA7IHJp Z2h0IGFmdGVyICgKLSAgICAgICAgICAgICAgICIsIikpKSkpCisgIChtYXBjYXIgKGxhbWJkYSAo cm93KSAobnRoIDEgcm93KSkgKHNxbGl0ZS1zZWxlY3Qgc3FsaXRlLS1kYiAoZm9ybWF0ICJwcmFn bWEgdGFibGVfaW5mbyglcykiIHRhYmxlKSkpKQogCiAoZGVmdW4gc3FsaXRlLW1vZGUtbGlzdC1k YXRhICgpCiAgICJMaXN0IHRoZSBkYXRhIGZyb20gdGhlIHRhYmxlIHVuZGVyIHBvaW50LiIKLS0g CjIuNDEuMC53aW5kb3dzLjMKCg== --_002_d01336fd0b2c445bb836fe655a226197rollomaticch_-- From unknown Wed Jun 25 00:27:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#65999: [PATCH] Remove column quoting and close sqlite db on buffer kill Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 15 Sep 2023 15:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Thomas Hilke Cc: 65999@debbugs.gnu.org Received: via spool by 65999-submit@debbugs.gnu.org id=B65999.169479274122538 (code B ref 65999); Fri, 15 Sep 2023 15:46:01 +0000 Received: (at 65999) by debbugs.gnu.org; 15 Sep 2023 15:45:41 +0000 Received: from localhost ([127.0.0.1]:44508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhB0m-0005oR-8y for submit@debbugs.gnu.org; Fri, 15 Sep 2023 11:45:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhB0g-0005OR-6c; Fri, 15 Sep 2023 11:45:38 -0400 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 ) id 1qhB0T-0000k8-9m; Fri, 15 Sep 2023 11:45:21 -0400 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=GF7XIfA/FSnT53uloLhubO4Jz7cteYciDtCfWcVkrF8=; b=WWj5gWHVDHOL +wvD/gvTpOCEoF+Q9b/Rwe/K17PsxhxenlrctVeUfm4qeM2PYNDilx4yXJ/mk0Xr46mIRcPIWnrPG qnCPlc8EqIE8KkkL+g2eszYihLFgAVDObLWLJyt+jw+QhrjQOuEwK1Mdx9U1WuprAXpc1zJhVJ+CB RlLo78aZKTSJAy4Yezx9d52+TbZDNkQrtKfrc9CfEqiXe6KkQgGjBxQFNhsX6CN5RyIq+PUi/ufOv kjB45vVnpS9F9w1QKdCadUn/eIh6f5dmz0nG9SSxNbKELsPKwz/fdYm8N24RfH47qgCCEYbe7DWKC 94vzMUWQn0hZUPD6DnABDA==; Date: Fri, 15 Sep 2023 18:45:11 +0300 Message-Id: <83jzsrjv94.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (bug-gnu-emacs@gnu.org) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) merge 65999 65998 thanks > Date: Fri, 15 Sep 2023 11:19:28 +0000 > From: Thomas Hilke via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > I had the opportunity of using sqlite-mode recently, which is really > handy for quickly inspecting the content of a database. However I > noticed two issues when using it from Windows: This is an exact duplicate of bug#65998 which you filed a short time ago, so I'm merging them.