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 */
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;
+ /* How many transactions have successfully completed since we last committed */
+ int transaction_count;
+ /* when to commit and reset the counter */
+ int transaction_threshold;
+
/* error reporting; this value persists only until the
* next library call. May be NULL */
char *status_string;
* 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
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