X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=lib%2Fdatabase-private.h;h=f206efaf30bf072b60791b7bdc5c10af18452f26;hb=be7e83de96b706af418fc9f139ded4d50bf342f6;hp=c9bc712b46c1a0b51c8d93af9189111604b7dd7f;hpb=0f37509cc7e92f2c09fcd7d7f3e2b477e4f29401;p=notmuch diff --git a/lib/database-private.h b/lib/database-private.h index c9bc712b..f206efaf 100644 --- a/lib/database-private.h +++ b/lib/database-private.h @@ -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,8 +206,17 @@ 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; + /* 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; @@ -228,6 +241,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 @@ -284,4 +300,11 @@ _notmuch_database_setup_standard_query_fields (notmuch_database_t *notmuch); notmuch_status_t _notmuch_database_setup_user_query_fields (notmuch_database_t *notmuch); +#if __cplusplus +/* parse-sexp.cc */ +notmuch_status_t +_notmuch_sexp_string_to_xapian_query (notmuch_database_t *notmuch, const char *querystr, + Xapian::Query &output); +#endif + #endif