From: Michael Tremer Date: Thu, 10 Oct 2019 07:58:43 +0000 (+0100) Subject: wiki: Deduplicate blobs X-Git-Url: http://git.ipfire.org/?p=ipfire.org.git;a=commitdiff_plain;h=a3a8a163e201fff07cdb7a3fcb37fef1aa50b2ee wiki: Deduplicate blobs Signed-off-by: Michael Tremer --- diff --git a/src/backend/wiki.py b/src/backend/wiki.py index 6647cc9b..36d19e7c 100644 --- a/src/backend/wiki.py +++ b/src/backend/wiki.py @@ -234,7 +234,9 @@ class Wiki(misc.Object): file.delete(author) # Upload the blob first - blob = self.db.get("INSERT INTO wiki_blobs(data) VALUES(%s) RETURNING id", data) + blob = self.db.get("INSERT INTO wiki_blobs(data) VALUES(%s) \ + ON CONFLICT (digest(data, %s)) DO UPDATE SET data = EXCLUDED.data \ + RETURNING id", data, "MD5") # Create entry for file return self._get_file("INSERT INTO wiki_files(path, filename, author_uid, address, \