1 Return-Path: <m.walters@qmul.ac.uk>
\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 olra.theworths.org (Postfix) with ESMTP id CEBCB431FB6
\r
6 for <notmuch@notmuchmail.org>; Tue, 21 Oct 2014 16:17:34 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5
\r
12 tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001,
\r
13 NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled
\r
14 Received: from olra.theworths.org ([127.0.0.1])
\r
15 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
16 with ESMTP id oZpYtTZUOGog for <notmuch@notmuchmail.org>;
\r
17 Tue, 21 Oct 2014 16:17:26 -0700 (PDT)
\r
18 Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6])
\r
19 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
\r
20 (No client certificate requested)
\r
21 by olra.theworths.org (Postfix) with ESMTPS id BABC1431FAE
\r
22 for <notmuch@notmuchmail.org>; Tue, 21 Oct 2014 16:17:26 -0700 (PDT)
\r
23 Received: from smtp.qmul.ac.uk ([138.37.6.40])
\r
24 by mail2.qmul.ac.uk with esmtp (Exim 4.71)
\r
25 (envelope-from <m.walters@qmul.ac.uk>)
\r
26 id 1Xgig6-0006iN-Q7; Wed, 22 Oct 2014 00:17:24 +0100
\r
27 Received: from 5751dfa2.skybroadband.com ([87.81.223.162] helo=localhost)
\r
28 by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.71)
\r
29 (envelope-from <m.walters@qmul.ac.uk>)
\r
30 id 1Xgig6-0003bG-40; Wed, 22 Oct 2014 00:17:22 +0100
\r
31 From: Mark Walters <markwalters1009@gmail.com>
\r
32 To: Austin Clements <aclements@csail.mit.edu>, notmuch@notmuchmail.org
\r
33 Subject: Re: [PATCH v2 12/12] lib: Remove unnecessary thread linking steps
\r
34 when using ghost messages
\r
35 In-Reply-To: <1412637438-4821-13-git-send-email-aclements@csail.mit.edu>
\r
36 References: <1412637438-4821-1-git-send-email-aclements@csail.mit.edu>
\r
37 <1412637438-4821-13-git-send-email-aclements@csail.mit.edu>
\r
38 User-Agent: Notmuch/0.18.1+86~gef5e66a (http://notmuchmail.org) Emacs/23.4.1
\r
39 (x86_64-pc-linux-gnu)
\r
40 Date: Wed, 22 Oct 2014 00:17:20 +0100
\r
41 Message-ID: <87wq7thv27.fsf@qmul.ac.uk>
\r
43 Content-Type: text/plain; charset=us-ascii
\r
44 X-Sender-Host-Address: 87.81.223.162
\r
45 X-QM-Geographic: According to ripencc,
\r
46 this message was delivered by a machine in Britain (UK) (GB).
\r
47 X-QM-SPAM-Info: Sender has good ham record. :)
\r
48 X-QM-Body-MD5: 8f205de2c1ce8354d0314db30b07b78c (of first 20000 bytes)
\r
49 X-SpamAssassin-Score: -0.1
\r
50 X-SpamAssassin-SpamBar: /
\r
51 X-SpamAssassin-Report: The QM spam filters have analysed this message to
\r
53 spam. We require at least 5.0 points to mark a message as spam.
\r
54 This message scored -0.1 points.
\r
55 Summary of the scoring:
\r
56 * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
\r
57 provider * (markwalters1009[at]gmail.com)
\r
58 * -0.1 AWL AWL: From: address is in the auto white-list
\r
59 X-QM-Scan-Virus: ClamAV says the message is clean
\r
60 X-BeenThere: notmuch@notmuchmail.org
\r
61 X-Mailman-Version: 2.1.13
\r
63 List-Id: "Use and development of the notmuch mail system."
\r
64 <notmuch.notmuchmail.org>
\r
65 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
66 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
67 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
68 List-Post: <mailto:notmuch@notmuchmail.org>
\r
69 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
70 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
71 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
72 X-List-Received-Date: Tue, 21 Oct 2014 23:17:35 -0000
\r
74 On Tue, 07 Oct 2014, Austin Clements <aclements@csail.mit.edu> wrote:
\r
75 > From: Austin Clements <amdragon@mit.edu>
\r
77 > Previously, it was necessary to link new messages to children to work
\r
78 > around some (though not all) problems with the old metadata-based
\r
79 > approach to stored thread IDs. With ghost messages, this is no longer
\r
80 > necessary, so don't bother with child linking when ghost messages are
\r
83 > lib/database.cc | 21 +++++++++++++++++----
\r
84 > 1 file changed, 17 insertions(+), 4 deletions(-)
\r
86 > diff --git a/lib/database.cc b/lib/database.cc
\r
87 > index 1316529..6e51a72 100644
\r
88 > --- a/lib/database.cc
\r
89 > +++ b/lib/database.cc
\r
90 > @@ -2169,10 +2169,23 @@ _notmuch_database_link_message (notmuch_database_t *notmuch,
\r
94 > - status = _notmuch_database_link_message_to_children (notmuch, message,
\r
98 > + if (! (notmuch->features & NOTMUCH_FEATURE_GHOSTS)) {
\r
99 > + /* In general, it shouldn't be necessary to link children,
\r
100 > + * since the earlier indexing of those children will have
\r
101 > + * stored a thread ID for the missing parent. However, prior
\r
102 > + * to ghost messages, these stored thread IDs were NOT
\r
103 > + * rewritten during thread merging (and there was no
\r
104 > + * performant way to do so), so if indexed children were
\r
105 > + * pulled into a different thread ID by a merge, it was
\r
106 > + * necessary to pull them *back* into the stored thread ID of
\r
107 > + * the parent. With ghost messages, we just rewrite the
\r
108 > + * stored thread IDs during merging, so this workaround isn't
\r
109 > + * necessary. */
\r
110 > + status = _notmuch_database_link_message_to_children (notmuch, message,
\r
116 Ok so this basically answers my earlier comment. It might be worth
\r
117 updating the big comment at the start of the function to match the new
\r
125 > /* If not part of any existing thread, generate a new thread ID. */
\r
126 > if (thread_id == NULL) {
\r
130 > _______________________________________________
\r
131 > notmuch mailing list
\r
132 > notmuch@notmuchmail.org
\r
133 > http://notmuchmail.org/mailman/listinfo/notmuch
\r