Lines Matching defs:backend

23 	struct fts_backend backend;
56 static int fts_backend_lucene_mkdir(struct lucene_fts_backend *backend)
58 if (backend->dir_created)
61 backend->dir_created = TRUE;
62 if (mailbox_list_mkdir_root(backend->backend.ns->list,
63 backend->dir_path,
85 fts_backend_select(struct lucene_fts_backend *backend, struct mailbox *box)
95 if (backend->selected_box == box &&
96 backend->selected_box_generation == box->generation_sequence)
106 lucene_index_select_mailbox(backend->index, wguid_hex);
108 backend->selected_box = box;
109 memcpy(backend->selected_box_guid, guid,
110 sizeof(backend->selected_box_guid));
111 backend->selected_box_generation = box->generation_sequence;
117 struct lucene_fts_backend *backend;
119 backend = i_new(struct lucene_fts_backend, 1);
120 backend->backend = fts_backend_lucene;
121 return &backend->backend;
127 struct lucene_fts_backend *backend =
148 backend->dir_path = i_strconcat(path, "/"LUCENE_INDEX_DIR_NAME, NULL);
149 backend->index = lucene_index_init(backend->dir_path,
153 path = t_strconcat(backend->dir_path, "/"LUCENE_EXPUNGE_LOG_NAME, NULL);
154 backend->expunge_log = fts_expunge_log_init(path);
160 struct lucene_fts_backend *backend =
163 if (backend->index != NULL)
164 lucene_index_deinit(backend->index);
165 if (backend->expunge_log != NULL)
166 fts_expunge_log_deinit(&backend->expunge_log);
167 i_free(backend->dir_path);
168 i_free(backend);
175 struct lucene_fts_backend *backend =
200 if (fts_backend_select(backend, box) < 0)
202 if (lucene_index_get_last_uid(backend->index, last_uid_r) < 0)
212 struct lucene_fts_backend *backend =
218 i_assert(!backend->updating);
221 ctx->ctx.backend = _backend;
223 backend->updating = TRUE;
230 struct lucene_fts_backend *backend =
231 (struct lucene_fts_backend *)ctx->ctx.backend;
237 if (lucene_index_get_doc_count(backend->index, &numdocs) < 0)
240 if (fts_expunge_log_uid_count(backend->expunge_log, &expunges) < 0)
251 struct lucene_fts_backend *backend =
252 (struct lucene_fts_backend *)_ctx->backend;
255 i_assert(backend->updating);
257 backend->updating = FALSE;
259 if (lucene_index_build_deinit(backend->index) < 0)
268 if (stat(backend->dir_path, &st) < 0 && errno == ENOENT) {
272 (void)lucene_index_rescan(backend->index);
280 (void)fts_backend_optimize(_ctx->backend);
282 struct mail_user *user = backend->backend.ns->user;
324 struct lucene_fts_backend *backend =
325 (struct lucene_fts_backend *)_ctx->backend;
347 fts_expunge_log_append_begin(backend->expunge_log);
350 if (fts_backend_select(backend, ctx->box) < 0)
354 backend->selected_box_guid, uid);
363 struct lucene_fts_backend *backend =
364 (struct lucene_fts_backend *)_ctx->backend;
367 if (fts_backend_lucene_mkdir(backend) < 0)
369 if (lucene_index_build_init(backend->index) < 0)
374 if (fts_backend_select(backend, ctx->box) < 0)
421 struct lucene_fts_backend *backend =
422 (struct lucene_fts_backend *)_ctx->backend;
431 ret = lucene_index_build_more(backend->index, ctx->uid,
441 struct lucene_fts_backend *backend =
444 if (backend->index != NULL)
445 lucene_index_close(backend->index);
451 struct lucene_fts_backend *backend =
454 if (lucene_index_rescan(backend->index) < 0)
456 return lucene_index_optimize(backend->index);
461 struct lucene_fts_backend *backend =
465 ret = lucene_index_expunge_from_log(backend->index,
466 backend->expunge_log);
469 ret = lucene_index_rescan(backend->index);
472 ret = lucene_index_optimize(backend->index);
482 struct lucene_fts_backend *backend =
486 if (fts_backend_select(backend, box) < 0)
489 ret = lucene_index_lookup(backend->index, args, flags, result);
554 struct lucene_fts_backend *backend =
564 ret = lucene_index_lookup_multi(backend->index,