Просмотр исходного кода

fix:delete empty table bug (#15517)

Co-authored-by: huangzhuo <huangzhuo1@xiaomi.com>
tags/1.1.0
huangzhuo1949 7 месяцев назад
Родитель
Сommit
695a7400a9
Аккаунт пользователя с таким Email не найден
1 измененных файлов: 10 добавлений и 1 удалений
  1. 10
    1
      api/core/rag/datasource/vdb/pgvector/pgvector.py

+ 10
- 1
api/core/rag/datasource/vdb/pgvector/pgvector.py Просмотреть файл

@@ -1,8 +1,10 @@
import json
import logging
import uuid
from contextlib import contextmanager
from typing import Any

import psycopg2.errors
import psycopg2.extras # type: ignore
import psycopg2.pool # type: ignore
from pydantic import BaseModel, model_validator
@@ -147,7 +149,14 @@ class PGVector(BaseVector):
if not ids:
return
with self._get_cursor() as cur:
cur.execute(f"DELETE FROM {self.table_name} WHERE id IN %s", (tuple(ids),))
try:
cur.execute(f"DELETE FROM {self.table_name} WHERE id IN %s", (tuple(ids),))
except psycopg2.errors.UndefinedTable:
# table not exists
logging.warning(f"Table {self.table_name} not found, skipping delete operation.")
return
except Exception as e:
raise e

def delete_by_metadata_field(self, key: str, value: str) -> None:
with self._get_cursor() as cur:

Загрузка…
Отмена
Сохранить