]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
search: reduce columns stored in Xapian
[public-inbox.git] / lib / PublicInbox / Search.pm
index 5fc7682c99c72e9a3a46a157f68483622932587d..ca389e320b2706edacbbd578b33dacc65812dece 100644 (file)
@@ -8,12 +8,9 @@ use strict;
 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;
@@ -215,18 +212,20 @@ sub get_thread {
 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 {