aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@mit.edu>2014-09-01 18:49:07 -0400
committerGravatar David Bremner <david@tethera.net>2014-09-01 23:06:51 -0700
commitcca05ac10e908c2a8d7fdb3beac59bc085de9702 (patch)
treed56b5bf772352c2ce78e51969845fc79f491a807
parent658a00e7c809cc4e3076aab28e105d3761086451 (diff)
lib: Fix endless upgrade problem
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.
-rw-r--r--lib/database.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/database.cc b/lib/database.cc
index 51161889..a3a7cd30 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) {