changeset 20522:2c0956060e6d

dbox: Initialize pop3-uidl header on INBOX creation. This way we don't add any UIDLs to dovecot.index.cache on the first POP3 UIDL access. We'll assume that pop3-uidl header is updated whenever any backend UIDLs are added, which should happen nowadays.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 13 Jul 2016 15:10:57 -0500
parents 1a31a7ef45b5
children 7838bc17ed04
files src/lib-storage/index/dbox-multi/mdbox-storage.c src/lib-storage/index/dbox-single/sdbox-storage.c
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/dbox-multi/mdbox-storage.c	Wed Jul 13 14:07:02 2016 -0500
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage.c	Wed Jul 13 15:10:57 2016 -0500
@@ -9,6 +9,7 @@
 #include "mail-index-alloc-cache.h"
 #include "mailbox-log.h"
 #include "mailbox-list-private.h"
+#include "index-pop3-uidl.h"
 #include "dbox-mail.h"
 #include "dbox-save.h"
 #include "mdbox-map.h"
@@ -307,6 +308,9 @@
 	}
 	mail_index_view_close(&view);
 
+	if (box->inbox_user)
+		index_pop3_uidl_set_max_uid(box, trans, 0);
+
 	mdbox_update_header(mbox, trans, update);
 	if (new_trans != NULL) {
 		if (mail_index_transaction_commit(&new_trans) < 0) {
--- a/src/lib-storage/index/dbox-single/sdbox-storage.c	Wed Jul 13 14:07:02 2016 -0500
+++ b/src/lib-storage/index/dbox-single/sdbox-storage.c	Wed Jul 13 15:10:57 2016 -0500
@@ -6,6 +6,7 @@
 #include "mail-index-modseq.h"
 #include "mail-search-build.h"
 #include "mailbox-list-private.h"
+#include "index-pop3-uidl.h"
 #include "dbox-mail.h"
 #include "dbox-save.h"
 #include "sdbox-file.h"
@@ -262,6 +263,9 @@
 						 update->min_highest_modseq);
 	}
 
+	if (box->inbox_user)
+		index_pop3_uidl_set_max_uid(box, trans, 0);
+
 	sdbox_update_header(mbox, trans, update);
 	if (new_trans != NULL) {
 		if (mail_index_transaction_commit(&new_trans) < 0) {