|
@@ -421,10 +421,12 @@ class PgvectorClient(VectorDBBase):
|
|
|
documents[qid].append(row.text)
|
|
|
metadatas[qid].append(row.vmetadata)
|
|
|
|
|
|
+ self.session.rollback() # read-only transaction
|
|
|
return SearchResult(
|
|
|
ids=ids, distances=distances, documents=documents, metadatas=metadatas
|
|
|
)
|
|
|
except Exception as e:
|
|
|
+ self.session.rollback()
|
|
|
log.exception(f"Error during search: {e}")
|
|
|
return None
|
|
|
|
|
@@ -477,12 +479,14 @@ class PgvectorClient(VectorDBBase):
|
|
|
documents = [[result.text for result in results]]
|
|
|
metadatas = [[result.vmetadata for result in results]]
|
|
|
|
|
|
+ self.session.rollback() # read-only transaction
|
|
|
return GetResult(
|
|
|
ids=ids,
|
|
|
documents=documents,
|
|
|
metadatas=metadatas,
|
|
|
)
|
|
|
except Exception as e:
|
|
|
+ self.session.rollback()
|
|
|
log.exception(f"Error during query: {e}")
|
|
|
return None
|
|
|
|
|
@@ -523,8 +527,10 @@ class PgvectorClient(VectorDBBase):
|
|
|
documents = [[result.text for result in results]]
|
|
|
metadatas = [[result.vmetadata for result in results]]
|
|
|
|
|
|
+ self.session.rollback() # read-only transaction
|
|
|
return GetResult(ids=ids, documents=documents, metadatas=metadatas)
|
|
|
except Exception as e:
|
|
|
+ self.session.rollback()
|
|
|
log.exception(f"Error during get: {e}")
|
|
|
return None
|
|
|
|
|
@@ -592,8 +598,10 @@ class PgvectorClient(VectorDBBase):
|
|
|
.first()
|
|
|
is not None
|
|
|
)
|
|
|
+ self.session.rollback() # read-only transaction
|
|
|
return exists
|
|
|
except Exception as e:
|
|
|
+ self.session.rollback()
|
|
|
log.exception(f"Error checking collection existence: {e}")
|
|
|
return False
|
|
|
|