Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/db.py
Show First 20 Lines • Show All 241 Lines • ▼ Show 20 Lines | def directory_missing_from_list(self, directories, cur=None): | ||||
cur, """ | cur, """ | ||||
SELECT id FROM (VALUES %s) as t(id) | SELECT id FROM (VALUES %s) as t(id) | ||||
WHERE NOT EXISTS ( | WHERE NOT EXISTS ( | ||||
SELECT 1 FROM directory d WHERE d.id = t.id | SELECT 1 FROM directory d WHERE d.id = t.id | ||||
) | ) | ||||
""", ((id,) for id in directories)) | """, ((id,) for id in directories)) | ||||
directory_ls_cols = ['dir_id', 'type', 'target', 'name', 'perms', | directory_ls_cols = ['dir_id', 'type', 'target', 'name', 'perms', | ||||
'status', 'sha1', 'sha1_git', 'sha256', 'length'] | 'status', 'sha1', 'sha1_git', 'sha256', 'blake2s256', | ||||
'length'] | |||||
def directory_walk_one(self, directory, cur=None): | def directory_walk_one(self, directory, cur=None): | ||||
cur = self._cursor(cur) | cur = self._cursor(cur) | ||||
cols = ', '.join(self.directory_ls_cols) | cols = ', '.join(self.directory_ls_cols) | ||||
query = 'SELECT %s FROM swh_directory_walk_one(%%s)' % cols | query = 'SELECT %s FROM swh_directory_walk_one(%%s)' % cols | ||||
cur.execute(query, (directory,)) | cur.execute(query, (directory,)) | ||||
yield from cur | yield from cur | ||||
▲ Show 20 Lines • Show All 655 Lines • Show Last 20 Lines |