X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fdatabase.cc;h=a3a7cd3090d838eb43af18bb479aa284e274e787;hb=f42e2e43a0284491c02a55e45c2cf4233b2b94f1;hp=53397bb0dd7abcbf70378aba8eadd59373b7a660;hpb=02fec226fcb02a5c784f4322365b979639b37c76;p=notmuch diff --git a/lib/database.cc b/lib/database.cc index 53397bb0..a3a7cd30 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -316,6 +316,8 @@ notmuch_status_to_string (notmuch_status_t status) return "Unbalanced number of calls to notmuch_database_begin_atomic/end_atomic"; case NOTMUCH_STATUS_UNSUPPORTED_OPERATION: return "Unsupported operation"; + case NOTMUCH_STATUS_UPGRADE_REQUIRED: + return "Operation requires a database upgrade"; default: case NOTMUCH_STATUS_LAST_STATUS: return "Unknown error status value"; @@ -1220,7 +1222,7 @@ notmuch_database_upgrade (notmuch_database_t *notmuch, target_features = notmuch->features | NOTMUCH_FEATURES_CURRENT; new_features = NOTMUCH_FEATURES_CURRENT & ~notmuch->features; - if (! new_features) + if (! notmuch_database_needs_upgrade (notmuch)) return NOTMUCH_STATUS_SUCCESS; if (progress_notify) { @@ -2226,6 +2228,9 @@ notmuch_database_find_message_by_filename (notmuch_database_t *notmuch, if (message_ret == NULL) return NOTMUCH_STATUS_NULL_POINTER; + if (! (notmuch->features & NOTMUCH_FEATURE_FILE_TERMS)) + return NOTMUCH_STATUS_UPGRADE_REQUIRED; + /* return NULL on any failure */ *message_ret = NULL;