diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-04-02 00:04:55 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-04-02 00:05:42 +0000 |
commit | 87dca6d8d5988c5eb54019cca342450b0b7dd6b7 (patch) | |
tree | a415a88759b88014d30544addbb69c5949ed76f0 /t/watch_maildir_v2.t | |
parent | 3cc5ff405d9054fbf47ac44774fca4f9a72ff65a (diff) | |
download | public-inbox-87dca6d8d5988c5eb54019cca342450b0b7dd6b7.tar.gz |
In many cases, we do not care about the total number of messages. It's a rather expensive operation in SQLite (Xapian only provides an estimate). For LKML, this brings top-level /$INBOX/ loading time from ~375ms to around 60ms on my system. Days ago, this operation was taking 800-900ms(!) for me before introducing the SQLite overview DB.
Diffstat (limited to 't/watch_maildir_v2.t')
-rw-r--r-- | t/watch_maildir_v2.t | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t index 85130e3c..a76e413f 100644 --- a/t/watch_maildir_v2.t +++ b/t/watch_maildir_v2.t @@ -50,8 +50,8 @@ ok($ibx, 'found inbox by name'); my $srch = $ibx->search; PublicInbox::WatchMaildir->new($config)->scan('full'); -my $res = $srch->reopen->query(''); -is($res->{total}, 1, 'got one revision'); +my ($total, undef) = $srch->reopen->query(''); +is($total, 1, 'got one revision'); # my $git = PublicInbox::Git->new("$mainrepo/git/0.git"); # my @list = $git->qx(qw(rev-list refs/heads/master)); @@ -70,7 +70,7 @@ my $write_spam = sub { $write_spam->(); is(unlink(glob("$maildir/new/*")), 1, 'unlinked old spam'); PublicInbox::WatchMaildir->new($config)->scan('full'); -is($srch->reopen->query('')->{total}, 0, 'deleted file'); +is(($srch->reopen->query(''))[0], 0, 'deleted file'); # check with scrubbing { @@ -80,16 +80,16 @@ the body of a message to majordomo\@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html\n); PublicInbox::Emergency->new($maildir)->prepare(\$msg); PublicInbox::WatchMaildir->new($config)->scan('full'); - $res = $srch->reopen->query(''); - is($res->{total}, 1, 'got one file back'); - my $mref = $ibx->msg_by_smsg($res->{msgs}->[0]); + my ($nr, $msgs) = $srch->reopen->query(''); + is($nr, 1, 'got one file back'); + my $mref = $ibx->msg_by_smsg($msgs->[0]); like($$mref, qr/something\n\z/s, 'message scrubbed on import'); is(unlink(glob("$maildir/new/*")), 1, 'unlinked spam'); $write_spam->(); PublicInbox::WatchMaildir->new($config)->scan('full'); - $res = $srch->reopen->query(''); - is($res->{total}, 0, 'inbox is empty again'); + ($nr, $msgs) = $srch->reopen->query(''); + is($nr, 0, 'inbox is empty again'); } { @@ -103,8 +103,8 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); local $SIG{__WARN__} = sub {}; # quiet spam check warning PublicInbox::WatchMaildir->new($config)->scan('full'); } - $res = $srch->reopen->query(''); - is($res->{total}, 0, 'inbox is still empty'); + ($nr, $msgs) = $srch->reopen->query(''); + is($nr, 0, 'inbox is still empty'); is(unlink(glob("$maildir/new/*")), 1); } @@ -116,9 +116,9 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); PublicInbox::Emergency->new($maildir)->prepare(\$msg); $config->{'publicinboxwatch.spamcheck'} = 'spamc'; PublicInbox::WatchMaildir->new($config)->scan('full'); - $res = $srch->reopen->query(''); - is($res->{total}, 1, 'inbox has one mail after spamc OK-ed a message'); - my $mref = $ibx->msg_by_smsg($res->{msgs}->[0]); + ($nr, $msgs) = $srch->reopen->query(''); + is($nr, 1, 'inbox has one mail after spamc OK-ed a message'); + my $mref = $ibx->msg_by_smsg($msgs->[0]); like($$mref, qr/something\n\z/s, 'message scrubbed on import'); } |