]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts-lucene: If optimize doesn't find an index, set all UIDs as missing.
authorTimo Sirainen <tss@iki.fi>
Thu, 4 Aug 2011 11:12:11 +0000 (14:12 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 4 Aug 2011 11:12:11 +0000 (14:12 +0300)
src/plugins/fts-lucene/lucene-wrapper.cc

index dc24c9bcb90442baccb1cc7e1ee868fee5ee8016..768f8c8fdf33dc82c02a43d31162cd733d990a30 100644 (file)
@@ -407,8 +407,14 @@ int lucene_index_optimize_scan(struct lucene_index *index,
        uint32_t uid;
        int ret;
 
-       if ((ret = lucene_index_open_search(index)) <= 0)
-               return ret;
+       if ((ret = lucene_index_open_search(index)) <= 0) {
+               if (ret < 0)
+                       return -1;
+
+               /* index has been deleted, everything is missing */
+               seq_range_array_merge(missing_uids_r, existing_uids);
+               return 0;
+       }
 
        i_array_init(&uid_id_map_arr, 128);
        if (get_mailbox_uid_id_map(index, &uid_id_map_arr) < 0)