From b536c009bf22cc6cc0cf1f8a2fb9ce9091b0797d Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 4 Jun 2016 20:12:52 +2100 Subject: [PATCH] Re: [RFC2 Patch 5/5] lib: iterator API for message properties --- 5a/627e2469b4e1cdf3cf9ee8085a9d45f1429437 | 127 ++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 5a/627e2469b4e1cdf3cf9ee8085a9d45f1429437 diff --git a/5a/627e2469b4e1cdf3cf9ee8085a9d45f1429437 b/5a/627e2469b4e1cdf3cf9ee8085a9d45f1429437 new file mode 100644 index 000000000..e2adb5b92 --- /dev/null +++ b/5a/627e2469b4e1cdf3cf9ee8085a9d45f1429437 @@ -0,0 +1,127 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by arlo.cworth.org (Postfix) with ESMTP id 3616F6DE0243 + for ; Fri, 3 Jun 2016 16:13:03 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at cworth.org +X-Spam-Flag: NO +X-Spam-Score: -0.012 +X-Spam-Level: +X-Spam-Status: No, score=-0.012 tagged_above=-999 required=5 + tests=[AWL=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] + autolearn=disabled +Received: from arlo.cworth.org ([127.0.0.1]) + by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id hL5v-2qL8c7f for ; + Fri, 3 Jun 2016 16:12:55 -0700 (PDT) +Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) + by arlo.cworth.org (Postfix) with ESMTPS id 593BB6DE0159 + for ; Fri, 3 Jun 2016 16:12:55 -0700 (PDT) +Received: from remotemail by fethera.tethera.net with local (Exim 4.84) + (envelope-from ) + id 1b8yGg-00041A-JZ; Fri, 03 Jun 2016 19:12:42 -0400 +Received: (nullmailer pid 32126 invoked by uid 1000); + Fri, 03 Jun 2016 23:12:52 -0000 +From: David Bremner +To: Daniel Kahn Gillmor , notmuch@notmuchmail.org +Subject: Re: [RFC2 Patch 5/5] lib: iterator API for message properties +In-Reply-To: <87y46mpcbf.fsf@alice.fifthhorseman.net> +References: <1463927339-5441-1-git-send-email-david@tethera.net> + <1464608999-14774-1-git-send-email-david@tethera.net> + <1464608999-14774-6-git-send-email-david@tethera.net> + <8760tthfuy.fsf@zancas.localnet> <87pos1u14p.fsf@alice.fifthhorseman.net> + <87eg8ht2sb.fsf@alice.fifthhorseman.net> <87lh2ofpxk.fsf@zancas.localnet> + <87inxrqyv1.fsf@alice.fifthhorseman.net> <8737oufn6f.fsf@zancas.localnet> + <87y46mpcbf.fsf@alice.fifthhorseman.net> +User-Agent: Notmuch/0.22+28~gb9bf3f4 (http://notmuchmail.org) Emacs/24.5.1 + (x86_64-pc-linux-gnu) +Date: Fri, 03 Jun 2016 20:12:52 -0300 +Message-ID: <87mvn1euiz.fsf@zancas.localnet> +MIME-Version: 1.0 +Content-Type: text/plain +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.20 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Fri, 03 Jun 2016 23:13:03 -0000 + +Daniel Kahn Gillmor writes: + +> [ Unknown signature status ] +> On Fri 2016-06-03 08:54:00 -0400, David Bremner wrote: +>> Sure, where do you think that kind of documentation is appropriate? +>> There is the giant comment about the database schema in +>> lib/database.cc. Actually I just noticed I already failed to update that +>> for libconfig stuff. +> +> That comment seems OK, but it won't be exposed to the people who are in +> that middle range (python or ruby programmers but not C programmers). +> Do we have a place for this kind of mid-level documenation? + +The simplest solution is probably API documentation itself +(lib/notmuch.h), which should propagage to the bindings documentation. +Maybe I'll start with that, and we can go from there. + +> +>> [ dkg wrote: ] +>>> * for messages which have multiple files, which file is actually indexed +>> +>> yes. Although rather than storing that, I think the right answer is more +>> like "all of them". +> +> I don't think we do this, do we? Is this a bug? is it tracked somewhere? + +IMHO it is a bug. It's implicit in + + id:87k42vrqve.fsf@pip.fifthhorseman.net + +and the various requests for List-Id indexing, but it's probably worth +starting a seperate thread to track it. Especially since there are some +unresolved design issues. Like what to return for searches. + +> This is exactly my point -- i don't care about reproducibility of the +> exact numbering, but , the thread-id is *not* reproducible from the +> message sets. This is not only because of the ghost message leakage bug +> documented in T590-thread-breakage.sh, but also because threads can be +> joined by a message that is later removed (e.g., the "notmuch-join" +> script in id:87egabu5ta.fsf@alice.fifthhorseman.net ). + +I see, I guess that's the intended behaviour given 604d1e0977c. + +I haven't thought about the pros and cons of dumping/restoring +thread-ids. At least my database has about half as many threads as +messages, so it's a bit of data, but perhaps that's not a bit problem. +It's somewhat orthogonal to this series since those terms are already +attached to messages. + +>> I'm not sure what you have in mind, something more ambitious than the +>> header added post 0.22? +> +> Can you point me to the definition for that header? i still don't +> understand what the batch-tag:2 part means. (sorry i haven't been +> keeping up with the master branch lately!) +> + +Currently there's just the source: it says which format, and with that +format, which subset of output. + +static void +print_dump_header (gzFile output, int output_format, int include) +{ + gzprintf (output, "#notmuch-dump %s:%d %s%s%s\n", + (output_format == DUMP_FORMAT_SUP) ? "sup" : "batch-tag", + NOTMUCH_DUMP_VERSION, + (include & DUMP_INCLUDE_CONFIG) ? "config" : "", + (include & DUMP_INCLUDE_TAGS) && (include & DUMP_INCLUDE_CONFIG) ? "," : "", + (include & DUMP_INCLUDE_TAGS) ? "tags" : ""); +} + -- 2.26.2