On 02/15/2012 07:56 PM, Mark Walters wrote:
Obviously I have not looked at the patch set in detail yet but I have a
quick question. Since you are allowing more general filenames anyway
couldn't you encode mailstore in filename? Eg
mbox://some-path[:byte-postion], or "imap://server..."

This would allow lots of different types of mailstore to be used
concurrently, and would push all the mailstore knowledge down into the
file handling functions and away from the callers of file handling
functions.

Of course there may be lots of good reasons why this doesn't work.

Hi, sorry for the delay.

As far as I can tell, currently notmuch stores message filenames in Xapian as paths relative to the top-level maildir. I think this is done so that the maildir can be moved and, if the .notmuch-config is updated, mails are correctly detected and not duplicated. This would be especially important when you're talking about changing IMAP servers or CouchDB instances.

If I wanted to preserve this feature, the URIs stored as filenames would have to be relative to a given mailstore. For example, maildir://maildir-1/INBOX/some-filename could mean the file INBOX/some-filename in a maildir at /home/user/some-maildir. But then this raises the two following issues:

- How does information about mailstores -- for example, that maildir-1 => /home/user/some-maildir -- enter the library? Do we stick all of that information in notmuch_database_t, and then pass a reference to it in notmuch_message_file_open? Perhaps a global notmuch_mailstore_register(name, parameters..) registry? Or maybe a notmuch_mailstore_info type that gets passed around similarly to the mailstore type in this patch set?

- Do we mandate that all the filenames in the database be updated or do we just assume non-URI-style filenames are relative to some "default" mailstore?

All of which is a fancy way of saying I haven't had the time to write the code necessary to explore this idea but think something like it will be necessary to support the obviously-valuable feature of multiple mailstores. Depending on your answer to the first question, I guess the patch series might or might not be a useful starting point.

Thanks for your feedback,

Ethan

_______________________________________________
notmuch mailing list
[email protected]
http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to