Skip to content

Commit a37ccad

Browse files
committed
Exposed all vector_convert functions
1 parent c6e91cd commit a37ccad

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

src/sqlite-vector.c

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1313,7 +1313,13 @@ static void vector_convert (sqlite3_context *context, vector_type type, int argc
13131313

13141314
if (value_type == SQLITE_TEXT) {
13151315
// try to parse JSON array value
1316-
char *blob = vector_convert_from_json(context, NULL, type, (const char *)sqlite3_value_text(value), &value_size);
1316+
const char *json = (const char *)sqlite3_value_text(value);
1317+
if (!json) {
1318+
context_result_error(context, SQLITE_ERROR, "Invalid TEXT input.");
1319+
return;
1320+
}
1321+
1322+
char *blob = vector_convert_from_json(context, NULL, type, json, &value_size);
13171323
if (!blob) return; // error is set in the context
13181324

13191325
sqlite3_result_blob(context, (const void *)blob, value_size, sqlite3_free);
@@ -1889,6 +1895,21 @@ SQLITE_VECTOR_API int sqlite3_vector_init (sqlite3 *db, char **pzErrMsg, const s
18891895
rc = sqlite3_create_function(db, "vector_cleanup", 2, SQLITE_UTF8, ctx, vector_cleanup, NULL, NULL);
18901896
if (rc != SQLITE_OK) goto cleanup;
18911897

1898+
rc = sqlite3_create_function(db, "vector_convert_f32", 1, SQLITE_UTF8, ctx, vector_convert_f32, NULL, NULL);
1899+
if (rc != SQLITE_OK) goto cleanup;
1900+
1901+
rc = sqlite3_create_function(db, "vector_convert_f16", 1, SQLITE_UTF8, ctx, vector_convert_f16, NULL, NULL);
1902+
if (rc != SQLITE_OK) goto cleanup;
1903+
1904+
rc = sqlite3_create_function(db, "vector_convert_bf16", 1, SQLITE_UTF8, ctx, vector_convert_bf16, NULL, NULL);
1905+
if (rc != SQLITE_OK) goto cleanup;
1906+
1907+
rc = sqlite3_create_function(db, "vector_convert_i8", 1, SQLITE_UTF8, ctx, vector_convert_i8, NULL, NULL);
1908+
if (rc != SQLITE_OK) goto cleanup;
1909+
1910+
rc = sqlite3_create_function(db, "vector_convert_u8", 1, SQLITE_UTF8, ctx, vector_convert_u8, NULL, NULL);
1911+
if (rc != SQLITE_OK) goto cleanup;
1912+
18921913
rc = sqlite3_create_module(db, "vector_full_scan", &vFullScanModule, ctx);
18931914
if (rc != SQLITE_OK) goto cleanup;
18941915

src/sqlite-vector.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
extern "C" {
2525
#endif
2626

27-
#define SQLITE_VECTOR_VERSION "0.8.5"
27+
#define SQLITE_VECTOR_VERSION "0.8.6"
2828

2929
SQLITE_VECTOR_API int sqlite3_vector_init (sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi);
3030

0 commit comments

Comments
 (0)