]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Added mail_always_cache_fields setting.
authorTimo Sirainen <tss@iki.fi>
Wed, 15 May 2013 10:20:43 +0000 (13:20 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 15 May 2013 10:20:43 +0000 (13:20 +0300)
src/lib-storage/index/index-storage.c
src/lib-storage/mail-storage-settings.c
src/lib-storage/mail-storage-settings.h

index a4c1061c2bca96dc1114eabc68d43f205a2966d3..c5c1380cd4d345a3dd88a4277e01c7f7dd9c3378 100644 (file)
@@ -65,6 +65,10 @@ static void index_cache_register_defaults(struct mailbox *box)
                set_cache_decisions("mail_cache_fields",
                                    set->mail_cache_fields,
                                    MAIL_CACHE_DECISION_TEMP);
+               set_cache_decisions("mail_always_cache_fields",
+                                   set->mail_always_cache_fields,
+                                   MAIL_CACHE_DECISION_YES |
+                                   MAIL_CACHE_DECISION_FORCED);
                set_cache_decisions("mail_never_cache_fields",
                                    set->mail_never_cache_fields,
                                    MAIL_CACHE_DECISION_NO |
index 3eb3aa57a688a9138c883a8e1dfb3ab0ce065282..67f724de37526f89fc7b06687f667e1dd76999bd 100644 (file)
@@ -33,6 +33,7 @@ static const struct setting_define mail_storage_setting_defines[] = {
        DEF(SET_STR_VARS, mail_attribute_dict),
        DEF(SET_UINT, mail_prefetch_count),
        DEF(SET_STR, mail_cache_fields),
+       DEF(SET_STR, mail_always_cache_fields),
        DEF(SET_STR, mail_never_cache_fields),
        DEF(SET_UINT, mail_cache_min_mail_count),
        DEF(SET_TIME, mailbox_idle_check_interval),
@@ -69,6 +70,7 @@ const struct mail_storage_settings mail_storage_default_settings = {
        .mail_attribute_dict = "",
        .mail_prefetch_count = 0,
        .mail_cache_fields = "flags",
+       .mail_always_cache_fields = "",
        .mail_never_cache_fields = "imap.envelope",
        .mail_cache_min_mail_count = 0,
        .mailbox_idle_check_interval = 30,
index aa599f67f41ae40b7db98f41ddd002938f1e9b44..aeeadc895c85f009731bb6a5c9645cf0d97b2028 100644 (file)
@@ -18,6 +18,7 @@ struct mail_storage_settings {
        const char *mail_attribute_dict;
        unsigned int mail_prefetch_count;
        const char *mail_cache_fields;
+       const char *mail_always_cache_fields;
        const char *mail_never_cache_fields;
        unsigned int mail_cache_min_mail_count;
        unsigned int mailbox_idle_check_interval;