mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
initial support for vector indexes
MDEV-33407 Parser support for vector indexes The syntax is create table t1 (... vector index (v) ...); limitation: * v is a binary string and NOT NULL * only one vector index per table * temporary tables are not supported MDEV-33404 Engine-independent indexes: subtable method added support for so-called "high level indexes", they are not visible to the storage engine, implemented on the sql level. For every such an index in a table, say, t1, the server implicitly creates a second table named, like, t1#i#05 (where "05" is the index number in t1). This table has a fixed structure, no frm, not accessible directly, doesn't go into the table cache, needs no MDLs. MDEV-33406 basic optimizer support for k-NN searches for a query like SELECT ... ORDER BY func() optimizer will use item_func->part_of_sortkey() to decide what keys can be used to resolve ORDER BY.
This commit is contained in:
@@ -668,6 +668,7 @@ mysql_ha_fix_cond_and_key(SQL_HANDLER *handler,
|
||||
|
||||
if (c_key->algorithm == HA_KEY_ALG_RTREE ||
|
||||
c_key->algorithm == HA_KEY_ALG_FULLTEXT ||
|
||||
c_key->algorithm == HA_KEY_ALG_VECTOR ||
|
||||
(ha_rkey_mode != HA_READ_KEY_EXACT &&
|
||||
(table->key_info[handler->keyno].index_flags &
|
||||
(HA_READ_NEXT | HA_READ_PREV | HA_READ_RANGE)) == 0))
|
||||
|
Reference in New Issue
Block a user