aboutsummaryrefslogtreecommitdiff
path: root/gn_libs
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2025-03-25 13:20:57 -0500
committerFrederick Muriuki Muriithi2025-03-25 13:20:57 -0500
commit8bbbd120f6a1b7dd27e22a433b07326a41c32b04 (patch)
tree6fc0c810ed4a7d716f23f10f0069dace8228a7c2 /gn_libs
parent8dc121fb4286f1bd90b51777d215253b2806ee43 (diff)
downloadgn-libs-8bbbd120f6a1b7dd27e22a433b07326a41c32b04.tar.gz
Change query for updating metadata: allow creating new item.
Diffstat (limited to 'gn_libs')
-rw-r--r--gn_libs/jobs/jobs.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/gn_libs/jobs/jobs.py b/gn_libs/jobs/jobs.py
index 4519e4f..38cd9c0 100644
--- a/gn_libs/jobs/jobs.py
+++ b/gn_libs/jobs/jobs.py
@@ -132,7 +132,10 @@ def update_metadata(conn: DbConnection, job_id: Union[str, uuid.UUID], key: str,
"""Update the value of a metadata item."""
with _cursor(conn) as cursor:
cursor.execute(
- "UPDATE jobs_metadata SET metadata_value=:value "
+ "INSERT INTO jobs_metadata(job_id, metadata_key, metadata_value) "
+ "VALUES (:job_id, :key, :value) "
+ "ON CONFLICT (job_id, metadata_key) DO UPDATE "
+ "SET metadata_value=:value "
"WHERE job_id=:job_id AND metadata_key=:key",
{
"job_id": str(job_id),