diff --git a/gql/parser.go b/gql/parser.go index b552b3a3..a6a86dc4 100644 --- a/gql/parser.go +++ b/gql/parser.go @@ -554,7 +554,7 @@ func Parse(r Request) (res Result, rerr error) { func validateResult(res *Result) error { seenQueryAliases := make(map[string]bool) for _, q := range res.Query { - if q.Alias == "var" || q.Alias == "shortest" { + if q.Alias == "var" || q.Alias == "shortest" || q.Alias == "helloshortest" { continue } if _, found := seenQueryAliases[q.Alias]; found { diff --git a/query/outputnode.go b/query/outputnode.go index d94bcb6d..9d987949 100644 --- a/query/outputnode.go +++ b/query/outputnode.go @@ -42,7 +42,7 @@ const ( func ToJson(l *Latency, sgl []*SubGraph) ([]byte, error) { sgr := &SubGraph{} for _, sg := range sgl { - if sg.Params.Alias == "var" || sg.Params.Alias == "shortest" { + if sg.Params.Alias == "var" || sg.Params.Alias == "shortest" || sg.Params.Alias == "helloshortest" { continue } if sg.Params.GetUid { diff --git a/query/query.go b/query/query.go index cdafecd5..65babcf9 100644 --- a/query/query.go +++ b/query/query.go @@ -831,7 +831,7 @@ func (args *params) fill(gq *gql.GraphQuery) error { args.AfterUID = uint64(after) } - if args.Alias == "shortest" { + if args.Alias == "shortest" || args.Alias == "helloshortest" { if v, ok := gq.Args["depth"]; ok { depth, err := strconv.ParseUint(v, 0, 64) if err != nil { @@ -2580,7 +2580,7 @@ func (req *QueryRequest) ProcessQuery(ctx context.Context) (err error) { gq := queries[i] if gq == nil || (len(gq.UID) == 0 && gq.Func == nil && len(gq.NeedsVar) == 0 && - gq.Alias != "shortest" && !gq.IsEmpty) { + gq.Alias != "helloshortest" && gq.Alias != "shortest" && !gq.IsEmpty) { return x.Errorf("Invalid query. No function used at root and no aggregation" + " or math variables found in the body.") } @@ -2658,6 +2658,12 @@ func (req *QueryRequest) ProcessQuery(ctx context.Context) (err error) { shortestSg, err = ShortestPath(ctx, sg) errChan <- err }() + } else if sg.Params.Alias == "helloshortest" { + // hello shortest + go func() { + shortestSg, err = HelloShortestPath(ctx, sg) + errChan <- err + }() } else if sg.Params.Recurse { go func() { errChan <- Recurse(ctx, sg)