This feature will exist in all newly created databases, but there is
no upgrade provided for it. If this flag exists, it indicates that
the database was created after the indexed MIME-types feature was
added.
*
* Introduced: version 3. */
NOTMUCH_FEATURE_GHOSTS = 1 << 4,
*
* 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
};
/* In C++, a named enum is its own type, so define bitwise operators
/* Current database features. If any of these are missing from a
* database, request an upgrade.
/* 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)
#define NOTMUCH_FEATURES_CURRENT \
(NOTMUCH_FEATURE_FILE_TERMS | NOTMUCH_FEATURE_DIRECTORY_DOCS | \
NOTMUCH_FEATURE_BOOL_FOLDER | NOTMUCH_FEATURE_GHOSTS)
"exact folder:/path: search", "rw" },
{ NOTMUCH_FEATURE_GHOSTS,
"mail documents for missing messages", "w"},
"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,
+ "indexed MIME types", "w"},
- /* 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_FROM_SUBJECT_ID_VALUES;
+ notmuch->features |= NOTMUCH_FEATURE_INDEXED_MIMETYPES;
status = notmuch_database_upgrade (notmuch, NULL, NULL);
if (status) {
status = notmuch_database_upgrade (notmuch, NULL, NULL);
if (status) {