Re: [RFC2 Patch 5/5] lib: iterator API for message properties
[notmuch-archives.git] / 19 / f7a7c4175e63b2615da367f5336de04b47085d
1 Return-Path: <david@tethera.net>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5  by arlo.cworth.org (Postfix) with ESMTP id 2753A6DE02A6\r
6  for <notmuch@notmuchmail.org>; Tue, 31 May 2016 18:12:34 -0700 (PDT)\r
7 X-Virus-Scanned: Debian amavisd-new at cworth.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -0.012\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-0.012 tagged_above=-999 required=5\r
12  tests=[AWL=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01]\r
13  autolearn=disabled\r
14 Received: from arlo.cworth.org ([127.0.0.1])\r
15  by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
16  with ESMTP id FxEm43MNNb2q for <notmuch@notmuchmail.org>;\r
17  Tue, 31 May 2016 18:12:26 -0700 (PDT)\r
18 Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197])\r
19  by arlo.cworth.org (Postfix) with ESMTPS id DC6056DE028C\r
20  for <notmuch@notmuchmail.org>; Tue, 31 May 2016 18:12:25 -0700 (PDT)\r
21 Received: from remotemail by fethera.tethera.net with local (Exim 4.84)\r
22  (envelope-from <david@tethera.net>)\r
23  id 1b7uhg-0002nI-Km; Tue, 31 May 2016 21:12:12 -0400\r
24 Received: (nullmailer pid 12976 invoked by uid 1000);\r
25  Wed, 01 Jun 2016 01:12:21 -0000\r
26 From: David Bremner <david@tethera.net>\r
27 To: notmuch@notmuchmail.org\r
28 Subject: Re: [RFC2 Patch 5/5] lib: iterator API for message properties\r
29 In-Reply-To: <1464608999-14774-6-git-send-email-david@tethera.net>\r
30 References: <1463927339-5441-1-git-send-email-david@tethera.net>\r
31  <1464608999-14774-1-git-send-email-david@tethera.net>\r
32  <1464608999-14774-6-git-send-email-david@tethera.net>\r
33 User-Agent: Notmuch/0.22+28~gb9bf3f4 (http://notmuchmail.org) Emacs/24.5.1\r
34  (x86_64-pc-linux-gnu)\r
35 Date: Tue, 31 May 2016 22:12:21 -0300\r
36 Message-ID: <8760tthfuy.fsf@zancas.localnet>\r
37 MIME-Version: 1.0\r
38 Content-Type: text/plain\r
39 X-BeenThere: notmuch@notmuchmail.org\r
40 X-Mailman-Version: 2.1.20\r
41 Precedence: list\r
42 List-Id: "Use and development of the notmuch mail system."\r
43  <notmuch.notmuchmail.org>\r
44 List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
45  <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
46 List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
47 List-Post: <mailto:notmuch@notmuchmail.org>\r
48 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
49 List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
50  <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
51 X-List-Received-Date: Wed, 01 Jun 2016 01:12:34 -0000\r
52 \r
53 David Bremner <david@tethera.net> writes:\r
54 \r
55 > +   notmuch_message_properties_t *list;\r
56 > +   RUN(notmuch_message_add_property (message, "testkey1", "bob"));\r
57 > +   RUN(notmuch_message_add_property (message, "testkey1", "testvalue2"));\r
58 > +   RUN(notmuch_message_add_property (message, "testkey1", "alice"));\r
59 > +\r
60 > +   for (list = notmuch_message_get_properties (message, "testkey1", TRUE);\r
61 > +        notmuch_message_properties_valid (list); notmuch_message_properties_move_to_next (list)) {\r
62 > +      printf("%s\n", notmuch_message_properties_value(list));\r
63 > +   }\r
64 > +   notmuch_message_properties_destroy (list);\r
65 \r
66 I was thinking a bit about how to dump/restore these.\r
67 \r
68 The most upwardly compatible way that i thought of is something like\r
69 \r
70 #= msg-id key=val key=val\r
71 \r
72 i.e. duplicate the msg-id for messages with properties\r
73 \r
74 This would be ignored by old notmuch-restore.\r
75 \r
76 Otherwise, maybe something like\r
77 \r
78 msg-id -- +tag +tag # key=val key=val\r
79 \r
80 I'm not sure. this might crash old notmuch-restore.\r
81 \r
82 How important is backward compatibility, and how important is minimizing\r
83 dump size? It's a bit hard to predict the things people might use\r
84 message properties for, but for thread surgery, I would expect a small\r
85 number of messages with properties.\r
86 \r
87 d\r
88 \r