Timo Sirainen wrote:

On Tue, 2003-09-16 at 00:21, Mark Crispin wrote:

OK, I understand now.  And without some registry of names, there's no good
way to create foo.1. without creating foo.1, and you'd have to have a
placeholder if there is no foo.1.2 (or other child).  That may be hard to
do.


I think you meant if there is foo.1.2 but no foo.1 :)


Here's one possible way.

If you have mailbox metadata (which is likely if you're going to implement
CONDSTORE, ANNOTATE, etc.), perhaps there could be a bit to say "this
mailbox is \NoSelect" in the metadata and then keep a deleted mailbox
around (just delete and expunge all messages, and set the \NoSelect bit).
If the last child is deleted, then remove the now-childless parent if the
\NoSelect bit is set.


Yes, perhaps some day when I have fast indexes for mailbox lists.
Currently I don't, and I don't yet support condstore or annotations.
Extra stat()s (or worse, opening and reading files) for LIST isn't
really nice for performance.

Looks like Cyrus just creates a normal selectable mailbox with "CREATE
mailbox.". I guess there haven't been much complains about that, so I'll
do that as well.

I don't believe that is correct. You can create foo.1.2 without foo or foo.1 In this case both foo and foo.1 will show up as \Noselect. The presence of a directory in Cyrus' mailstore doesn't not means that its an actual mailbox.


--
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp



Reply via email to