From 2b798c3ea3b0e87cc41e692a7c51039bd1b03e41 Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Mon, 24 May 2021 16:59:20 +0200 Subject: [PATCH] Ignore attempts to put the same label twice on the same event --- lib/www/server/lib/db/event/post.js | 1 + lib/www/server/lib/db/event/put.js | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/www/server/lib/db/event/post.js b/lib/www/server/lib/db/event/post.js index 5bd4424..c951a14 100644 --- a/lib/www/server/lib/db/event/post.js +++ b/lib/www/server/lib/db/event/post.js @@ -31,6 +31,7 @@ async function insertSequenceEventLabels(event, client) { FROM unnest($2::text[]) l (name) INNER JOIN labels USING (name) WHERE (data->'model'->'user')::boolean IS true + ON CONFLICT ON CONSTRAINT events_seq_labels_pkey DO NOTHING; `; // console.log("insertSequenceEventLabels", text, event); diff --git a/lib/www/server/lib/db/event/put.js b/lib/www/server/lib/db/event/put.js index 774df59..46db499 100644 --- a/lib/www/server/lib/db/event/put.js +++ b/lib/www/server/lib/db/event/put.js @@ -51,7 +51,8 @@ async function updateSeqEventLabels (event, client) { const text = ` INSERT INTO events_seq_labels (id, label) - SELECT $1, label FROM unnest($2::text[]) t (label); + SELECT $1, label FROM unnest($2::text[]) t (label) + ON CONFLICT ON CONSTRAINT events_seq_labels_pkey DO NOTHING; `; return client.query(text, [event.id, event.labels]);