From dafdac5f00c1427249f037aaf542881cdbf8f0af Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Sun, 23 Jun 2013 16:33:19 +0200 Subject: update_sharing: postgres does not support "INSERT OR IGNORE" --- update_sharing.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'update_sharing.py') diff --git a/update_sharing.py b/update_sharing.py index e78e13f..0995114 100755 --- a/update_sharing.py +++ b/update_sharing.py @@ -49,8 +49,13 @@ def main(): (hashvalue,)).fetchall() print("processing hash %s with %d entries" % (hashvalue, len(rows))) pkgdict = compute_pkgdict(rows) - conn.execute("INSERT OR IGNORE INTO duplicate (cid) VALUES (?);", - *[(row[1],) for row in rows]) + for row in rows: + cid = row[1] + already = conn.scalar("SELECT cid FROM duplicate WHERE cid = ?;", + (cid,)) + if not already: + conn.execute("INSERT INTO duplicate (cid) VALUES (?);", + (cid,)) process_pkgdict(conn, pkgdict) if __name__ == "__main__": -- cgit v1.2.3