Size: a a a

2020 January 29

SP

Sergey Prokhorov in ErlangRus
А давно на hex.pm появилась функция diff?
https://diff.hex.pm/diff/ejsonpath/0.1.0..0.2.1
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Неделю назад
источник
2020 January 30

SP

Sergey Prokhorov in ErlangRus
источник

SP

Sergey Prokhorov in ErlangRus
для контекста: epgsql:equery делает 2 round-trip к серверу на каждый запрос: один чтоб отправить сам запрос на сервер и попросить его распарсить запрос и прислать информацию о типах данных плейсхолдеров SELECT .. WHERE id=$1 и второй чтоб собственно отправить значения плейсхолдеров и получить ответ. Этот сниппет позволяет обойтись одним round-trip, но нужно самому указывать типы для плейсхолдеров.
источник

YZ

Yuri Zhloba in ErlangRus
Лайк
источник

В

Вертолетчик in ErlangRus
Sergey Prokhorov
для контекста: epgsql:equery делает 2 round-trip к серверу на каждый запрос: один чтоб отправить сам запрос на сервер и попросить его распарсить запрос и прислать информацию о типах данных плейсхолдеров SELECT .. WHERE id=$1 и второй чтоб собственно отправить значения плейсхолдеров и получить ответ. Этот сниппет позволяет обойтись одним round-trip, но нужно самому указывать типы для плейсхолдеров.
Было бы вообще шикарно, если б это в опциях заложить можно было. Например вместо epgsql:equery(C, "select name from users where email=$1", [<<"email@email.com">>]) дополняем параметр типом данных:
epgsql:equery(C, "select name from users where email=$1", [{<<"email@email.com">>, <<"text">>}])
источник

В

Вертолетчик in ErlangRus
Ну и соответственно это наверное уже будет другая функция, например exquery
источник

SP

Sergey Prokhorov in ErlangRus
ну можно и так наверное. но как по мне отдельным аргументом более явно выходит. случайно не забудешь
источник

SP

Sergey Prokhorov in ErlangRus
Вертолетчик
Ну и соответственно это наверное уже будет другая функция, например exquery
ну вот кстати да, пожелания по названию are welcome! я пока не придумал
источник

SP

Sergey Prokhorov in ErlangRus
exquery звучит неплохо то почему именно x?
источник

В

Вертолетчик in ErlangRus
exquery - это из твоего же гиста ))). You can still do explicit type conversion.
Ну то есть типа explicit query
источник

В

Вертолетчик in ErlangRus
Sergey Prokhorov
ну можно и так наверное. но как по мне отдельным аргументом более явно выходит. случайно не забудешь
То есть как-то так?
epgsql:equery(C, "select name from users where email=$1", [<<"email@email.com">>], [<<"text">>])
источник

SP

Sergey Prokhorov in ErlangRus
да хз, пока не решил. думаю лучше чтоб отдельное API было
источник

SP

Sergey Prokhorov in ErlangRus
но да, значения отдельно, типы отдельно
источник

В

Вертолетчик in ErlangRus
Sergey Prokhorov
но да, значения отдельно, типы отдельно
Плохо читаемо будет, когда много плейсхолдеров
источник

В

Вертолетчик in ErlangRus
А если с таплами делать, то сразу видно, что к чему
источник

SP

Sergey Prokhorov in ErlangRus
тоже верно. но мне кажется что руками такое редко кто будет писать, скорее какие-то генераторы запросов. Лан, ещё подумаю. Спасибо за фидбек
источник

В

Вертолетчик in ErlangRus
Ну с таплами ещё плюс, что сразу от lists:zip избавляемся
источник

В

Вертолетчик in ErlangRus
Имею ввиду вот эту строку например:

https://github.com/epgsql/epgsql/blob/devel/src/epgsql.erl#L241
источник

SP

Sergey Prokhorov in ErlangRus
обидно что в асинхронной версии интерфейса этот zip наружу утёк...
источник