Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/cassandra/storage.py
Show First 20 Lines • Show All 1,657 Lines • ▼ Show 20 Lines | def extid_add(self, ids: List[ExtID]) -> Dict[str, int]: | ||||
extids = [ | extids = [ | ||||
extid | extid | ||||
for extid in ids | for extid in ids | ||||
if not self._cql_runner.extid_get_from_pk( | if not self._cql_runner.extid_get_from_pk( | ||||
extid_type=extid.extid_type, | extid_type=extid.extid_type, | ||||
extid_version=extid.extid_version, | extid_version=extid.extid_version, | ||||
extid=extid.extid, | extid=extid.extid, | ||||
target=extid.target, | target=extid.target, | ||||
payload_type=extid.payload_type, | |||||
payload=extid.payload, | |||||
) | ) | ||||
] | ] | ||||
else: | else: | ||||
extids = list(ids) | extids = list(ids) | ||||
self.journal_writer.extid_add(extids) | self.journal_writer.extid_add(extids) | ||||
inserted = 0 | inserted = 0 | ||||
for extid in extids: | for extid in extids: | ||||
target_type = extid.target.object_type.value | target_type = extid.target.object_type.value | ||||
target = extid.target.object_id | target = extid.target.object_id | ||||
extid_version = extid.extid_version | extid_version = extid.extid_version | ||||
extid_type = extid.extid_type | extid_type = extid.extid_type | ||||
payload_type = extid.payload_type | |||||
payload = extid.payload | |||||
extidrow = ExtIDRow( | extidrow = ExtIDRow( | ||||
extid_type=extid_type, | extid_type=extid_type, | ||||
extid_version=extid_version, | extid_version=extid_version, | ||||
extid=extid.extid, | extid=extid.extid, | ||||
target_type=target_type, | target_type=target_type, | ||||
target=target, | target=target, | ||||
payload_type=payload_type, | |||||
payload=payload, | |||||
) | ) | ||||
(token, insertion_finalizer) = self._cql_runner.extid_add_prepare(extidrow) | (token, insertion_finalizer) = self._cql_runner.extid_add_prepare(extidrow) | ||||
indexrow = ExtIDByTargetRow( | indexrow = ExtIDByTargetRow( | ||||
target_type=target_type, | target_type=target_type, | ||||
target=target, | target=target, | ||||
target_token=token, | target_token=token, | ||||
) | ) | ||||
self._cql_runner.extid_index_add_one(indexrow) | self._cql_runner.extid_index_add_one(indexrow) | ||||
Show All 16 Lines | ) -> List[ExtID]: | ||||
ExtID( | ExtID( | ||||
extid_type=extidrow.extid_type, | extid_type=extidrow.extid_type, | ||||
extid_version=extidrow.extid_version, | extid_version=extidrow.extid_version, | ||||
extid=extidrow.extid, | extid=extidrow.extid, | ||||
target=CoreSWHID( | target=CoreSWHID( | ||||
object_type=extidrow.target_type, | object_type=extidrow.target_type, | ||||
object_id=extidrow.target, | object_id=extidrow.target, | ||||
), | ), | ||||
payload_type=extidrow.payload_type, | |||||
payload=extidrow.payload, | |||||
) | ) | ||||
for extidrow in extidrows | for extidrow in extidrows | ||||
) | ) | ||||
return result | return result | ||||
def extid_get_from_target( | def extid_get_from_target( | ||||
self, | self, | ||||
target_type: SwhidObjectType, | target_type: SwhidObjectType, | ||||
Show All 19 Lines | ) -> List[ExtID]: | ||||
ExtID( | ExtID( | ||||
extid_type=extidrow.extid_type, | extid_type=extidrow.extid_type, | ||||
extid_version=extidrow.extid_version, | extid_version=extidrow.extid_version, | ||||
extid=extidrow.extid, | extid=extidrow.extid, | ||||
target=CoreSWHID( | target=CoreSWHID( | ||||
object_type=SwhidObjectType(extidrow.target_type), | object_type=SwhidObjectType(extidrow.target_type), | ||||
object_id=extidrow.target, | object_id=extidrow.target, | ||||
), | ), | ||||
payload_type=extidrow.payload_type, | |||||
payload=extidrow.payload, | |||||
) | ) | ||||
for extidrow in extidrows | for extidrow in extidrows | ||||
) | ) | ||||
return result | return result | ||||
# Misc | # Misc | ||||
def clear_buffers(self, object_types: Sequence[str] = ()) -> None: | def clear_buffers(self, object_types: Sequence[str] = ()) -> None: | ||||
"""Do nothing""" | """Do nothing""" | ||||
return None | return None | ||||
def flush(self, object_types: Sequence[str] = ()) -> Dict[str, int]: | def flush(self, object_types: Sequence[str] = ()) -> Dict[str, int]: | ||||
return {} | return {} |