From 2f37f621b27bf967d774a901396f1129c212706e Mon Sep 17 00:00:00 2001 From: Bartosz Sypytkowski Date: Fri, 28 Jun 2024 07:11:33 +0200 Subject: [PATCH] fix: collab update violating primary key --- ...44b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0.json} | 6 +++--- libs/database/src/collab/collab_db_ops.rs | 4 ++-- libs/database/src/index/collab_embeddings_ops.rs | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) rename .sqlx/{query-743186a1098002a840613d70da4e4106d481234bbe868de352100a69aaa8c66d.json => query-d4ce35ee25927744b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0.json} (54%) diff --git a/.sqlx/query-743186a1098002a840613d70da4e4106d481234bbe868de352100a69aaa8c66d.json b/.sqlx/query-d4ce35ee25927744b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0.json similarity index 54% rename from .sqlx/query-743186a1098002a840613d70da4e4106d481234bbe868de352100a69aaa8c66d.json rename to .sqlx/query-d4ce35ee25927744b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0.json index 5a30e2fa..8b911533 100644 --- a/.sqlx/query-743186a1098002a840613d70da4e4106d481234bbe868de352100a69aaa8c66d.json +++ b/.sqlx/query-d4ce35ee25927744b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0.json @@ -1,13 +1,13 @@ { "db_name": "PostgreSQL", - "query": "UPDATE af_collab SET blob = $2, len = $3, partition_key = $4, encrypt = $5, owner_uid = $6 WHERE oid = $1", + "query": "UPDATE af_collab SET blob = $3, len = $4, encrypt = $5, owner_uid = $6 WHERE oid = $1 AND partition_key = $2;", "describe": { "columns": [], "parameters": { "Left": [ "Text", - "Bytea", "Int4", + "Bytea", "Int4", "Int4", "Int8" @@ -15,5 +15,5 @@ }, "nullable": [] }, - "hash": "743186a1098002a840613d70da4e4106d481234bbe868de352100a69aaa8c66d" + "hash": "d4ce35ee25927744b46eb4c4a4b6b710669f8059b77e107b60993c939112e3a0" } diff --git a/libs/database/src/collab/collab_db_ops.rs b/libs/database/src/collab/collab_db_ops.rs index 98095ad2..0baaba13 100644 --- a/libs/database/src/collab/collab_db_ops.rs +++ b/libs/database/src/collab/collab_db_ops.rs @@ -76,11 +76,11 @@ pub async fn insert_into_af_collab( if existing_workspace_id == workspace_id { sqlx::query!( "UPDATE af_collab \ - SET blob = $2, len = $3, partition_key = $4, encrypt = $5, owner_uid = $6 WHERE oid = $1", + SET blob = $3, len = $4, encrypt = $5, owner_uid = $6 WHERE oid = $1 AND partition_key = $2;", params.object_id, + partition_key, params.encoded_collab_v1, params.encoded_collab_v1.len() as i32, - partition_key, encrypt, uid, ) diff --git a/libs/database/src/index/collab_embeddings_ops.rs b/libs/database/src/index/collab_embeddings_ops.rs index 68097112..016a2642 100644 --- a/libs/database/src/index/collab_embeddings_ops.rs +++ b/libs/database/src/index/collab_embeddings_ops.rs @@ -83,7 +83,7 @@ pub async fn upsert_collab_embeddings( ) .bind(&r.fragment_id) .bind(&r.object_id) - .bind(r.collab_type.clone() as i32) + .bind(crate::collab::partition_key_from_collab_type(&r.collab_type)) .bind(r.content_type as i32) .bind(&r.content) .bind(r.embedding.clone().map(Vector::from))