use warnings;
# values for searching
-use constant DS => 0; # Date: header in Unix time
-use constant NUM => 1; # NNTP article number
-use constant BYTES => 2; # :bytes as defined in RFC 3977
-use constant LINES => 3; # :lines as defined in RFC 3977
-use constant TS => 4; # Received: header in Unix time
-use constant YYYYMMDD => 5; # for searching in the WWW UI
+use constant TS => 0; # Received: header in Unix time
+use constant YYYYMMDD => 1; # for searching in the WWW UI
+use constant NUM => 2; # NNTP article number
use Search::Xapian qw/:standard/;
use PublicInbox::SearchMsg;
sub retry_reopen {
my ($self, $cb) = @_;
my $ret;
- for (1..10) {
+ for my $i (1..10) {
eval { $ret = $cb->() };
return $ret unless $@;
# Exception: The revision being read has been discarded -
# you should call Xapian::Database::reopen()
if (ref($@) eq 'Search::Xapian::DatabaseModifiedError') {
+ warn "reopen try #$i on $@\n";
reopen($self);
} else {
warn "ref: ", ref($@), "\n";
die;
}
}
+ die "Too many Xapian database modifications in progress\n";
}
sub _do_enquire {