MCPcopy
hub / github.com/Masterminds/squirrel / ToSql

Method ToSql

delete.go:31–84  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

29}
30
31func (d *deleteData) ToSql() (sqlStr string, args []interface{}, err error) {
32 if len(d.From) == 0 {
33 err = fmt.Errorf("delete statements must specify a From table")
34 return
35 }
36
37 sql := &bytes.Buffer{}
38
39 if len(d.Prefixes) > 0 {
40 args, err = appendToSql(d.Prefixes, sql, " ", args)
41 if err != nil {
42 return
43 }
44
45 sql.WriteString(" ")
46 }
47
48 sql.WriteString("DELETE FROM ")
49 sql.WriteString(d.From)
50
51 if len(d.WhereParts) > 0 {
52 sql.WriteString(" WHERE ")
53 args, err = appendToSql(d.WhereParts, sql, " AND ", args)
54 if err != nil {
55 return
56 }
57 }
58
59 if len(d.OrderBys) > 0 {
60 sql.WriteString(" ORDER BY ")
61 sql.WriteString(strings.Join(d.OrderBys, ", "))
62 }
63
64 if len(d.Limit) > 0 {
65 sql.WriteString(" LIMIT ")
66 sql.WriteString(d.Limit)
67 }
68
69 if len(d.Offset) > 0 {
70 sql.WriteString(" OFFSET ")
71 sql.WriteString(d.Offset)
72 }
73
74 if len(d.Suffixes) > 0 {
75 sql.WriteString(" ")
76 args, err = appendToSql(d.Suffixes, sql, " ", args)
77 if err != nil {
78 return
79 }
80 }
81
82 sqlStr, err = d.PlaceholderFormat.ReplacePlaceholders(sql.String())
83 return
84}
85
86// Builder
87

Callers

nothing calls this directly

Calls 3

appendToSqlFunction · 0.85
JoinMethod · 0.80
ReplacePlaceholdersMethod · 0.65

Tested by

no test coverage detected