Only inbox accesses the read-only {over}, now, instead of going
through ->search. This simplifies our object graph and avoids
potentially redundant FDs and DB handles pointing to the same
over.sqlite3 file.
-sub over ($) {
- my ($self) = @_;
- my $srch = search($self, 1) or return;
- $self->{over} //= eval {
- my $over = $srch->{over_ro};
+sub over {
+ $_[0]->{over} //= eval {
+ my $srch = search($_[0], 1) or return;
+ my $over = PublicInbox::Over->new("$srch->{xpfx}/over.sqlite3");
$over->dbh; # may fail
$over;
$over->dbh; # may fail
$over;
ibx_ver => $ibx->version,
}, $class;
xpfx_init($self);
ibx_ver => $ibx->version,
}, $class;
xpfx_init($self);
- my $dir = xdir($self, 1);
- $self->{over_ro} = PublicInbox::Over->new("$dir/over.sqlite3");