* add query flags (which match msgiterflags) to mu_query_run, update callers
This commit is contained in:
@ -113,6 +113,7 @@ run_query (MuQuery *xapian, const gchar *query, MuConfig *opts, GError **err)
|
||||
{
|
||||
MuMsgIter *iter;
|
||||
MuMsgFieldId sortid;
|
||||
MuQueryFlags qflags;
|
||||
|
||||
sortid = MU_MSG_FIELD_ID_NONE;
|
||||
if (opts->sortfield) {
|
||||
@ -121,8 +122,13 @@ run_query (MuQuery *xapian, const gchar *query, MuConfig *opts, GError **err)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
iter = mu_query_run (xapian, query, opts->threads, sortid,
|
||||
opts->reverse, -1, err);
|
||||
qflags = MU_QUERY_FLAG_NONE;
|
||||
if (opts->threads)
|
||||
qflags |= MU_QUERY_FLAG_THREADS;
|
||||
if (opts->reverse)
|
||||
qflags |= MU_QUERY_FLAG_DESCENDING;
|
||||
|
||||
iter = mu_query_run (xapian, query, sortid, -1, qflags, err);
|
||||
return iter;
|
||||
}
|
||||
|
||||
|
||||
@ -266,8 +266,9 @@ get_docid_from_msgid (MuQuery *query, const char *str, GError **err)
|
||||
MuMsgIter *iter;
|
||||
|
||||
querystr = g_strdup_printf ("msgid:%s", str);
|
||||
iter = mu_query_run (query, querystr, FALSE,
|
||||
MU_MSG_FIELD_ID_NONE, FALSE, 1, err);
|
||||
iter = mu_query_run (query, querystr,
|
||||
MU_MSG_FIELD_ID_NONE,
|
||||
1, MU_QUERY_FLAG_NONE, err);
|
||||
g_free (querystr);
|
||||
|
||||
docid = MU_STORE_INVALID_DOCID;
|
||||
@ -300,8 +301,8 @@ get_docids_from_msgids (MuQuery *query, const char *str, GError **err)
|
||||
GSList *lst;
|
||||
|
||||
querystr = g_strdup_printf ("msgid:%s", str);
|
||||
iter = mu_query_run (query, querystr, FALSE,
|
||||
MU_MSG_FIELD_ID_NONE, FALSE,-1 /*unlimited*/,
|
||||
iter = mu_query_run (query, querystr, MU_MSG_FIELD_ID_NONE,
|
||||
-1 /*unlimited*/, MU_QUERY_FLAG_NONE,
|
||||
err);
|
||||
g_free (querystr);
|
||||
|
||||
@ -889,6 +890,7 @@ cmd_find (ServerContext *ctx, GSList *args, GError **err)
|
||||
gboolean threads, reverse;
|
||||
MuMsgFieldId sortfield;
|
||||
const char *querystr;
|
||||
MuQueryFlags qflags;
|
||||
|
||||
GET_STRING_OR_ERROR_RETURN (args, "query", &querystr, err);
|
||||
if (get_find_params (args, &threads, &sortfield,
|
||||
@ -900,9 +902,14 @@ cmd_find (ServerContext *ctx, GSList *args, GError **err)
|
||||
/* note: when we're threading, we get *all* matching messages,
|
||||
* and then only return maxnum; this is so that we maximimize
|
||||
* the change of all messages in a thread showing up */
|
||||
iter = mu_query_run (ctx->query, querystr, threads,
|
||||
sortfield, reverse,
|
||||
threads ? -1 : maxnum, err);
|
||||
qflags = MU_QUERY_FLAG_NONE;
|
||||
if (threads)
|
||||
qflags |= MU_QUERY_FLAG_THREADS;
|
||||
if (reverse)
|
||||
qflags |= MU_QUERY_FLAG_DESCENDING;
|
||||
|
||||
iter = mu_query_run (ctx->query, querystr, sortfield,
|
||||
threads ? -1 : maxnum, qflags, err);
|
||||
if (!iter) {
|
||||
print_and_clear_g_error (err);
|
||||
return MU_OK;
|
||||
|
||||
@ -130,8 +130,8 @@ run_and_count_matches (const char *xpath, const char *query)
|
||||
}
|
||||
|
||||
|
||||
iter = mu_query_run (mquery, query, FALSE, MU_MSG_FIELD_ID_NONE,
|
||||
FALSE, -1, NULL);
|
||||
iter = mu_query_run (mquery, query, MU_MSG_FIELD_ID_NONE, -1,
|
||||
MU_QUERY_FLAG_NONE, NULL);
|
||||
mu_query_destroy (mquery);
|
||||
g_assert (iter);
|
||||
|
||||
@ -295,8 +295,8 @@ test_mu_query_accented_chars_01 (void)
|
||||
query = mu_query_new (store, NULL);
|
||||
mu_store_unref (store);
|
||||
|
||||
iter = mu_query_run (query, "fünkÿ", FALSE, MU_MSG_FIELD_ID_NONE,
|
||||
FALSE, -1, NULL);
|
||||
iter = mu_query_run (query, "fünkÿ", MU_MSG_FIELD_ID_NONE,
|
||||
-1, MU_QUERY_FLAG_NONE, NULL);
|
||||
err = NULL;
|
||||
msg = mu_msg_iter_get_msg_floating (iter); /* don't unref */
|
||||
if (!msg) {
|
||||
|
||||
@ -70,8 +70,8 @@ run_and_get_iter (const char *xpath, const char *query)
|
||||
mu_store_unref (store);
|
||||
g_assert (query);
|
||||
|
||||
iter = mu_query_run (mquery, query, TRUE, MU_MSG_FIELD_ID_DATE,
|
||||
FALSE, -1, NULL);
|
||||
iter = mu_query_run (mquery, query, MU_MSG_FIELD_ID_DATE,
|
||||
-1, MU_QUERY_FLAG_THREADS, NULL);
|
||||
mu_query_destroy (mquery);
|
||||
g_assert (iter);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user