int fts_backend_is_uid_indexed(struct fts_backend *backend, struct mailbox *box,
uint32_t uid, uint32_t *last_indexed_uid_r)
{
+ if (box->virtual_vfuncs == NULL && backend->v.is_uid_indexed != NULL)
+ return backend->v.is_uid_indexed(backend, box, uid,
+ last_indexed_uid_r);
+
uint32_t last_uid;
+ if (fts_backend_get_last_uid(backend, box, &last_uid) < 0)
+ return -1;
- if (box->virtual_vfuncs != NULL || backend->v.is_uid_indexed == NULL) {
- if (fts_backend_get_last_uid(backend, box, &last_uid) < 0)
- return -1;
- if (uid > last_uid) {
- *last_indexed_uid_r = last_uid;
- return 0;
- }
- return 1;
+ if (uid > last_uid) {
+ *last_indexed_uid_r = last_uid;
+ return 0;
}
- return backend->v.is_uid_indexed(backend, box, uid, last_indexed_uid_r);
+ return 1;
}
bool fts_backend_is_updating(struct fts_backend *backend)