]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/IMAPTracker.pm
net_reader: restart on first UID when UIDVALIDITY changes
[public-inbox.git] / lib / PublicInbox / IMAPTracker.pm
index bcf7af2e11b5de2e63a5a30bd13dfc7fb159bda8..fe8135823840de7b3f6099658ddbf12307f3ee6d 100644 (file)
@@ -39,12 +39,20 @@ sub dbh_new ($) {
        $dbh;
 }
 
-sub get_last ($) {
-       my ($self) = @_;
-       my $sth = $self->{dbh}->prepare_cached(<<'', undef, 1);
+sub get_last ($;$) {
+       my ($self, $validity) = @_;
+       my $sth;
+       if (defined $validity) {
+               $sth = $self->{dbh}->prepare_cached(<<'', undef, 1);
+SELECT uid_validity, uid FROM imap_last WHERE url = ? AND uid_validity = ?
+
+               $sth->execute($self->{url}, $validity);
+       } else {
+               $sth = $self->{dbh}->prepare_cached(<<'', undef, 1);
 SELECT uid_validity, uid FROM imap_last WHERE url = ?
 
-       $sth->execute($self->{url});
+               $sth->execute($self->{url});
+       }
        $sth->fetchrow_array;
 }