@@ -423,6 +423,22 @@ class CaseConfigInput(BaseModel):
423423 },
424424)
425425
426+ CaseConfigParamInput_IndexType_OceanBase = CaseConfigInput (
427+ label = CaseConfigParamType .IndexType ,
428+ inputType = InputType .Option ,
429+ inputHelp = "Select OceanBase index type" ,
430+ inputConfig = {
431+ "options" : [
432+ IndexType .HNSW .value ,
433+ IndexType .HNSW_SQ .value ,
434+ IndexType .HNSW_BQ .value ,
435+ IndexType .IVFFlat .value ,
436+ IndexType .IVFSQ8 .value ,
437+ IndexType .IVFPQ .value ,
438+ ],
439+ },
440+ )
441+
426442CaseConfigParamInput_IndexType_PgDiskANN = CaseConfigInput (
427443 label = CaseConfigParamType .IndexType ,
428444 inputHelp = "Select Index Type" ,
@@ -685,6 +701,20 @@ class CaseConfigInput(BaseModel):
685701 isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None ) == IndexType .HNSW .value ,
686702)
687703
704+ CaseConfigParamInput_m_OceanBase = CaseConfigInput (
705+ label = CaseConfigParamType .m ,
706+ displayLabel = "m" ,
707+ inputHelp = "HNSW graph degree (m) for OceanBase HNSW/HNSW_SQ/HNSW_BQ" ,
708+ inputType = InputType .Number ,
709+ inputConfig = {
710+ "min" : 4 ,
711+ "max" : 128 ,
712+ "value" : 16 ,
713+ },
714+ isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None )
715+ in [IndexType .HNSW .value , IndexType .HNSW_SQ .value , IndexType .HNSW_BQ .value ],
716+ )
717+
688718
689719CaseConfigParamInput_EFConstruction_Milvus = CaseConfigInput (
690720 label = CaseConfigParamType .EFConstruction ,
@@ -703,6 +733,20 @@ class CaseConfigInput(BaseModel):
703733 ],
704734)
705735
736+ CaseConfigParamInput_EFConstruction_OceanBase = CaseConfigInput (
737+ label = CaseConfigParamType .EFConstruction ,
738+ displayLabel = "efConstruction" ,
739+ inputHelp = "HNSW efConstruction for OceanBase HNSW/HNSW_SQ/HNSW_BQ" ,
740+ inputType = InputType .Number ,
741+ inputConfig = {
742+ "min" : 8 ,
743+ "max" : 65535 ,
744+ "value" : 256 ,
745+ },
746+ isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None )
747+ in [IndexType .HNSW .value , IndexType .HNSW_SQ .value , IndexType .HNSW_BQ .value ],
748+ )
749+
706750CaseConfigParamInput_SQType = CaseConfigInput (
707751 label = CaseConfigParamType .sq_type ,
708752 inputType = InputType .Option ,
@@ -862,6 +906,48 @@ class CaseConfigInput(BaseModel):
862906 isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None ) == IndexType .HNSW .value ,
863907)
864908
909+ CaseConfigParamInput_ef_search_OceanBase = CaseConfigInput (
910+ label = CaseConfigParamType .ef_search ,
911+ displayLabel = "ef_search" ,
912+ inputHelp = "HNSW ef_search (session var ob_hnsw_ef_search) for OceanBase" ,
913+ inputType = InputType .Number ,
914+ inputConfig = {
915+ "min" : 1 ,
916+ "max" : 65535 ,
917+ "value" : 100 ,
918+ },
919+ isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None )
920+ in [IndexType .HNSW .value , IndexType .HNSW_SQ .value , IndexType .HNSW_BQ .value ],
921+ )
922+
923+ CaseConfigParamInput_sample_per_nlist_OceanBase = CaseConfigInput (
924+ label = CaseConfigParamType .sample_per_nlist ,
925+ displayLabel = "sample_per_nlist" ,
926+ inputHelp = "OceanBase IVF training sample multiplier (total samples = sample_per_nlist * nlist)" ,
927+ inputType = InputType .Number ,
928+ inputConfig = {
929+ "min" : 1 ,
930+ "max" : 1000000 ,
931+ "value" : 256 ,
932+ },
933+ isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None )
934+ in [IndexType .IVFFlat .value , IndexType .IVFSQ8 .value , IndexType .IVFPQ .value ],
935+ )
936+
937+ CaseConfigParamInput_ivf_nprobes_OceanBase = CaseConfigInput (
938+ label = CaseConfigParamType .ivf_nprobes ,
939+ displayLabel = "ivf_nprobes" ,
940+ inputHelp = "OceanBase IVF search probes (session var ob_ivf_nprobes)" ,
941+ inputType = InputType .Number ,
942+ inputConfig = {
943+ "min" : 1 ,
944+ "max" : 65535 ,
945+ "value" : 10 ,
946+ },
947+ isDisplayed = lambda config : config .get (CaseConfigParamType .IndexType , None )
948+ in [IndexType .IVFFlat .value , IndexType .IVFSQ8 .value , IndexType .IVFPQ .value ],
949+ )
950+
865951CaseConfigParamInput_EFConstruction_PgVector = CaseConfigInput (
866952 label = CaseConfigParamType .ef_construction ,
867953 inputType = InputType .Number ,
@@ -2302,6 +2388,19 @@ class CaseConfigInput(BaseModel):
23022388 CaseConfigParamInput_VectorSearchBeamSize_CockroachDB ,
23032389]
23042390
2391+ OceanBaseLoadConfig = [
2392+ CaseConfigParamInput_IndexType_OceanBase ,
2393+ CaseConfigParamInput_m_OceanBase ,
2394+ CaseConfigParamInput_EFConstruction_OceanBase ,
2395+ CaseConfigParamInput_ef_search_OceanBase ,
2396+ CaseConfigParamInput_Nlist ,
2397+ CaseConfigParamInput_sample_per_nlist_OceanBase ,
2398+ CaseConfigParamInput_Nbits_PQ ,
2399+ CaseConfigParamInput_M_PQ ,
2400+ CaseConfigParamInput_ivf_nprobes_OceanBase ,
2401+ ]
2402+ OceanBasePerformanceConfig = OceanBaseLoadConfig
2403+
23052404MariaDBLoadingConfig = [
23062405 CaseConfigParamInput_IndexType_MariaDB ,
23072406 CaseConfigParamInput_StorageEngine_MariaDB ,
@@ -2616,6 +2715,10 @@ class CaseConfigInput(BaseModel):
26162715 CaseLabel .Load : CockroachDBLoadingConfig ,
26172716 CaseLabel .Performance : CockroachDBPerformanceConfig ,
26182717 },
2718+ DB .OceanBase : {
2719+ CaseLabel .Load : OceanBaseLoadConfig ,
2720+ CaseLabel .Performance : OceanBasePerformanceConfig ,
2721+ },
26192722}
26202723
26212724
0 commit comments