170 похожих чатов

Господа, а кто-нибудь юзает query builder goqu? Не могу понять,

как указать несколько таргетов для OnConflict(goqu.DoUpdate("", "")...)

10 ответов

37 просмотров

Первый раз о нем слышу, но мб несколько вызовов DoUpdate надо?

Несколько таргетов в основном через индекс.

Denis-Nesterenko Автор вопроса
Denis Nesterenko
OnConflict один аргумент принимает :(

Логические операции с ними не помогут ? https://github.com/doug-martin/goqu/blob/31d438d38230118d377f11cfaad9627aa3a23864/expressions.go#L58

Denis-Nesterenko Автор вопроса
Elmanov Anton
Логические операции с ними не помогут ? https://gi...

Не удовлетворяет интерфейсу в Action() ConflictAction

Denis Nesterenko
Не удовлетворяет интерфейсу в Action() ConflictAct...

Должен быть путь, либо иначе этот квери билдер достоен забвения

Denis-Nesterenko Автор вопроса
Elmanov Anton
Должен быть путь, либо иначе этот квери билдер дос...

Собсна там интерфейс... Мб создатель намекает реализовать самому. Или я балбес...

Покопавшись в его исходниках (в том числе местах использования таргет и тестах)& полагаю ответ на этот вопрос следующий - записать всю строку target, как она есть, например "column1, column2" судя по всему, это выражение почти в неизменном виде идет в SQL запрос. Единственное место, где это значение как-то оценивается - https://github.com/doug-martin/goqu/blob/31d438d38230118d377f11cfaad9627aa3a23864/sqlgen/insert_sql_generator.go#L166 тут проверяется на префикс "on constraint". Если такого префикса нет, то target в чистом виде идет в запрос - https://github.com/doug-martin/goqu/blob/31d438d38230118d377f11cfaad9627aa3a23864/sqlgen/insert_sql_generator.go#L174

Denis-Nesterenko Автор вопроса
Elmanov Anton
Покопавшись в его исходниках (в том числе местах и...

А ты силен! 😅 Спасибо. Билдер мне нужен был, чтобы отправить 100 VALUES с выражением ON CONFLICT DO UPDATE разом, а не соваться с каждым значением в базу. И я вроде нашел issue, в goqu по этому поводу, но без решения... Потом написал свой "билдер" SQL строки, но из-за большой структуры, он показался прожорливым. Собственно решил вопрос я, просто написав сырой запрос, и в цикле запихивая его в pgx.Batch{}.Query(sql). И вроде даже быстро работает.

Denis Nesterenko
А ты силен! 😅 Спасибо. Билдер мне нужен был, чтобы...

не за что, в принципе работа состоит из подобного, только репов не 1, а штук 30.

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта