Skip to content

Commit

Permalink
Add tests for vector index args
Browse files Browse the repository at this point in the history
  • Loading branch information
joechenrh committed Oct 8, 2024
1 parent 2cacf44 commit 3962b53
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 17 deletions.
2 changes: 1 addition & 1 deletion pkg/meta/model/job_args.go
Original file line number Diff line number Diff line change
Expand Up @@ -1664,7 +1664,7 @@ type IndexArg struct {
Global bool `json:"global,omitempty"`
Unique bool `json:"unique,omitempty"`
IndexName pmodel.CIStr `json:"index_name,omitempty"`
IndexPartSpecifications []*ast.IndexPartSpecification `json:"index_part_specifications,omitempty"`
IndexPartSpecifications []*ast.IndexPartSpecification `json:"index_part_specifications"`
IndexOption *ast.IndexOption `json:"index_option,omitempty"`
HiddenCols []*ColumnInfo `json:"hidden_cols,omitempty"`

Expand Down
38 changes: 22 additions & 16 deletions pkg/meta/model/job_args_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1127,20 +1127,23 @@ func TestAddIndexArgs(t *testing.T) {
Global: false,
Unique: true,
IndexName: model.NewCIStr("idx1"),
IndexPartSpecifications: []*ast.IndexPartSpecification{},
IndexPartSpecifications: []*ast.IndexPartSpecification{{Length: 2}},
IndexOption: &ast.IndexOption{},
HiddenCols: []*ColumnInfo{{}, {}},
SQLMode: mysql.ModeANSI,
Warning: "test warning",
AddIndexID: 1,
IfExist: false,
IsGlobal: false,
FuncExpr: "test_string",
}},
IsVector: false,
PartitionIDs: []int64{100, 101, 102},
}

inArgs.IsPK = false
inArgs.IsFinishedArg = false
for _, v := range []JobVersion{JobVersion1, JobVersion2} {
inArgs.IsPK = false
j2 := &Job{}
require.NoError(t, j2.Decode(getJobBytes(t, inArgs, v, ActionAddIndex)))

Expand All @@ -1156,41 +1159,44 @@ func TestAddIndexArgs(t *testing.T) {
require.Equal(t, inArgs.IndexArgs[0].HiddenCols, a.HiddenCols)
}

inArgs.IsFinishedArg = true
inArgs.IsPK = true
inArgs.IsFinishedArg = false
for _, v := range []JobVersion{JobVersion1, JobVersion2} {
j2 := &Job{}
require.NoError(t, j2.Decode(getFinishedJobBytes(t, inArgs, v, ActionAddIndex)))
require.NoError(t, j2.Decode(getJobBytes(t, inArgs, v, ActionAddPrimaryKey)))

args, err := GetFinishedAddIndexArgs(j2)
args, err := GetAddIndexArgs(j2)
require.NoError(t, err)

a := args.IndexArgs[0]
require.Equal(t, inArgs.IndexArgs[0].AddIndexID, a.AddIndexID)
require.Equal(t, inArgs.IndexArgs[0].IfExist, a.IfExist)
require.Equal(t, inArgs.IndexArgs[0].IsGlobal, a.IsGlobal)
require.Equal(t, inArgs.PartitionIDs, args.PartitionIDs)
require.Equal(t, inArgs.IndexArgs[0].Global, a.Global)
require.Equal(t, inArgs.IndexArgs[0].Unique, a.Unique)
require.Equal(t, inArgs.IndexArgs[0].IndexName, a.IndexName)
require.Equal(t, inArgs.IndexArgs[0].IndexPartSpecifications, a.IndexPartSpecifications)
require.Equal(t, inArgs.IndexArgs[0].SQLMode, a.SQLMode)
require.Equal(t, inArgs.IndexArgs[0].Warning, a.Warning)
require.Equal(t, inArgs.IndexArgs[0].IndexOption, a.IndexOption)
}

inArgs.IsPK = false
inArgs.IsVector = true
inArgs.IsFinishedArg = false
for _, v := range []JobVersion{JobVersion1, JobVersion2} {
inArgs.IsPK = true
j2 := &Job{}
require.NoError(t, j2.Decode(getJobBytes(t, inArgs, v, ActionAddPrimaryKey)))
require.NoError(t, j2.Decode(getJobBytes(t, inArgs, v, ActionAddVectorIndex)))

args, err := GetAddIndexArgs(j2)
require.NoError(t, err)

a := args.IndexArgs[0]
require.Equal(t, inArgs.IndexArgs[0].Global, a.Global)
require.Equal(t, inArgs.IndexArgs[0].Unique, a.Unique)
require.Equal(t, inArgs.IndexArgs[0].IndexName, a.IndexName)
require.Equal(t, inArgs.IndexArgs[0].IndexPartSpecifications, a.IndexPartSpecifications)
require.Equal(t, inArgs.IndexArgs[0].SQLMode, a.SQLMode)
require.Equal(t, inArgs.IndexArgs[0].Warning, a.Warning)
require.Equal(t, inArgs.IndexArgs[0].IndexOption, a.IndexOption)
require.Equal(t, inArgs.IndexArgs[0].FuncExpr, a.FuncExpr)
}

inArgs.IsFinishedArg = true
for _, v := range []JobVersion{JobVersion1, JobVersion2} {
inArgs.IsFinishedArg = true
j2 := &Job{}
require.NoError(t, j2.Decode(getFinishedJobBytes(t, inArgs, v, ActionAddIndex)))

Expand Down

0 comments on commit 3962b53

Please sign in to comment.