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.
