Skip to content

Commit 17ab2ac

Browse files
authored
fix: fix alter collection failed for STRUCT sub-fields (#45041)
issue: #45001 ref: #42148 --------- Signed-off-by: SpadeA <[email protected]>
1 parent d8591f9 commit 17ab2ac

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

internal/rootcoord/alter_collection_task.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,17 @@ func ResetFieldProperties(coll *model.Collection, fieldName string, newProps []*
388388
return nil
389389
}
390390
}
391+
for _, structField := range coll.StructArrayFields {
392+
if structField.Name == fieldName {
393+
return merr.WrapErrParameterInvalidMsg("struct field has no properties to alter", fieldName)
394+
}
395+
for i, field := range structField.Fields {
396+
if field.Name == fieldName {
397+
structField.Fields[i].TypeParams = newProps
398+
return nil
399+
}
400+
}
401+
}
391402
return merr.WrapErrParameterInvalidMsg("field %s does not exist in collection", fieldName)
392403
}
393404

@@ -397,6 +408,16 @@ func GetFieldProperties(coll *model.Collection, fieldName string) ([]*commonpb.K
397408
return field.TypeParams, nil
398409
}
399410
}
411+
for _, structField := range coll.StructArrayFields {
412+
if structField.Name == fieldName {
413+
return nil, merr.WrapErrParameterInvalidMsg("struct field has no properties", fieldName)
414+
}
415+
for _, field := range structField.Fields {
416+
if field.Name == fieldName {
417+
return field.TypeParams, nil
418+
}
419+
}
420+
}
400421
return nil, merr.WrapErrParameterInvalidMsg("field %s does not exist in collection", fieldName)
401422
}
402423

0 commit comments

Comments
 (0)