Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/storage.py
Show First 20 Lines • Show All 598 Lines • ▼ Show 20 Lines | def revision_add(self, revisions: List[Revision], db=None, cur=None) -> Dict: | ||||
["id", "parent_id", "parent_rank"], | ["id", "parent_id", "parent_rank"], | ||||
cur, | cur, | ||||
) | ) | ||||
return {"revision:add": len(revisions_missing)} | return {"revision:add": len(revisions_missing)} | ||||
@timed | @timed | ||||
@db_transaction_generator() | @db_transaction_generator() | ||||
def revision_missing(self, revisions, db=None, cur=None): | def revision_missing( | ||||
self, revisions: List[Sha1Git], db=None, cur=None | |||||
) -> Iterable[Sha1Git]: | |||||
if not revisions: | if not revisions: | ||||
return | return None | ||||
for obj in db.revision_missing_from_list(revisions, cur): | for obj in db.revision_missing_from_list(revisions, cur): | ||||
yield obj[0] | yield obj[0] | ||||
@timed | @timed | ||||
@db_transaction_generator(statement_timeout=1000) | @db_transaction_generator(statement_timeout=1000) | ||||
def revision_get(self, revisions, db=None, cur=None): | def revision_get( | ||||
self, revisions: List[Sha1Git], db=None, cur=None | |||||
) -> Iterable[Optional[Dict[str, Any]]]: | |||||
for line in db.revision_get_from_list(revisions, cur): | for line in db.revision_get_from_list(revisions, cur): | ||||
data = converters.db_to_revision(dict(zip(db.revision_get_cols, line))) | data = converters.db_to_revision(dict(zip(db.revision_get_cols, line))) | ||||
if not data["type"]: | if not data["type"]: | ||||
yield None | yield None | ||||
continue | continue | ||||
yield data | yield data | ||||
@timed | @timed | ||||
@db_transaction_generator(statement_timeout=2000) | @db_transaction_generator(statement_timeout=2000) | ||||
def revision_log(self, revisions, limit=None, db=None, cur=None): | def revision_log( | ||||
self, revisions: List[Sha1Git], limit: Optional[int] = None, db=None, cur=None | |||||
) -> Iterable[Optional[Dict[str, Any]]]: | |||||
for line in db.revision_log(revisions, limit, cur): | for line in db.revision_log(revisions, limit, cur): | ||||
data = converters.db_to_revision(dict(zip(db.revision_get_cols, line))) | data = converters.db_to_revision(dict(zip(db.revision_get_cols, line))) | ||||
if not data["type"]: | if not data["type"]: | ||||
ardumont: typo! | |||||
yield None | yield None | ||||
continue | continue | ||||
yield data | yield data | ||||
@timed | @timed | ||||
@db_transaction_generator(statement_timeout=2000) | @db_transaction_generator(statement_timeout=2000) | ||||
def revision_shortlog(self, revisions, limit=None, db=None, cur=None): | def revision_shortlog( | ||||
self, revisions: List[Sha1Git], limit: Optional[int] = None, db=None, cur=None | |||||
) -> Iterable[Optional[Tuple[Sha1Git, Tuple[Sha1Git, ...]]]]: | |||||
yield from db.revision_shortlog(revisions, limit, cur) | yield from db.revision_shortlog(revisions, limit, cur) | ||||
@timed | @timed | ||||
@db_transaction() | @db_transaction() | ||||
def revision_get_random(self, db=None, cur=None) -> Sha1Git: | def revision_get_random(self, db=None, cur=None) -> Sha1Git: | ||||
return db.revision_get_random(cur) | return db.revision_get_random(cur) | ||||
@timed | @timed | ||||
▲ Show 20 Lines • Show All 783 Lines • Show Last 20 Lines |
typo!