Позволяет форматировать входные запросы.
Ключи:
--helpили-h— Вывести справочное сообщение.--query— Форматировать запросы любой длины и сложности.--hiliteили--highlight— Добавить подсветку синтаксиса с помощью ANSI escape-последовательностей терминала.--oneline— Форматировать в одну строку.--max_line_length— Форматировать в одну строку запросы, длина которых меньше указанной.--comments— Сохранять комментарии в выводе.--quietили-q— Только проверить синтаксис, без вывода при успешном выполнении.--multiqueryили-n— Разрешить несколько запросов в одном файле.--obfuscate— Выполнять обфускацию вместо форматирования.--seed <string>— Произвольная строка seed, определяющая результат обфускации.--backslash— Добавить обратную косую черту в конец каждой строки форматированного запроса. Это может быть полезно, если вы копируете многострочный запрос из веб-интерфейса или откуда-то ещё и хотите выполнить его в командной строке.--semicolons_inline— В режиме multiquery ставить точки с запятой в последней строке запроса, а не на новой строке.
Примеры
- Форматирование запроса:
$ clickhouse-format --query "select number from numbers(10) where number%2 order by number desc;"SELECT number
FROM numbers(10)
WHERE number % 2
ORDER BY number DESC- Подсветка и вывод в одну строку:
$ clickhouse-format --oneline --hilite <<< "SELECT sum(number) FROM numbers(5);"SELECT sum(number) FROM numbers(5)- Мультизапросы:
$ clickhouse-format -n <<< "SELECT min(number) FROM numbers(5); SELECT max(number) FROM numbers(5);"SELECT min(number)
FROM numbers(5)
;
SELECT max(number)
FROM numbers(5)
;- Обфускация:
$ clickhouse-format --seed Hello --obfuscate <<< "SELECT cost_first_screen BETWEEN a AND b, CASE WHEN x >= 123 THEN y ELSE NULL END;"SELECT treasury_mammoth_hazelnut BETWEEN nutmeg AND span, CASE WHEN chive >= 116 THEN switching ELSE ANYTHING END;Тот же запрос, но с другой строкой seed:
$ clickhouse-format --seed World --obfuscate <<< "SELECT cost_first_screen BETWEEN a AND b, CASE WHEN x >= 123 THEN y ELSE NULL END;"SELECT horse_tape_summer BETWEEN folklore AND moccasins, CASE WHEN intestine >= 116 THEN nonconformist ELSE FORESTRY END;- Добавление обратной косой черты:
$ clickhouse-format --backslash <<< "SELECT * FROM (SELECT 1 AS x UNION ALL SELECT 1 UNION DISTINCT SELECT 3);"SELECT * \