about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-01-23 22:08:59 +0000
committerEric Wong <e@80x24.org>2024-01-24 01:53:49 +0000
commit13f19ce67e4c641405828fa16e563e3fbf6b8eb9 (patch)
treed9f5191df4cfe6796a024de5afb145ae728b103b
parent65690a33c5a527d5f3fef9320899eb9f4e1d25c8 (diff)
downloadpublic-inbox-13f19ce67e4c641405828fa16e563e3fbf6b8eb9.tar.gz
We can rely on SQLite to map `MAX(ds)' to `ds' rather than
doing it in Perl, reducing the size of our Perl optree at the
(smaller) expense of SQLite bytecode.
-rw-r--r--lib/PublicInbox/WwwTopics.pm5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/PublicInbox/WwwTopics.pm b/lib/PublicInbox/WwwTopics.pm
index ad85a46d..9d270732 100644
--- a/lib/PublicInbox/WwwTopics.pm
+++ b/lib/PublicInbox/WwwTopics.pm
@@ -9,7 +9,7 @@ sub add_topic_html ($$) {
         my (undef, $smsg) = @_;
         my $s = ascii_html($smsg->{subject});
         $s = '(no subject)' if $s eq '';
-        $_[0] .= "\n".fmt_ts($smsg->{'MAX(ds)'} // $smsg->{ds}) .
+        $_[0] .= "\n".fmt_ts($smsg->{ds}) .
                 qq{ <a\nhref="}.mid_href($smsg->{mid}).qq{/#r">$s</a>};
         my $nr = $smsg->{'COUNT(num)'};
         $_[0] .= " $nr+ messages" if $nr > 1;
@@ -29,7 +29,7 @@ EOS
 
 sub topics_active ($) {
         $_[0]->do_get(<<EOS);
-SELECT ddd,MAX(ds),COUNT(num) FROM over WHERE tid IN
+SELECT ddd,MAX(ds) as ds,COUNT(num) FROM over WHERE tid IN
 (SELECT DISTINCT(tid) FROM over WHERE tid > 0 ORDER BY ts DESC LIMIT 200)
 AND +num > 0
 GROUP BY tid
@@ -43,7 +43,6 @@ sub topics_atom { # GET /$INBOX_NAME/topics_(new|active).atom
         my ($ctx) = @_;
         require PublicInbox::WwwAtomStream;
         my ($hdr, $smsg, $val);
-        $_->{ds} //= $_->{'MAX(ds)'} // 0 for @{$ctx->{msgs}};
         PublicInbox::WwwAtomStream->response($ctx, \&topics_i);
 }