about summary refs log tree commit homepage
path: root/lib/PublicInbox/V2Writable.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-12-22 22:17:39 +0000
committerEric Wong <e@80x24.org>2019-12-24 03:48:12 +0000
commitcd8dd7b08fddc7c2b5f218c3fcaa5dca5f9ad945 (patch)
tree0989e4981be20e2408dda31314da019bd1841647 /lib/PublicInbox/V2Writable.pm
parent9484944697a1bf76d00d84d081e6a7d633074336 (diff)
downloadpublic-inbox-cd8dd7b08fddc7c2b5f218c3fcaa5dca5f9ad945.tar.gz
Xapian upstream is slowly phasing out the XS-based Search::Xapian
in favor of the SWIG-generated "Xapian" package.  While Debian and
both FreeBSD have Search::Xapian, OpenBSD only includes the "Xapian"
binding.

More information about the status of the "Xapian" Perl module here:
https://trac.xapian.org/ticket/523
Diffstat (limited to 'lib/PublicInbox/V2Writable.pm')
-rw-r--r--lib/PublicInbox/V2Writable.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index ab80941a..77b3bde4 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -62,10 +62,13 @@ sub count_shards ($) {
         # Also, shard count may change while -watch is running
         # due to "xcpdb --reshard"
         if (-d $xpfx) {
+                require PublicInbox::Search;
+                PublicInbox::Search::load_xapian();
+                my $XapianDatabase = $PublicInbox::Search::X{Database};
                 foreach my $shard (<$xpfx/*>) {
                         -d $shard && $shard =~ m!/[0-9]+\z! or next;
                         eval {
-                                Search::Xapian::Database->new($shard)->close;
+                                $XapianDatabase->new($shard)->close;
                                 $n++;
                         };
                 }