Mark Crispin <MRC <at> cac.washington.edu>
2001-05-29 20:57:38 GMT
On Tue, 29 May 2001 22:35:43 +0200, Arnt Gulbrandsen wrote:
> The thread extension offers no way to get threading information for only
> some mail (typically, the newly arrived messages). Isn't this a problem?
Did you notice that the last argument specifies what messages are to be
threaded? So if you only want to thread new messages, you can do:
THREAD REFERENCES UTF-8 NEW
However, usually ALL is used, because you want to thread in context.
> The thread=references model specifies an algorithm to be used, in detail,
> and that algorithm is one that makes several passes over the entire set of
> messages. The algorithm is complex, and it's not clear to me whether it
> can be adapted to be incremental without possibly changing its output, and
> whether such changes are permitted by the draft.
That's the problem -- a newly-arrived message can completely change the thread
tree. It's therefore quite possible that an "incremental" change (one that
simply says what is different from the previous tree) is larger in size that
the previous tree.
To complicate matters, there is no obvious algorithm for determining how a
newly arrived message would change the tree; without such an algorithm, you
have to rethread on the server, and then do a comparison between the old and
This has been the flaw in the arguments for "subsetting"; you can only
"subset" in the simplest cases. It turns out that the only meaningful
subsetting is on a static tree, which makes subsetting much less valuable than
its proponents claim. That's why subsetting hasn't been particularly