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

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

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

10 ответов

74 просмотра

Первый раз о нем слышу, но мб несколько вызовов 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.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта