Allow direct local client connections to select a binary version - #552
Allow direct local client connections to select a binary version#552sdairs wants to merge 1 commit into
Conversation
|
Carry-over review from PR #500 (old PR for #469). Functionally this PR is stronger than #500 (parse-time typed validation with genuinely good postgres/latest rejection messages, deliberate+documented zero/one/multiple fallback policy, broader subprocess matrix, default-file non-mutation asserted). Two required items:
Cosmetic: partial-version "newest installed match" is a mild expansion beyond the issue's "explicit exact version" framing — it is documented and user-directed, so acceptable, but confirm intentional. |
569ad10 to
a301f21
Compare
4396b01 to
8506510
Compare
8506510 to
49ffd6c
Compare
0b56079 to
c335826
Compare
c335826 to
63d1194
Compare
63d1194 to
537c6f3
Compare
1695102 to
f2f1c5a
Compare
f2f1c5a to
fbfbf93
Compare
fbfbf93 to
3f87608
Compare
3f87608 to
100f161
Compare
100f161 to
407781c
Compare
209656c to
ed7ca6b
Compare
ed7ca6b to
88a5e8f
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 88a5e8f. Configure here.
| "Postgres image selectors are only supported by `local install`; `local client --version` requires an installed ClickHouse version" | ||
| .to_string(), | ||
| ); | ||
| } |
There was a problem hiding this comment.
Client version parser skips trimming
Low Severity
ClientVersionArg checks the postgres@ / postgres: prefix on the raw input instead of trimming first, so a whitespace-padded selector misses the dedicated rejection path and falls through to the generic numeric parse error. UseVersionArg and ServerVersionArg trim before that check.
Reviewed by Cursor Bugbot for commit 88a5e8f. Configure here.


Summary
local client --versionselection for installed ClickHouse binaries without modifying the global defaultTests
cargo test -p clickhousectlcargo clippy -p clickhousectl --all-targets -- -D warningscargo fmt --all --checkCloses #469