]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/OverIdx.pm
treewide: replace /^I: / prefix with /^# /
[public-inbox.git] / lib / PublicInbox / OverIdx.pm
index d6d706f7fed04363d409eb7aa34564f08ad7dc2e..6cc86d5d038d3669b0991d270aa74234f3937560 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # for XOVER, OVER in NNTP, and feeds/homepage/threads in PSGI
@@ -434,6 +434,7 @@ sub commit_lazy {
        my ($self) = @_;
        delete $self->{txn} or return;
        $self->{dbh}->commit;
+       eval { $self->{dbh}->do('PRAGMA optimize') };
 }
 
 sub begin_lazy {
@@ -508,12 +509,12 @@ EOF
                                next;
                        }
                        $pr->(<<EOM) if $pr;
-I: ghost $r->{num} <$mid> THREADID=$r->{tid} culled
+# ghost $r->{num} <$mid> THREADID=$r->{tid} culled
 EOM
                }
                delete_by_num($self, $r->{num});
        }
-       $pr->("I: rethread culled $total ghosts\n") if $pr && $total;
+       $pr->("# rethread culled $total ghosts\n") if $pr && $total;
 }
 
 # used for cross-inbox search
@@ -619,8 +620,7 @@ UPDATE over SET ddd = ? WHERE num = ?
 }
 
 sub merge_xref3 { # used for "-extindex --dedupe"
-       my ($self, $keep_docid, $drop_docid, $oidhex) = @_;
-       my $oidbin = pack('H*', $oidhex);
+       my ($self, $keep_docid, $drop_docid, $oidbin) = @_;
        my $sth = $self->{dbh}->prepare_cached(<<'');
 UPDATE OR IGNORE xref3 SET docid = ? WHERE docid = ? AND oidbin = ?
 
@@ -670,4 +670,16 @@ sub vivify_xvmd {
        $smsg->{-vivify_xvmd} = \@vivify_xvmd;
 }
 
+sub fork_ok {
+       return 1 if $DBD::SQLite::sqlite_version >= 3008003;
+       my ($opt) = @_;
+       my @j = split(/,/, $opt->{jobs} // '');
+       state $warned;
+       grep { $_ > 1 } @j and $warned //= warn('DBD::SQLite version is ',
+                $DBD::SQLite::sqlite_version,
+               ", need >= 3008003 (3.8.3) for --jobs > 1\n");
+       $opt->{jobs} = '1,1';
+       undef;
+}
+
 1;