- Wrap long lines in `getHelpHeader` and `getHelpFooter` for `clickhouse client`
and `clickhouse local` to keep lines within reasonable width,
fixing the 00910_client_window_size_detection test
- Use `createOptionsDescription` instead of raw `po::options_description` constructor
in `git-import` and `static-files-disk-uploader` to handle zero terminal width
properly, fixing the `git-import --help` abort in debug builds
(03823_clickhouse_help_return_codes test)
Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit improves the help output for all ClickHouse applications:
- Add `clickhouse help` command that lists all available subcommands
- Return exit code 0 for all help messages (previously some returned 1)
- Output help messages to stdout instead of stderr
- Use "clickhouse <cmd>" format instead of argv[0] in help messages
- Add dynamic `app_name` detection for `clickhouse client` and `clickhouse local`
to show correct invocation name based on how the binary was called
- Add `--no-sudo` option for `clickhouse start` and `clickhouse restart`
for environments without sudo (e.g., Docker containers)
- Add detailed help headers and footers for client and local with usage examples
Closes#58244
Co-Authored-By: Claude Opus 4.5 <[email protected]>
When connecting to Clickhouse Cloud (or any similar proxied
setup) over a tunnel it is required to correctly specify SNI
on the TLS connection. This allows overriding SNI if the DNS
is something else.
Signed-off-by: Matt Klein <[email protected]>
Simply checking for `~/` should be enough, since we do not support
anything except expanding current's user `$HOME` (i.e. we do not support
`~another_user` syntax).
Support --connection in clickhouse-benchmarks. It is the same as
supported by clickhouse-client, you can specify predefined connections
in client config.xml/config.yaml under connections_credentials path, to
avoid explicitly specifying user/password via command line arguments.