Можно ли выполнить другой запрос при получении строк? - PullRequest
0 голосов
/ 11 апреля 2020

Вместо сбора результирующих строк в слайс и выполнения запроса SQL при повторном выполнении этих строк во второй раз, я думаю, будет лучше выполнить запрос при вызове rows.Next().

вместо это:

// error does not happen
func attempt1() {
    db, _ := sql.Open(driver, dsn)
    tx, _ := db.Begin()
    rows, _ := tx.Query(query)
    results := collectIntoSlice(rows)
    for _, row := range results {
        doOtherQuery(tx)
    }
}

Я хочу это:

// error does not happen
func attempt2() {
    db, _ := sql.Open(driver, dsn)
    tx, _ := db.Begin()
    rows, _ := tx.Query(query)
    for rows.Next() {
        doOtherQuery(tx)
    }
}

Но безопасен ли второй подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...