mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 08:46:49 +02:00
Fix DiskANN command dispatch when IVF is disabled
The command insert handler (used for runtime config like search_list_size_search) was gated behind SQLITE_VEC_EXPERIMENTAL_IVF_ENABLE, which defaults to 0. DiskANN commands were unreachable unless IVF was also compiled in. Widen the guard to also activate when SQLITE_VEC_ENABLE_DISKANN is set. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1e3bb3e5e3
commit
a248ecd061
1 changed files with 6 additions and 3 deletions
|
|
@ -10143,14 +10143,17 @@ static int vec0Update(sqlite3_vtab *pVTab, int argc, sqlite3_value **argv,
|
||||||
}
|
}
|
||||||
// INSERT operation
|
// INSERT operation
|
||||||
else if (argc > 1 && sqlite3_value_type(argv[0]) == SQLITE_NULL) {
|
else if (argc > 1 && sqlite3_value_type(argv[0]) == SQLITE_NULL) {
|
||||||
#if SQLITE_VEC_EXPERIMENTAL_IVF_ENABLE
|
#if SQLITE_VEC_EXPERIMENTAL_IVF_ENABLE || SQLITE_VEC_ENABLE_DISKANN
|
||||||
// Check for IVF command inserts: INSERT INTO t(rowid) VALUES ('compute-centroids')
|
// Check for command inserts: INSERT INTO t(rowid) VALUES ('command-string')
|
||||||
// The id column holds the command string.
|
// The id column holds the command string.
|
||||||
sqlite3_value *idVal = argv[2 + VEC0_COLUMN_ID];
|
sqlite3_value *idVal = argv[2 + VEC0_COLUMN_ID];
|
||||||
if (sqlite3_value_type(idVal) == SQLITE_TEXT) {
|
if (sqlite3_value_type(idVal) == SQLITE_TEXT) {
|
||||||
const char *cmd = (const char *)sqlite3_value_text(idVal);
|
const char *cmd = (const char *)sqlite3_value_text(idVal);
|
||||||
vec0_vtab *p = (vec0_vtab *)pVTab;
|
vec0_vtab *p = (vec0_vtab *)pVTab;
|
||||||
int cmdRc = ivf_handle_command(p, cmd, argc, argv);
|
int cmdRc = SQLITE_EMPTY;
|
||||||
|
#if SQLITE_VEC_EXPERIMENTAL_IVF_ENABLE
|
||||||
|
cmdRc = ivf_handle_command(p, cmd, argc, argv);
|
||||||
|
#endif
|
||||||
#if SQLITE_VEC_ENABLE_DISKANN
|
#if SQLITE_VEC_ENABLE_DISKANN
|
||||||
if (cmdRc == SQLITE_EMPTY)
|
if (cmdRc == SQLITE_EMPTY)
|
||||||
cmdRc = diskann_handle_command(p, cmd);
|
cmdRc = diskann_handle_command(p, cmd);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue