From 2a084f92fa8d2f8f9ea4c0c3463e9b0607ff73c9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 27 Oct 2020 07:54:19 +0000 Subject: 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). --- lib/PublicInbox/V2Writable.pm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/PublicInbox/V2Writable.pm') 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; -- cgit v1.2.3-24-ge0c7