changeset 13342:4a993091dcc7

fts-solr: Fixed updating last indexed uid in fts header.
author Timo Sirainen <tss@iki.fi>
date Wed, 31 Aug 2011 14:23:51 +0300
parents cb6fea1d6d07
children ceed6275222b
files src/plugins/fts-solr/fts-backend-solr-old.c src/plugins/fts-solr/fts-backend-solr.c
diffstat 2 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/fts-solr/fts-backend-solr-old.c	Wed Aug 31 13:58:27 2011 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr-old.c	Wed Aug 31 14:23:51 2011 +0300
@@ -466,6 +466,11 @@
 	struct mailbox_status status;
 	struct mail_namespace *ns;
 
+	if (ctx->prev_uid != 0) {
+		(void)fts_index_set_last_uid(ctx->cur_box, ctx->prev_uid);
+		ctx->prev_uid = 0;
+	}
+
 	ctx->cur_box = box;
 	ctx->uid_validity = 0;
 	i_free_and_null(ctx->id_box_name);
--- a/src/plugins/fts-solr/fts-backend-solr.c	Wed Aug 31 13:58:27 2011 +0300
+++ b/src/plugins/fts-solr/fts-backend-solr.c	Wed Aug 31 14:23:51 2011 +0300
@@ -317,7 +317,10 @@
 		(struct solr_fts_backend_update_context *)_ctx;
 	const char *box_guid;
 
-	ctx->cur_box = box;
+	if (ctx->prev_uid != 0) {
+		(void)fts_index_set_last_uid(ctx->cur_box, ctx->prev_uid);
+		ctx->prev_uid = 0;
+	}
 
 	if (box != NULL) {
 		if (fts_mailbox_get_guid(box, &box_guid) < 0)
@@ -328,6 +331,7 @@
 	} else {
 		memset(ctx->box_guid, 0, sizeof(ctx->box_guid));
 	}
+	ctx->cur_box = box;
 }
 
 static void