DatabaseModifiedError, how to handle it correctly when searching?

Eric Wong e at 80x24.org
Mon Aug 30 10:48:29 BST 2021


Yuan Fu <casouri at gmail.com> wrote:
> The starter guide [1] mentioned that searching could result in DatabaseModifiedError, and I need to reopen the database should it happen. However, I couldn’t figure out which functions throw that error, I looked at Enquire.get_mset(), etc, and none of them says they throw this error. How should I correctly handle this?
> 
> [1] https://getting-started-with-xapian.readthedocs.io/en/latest/practical_example/searching/database_modified.html

I think pretty much all Xapian functions which read the database
can throw DatabaseModifiedError.  I've been wrapping all
accesses with `eval {}' (Perl's standard exception trapping
mechanism).

I haven't used Xapian with other languages, but I expect the
bindings to work with the standard exception handling of
whatever language you're using (e.g begin/end for Ruby).



More information about the Xapian-discuss mailing list