X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FOver.pm;h=286fb7f6b4f9b85062f0e5f39ab0c956000f9228;hb=87678710135973f72722258e171fc00f85c86ec8;hp=598c9fcba18f53cd0e5a2e11c25f268eaede369c;hpb=7766a71df4cb715a240fd97a03dc0c31ab153c21;p=public-inbox.git
diff --git a/lib/PublicInbox/Over.pm b/lib/PublicInbox/Over.pm
index 598c9fcb..286fb7f6 100644
--- a/lib/PublicInbox/Over.pm
+++ b/lib/PublicInbox/Over.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2018 all contributors
+# Copyright (C) 2018-2020 all contributors
# License: AGPL-3.0+
# for XOVER, OVER in NNTP, and feeds/homepage/threads in PSGI
@@ -9,22 +9,21 @@ use strict;
use warnings;
use DBI;
use DBD::SQLite;
-use PublicInbox::SearchMsg;
+use PublicInbox::Smsg;
use Compress::Zlib qw(uncompress);
use constant DEFAULT_LIMIT => 1000;
sub dbh_new {
- my ($self) = @_;
- my $ro = ref($self) eq 'PublicInbox::Over';
+ my ($self, $rw) = @_;
my $f = $self->{filename};
- if (!$ro && !-f $f) { # SQLite defaults mode to 0644, we want 0666
+ if ($rw && !-f $f) { # SQLite defaults mode to 0644, we want 0666
open my $fh, '+>>', $f or die "failed to open $f: $!";
}
my $dbh = DBI->connect("dbi:SQLite:dbname=$f",'','', {
AutoCommit => 1,
RaiseError => 1,
PrintError => 0,
- ReadOnly => $ro,
+ ReadOnly => !$rw,
sqlite_use_immediate_transaction => 1,
});
$dbh->{sqlite_unicode} = 1;
@@ -42,14 +41,14 @@ sub connect { $_[0]->{dbh} ||= $_[0]->dbh_new }
sub load_from_row ($;$) {
my ($smsg, $cull) = @_;
- bless $smsg, 'PublicInbox::SearchMsg';
+ bless $smsg, 'PublicInbox::Smsg';
if (defined(my $data = delete $smsg->{ddd})) {
$data = uncompress($data);
utf8::decode($data);
- PublicInbox::SearchMsg::load_from_data($smsg, $data);
+ PublicInbox::Smsg::load_from_data($smsg, $data);
# saves over 600K for 1000+ message threads
- PublicInbox::SearchMsg::psgi_cull($smsg) if $cull;
+ PublicInbox::Smsg::psgi_cull($smsg) if $cull;
}
$smsg
}