mirror of https://github.com/milvus-io/milvus.git
Signed-off-by: lixinguo <xinguo.li@zilliz.com> Co-authored-by: lixinguo <xinguo.li@zilliz.com>pull/21788/head
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…
Reference in New Issue