insertValues := make([]interface{}, 0, len(photos)*4)
insertQuery := "INSERT INTO photos (id, owner_id, req_id, url) VALUES "
for i, photo := range photos {
if i != 0 {
insertQuery += ","
}
n := i * 4
insertValues = append(insertValues, photo.ID, photo.OwnerID, photo.ReqID, photo.URL)
insertQuery += fmt.Sprintf("($%d, $%d, $%d, $%d)", n, n+1, n+2, n+3)
}
if _, err := tx.Exec(insertQuery, insertValues...); err != nil {
return err
}