
anton
28.06.2018
13:27:31
вопрос к адептам sql/sqlx:
допустим у вас есть в базе таблица authors и books и соответственно связь 1-to-many.
как вы сканите результат, когда вам нужно достать список авторов, и что бы у каждого автора еще был список книг? ?
(не холивара ради, но советчики с ORM, пройдите пожалуйста мимо)

Alexandr
28.06.2018
13:27:46
и переменные, связанные с ошибками.

Aleksandr
28.06.2018
13:28:21

Google

Aleksandr
28.06.2018
13:28:23
и нашел

Alexander
28.06.2018
13:28:26
читай дальше :)

Alexandr
28.06.2018
13:29:34
ребята, вы прикалываетесь )
там есть только LazyQuotes

Alexander
28.06.2018
13:30:12
нет. нам просто уже лень прикалываться

Alexandr
28.06.2018
13:30:36
лан

Alexander
28.06.2018
13:31:10

anton
28.06.2018
13:33:16
а как вы делаете запрос?
ну например так:
select authors.name, books.name
from authors
left join books on books.author_id = authors.id

Alexander
28.06.2018
13:34:12
ну... значит, построчно и забираем результирующийи набор данных
а в чем вопрос-то?

anton
28.06.2018
13:35:41

Антон
28.06.2018
13:36:05

Alexander
28.06.2018
13:36:34
делать слайс таких структур и добавлять в него то, что у базы забираешь

Google

Юрий
28.06.2018
13:36:58

anton
28.06.2018
13:37:01

Илья
28.06.2018
13:38:03
делаю такие штуки в 2 запроса, 1 запрос выгребает авторов, потом собираю id выгребаю все связаное, и подпихиваю в слайс в нужные места списки книг

Антон
28.06.2018
13:38:52

Alexander
28.06.2018
13:39:04

anton
28.06.2018
13:39:41

Alexander
28.06.2018
13:40:44

anton
28.06.2018
13:45:47
всем спасибо за ответы..
я просто думал, вдруг я тут найду людей, которые делают rows.Scan() для результата выборки в 30 полей (например), а потом руками это засовывают в переменные…
хотел глянуть им в глаза.. и на аватрки посмотреть.
досталось тут наследство

Alexander
28.06.2018
13:46:33
красавец! :) Какой вопрос, такой и ответ :)

Jentry
28.06.2018
13:51:15
sqlx не панацея, если ты думаешь, что взял и сразу на коне, он не умеет работать с указателями на вложенные структуры, при left-join у тебя должна быть объявлена копия структуры с nullable или указателями, также он не умеет update .. returning - это сходу, что удалось вспомнить


anton
28.06.2018
13:57:08
sqlx не панацея, если ты думаешь, что взял и сразу на коне, он не умеет работать с указателями на вложенные структуры, при left-join у тебя должна быть объявлена копия структуры с nullable или указателями, также он не умеет update .. returning - это сходу, что удалось вспомнить
да, есть боль с тем, что у структуры которая в левом джоайне все должно быть nullable, включая ID..
не очень приятно, но смирился

Alexander
28.06.2018
13:58:33
вот то-то я и подумал, то книжки надо по авторам получить аккуратно, то 30 полей откуда не возьмись, то select *
мрачняк, и разговор ни о чем

anton
28.06.2018
13:59:32
ну я ж не буду сюда портянку скуля на 400 строк кидать?

Michael
28.06.2018
13:59:42
го во флуд)
там веселее и есть nsfw

Alexander
28.06.2018
13:59:53
+1

Google

anton
28.06.2018
13:59:53

Michael
28.06.2018
14:00:08
а типа вы умеете

anton
28.06.2018
14:00:28
умеем, могем, практикуем

Aleksandr
28.06.2018
14:01:19

Alexander
28.06.2018
14:01:39
пока что вы показали только силу любви мозгов окружающих. Go тут вобще просто повод

Michael
28.06.2018
14:02:00
ложь и провокация, что тут умеют голанг

Daniel
28.06.2018
14:02:12
коллеги, а конструктивное-то начало в этой беседе есть?
голанг нигде не умеют

