From dfab14a5d238003ac7c1f75b8bf818206bfc6f3f Mon Sep 17 00:00:00 2001
From: Timothy Carambat <rambat1010@gmail.com>
Date: Mon, 29 Jan 2024 09:49:22 -0800
Subject: [PATCH] Patch lanceDB not deleting vectors from workspace (#655)

patch lanceDB not deleting vectors from workspace
documentVectors self-sanitize on delete of parent document
---
 server/models/documents.js                    | 3 +++
 server/utils/vectorDbProviders/lance/index.js | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/server/models/documents.js b/server/models/documents.js
index 8f3b88fbd..bdb29dc77 100644
--- a/server/models/documents.js
+++ b/server/models/documents.js
@@ -106,6 +106,9 @@ const Document = {
         await prisma.workspace_documents.delete({
           where: { id: document.id, workspaceId: workspace.id },
         });
+        await prisma.document_vectors.deleteMany({
+          where: { docId: document.docId },
+        });
       } catch (error) {
         console.error(error.message);
       }
diff --git a/server/utils/vectorDbProviders/lance/index.js b/server/utils/vectorDbProviders/lance/index.js
index 67705c00e..ecf10007f 100644
--- a/server/utils/vectorDbProviders/lance/index.js
+++ b/server/utils/vectorDbProviders/lance/index.js
@@ -207,9 +207,9 @@ const LanceDb = {
 
           vectors.push(vectorRecord);
           submissions.push({
+            ...vectorRecord.metadata,
             id: vectorRecord.id,
             vector: vectorRecord.values,
-            ...vectorRecord.metadata,
           });
           documentVectors.push({ docId, vectorId: vectorRecord.id });
         }
-- 
GitLab