[PATCH] lib: Fix endless upgrade problem

Tomi Ollila tomi.ollila at iki.fi
Mon Sep 1 21:38:41 PDT 2014


On Tue, Sep 02 2014, Austin Clements <amdragon at mit.edu> wrote:

> 48db8c8 introduced a disagreement between when
> notmuch_database_needs_upgrade returned TRUE and when
> notmuch_database_upgrade actually performed an upgrade.  As a result,
> if a database had a version less than 3, but no new features were
> required, notmuch new would call notmuch_database_upgrade to perform
> an upgrade, but notmuch_database_upgrade would return immediately
> without updating the database version.  Hence, the next notmuch new
> would do the same, and so on.
>
> Fix this by ensuring that the upgrade-required logic is identical
> between the two.

LGTM

Tomi

> ---
>  lib/database.cc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/database.cc b/lib/database.cc
> index 5116188..a3a7cd3 100644
> --- a/lib/database.cc
> +++ b/lib/database.cc
> @@ -1222,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) {
> -- 
> 2.0.0
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list