Austin, would you mind having a look at this one please? Thanks, Jani. On Wed, 14 Jan 2015, Todd <todd@electricoding.com> wrote: > --- > lib/database-private.h | 15 ++++++++++++--- > lib/database.cc | 10 ++++++++-- > 2 files changed, 20 insertions(+), 5 deletions(-) > > diff --git a/lib/database-private.h b/lib/database-private.h > index 15e03cc..6d6fa2c 100644 > --- a/lib/database-private.h > +++ b/lib/database-private.h > @@ -92,6 +92,14 @@ enum _notmuch_features { > * > * Introduced: version 3. */ > NOTMUCH_FEATURE_GHOSTS = 1 << 4, > + > + > + /* If set, then the database was created after the introduction of > + * indexed mime types. If unset, then the database may contain a > + * mixture of messages with indexed and non-indexed mime types. > + * > + * Introduced: version 3. */ > + NOTMUCH_FEATURE_INDEXED_MIMETYPES = 1 << 5, > }; > > /* In C++, a named enum is its own type, so define bitwise operators > @@ -161,9 +169,10 @@ struct _notmuch_database { > > /* Current database features. If any of these are missing from a > * database, request an upgrade. > - * NOTMUCH_FEATURE_FROM_SUBJECT_ID_VALUES is not included because > - * upgrade doesn't currently introduce the feature (though brand new > - * databases will have it). */ > + * NOTMUCH_FEATURE_FROM_SUBJECT_ID_VALUES and > + * NOTMUCH_FEATURE_INDEXED_MIMETYPES are not included because upgrade > + * doesn't currently introduce the features (though brand new databases > + * will have it). */ > #define NOTMUCH_FEATURES_CURRENT \ > (NOTMUCH_FEATURE_FILE_TERMS | NOTMUCH_FEATURE_DIRECTORY_DOCS | \ > NOTMUCH_FEATURE_BOOL_FOLDER | NOTMUCH_FEATURE_GHOSTS) > diff --git a/lib/database.cc b/lib/database.cc > index 3601f9d..2de60f8 100644 > --- a/lib/database.cc > +++ b/lib/database.cc > @@ -304,6 +304,11 @@ static const struct { > "exact folder:/path: search", "rw" }, > { NOTMUCH_FEATURE_GHOSTS, > "mail documents for missing messages", "w"}, > + /* Knowledge of the index mime-types are not required for reading > + * a database because a reader will just be unable to query > + * them. */ > + { NOTMUCH_FEATURE_INDEXED_MIMETYPES, > + "mime-types in database", "w"}, > }; > > const char * > @@ -646,9 +651,10 @@ notmuch_database_create (const char *path, notmuch_database_t **database) > if (status) > goto DONE; > > - /* Upgrade doesn't add this feature to existing databases, but new > - * databases have it. */ > + /* Upgrade doesn't add these feature to existing databases, but > + * new databases have them. */ > notmuch->features |= NOTMUCH_FEATURE_FROM_SUBJECT_ID_VALUES; > + notmuch->features |= NOTMUCH_FEATURE_INDEXED_MIMETYPES; > > status = notmuch_database_upgrade (notmuch, NULL, NULL); > if (status) { > -- > 1.9.1 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch