Skip to content

Commit 2ae5f48

Browse files
committed
fix: fix viking delete
1 parent 4254822 commit 2ae5f48

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

veadk/database/database_adapter.py

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,17 @@ def query(self, query: str, index: str, top_k: int = 0) -> list:
5454
logger.error(f"Failed to search from Redis: index={index} error={e}")
5555
raise e
5656

57+
def delete(self, index: str) -> bool:
58+
logger.debug(f"Deleting key from Redis database: index={index}")
59+
try:
60+
self.client.delete(key=index)
61+
return True
62+
except Exception as e:
63+
logger.error(
64+
f"Failed to delete key from Redis database: index={index} error={e}"
65+
)
66+
return False
67+
5768
def delete_doc(self, index: str, id: str) -> bool:
5869
logger.debug(f"Deleting document from Redis database: index={index} id={id}")
5970
try:
@@ -135,6 +146,17 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
135146

136147
return [item["data"] for item in results]
137148

149+
def delete(self, index: str) -> bool:
150+
logger.debug(f"Deleting table from SQL database: table_name={index}")
151+
try:
152+
self.client.delete(table=index)
153+
return True
154+
except Exception as e:
155+
logger.error(
156+
f"Failed to delete table from SQL database: table_name={index} error={e}"
157+
)
158+
return False
159+
138160
def delete_doc(self, index: str, id: str) -> bool:
139161
logger.debug(f"Deleting document from SQL database: table_name={index} id={id}")
140162
try:
@@ -293,7 +315,7 @@ def query(self, query: str, index: str, top_k: int) -> list[str]:
293315
def delete(self, index: str) -> bool:
294316
self._validate_index(index)
295317
logger.debug(f"Deleting collection from Viking database: index={index}")
296-
return self.client.delete(collection_name=index)
318+
return self.client.delete(name=index)
297319

298320
def delete_doc(self, index: str, id: str) -> bool:
299321
self._validate_index(index)
@@ -341,6 +363,11 @@ def query(self, query: str, index: str, top_k: int, **kwargs):
341363
result = self.client.query(query, collection_name=index, top_k=top_k, **kwargs)
342364
return result
343365

366+
def delete(self, index: str) -> bool:
367+
self._validate_index(index)
368+
logger.debug(f"Deleting collection from Viking database memory: index={index}")
369+
raise NotImplementedError("VikingMemoryDatabase does not support delete")
370+
344371
def delete_docs(self, index: str, ids: list[int]):
345372
raise NotImplementedError("VikingMemoryDatabase does not support delete_docs")
346373

@@ -360,8 +387,8 @@ def add(self, data: list[str], **kwargs):
360387
def query(self, query: str, **kwargs):
361388
return self.client.query(query, **kwargs)
362389

363-
def delete(self, index: str):
364-
self.client.delete()
390+
def delete(self, index: str) -> bool:
391+
return self.client.delete()
365392

366393
def delete_doc(self, index: str, id: str) -> bool:
367394
return self.client.delete_doc(id)

veadk/database/viking/viking_database.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@
3838
search_knowledge_path = "/api/knowledge/collection/search_knowledge"
3939
list_collections_path = "/api/knowledge/collection/list"
4040
get_collections_path = "/api/knowledge/collection/info"
41+
doc_del_path = "/api/knowledge/collection/delete"
4142
doc_add_path = "/api/knowledge/doc/add"
4243
doc_info_path = "/api/knowledge/doc/info"
43-
doc_del_path = "/api/collection/drop"
4444
list_docs_path = "/api/knowledge/point/list"
4545
delete_docs_path = "/api/knowledge/point/delete"
4646

@@ -255,9 +255,9 @@ def add(
255255
}
256256

257257
def delete(self, **kwargs: Any):
258-
collection_name = kwargs.get("collection_name")
259-
resource_id = kwargs.get("resource_id")
260-
request_param = {"collection_name": collection_name, "resource_id": resource_id}
258+
name = kwargs.get("name")
259+
project = kwargs.get("project", self.config.project)
260+
request_param = {"name": name, "project": project}
261261
doc_del_req = prepare_request(
262262
method="POST", path=doc_del_path, config=self.config, data=request_param
263263
)

0 commit comments

Comments
 (0)