dependabot[bot] opened a new pull request, #40944: URL: https://github.com/apache/superset/pull/40944
Updates the requirements on [clickhouse-connect](https://github.com/ClickHouse/clickhouse-connect) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ClickHouse/clickhouse-connect/releases">clickhouse-connect's releases</a>.</em></p> <blockquote> <h2>v1.1.1</h2> <h1>clickhouse-connect v1.1.1</h1> <p>This patch release fixes a handful of async-client connectivity bugs and a <code>SHOW ROW POLICIES</code> query routing issue. Recommended for all users on 1.1.0, especially those running the async client behind a proxy or against keep-alive-prone pools.</p> <h2>What's Changed</h2> <h3>Bug Fixes</h3> <ul> <li>Async client: <code>ping()</code> now routes through the configured proxy, matching <code>_raw_request</code>. Previously the proxy was omitted, so <code>ping()</code> falsely returned <code>False</code> on networks where the server was only reachable via the proxy. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/757">#757</a>.</li> <li>Fix <code>query("SHOW ROW POLICIES")</code> / <code>query("SHOW POLICIES")</code> by routing these non-tabular statements without appending <code>FORMAT Native</code>. Empty row-policy <code>SHOW</code> results now return <code>""</code> instead of <code>QuerySummary</code>. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/761">#761</a>.</li> <li>Async client: retry stale keep-alive resets surfaced by aiohttp as <code>ClientOSError</code> or <code>ClientConnectionResetError</code>, fixing large async inserts on killed pooled connections. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/763">#763</a>.</li> <li>Async client: do not retry aiohttp timeout, connector, or fingerprint errors — these can indicate the request was already delivered or a config issue, not a stale connection.</li> <li>Sync client: also retry stale keep-alive <code>BrokenPipeError</code> (in addition to <code>ConnectionResetError</code>), matching the async behavior.</li> </ul> <h2>Installation</h2> <p>pip install clickhouse-connect</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ClickHouse/clickhouse-connect/blob/main/CHANGELOG.md">clickhouse-connect's changelog</a>.</em></p> <blockquote> <h2>1.1.1, 2026-05-27</h2> <h3>Bug Fixes</h3> <ul> <li>Async client: <code>ping()</code> now routes through the configured proxy, matching <code>_raw_request</code>. Previously the proxy was omitted, so <code>ping()</code> falsely returned <code>False</code> on networks where the server was only reachable via the proxy. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/757">#757</a>.</li> <li>Fix <code>query("SHOW ROW POLICIES")</code>/<code>query("SHOW POLICIES")</code> by routing these non-tabular statements without appending <code>FORMAT Native</code>. Empty row-policy <code>SHOW</code> command results now return <code>""</code> instead of <code>QuerySummary</code>. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/761">#761</a>.</li> <li>Async client: retry stale keep-alive resets surfaced by aiohttp as <code>ClientOSError</code> or <code>ClientConnectionResetError</code>, fixing large async inserts on killed pooled connections. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/763">#763</a>.</li> <li>Async client: do not retry aiohttp timeout, connector, or fingerprint errors as these can indicate the request was already delivered or a config issue, not a stale connection.</li> <li>Sync client: also retry stale keep-alive <code>BrokenPipeError</code> (in addition to <code>ConnectionResetError</code>), matching the async behavior.</li> </ul> <h2>1.1.0, 2026-05-26</h2> <h3>Compatibility</h3> <ul> <li>Async client now requires <code>aiohttp>=3.9.0</code>. This is required to support TLS SNI override via <code>server_host_name</code>, because aiohttp added the per-request <code>server_hostname</code> option in 3.9.</li> <li>SQLAlchemy: the <code>alembic</code> extra now requires <code>alembic>=1.16</code> (previously <code>>=1.9</code>) so the documented <code>IF EXISTS</code> / <code>IF NOT EXISTS</code> Alembic operation kwargs are available.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>SQLAlchemy: <code>op.add_column(..., clickhouse_settings={...})</code> now works through the public Alembic operations API, and rendered <code>AddColumnOp</code> migrations preserve extra ClickHouse kwargs.</li> <li>SQLAlchemy: Alembic migrations now handle comments with ClickHouse-compatible syntax. Column comments on <code>CREATE TABLE</code> / <code>ADD COLUMN</code> no longer emit rejected <code>COMMENT ON COLUMN</code> statements; table comments are now emitted in generated DDL, reflected for no-op autogenerate, and changed or dropped with <code>ALTER TABLE ... MODIFY COMMENT</code>.</li> <li>Async client: <code>server_host_name</code> now also overrides the TLS SNI / certificate hostname, matching the sync client. Previously the async path only applied it to the HTTP <code>Host</code> header, so connecting to host A while presenting SNI B (the 0.x <code>pool_mgr=urllib3.PoolManager(server_hostname=...)</code> pattern, useful for ClickHouse Cloud VPC endpoints reached via external DNS) was not expressible against the new aiohttp-based client. Both <code>_raw_request</code> and <code>ping()</code> now pass <code>ssl=self._ssl_context, server_hostname=self.server_host_name</code> per request when an SSL context is in use. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/752">#752</a>.</li> <li>Drain the full <code>retries</code> budget on connection-error retries in <code>_raw_request</code> instead of only retrying once. Previously both the sync and async clients gated network-error retries on <code>attempts == 1</code>, so two consecutive <code>aiohttp.ServerDisconnectedError</code>s (or <code>ConnectionResetError</code>s on the sync path) surfaced as <code>OperationalError</code> even when <code>query_retries</code> would have allowed another attempt. Read paths now drain <code>query_retries</code>; insert/command paths still get one retry (<code>retries=0</code> callers). Sync <code>raw_query</code> and <code>raw_stream</code> (the foundation for <code>query_arrow</code> / <code>query_arrow_stream</code>) now also pass <code>query_retries</code> so they match their async counterparts. Adds a <code>0.1 * attempts</code> backoff between connection-error retries to match the 429/503/504 branch. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-conne ct/issues/754">#754</a>.</li> <li><code>quote_identifier</code> now re-escapes inputs that start and end with <code>`</code> or <code>"</code> but contain unescaped inner occurrences of the same quote character, instead of passing them through unchanged. Validly pre-quoted identifiers like backslash or doubled-quote escaping still pass through untouched. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/737">#737</a>.</li> <li>SQLAlchemy: quote string-valued engine and operation settings as ClickHouse string literals when rendering <code>SETTINGS</code> clauses. Previously settings like <code>MergeTree(settings={"storage_policy": "hot_cold"})</code> or <code>op.add_column(..., clickhouse_settings={"mutations_sync": "2"})</code> emitted unquoted SQL (<code>storage_policy = hot_cold</code>), which ClickHouse rejected. Numeric and boolean settings are unchanged.</li> <li>SQLAlchemy: preserve engine <code>settings</code> on reflection. <code>build_engine()</code> previously hardcoded <code>engine.settings = {}</code> even when the reflected DDL contained a <code>SETTINGS</code> clause, so callers reading <code>engine.settings</code> after reflection saw an empty dict. <code>settings</code> is now populated from the parsed engine kwargs, decoding ClickHouse string-literal escapes (<code>\\</code>, <code>\'</code>, <code>\n</code>, etc.) and preserving float-valued settings as floats — round-trip parity with the construction path.</li> <li>SQLAlchemy: <code>Inspector</code> error messages from <code>get_table_metadata()</code> now report the resolved database name i.e. from <code>currentDatabase()</code> when <code>schema</code> was not provided instead of literal <code>None</code>.</li> </ul> <h2>1.1.0a2, 2026-05-07</h2> <p>Follow-up alpha to 1.1.0a1 with a fix for an ORM compile-path regression in the new ClickHouse Select modifiers, rebased on <code>1.0.0rc3</code> so the insert-retry fix from rc3 is also included.</p> <h3>Bug Fixes</h3> <ul> <li>SQLAlchemy: <code>FINAL</code>, <code>SAMPLE</code>, <code>PREWHERE</code>, and <code>LIMIT BY</code> modifiers are now preserved when a <code>select()</code> is built from ORM-mapped attributes (e.g. <code>select(Event.id)</code>) rather than Core columns. Previously the ORM compile path rebuilt the inner Select via <code>Select._create_raw_select</code>, which dropped the modifier instance attributes, so the compiled SQL silently emitted no modifier. The compiler now falls back to <code>compile_state.select_statement</code> (the original user-built Select) to recover the modifiers. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/730">#730</a>.</li> </ul> <h2>1.0.1, 2026-05-19</h2> <h3>Bug Fixes</h3> <ul> <li>Recognize <code>Fixed/UTC±HH:MM:SS</code> timezones emitted by ClickHouse servers without an IANA tz database (in column types, <code>X-ClickHouse-Timezone</code>, and <code>SELECT timezone()</code>). Previously raised <code>ProgrammingError</code> on any column read, parameter bind, or client init touching one. The exact <code>±24:00:00</code> boundary remains rejected because Python's <code>datetime.timezone</code> cannot represent it. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/702">#702</a>.</li> <li>Async client: drain in-flight requests before closing the underlying aiohttp session. Sharing a single <code>AsyncClient</code> across concurrent coroutines previously raised <code>RuntimeError: Session is closed</code> (and related <code>Connection reset</code> / <code>QUERY_WITH_SAME_ID_IS_ALREADY_RUNNING</code> cascades) whenever <code>max_connection_age</code> triggered a pool rotation while other tasks had requests in flight. <code>close_connections()</code> now installs the new session before retiring the old one, and waits for outstanding requests (including streaming responses) to release their lease before tearing it down. <code>close()</code> clears <code>self._session</code> so post-close calls fail with <code>ProgrammingError</code> instead of leaking aiohttp's <code>RuntimeError</code>. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/744">#744</a></li> <li>Async client: <code>ca_cert="certifi"</code> shorthand now resolves to <code>certifi.where()</code>, matching the sync client. Previously the async path passed the literal string to <code>ssl_context.load_verify_locations</code>, producing <code>FileNotFoundError</code>. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/742">#742</a></li> <li>Fix SQLAlchemy dialect rendering for <code>ILIKE</code> and <code>NOT ILIKE</code> expressions to use native ClickHouse syntax instead of the generic SQLAlchemy <code>lower(...) LIKE lower(...)</code> fallback.</li> </ul> <h2>1.0.0, 2026-05-13</h2> <p>No code changes since <code>1.0.0rc3</code>. See the <code>1.0.0rc1</code>, <code>1.0.0rc2</code>, and <code>1.0.0rc3</code> entries below for the full set of changes included in the 1.0.0 release.</p> <p>Upgrading from a 0.15.x or earlier release? See <a href="https://github.com/ClickHouse/clickhouse-connect/blob/main/MIGRATION.md">https://github.com/ClickHouse/clickhouse-connect/blob/main/MIGRATION.md</a> for a guide to the breaking changes and their replacements.</p> <h2>1.0.0rc3, 2026-05-07</h2> <h3>Bug Fixes</h3> <ul> <li>Fix intermittent <code>Code: 62. Empty query. (SYNTAX_ERROR)</code> on inserts when a pooled keep-alive connection is reset between attempts. The retry path now rebuilds the insert body instead of replaying an already-drained generator. Affects both sync and async clients. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/731">#731</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/407691afa738c270748775d8da81f7d4aa58c22f"><code>407691a</code></a> 1.1.1 release prep (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/767">#767</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/4a26b08dae1c7da6fa05eae8b16c1706b458a186"><code>4a26b08</code></a> route ping through proxy (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/765">#765</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/30e3ea9bc0a93cd3d3c0b7857a72da80f6cff5f4"><code>30e3ea9</code></a> Joe/763 async client does not retry due to miscategorized exceptions (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/764">#764</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/bf1aa5b6887f36a894e10457c93326efaabe4c68"><code>bf1aa5b</code></a> fix show row policy handing (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/762">#762</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/579a48b87ac351824b3990fc8d301b854e1909a5"><code>579a48b</code></a> 1.1.0 release prep (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/760">#760</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/769eac0442615662a365cc010237af2d3a495f5d"><code>769eac0</code></a> simplify alembic wex, col settings & comments fixes (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/759">#759</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/90725762507002c8906641f20f7a3d05e139fb48"><code>9072576</code></a> Integrate Alembic support & SQLAlchemy improvements into main (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/758">#758</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/4bfe64e383851dad2d9943706ce1fb993e05d92e"><code>4bfe64e</code></a> propagate server_host_name to TLS SNI (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/756">#756</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/31910e0a6893b52756eb6b1b21fba4b87b82d539"><code>31910e0</code></a> async client: retry ServerDisconnectedErrors up to retries (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/755">#755</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/2ad7ef33bcb50387a91a134486bbc8760355ce52"><code>2ad7ef3</code></a> fix unescaped inner quotes in pre-quoted identifiers (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/750">#750</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ClickHouse/clickhouse-connect/compare/v0.13.0...v1.1.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
