notmuch/lib
Carl Worth 70962fabf9 lib/messages.c: Make message searches stream as well.
Xapian provides an interator-based interface to all search results.
So it was natural to make notmuch_messages_t be iterator-based as
well. Which we did originally.

But we ran into a problem when we added two APIs, (_get_replies and
_get_toplevel_messages), that want to return a messages iterator
that's *not* based on a Xapian search result. My original compromise
was to use notmuch_message_list_t as the basis for all returned
messages iterators in the public interface.

This had the problem of introducing extra latency at the beginning
of a search for messages, (the call would block while iterating over
all results from Xapian, converting to a message list).

In this commit, we remove that initial conversion and instead provide
two alternate implementations of notmuch_messages_t (one on top of a
Xapian iterator and one on top of a message list).

With this change, I tested a "notmuch search" returning *many* results
as previously taking about 7 seconds before results started appearing,
and now taking only 2 seconds.
2009-11-24 11:33:09 -08:00
..
database-private.h Add rudimentary date-based search. 2009-11-23 17:17:08 +01:00
database.cc Add rudimentary date-based search. 2009-11-23 17:17:08 +01:00
index.cc Typsos 2009-11-18 03:21:36 -08:00
libsha1.c libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00
libsha1.h libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00
Makefile Use $(MAKE) when invoking make from make. 2009-11-12 22:00:51 -08:00
Makefile.local Makefile: Magic silent rules. 2009-11-22 04:29:29 +01:00
message-file.c message_file_get_header: Use break where more clear than continue. 2009-11-17 18:37:45 -08:00
message.cc fix notmuch-new bug when database path ends with a trailing / 2009-11-23 04:37:01 +01:00
messages.c lib/messages.c: Make message searches stream as well. 2009-11-24 11:33:09 -08:00
notmuch-private.h lib/messages.c: Make message searches stream as well. 2009-11-24 11:33:09 -08:00
notmuch.h lib/query: Drop the first and max_messages arguments from search_messages. 2009-11-23 20:25:13 -08:00
query.cc lib/messages.c: Make message searches stream as well. 2009-11-24 11:33:09 -08:00
sha1.c Typsos 2009-11-18 03:21:36 -08:00
tags.c notmuch_tags_advance: Make safe against excessive calls. 2009-11-14 23:02:55 -08:00
thread.cc lib/query: Drop the first and max_messages arguments from search_messages. 2009-11-23 20:25:13 -08:00
xutil.c libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00
xutil.h libify: Move library sources down into lib directory. 2009-11-09 16:24:03 -08:00