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

Function writeQuery

graphql/dgraph/graphquery.go:68–124  ·  view source on GitHub ↗
(b *strings.Builder, query *dql.GraphQuery, prefix string)

Source from the content-addressed store, hash-verified

66}
67
68func writeQuery(b *strings.Builder, query *dql.GraphQuery, prefix string) {
69 if query.Var != "" || query.Alias != "" || query.Attr != "" {
70 x.Check2(b.WriteString(prefix))
71 }
72 if query.Var != "" {
73 x.Check2(b.WriteString(fmt.Sprintf("%s as ", query.Var)))
74 }
75 if query.Alias != "" {
76 x.Check2(b.WriteString(query.Alias))
77 x.Check2(b.WriteString(" : "))
78 }
79 x.Check2(b.WriteString(query.Attr))
80
81 if query.Func != nil {
82 writeRoot(b, query)
83 }
84
85 if query.Filter != nil {
86 x.Check2(b.WriteString(" @filter("))
87 writeFilter(b, query.Filter)
88 x.Check2(b.WriteRune(')'))
89 }
90
91 if query.Func == nil && hasOrderOrPage(query) {
92 x.Check2(b.WriteString(" ("))
93 writeOrderAndPage(b, query, false)
94 x.Check2(b.WriteRune(')'))
95 }
96
97 if len(query.Cascade) != 0 {
98 if query.Cascade[0] == "__all__" {
99 x.Check2(b.WriteString(" @cascade"))
100 } else {
101 x.Check2(b.WriteString(" @cascade("))
102 x.Check2(b.WriteString(strings.Join(query.Cascade, ", ")))
103 x.Check2(b.WriteRune(')'))
104 }
105 }
106
107 switch {
108 case len(query.Children) > 0:
109 prefixAdd := ""
110 if query.Attr != "" {
111 x.Check2(b.WriteString(" {\n"))
112 prefixAdd = " "
113 }
114 for _, c := range query.Children {
115 writeQuery(b, c, prefix+prefixAdd)
116 }
117 if query.Attr != "" {
118 x.Check2(b.WriteString(prefix))
119 x.Check2(b.WriteString("}\n"))
120 }
121 case query.Var != "" || query.Alias != "" || query.Attr != "":
122 x.Check2(b.WriteString("\n"))
123 }
124}
125

Callers 1

AsStringFunction · 0.85

Calls 5

Check2Function · 0.92
writeRootFunction · 0.85
writeFilterFunction · 0.85
hasOrderOrPageFunction · 0.85
writeOrderAndPageFunction · 0.85

Tested by

no test coverage detected