about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiMailSync.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/LeiMailSync.pm')
-rw-r--r--lib/PublicInbox/LeiMailSync.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/PublicInbox/LeiMailSync.pm b/lib/PublicInbox/LeiMailSync.pm
index 094cf1fd..d9c30580 100644
--- a/lib/PublicInbox/LeiMailSync.pm
+++ b/lib/PublicInbox/LeiMailSync.pm
@@ -345,4 +345,15 @@ EOF
         $err;
 }
 
+sub forget_folder {
+        my ($self, $folder) = @_;
+        my ($fid, $sth);
+        $fid = delete($self->{fmap}->{$folder}) //
+                _fid_for($self, $folder) // return;
+        my $dbh = $self->{dbh};
+        $dbh->do('DELETE FROM blob2name WHERE fid = ?', undef, $fid);
+        $dbh->do('DELETE FROM blob2num WHERE fid = ?', undef, $fid);
+        $dbh->do('DELETE FROM folders WHERE fid = ?', undef, $fid);
+}
+
 1;