X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fdatabase-private.h;h=24243db2e4fd38577a3aae8840003cbfef3ec637;hb=ee1f573204f87a0b2c20a193abf5c4d71e91f049;hp=ca0751cf2e1001943bd7a7adbf27554be57f1acc;hpb=8363c9053152d349022b821a4a343f0ee2ade318;p=notmuch diff --git a/lib/database-private.h b/lib/database-private.h index ca0751cf..24243db2 100644 --- a/lib/database-private.h +++ b/lib/database-private.h @@ -85,6 +85,21 @@ enum _notmuch_features { * * Introduced: version 2. */ NOTMUCH_FEATURE_BOOL_FOLDER = 1 << 3, + + /* If set, missing messages are stored in ghost mail documents. + * If unset, thread IDs of ghost messages are stored as database + * metadata instead of in ghost documents. + * + * 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 @@ -139,6 +154,10 @@ struct _notmuch_database { unsigned int last_doc_id; uint64_t last_thread_id; + /* error reporting; this value persists only until the + * next library call. May be NULL */ + char *status_string; + Xapian::QueryParser *query_parser; Xapian::TermGenerator *term_gen; Xapian::ValueRangeProcessor *value_range_processor; @@ -154,12 +173,13 @@ 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_BOOL_FOLDER | NOTMUCH_FEATURE_GHOSTS) /* Return the list of terms from the given iterator matching a prefix. * The prefix will be stripped from the strings in the returned list.