octokit.graphql.net icon indicating copy to clipboard operation
octokit.graphql.net copied to clipboard

Complex query duplicates parameter...

Open StanleyGoldman opened this issue 7 years ago • 2 comments
trafficstars

Incorrect form

var expression = new Query()
    .Select(q => new
    {
        repo1 = q.Repository("foo", "bar").Name.Single(),
        repo2 = q.Repository("foo", "bar").Name.Single()
    });

results in:

query {
  repository(owner: "foo", name: "bar", owner: "foo", name: "bar") {
    name
  }
}

Correct form

var expression = new Query()
    .Select(q => new
    {
        repo1 = q.Repository("foo", "bar").Select(repository => new { repository.Name }).Single(),
        repo2 = q.Repository("foo", "bar").Select(repository => new { repository.Name }).Single()
    });

results in:

query {
  repo1: repository(owner: ""foo"", name: ""bar"") {
    name
  }
  repo2: repository(owner: ""foo"", name: ""bar"") {
    name
  }
}

Explanation

This feels similar to tests Cannot_Select_QueryableValue and Cannot_Select_QueryableList. We should be capturing this case somehow and throwing an exception.

StanleyGoldman avatar Jul 13 '18 12:07 StanleyGoldman

I'm starting to realize this is bug is due to the interpretative nature of our querying...

StanleyGoldman avatar Jul 16 '18 15:07 StanleyGoldman

I finally figured this one out.

StanleyGoldman avatar Sep 21 '18 15:09 StanleyGoldman