database/sql中的func (db *DB) Query(query string, args ...interface{}) (*Rows, error)

func (db *DB) Query(query string, args ...interface{}) (*Rows, error) {
var rows *Rows
var err error
for i := 0; i < 10; i++ {
    rows, err = db.query(query, args)
    if err != driver.ErrBadConn {
        break
    }
}
return rows, err
}

这里的 for 循环 10 次是为了什么目的?

共 1 个回复


xbugs

我觉得是为了连接错误时重试,最多重试10次而已,如果成功就执行一次。

# 0