X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FOver.pm;h=b230d44a105791442f7262d7cb6b6be6686c45a0;hp=a7fd1315c3af88269b02bf2c6289be86c1541700;hb=b9534449ecce2c59bb4aebad6051f91c3116b187;hpb=f91753f00b760c0e06eb0384792e5b18bd99bb0f diff --git a/lib/PublicInbox/Over.pm b/lib/PublicInbox/Over.pm index a7fd1315..b230d44a 100644 --- a/lib/PublicInbox/Over.pm +++ b/lib/PublicInbox/Over.pm @@ -109,10 +109,26 @@ SELECT COUNT(num) $cond } sub recent { - my ($self, $opts) = @_; - my $msgs = do_get($self, <<'', $opts); -SELECT * FROM over WHERE num > 0 -ORDER BY ts DESC + my ($self, $opts, $after, $before) = @_; + my ($s, @v); + if (defined($before)) { + if (defined($after)) { + $s = 'num > 0 AND ts >= ? AND ts <= ? ORDER BY ts DESC'; + @v = ($after, $before); + } else { + $s = 'num > 0 AND ts <= ? ORDER BY ts DESC'; + @v = ($before); + } + } else { + if (defined($after)) { + $s = 'num > 0 AND ts >= ? ORDER BY ts ASC'; + @v = ($after); + } else { + $s = 'num > 0 ORDER BY ts DESC'; + } + } + my $msgs = do_get($self, <<"", $opts, @v); +SELECT * FROM over WHERE $s return $msgs unless wantarray;