mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
Signed-off-by: lixinguo <xinguo.li@zilliz.com> Co-authored-by: lixinguo <xinguo.li@zilliz.com>
This commit is contained in:
parent
1a819f2d76
commit
48ea86128d
@ -394,6 +394,13 @@ func (t *queryTask) PostExecute(ctx context.Context) error {
|
||||
}
|
||||
for _, field := range schema.Fields {
|
||||
if field.FieldID == t.OutputFieldsId[i] {
|
||||
// deal with the situation that offset equal to or greater than the number of entities
|
||||
if t.result.FieldsData[i] == nil {
|
||||
t.result.FieldsData[i], err = typeutil.GenEmptyFieldData(field)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
t.result.FieldsData[i].FieldName = field.Name
|
||||
t.result.FieldsData[i].FieldId = field.FieldID
|
||||
t.result.FieldsData[i].Type = field.DataType
|
||||
|
||||
@ -200,6 +200,10 @@ func TestQueryTask_all(t *testing.T) {
|
||||
|
||||
assert.NoError(t, task.Execute(ctx))
|
||||
|
||||
task.queryParams = &queryParams{
|
||||
limit: 100,
|
||||
offset: 100,
|
||||
}
|
||||
assert.NoError(t, task.PostExecute(ctx))
|
||||
|
||||
for i := 0; i < len(task.result.FieldsData); i++ {
|
||||
|
||||
@ -140,7 +140,7 @@ func genEmptyFloatVectorFieldData(field *schemapb.FieldSchema) (*schemapb.FieldD
|
||||
}, nil
|
||||
}
|
||||
|
||||
func genEmptyFieldData(field *schemapb.FieldSchema) (*schemapb.FieldData, error) {
|
||||
func GenEmptyFieldData(field *schemapb.FieldSchema) (*schemapb.FieldData, error) {
|
||||
dataType := field.GetDataType()
|
||||
switch dataType {
|
||||
case schemapb.DataType_Bool:
|
||||
|
||||
@ -29,7 +29,7 @@ func FillRetrieveResultIfEmpty(result RetrieveResults, outputFieldIds []int64, s
|
||||
return err
|
||||
}
|
||||
|
||||
emptyFieldData, err := genEmptyFieldData(field)
|
||||
emptyFieldData, err := GenEmptyFieldData(field)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ func TestGenEmptyFieldData(t *testing.T) {
|
||||
field := &schemapb.FieldSchema{Name: "field_name", FieldID: 100}
|
||||
for _, dataType := range allTypes {
|
||||
field.DataType = dataType
|
||||
fieldData, err := genEmptyFieldData(field)
|
||||
fieldData, err := GenEmptyFieldData(field)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, dataType, fieldData.GetType())
|
||||
assert.Equal(t, field.GetName(), fieldData.GetFieldName())
|
||||
@ -49,21 +49,21 @@ func TestGenEmptyFieldData(t *testing.T) {
|
||||
|
||||
for _, dataType := range allUnsupportedTypes {
|
||||
field.DataType = dataType
|
||||
_, err := genEmptyFieldData(field)
|
||||
_, err := GenEmptyFieldData(field)
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
// dim not found
|
||||
for _, dataType := range vectorTypes {
|
||||
field.DataType = dataType
|
||||
_, err := genEmptyFieldData(field)
|
||||
_, err := GenEmptyFieldData(field)
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
field.TypeParams = []*commonpb.KeyValuePair{{Key: "dim", Value: "128"}}
|
||||
for _, dataType := range vectorTypes {
|
||||
field.DataType = dataType
|
||||
fieldData, err := genEmptyFieldData(field)
|
||||
fieldData, err := GenEmptyFieldData(field)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, dataType, fieldData.GetType())
|
||||
assert.Equal(t, field.GetName(), fieldData.GetFieldName())
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user