lib/PublicInbox/V2Writable.pm | 14 ++++++++------ diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index f8b7abe1c8aeac2574b53d92b4368db9bdaf2361..867e4d2b0556c19ddc45e27f382df9819b93a3a4 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -609,10 +609,11 @@ } } 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 @@ } # 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;