Mercurial > dovecot > core-2.2
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