unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* need to call notmuch_threads_get (..) to actually move iterator
@ 2016-02-24 12:08 Gaute Hope
  2016-02-28 12:36 ` Gaute Hope
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Gaute Hope @ 2016-02-24 12:08 UTC (permalink / raw)
  To: notmuch

Hi,

it seems to be necessary to actually call notmuch_threads_get (threads)
to move the thread iterator from a query object, just calling
notmuch_threads_move_to_next (..) is not enough:

```

notmuch_query_t *query;
notmuch_threads_t *threads;
notmuch_thread_t *thread;

query = notmuch_query_create (database, query_string);
threads = notmuch_query_search_threads (query);

int i = 0;

for (;
     notmuch_threads_valid (threads);
     notmuch_threads_move_to_next (threads))
{
    /*
     * with this line commented out the iterator seems to remain in
     * place, and if I below do another loop it will start from the
     * beginning.

    thread = notmuch_threads_get (threads);
    ....
    notmuch_thread_destroy (thread);
    */

    i++;
    if (i > 100) break;
}

for (;
     notmuch_threads_valid (threads);
     notmuch_threads_move_to_next (threads))
{
    /* the thread acquired here will be the first thread in the query.
     * it should be the 101th. */

    thread = notmuch_threads_get (threads);
    ....
    notmuch_thread_destroy (thread);

}


notmuch_query_destroy (query);
```

It is quite slow to skip the threads in this way, might it be faster if
move_to_next works correctly?

Regards, Gaute


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-02-28 15:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-24 12:08 need to call notmuch_threads_get (..) to actually move iterator Gaute Hope
2016-02-28 12:36 ` Gaute Hope
2016-02-28 12:59   ` Gaute Hope
2016-02-28 14:26 ` Franz Fellner
2016-02-28 14:46   ` Franz Fellner
2016-02-28 15:46 ` David Bremner

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).