Alexander
28.06.2018
14:02:38
нет, коллега :(

anton
28.06.2018
14:02:45
наверное нету. не получилось.
не умею я видимо накидывать тонко

Daniel
28.06.2018
14:02:48
его сразу практикуют, чем и ценен
но

Daniel
28.06.2018
14:03:11
я понял, что есть люди, которых хрен проймешь

Alexander
28.06.2018
14:03:47
как я?

Daniel
28.06.2018
14:03:53
я тут кидал ссылку на эталонный говнокод. на го написан, ничего ему сделать не смогли все строгости

Alexander
28.06.2018
14:04:28
меня еще как проймешь! Мне просто плохо от распальцованных ламеров, которые уверены, что я им сейчас все объясню :(

Daniel
28.06.2018
14:04:40
да я в воздух
да, на го бывает очень плохой код

xPushkin
28.06.2018
14:05:13

Daniel
28.06.2018
14:05:30
да

Google

Alexander
28.06.2018
14:05:33
пограммисты просто бывают не слишком хорошие

anton
28.06.2018
14:05:41
как и люди (независимо от профессии)?

Daniel
28.06.2018
14:06:01
людей сложно оценивать, они слишком многогранны

Alexander
28.06.2018
14:06:06
а уж на Go, или на perl - это уже не так важно на чем

Daniel
28.06.2018
14:07:09
на go говнокода поменьше было раньше
но, похоже, уходят те времена

Alexander
28.06.2018
14:07:37
раньше и на Перле было поменьше :)
А что за говнокод на Go? Роб Пайк, вроде, старался, чтобы поменьше было такого

Alan
28.06.2018
14:08:43
Так можно про любой язык сказать
Ну почти)

Admin
ERROR: S client not available

anton
28.06.2018
14:08:54
вброс то был собственно ради того, что бы расшевелить вас и подискутировать на тему того, когда и чем стоит жертвовать.
ведь тот результат можно было получить в два запроса, а можно было в один.

Alexander
28.06.2018
14:09:08
не почти, а про любой! да :(

Daniel
28.06.2018
14:09:39

Alexander
28.06.2018
14:10:30

Michael
28.06.2018
14:11:16
Ну тут сисек не хватает и точь точь флудилка

Илья
28.06.2018
14:11:41

anton
28.06.2018
14:11:43

Alexander
28.06.2018
14:11:47
флудилка есть отдельно, если кто не знает...

anton
28.06.2018
14:12:12
все такие умные, ппц

Google

Aleksandr
28.06.2018
14:12:44

anton
28.06.2018
14:13:15

Aleksandr
28.06.2018
14:13:18
но помогать тебе начали в другом - не по теме

Michael
28.06.2018
14:13:22

Alexander
28.06.2018
14:13:58
а я не помню уже. отписался от них. Там - сплошной флуд!

Aleksandr
28.06.2018
14:15:06
все чего касается Попов превращается во флуд и школьные шутейки

Michael
28.06.2018
14:16:38
Ничем не отличается от флудилки как ни крути

anton
28.06.2018
14:19:25
но помогать тебе начали в другом - не по теме
и собственно так же интересно было послушать тех, кто за один запрос.
и то, как они без ORM это достают, маппят в структуру, флаттят в случае hasMany и вот это все..
но именно интересно было услышать о том, как жить, когда запросы на экран не умещаются.
кто как это дело поддерживает.
но разговор почему-то свернул не в то русло, а мне с телефона распинаться было лень

Alexander
28.06.2018
14:19:58

Daniel
28.06.2018
14:20:09
сейчас отличится

Алексей
28.06.2018
14:20:14
добрый день. будьте добры дайте какую то задачку интересную! я новичок в гоу ! желание учиться

Daniel
28.06.2018
14:20:19
коллеги, пожалуйста, хватит
а то буду карать

Алексей
28.06.2018
14:20:38
карательный отряд вышел на патруль)

Alexander
28.06.2018
14:20:52

Alexander
28.06.2018
14:20:56

Алексей
28.06.2018
14:21:07
+

Alexander
28.06.2018
14:21:23
OK!

Алексей
28.06.2018
14:21:47
спасибо Вам господа
)

anton
28.06.2018
14:22:06

Alexandr
28.06.2018
14:22:44