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.


Reply via email to