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

Method update

orm/query.go:1138–1171  ·  view source on GitHub ↗
(values []interface{}, omitZero bool)

Source from the content-addressed store, hash-verified

1136}
1137
1138func (q *Query) update(values []interface{}, omitZero bool) (Result, error) {
1139 if q.stickyErr != nil {
1140 return nil, q.stickyErr
1141 }
1142
1143 model, err := q.newModel(values)
1144 if err != nil {
1145 return nil, err
1146 }
1147
1148 c := q.ctx
1149
1150 if q.tableModel != nil {
1151 c, err = q.tableModel.BeforeUpdate(c)
1152 if err != nil {
1153 return nil, err
1154 }
1155 }
1156
1157 query := NewUpdateQuery(q, omitZero)
1158 res, err := q.returningQuery(c, model, query)
1159 if err != nil {
1160 return nil, err
1161 }
1162
1163 if q.tableModel != nil {
1164 err = q.tableModel.AfterUpdate(c)
1165 if err != nil {
1166 return nil, err
1167 }
1168 }
1169
1170 return res, nil
1171}
1172
1173func (q *Query) returningQuery(c context.Context, model Model, query interface{}) (Result, error) {
1174 if !q.hasReturning() {

Callers 2

UpdateMethod · 0.95
UpdateNotZeroMethod · 0.95

Calls 5

newModelMethod · 0.95
returningQueryMethod · 0.95
NewUpdateQueryFunction · 0.85
BeforeUpdateMethod · 0.65
AfterUpdateMethod · 0.65

Tested by

no test coverage detected