Skip to content
Snippets Groups Projects
Verified Commit 390703b4 authored by Victor's avatar Victor
Browse files

[feature] get_size_list for listing blobs sizes

parent 7d76e9db
Branches
No related tags found
1 merge request!172Upstreaming blobs
...@@ -217,6 +217,20 @@ class SQLiteBlobBackend(object): ...@@ -217,6 +217,20 @@ class SQLiteBlobBackend(object):
else: else:
defer.returnValue([]) defer.returnValue([])
@defer.inlineCallbacks
def get_size_list(self, blob_ids, namespace=''):
query = 'SELECT BLOB_ID, LENGTH(PAYLOAD) FROM BLOBS WHERE BLOB_ID IN '
query += ('(%s)' % ', '.join(['?' for _ in blob_ids]))
query += ' AND NAMESPACE = ? ORDER BY BLOB_ID'
values = tuple(blob_ids) + (namespace,)
results = yield self.dbpool.runQuery(query, values)
if results:
results = dict([(result[0], result[1]) for result in results])
results = [(blob_id, results[blob_id]) for blob_id in blob_ids]
defer.returnValue(results)
else:
defer.returnValue([])
@defer.inlineCallbacks @defer.inlineCallbacks
def exists(self, blob_id, namespace=''): def exists(self, blob_id, namespace=''):
query = 'SELECT blob_id from blobs WHERE blob_id = ? AND namespace= ?' query = 'SELECT blob_id from blobs WHERE blob_id = ? AND namespace= ?'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment