mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
Add the NOTMUCH_FEATURE_INDEXED_MIMETYPES database feature
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.
This commit is contained in:
parent
0829bd4e5d
commit
0de999aab5
2 changed files with 20 additions and 5 deletions
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
"indexed MIME types", "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) {
|
||||
|
|
Loading…
Reference in a new issue