Re: DatabaseModifiedError, how to handle it correctly when searching?

Yuan Fu <[email protected]> Mon, 30 Aug 2021 18:42:12 -0700
Newsgroups gmane.comp.search.xapian.general
Message-ID <[email protected]>

> On Aug 30, 2021, at 6:36 PM, Yuan Fu <[email protected]> wrote:
> 
> 
> 
>> On Aug 30, 2021, at 2:48 AM, Eric Wong <[email protected]> wrote:
>> 
>> 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).

And will creating enquire from a database, and get_mset throw DatabaseModifiedError? Creating an enquire could read the database, or it could not, I couldn’t really tell.

Yuan