未验证 提交 b51893d3 编写于 作者: F FluorineDog 提交者: GitHub

Enrich retrieve task error message (#5975)

Signed-off-by: Nfluorinedog <fluorinedog@gmail.com>
上级 fbaa8476
...@@ -1447,10 +1447,10 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* ...@@ -1447,10 +1447,10 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (*
return nil, err return nil, err
} }
parseRetrieveTask := func(exprString string) (bool, []int64) { parseRetrieveTask := func(exprString string) ([]int64, error) {
expr, err := parseQueryExpr(schema, exprString) expr, err := parseQueryExpr(schema, exprString)
if err != nil { if err != nil {
return false, nil return nil, err
} }
switch xExpr := expr.Expr.(type) { switch xExpr := expr.Expr.(type) {
...@@ -1461,18 +1461,23 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* ...@@ -1461,18 +1461,23 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (*
case *planpb.GenericValue_Int64Val: case *planpb.GenericValue_Int64Val:
ids = append(ids, v.Int64Val) ids = append(ids, v.Int64Val)
default: 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: 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{ retrieveRequest := &milvuspb.RetrieveRequest{
DbName: request.DbName, DbName: request.DbName,
CollectionName: request.CollectionName, CollectionName: request.CollectionName,
...@@ -1549,7 +1554,7 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (* ...@@ -1549,7 +1554,7 @@ func (node *Proxy) Query(ctx context.Context, request *milvuspb.QueryRequest) (*
}, nil }, nil
} }
err = errors.New("Not implemented") err = errors.New("Not implemented because:" + err.Error())
return &milvuspb.QueryResults{ return &milvuspb.QueryResults{
Status: &commonpb.Status{ Status: &commonpb.Status{
ErrorCode: commonpb.ErrorCode_UnexpectedError, ErrorCode: commonpb.ErrorCode_UnexpectedError,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册