Re: [RFC2 Patch 5/5] lib: iterator API for message properties
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 3 Jun 2016 14:38:28 +0000 (10:38 +2000)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 23:21:57 +0000 (16:21 -0700)
18/eb03e9391e339cc041a0273c29898834d8592e [new file with mode: 0644]

diff --git a/18/eb03e9391e339cc041a0273c29898834d8592e b/18/eb03e9391e339cc041a0273c29898834d8592e
new file mode 100644 (file)
index 0000000..a12aa76
--- /dev/null
@@ -0,0 +1,129 @@
+Return-Path: <dkg@fifthhorseman.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 89C436DE0159\r
+ for <notmuch@notmuchmail.org>; Fri,  3 Jun 2016 07:40:16 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.019\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.019 tagged_above=-999 required=5\r
+ tests=[AWL=-0.019] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id aLCCyf6hSxsW for <notmuch@notmuchmail.org>;\r
+ Fri,  3 Jun 2016 07:40:08 -0700 (PDT)\r
+Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 626FD6DE0297\r
+ for <notmuch@notmuchmail.org>; Fri,  3 Jun 2016 07:38:36 -0700 (PDT)\r
+Received: from fifthhorseman.net (unknown [38.109.115.130])\r
+ by che.mayfirst.org (Postfix) with ESMTPSA id 0991DF98B;\r
+ Fri,  3 Jun 2016 10:38:32 -0400 (EDT)\r
+Received: by fifthhorseman.net (Postfix, from userid 1000)\r
+ id 6990320217; Fri,  3 Jun 2016 10:38:32 -0400 (EDT)\r
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>\r
+To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org\r
+Subject: Re: [RFC2 Patch 5/5] lib: iterator API for message properties\r
+In-Reply-To: <8737oufn6f.fsf@zancas.localnet>\r
+References: <1463927339-5441-1-git-send-email-david@tethera.net>\r
+ <1464608999-14774-1-git-send-email-david@tethera.net>\r
+ <1464608999-14774-6-git-send-email-david@tethera.net>\r
+ <8760tthfuy.fsf@zancas.localnet> <87pos1u14p.fsf@alice.fifthhorseman.net>\r
+ <87eg8ht2sb.fsf@alice.fifthhorseman.net> <87lh2ofpxk.fsf@zancas.localnet>\r
+ <87inxrqyv1.fsf@alice.fifthhorseman.net> <8737oufn6f.fsf@zancas.localnet>\r
+User-Agent: Notmuch/0.22+16~g87b7bd4 (http://notmuchmail.org) Emacs/24.5.1\r
+ (x86_64-pc-linux-gnu)\r
+Date: Fri, 03 Jun 2016 10:38:28 -0400\r
+Message-ID: <87y46mpcbf.fsf@alice.fifthhorseman.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/signed; boundary="=-=-=";\r
+ micalg=pgp-sha512; protocol="application/pgp-signature"\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 03 Jun 2016 14:40:16 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+\r
+On Fri 2016-06-03 08:54:00 -0400, David Bremner wrote:\r
+> Sure, where do you think that kind of documentation is appropriate?\r
+> There is the giant comment about the database schema in\r
+> lib/database.cc. Actually I just noticed I already failed to update that\r
+> for libconfig stuff.\r
+\r
+That comment seems OK, but it won't be exposed to the people who are in\r
+that middle range (python or ruby programmers but not C programmers).\r
+Do we have a place for this kind of mid-level documenation?\r
+\r
+> [ dkg wrote: ]\r
+>>  * for messages which have multiple files, which file is actually indexed\r
+>\r
+> yes. Although rather than storing that, I think the right answer is more\r
+> like "all of them".\r
+\r
+I don't think we do this, do we?  Is this a bug?  is it tracked somewhere?\r
+\r
+>> It's worth noticing that the stuff in "elsewhere" is the stuff that\r
+>> won't propagate across a dump/restore unless it's explicitly in the dump\r
+>> somehow.   We currently fail to restore thread-id and which file is\r
+>> actually indexed across a dump/restore :/\r
+>\r
+> The thread-id is in some sense derived from the message itself. Not in a\r
+> reproducable way, but still, the dump file is the minimal set of extra\r
+> data needed to reconstruct an equivalent database (pax threading bugs).\r
+\r
+This is exactly my point -- i don't care about reproducibility of the\r
+exact numbering, but , the thread-id is *not* reproducible from the\r
+message sets.  This is not only because of the ghost message leakage bug\r
+documented in T590-thread-breakage.sh, but also because threads can be\r
+joined by a message that is later removed (e.g., the "notmuch-join"\r
+script in id:87egabu5ta.fsf@alice.fifthhorseman.net ).\r
+\r
+>> I think you've convinced me that it's good to go ahead with the\r
+>> properties, assuming it's scoped as defined above.  I still think that\r
+>> we need a better story for upgrades to the dump format in general, but\r
+>> maybe this isn't the place to make that particular case.\r
+>\r
+> I'm not sure what you have in mind, something more ambitious than the\r
+> header added post 0.22?\r
+\r
+Can you point me to the definition for that header?  i still don't\r
+understand what the batch-tag:2 part means.  (sorry i haven't been\r
+keeping up with the master branch lately!)\r
+\r
+           --dkg\r
+\r
+--=-=-=\r
+Content-Type: application/pgp-signature; name="signature.asc"\r
+\r
+-----BEGIN PGP SIGNATURE-----\r
+Version: GnuPG v2\r
+\r
+iQJ8BAEBCgBmBQJXUZZkXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w\r
+ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRFREIyRTc0RjU2RkNGMkI2NzI5N0I3MzUy\r
+NEVDRkY1QUZGNjgzNzBBAAoJECTs/1r/aDcK9vEP/jDBCHYh5Y5s+3bNE//dkGTU\r
+3/739tfdWDO58ALmW101VZj6WDEph1nxe/4Iw0P13CCmLbUmRyU28yYJF5XxyiQH\r
+eYMk2I3QJxOl1++nhZIoT/ztSCsAJKNK1V4YtJAIiiAbF/ok7qqmwe5BFRiiowEh\r
+xqAb1eVkLhHJce71NpjdDQ0ItLqH6w3rbV+VuxnvZbnla+w6hbX7TOJsPv3tdXA4\r
+lMGuKcHMNUmXeP1FA4MdoqQmluybSL1qxC8W8XraKcduDuA3H22IzPEXdPu6Mr07\r
+bCVS8Jiu3o8ITPtjGDDUfaWZfT/+BV02vChMrrXKHJwOb1NHAnlwRhpo3sFqHcNL\r
+O2WZyBU0Ti8yb3rpgBkT6k1Hl+im9jfV3SN0HrqE6LrDiL2eCl3uJKSYSAxPv+KT\r
+3UnQOLdgACGpfjZC+fqRLtXccYjd8QsLfUN+YJeP5/ZHlfruKYkp4hxeOwsCipPA\r
+cARmXXH0SdFDT+WdYqlIvgM6gNAaZgb9pMyzPnSBTQmf0GT9IK8rnmkCbsYcnMYk\r
+MfpUwq/YjrVpq4L7HOtrYrUXs8AngzVnE1nMkqXunBR1MOIQVkV9Ct+k9RUwwnkl\r
+gkKhRpp0n8OdqqSDn7z3aTCniT0o9/wKLt8B+8UbVdqWag5TuH2su4knXji4B6Dw\r
+cbBqu8U7jUV4RbSRDlqA\r
+=QSUx\r
+-----END PGP SIGNATURE-----\r
+--=-=-=--\r