1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-35450 VEC_DISTANCE() function to autouse the available index type

This commit is contained in:
Sergei Golubchik
2024-12-09 17:11:08 +01:00
parent 528249a20a
commit e11592aed3
6 changed files with 210 additions and 2 deletions

View File

@@ -39,13 +39,14 @@ class Item_func_vec_distance: public Item_real_func
double (*calc_distance)(float *v1, float *v2, size_t v_len);
public:
enum distance_kind { EUCLIDEAN, COSINE } kind;
enum distance_kind { EUCLIDEAN, COSINE, AUTO } kind;
Item_func_vec_distance(THD *thd, Item *a, Item *b, distance_kind kind);
LEX_CSTRING func_name_cstring() const override
{
static LEX_CSTRING name[3]= {
{ STRING_WITH_LEN("VEC_DISTANCE_EUCLIDEAN") },
{ STRING_WITH_LEN("VEC_DISTANCE_COSINE") }
{ STRING_WITH_LEN("VEC_DISTANCE_COSINE") },
{ STRING_WITH_LEN("VEC_DISTANCE") }
};
return name[kind];
}