summaryrefslogtreecommitdiff
path: root/src/leap/soledad/client/_db/blobs/sql.py
diff options
context:
space:
mode:
authorVictor Shyba <victor1984@riseup.net>2017-11-11 00:37:01 -0300
committerVictor Shyba <victor1984@riseup.net>2017-11-13 18:17:15 -0300
commit8f3fdc2f9c3d4360669c2c7fd89dbd95e0f8dd22 (patch)
tree7d711a51d896811fe6309eb5a368ed468276a6d8 /src/leap/soledad/client/_db/blobs/sql.py
parent914579325d242e2643a964bbf1b271435b5c66cc (diff)
[feature] apply deletions from server
Sync method to propagate deletions in batch locally. -- Resolves: #8961
Diffstat (limited to 'src/leap/soledad/client/_db/blobs/sql.py')
-rw-r--r--src/leap/soledad/client/_db/blobs/sql.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/leap/soledad/client/_db/blobs/sql.py b/src/leap/soledad/client/_db/blobs/sql.py
index c5b0b64b..5337ab87 100644
--- a/src/leap/soledad/client/_db/blobs/sql.py
+++ b/src/leap/soledad/client/_db/blobs/sql.py
@@ -190,6 +190,13 @@ class SQLiteBlobBackend(object):
query = 'DELETE FROM blobs WHERE blob_id = ? AND namespace = ?'
return self.dbpool.runQuery(query, (blob_id, namespace,))
+ def batch_delete(self, blob_id_list, namespace=''):
+ query = 'DELETE FROM blobs WHERE blob_id IN '
+ size = len(blob_id_list)
+ query += ('(%s)' % ', '.join(['?' for _ in range(size)]))
+ values = tuple(blob_id_list)
+ return self.dbpool.runQuery(query, values)
+
def _init_tables(conn):
# unified init for running under the same lock