From b51893d3f19866cca3a982195e65bcf63dc13e65 Mon Sep 17 00:00:00 2001 From: FluorineDog Date: Tue, 22 Jun 2021 18:42:03 +0800 Subject: [PATCH] Enrich retrieve task error message (#5975) Signed-off-by: fluorinedog --- internal/proxy/impl.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/internal/proxy/impl.go b/internal/proxy/impl.go index 10ffd4a3c..c6a521801 100644 --- a/internal/proxy/impl.go +++ b/internal/proxy/impl.go @@ -1447,10 +1447,10 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* return nil, err } - parseRetrieveTask := func(exprString string) (bool, []int64) { + parseRetrieveTask := func(exprString string) ([]int64, error) { expr, err := parseQueryExpr(schema, exprString) if err != nil { - return false, nil + return nil, err } switch xExpr := expr.Expr.(type) { @@ -1461,18 +1461,23 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* case *planpb.GenericValue_Int64Val: ids = append(ids, v.Int64Val) default: - return false, nil + return nil, errors.New("column is not int64") } } - return xExpr.TermExpr.ColumnInfo.IsPrimaryKey, ids + + if !xExpr.TermExpr.ColumnInfo.IsPrimaryKey { + return nil, errors.New("column is not primary key") + } + + return ids, nil default: - return false, nil + return nil, errors.New("not top level term") } } - isRetrieveTask, ids := parseRetrieveTask(request.Expr) + ids, err := parseRetrieveTask(request.Expr) - if isRetrieveTask { + if err == nil { retrieveRequest := &milvuspb.RetrieveRequest{ DbName: request.DbName, CollectionName: request.CollectionName, @@ -1549,7 +1554,7 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* }, nil } - err = errors.New("Not implemented") + err = errors.New("Not implemented because:" + err.Error()) return &milvuspb.QueryResults{ Status: &commonpb.Status{ ErrorCode: commonpb.ErrorCode_UnexpectedError, -- GitLab