🏁Александр
?
название чата!
Fastumkruk
1 апреля коняилось, давай те нормальное названия чата
🏁Александр
ИИИИИмя любимое моё, твоё именно.... 🙂
🏁Александр
*начал сходить с ума*
Fastumkruk
Maxim
heavycharged
Подскажите, делаю запрос, возвращается 0 строк, при этом err == nil. Я что-то путаю, или когда нету строк, то у нас sql.ErrNoRows должно быть?
🏁Александр
а то даже не понятно что за библиотека
🏁Александр
ну с библиотекой можно еще предположить, но вот как вы используете это загадка 🙂
heavycharged
sql встроенный + mysql
heavycharged
https://pastebin.com/x10UnGDC
heavycharged
вот сама функция выборки из БД
heavycharged
в конце есть log, 2018/04/02 01:33:02 error is <nil>, total rows: 0
heavycharged
проверил этот запрос напрямую, там действительно 0 строк.
Wingman
пасту не открывал, но могу предположить errnorows триггерится, когда выбираешь только одну конкретную запись (row), а не множество
heavycharged
если вы про QueryRow метод, то у меня Query обычный
Wingman
ну, условно db.Model(&model).Select() - errNoRows db.Model(&[]models).Select() - ничего
Wingman
если вы про QueryRow метод, то у меня Query обычный
ну вот поэтому и не будет ошибки
Wingman
ErrNoRows is returned by Scan when QueryRow doesn't return a row. In such a case, QueryRow returns a placeholder *Row value that defers this error until a Scan.
heavycharged
окей, а как проверять на пустой результат?
heavycharged
rows.Err() тоже nil rows.Scan() тоже nil wtf
Aleksandr
Количество строк посмотреть
heavycharged
странно это все как-то...
Aleksandr
Почему?
heavycharged
ну есть же errNoRows, почему-то ошибка возвращается при QueryRow (хотя название ошибки - Rows во множественном числе), почему тогда при Query не возвращать её? Или хотя-бы при Scan.
heavycharged
Теперь получается везде счетчик писать? или мерить длинну туда куда я append делал?
Aleksandr
Потому что для одной строки отсутствие результата ошибка, а для нескольких нормально
Aleksandr
Плюс в первом случае мы сразу можем узнать есть строка или нет, а во втором нет
heavycharged
тогда errNoRow же, или нет?
heavycharged
или тут имеется ввиду как минимум одна должна быть?
heavycharged
окей, в принципе, мне так даже удобней, просто я все это время думал что если нету строк то будет errNoRows и как дебил проверял на err == sql.ErrNoRows, теперь придется на len() переписать...
Aleksandr
len тоже нет
Aleksandr
rows - это ресурс, который надо перебрать до конца
heavycharged
ну, у меня defer rows.Close() везде, и я перебираю сначала, если на Scan ошибок нету, то делаю append.
Aleksandr
ну это подойдет для малого количества записей. если ты выбираешь 1000 строк, то у тебя будет слайс из 1000 записей. неразумно. поэтому запрос тебе возвращает итератор, а не слайс
Aleksandr
я имею в виду общую занятую память.
heavycharged
я имею в виду общую занятую память.
а как тут по другому? не помещать в слайс и возвращать тоже итератор какой-то?
heavycharged
Ты сказал как не надо) а как надо я так и не понял.
Aleksandr
Возвращать итератор, да. Если имеет смысл
Je
как в Go вообще может быть генератор, если субд выдает ответ за раз? что-то я не верю, чтобы драйвер вычитывал лениво, можно какую-нибудь ссылочку?)
heavycharged
как в Go вообще может быть генератор, если субд выдает ответ за раз? что-то я не верю, чтобы драйвер вычитывал лениво, можно какую-нибудь ссылочку?)
тоже интересно, но если я не ошибаюсь, пока rows.Close не сделать, то коннект будет удерживаться. Это же не просто так делается?
Je
Да, спасибо, вижу, вычитывает по величине буфера лениво https://github.com/lib/pq/blob/master/conn.go#L1396
Michael 🌌
Ахаха 😄
Алексей
ОО. Теперь синий кит 🐋
Michael 🌌
Gocker?
freezlite
gogo power rangers
Aleksey
rows.Err() тоже nil rows.Scan() тоже nil wtf
Там же есть проверка на некст резалт
Aleksey
Хотя зачем она тут... это внутри цикла проверять, будет ли следующая итерация...
Aleksey
Но и перед циклом же можно, не сдвигая итератор
🎉
Что за го-шаред-дев?
Aleksey
Что за го-шаред-дев?
Скачать deb, распаковать, посмотреть что там, сказать всем
🏁Александр
а с какой пьянки у нас на эмблеме кит?
🏁Александр
от докера
Viktor
Он с мордой от бурундука
Anton
если с пьянки, то надо такого
Viktor
збс..глнг
Салтыдык
голанг после дженериков
Anonymous
Ребят. Быстрый вопрос по echo. В респосе постоянно есть json часть с меседжем. Непойму как ее убрать.
freezlite
что такое дженерики?
G72K
что такое дженерики?
препараты по лицензии с меньшим контролем качества
Ilia
Ребят. Быстрый вопрос по echo. В респосе постоянно есть json часть с меседжем. Непойму как ее убрать.
не всегда. только если ошибки и только если ты не отдашь что то вместо ошибки
Ilia
)))
Ilia
значит ты не туда запрашиваешь
Ilia
проверь что роут
Anonymous
значит ты не туда запрашиваешь
Ну так а ответ тоже приходит
Anonymous
Всмысле вместе с меседжем в json
Ilia
ну покажи как ты return делаешь в хэндлере
Илья
в echo заголовки не пишутся?
Илья
c.Response().WriteHeader(http.StatusOK)
Илья
добавь там где нужно :)
Ilia
в echo заголовки не пишутся?
все пишется… у человека было проблема копипасты судя по всему
Anonymous
Hi, не подскажите либы для работы с видео? (нарезка, склеивание, конвертация в гиф)