Skip to content

Commit

Permalink
fix: planning of provides, parent entity jump, conditional implicit k…
Browse files Browse the repository at this point in the history
…eys, external fields (#1092)
  • Loading branch information
devsergiy authored Aug 30, 2024
1 parent d219a6e commit 0fe2cba
Show file tree
Hide file tree
Showing 13 changed files with 163 additions and 138 deletions.
4 changes: 2 additions & 2 deletions aws-lambda-router/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ require (
github.com/akrylysov/algnhsa v1.1.0
github.com/aws/aws-lambda-go v1.43.0
github.com/stretchr/testify v1.9.0
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63
github.com/wundergraph/cosmo/router v0.0.0-20240830112839-d219a6eed154
go.uber.org/zap v1.26.0
)

Expand Down Expand Up @@ -91,7 +91,7 @@ require (
github.com/twmb/franz-go v1.16.1 // indirect
github.com/twmb/franz-go/pkg/kmsg v1.7.0 // indirect
github.com/wundergraph/astjson v0.0.0-20240827102346-5fc60fe30f9c // indirect
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76 // indirect
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect
go.opentelemetry.io/contrib/propagators/b3 v1.23.0 // indirect
Expand Down
8 changes: 4 additions & 4 deletions aws-lambda-router/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -245,10 +245,10 @@ github.com/vektah/gqlparser/v2 v2.5.11 h1:JJxLtXIoN7+3x6MBdtIP59TP1RANnY7pXOaDnA
github.com/vektah/gqlparser/v2 v2.5.11/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc=
github.com/wundergraph/astjson v0.0.0-20240827102346-5fc60fe30f9c h1:Hsda/35Y00GOdIQE3ox3rT3kaU4cb2n9Xyuyylop1dk=
github.com/wundergraph/astjson v0.0.0-20240827102346-5fc60fe30f9c/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63 h1:xCLo/RYNg7uBoYO1tGDwzVzkYAiMSwzOEFjjlH7Pbnc=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63/go.mod h1:n1nSlt/yYwMkZycIcSb28pUs3UaOsz992bw/9y72xIY=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76 h1:lwQGp7vnchd2ubaVnN4ipfTQtZL4zWk78thm28owdt8=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76/go.mod h1:OOXfCcPh4nO6rwmaDtmngfbClfr8Wg0TIEmmuBUHJAk=
github.com/wundergraph/cosmo/router v0.0.0-20240830112839-d219a6eed154 h1:my0NB1olWOXh8ywQFlgkeUyyQKYv8CqsAbthFymQA+k=
github.com/wundergraph/cosmo/router v0.0.0-20240830112839-d219a6eed154/go.mod h1:STD/GKcTuOGscTcA5VBdfi30SI2+cagUbj8LB0t4o+c=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77 h1:wlK+TJSK/Z406/Rv8RZRXn8G9HdvvjEX8wKvkNS3dj4=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77/go.mod h1:OOXfCcPh4nO6rwmaDtmngfbClfr8Wg0TIEmmuBUHJAk=
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24=
Expand Down
2 changes: 1 addition & 1 deletion demo/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ require (
github.com/vektah/gqlparser/v2 v2.5.11
github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1
go.opentelemetry.io/otel v1.28.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.23.1
Expand Down
3 changes: 2 additions & 1 deletion demo/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,12 @@ github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6S
github.com/vektah/gqlparser/v2 v2.5.11 h1:JJxLtXIoN7+3x6MBdtIP59TP1RANnY7pXOaDnADQSf8=
github.com/vektah/gqlparser/v2 v2.5.11/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc=
github.com/wundergraph/astjson v0.0.0-20240827102346-5fc60fe30f9c h1:Hsda/35Y00GOdIQE3ox3rT3kaU4cb2n9Xyuyylop1dk=
github.com/wundergraph/astjson v0.0.0-20240827102346-5fc60fe30f9c/go.mod h1:eOTL6acwctsN4F3b7YE+eE2t8zcJ/doLm9sZzsxxxrE=
github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d h1:NEUrhuqOaTO1dpW8pz2tu6dKbQAqFvgiF/m4NXdzZm0=
github.com/wundergraph/cosmo/composition-go v0.0.0-20240124120900-5effe48a4a1d/go.mod h1:9I3gPMAlAY+m1/cFL20iN7XHTyuZd3VT5ijccdU/FsI=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63 h1:xCLo/RYNg7uBoYO1tGDwzVzkYAiMSwzOEFjjlH7Pbnc=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63/go.mod h1:n1nSlt/yYwMkZycIcSb28pUs3UaOsz992bw/9y72xIY=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76 h1:lwQGp7vnchd2ubaVnN4ipfTQtZL4zWk78thm28owdt8=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77 h1:wlK+TJSK/Z406/Rv8RZRXn8G9HdvvjEX8wKvkNS3dj4=
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e h1:+SOyEddqYF09QP7vr7CgJ1eti3pY9Fn3LHO1M1r/0sI=
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
Expand Down
2 changes: 1 addition & 1 deletion router-tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ require (
github.com/twmb/franz-go/pkg/kadm v1.11.0
github.com/wundergraph/cosmo/demo v0.0.0-20240829082608-1f1ecc1dbc63
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77
go.opentelemetry.io/otel v1.28.0
go.opentelemetry.io/otel/sdk v1.28.0
go.opentelemetry.io/otel/sdk/metric v1.28.0
Expand Down
4 changes: 2 additions & 2 deletions router-tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -349,8 +349,8 @@ github.com/wundergraph/cosmo/demo v0.0.0-20240829082608-1f1ecc1dbc63 h1:KpBg+wWT
github.com/wundergraph/cosmo/demo v0.0.0-20240829082608-1f1ecc1dbc63/go.mod h1:4sk6Hj0zRnWdg85VtTaGPmkaOYqAUiiTFJBzZcq8vPU=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63 h1:xCLo/RYNg7uBoYO1tGDwzVzkYAiMSwzOEFjjlH7Pbnc=
github.com/wundergraph/cosmo/router v0.0.0-20240829082608-1f1ecc1dbc63/go.mod h1:n1nSlt/yYwMkZycIcSb28pUs3UaOsz992bw/9y72xIY=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76 h1:lwQGp7vnchd2ubaVnN4ipfTQtZL4zWk78thm28owdt8=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.76/go.mod h1:OOXfCcPh4nO6rwmaDtmngfbClfr8Wg0TIEmmuBUHJAk=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77 h1:wlK+TJSK/Z406/Rv8RZRXn8G9HdvvjEX8wKvkNS3dj4=
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.77/go.mod h1:OOXfCcPh4nO6rwmaDtmngfbClfr8Wg0TIEmmuBUHJAk=
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e h1:+SOyEddqYF09QP7vr7CgJ1eti3pY9Fn3LHO1M1r/0sI=
github.com/xrash/smetrics v0.0.0-20231213231151-1d8dd44e695e/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
Expand Down
42 changes: 21 additions & 21 deletions router-tests/testdata/fixtures/query_plans/only_query_plan.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,56 +69,56 @@
"kind": "Single",
"fetch": {
"kind": "BatchEntity",
"path": "products",
"path": "products.@.lead",
"subgraphName": "employees",
"subgraphId": "0",
"fetchId": 3,
"dependsOnFetchIds": [
0,
2
1
],
"representations": [
{
"kind": "@key",
"typeName": "Consultancy",
"fragment": "fragment Key on Consultancy {\n __typename\n upc\n}"
"kind": "@requires",
"typeName": "Employee",
"fieldName": "derivedMood",
"fragment": "fragment Requires_for_derivedMood on Employee {\n currentMood\n}"
},
{
"kind": "@requires",
"typeName": "Consultancy",
"fieldName": "isLeadAvailable",
"fragment": "fragment Requires_for_isLeadAvailable on Consultancy {\n lead {\n isAvailable\n }\n}"
"kind": "@key",
"typeName": "Employee",
"fragment": "fragment Key on Employee {\n __typename\n id\n}"
}
],
"query": "query($representations: [_Any!]!){\n _entities(representations: $representations){\n __typename\n ... on Consultancy {\n isLeadAvailable\n }\n }\n}"
"query": "query($representations: [_Any!]!){\n _entities(representations: $representations){\n __typename\n ... on Employee {\n derivedMood\n }\n }\n}"
}
},
{
"kind": "Single",
"fetch": {
"kind": "BatchEntity",
"path": "products.@.lead",
"path": "products",
"subgraphName": "employees",
"subgraphId": "0",
"fetchId": 4,
"dependsOnFetchIds": [
1,
0
0,
2
],
"representations": [
{
"kind": "@key",
"typeName": "Employee",
"fragment": "fragment Key on Employee {\n __typename\n id\n}"
"kind": "@requires",
"typeName": "Consultancy",
"fieldName": "isLeadAvailable",
"fragment": "fragment Requires_for_isLeadAvailable on Consultancy {\n lead {\n isAvailable\n }\n}"
},
{
"kind": "@requires",
"typeName": "Employee",
"fieldName": "derivedMood",
"fragment": "fragment Requires_for_derivedMood on Employee {\n currentMood\n}"
"kind": "@key",
"typeName": "Consultancy",
"fragment": "fragment Key on Consultancy {\n __typename\n upc\n}"
}
],
"query": "query($representations: [_Any!]!){\n _entities(representations: $representations){\n __typename\n ... on Employee {\n derivedMood\n }\n }\n}"
"query": "query($representations: [_Any!]!){\n _entities(representations: $representations){\n __typename\n ... on Consultancy {\n isLeadAvailable\n }\n }\n}"
}
}
]
Expand Down
Loading

0 comments on commit 0fe2cba

Please sign in to comment.