MCPcopy
hub / github.com/dgraph-io/dgraph / Resolve

Method Resolve

graphql/resolve/query.go:68–88  ·  view source on GitHub ↗
(ctx context.Context, query schema.Query)

Source from the content-addressed store, hash-verified

66}
67
68func (qr *queryResolver) Resolve(ctx context.Context, query schema.Query) *Resolved {
69 span := trace.SpanFromContext(ctx)
70 stop := x.SpanTimer(span, "resolveQuery")
71 defer stop()
72
73 resolverTrace := &schema.ResolverTrace{
74 Path: []interface{}{query.ResponseName()},
75 ParentType: "Query",
76 FieldName: query.ResponseName(),
77 ReturnType: query.Type().String(),
78 }
79 timer := newtimer(ctx, &resolverTrace.OffsetDuration)
80 timer.Start()
81 defer timer.Stop()
82
83 resolved := qr.rewriteAndExecute(ctx, query)
84 qr.resultCompleter.Complete(ctx, resolved)
85 resolverTrace.Dgraph = resolved.Extensions.Tracing.Execution.Resolvers[0].Dgraph
86 resolved.Extensions.Tracing.Execution.Resolvers[0] = resolverTrace
87 return resolved
88}
89
90func (qr *queryResolver) rewriteAndExecute(ctx context.Context, query schema.Query) *Resolved {
91 dgraphQueryDuration := &schema.LabeledOffsetDuration{Label: "query"}

Callers

nothing calls this directly

Calls 9

rewriteAndExecuteMethod · 0.95
SpanTimerFunction · 0.92
newtimerFunction · 0.85
ResponseNameMethod · 0.65
TypeMethod · 0.65
StartMethod · 0.65
StopMethod · 0.65
CompleteMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected