Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/db.py
Show First 20 Lines • Show All 321 Lines • ▼ Show 20 Lines | def origin_visit_update(self, origin_id, visit_id, updates, cur=None): | ||||
{from} | {from} | ||||
WHERE {where}""".format(**{ | WHERE {where}""".format(**{ | ||||
'update_cols': ', '.join(update_cols), | 'update_cols': ', '.join(update_cols), | ||||
'from': from_, | 'from': from_, | ||||
'where': ' AND '.join(where) | 'where': ' AND '.join(where) | ||||
}) | }) | ||||
cur.execute(query, (*values, *where_values)) | cur.execute(query, (*values, *where_values)) | ||||
def origin_visit_upsert(self, origin, visit, date, status, | |||||
metadata, snapshot, cur=None): | |||||
cur = self._cursor(cur) | |||||
query = """INSERT INTO origin_visit ({cols}) VALUES ({values}) | |||||
ON CONFLICT ON CONSTRAINT origin_visit_pkey DO | |||||
UPDATE SET {updates}""".format( | |||||
cols=', '.join(self.origin_visit_get_cols), | |||||
values=', '.join('%s' for col in self.origin_visit_get_cols), | |||||
updates=', '.join('{0}=excluded.{0}'.format(col) | |||||
for col in self.origin_visit_get_cols)) | |||||
cur.execute(query, (origin, visit, date, status, metadata, snapshot)) | |||||
origin_visit_get_cols = ['origin', 'visit', 'date', 'status', 'metadata', | origin_visit_get_cols = ['origin', 'visit', 'date', 'status', 'metadata', | ||||
'snapshot'] | 'snapshot'] | ||||
def origin_visit_get_all(self, origin_id, | def origin_visit_get_all(self, origin_id, | ||||
last_visit=None, limit=None, cur=None): | last_visit=None, limit=None, cur=None): | ||||
"""Retrieve all visits for origin with id origin_id. | """Retrieve all visits for origin with id origin_id. | ||||
Args: | Args: | ||||
▲ Show 20 Lines • Show All 545 Lines • Show Last 20 Lines |