[PATCH] lib: add support for thread:<message-id> queries
Jani Nikula
jani at nikula.org
Sat Oct 21 05:07:40 PDT 2017
On Sat, 21 Oct 2017, David Bremner <david at tethera.net> wrote:
> Jani Nikula <jani at nikula.org> writes:
>
>> On Tue, 17 Oct 2017, David Bremner <david at tethera.net> wrote:
>>> Jani Nikula <jani at nikula.org> writes:
>>>
>>> The other field processors throw Xapian::QueryParserErrors in case bad
>>> things happen (e.g. failure to read from the database). This seems to be
>>> better than nothing as it allows transmitting some detail to the
>>> user. See e.g. "regex error reporting" in test/T650-regexp-query.sh. And
>>> of course, speaking of tests, this should have one.
>>
>> I'm not sure what you're suggesting. Do you mean I should open-code
>> notmuch_database_find_message() or notmuch_message_get_thread_id() to
>> get at the exceptions thrown within them?
>>
>> BR,
>> Jani.
>
> nothing so fancy. Consider the following bit of query-fp.cc
>
> status = notmuch_database_get_config (notmuch, key.c_str (), &expansion);
> if (status) {
> throw Xapian::QueryParserError ("error looking up key" + name);
> }
>
>
> That could no doubt be improved to report the specifics of `status`, but
> it's already better than silently ignoring the error, as this will
> eventually be reported back to library clients. I agree the exception ->
> error-code -> exception -> error-code path is pretty gross, but thats
> the price we pay for mostly pretending we're not writing C++.
Okay. Seems like we are in agreement we want this feature, so I'll fix
that up and write some tests when I have a moment.
Thanks,
Jani.
More information about the notmuch
mailing list