X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fdatabase-private.h;h=d3e65fd64a8ba0508a59e374a2daab80f987a434;hp=41918d760fe82bed3c960f07f08f30159d3e4231;hb=a7bf045fb178b5ed48e71269427cec42c21f8cd6;hpb=e0a8dee8bcf0785325c07fff5a11e8ec494826db diff --git a/lib/database-private.h b/lib/database-private.h index 41918d76..d3e65fd6 100644 --- a/lib/database-private.h +++ b/lib/database-private.h @@ -34,6 +34,8 @@ #include +#pragma GCC visibility push(hidden) + struct _notmuch_database { notmuch_bool_t exception_reported; @@ -41,27 +43,29 @@ struct _notmuch_database { notmuch_bool_t needs_upgrade; notmuch_database_mode_t mode; + int atomic_nesting; Xapian::Database *xapian_db; + unsigned int last_doc_id; uint64_t last_thread_id; Xapian::QueryParser *query_parser; Xapian::TermGenerator *term_gen; Xapian::ValueRangeProcessor *value_range_processor; - + Xapian::ValueRangeProcessor *date_range_processor; }; -/* Convert tags from Xapian internal format to notmuch format. - * - * The function gets a TermIterator as argument and uses that iterator to find - * all tag terms in the object. The tags are then converted to a - * notmuch_tags_t list and returned. The function needs to allocate memory for - * the resulting list and it uses the argument ctx as talloc context. +/* Return the list of terms from the given iterator matching a prefix. + * The prefix will be stripped from the strings in the returned list. + * The list will be allocated using ctx as the talloc context. * * The function returns NULL on failure. */ -notmuch_tags_t * -_notmuch_convert_tags (void *ctx, Xapian::TermIterator &i, - Xapian::TermIterator &end); +notmuch_string_list_t * +_notmuch_database_get_terms_with_prefix (void *ctx, Xapian::TermIterator &i, + Xapian::TermIterator &end, + const char *prefix); + +#pragma GCC visibility pop #endif