[vector index] ivf vector index relative variable place holder

This commit is contained in:
JLY2015 2024-12-12 10:15:33 +00:00 committed by ob-robot
parent 38dcd77e2c
commit 01c912823a
3 changed files with 50 additions and 2 deletions

View File

@ -82,6 +82,12 @@ enum ObDDLType
DDL_CREATE_VEC_INDEX = 15,
DDL_CREATE_MULTIVALUE_INDEX = 16,
DDL_REBUILD_INDEX = 17,
DDL_CREATE_VEC_IVFFLAT_INDEX = 18,
DDL_CREATE_VEC_IVFSQ8_INDEX = 19,
DDL_CREATE_VEC_IVFPQ_INDEX = 20,
DDL_DROP_VEC_IVFFLAT_INDEX = 21,
DDL_DROP_VEC_IVFSQ8_INDEX = 22,
DDL_DROP_VEC_IVFPQ_INDEX = 23,
///< @note tablet split.
DDL_AUTO_SPLIT_BY_RANGE = 100,
@ -197,6 +203,13 @@ enum ObDDLTaskStatus {
WRITE_SPLIT_START_LOG = 37,
DROP_AUX_INDEX_TABLE = 38,
DROP_LOB_META_ROW = 39,
GENERATE_SQ_META_TABLE_SCHEMA = 40,
WAIT_SQ_META_TABLE_COMPLEMENT = 41,
GENERATE_CENTROID_TABLE_SCHEMA = 42,
WAIT_CENTROID_TABLE_COMPLEMENT = 43,
GENERATE_PQ_CENTROID_TABLE_SCHEMA = 44,
WAIT_PQ_CENTROID_TABLE_COMPLEMENT = 45,
FAIL = 99,
SUCCESS = 100
};
@ -349,6 +362,24 @@ static const char* ddl_task_status_to_str(const ObDDLTaskStatus &task_status) {
case ObDDLTaskStatus::DROP_LOB_META_ROW:
str = "DROP_LOB_META_ROW";
break;
case ObDDLTaskStatus::GENERATE_SQ_META_TABLE_SCHEMA:
str = "GENERATE_SQ_META_TABLE_SCHEMA";
break;
case ObDDLTaskStatus::WAIT_SQ_META_TABLE_COMPLEMENT:
str = "WAIT_SQ_META_TABLE_COMPLEMENT";
break;
case ObDDLTaskStatus::GENERATE_CENTROID_TABLE_SCHEMA:
str = "GENERATE_CENTROID_TABLE_SCHEMA";
break;
case ObDDLTaskStatus::WAIT_CENTROID_TABLE_COMPLEMENT:
str = "WAIT_CENTROID_TABLE_COMPLEMENT";
break;
case ObDDLTaskStatus::GENERATE_PQ_CENTROID_TABLE_SCHEMA:
str = "GENERATE_PQ_CENTROID_TABLE_SCHEMA";
break;
case ObDDLTaskStatus::WAIT_PQ_CENTROID_TABLE_COMPLEMENT:
str = "WAIT_PQ_CENTROID_TABLE_COMPLEMENT";
break;
case ObDDLTaskStatus::FAIL:
str = "FAIL";
break;

View File

@ -134,6 +134,7 @@ static const uint64_t OB_MIN_ID = 0;//used for lower_bound
#define GENERATED_FTS_WORD_SEGMENT_COLUMN_FLAG (INT64_C(1) << 25) // word segment column for full-text search flag
#define GENERATED_VEC_VID_COLUMN_FLAG (INT64_C(1) << 26)
#define GENERATED_VEC_VECTOR_COLUMN_FLAG (INT64_C(1) << 27)
#define GENERATED_VEC_IVF_CENTER_ID_COLUMN_FLAG (INT64_C(1) << 28)
//the high 32-bit flag isn't stored in __all_column
#define GENERATED_DEPS_CASCADE_FLAG (INT64_C(1) << 32)
@ -150,6 +151,13 @@ static const uint64_t OB_MIN_ID = 0;//used for lower_bound
#define GENERATED_VEC_SCN_COLUMN_FLAG (INT64_C(1) << 41)
#define GENERATED_VEC_KEY_COLUMN_FLAG (INT64_C(1) << 42)
#define GENERATED_VEC_DATA_COLUMN_FLAG (INT64_C(1) << 43)
#define GENERATED_VEC_IVF_CENTER_VECTOR_COLUMN_FLAG (INT64_C(1) << 44)
#define GENERATED_VEC_IVF_DATA_VECTOR_COLUMN_FLAG (INT64_C(1) << 45)
#define GENERATED_VEC_IVF_META_ID_COLUMN_FLAG (INT64_C(1) << 46)
#define GENERATED_VEC_IVF_META_VECTOR_COLUMN_FLAG (INT64_C(1) << 47)
#define GENERATED_VEC_IVF_PQ_CENTER_ID_COLUMN_FLAG (INT64_C(1) << 48)
#define GENERATED_VEC_IVF_PQ_CENTER_IDS_COLUMN_FLAG (INT64_C(1) << 49)
#define SPATIAL_COLUMN_SRID_MASK (0xffffffffffffffe0L)
#define STORED_COLUMN_FLAGS_MASK 0xFFFFFFFF

View File

@ -78,6 +78,7 @@ enum ObVectorIndexDistAlgorithm
enum ObVectorIndexAlgorithmLib
{
VIAL_VSAG = 0,
IAL_OB,
VIAL_MAX
};
@ -85,6 +86,9 @@ enum ObVectorIndexAlgorithmType
{
VIAT_HNSW = 0,
VIAT_HNSW_SQ,
VIAT_IVF_FLAT,
VIAT_IVF_SQ8,
VIAT_IVF_PQ,
VIAT_MAX
};
@ -97,7 +101,7 @@ struct ObVectorIndexAlgorithmHeader
struct ObVectorIndexHNSWParam
{
ObVectorIndexHNSWParam() :
type_(VIAT_MAX), lib_(VIAL_MAX), dim_(0), m_(0), ef_construction_(0), ef_search_(0)
type_(VIAT_MAX), lib_(VIAL_MAX), dim_(0), m_(0), ef_construction_(0), ef_search_(0), nlist_(0), sample_per_nlist_(0)
{}
void reset() {
type_ = VIAT_MAX;
@ -107,6 +111,8 @@ struct ObVectorIndexHNSWParam
m_ = 0;
ef_construction_ = 0;
ef_search_ = 0;
nlist_ = 0;
sample_per_nlist_ = 0;
};
ObVectorIndexAlgorithmType type_;
ObVectorIndexAlgorithmLib lib_;
@ -115,9 +121,12 @@ struct ObVectorIndexHNSWParam
int64_t m_;
int64_t ef_construction_;
int64_t ef_search_;
int64_t nlist_;
int64_t sample_per_nlist_;
OB_UNIS_VERSION(1);
public:
TO_STRING_KV(K_(type), K_(lib), K_(dist_algorithm), K_(dim), K_(m), K_(ef_construction), K_(ef_search));
TO_STRING_KV(K_(type), K_(lib), K_(dist_algorithm), K_(dim), K_(m), K_(ef_construction), K_(ef_search),
K_(nlist), K_(sample_per_nlist));
};
enum ObVectorIndexRecordType