-sub searchidx_checkpoint {
- my ($self, $more) = @_;
-
- # order matters, we can only close {over} after all partitions
- # are done because the partitions also write to {over}
- if (my $parts = $self->{idx_parts}) {
- foreach my $idx (@$parts) {
- $idx->remote_commit; # propagates commit to over
- $idx->remote_close unless $more;
- }
- delete $self->{idx_parts} unless $more;
- }
-
- if (my $mm = $self->{mm}) {
- my $dbh = $mm->{dbh};
- $dbh->commit;
- if ($more) {
- $dbh->begin_work;
- } else {
- delete $self->{mm};
- }
- }
- my $over = $self->{over};
- $over->remote_commit;
- if (!$more) {
- $over->remote_close;
- }
- $self->{transact_bytes} = 0;
-}
-