MCPcopy
hub / github.com/cayleygraph/cayley / SQL

Method SQL

graph/sql/shape.go:332–365  ·  view source on GitHub ↗
(b *Builder)

Source from the content-addressed store, hash-verified

330}
331
332func (s Select) SQL(b *Builder) string {
333 var parts []string
334
335 var fields []string
336 for _, f := range s.Fields {
337 fields = append(fields, f.SQL(b))
338 }
339 parts = append(parts, "SELECT "+strings.Join(fields, ", "))
340
341 var tables []string
342 for _, t := range s.From {
343 tables = append(tables, t.SQL(b))
344 }
345 parts = append(parts, "FROM "+strings.Join(tables, ", "))
346
347 if len(s.Where) != 0 {
348 var wheres []string
349 for _, w := range s.Where {
350 wheres = append(wheres, w.SQL(b))
351 }
352 parts = append(parts, "WHERE "+strings.Join(wheres, " AND "))
353 }
354 if s.Limit > 0 {
355 parts = append(parts, "LIMIT "+strconv.FormatInt(s.Limit, 10))
356 }
357 if s.Offset > 0 {
358 parts = append(parts, "OFFSET "+strconv.FormatInt(s.Offset, 10))
359 }
360 sep := " "
361 if len(fields) > 1 {
362 sep = "\n\t"
363 }
364 return strings.Join(parts, sep)
365}
366func (s Select) Args() []Value {
367 var args []Value
368 // first add args for FROM subqueries

Callers

nothing calls this directly

Calls 1

SQLMethod · 0.65

Tested by

no test coverage detected