From f1700e62d0c839d27103bbe356f987a75c233842 Mon Sep 17 00:00:00 2001 From: mhayes853 Date: Wed, 1 Apr 2026 11:56:30 -0700 Subject: [PATCH] Bump SQLite Vec Version --- Sources/CSQLiteVec/sqlite-vec.c | 8 +++++++- Sources/CSQLiteVec/sqlite-vec.h | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Sources/CSQLiteVec/sqlite-vec.c b/Sources/CSQLiteVec/sqlite-vec.c index 4ae1f77..01627f1 100644 --- a/Sources/CSQLiteVec/sqlite-vec.c +++ b/Sources/CSQLiteVec/sqlite-vec.c @@ -8944,11 +8944,17 @@ int vec0Update_Delete_ClearMetadata(vec0_vtab *p, int metadata_idx, i64 rowid, i } sqlite3_bind_int64(stmt, 1, rowid); rc = sqlite3_step(stmt); + sqlite3_finalize(stmt); if(rc != SQLITE_DONE) { rc = SQLITE_ERROR; goto done; } - sqlite3_finalize(stmt); + // Fix for https://github.com/asg017/sqlite-vec/issues/274 + // sqlite3_step returns SQLITE_DONE (101) on DML success, but the + // `done:` epilogue treats anything other than SQLITE_OK as an error. + // Without this, SQLITE_DONE propagates up to vec0Update_Delete, + // which aborts the DELETE scan and silently drops remaining rows. + rc = SQLITE_OK; } break; } diff --git a/Sources/CSQLiteVec/sqlite-vec.h b/Sources/CSQLiteVec/sqlite-vec.h index 88b9e16..551a2bb 100644 --- a/Sources/CSQLiteVec/sqlite-vec.h +++ b/Sources/CSQLiteVec/sqlite-vec.h @@ -17,15 +17,15 @@ #endif #endif -#define SQLITE_VEC_VERSION "v0.1.8" +#define SQLITE_VEC_VERSION "v0.1.9" // TODO rm -#define SQLITE_VEC_DATE "$2026-03-29T23:00:50Z+0000" -#define SQLITE_VEC_SOURCE "dfd8dc529097151518c42b3649fb98bbcd72273f" +#define SQLITE_VEC_DATE "$2026-03-31T22:00:50Z+0000" +#define SQLITE_VEC_SOURCE "e9f598abfa0c06b328d8fe5da9c3760cce74be10" #define SQLITE_VEC_VERSION_MAJOR 0 #define SQLITE_VEC_VERSION_MINOR 1 -#define SQLITE_VEC_VERSION_PATCH 8 +#define SQLITE_VEC_VERSION_PATCH 9 #ifdef __cplusplus extern "C" {