diff options
Diffstat (limited to 'lib/PublicInbox/Over.pm')
-rw-r--r-- | lib/PublicInbox/Over.pm | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/PublicInbox/Over.pm b/lib/PublicInbox/Over.pm index 286fb7f6..402cbf7c 100644 --- a/lib/PublicInbox/Over.pm +++ b/lib/PublicInbox/Over.pm @@ -215,4 +215,17 @@ SELECT num,ts,ds,ddd FROM over WHERE num = ? LIMIT 1 load_from_row($smsg); } +# IMAP search +sub uid_range { + my ($self, $beg, $end, $sql) = @_; + my $dbh = $self->connect; + my $q = 'SELECT num FROM over WHERE num >= ? AND num <= ?'; + + # This is read-only, anyways; but caller should verify it's + # only sending \A[0-9]+\z for ds and ts column ranges + $q .= $$sql if $sql; + $q .= ' ORDER BY num ASC LIMIT ' . DEFAULT_LIMIT; + $dbh->selectcol_arrayref($q, undef, $beg, $end); +} + 1; |