lib: Add a ghost messages database feature
authorAustin Clements <amdragon@mit.edu>
Thu, 23 Oct 2014 12:30:33 +0000 (08:30 -0400)
committerDavid Bremner <david@tethera.net>
Sat, 25 Oct 2014 17:25:54 +0000 (19:25 +0200)
This will be implemented over the next several patches.  The feature
is not yet "enabled" (this does not add it to
NOTMUCH_FEATURES_CURRENT).

lib/database-private.h
lib/database.cc

index ca0751cf2e1001943bd7a7adbf27554be57f1acc..e2e4bc8721744a91d2b06cfadef8c959f5d48de7 100644 (file)
@@ -85,6 +85,13 @@ 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,
 };
 
 /* In C++, a named enum is its own type, so define bitwise operators
index 1c6ffc57fa98a5d689df508071ab926ff2248d3a..8fd7fad6942edd7c8318aa30b1dcdc770fa80609 100644 (file)
@@ -286,6 +286,8 @@ static const struct {
       "from/subject/message-ID in database", "w" },
     { NOTMUCH_FEATURE_BOOL_FOLDER,
       "exact folder:/path: search", "rw" },
+    { NOTMUCH_FEATURE_GHOSTS,
+      "mail documents for missing messages", "w"},
 };
 
 const char *