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 258316DE0140
\r
6 for <notmuch@notmuchmail.org>; Sat, 16 Jul 2016 17:40:06 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at cworth.org
\r
11 X-Spam-Status: No, score=-0.011 tagged_above=-999 required=5 tests=[AWL=0.000,
\r
12 SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled
\r
13 Received: from arlo.cworth.org ([127.0.0.1])
\r
14 by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id KzNxP1zlrPvH for <notmuch@notmuchmail.org>;
\r
16 Sat, 16 Jul 2016 17:39:57 -0700 (PDT)
\r
17 Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197])
\r
18 by arlo.cworth.org (Postfix) with ESMTPS id C5EDF6DE0130
\r
19 for <notmuch@notmuchmail.org>; Sat, 16 Jul 2016 17:39:57 -0700 (PDT)
\r
20 Received: from remotemail by fethera.tethera.net with local (Exim 4.84)
\r
21 (envelope-from <david@tethera.net>)
\r
22 id 1bOa81-0006MO-MV; Sat, 16 Jul 2016 20:40:17 -0400
\r
23 Received: (nullmailer pid 25866 invoked by uid 1000);
\r
24 Sun, 17 Jul 2016 00:39:53 -0000
\r
25 From: David Bremner <david@tethera.net>
\r
26 To: Daniel Kahn Gillmor <dkg@fifthhorseman.net>,
\r
27 Notmuch Mail <notmuch@notmuchmail.org>
\r
28 Subject: Re: [PATCH] add has: query prefix to search for specific properties
\r
29 In-Reply-To: <1467969336-7605-1-git-send-email-dkg@fifthhorseman.net>
\r
30 References: <1465779955-5539-9-git-send-email-david@tethera.net>
\r
31 <1467969336-7605-1-git-send-email-dkg@fifthhorseman.net>
\r
32 User-Agent: Notmuch/0.22+28~gb9bf3f4 (http://notmuchmail.org) Emacs/24.5.1
\r
33 (x86_64-pc-linux-gnu)
\r
34 Date: Sat, 16 Jul 2016 21:39:53 -0300
\r
35 Message-ID: <87ziphxfl2.fsf@zancas.localnet>
\r
37 Content-Type: text/plain
\r
38 X-BeenThere: notmuch@notmuchmail.org
\r
39 X-Mailman-Version: 2.1.20
\r
41 List-Id: "Use and development of the notmuch mail system."
\r
42 <notmuch.notmuchmail.org>
\r
43 List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,
\r
44 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
45 List-Archive: <http://notmuchmail.org/pipermail/notmuch/>
\r
46 List-Post: <mailto:notmuch@notmuchmail.org>
\r
47 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
48 List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,
\r
49 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
50 X-List-Received-Date: Sun, 17 Jul 2016 00:40:06 -0000
\r
52 Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:
\r
54 > We want to be able to query the properties directly, like:
\r
56 > notmuch count has:foo=bar
\r
58 > which should return a count of messages where the property with key
\r
59 > "foo" has value equal to "bar".
\r
61 > This patch could be improved:
\r
63 > If no = sign is present (e.g. "has:foo"), it'd be nice to just match
\r
64 > on every message that has property "foo", regardless of value.
\r
66 At the moment I can't think of a nice easy way to do this. It could do
\r
67 something like that proposed for "tag:*", namely expand it internally
\r
68 into an or query, by traversing the
\r
69 db->allterms_begin("XPROPERTY").
\r
71 > It would also be good to include some tests.
\r
73 and update notmuch-search-terms(7) ?
\r
75 > * TIMESTAMP: The time_t value corresponding to the message's
\r
76 > @@ -260,6 +263,7 @@ static prefix_t BOOLEAN_PREFIX_EXTERNAL[] = {
\r
80 > + { "has", "XPROPERTY" },
\r
82 > * Without the ":", since this is a multi-letter prefix, Xapian
\r
83 > * will add a colon itself if the first letter of the path is
\r
85 Do we want to have the same prefix listed in BOOLEAN_PREFIX_INTERNAL and
\r
86 BOOLEAN_PREFIX_EXTERNAL? this seems quite fragile. If we don't though,
\r
87 we have to use the same prefix name for queries as in the code (which is
\r
88 already sprinkled with _find_prefix ("property") ).
\r