кана
закрыть всех в комнате наверное, там И, не очень понятно
Cheese
дальше же написано — ЗАПЕРЕТЬ ВСЕХ К ЧЕРТЯМ
Влод
ааа лол
Влод
я думал уже есть дизайн какой должна быть идеальная либа
Anonymous
ну, выйти тоже можно будет. похоже на процесс выборов Папы римского. https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%BA%D0%BB%D0%B0%D0%B2
A64m
прочел как ЗАПРЕТИТЬ ВСЕХ К ЧЕРТЯМ сначала
Alexander
мне бы низкий уровень, который RTS не убивает гарантировано
Alexander
а с hasql у меня проблема, которую я не знаю как репортить
Alexander
в коде передается UUID, в encoder HE.uuid
Alexander
постргрес ругается что ему передали текст
Alexander
случилось 3 раза подряд, до и после не повторялось
Alexander
код рядом не менялся уже полгода
Влод
да забавно
Alexander
на рабочем кластере, так что это не чей-то разработческие код
Влод
наверное если повторять на тех же значениях ууидов то всё в порядке?
Anonymous
а автор либы - Никита - тут участвует? вообще-то в описании пакета есть его емайл.
Dmitry
так это то, что надо?
Нет, не то. Выводятся все ошибки, которые нашлись в модуле. А надо только первую. Ну уже не актуально, через awk справился
A64m
а новый hasql кто-то использовал уже?
Alexander
неа
Alexander
а ещё у Никиты очень сложно либы внутри читать
Alexander
но это принципиальный вопрос похоже
A64m
а новый-то вообще допиливается, или этот проект помер давно?
Alexander
@vlastachu не в курсе?
Alexander
Никита и в этом чате же есть, но я ник не помню
Влод
да я просто немного не понимаю ситуацию hasql вполне живой, пользуемся им, 23 дня назад последний комит - вроде можно считать живым
Влод
или есть отдельно пакет hasql-2?
A64m
речь про тот проект про который автор пару докладов в прошлом году делал
A64m
про нативный клиент, а не байндинги к сишной либе
Dmitrii
А подскажите, есть у ghc какая-нибудь опция, чтобы он завершал работу после первой же найденной ошибки, а не выводил простыню всех ошибок?
Не совсем то, но может помочь. Есть опция, которая показывает ошибки в обратном порядке: https://stackoverflow.com/questions/51287431/is-it-possible-to-invert-the-order-errors-are-displayed?noredirect=1&lq=1
PsyDebug
про нативный клиент, а не байндинги к сишной либе
я тогда не смог найти то о чём он говорил
Nikita
а новый-то вообще допиливается, или этот проект помер давно?
Я жду высвобождения собственного времени, чтобы допилить. Релиз точно будет, и это будет принципиальный скачок для библиотеки
Nikita
постргрес ругается что ему передали текст
Там жёстко запаяны идентификаторы типов. Если использовался энкодер uuid, текст там всплыть никак не мог. Скорее всего, баг снаружи Hasql.
Alexander
ну вот у меня вызывается "DELETE .. WHERE id =$1". Encoder верный, в функцию, что надо подаетс
Alexander
Private.* не экспортирован, а по гитхабу ползать так себе
Nikita
Сериализация вынесена в отдельную либу: https://hackage.haskell.org/package/postgresql-binary
Alexander
ага, спасибо
Alexander
на самом деле очень странная фигня, я не представляю как такое могло случиться
Anonymous
по теме сериализации через Generic & Binary (не по hasql): есть ли разница в размере выходной байт строки, если сериализовать data A = A { a::Integer, b::Integer } или data A = A Integer Integer ?
Nikita
на самом деле очень странная фигня, я не представляю как такое могло случиться
Я рекомендую в логи Постгреса посмотреть. А ещё последние версии Hasql ошибки сопровождают SQL и значениями, на которых ошибки произошли
Anonymous
Нет
пасиб! 🤝
Anonymous
@artemohanjanyan будет жить. Поприветствуем!
Alexander
в SQL логах не больше информации
Alexander
no operator matches the given name and argument type(s)
Alexander
учитывая, что код не менялся полгода, это не случайное изменение или т.п.
Alexander
Сериализация вынесена в отдельную либу: https://hackage.haskell.org/package/postgresql-binary
а где сама сборка запроса постгресу, где все OID поставляются? Есть там unsafePerform или какой-нибудь Text-Builder?
Nikita
https://github.com/nikita-volkov/hasql/blob/master/library/Hasql/Private/Session.hs#L46
Nikita
Суть в том, что вот этот тип собирает все OID и прочую мета-фигню: https://github.com/nikita-volkov/hasql/blob/master/library/Hasql/Private/Encoders/Params.hs Потом всё финализируется в типы, которые есть libpq
Alexander
просто пока единственное объяснение(кроме того что кластер Гугла обстреляли нейтрино), это то что в билдере какой-то редкий баг
Alexander
что у меня при сборке запроса не тот OID записан
Alexander
самое тупое, что оно больше не воспроизводится
Alexander
так что возможно я тупо посмотрю глазами код и забью
A64m
учитывая, что регулярно обнаруживаются баги в гхц https://git.haskell.org/ghc.git/commitdiff/fd7a7a6363d8dde1813bc23cb4ef00ebb70a49c0 вроде такого, тут и космические лучи не нужны
A64m
или в основных библиотеках вроде такого https://github.com/haskell/text/issues/197
A64m
байтстринговый баг с записью в один байтстринг я не помню как найти
Alexander
он в релизе не был
Alexander
в их коде написаны ссылки
Влод
Private.* не экспортирован, а по гитхабу ползать так себе
кстати вроде бы ты советовал смотреть сорцы вместо документации
Влод
крч есть вопрос как мне сгенерить uuid? вроде system-uuid должен помочь но у меня типы не совпадают с Data.UUID из пакеты uuid
Alexander
я в документации нажимаю на source
Alexander
и читаю сырцы на хаддоке
Alexander
и очень ругаюсь нехорошими словами на пакеты, которые мне это не позволяют
Alexander
просто UUID же умеет V4
Влод
и читаю сырцы на хаддоке
ну да это кстати довольно продвинутая часть в хаскель инфраструктуре нигде больше не видел чтобы генерились подсвеченые сорцы с ссылками
A64m
да я просто качаю пакет и открываю каким-нибудь редактором, только с телефона хаддоки и надо смотреть, это боль и ужас
Влод
просто UUID же умеет V4
аа чет не заглянул туда
A64m
такие доки-исходники со ссылками не для всего сгенерены
Влод
да и когда выкладывал пакет не особо видел как я влияю на эти доки
Alexander
можно самому загрузить
Alexander
а так хаддок сервер их билдит
Anonymous
@upsilon будет жить. Поприветствуем!
Anonymous
да и когда выкладывал пакет не особо видел как я влияю на эти доки
Если заминка с доками, > cabal haddock на месте создаёт доки для пакета. Сразу можно открыть и посмотреть тут о форматах: https://haskell-haddock.readthedocs.io/en/latest/markup.html
Leonid 🦇
Хозяйке на заметку https://twitter.com/mattoflambda/status/1029732028512493568