Skip to content

Commit 4715998

Browse files
committed
Fix PgVectorStore doDelete function as batch
Signed-off-by: CChuYong <[email protected]>
1 parent 28bceb3 commit 4715998

File tree

1 file changed

+15
-6
lines changed
  • vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector

1 file changed

+15
-6
lines changed

vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -319,12 +319,21 @@ private Object convertIdToPgType(String id) {
319319

320320
@Override
321321
public void doDelete(List<String> idList) {
322-
int updateCount = 0;
323-
for (String id : idList) {
324-
int count = this.jdbcTemplate.update("DELETE FROM " + getFullyQualifiedTableName() + " WHERE id = ?",
325-
UUID.fromString(id));
326-
updateCount = updateCount + count;
327-
}
322+
String sql = "DELETE FROM " + getFullyQualifiedTableName() + " WHERE id = ?";
323+
324+
this.jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
325+
326+
@Override
327+
public void setValues(PreparedStatement ps, int i) throws SQLException {
328+
var id = idList.get(i);
329+
StatementCreatorUtils.setParameterValue(ps, 1, SqlTypeValue.TYPE_UNKNOWN, convertIdToPgType(id));
330+
}
331+
332+
@Override
333+
public int getBatchSize() {
334+
return idList.size();
335+
}
336+
});
328337
}
329338

330339
@Override

0 commit comments

Comments
 (0)