]> git.notmuchmail.org Git - notmuch/blobdiff - lib/database-private.h
ruby: create Data_Wrap_Notmuch_Object helper
[notmuch] / lib / database-private.h
index 2d220811c4a092930ed575bb60ae3121df5b50bf..1a73dacc365f563134d123fe09d91668b45a6d1f 100644 (file)
@@ -189,7 +189,11 @@ operator& (notmuch_field_flag_t a, notmuch_field_flag_t b)
 struct _notmuch_database {
     bool exception_reported;
 
-    char *path;
+    /* Path to actual database */
+    const char *xapian_path;
+
+    /* Path to config loaded, if any */
+    const char *config_path;
 
     int atomic_nesting;
     /* true if changes have been made in this atomic section */
@@ -202,6 +206,10 @@ struct _notmuch_database {
     enum _notmuch_features features;
 
     unsigned int last_doc_id;
+
+    /* 16 bytes (+ terminator) for hexadecimal representation of
+     * a 64-bit integer. */
+    char thread_id_str[17];
     uint64_t last_thread_id;
 
     /* error reporting; this value persists only until the
@@ -228,6 +236,9 @@ struct _notmuch_database {
      * here, but at least they are small */
     notmuch_string_map_t *user_prefix;
     notmuch_string_map_t *user_header;
+
+    /* Cached and possibly overridden configuration */
+    notmuch_string_map_t *config;
 };
 
 /* Prior to database version 3, features were implied by the database
@@ -277,4 +288,11 @@ _notmuch_database_parse_features (const void *ctx, const char *features, unsigne
 char *
 _notmuch_database_print_features (const void *ctx, unsigned int features);
 
+/* prefix.cc */
+notmuch_status_t
+_notmuch_database_setup_standard_query_fields (notmuch_database_t *notmuch);
+
+notmuch_status_t
+_notmuch_database_setup_user_query_fields (notmuch_database_t *notmuch);
+
 #endif