MCPcopy Create free account
hub / github.com/go-pg/pg / appendMapColumnsValues

Method appendMapColumnsValues

orm/insert.go:195–228  ·  view source on GitHub ↗
(b []byte, m map[string]interface{})

Source from the content-addressed store, hash-verified

193}
194
195func (q *InsertQuery) appendMapColumnsValues(b []byte, m map[string]interface{}) []byte {
196 keys := make([]string, 0, len(m))
197
198 for k := range m {
199 keys = append(keys, k)
200 }
201 sort.Strings(keys)
202
203 b = append(b, " ("...)
204
205 for i, k := range keys {
206 if i > 0 {
207 b = append(b, ", "...)
208 }
209 b = types.AppendIdent(b, k, 1)
210 }
211
212 b = append(b, ") VALUES ("...)
213
214 for i, k := range keys {
215 if i > 0 {
216 b = append(b, ", "...)
217 }
218 if q.placeholder {
219 b = append(b, '?')
220 } else {
221 b = types.Append(b, m[k], 1)
222 }
223 }
224
225 b = append(b, ")"...)
226
227 return b
228}
229
230func (q *InsertQuery) appendValues(
231 fmter QueryFormatter, b []byte, fields []*Field, strct reflect.Value,

Callers 1

appendColumnsValuesMethod · 0.95

Calls 2

AppendIdentFunction · 0.92
AppendFunction · 0.92

Tested by

no test coverage detected