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

Подскажите, можно ли как то обойти такое поведение, Tableau для

получения метаданных выполняет запрос с условием WHERE 1=0, после чего КХ пытается его пробросить внутрь подзапросов, среди которых один выполняется к постгресу, выяснилось что КХ не может транслировать такую конструкцию в ПГ.
Может есть какая то функция для этого? Или заводить тикет?
КХ - 21.11.8.4
select * from postgresql(...)
where 1=0
std::exception. Code: 1001, type: pqxx::sql_error, e.what() = ERROR: argument of WHERE must be type boolean, not type integer

11 ответов

16 просмотров

pqxx::sql_error ошибка от PostgreSQL прилетает. а не от clickhouse как такового попробуйте посмотреть какой конкретно запрос уходит в postgres через tcpdump например и после этого уже можно попробовать issue на github завести

коннектор ODBC? JDBC? в manifest.xml есть два свойства CAP_QUERY_TOP_0_METADATA CAP_QUERY_WHERE_FALSE_METADATA если первое поставить в ‘yes’,  а второе в ‘no’ — как будет отрабатывать?

Konstantin Sevastianov
и ODBC и JDBC

я у себя (JDBC) в последнем релизе оставил только WHERE FALSE == ‘yes’ — а это как раз твой случай. можешь взять неупакованный коннектор и поменять манифест? у меня под рукой щас нет внешнего PG словаря для проверки

Konstantin-Sevastianov Автор вопроса
Yuri Fal
я у себя (JDBC) в последнем релизе оставил только ...

ну это локальное решение, в DataGrip поведение такое же

Konstantin Sevastianov
ну это локальное решение, в DataGrip поведение так...

ну хотя бы Табло пофиксить от греха подальше 😉

Konstantin-Sevastianov Автор вопроса
Slach [altinity]
pqxx::sql_error ошибка от PostgreSQL прилетает. а ...

похоже превращает WHERE 1=0 просто в 0

Konstantin Sevastianov
screenshot похоже превращает WHERE 1=0 просто в 0

тогда это похоже на БАГ отловите оригинальный запрос попробуйте убрать из него все лишнее чтобы только postgresql таблица осталась... и посмотрите что изменится

Konstantin-Sevastianov Автор вопроса
Slach [altinity]
тогда это похоже на БАГ отловите оригинальный зап...

А ну это я проверял. Если сделать чистый селект from postgresql(...) where 1=0 то ошибка остаётся

Konstantin Sevastianov
А ну это я проверял. Если сделать чистый селект fr...

можете сделать issue на github? судя по всему clickhouse конвертирует 1=0 в булево false и дальше уже его прокидывает как 0 запрос

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта