From: Eric Wong Date: Tue, 27 Oct 2020 07:54:19 +0000 (+0000) Subject: v2writable: checkpoint: account for lack of {mm} X-Git-Tag: v1.7.0~1682 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=2a084f92fa8d2f8f9ea4c0c3463e9b0607ff73c9;p=public-inbox.git v2writable: checkpoint: account for lack of {mm} ExtSearchIdx will not have Msgmap, since it may index non email blobs in the future (it'll still be usable with IMAP, but not NNTP). --- diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index f8b7abe1..867e4d2b 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -609,10 +609,11 @@ sub checkpoint ($;$) { } my $shards = $self->{idx_shards}; if ($shards) { - my $dbh = $self->{mm}->{dbh}; + my $mm = $self->{mm}; + my $dbh = $mm->{dbh} if $mm; # SQLite msgmap data is second in importance - $dbh->commit; + $dbh->commit if $dbh; # SQLite overview is third $self->{oidx}->commit_lazy; @@ -632,11 +633,12 @@ sub checkpoint ($;$) { # last_commit is special, don't commit these until # Xapian shards are done: - $dbh->begin_work; + $dbh->begin_work if $dbh; set_last_commits($self); - $dbh->commit; - - $dbh->begin_work; + if ($dbh) { + $dbh->commit; + $dbh->begin_work; + } } $self->{total_bytes} += $self->{transact_bytes}; $self->{transact_bytes} = 0;