]> git.notmuchmail.org Git - notmuch/blobdiff - query.cc
Change database to store only a single thread ID per message.
[notmuch] / query.cc
index ae986d35c9d1499bfb5695a252959a054a18357b..88d76ef19ff6c2b825d81bbb256e218607c6f839 100644 (file)
--- a/query.cc
+++ b/query.cc
@@ -114,10 +114,10 @@ notmuch_query_search (notmuch_query_t *query)
 
        switch (query->sort) {
        case NOTMUCH_SORT_DATE_OLDEST_FIRST:
-           enquire.set_sort_by_value (NOTMUCH_VALUE_DATE, FALSE);
+           enquire.set_sort_by_value (NOTMUCH_VALUE_TIMESTAMP, FALSE);
            break;
        case NOTMUCH_SORT_DATE_NEWEST_FIRST:
-           enquire.set_sort_by_value (NOTMUCH_VALUE_DATE, TRUE);
+           enquire.set_sort_by_value (NOTMUCH_VALUE_TIMESTAMP, TRUE);
            break;
        case NOTMUCH_SORT_MESSAGE_ID:
            enquire.set_sort_by_value (NOTMUCH_VALUE_MESSAGE_ID, FALSE);
@@ -165,12 +165,23 @@ notmuch_results_has_more (notmuch_results_t *results)
 notmuch_message_t *
 notmuch_results_get (notmuch_results_t *results)
 {
+    notmuch_message_t *message;
     Xapian::docid doc_id;
+    notmuch_private_status_t status;
 
     doc_id = *results->iterator;
 
-    return _notmuch_message_create (results,
-                                   results->notmuch, doc_id);
+    message = _notmuch_message_create (results,
+                                      results->notmuch, doc_id,
+                                      &status);
+
+    if (message == NULL &&
+       status == NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND)
+    {
+       INTERNAL_ERROR ("a results iterator contains a non-existent document ID.\n");
+    }
+
+    return message;
 }
 
 void