Size: a a a

2020 July 29

d

dmitriy in Go-go!
сонная википедия
нет, у Scan своя же ошибка
func (r *Row) Scan(dest ...interface{}) error {
if r.err != nil {
 return r.err
}

defer r.rows.Close()
for _, dp := range dest {
 if _, ok := dp.(*RawBytes); ok {
  return errors.New("sql: RawBytes isn't allowed on Row.Scan")
 }
}

if !r.rows.Next() {
 if err :=
r.rows.Err(); err != nil {
  return err
 }
 return ErrNoRows
}
err := r.rows.Scan(dest...)
if err != nil {
 return err
}
// Make sure the query can be processed to completion with no errors.
return r.rows.Close()
}
источник

d

dmitriy in Go-go!
отчасти неверно, внутри тоже дергается Err()
источник

d

dmitriy in Go-go!
но мы его не получим, так как до скана не дойдем из-за !Next()
источник

d

dmitriy in Go-go!
поетому дергаем после итерации еще и сами, думаю так это объясняется
источник

с

сонная википедия... in Go-go!
dmitriy
func (r *Row) Scan(dest ...interface{}) error {
if r.err != nil {
 return r.err
}

defer r.rows.Close()
for _, dp := range dest {
 if _, ok := dp.(*RawBytes); ok {
  return errors.New("sql: RawBytes isn't allowed on Row.Scan")
 }
}

if !r.rows.Next() {
 if err :=
r.rows.Err(); err != nil {
  return err
 }
 return ErrNoRows
}
err := r.rows.Scan(dest...)
if err != nil {
 return err
}
// Make sure the query can be processed to completion with no errors.
return r.rows.Close()
}
так это же Row, а не Rows
источник

d

dmitriy in Go-go!
сонная википедия
так это же Row, а не Rows
а ну да, в Rows другое совсем
источник

Н

Несин Данила... in Go-go!
Здравствуйте! Помогите с дилеммой - нужно из Golang выполнить команду PowerShell, но какую бы простую не выполнял - создается огромное число процессов загружающих память в ноль, а команда не выполнятся.
источник

Н

Несин Данила... in Go-go!
package main
import (
 "fmt"
 "os/exec"
)
func main() {
 out, err := exec.Command("powershell", "-Command", "hostname").CombinedOutput()
 if err != nil {
   panic(err)
 }
 fmt.Println(out)
}
источник

DR

Dmitry R in Go-go!
хочу написать тест на функцию, которая ходит в бд. хочу проверить, что она вернет. в моем понимании мне нужен 1) симулировать sql драйвер, для этого go-sqlmock
2) мокнутая бд, в которую я добавлю данные, на которых отработает функция

с 2 не понятно, не могу найти примеры как с go-sqlmock добавить данные
источник

DR

Dmitry R in Go-go!
или это как-то по другому тестируется?
источник

с

сонная википедия... in Go-go!
Dmitry R
хочу написать тест на функцию, которая ходит в бд. хочу проверить, что она вернет. в моем понимании мне нужен 1) симулировать sql драйвер, для этого go-sqlmock
2) мокнутая бд, в которую я добавлю данные, на которых отработает функция

с 2 не понятно, не могу найти примеры как с go-sqlmock добавить данные
там есть методы которые устанавливают возвращаемое значение
источник

DR

Dmitry R in Go-go!
https://chromium.googlesource.com/external/github.com/DATA-DOG/go-sqlmock/+/refs/heads/master/sqlmock_test.go
98 строка TestMockQuery

тут например есть expect query will return rows, но нигде не вставляются эти rows перед запуском
источник

DR

Dmitry R in Go-go!
я не понимаю
источник

с

сонная википедия... in Go-go!
WillReturnRows
источник

с

сонная википедия... in Go-go!
или WillReturnResult
источник

с

сонная википедия... in Go-go!
Несин Данила
Здравствуйте! Помогите с дилеммой - нужно из Golang выполнить команду PowerShell, но какую бы простую не выполнял - создается огромное число процессов загружающих память в ноль, а команда не выполнятся.
конкретно приведенный код не может себя так вести

разве что powershell хулиганит
источник

DR

Dmitry R in Go-go!
то есть в willReturnRows давать полные данные, с которыми я хочу что бы отработала функция?
источник

с

сонная википедия... in Go-go!
Dmitry R
то есть в willReturnRows давать полные данные, с которыми я хочу что бы отработала функция?
те что вы ожидаете от драйвера бд
источник

с

сонная википедия... in Go-go!
то есть поля записи в таблице
источник

Н

Несин Данила... in Go-go!
сонная википедия
конкретно приведенный код не может себя так вести

разве что powershell хулиганит
https://ibb.co/68spyLW - скрин того, что происходит. Просто из консоли команда выполнятся нормально (исключая тяжелую жопу powershell в плане производительности), но через golang он создает кучу спама и виснет. Win10 2004, golang 1.14.4
источник