diff --git a/graphql/resolve/query_rewriter.go b/graphql/resolve/query_rewriter.go index 4df1a0e919a..695646cd65c 100644 --- a/graphql/resolve/query_rewriter.go +++ b/graphql/resolve/query_rewriter.go @@ -1170,14 +1170,14 @@ func buildAggregateFields( // Generate Unique Dgraph Alias for the field based on number of time it has been // seen till now in the given query at current level. If it is seen first time then simply returns the field's DgraphAlias, -// and if it is seen let's say 3rd time then return "fieldAlias3" where "fieldAlias" +// and if it is seen let's say 3rd time then return "fieldAlias.3" where "fieldAlias" // is the DgraphAlias of the field. func generateUniqueDgraphAlias(f schema.Field, fieldSeenCount map[string]int) string { alias := f.DgraphAlias() if fieldSeenCount[alias] == 0 { return alias } - return alias + strconv.Itoa(fieldSeenCount[alias]) + return alias + "." + strconv.Itoa(fieldSeenCount[alias]) } // TODO(GRAPHQL-874), Optimise Query rewriting in case of multiple alias with same filter. diff --git a/graphql/resolve/query_test.yaml b/graphql/resolve/query_test.yaml index 2201d9289cf..977feb4a608 100644 --- a/graphql/resolve/query_test.yaml +++ b/graphql/resolve/query_test.yaml @@ -2584,7 +2584,7 @@ text : Post.text dgraph.uid : uid } - posts1 : Author.posts @filter(eq(Post.isPublished, false)) { + posts.1 : Author.posts @filter(eq(Post.isPublished, false)) { title : Post.title text : Post.text dgraph.uid : uid @@ -2618,7 +2618,7 @@ text : Post.text dgraph.uid : uid } - posts1 : Author.posts @filter(eq(Post.isPublished, true)) { + posts.1 : Author.posts @filter(eq(Post.isPublished, true)) { title : Post.title text : Post.text dgraph.uid : uid @@ -2674,8 +2674,8 @@ query { queryAuthor(func: type(Author)) { count_postsAggregate : count(Author.posts) - count_postsAggregate1 : count(Author.posts) @filter(gt(Post.tags, "abc")) - count_postsAggregate2 : count(Author.posts) @filter(le(Post.tags, "xyz")) + count_postsAggregate.1 : count(Author.posts) @filter(gt(Post.tags, "abc")) + count_postsAggregate.2 : count(Author.posts) @filter(le(Post.tags, "xyz")) dgraph.uid : uid } } @@ -2982,15 +2982,15 @@ count_statesAggregate : count(Country.states) nameMin_statesAggregate : min(val(statesAggregate_nameVar)) nameMax_statesAggregate : max(val(statesAggregate_nameVar)) - statesAggregate1 : Country.states @filter(eq(State.code, "state code")) { - statesAggregate1_nameVar as State.name - statesAggregate1_capitalVar as State.capital + statesAggregate.1 : Country.states @filter(eq(State.code, "state code")) { + statesAggregate.1_nameVar as State.name + statesAggregate.1_capitalVar as State.capital dgraph.uid : uid } - count_statesAggregate1 : count(Country.states) @filter(eq(State.code, "state code")) - nameMin_statesAggregate1 : min(val(statesAggregate1_nameVar)) - nameMax_statesAggregate1 : max(val(statesAggregate1_nameVar)) - capitalMin_statesAggregate1 : min(val(statesAggregate1_capitalVar)) + count_statesAggregate.1 : count(Country.states) @filter(eq(State.code, "state code")) + nameMin_statesAggregate.1 : min(val(statesAggregate.1_nameVar)) + nameMax_statesAggregate.1 : max(val(statesAggregate.1_nameVar)) + capitalMin_statesAggregate.1 : min(val(statesAggregate.1_capitalVar)) dgraph.uid : uid } } @@ -3023,15 +3023,15 @@ count_statesAggregate : count(Country.states) nameMin_statesAggregate : min(val(statesAggregate_nameVar)) nameMax_statesAggregate : max(val(statesAggregate_nameVar)) - statesAggregate1 : Country.states @filter(eq(State.code, "state code")) { - statesAggregate1_nameVar as State.name - statesAggregate1_capitalVar as State.capital + statesAggregate.1 : Country.states @filter(eq(State.code, "state code")) { + statesAggregate.1_nameVar as State.name + statesAggregate.1_capitalVar as State.capital dgraph.uid : uid } - count_statesAggregate1 : count(Country.states) @filter(eq(State.code, "state code")) - nameMin_statesAggregate1 : min(val(statesAggregate1_nameVar)) - nameMax_statesAggregate1 : max(val(statesAggregate1_nameVar)) - capitalMin_statesAggregate1 : min(val(statesAggregate1_capitalVar)) + count_statesAggregate.1 : count(Country.states) @filter(eq(State.code, "state code")) + nameMin_statesAggregate.1 : min(val(statesAggregate.1_nameVar)) + nameMax_statesAggregate.1 : max(val(statesAggregate.1_nameVar)) + capitalMin_statesAggregate.1 : min(val(statesAggregate.1_capitalVar)) dgraph.uid : uid } }