dependabot[bot] opened a new pull request, #42062: URL: https://github.com/apache/superset/pull/42062
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.4.2</h2> <h2>clickhouse-connect 1.4.2</h2> <p>Patch release with a single bug fix on top of 1.4.1. No new features and no breaking changes.</p> <p><strong>Bug Fixes</strong></p> <ul> <li>Async inserts and queries with an in-memory body larger than 1 MiB no longer emit an aiohttp ResourceWarning about sending a large body directly with raw bytes. Bytes and string request bodies are now wrapped in an io.BytesIO so aiohttp writes them in chunks. This affects the async Arrow insert methods and any large raw insert or query body. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/850">#850</a>.</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ClickHouse/clickhouse-connect/compare/v1.4.1...v1.4.2">https://github.com/ClickHouse/clickhouse-connect/compare/v1.4.1...v1.4.2</a></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.4.2, 2026-07-06</h2> <h3>Bug Fixes</h3> <ul> <li>Async inserts and queries with an in-memory body larger than 1 MiB no longer emit an aiohttp <code>ResourceWarning</code> about sending a large body directly with raw bytes. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/850">#850</a>.</li> </ul> <h2>1.4.1, 2026-06-30</h2> <h3>Bug Fixes</h3> <ul> <li>SQLAlchemy: importing the ClickHouse Alembic integration no longer changes Alembic autogenerate output for other database dialects. The ClickHouse renderers for <code>CreateTableOp</code>, <code>AddColumnOp</code>, and <code>DropTableOp</code> were registered as process-wide replacements with no dialect guard, because Alembic renderers have no per-dialect dispatch. Any non-ClickHouse autogenerate run in the same process then used the ClickHouse renderers, which dropped the <code>nullable</code> argument from columns whose nullability was not set explicitly and injected <code>cc_sqlalchemy</code> imports. The renderers now fall back to Alembic's built-in rendering for non-ClickHouse dialects. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/832">#832</a>.</li> <li>Several public <code>AsyncClient</code> methods now carry the return-type annotations their sync <code>Client</code> counterparts already had. <code>close</code>, <code>close_connections</code>, <code>query_np</code>, <code>query_df</code>, <code>query_arrow</code>, <code>set_client_setting</code>, and <code>set_access_token</code> were missing them, so downstream projects running mypy with <code>--disallow-untyped-calls</code> got <code>no-untyped-call</code> errors on calls like <code>await client.close()</code> once the package began shipping <code>py.typed</code> in 1.4.0. The async client surface is now fully annotated. This is a type-only change with no runtime effect. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/831">#831</a>.</li> </ul> <h2>1.4.0, 2026-06-29</h2> <h3>Bug Fixes</h3> <ul> <li><code>QueryResult.first_item</code> and <code>QueryResult.first_row</code> now return <code>None</code> for an empty result set instead of raising <code>IndexError</code>. Both properties indexed element <code>[0]</code> without checking the row count, so they crashed when a query returned no rows. They now short-circuit on an empty result in both row-oriented and column-oriented mode. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/824">#824</a>.</li> <li><code>Cursor.executemany</code> now correctly resets <code>rowcount</code> and reports the number of inserted rows after a bulk insert. Previously, <code>rowcount</code> retained the value from the previous operation. The insert summary is also appended to <code>cursor.summary</code>, consistent with the non-bulk path. In addition, passing a generator as <code>seq_of_parameters</code> no longer raises <code>TypeError</code>; the bulk-insert optimisation is now skipped for non-indexable iterables and the operation falls through to the row-by-row path as PEP 249 requires.</li> <li>Fixed a connection failure partway through reading a query result being silently treated as a complete result. The reader detected the broken stream but discarded the error once any rows had already been read, so a truncated result was returned as if it were whole. A mid-stream read failure now raises <code>StreamFailureError</code>, carrying the server-side error message when ClickHouse reported one. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/802">#802</a>.</li> <li><code>Client.insert_arrow</code> and <code>AsyncClient.insert_arrow</code> no longer drop the <code>transport_settings</code> argument. It was passed positionally into the <code>compression</code> parameter, so transport settings were ignored and a non-empty value corrupted the request. It is now forwarded correctly.</li> <li><code>command</code> now raises <code>ProgrammingError</code> when binary parameter binds are combined with command data or external data, instead of placing binary content into the URL query string. This applies to both the sync and async clients.</li> <li>Importing clickhouse-connect no longer emits a <code>DeprecationWarning</code> for the <code>array</code> <code>'u'</code> type code. The compiled buffer module built an unused <code>array.array('u', [])</code> template at import time. The <code>'u'</code> (wchar_t) code was deprecated and is scheduled for removal in 3.16, where this would have become an <code>ImportError</code>. The template is removed, which also lets projects that run with <code>-W error</code> import the package. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/815">#815</a>.</li> <li>The SQLAlchemy <code>Nullable</code> and <code>LowCardinality</code> DDL helpers are now functions that return a concrete <code>ChSqlaType</code>. They were classes whose <code>__new__</code> returned a different type, which type checkers cannot model, so <code>Array(LowCardinality(String))</code> raised a spurious mypy error despite working at runtime. Runtime behavior is unchanged. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/819">#819</a>.</li> </ul> <h3>Improvements</h3> <ul> <li>The Cython extension modules now declare free-threading compatibility, so importing clickhouse-connect on a free-threaded Python build such as 3.14t no longer silently re-enables the GIL. As part of this change, <code>ResponseBuffer.read_uint64</code> no longer uses a module level scratch buffer for its big-endian byte swap, which was the one piece of shared mutable state in the C modules. Building from source now requires Cython 3.1 or later. The CI test matrix now runs the full suite on free-threaded Python 3.14t as a non-blocking job. Free-threading support remains experimental.</li> <li><code>QueryResult.query_id</code> now returns an empty string instead of <code>None</code> when the server reported no query id. This matches <code>QuerySummary</code> and makes the property consistently typed as <code>str</code>.</li> <li>clickhouse-connect now ships PEP 561 type information. The <code>py.typed</code> marker is included so downstream type checkers can use the package annotations. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/692">#692</a>.</li> <li><code>create_client</code>, <code>create_async_client</code>, <code>connect()</code>, and the DB-API <code>Connection</code> constructor now accept <code>None</code> for <code>port</code> and <code>database</code> to request the driver's defaults, in addition to omitting them. Previously the public type hints exposed the internal sentinel values <code>0</code> for port and <code>"__default__"</code> for database, so callers had no clean way to say "not specified". <code>None</code> is now the documented, typed way to do that at every level. The old sentinel values are still accepted, so the change is backward compatible. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/801">#801</a>.</li> </ul> <h3>Compatibility</h3> <ul> <li><code>Client.insert</code>, <code>AsyncClient.insert</code>, and <code>raw_insert</code> now require <code>column_names</code> to be a <code>Sequence</code> rather than a bare <code>Iterable</code>. A one-shot iterator such as a generator already failed at runtime because the column names are measured and iterated more than once, so the type hint now matches the real requirement.</li> </ul> <h2>1.3.0, 2026-06-11</h2> <h3>Improvements</h3> <ul> <li>Build and publish Windows ARM64 <code>win_arm64</code> wheels for CPython 3.10 through 3.14, including the free-threaded 3.14 build. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/785">#785</a>.</li> <li>Server errors now expose structured fields on the raised exception. <code>DatabaseError</code> and <code>OperationalError</code> carry a numeric <code>code</code> attribute with the ClickHouse error code and a <code>name</code> attribute with the symbolic name such as <code>UNKNOWN_TABLE</code>, so callers can branch on <code>exc.code</code> instead of parsing the message string. <code>code</code> is set even when <code>show_clickhouse_errors</code> is disabled. <code>name</code> is only set when error detail is enabled. Both default to <code>None</code> when unavailable, such as on transport errors. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/786">#786</a>.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>DB API <code>Cursor.executemany</code> no longer raises <code>AttributeError: 'tuple' object has no attribute 'keys'</code> when rows are passed as sequences instead of mappings. The bulk insert optimization assumed every row was a dict, but PEP 249 allows <code>seq_of_parameters</code> to contain sequences, and <code>cursor.execute</code> already accepted positional parameters. Sequence rows now use the same bulk insert path, taking column names from the INSERT statement when present. This fixes consumers like Airflow's <code>DbApiHook.insert_rows(executemany=True)</code>, which passes tuples.</li> <li>Large query parameter payloads are now automatically sent as form data in the request body instead of the URL query string. Server-side bind parameters were urlencoded into the request URL, so a large <code>IN</code> list or a high-dimensional vector embedding could produce a URL that HTTP intermediaries such as nginx, AWS ALB, and CloudFront reject with HTTP 414. The client now routes parameters to the POST body once their encoded length passes a threshold, which keeps the URL small. Setting <code>form_encode_query_params=True</code> still forces form encoding for all queries. Queries using binary parameter binds are never promoted automatically and only use form encoding when the flag is set. This does not change the server's per-value size limit, which is governed by <code>http_max_field_value_size</code>. Applies to both sync and async clients. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/740">#740</a>.</li> <li><code>uuid.UUID</code>, <code>IPv4Address</code>, and <code>IPv6Address</code> values nested inside <code>Array</code>, <code>Tuple</code>, or <code>Map</code> server-side bind parameters are now quoted, matching client-side parameter formatting. Previously they rendered unquoted, so an <code>IN</code> list of UUIDs bound to <code>{name:Array(String)}</code> (as produced by SQLAlchemy <code>Column.in_</code> with <code>server_side_params=True</code>) was rejected by the server with <code>Code: 26 ... cannot be parsed as Array(String)</code>. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/791">#791</a>.</li> <li>A datetime parameter whose name genuinely ends in <code>_64</code> is no longer renamed when the query binds that exact name. <code>bind_query</code> treated any trailing <code>_64</code> as a DateTime64 precision hint and stripped it before looking at the query, so a placeholder like <code>{param_64:DateTime64(6)}</code> was left unbound and the server rejected the query. SQLAlchemy hits this with <code>server_side_params=True</code> once a statement reaches 64 anonymous parameters. The suffix is now only treated as a hint when the full name does not appear as a placeholder in the query, which leaves the documented <code>_64</code> convention working as before. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/790">#790</a>.</li> </ul> <h2>1.2.0, 2026-06-08</h2> <h3>Improvements</h3> <ul> <li>SQLAlchemy: opt-in server-side bind parameters via <code>create_engine(url, server_side_params=True)</code>. The dialect then emits ClickHouse native <code>{name:Type}</code> / <code>{name:Array(Type)}</code> placeholders instead of client-side string interpolation. Off by default. Closes <a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/735">#735</a>.</li> <li>Added a <code>token_provider</code> client option (sync and async). It accepts a callable returning an access token string; the callable is invoked once for the initial token and again to fetch a fresh token whenever the server rejects the current one (authentication failure), retrying the request once. Mutually exclusive with <code>access_token</code> and <code>username</code>/<code>password</code>.</li> <li>Added a <code>headers</code> option to <code>create_client</code>/<code>create_async_client</code> for attaching custom HTTP headers to every request, including the initialization queries sent during client creation. Useful for HTTP gateways that require auth headers such as Cloudflare Access service tokens.</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/a7c03f51063d0c109f8b939b329e3d745483dfc9"><code>a7c03f5</code></a> 1.4.2 release prep</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/3c478517cf1ce4e559cff09f2bfa62390e008e03"><code>3c47851</code></a> fix aiohttp resource waning</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/c2db020f56998ad5493a3a35753027f55481c53c"><code>c2db020</code></a> 1.4.1 release prep (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/836">#836</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/50aa324e16f99b8a150cd22b720415d3a0d9e865"><code>50aa324</code></a> fix cc_sqlalchemy Alembic renderers corrupting non-ClickHouse autogen… (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/835">#835</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/27b59c459be1cff260dfeb9f34d1f8afc51e4224"><code>27b59c4</code></a> add return-type annotations to AsyncClient public methods (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/834">#834</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/584ae6a4301890aa9cc9ce4bce415dced948449d"><code>584ae6a</code></a> v1.4.0 release prep (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/829">#829</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/affc55f0b6e220acf699162e8d43cd70bf3b5ab8"><code>affc55f</code></a> Return None from first_item/first_row on empty result (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/826">#826</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/3abcd6addd9c0530ee7b2a6b216a8d07ded2f318"><code>3abcd6a</code></a> make Nullable and LowCardinality functions returning ChSqlaType (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/823">#823</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/53c40316d8cde2402c9bf9b9d3a8dc00e06694ed"><code>53c4031</code></a> remove u template (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/822">#822</a>)</li> <li><a href="https://github.com/ClickHouse/clickhouse-connect/commit/fae64ca3b326d47f311fd3dacbe7a38398044459"><code>fae64ca</code></a> refactor(driver): accept None for port and database as 'not specified' (<a href="https://redirect.github.com/ClickHouse/clickhouse-connect/issues/813">#813</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ClickHouse/clickhouse-connect/compare/v1.1.1...v1.4.2">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]
