diff options
author | Austin Clements <amdragon@mit.edu> | 2014-09-01 18:49:07 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2014-09-01 23:06:51 -0700 |
commit | cca05ac10e908c2a8d7fdb3beac59bc085de9702 (patch) | |
tree | d56b5bf772352c2ce78e51969845fc79f491a807 /lib | |
parent | 658a00e7c809cc4e3076aab28e105d3761086451 (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.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/database.cc | 2 |
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) { |