clickhouse-connect v1.7.2
This patch release fixes SQLAlchemy reflection and SQL generation, query formatting, server-side parameter names, and HTTP proxy path handling.
What's Changed
Bug Fixes
- SQLAlchemy inspectors bound to an
Enginenow supportget_columns()andreflect_table()on SQLAlchemy 2.x. Reflection also honorsinclude_columnsandexclude_columns. Closes #967. - Queries ending with a semicolon, whitespace, or trailing comment now place client-appended
FORMATclauses correctly. Insert detection also follows SQL token rules. Closes #903. - The async client now preserves explicit
proxy_pathvalues without adding extra slashes. Closes #963. - The synchronous client now sends a normalized
/request path through forwarding HTTP proxies when noproxy_pathis configured. Closes #951. - Server-side query placeholders now recognize
$in valid parameter names while preserving raw binary binding and ambiguity checks. Closes #936. - SQLAlchemy ClickHouse types now implement the public literal processor contract for
TypeDecoratorandwith_variant(). Closes #965. - SQLAlchemy literals containing percent signs now compile safely alongside bound parameters and in server-side parameter mode. Closes #966.
- SQLAlchemy now applies ClickHouse backslash escaping to generic literal strings, defaults, aliases, TTL clauses, comments, and Alembic comment operations. Custom pre-escaping workarounds should be removed. Closes #975.
- SQLAlchemy
union(),intersect(), andexcept_()now emit explicitDISTINCToperations. Use the corresponding_all()methods when duplicate-preserving behavior is required. Closes #973. - SQLAlchemy
Select.with_hint()now emitsSAWarningwhen an applicable table hint would otherwise be ignored. Generated SQL remains unchanged. Closes #974.
Full Changelog: v1.7.1...v1.7.2
Installation
pip install clickhouse-connect