@@ -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
0 commit comments