api to access cyrus header/index files
Ken Murchison
ken at oceana.com
Fri Jan 23 10:11:37 EST 2004
Ramprasad A Padmanabhan wrote:
> On Thu, 2004-01-22 at 19:14, Sergio Devojno Bruder wrote:
>
>>/Ramprasad A Padmanabhan wrote:
>>> I am using cyrus mailboxes to store rss feeds users have subscribed
>>> to. Now I am putting special headers in the mails for every feed which
>>> are specific to my application.
>>>
>>> I want to do an optimum search on all mailboxes somewhat like
>>> "select all mails from all mailboxes where header Xmyheader is myvalue"
>>>
>>> Is there a way I can do such a search without crashing my (already
>>> loaded) imap server.
>>> I was thinking if there was a way to directly access the cyrus.header
>>> files from all mailboxes that can give me this result. Presently I am
>>> using Mail::IMAPClient perl module to talk imap to the server
>>>
>>> Thanks
>>> Ram
>>
>>Probably Cyrus inst caching your Xmyheader.
>>
>>Change Cyrus to cache|index your Xmyheader, this will allow your search
>>without acessing every mail./
>>
>
>
> Precisely, How do I do that. Is there a howto somewhere
If you're using v2.2.3, its fairly easy. In mailbox.h, bump
MAILBOX_CACHE_MINOR_VERSION to 3 and in mailbox.c add an entry like
{"Xmyheader", 3} to the mailbox_cache_headers array. Any new messages
added to the mailbox will have this header cached. If you want all of
the messages to have this header cached, then you'll have to reconstruct
the 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
More information about the Info-cyrus
mailing list