0

问题发生在 Windows 上,使用 Go 1.5,win 分支上的 driver-go,taos 2.1.0.0。

对于一个简单的用例:

func myexecute(db *sql.DB, sql string, id int, wg *sync.WaitGroup) {
    defer wg.Add(1)
    rows, err := db.Query(sql)
    checkErr(err, sql)
    count := 0
    for rows.Next() {
        // do scan and print
        count++
    }
}
func main() {
    // ...
    wg := &sync.WaitGroup{}
    sqls := make([]string, 2)
    sqls[0] = "select * from stb1 where t1='v1' limit 1"
    sqls[1] = "select * from stb1 where t1='v2' limit 5"

    for i := 0; i < 2; i++ {
        go myexecute(db, sqls[i], i, wg)
    }
    wg.Wait()
    //...
}

结果与 sqls 随机不匹配 - 这意味着 sql B 结果具有使用 sql A 选择的结果。

4

0 回答 0