| 1265 | } |
| 1266 | |
| 1267 | func (u *updater) updateTable(ctx context.Context, stmt *sql.UpdateBuilder) (int, error) { |
| 1268 | for _, m := range u.Modifiers { |
| 1269 | m(stmt) |
| 1270 | } |
| 1271 | if err := stmt.Err(); err != nil { |
| 1272 | return 0, err |
| 1273 | } |
| 1274 | if stmt.Empty() { |
| 1275 | return 0, nil |
| 1276 | } |
| 1277 | var ( |
| 1278 | res sql.Result |
| 1279 | query, args = stmt.Query() |
| 1280 | ) |
| 1281 | if err := u.tx.Exec(ctx, query, args, &res); err != nil { |
| 1282 | return 0, err |
| 1283 | } |
| 1284 | affected, err := res.RowsAffected() |
| 1285 | if err != nil { |
| 1286 | return 0, err |
| 1287 | } |
| 1288 | return int(affected), nil |
| 1289 | } |
| 1290 | |
| 1291 | func (u *updater) setExternalEdges(ctx context.Context, ids []driver.Value, addEdges, clearEdges map[Rel][]*EdgeSpec) error { |
| 1292 | if err := u.graph.clearM2MEdges(ctx, ids, clearEdges[M2M]); err != nil { |