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

Method appendSetSlice

orm/update.go:252–291  ·  view source on GitHub ↗
(b []byte)

Source from the content-addressed store, hash-verified

250}
251
252func (q *UpdateQuery) appendSetSlice(b []byte) ([]byte, error) {
253 fields, err := q.q.getFields()
254 if err != nil {
255 return nil, err
256 }
257
258 if len(fields) == 0 {
259 fields = q.q.tableModel.Table().DataFields
260 }
261
262 var table *Table
263 if q.omitZero {
264 table = q.q.tableModel.Table()
265 }
266
267 for i, f := range fields {
268 if i > 0 {
269 b = append(b, ", "...)
270 }
271
272 b = append(b, f.Column...)
273 b = append(b, " = "...)
274 if q.omitZero && table != nil {
275 b = append(b, "COALESCE("...)
276 }
277 b = append(b, "_data."...)
278 b = append(b, f.Column...)
279 if q.omitZero && table != nil {
280 b = append(b, ", "...)
281 if table.Alias != table.SQLName {
282 b = append(b, table.Alias...)
283 b = append(b, '.')
284 }
285 b = append(b, f.Column...)
286 b = append(b, ")"...)
287 }
288 }
289
290 return b, nil
291}
292
293func (q *UpdateQuery) appendSliceModelData(fmter QueryFormatter, b []byte) ([]byte, error) {
294 columns, err := q.q.getDataFields()

Callers 1

mustAppendSetMethod · 0.95

Calls 2

getFieldsMethod · 0.80
TableMethod · 0.65

Tested by

no test coverage detected