Re: DatabaseModifiedError, how to handle it correctly when searching?
Eric Wong <[email protected]> Mon, 30 Aug 2021 09:48:29 +0000
| Newsgroups | gmane.comp.search.xapian.general |
|---|---|
| Message-ID | <20210830094829.GA31808@dcvr> |
Yuan Fu <[email protected]> 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).