[PATCH v2 2/5] Add the NOTMUCH_FEATURE_INDEXED_MIMETYPES database feature
Jani Nikula
jani at nikula.org
Thu Jan 15 09:20:08 PST 2015
Austin, would you mind having a look at this one please?
Thanks,
Jani.
On Wed, 14 Jan 2015, Todd <todd at 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 at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list