]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Support latest cache fields in struct mailbox_metadata.precache_fields
authorTimo Sirainen <tss@iki.fi>
Tue, 13 Oct 2015 18:57:29 +0000 (21:57 +0300)
committerTimo Sirainen <tss@iki.fi>
Tue, 13 Oct 2015 18:57:29 +0000 (21:57 +0300)
src/lib-storage/index/index-mail.c
src/lib-storage/index/index-status.c

index 3e20ccfbf436af30f63609ee1868cf78edd19fe4..55196fe5c6dfab49c40d0719a002c0fd372aeaa3 100644 (file)
@@ -61,6 +61,9 @@ struct mail_cache_field global_cache_fields[MAIL_INDEX_CACHE_FIELD_COUNT] = {
          .type = MAIL_CACHE_FIELD_VARIABLE_SIZE },
        { .name = "body.snippet",
          .type = MAIL_CACHE_FIELD_VARIABLE_SIZE }
+       /* FIXME: for now need to update get_metadata_precache_fields() in
+          index-status.c when adding more fields. those fields should probably
+          just be moved here to the same struct. */
 };
 
 static int index_mail_parse_body(struct index_mail *mail,
index 7d062181cc0d5013195d85b5bcaea8bd442c495f..cd46617080f63d1674cbaeca5b1fc7d34ab7bba9 100644 (file)
@@ -237,8 +237,10 @@ static void get_metadata_precache_fields(struct mailbox *box,
                    strcmp(name, "imap.envelope") == 0)
                        cache |= MAIL_FETCH_STREAM_HEADER;
                else if (strcmp(name, "mime.parts") == 0 ||
+                        strcmp(name, "binary.parts") == 0 ||
                         strcmp(name, "imap.body") == 0 ||
-                        strcmp(name, "imap.bodystructure") == 0)
+                        strcmp(name, "imap.bodystructure") == 0 ||
+                        strcmp(name, "body.snippet") == 0)
                        cache |= MAIL_FETCH_STREAM_BODY;
                else if (strcmp(name, "date.received") == 0)
                        cache |= MAIL_FETCH_RECEIVED_DATE;
@@ -250,6 +252,8 @@ static void get_metadata_precache_fields(struct mailbox *box,
                        cache |= MAIL_FETCH_PHYSICAL_SIZE;
                else if (strcmp(name, "pop3.uidl") == 0)
                        cache |= MAIL_FETCH_UIDL_BACKEND;
+               else if (strcmp(name, "pop3.order") == 0)
+                       cache |= MAIL_FETCH_POP3_ORDER;
                else if (strcmp(name, "guid") == 0)
                        cache |= MAIL_FETCH_GUID;
                else if (strcmp(name, "flags") == 0) {