> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 2026年の変更履歴

# 2026年の変更履歴

<div id="267">
  ### ClickHouse リリース 26.7、2026-07-22。 [プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.7/)、[ビデオ](https://www.youtube.com/watch?v=mKBNLaFOVDA)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* ユーザー SQL に起因する S3 アクセスでは、デフォルトでサーバー自身のクラウド認証情報 (environment、IMDS/IRSA、instance profile、AWS config files、`role_arn` ベースの STS、GCP OAuth metadata) は解決されなくなりました。このようなリクエストでは、明示的な認証情報または `NOSIGN` を使用する必要があります。named collections では、`use_environment_credentials` のデフォルトが `0` になりました。以前の動作に戻すには、新しい設定 `s3_allow_server_credentials_in_user_queries` (デフォルトでは無効) とあわせて、リクエストごとに `use_environment_credentials = 1` を指定するか、または `<s3>` config でグローバルに設定します。明示的に指定した認証情報と、オペレーターによってプロビジョニングされた config 認証情報は影響を受けません。サーバー起動時または `RESTORE` 時には、その定義でこの種の認証情報を解決する永続的な `S3`/`S3Queue` テーブル、動的 S3 ディスク、または `DataLakeCatalog` は、起動を中止する代わりに匿名で読み込まれます (認証情報を再設定するまでアクセス不可) 。この動作は、新しいサーバー設定 `s3_load_table_anonymously_if_credentials_restricted` (デフォルトで有効) で制御されます。 [#106855](https://github.com/ClickHouse/ClickHouse/pull/106855) ([Raúl Marín](https://github.com/Algunenano)).
* `**/` glob は、同じディレクトリ (任意の数のディレクトリ) にも一致するようになりました。以前は、glob パターン内の `**/` は特別扱いされていなかったため、`data/**/file.txt` は `data/file.txt` (ディレクトリ階層 0) に一致しませんでした。 [#97676](https://github.com/ClickHouse/ClickHouse/pull/97676) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* オブジェクトストレージに保存されるバックアップでは、`BACKUP` と `RESTORE` の両方について `zip`/`zipx` バックアップアーカイブフォーマットを拒否するようになりました。対象は、直接の `S3(...)`/`AzureBlobStorage(...)` 宛先と、S3 または Azure をバックエンドとする `Disk(...)` 宛先です。Zip は中央ディレクトリの読み取りにシークを必要としますが、オブジェクトストレージ越しでは非常に低速です。代わりに `tar.gz` などの tar ベースのフォーマットを使用してください。 [#101770](https://github.com/ClickHouse/ClickHouse/pull/101770) ([Yash ](https://github.com/Onyx2406)).
* `DateTime64` のサポート範囲を `[1900-01-01, 2299-12-31]` から `[0000-01-01, 9999-12-31]` に拡張しました。従来の範囲外の値も、境界値にクランプされるのではなく、正しく計算されるようになりました (cctz 経由) 。精度 8 または 9 では、tick が `Int64` として保存されるため、範囲は引き続き狭いままです (ナノ秒精度での最大値は引き続き `2262-04-11` です) 。後方互換性については、以前に範囲外の date-time を使用していて、旧範囲内での非常に特殊な飽和ルールに依存していた場合、結果がより正確なものに変わる点に注意してください。 [#107907](https://github.com/ClickHouse/ClickHouse/pull/107907) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `AggregatingMergeTree` は、カラムが sorting key の一部でも aggregate-state measure (`AggregateFunction`/`SimpleAggregateFunction`) でもないスキーマを、テーブル作成時に拒否するようになりました。このようなカラムは background merges の際に暗黙的に任意の値へまとめられるため、それらに対して `GROUP BY` やフィルタを行うクエリで誤った結果を招きます。以前の動作に戻すには、`allow_dimensions_outside_sorting_key = 1` を設定してください。 Closes [#751](https://github.com/ClickHouse/ClickHouse/issues/751). [#108087](https://github.com/ClickHouse/ClickHouse/pull/108087) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* config ベースの Workload scheduling 設定 (server config の `resources` および `workload_classifiers` セクション) を削除しました。代わりに `CREATE RESOURCE` および `CREATE WORKLOAD` クエリを使用してください。廃止された config セクションは、警告を出したうえで無視されます。 [#108286](https://github.com/ClickHouse/ClickHouse/pull/108286) ([Sergei Trifonov](https://github.com/serxa)).
* ClickHouse は、同期挿入と非同期挿入の両方で、今後は常に統一された挿入の重複排除ハッシュを使用します。挿入ごとの従来の重複排除動作は削除されました。サーバー設定 `insert_deduplication_version` は移行ガードとして残されています。この設定が従来の値 (`old_separate_hashes` または `compatible_double_hashes`) になっている場合、サーバーは起動を拒否します。従来の値を使っていたバージョンからアップグレードする場合は、まず `compatible_double_hashes` をサポートするリリースを実行してください (このリリースでは従来のハッシュと統一ハッシュの両方が書き込まれます) 。レプリケートテーブルでは、少なくとも `replicated_deduplication_window_seconds` の間実行してください (デフォルトでは 1 時間です。デフォルトのウィンドウでは、その期間内のすべての挿入について統一ハッシュが保持されるため、挿入の再試行ループには十分とみなされます) 。`non_replicated_deduplication_window` > 0 の非レプリケートテーブルでは、このウィンドウは時間ベースではなく件数ベースなので、少なくともその件数分の挿入について `compatible_double_hashes` を実行してください。その後、このバージョンへアップグレードする前に、この設定を削除するか、`new_unified_hash` に設定してください。[#108361](https://github.com/ClickHouse/ClickHouse/pull/108361) ([Sema Checherinda](https://github.com/CheSema))。`insert_deduplication_version` を一度も設定したことがない場合は、この項目は無視してかまいません。
* 長らく非推奨だった関数 `snowflakeToDateTime`、`snowflakeToDateTime64`、`dateTimeToSnowflake`、`dateTime64ToSnowflake` を削除しました。これらは v24.6 の時点で非推奨となっており、代わりに `snowflakeIDToDateTime`、`snowflakeIDToDateTime64`、`dateTimeToSnowflakeID`、`dateTime64ToSnowflakeID` を使用する必要があります。設定 `allow_deprecated_snowflake_conversion_functions` (以前はこれらの関数を再度有効にしていました) は、現在では廃止されており、効果はありません。[#108711](https://github.com/ClickHouse/ClickHouse/pull/108711) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 設定 `use_legacy_to_time` のデフォルト値は `0` になりました。そのため、`toTime` は日時を固定日付に変換するのではなく、値を `Time` データ型に変換します。従来の動作は、`toTimeWithFixedDate` 関数を使うか、`use_legacy_to_time = 1` を設定することで引き続き利用できます。[#108729](https://github.com/ClickHouse/ClickHouse/pull/108729) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* Naive Bayes モデル (`naiveBayesClassifier` で使用) は、従来のサーバー側設定 (シリアライズ済み `.bin` モデルファイルを参照する XML 設定ファイル) ではなく、クラスごとに事前集計された n-gram 出現回数のテーブルから読み込み時に構築される `NAIVE_BAYES` レイアウトの Dictionary として設定する方式になりました。従来方式はサポートされなくなったため、既存のモデルは Dictionary として作り直す必要があります。`naiveBayesClassifier` とあわせて 3 つの新しい関数も追加されました。`naiveBayesClassifierWithProb` は予測クラスとその確率を返し、`naiveBayesClassifierWithAllProbs` はすべてのクラスとそれぞれの確率を返します。`naiveBayesNgrams` は Dictionary と同じ方法でテキストを n-gram にトークン化し、生のラベル付きテキストから学習データを構築できるようにします。さらに、いくつかの性能最適化も適用されています。9.7 MiB のコードポイント三連字言語モデルでは、使用メモリ量は約 49 分の 1 になり (1.84 GiB から 38 MiB) 、読み込みは約 11 倍高速化し、分類も約 11 倍高速化しています。[#108773](https://github.com/ClickHouse/ClickHouse/pull/108773) ([Nihal Z. Miaji](https://github.com/nihalzp))。
* `hasColumnInTable` 関数は、任意のリモートサーバー上のカラムを確認するためのオプション引数 `hostname`、`username`、`password` を受け付けなくなりました。現在は `hasColumnInTable(database, table, column)` 形式だけが残っています。削除されたリモートモードにはセキュリティ上の懸念がありました。任意のユーザーが任意のホストへの外向き接続を発生させることができ、認証情報がクエリログに漏えいするうえ、これを制限する privilege もありませんでした。[#110881](https://github.com/ClickHouse/ClickHouse/pull/110881) ([Alexey Milovidov](https://github.com/alexey-milovidov))。

<div id="267-new-feature">
  #### 新機能
</div>

* クエリパフォーマンスを調査するための `EXPLAIN ANALYZE` を追加しました。クエリを実行し、実際の実行メトリクスを使い慣れたクエリプラン形式で表示します。[#106586](https://github.com/ClickHouse/ClickHouse/pull/106586) ([Kirill Kopnev](https://github.com/Fgrtue)). [#110668](https://github.com/ClickHouse/ClickHouse/pull/110668) ([Kirill Kopnev](https://github.com/Fgrtue)).
* projection 定義での `WHERE` 句のサポートを追加しました。`WHERE` を持つ projection は、predicate に一致する行だけをマテリアライズします。また、クエリの `WHERE` が projection の `WHERE` を含意する場合、オプティマイザはそれらを (コストベースで) 利用できます。[#102347](https://github.com/ClickHouse/ClickHouse/pull/102347) ([S Bala Vignesh](https://github.com/SBALAVIGNESH123)).
* `skip_unavailable_shards` が有効な場合に、リモート分片からのどの例外を黙って無視するかを制御する `skip_unavailable_shards_mode` 設定 (`Distributed` エンジン設定としても利用可能) を追加しました。[#79091](https://github.com/ClickHouse/ClickHouse/pull/79091) ([cjw](https://github.com/byte-sourcerer)).
* 指定した出力フォーマットを使って各グループ内の行を整形し、その結果を文字列として返す集約関数 `groupFormat` を追加しました。[#93201](https://github.com/ClickHouse/ClickHouse/pull/93201) ([Yang Hu](https://github.com/wandersofb)).
* `kafka_sasl_mechanism` のサポート対象の値として `AWS_MSK_IAM` を追加し、ClickHouse が SASL/SCRAM 認証情報を管理することなく、IAM ロールを使用して Amazon MSK に認証できるようになりました。[#96100](https://github.com/ClickHouse/ClickHouse/pull/96100) ([kalavt](https://github.com/kalavt)).
* aggregate function combinator `-Tuple` を追加しました。これは基になる集約関数を `Tuple` カラムの各要素に独立して適用し、要素名を保持したまま結果の `Tuple` を返します。`t = (a, b)` に対する `sumTuple(t)` は `(sum(a), sum(b))` を返します。複数の引数を取る集約関数では、引数ごとに 1 つの tuple を受け取り、位置ごとに対応付けます。`corrTuple((a1, a2), (b1, b2))` は `(corr(a1, b1), corr(a2, b2))` を返します。配列に対する `-ForEach` とは異なり、要素ごとに異なる型を持つことができ、各要素の結果の型と名前も保持されます。[#98190](https://github.com/ClickHouse/ClickHouse/pull/98190) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* テキスト索引が `postprocessor` 引数をサポートするようになりました。これは、トークン化後に各トークンを変換する任意の式です (たとえば `lower`) 。[#98939](https://github.com/ClickHouse/ClickHouse/pull/98939) ([Jimmy Aguilar Mena](https://github.com/Ergus)). [#108606](https://github.com/ClickHouse/ClickHouse/pull/108606) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* `stem` 関数に指定できるすべての言語を一覧表示する `system.stemmers` システムテーブルを追加しました。[#100611](https://github.com/ClickHouse/ClickHouse/pull/100611) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 負の `LIMIT` に対する `WITH TIES` のサポートを追加しました。[#100930](https://github.com/ClickHouse/ClickHouse/pull/100930) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `toTimeZone` の糖衣構文として、Standard SQL の後置演算子 `AT TIME ZONE` および `AT LOCAL` のサポートを追加しました。式 `expr AT TIME ZONE zone` は `toTimeZone(expr, zone)` と等価になり、`expr AT LOCAL` は `toTimeZone(expr, timeZone())` と等価です。[#106092](https://github.com/ClickHouse/ClickHouse/pull/106092) ([lizepeng](https://github.com/lvzhipin03)).
* `URL` テーブルエンジンと `url` テーブル関数は、URL スキームに応じて適切なバックエンドへ振り分けられるようになりました。`file://` は `File` エンジン、`s3://`/`gs://`/`gcs://`/`oss://` は `S3`、`az://`/`azure://`/`abfss://`/`abfs://` は `AzureBlobStorage`、`hdfs://` は `HDFS`、`http(s)://` は従来どおり `URL` エンジンが処理します。`url_base` 設定は、スキームの振り分け前に適用されます。振り分け対象となるのは、デフォルトの `url_scheme_mappers` で解決される S3 スキームのみです。その他の S3-compatible ベンダースキーム (`cos`、`obs`、...) は対象外のため、`s3` エンジン/関数を直接使用する必要があります。[#106093](https://github.com/ClickHouse/ClickHouse/pull/106093) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Remote` および `RemoteSecure` テーブルエンジンを追加しました。これらは `remote` および `remoteSecure` テーブル関数の永続的な対応物です。`CREATE TABLE ... ENGINE = Remote('addresses', db, table, ...)` が、`CREATE TABLE ... AS remote(...)` に加えて使えるようになりました。[#106189](https://github.com/ClickHouse/ClickHouse/pull/106189) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Kafka`、`RabbitMQ`、`NATS`、`S3Queue`/`AzureQueue` テーブル、およびリフレッシュ可能なマテリアライズドビューのバックグラウンド処理を、単一の統一インターフェイスで制御するため、エンジン非依存の `SYSTEM STOP`、`SYSTEM START`、`SYSTEM PAUSE`、`SYSTEM CANCEL`、`SYSTEM REFRESH` コマンドと、そのサーバー全体版である `... ALL BACKGROUND` 形式を追加しました。リフレッシュ可能なマテリアライズドビューでは、これらは既存の `SYSTEM ... VIEW` コマンドのエイリアスになります。NATS でこれらの制御をサポートする一環として、JetStream テーブルは insert の成功後にのみメッセージを確認応答するようになりました (at-least-once。従来は配信時に自動で確認応答されていたため、insert が失敗するとメッセージが失われる可能性がありました) 。新しい `nats_wait_for_flush_interval` 設定 (デフォルトは `false` で、従来の低レイテンシ動作を維持) では、キューが空になり次第すぐに flush するのではなく、消費サイクルを flush interval 全体にわたって開いたままにできます。新しい `nats_commit_on_select` 設定により、JetStream テーブルに対する直接の `SELECT` で、読み取ったメッセージを消費 (確認応答) するようになります。[#107476](https://github.com/ClickHouse/ClickHouse/pull/107476) ([Samuel Krempaský](https://github.com/NIKTONIKTO717)).
* `mysql`、`postgresql`、`sqlite` のテーブル関数およびテーブルエンジンが、テーブル名の代わりにユーザーのクエリを受け取り、それを external database にそのまま渡せるようになりました。クエリは、サブクエリ `(SELECT ...)` または `query('SELECT ...')` として記述できます。生成されるテーブルの構造は query result から推論され、このようなテーブルは read-only です。[#46758](https://github.com/ClickHouse/ClickHouse/issues/46758) をクローズしました。初期実装は [Denis Vidiaev](https://github.com/the-devid) に基づいています ([#79652](https://github.com/ClickHouse/ClickHouse/pull/79652)) 。[#107740](https://github.com/ClickHouse/ClickHouse/pull/107740) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ClickHouse Web UI (Play) に、複数のクエリを同時に扱うためのタブを追加しました。タブ、そのタイトル、パラメータ、アクティブ状態、小さな結果スナップショットはリロード後も保持されます (大きな結果や画像の結果は復元されません) 。また、ブラウザ履歴や `URL` と連携し、マウスホイールで切り替えられます。[#107826](https://github.com/ClickHouse/ClickHouse/pull/107826) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `QueryRunner` テーブルエンジンを導入しました。`QueryRunner` テーブルに挿入されたレコードは、そのエンジンが実行するクエリを表します。このエンジンは、非同期クエリ実行、生成されたクエリのバッチ実行、リモートクラスターへのクエリの振り分け、ベンチマーク、ファジング、シャドウトラフィックを使ったテストに利用できます。[#107888](https://github.com/ClickHouse/ClickHouse/pull/107888) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* [GeoJSON](https://geojson.org/) の `FeatureCollection` ドキュメントを書き込むための `GeoJSON` 出力フォーマットを追加し、1行につき1つの feature を生成できるようにしました。単一の Geo 型カラム (`Point`、`LineString`、`MultiLineString`、`Polygon`、`MultiPolygon`、`Ring`、または `Geometry`) は各 feature の `geometry` になり、`id` という名前のカラムは feature の `id` になり、残りのカラムは feature の `properties` になります。このとき、`properties` という名前の単一の object 型カラム (`JSON`、`Map`、または名前付き `Tuple`) がある場合は、そのまま `properties` object として書き込まれます。`Ring` は単一リングの `Polygon` として書き込まれます。新しい `format_geojson_validate_geometry` setting (デフォルトで有効) は、4点未満の `Polygon` や閉じていない `Polygon` ring など、有効な GeoJSON shape ではない geometry を読み書き時に拒否するかどうかを制御します。さらに、`GeoJSON` input format は `id` カラムを `String` ではなく `Nullable(String)` として推論するようになったため、`"id": null` メンバーが存在しない feature や明示的に指定された feature は `NULL` として読み取られ、空文字列 `""` と区別して保持されます。初期実装は [Mark Needham](https://github.com/mneedham) によるものです ([#98124](https://github.com/ClickHouse/ClickHouse/pull/98124)) 。[#108065](https://github.com/ClickHouse/ClickHouse/pull/108065) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `QBit` カラムと参照ベクトルの近似内積を計算する `dotProductTransposed` 関数 (別名 `scalarProductTransposed`) を追加しました。これは既存の `L2DistanceTransposed` および `cosineDistanceTransposed` 関数を補完するものです。[#108100](https://github.com/ClickHouse/ClickHouse/pull/108100) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、`quantizeBFloat16ToInt8` の Lloyd-Max codes からなる `QBit(Int8)`` に対して動作し、格納された codes を on the fly で逆量子化する量子化転置距離関数 `cosineDistanceTransposedQuantized`、`L2DistanceTransposedQuantized`、`dotProductTransposedQuantized` も追加しました。floating-point の参照ベクトルはフル精度のクエリとして扱われ、`Float32` 精度で比較されます（`Float64`クエリは`Float32` に縮小されます）。`Array(Int8)\` の参照はそれ自体が逆量子化され、対称的な quantized-vs-quantized distance になります。[#109405](https://github.com/ClickHouse/ClickHouse/pull/109405) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `QBit` データ型 (`QBit(T, dimension, stride)`) にオプションの stride parameter を追加しました。これにより、次元のグループを別々の stream に格納できるため、vector search で先頭の次元だけを効率的に読み取れます (たとえば Matryoshka embeddings) 。転置距離関数は、使用する次元数を減らして読み取るためのオプションの第4 `used_dims` argument を受け付けます。[#108103](https://github.com/ClickHouse/ClickHouse/pull/108103) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `QBit` データ型で `Int8` element type をサポートし、量子化された 8-bit integer vector に対する保存と転置距離 vector search (`L2DistanceTransposed`、`cosineDistanceTransposed`) を可能にしました。[#108105](https://github.com/ClickHouse/ClickHouse/pull/108105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 新関数 `randomHadamardTransform(vector[, seed[, output_dims]])`：float vector に対する決定論的なランダム化 Hadamard transform。これは、量子化前の埋め込みの preprocessing に有用な、ノルムを保持する直交回転であり、 (truncated の場合は) Johnson–Lindenstrauss / subsampled-randomized-Hadamard ランダム射影としても利用できます。[#108227](https://github.com/ClickHouse/ClickHouse/pull/108227) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* dictionary 定義内の `dictionary_lazy_load` setting により、dictionary ごとに遅延読み込みを設定できるようにしました。これにより、グローバルな `dictionaries_lazy_load` server setting を上書きし、一部の dictionary は遅延読み込みにし、他の dictionary は即時読み込みにできます。[#108314](https://github.com/ClickHouse/ClickHouse/pull/108314) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 組み込みのドキュメント検索ページを追加しました。HTTP interface の `/docs` パスで利用でき、`system.documentation` テーブルに対するインスタント検索を提供し、リファレンスドキュメントをレンダリングします (syntax highlighting、数式、相互リンクに対応) 。 [#108345](https://github.com/ClickHouse/ClickHouse/pull/108345) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数 `xxHash64Spark` を追加しました。これは seed `42` を使用して `String` および `NULL` 入力に対する Spark 互換の `xxHash64` 値を計算し、`Int64` を返します。 [#108436](https://github.com/ClickHouse/ClickHouse/pull/108436) ([Lalit Yadav](https://github.com/lalitium)).
* `ALTER USER`、`ALTER ROLE`、`ALTER SETTINGS PROFILE` で、`MODIFY SETTING name = value` の別名として `SET name = value` を受け付けるようになりました。これにより、設定リスト全体を置き換える bare `SETTINGS` clause とは異なり、他の設定を保持したまま個々の設定をその場で変更できます。これによって、ユーザーの他の設定を誤って消してしまう可能性が低くなります。 [#108722](https://github.com/ClickHouse/ClickHouse/pull/108722) ([Groene AI](https://github.com/groeneai)).
* 既存の制約の expression をその場で変更する `ALTER TABLE ... MODIFY CONSTRAINT [IF EXISTS] name CHECK expr` をサポートしました。 [#108768](https://github.com/ClickHouse/ClickHouse/pull/108768) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: カラムごとの color coding 切り替え (カラムヘッダー内の 🌈 アイコン) を追加し、bar、heatmap、categorical、なしを切り替えられるようにしました。選択した mode は URL とブラウザ履歴に保存されます。 [#108873](https://github.com/ClickHouse/ClickHouse/pull/108873) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Keeper` が `ZooKeeper` の `CreateContainer` opcode (19) を正しく処理するようになりました。これは新しいオプトインの `create_container` feature flag で制御されます (既定では `create_ttl` と同様に無効) 。ensemble 全体の upgrade 後にこれを有効化すると、外部の `ZooKeeper` clients (例: Java `ZooKeeper` 3.9+) は `ConnectionLoss` を受け取る代わりに `Keeper` に対してコンテナー node を作成できるようになります。コンテナー node は期待どおりの `ephemeralOwner` センチネル値を返し、leader 上の background GC thread が子を持たないコンテナーを自動削除します。opcode 19 を伴わずに `CONTAINER` create-mode flag を持つ通常の `Create` request は、引き続き拒否されます (`ZBADARGUMENTS`) 。既知の `ZooKeeper` client でその組み合わせを送出するものはありません。これはサーバー側のプロトコル互換性のみです。ClickHouse 独自の `ZooKeeper` client (`zkutil`) には変更はなく、自身でコンテナー node を作成する API もありません。 [#108908](https://github.com/ClickHouse/ClickHouse/pull/108908) ([unintended](https://github.com/unintended)).
* WGS84 地理座標と UTM および MGRS 座標系の間で変換する関数 `geoToUTM`、`UTMToGeo`、`geoToMGRS`、`MGRSToGeo` を追加しました。 [#108939](https://github.com/ClickHouse/ClickHouse/pull/108939) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `digits(n, offset[, length])` 関数を追加しました。これは、1始まりの `offset` から始まる `n` の各桁を `length` 桁分返し、`length` を省略した場合は数値の末尾まで返します。 [#109012](https://github.com/ClickHouse/ClickHouse/pull/109012) ([Umang Agrawal](https://github.com/1000ms)).
* 数値の二乗を計算する算術関数 `sqr` を追加しました。 [#109061](https://github.com/ClickHouse/ClickHouse/pull/109061) ([Lalit Yadav](https://github.com/lalitium)).
* hierarchical dictionary 内のキーの最上位の祖先 (root) を返す新しい関数 `dictGetRoot` を追加しました。これは `dictGetHierarchy(dict_name, key)[-1]` と等価な便利な関数です。 [#109459](https://github.com/ClickHouse/ClickHouse/pull/109459) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Dictionary の定義を削除せずに Dictionary が使用しているメモリを解放するための `SYSTEM UNLOAD DICTIONARY` および `SYSTEM UNLOAD DICTIONARIES` コマンドを追加しました。Dictionary は次回アクセス時に遅延読み込みされます。[#109639](https://github.com/ClickHouse/ClickHouse/pull/109639) ([Matheus Nerone](https://github.com/Manerone)).
* 2 つのジオメトリが交差しているかどうかを返す関数 `geometryIntersectCartesian` と `geometryIntersectSpherical` を追加しました。`polygonsIntersectCartesian`/`polygonsIntersectSpherical` とは異なり、これらは共通の `Geometry` 型を含む任意の geometry data type (`Point`、`LineString`、`MultiLineString`、`Ring`、`Polygon`、`MultiPolygon`) を受け付け、2 つの引数は異なる型でもかまいません。[#110062](https://github.com/ClickHouse/ClickHouse/pull/110062) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリパラメータ (`{name:Type}` による substitution) を設定値として使用できるようになりました。これは、クエリの `SETTINGS` clause (`SELECT` や `INSERT` など) 内と、standalone の `SET` クエリの両方で利用できます。たとえば、`SELECT ... SETTINGS max_threads = {threads:UInt64}` や `SET max_threads = {threads:UInt64}` のように指定できます。[#108760](https://github.com/ClickHouse/ClickHouse/pull/108760) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* `url` table function と `URL` table engine のワイルドカード展開: URL パス内のワイルドカードを、HTTP の索引ページ (HTML または平文のディレクトリ一覧) を列挙して一致する URL を抽出することで展開できるようになりました。索引ページのサイズと読み取るディレクトリ数には制限があります。`allow_experimental_url_wildcard_from_index_pages` 設定で有効になります。[#95181](https://github.com/ClickHouse/ClickHouse/pull/95181) ([Yue Ni](https://github.com/niyue)).
* テキスト索引でトークン位置 (`support_phrase_search` 索引引数) を保存できるようになり、`hasPhrase` function に対して direct read による完全なフレーズ一致が可能になりました。これを使用するには、`MergeTree` 設定 `allow_experimental_text_index_phrase_search` を有効にする必要があります。[#103172](https://github.com/ClickHouse/ClickHouse/pull/103172) ([Elmi Ahmadov](https://github.com/ahmadov)). この引数は当初、`positions` という名前で導入されました。[#109900](https://github.com/ClickHouse/ClickHouse/pull/109900) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `OPTIMIZE TABLE ... MANIFEST` により `Iceberg` table のマニフェストファイル compaction をサポートしました (`allow_experimental_iceberg_compaction` 設定でガードされています) 。[#95174](https://github.com/ClickHouse/ClickHouse/issues/95174) をクローズしました。[#98178](https://github.com/ClickHouse/ClickHouse/pull/98178) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)). また、マニフェストのパーティションタプルが partition spec と一致しない場合の `Iceberg` table 向け `OPTIMIZE TABLE ... MANIFEST` を修正しました。[#111368](https://github.com/ClickHouse/ClickHouse/pull/111368) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* 実験的な `ALP` codec に Real Doubles (RD) バリアントと、オプションの `ALP(AUTO|STD|RD)` 引数を追加しました。単独の `ALP` は、常に `STD` を使うのではなく、既存の `STD` 方式と `RD` の間で自動選択するようになりました。[#99654](https://github.com/ClickHouse/ClickHouse/pull/99654) ([Nazarii Piontko](https://github.com/nazarii-piontko)).
* deserialized された `Paimon` metadata files (manifest lists と manifests) 向けのインメモリー SLRU cache を追加しました。`use_paimon_metadata_files_cache` 設定で有効にすると、同じ `Paimon` table に対する繰り返しクエリで、object storage からの metadata の再ダウンロードと再解析をスキップします。[#104657](https://github.com/ClickHouse/ClickHouse/pull/104657) ([XiaoBinMu](https://github.com/Binnn-MX)).
* 実行可能な user-defined functions 向けの "drivers" を追加しました。`<user_defined_executable_function_drivers_config>` で宣言した driver は、`CREATE FUNCTION name ARGUMENTS (...) RETURNS T ENGINE = DriverName(...) AS '...code...'` で使用でき、function 作成時にユーザー code スニペットを compile するなどして処理し、実行可能 UDF を生成できます。生成された configuration は `<dynamic_user_defined_executable_functions_path>` に保存され、元の query は `ATTACH FUNCTION` として永続化されるため、server の再起動後も function は保持されます。概念実証版の `c_function_body` driver は、`executable_pool` mode でサンドボックス化された Docker コンテナー内で C function body を compile して実行します。初期実装は [Daniil Timižev](https://github.com/dahbka-lis) に基づいています ([#77128](https://github.com/ClickHouse/ClickHouse/pull/77128)) 。[#105131](https://github.com/ClickHouse/ClickHouse/pull/105131) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* predicate がカラムを default 値と非 default 値に正確に分割する場合、`SELECT count(*) FROM t WHERE col <op> default(col)` を、データを一切スキャンせずに `serialization.json` 内のカラムごとの疎性統計から処理できるようになりました (新しい experimental setting `optimize_trivial_count_with_sparsity_filter` で有効化でき、既定では無効です) 。[#105890](https://github.com/ClickHouse/ClickHouse/pull/105890) ([Raúl Marín](https://github.com/Algunenano)).
* `/api/v1/query` および `/api/v1/query_range` への Prometheus Query API request が、`read_rows` と `read_bytes` metrics とともに `system.query_log` に記録されるようになりました。[#106611](https://github.com/ClickHouse/ClickHouse/pull/106611) ([James Cunningham](https://github.com/JTCunning)).
* 実験的な `ReaderExecutor` の読み取りパス (`use_reader_executor`、既定ではオフ) で、リモートのソース接続を開いたまま維持し、連続する読み取りで再利用できるようになりました。これにより、スキャン時のオブジェクトストレージへのリクエスト数を削減できます。[#107735](https://github.com/ClickHouse/ClickHouse/pull/107735) ([Sema Checherinda](https://github.com/CheSema)). また、暗号化ファイルの読み取りにも対応しました。グローバルな encryption header cache は `encryption_header_cache_size` server setting で設定し、`SYSTEM DROP ENCRYPTION HEADERS CACHE` でクリアできます。[#109702](https://github.com/ClickHouse/ClickHouse/pull/109702) ([Sema Checherinda](https://github.com/CheSema)).
* `make_distributed_plan` が有効な場合、`MergeTree` family のテーブルに対する `SELECT ... FINAL` で、分散クエリプランによる読み取りをサポートしました。[#108148](https://github.com/ClickHouse/ClickHouse/pull/108148) ([Alexander Gololobov](https://github.com/davenger)).
* `MergeTree` クエリ向けに、実験的なプランベースの並列レプリカ実行を追加しました。[#108504](https://github.com/ClickHouse/ClickHouse/pull/108504) ([Igor Nikonov](https://github.com/devcrafter)).
* 実験的な `Quantize` ベクトル codec ファミリーと、量子化された companion streams に対するオプトイン方式の 2 段階近似ベクトル検索 rewrite を追加しました。[#108565](https://github.com/ClickHouse/ClickHouse/pull/108565) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `Float32`/`Float64` (およびそれらの配列) カラム向けの、誤差境界付きの非可逆圧縮 codec である実験的な `SZ3` を復活させました。これはもともと [Konstantin Vedernikov](https://github.com/scanhex12) が実装したものです ([#83088](https://github.com/ClickHouse/ClickHouse/pull/83088)) 。これを使用するには `allow_experimental_codecs` が必要です。[#108788](https://github.com/ClickHouse/ClickHouse/pull/108788) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、以前は `CORRUPTED_DATA` で失敗していた `SZ3('ALGO_LORENZO_REG', ...)` で圧縮されたデータの読み取りを修正し、有限でない浮動小数点値 (`NaN` および無限大) を圧縮する際の未定義動作も回避しました。[#110762](https://github.com/ClickHouse/ClickHouse/pull/110762) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 実験的な `ZXC` codec を追加しました。これは圧縮は低速ですが、展開は非常に高速な非対称 LZ codec で、圧縮率は `LZ4` と `ZSTD` の中間です。これを使用するには `allow_experimental_codecs = 1` が必要で、`system.compression_codecs` では experimental として表示されます。[#110620](https://github.com/ClickHouse/ClickHouse/pull/110620) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#111007](https://github.com/ClickHouse/ClickHouse/pull/111007) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `onelake_client_id` と `onelake_client_secret` の代わりに、`onelake_bearer_token` setting を通じて事前に取得した Bearer token を使用して OneLake に認証できるようになりました。これにより、長期間有効な client secret を共有せずに済みます。token は更新されないため、有効期限が切れたら database を再作成する必要があります。[#109104](https://github.com/ClickHouse/ClickHouse/pull/109104) ([Asya Shneerson](https://github.com/asya-ch)).
* AI functions は、named collection を最初の位置引数として受け取らなくなりました。credentials は `ai_function_text_default_credentials` / `ai_function_embedding_default_credentials` settings、または省略可能な末尾の `Map(String, String)` 引数内の `credentials` キーから取得されます。この引数には、チューニング用パラメータ (`model`, `max_tokens`, `temperature`, `system_prompt`, `instructions`, `dimensions`) も含められます。[#109232](https://github.com/ClickHouse/ClickHouse/pull/109232) ([George Larionov](https://github.com/george-larionov)). また、`aiEmbed` 関数は named collection から `model` を読み取るのではなく、必須の位置引数として `model` を受け取るようになりました (`aiEmbed(text, model[, params])`) 。これにより、埋め込みの再現性が確保されます。[#110619](https://github.com/ClickHouse/ClickHouse/pull/110619) ([George Larionov](https://github.com/george-larionov)).
* `skp_idx.packed` に格納されたスキップ索引の `data_uncompressed_bytes` を修正しました (`packed_skip_index_max_bytes` 経由) 。報告される非圧縮サイズが実際には圧縮サイズになっており、その結果 `distributed_index_analysis` が有効化されないことがありました。[#109272](https://github.com/ClickHouse/ClickHouse/pull/109272) ([Raúl Marín](https://github.com/Algunenano)).
* `MergeTree` テーブル向けに、実験的な packed data part ストレージを追加しました。これにより、part を構成するファイルの大半が、ストリームごとに個別のファイルとして保存される代わりに、単一の `data.packed` アーカイブに格納されます (projections および `txn_version.txt` などの一部の service file は引き続き別途書き込まれます) 。これは `min_bytes_for_full_part_storage`、`min_rows_for_full_part_storage`、`min_level_for_full_part_storage` の各設定で制御され、既定では無効です。テーブルが packed part の書き込みを開始すると、古いサーバーバージョンではそれを読み取れなくなるため、このフォーマットを有効にするとサーバーをダウングレードできなくなります。[#108118](https://github.com/ClickHouse/ClickHouse/pull/108118) ([Raúl Marín](https://github.com/Algunenano)).
* 実験的な table function `eval` を追加しました。これは定数 expression をクエリ文字列として評価し、結果として得られた単一の `SELECT` クエリを実行します。この機能は既定で無効になっており、`allow_experimental_eval_table_function` 設定で有効にできます。作成者: [Yue Ni](https://github.com/niyue)。[#110132](https://github.com/ClickHouse/ClickHouse/pull/110132) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 実験的な Prometheus remote-write v1 HTTP ハンドラーに `zstd` 圧縮のサポートを追加しました。[#110907](https://github.com/ClickHouse/ClickHouse/pull/110907) ([James Cunningham](https://github.com/JTCunning)).
* `Delta Lake` テーブルへの書き込み (`allow_experimental_delta_lake_writes` 設定) が Beta に昇格しました。[#107034](https://github.com/ClickHouse/ClickHouse/pull/107034) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 実験的な distributed query plan (`make_distributed_plan`) の実行状況を観測するため、`ProfileEvents` `DistributedPlanRemoteTasks`、`DistributedPlanLocalExecution`、`DistributedPlanHostsUsed` を追加しました。[#107985](https://github.com/ClickHouse/ClickHouse/pull/107985) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Keeper の実験的な RocksDB ベースのストレージ (`experimental_use_rocksdb`) を削除しました。より優れた新しいオンディスクストレージをまもなく導入予定です。[#108000](https://github.com/ClickHouse/ClickHouse/pull/108000) ([Michael Kolupaev](https://github.com/al13n321)).
* 分散索引解析 (`distributed_index_analysis` 設定で制御される実験的機能) では、大量の data part 名リストをクエリテキストに埋め込むのではなく、スカラーとしてリモートサーバーに送信するようになりました。これにより、`max_ast_elements` / `max_query_size` 制限による障害の可能性を回避し、AST のパースに伴うオーバーヘッドを削減します。[#110419](https://github.com/ClickHouse/ClickHouse/pull/110419) ([Azat Khuzhin](https://github.com/azat)).
* 実験的な `timeSeries*ToGrid` aggregation 関数を最適化しました。buckets は step と window の両方に揃えられるようになり、window が step より大幅に大きい場合の最終 aggregation が大幅に高速化されました。aggregation state のシリアライゼーションフォーマットは、互換性のない形で変更されています (これらの関数は実験的です) 。[#106724](https://github.com/ClickHouse/ClickHouse/pull/106724) ([Vitaly Baranov](https://github.com/vitlibar)).
* `TimeSeries` テーブルの external target table は、参照依存関係として登録されるようになりました。materialized view と同様に、これにより、それを参照する `TimeSeries` テーブルを削除する前に external target table を削除できなくなります (`check_referential_table_dependencies` が有効な場合) 。[#108388](https://github.com/ClickHouse/ClickHouse/pull/108388) ([Vitaly Baranov](https://github.com/vitlibar)).
* PromQL 関数 `increase` を追加しました。[#111023](https://github.com/ClickHouse/ClickHouse/pull/111023) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* `JOIN` で、左側テーブルの主キー索引またはスキップ索引を使ってグラニュールをプルーニングできるようになりました。設定 `enable_join_runtime_filters_index_analysis` で制御します。[#109085](https://github.com/ClickHouse/ClickHouse/pull/109085) ([Shankar Iyer](https://github.com/shankar-iyer)).
* 自明にシリアライズ可能な型のベクターのシリアライゼーションおよびデシリアライゼーションでは、個々の要素を処理する代わりに、単一のバッファ I/O 呼び出しを使用するようになりました。[#89842](https://github.com/ClickHouse/ClickHouse/pull/89842) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 逆引き Dictionary ルックアップを最適化しました。`WHERE dictGet(dict, attr, key_expr) = value` のような定数等価述語は、`IN (SELECT ... FROM dictionary(...))` サブクエリに書き換えられる代わりに、キーのフィルター (`key_expr = const`、`key_expr IN [...]`、または `WHERE 0`) へ直接定数畳み込みされるようになり、`dictGetKeys` の定数パスも並列に実行されるようになりました。[#91164](https://github.com/ClickHouse/ClickHouse/pull/91164) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 新しい設定 `merge_tree_generic_exclusion_search_max_steps` を追加しました。これにより、汎用排除検索アルゴリズムが各データ part の主キー索引の解析に費やす step 数を制限できます。この予算は、残っている中で最も大きいキー範囲から優先的に消費されるため、小さな予算でもデータの大部分をプルーニングできます。完全に解析されなかった範囲は丸ごと読み込まれるため、クエリ結果の正確性は保たれますが、より多くのグラニュールが読み込まれる可能性があります。この制限は厳密には適用されず、最大で `merge_tree_coarse_index_granularity` step に加え、その part がすでに分割されている各範囲につき 1 step (たとえば query condition cache によるもの) だけ超過する場合があります。デフォルト値 0 は step 数が無制限であることを意味します。[#92779](https://github.com/ClickHouse/ClickHouse/pull/92779) ([Michael Jarrett](https://github.com/EmeraldShift)).
* `Distributed` テーブル上の view に対する `ORDER BY` と `LIMIT` を含むクエリで、merge-sorted-streams 最適化を使うようになりました。外側の `ORDER BY`/`LIMIT` が単純な view の内側のクエリにプッシュダウンされるため、各 shard がローカルでデータをソートし、マージコーディネーターは完全なソートを行う代わりに、事前にソート済みの stream をマージします。[#94102](https://github.com/ClickHouse/ClickHouse/pull/94102) ([matanper](https://github.com/matanper)).
* `optimize_or_like_chain` がデフォルトで有効になりました。[#87779](https://github.com/ClickHouse/ClickHouse/issues/87779) をクローズしました。[#94517](https://github.com/ClickHouse/ClickHouse/pull/94517) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* TTL のないローテーション済みの非 replicated `MergeTree` システムログテーブルを `table_readonly` としてマークし、不要なバックグラウンド処理を回避するようにしました。`table_readonly` `MergeTree` 設定は、通常の `MergeTree` テーブルに対するすべてのバックグラウンド処理、すなわち通常の merge、TTL (`DELETE`/`MOVE`/再圧縮) および再圧縮 merge、バックグラウンド mutation、バックグラウンド part 移動も抑止し、さらに、これまで拒否していた insert、mutation、`OPTIMIZE` に加えて、変更系のパーティションコマンド (`ATTACH`/`MOVE`/`DROP`/`DROP DETACHED`/`FETCH`/`REPLACE PARTITION` およびテーブルへの `MOVE PARTITION ... TO TABLE`) も拒否するようになりました。その結果、TTL を持つ `table_readonly` テーブルは、この設定が有効な間、有効期限切れデータを回収しなくなります。[#95079](https://github.com/ClickHouse/ClickHouse/pull/95079) ([Mathuranath Metivier](https://github.com/matt-metivier)).
* サーバーに多数のユーザーが存在する場合の、`system.users` から単一のユーザーレコードを取得する処理の性能を改善しました。[#96699](https://github.com/ClickHouse/ClickHouse/pull/96699) ([Alistair Evans](https://github.com/alistairjevans)).
* 並列レプリカによる順序付き読み取りでは、ローカル読み取りと同様にテーブルを `max_threads` 個の部分に分割するロジックを使うようになり、並列度が向上しました。[#101434](https://github.com/ClickHouse/ClickHouse/pull/101434) ([Nikita Taranov](https://github.com/nickitat)).
* `MergeTree` テーブルで、主キーカラムがパーティションキーの入力カラムでもある場合、主キー索引解析時にパーティションの minmax 索引境界を使って、より多くの granule を刈り込めるようになりました。たとえば、`ORDER BY (id, event_time)` および `PARTITION BY toYYYYMM(event_time)` を持つ `MergeTree` テーブルでは、ClickHouse は主キー索引解析時に `event_time` のパーティション minmax 索引を使用し、より適切な granule 刈り込み判断を行います。これは新しい設定 `use_partition_minmax_for_primary_key_pruning` で制御されます (デフォルトで有効) 。 [#103480](https://github.com/ClickHouse/ClickHouse/pull/103480) ([UnamedRus](https://github.com/UnamedRus)).
* Top-K dynamic filtering (`ORDER BY ... LIMIT n`) を使用するクエリで、query condition cache を有効化しました。cache エントリは Top-K のプランパラメータごとに分割されるため、同じクエリではキャッシュ済みの `WHERE` フィルター結果が再利用され、`LIMIT`、ソート対象カラム、またはソート方向が異なる場合は新しいエントリが作成されます。 [#104478](https://github.com/ClickHouse/ClickHouse/pull/104478) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `use_constant_folding_in_index_analysis` 設定を追加しました (デフォルトでは無効) 。有効にすると、`MergeTree` の主キー、`MinMax`、およびスキップ索引の解析で、パーティションレベルの定数を part ごとに個別にフィルター predicate に畳み込み、パーティション値に依存する分岐を含むフィルターの刈り込みを改善します。たとえば、`PARTITION BY a` で `(a = 1 AND b >= 1) OR (a = 2 AND b > 10)` のようなケースです。 [#104582](https://github.com/ClickHouse/ClickHouse/pull/104582) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `GROUP BY` キーが `ORDER BY` キーおよびテーブルの sorting key と一致する場合に早期終了できるよう、aggregation-in-order に `LIMIT` をプッシュダウンしました。これにより、読み取る行数を大幅に削減できます。 [#104859](https://github.com/ClickHouse/ClickHouse/pull/104859) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* サーバー全体およびユーザーごとのカウンターに per-CPU atomics を使用することで、profile events の更新が最大 30 倍高速になりました。これは `user_profile_events_per_cpu` server setting で制御されます (64 コア環境ではユーザーあたり約 640 KiB を使用するため、ユーザー数が非常に多い場合は無効のままにしておくのが妥当なことがあります) 。 [#105056](https://github.com/ClickHouse/ClickHouse/pull/105056) ([Azat Khuzhin](https://github.com/azat)).
* `allow_aggregate_partitions_independently` をデフォルトで有効にしました。`GROUP BY` キーがパーティションキーに適している場合、ClickHouse は各パーティションを独立して集約し、グローバルなマージ処理を省略できます。実行時の heuristic により、パーティション構成が不利な場合 (パーティション数が少なすぎる、多すぎる、またはパーティションサイズの偏りが大きい) は、この optimization を自動的にスキップします。 [#105128](https://github.com/ClickHouse/ClickHouse/pull/105128) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* rescoring を伴うベクトル検索クエリ (`vector_search_with_rescoring = 1`) では、ベクトル索引が返した行に対してのみ正確な距離を計算するようになりました。同じ `MergeTree` granule 内の近傍行を brute-force で rescoring するのではなく、正確な行位置フィルターを適用します。 [#105591](https://github.com/ClickHouse/ClickHouse/pull/105591) ([Sergey Kuznetsov](https://github.com/skuznetsov)). [#108846](https://github.com/ClickHouse/ClickHouse/pull/108846) ([Sergey Kuznetsov](https://github.com/skuznetsov)).
* `FixedString` キーに対する `partial_merge` join algorithm の性能を改善しました。値ごとに 1 回ずつ比較を呼び出す代わりに、連続する値をまとめて比較します。 [#105737](https://github.com/ClickHouse/ClickHouse/pull/105737) ([Artem Zuikov](https://github.com/4ertus2)).
* データレイクのカタログ (Iceberg REST、Glue、Unity、Hive、Paimon) に対する `SHOW TABLES` と `system.tables` で、ネームスペースに関連する predicates をカタログにプッシュダウンするようになり、カタログ全体のスキャンを回避します。 [#105022](https://github.com/ClickHouse/ClickHouse/issues/105022) をクローズしました。 [#106029](https://github.com/ClickHouse/ClickHouse/pull/106029) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* overcommit やメモリ不足エラーを防ぐため、CPU ごとの未追跡メモリ量に上限を設けました (上限は server settings の `max_per_cpu_untracked_memory` と `per_cpu_untracked_memory_thread_buffer` で設定します) 。[#106055](https://github.com/ClickHouse/ClickHouse/pull/106055) ([Azat Khuzhin](https://github.com/azat)).
* ソート済みの stream を走査して同じ key 値の連続区間を検出する演算子を高速化しました。対象は、順序付き `DISTINCT`、順序付き `LIMIT BY`、順序付きの負の `LIMIT BY`、`full_sorting_merge` および `partial_merge` joins です。[#106502](https://github.com/ClickHouse/ClickHouse/pull/106502) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Apache Arrow ライブラリを使わない、`Arrow` および `ArrowStream` フォーマット用の native reader / writer を実装し、余分なデータコピーや変換を回避しました。これは現在デフォルトになっており (settings `input_format_arrow_use_native_reader` および `output_format_arrow_use_native_writer`) 、読み取り・書き込みの両方で高速です。[#106522](https://github.com/ClickHouse/ClickHouse/pull/106522) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* LTO で発生していた thread-cache の破損を修正したうえで、jemalloc の LTO を再び有効にし、性能を向上させました。[#106898](https://github.com/ClickHouse/ClickHouse/pull/106898) ([Azat Khuzhin](https://github.com/azat)).
* `JOIN` の memory usage を削減し、性能を向上させました。ハッシュ結合の右辺では、すべての key 型で `ALL` joins のハッシュテーブルエントリが `ANY` joins と同じサイズになるよう、compact な 8 バイトのインデックスベースの行参照を使うようになりました。大規模な `parallel_hash` join クエリで benchmark を実施したところ、`UInt64` および `String` の結合キーを持つ 1 億～3 億行テーブルに対する `INNER` および `ANY` joins で、キーが一意の場合と重複する場合の両方において、クエリの中央値は約 12% 高速化し、Peak memory は約 15% 減少し、遅くなったクエリはありませんでした。特に `UInt64` 結合キーの `INNER` joins で改善が大きく、中央値で約 21% 高速化し、memory は 38% 削減されました。[#107189](https://github.com/ClickHouse/ClickHouse/pull/107189) ([Harikrishnan Prabakaran](https://github.com/harikrishnan94)).
* 単一カラムの非 Nullable `LowCardinality(String)` 結合キーが、ハッシュ結合でネイティブにサポートされるようになりました。[#107264](https://github.com/ClickHouse/ClickHouse/pull/107264) ([Nikita Taranov](https://github.com/nickitat)).
* `dpsub` join-order 列挙アルゴリズム (部分集合に対する動的計画法) を追加しました。これにより、`dpsize` より低い optimization overhead で最適な join plan を提供でき、非 inner joins もサポートします。[#107351](https://github.com/ClickHouse/ClickHouse/pull/107351) ([Fisnik Kastrati](https://github.com/fkastrati)).
* 各 cache ファイルのサイズをファイル名 (`<offset>_<size>`) にエンコードすることで、起動時の filesystem cache loading を高速化し、ファイルごとの `stat` を不要にしました。古いバージョンで書き込まれた cache ファイルの loading も引き続きサポートされます。[#107415](https://github.com/ClickHouse/ClickHouse/pull/107415) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 不要な文字列 materialization を回避することで、`Array(LowCardinality(String))` に対する `arrayElement` と、key または values に `LowCardinality(String)` を持つ `Map` に対する map `LIKE` 関数の性能を向上させました。[#107450](https://github.com/ClickHouse/ClickHouse/pull/107450) ([Michael Jarrett](https://github.com/EmeraldShift)).
* クエリ全体ではなく aggregation state 自体のメモリを追跡することで、memory usage が小さい場合に single-level aggregation を二段階集約へ変換しないようにしました。[#107490](https://github.com/ClickHouse/ClickHouse/pull/107490) ([Hechem Selmi](https://github.com/m-selmi)).
* aggregating queries の解析を高速化しました。aggregation ハッシュテーブルサイズ統計の cache key は、完全な query AST を構築する代わりに、クエリプランから計算されるようになりました。[#107643](https://github.com/ClickHouse/ClickHouse/pull/107643) ([Dmitry Novik](https://github.com/novikd)).
* 各行を SipHash でハッシュ化する代わりに、行の値をキーとして多重集合を扱うことで、`INTERSECT ALL` と `EXCEPT ALL` (`INTERSECT` と `EXCEPT` のデフォルトモード) の性能を数倍向上しました。 [#107649](https://github.com/ClickHouse/ClickHouse/pull/107649) ([Raúl Marín](https://github.com/Algunenano)).
* cache ロックを保持せずに行ポリシーフィルタを再構築することで、`CREATE ROW POLICY` と `DROP ROW POLICY` の同時実行時におけるクエリのスケーラビリティを向上しました。 [#107917](https://github.com/ClickHouse/ClickHouse/pull/107917) ([Azat Khuzhin](https://github.com/azat)).
* 単純な正規表現に対する `match`、`extract`、`extractAll`、`replaceRegexpOne`、`replaceRegexpAll` 関数を、LLVM によって native code にコンパイルすることで高速化しました。これは新しい設定 `compile_regular_expressions` (デフォルトで有効) で制御され、サポート対象外の subset の pattern は透過的に RE2 engine にフォールバックします。 [#108004](https://github.com/ClickHouse/ClickHouse/pull/108004) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 固定幅整数カラムのように match offsets が小さいカラムに対して、短い offset のオーバーラップコピーを NEON でベクトル化することで、AArch64 (ARM) での ZSTD 展開を高速化しました。たとえば、`UInt64` カラムの展開は AWS Graviton 4 で最大約 2.3 倍高速になります。 [#108049](https://github.com/ClickHouse/ClickHouse/pull/108049) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* gzip/zlib/deflate の圧縮および展開に `libdeflate` ライブラリを使用することで、`.gz`/HTTP/`url`/`s3` データおよび Parquet GZIP codec を高速化しました (圧縮は比率も改善しつつ約 1.15 倍、展開は約 1.4～1.5 倍) 。 [#108074](https://github.com/ClickHouse/ClickHouse/pull/108074) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 主キー filter と組み合わせたテキスト検索クエリの性能を向上しました。 [#108114](https://github.com/ClickHouse/ClickHouse/pull/108114) ([Anton Popov](https://github.com/CurtizJ)).
* クエリの初回実行時に収集した runtime statistics を使って後続の実行を最適化できるようになりました。`hash` join algorithm は、収集した統計に基づいて自動的に `parallel_hash` に切り替わる場合があります。 [#108125](https://github.com/ClickHouse/ClickHouse/pull/108125) ([Hechem Selmi](https://github.com/m-selmi)). JOINランタイムフィルタのサイズは、runtime join statistics の hash table サイズを使って最適化されます。これは新しい設定 `join_runtime_filter_size_from_hash_table_stats` で制御されます。 [#108313](https://github.com/ClickHouse/ClickHouse/pull/108313) ([Hechem Selmi](https://github.com/m-selmi)).
* 固定サイズで低カーディナリティなカラムに対する LZ4 展開速度を改善しました。 [#108175](https://github.com/ClickHouse/ClickHouse/pull/108175) ([Nikita Taranov](https://github.com/nickitat)).
* デフォルトの空白文字を対象とする `trimLeft`/`trimRight`/`trimBoth` 関数 (およびその別名 `ltrim`/`rtrim`/`trim`) を高速化しました。トリミングが不要な連続する行は 1 つの batch としてまとめてコピーされ、行ごとの空白走査は実際に先頭または末尾に空白がある行に対してのみ実行されます。 [#108177](https://github.com/ClickHouse/ClickHouse/pull/108177) ([Groene AI](https://github.com/groeneai)).
* pattern が単一文字で、replacement も単一文字の場合の `replaceAll` と `replaceRegexpAll` の性能を向上しました (たとえば `replaceRegexpAll(s, ' ', '_')`) 。この種の置換では文字列の layout が変わらないため、カラムは 1 回だけコピーされ、一致したバイトは一致ごとに検索ループを回す代わりにその場で書き換えられます。 [#108178](https://github.com/ClickHouse/ClickHouse/pull/108178) ([Groene AI](https://github.com/groeneai)).
* 定数の `Polygon` に対する `pointInPolygon` 関数の性能を改善しました。前処理済み `Polygon` の cache は生の定数 argument をキーにするようになり、定数 `Polygon` は入力ブロックごとに毎回再パースされるのではなく、1 度だけ (キャッシュミス時に) パースされるようになりました。[#108184](https://github.com/ClickHouse/ClickHouse/pull/108184) ([Groene AI](https://github.com/groeneai)).
* デフォルトである best-effort モード (`date_time_input_format = 'best_effort'`, `cast_string_to_date_time_mode = 'best_effort'`) で、標準的な `YYYY-MM-DD hh:mm:ss` 形式の日時表現のパースを高速化しました。これにより、これらのデフォルト値を `basic` から `best_effort` に切り替えた際に生じたパース性能の低下を解消します。[#108187](https://github.com/ClickHouse/ClickHouse/pull/108187) ([Groene AI](https://github.com/groeneai)).
* 機能が無効な場合 (`predicate_statistics_sample_rate = 0`、デフォルト) 、`MergeTree` の読み取りパスで `system.predicate_statistics_log` の selectivity counters を維持しないようにしました。これにより、すべての読み取りで granule ごとの atomic update と `O(rows)` の filter popcount が不要になり、特に AArch64 で顕著だった性能低下を解消します。[#108190](https://github.com/ClickHouse/ClickHouse/pull/108190) ([Groene AI](https://github.com/groeneai)).
* `precise_float_parsing = 1` でのテキストからの floating-point numbers のパースを高速化し、ほぼすべての入力でデフォルトパーサーと同等以上の速度を実現しました。あわせて、同梱の `fast_float` ライブラリを v8.2.10 に更新しました。[#108205](https://github.com/ClickHouse/ClickHouse/pull/108205) ([Raúl Marín](https://github.com/Algunenano)).
* base64 の encoding / decoding 関数で `simdutf` ライブラリを使用するようにし、性能を向上させました。[#108333](https://github.com/ClickHouse/ClickHouse/pull/108333) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* 高コストな high-cardinality の key に対する `DISTINCT` を最適化しました。[#108366](https://github.com/ClickHouse/ClickHouse/pull/108366) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Linux 以外の build (macOS および FreeBSD) では、jemalloc が dirty pages を積極的にパージしなくなりました (`free` ごとに `madvise` syscall を実行しません) 。代わりに、Linux と同様に、有限の `dirty_decay_ms` を持つバックグラウンドのパージスレッドを使用するようになりました。これにより、recursive CTE のように割り当てが頻繁に発生する workload が大幅に高速化されます (macOS の recursive CTE benchmark で約 2 倍) 。一方、RSS への影響はごくわずかです。[#108430](https://github.com/ClickHouse/ClickHouse/pull/108430) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同じ `WITH` エイリアスを参照する expression や、同じ subexpression を何度も繰り返す expression (たとえば深くネストした `if`/`multiIf` の連鎖) について、actions DAG の構築時に共有 subexpression を再構築しないようにすることで、アナライザによるクエリプランニングを高速化しました。[#108523](https://github.com/ClickHouse/ClickHouse/pull/108523) ([Dmitry Novik](https://github.com/novikd)).
* `ON` clause に非等価 predicate が含まれている場合でも、Runtime Filters が等価 key に対して構築されるようになりました。これにより、等価条件と非等価条件が混在する join で、ハッシュ結合 に入る行数を減らせます。`LEFT ANTI JOIN` には影響ありません。[#108579](https://github.com/ClickHouse/ClickHouse/pull/108579) ([Antonio Álvarez Caballero](https://github.com/29antonioac)).
* codebase 全体で `-fno-math-errno` を有効化し、compiler が数学関数をより適切に最適化できるようにしました。[#108628](https://github.com/ClickHouse/ClickHouse/pull/108628) ([Nikita Taranov](https://github.com/nickitat)).
* aggregation および join hash tables に対する software-prefetch の threshold を `4 * L2 cache size` から `L2 cache size` に引き下げ、hash table が L2 に収まらなくなった時点で prefetch が有効になるようにしました。これにより、報告される L2 が大きいプラットフォーム (例: 2 MiB の L2 を持つ AArch64) で、中規模の hash tables (約 1～8 MiB) に対する `GROUP BY` および `JOIN` で発生していた性能低下を解消します。[#108655](https://github.com/ClickHouse/ClickHouse/pull/108655) ([Groene AI](https://github.com/groeneai)).
* window function のパフォーマンスを向上しました。`SELECT *` を含む列数の多いテーブルに対するウィンドウクエリでは、メモリ使用量が大幅に減り、実行速度も向上しました。`quantile*`、`uniq*`、`groupArray` を含むウィンドウ aggregate は、`OVER ()` および `OVER (ORDER BY ... RANGE ...)` で高速化されています。`cume_dist` 関数も高速化され、`PARTITION BY` または `ORDER BY` を使用するウィンドウは、同じ値が多く含まれるカラムでもパフォーマンスが向上しました。[#108688](https://github.com/ClickHouse/ClickHouse/pull/108688) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 比較の `AND`-chain が多数あるクエリや、非常に大きな `AND`-chain を含むクエリの query analysis を高速化しました。`optimize_and_compare_chain` optimization は、クエリ tree の大部分を hash 化する代わりに、作業予算 (新しい設定 `optimize_and_compare_chain_max_hash_work`) によって制限されるようになりました。また、lambda の解決では、再帰ガードのために lambda 本体の hash を再計算しなくなりました。[#108757](https://github.com/ClickHouse/ClickHouse/pull/108757) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複数スレッドで `JSON`/`Dynamic` カラムを読み取る際のパフォーマンス低下を修正しました。`input_format_binary_max_type_complexity` 設定を値ごとに参照していたため、共有クエリコンテキストで参照カウントの contention が発生し、並列読み取りが直列化されていました。現在は設定値がスレッドごとに cache されます。[#108797](https://github.com/ClickHouse/ClickHouse/pull/108797) ([Seva Potapov](https://github.com/seva-potapov)).
* `s3` などの table function を介して object storage から多数の小さなファイルを読み取る際のパフォーマンス低下 ([#71781](https://github.com/ClickHouse/ClickHouse/issues/71781) で導入) を修正しました。プリフェッチが停止して同期読み取りにフォールバックしていたため、大量の極小ファイルを単一スレッドまたは低い Concurrency で読み取る場合に大幅な速度低下が発生していました。[#108872](https://github.com/ClickHouse/ClickHouse/pull/108872) ([Nikita Fomichev](https://github.com/fm4v)). さらに、object storage の読み取りがファイルシステムキャッシュ (`filesystem_cache_name`) を経由する場合でも、最初の小さな object に対するプリフェッチが行われるようになりました。これにより、cache を有効にした状態で多数の小さなファイル (例: `S3Queue` インジェスト) を読み取る処理は、同期的なレイテンシ律速ではなくなりました。[#109478](https://github.com/ClickHouse/ClickHouse/pull/109478) ([Nikita Fomichev](https://github.com/fm4v)).
* 深くネストした配列や tuple リテラルを、二次時間ではなく線形時間で parse するようにしました。[#108892](https://github.com/ClickHouse/ClickHouse/pull/108892) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `parallel_hash` join algorithm におけるロック contention に起因するオーバーヘッドを削減しました。[#108938](https://github.com/ClickHouse/ClickHouse/pull/108938) ([Hechem Selmi](https://github.com/m-selmi)).
* 圧縮する代わりに圧縮サイズを解析的に計算することで、`T64` エンコードされたカラムに対する `estimateCompressionRatio` を高速化しました。[#109054](https://github.com/ClickHouse/ClickHouse/pull/109054) ([Raufs Dunamalijevs](https://github.com/rienath)).
* distributed query plan のシャッフル段階にあった single-threaded の bottleneck を解消しました。各上流 stream が、データ stream 全体を単一の transform に集約するのではなく、それぞれ独立して行を宛先 bucket に振り分けるようになりました。[#109206](https://github.com/ClickHouse/ClickHouse/pull/109206) ([Alexander Gololobov](https://github.com/davenger)).
* Keeper サーバー のアイドル時の CPU usage を削減しました。[#109255](https://github.com/ClickHouse/ClickHouse/pull/109255) ([Michael Kolupaev](https://github.com/al13n321)).
* shared data に多数の疎な path を含む `JSON` カラムのシリアライゼーションとマージを高速化しました。shared data を path ごとのカラムに flattening する際、蓄積されたすべての path カラムを各行ごとに走査する処理を除去し、欠損部分はセル単位でデフォルト値を挿入するのではなく、一括で backfilled するようになりました。[#109341](https://github.com/ClickHouse/ClickHouse/pull/109341) ([Groene AI](https://github.com/groeneai)).
* 多数のカラムを含むクエリでの expression 評価に伴う CPU overhead を削減しました (例: stride が小さい `QBit` カラムに対する vector search では、各ベクトルが数百個の bit-plane sub-columns に展開され、それらすべてが単一の `*DistanceTransposed` 呼び出しに渡される場合) 。 [#109380](https://github.com/ClickHouse/ClickHouse/pull/109380) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* H3 Geo 関数 (`h3ToGeoBoundary`、`h3ToGeo`、`h3CellAreaM2`/`h3CellAreaRads2`、`geoToH3`) の性能を改善しました。正弦と余弦の組をまとめて計算し、座標変換での冗長な三角関数呼び出しを排除しています。結果は変わりません (bit-for-bit で同一です) 。 [#109399](https://github.com/ClickHouse/ClickHouse/pull/109399) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 比較処理と符号拡張コードを分岐なしにすることで、広い整数型 (`Int128`、`UInt128`、`Int256`、`UInt256` および `Decimal128` などの派生型) の比較 (`<`、`>`、`<=`、`>=`) を最大 7 倍高速化し、符号付き整数から `Int256` への変換も改善しました (符号が混在するデータで最大 7 倍) 。 [#109474](https://github.com/ClickHouse/ClickHouse/pull/109474) ([Manuel](https://github.com/raimannma)).
* `uniqCombined` (キーなし aggregation の場合を含む) および `uniqHLL12` を最適化しました。 [#109794](https://github.com/ClickHouse/ClickHouse/pull/109794) ([Anton Popov](https://github.com/CurtizJ)). [#109831](https://github.com/ClickHouse/ClickHouse/pull/109831) ([Anton Popov](https://github.com/CurtizJ)).
* `arraySort` と `arrayReverseSort` は、lambda なしで呼び出した場合、数値 Array (`Decimal` および `DateTime64` を含む) に対して数倍高速になりました。 [#109832](https://github.com/ClickHouse/ClickHouse/pull/109832) ([Manuel](https://github.com/raimannma)).
* 算術演算の高速パスを使うことで、固定オフセットの time zone (UTC など) における `DateTime` および `DateTime64` 値に対する `addDays`、`addWeeks`、`subtractDays`、`subtractWeeks` を高速化しました。 [#109836](https://github.com/ClickHouse/ClickHouse/pull/109836) ([Manuel](https://github.com/raimannma)).
* テキスト索引の解析を最適化しました。 [#109886](https://github.com/ClickHouse/ClickHouse/pull/109886) ([Anton Popov](https://github.com/CurtizJ)).
* `parallel_hash` join algorithm における非結合行の processing を、さらに 2 つのケースで並列化しました。残余 filter がある場合と、小さい 結合キー (単一レベルの hash map) の場合です。 [#110008](https://github.com/ClickHouse/ClickHouse/pull/110008) ([Hechem Selmi](https://github.com/m-selmi)).
* 組み込み web UI のレスポンス (Play UI、dashboards、静的ファイルハンドラー) は、client の `Accept-Encoding` header に応じて、zstd、gzip、deflate、brotli、lz4、xz、snappy、または bzip2 で圧縮されるようになりました。たとえば `/play` ページは、非圧縮時の約 350 KB から、zstd では 120 KB 未満にまで縮小され、低速な connections での load time を短縮します。すでに圧縮済みのレスポンスはそのまま維持され、CDN と cache の適切な パーティション化 のために `Vary: Accept-Encoding` が出力されます。 [#110108](https://github.com/ClickHouse/ClickHouse/pull/110108) ([Sayantanu Dey](https://github.com/sayantanu-dey)).
* 安全な場合には、フィルタをウィンドウ関数または `LIMIT BY` の下まで押し下げられるようになりました。これにより、それらの外側に書かれた述語条件 (サブクエリを囲む外側の `WHERE`、または `QUALIFY` 内の AND 条件) のうち、ウィンドウの `PARTITION BY` カラムのみ、または `LIMIT BY` のキーカラムのみを参照するもの (`n >= 1` かつ `OFFSET` なしの `LIMIT n BY` の場合) がストレージ層まで到達し、主キーやパーティションの pruning、スキップ索引、プロジェクションを利用できるようになります。たとえば、`SELECT ... row_number() OVER (PARTITION BY key ORDER BY ts) AS rn ... QUALIFY rn = 1 AND key = 'x'` は、テーブル全体を読み込んでウィンドウ処理する必要がなくなりました。[#110114](https://github.com/ClickHouse/ClickHouse/pull/110114) ([Groene AI](https://github.com/groeneai)). [#110116](https://github.com/ClickHouse/ClickHouse/pull/110116) ([Groene AI](https://github.com/groeneai)).
* `join_use_nulls = 1` の場合、外部 join の両側のカラムを参照する null-rejecting な `WHERE` (例: `WHERE l.k = 42 AND r.k = 42`) は、`join_use_nulls = 0` の場合と同様に、join を `INNER` (または `LEFT`/`RIGHT`) に変換し、主キーの pruning も行うようになりました。従来はこのケースでは変換がスキップされ、両方のテーブルが全件読み込まれていました。[#110121](https://github.com/ClickHouse/ClickHouse/pull/110121) ([Groene AI](https://github.com/groeneai)).
* 非 const の `Nullable` 引数を 1 つだけ持つ関数は、新しい null map を割り当ててマージする代わりに、その引数の null map を結果と共有するようになりました。[#110151](https://github.com/ClickHouse/ClickHouse/pull/110151) ([Manuel](https://github.com/raimannma)).
* 主キー索引解析で、hyperrectangle のチェックごとに発生していたヒープ割り当てを回避し、クエリの形状に応じて mark filtering を 5～26% 高速化しました。[#110153](https://github.com/ClickHouse/ClickHouse/pull/110153) ([Manuel](https://github.com/raimannma)).
* 要素ごとの比較ループの代わりにベクトル化された reduction を使うことで、数値配列に対する関数 `arrayMin` と `arrayMax` の性能を約 1.3～1.5 倍向上させました。[#110163](https://github.com/ClickHouse/ClickHouse/pull/110163) ([Manuel](https://github.com/raimannma)).
* `Delta` codec の展開をベクトル化しました。8/16/32-bit の data types ではデコードが 1.5～5 倍高速化され、`Delta` 圧縮されたカラムのスキャンも最大 20% 高速になりました。[#110189](https://github.com/ClickHouse/ClickHouse/pull/110189) ([Manuel](https://github.com/raimannma)).
* 定数 needle を使う `Enum` カラム上の文字列検索関数 (`like`、`position`、`match`、`countSubstrings`、`hasToken` など) を高速化しました。各行を検索する代わりに、重複しない enum 名だけを検索し、その結果を各行に対応付けます。[#110325](https://github.com/ClickHouse/ClickHouse/pull/110325) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ベクトル化されたバッチ処理により、aggregate functions `groupBitOr`/`groupBitAnd`/`groupBitXor` と variance family (`varPop`, `varSamp`, `stddevPop`, `stddevSamp`, `skewPop`, `skewSamp`, `kurtPop`, `kurtSamp`, `covarPop`, `covarSamp`, `corr`) を高速化しました。予測しにくい条件で `-If` combinator を使う場合は最大 4 倍、これを使わない variance family でも最大 3 倍高速です。[#110461](https://github.com/ClickHouse/ClickHouse/pull/110461) ([Manuel](https://github.com/raimannma)).
* テキスト索引の解析 (どのグラニュールを読むかを選ぶ段階) を高速化しました。すべてのグラニュールを順に調べる代わりに exclusion search を使用し、各 range check ごとの一時 bitmap 作成も回避します。[#110530](https://github.com/ClickHouse/ClickHouse/pull/110530) ([Anton Popov](https://github.com/CurtizJ)).
* 自動 `PREWHERE` 最適化で `Map` サブカラムのオンディスクサイズも考慮するようにしました。これにより、[#99200](https://github.com/ClickHouse/ClickHouse/pull/99200) で導入された `PREWHERE` の性能回帰を修正しました。[#110462](https://github.com/ClickHouse/ClickHouse/issues/110462) の一部です。[#110623](https://github.com/ClickHouse/ClickHouse/pull/110623) ([Pavel Kruglov](https://github.com/Avogar)).
* テキストからの `UUID` 値のパースを高速化しました (例: `JSONExtract` から `LowCardinality(UUID)`、`toUUID`、`CAST AS UUID`) 。16 進数の検証と変換を 2 回ではなく 1 回の走査で行うようにしました。[#110625](https://github.com/ClickHouse/ClickHouse/pull/110625) ([Groene AI](https://github.com/groeneai)).
* より高速なソートおよびハッシュテーブル実装を使用することで、`timeSeries*ToGrid` 集約関数の性能を大幅に向上させました。[#110875](https://github.com/ClickHouse/ClickHouse/pull/110875) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* `SELECT * FROM t WHERE id` のようなクエリで、`id` カラムに対する索引スキップが使われるようになりました。[#89222](https://github.com/ClickHouse/ClickHouse/issues/89222) をクローズします。[#89603](https://github.com/ClickHouse/ClickHouse/pull/89603) ([Aditya Chopra](https://github.com/adityachopra29)).
* JOIN 並べ替え最適化の際に、式ステップを `JOIN` ステップにマージできるようにする `query_plan_merge_expression_into_join` 設定 (既定で有効) を追加しました。これにより、JOIN をラップするサブクエリ (たとえば、計算済みカラムを持つサブクエリ内に `JOIN` がある場合) をまたいだ JOIN 並べ替えが可能になり、複雑な JOIN ツリーをより適切に最適化できます。[#98533](https://github.com/ClickHouse/ClickHouse/pull/98533) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 同じ式に対する複数の比較条件を含む `AND` チェーンを最適化しました。矛盾を検出し (例: `a < 3 AND a > 5` → `false`) 、冗長な条件を削除します (例: `a = 3 AND a < 5` → `a = 3`) 。[#99736](https://github.com/ClickHouse/ClickHouse/pull/99736) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* `UNION` クエリの複数の分岐から参照されるマテリアライズド CTE は、1 回だけマテリアライズされ、すべての分岐で共有されるようになりました。従来は各分岐ごとに CTE のコピーが作成され、それぞれがインライン展開されて個別に評価されていました。[#102107](https://github.com/ClickHouse/ClickHouse/pull/102107) ([Dmitry Novik](https://github.com/novikd)).
* `BackgroundSchedulePool` のスレッドは、サーバー起動時にまとめて作成されるのではなく、必要に応じて遅延作成されるようになりました。新しいサーバー設定 `background_schedule_pool_initial_size` (既定値 `16`) で事前生成するワーカー数を制御し、必要に応じてプールは `background_schedule_pool_size` まで拡張されます。これにより、低負荷のサーバーでアイドルスレッド数を削減できます。[#85265](https://github.com/ClickHouse/ClickHouse/issues/85265) をクローズします。[#105066](https://github.com/ClickHouse/ClickHouse/pull/105066) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `JSON` 型の高度な共有データシリアライゼーションにおいて、不要なマークファイルの読み込みをスキップするようにしました。[#107051](https://github.com/ClickHouse/ClickHouse/pull/107051) ([Pavel Kruglov](https://github.com/Avogar)).
* 関数 `pointInPolygon` 用に前処理された定数 Polygon の cache は、クエリ間およびスレッド間で共有されるようになり、新しいサーバー設定 `point_in_polygon_cache_size` (デフォルト 256 MiB、`0` で cache を無効化、実行時に変更可能) によって上限が設定されました。以前は、この cache は前処理済みの各 Polygon について最大 `max_threads` 個のコピーを保持し、異なる Polygon が増えるにつれて際限なく肥大化し、サーバーを再起動するまで解放されませんでした。この cache は `SYSTEM DROP POINT IN POLYGON CACHE` でクリアでき、現在の使用量は `system.metrics` に `PointInPolygonCacheBytes`、`PointInPolygonCacheCells`、`PointInPolygonCacheSizeLimit` として報告されます。[#106393](https://github.com/ClickHouse/ClickHouse/issues/106393) をクローズしました。[#107247](https://github.com/ClickHouse/ClickHouse/pull/107247) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Keeper は、スナップショットをディスクにシリアライズして書き込む間や、スナップショットをディスク間で移動する間、内部の snapshots lock を保持しなくなりました。これにより、他ノードへのスナップショット転送や Raft 処理が、ローカルでのスナップショット作成によって停止しなくなります。[#107595](https://github.com/ClickHouse/ClickHouse/pull/107595) ([Antonio Andelic](https://github.com/antonio2368)).
* ファイルシステムキャッシュの background eviction (`keep_free_space_ratio` 設定で制御) を並列化しました。並列度を制御するための新しい設定 `keep_free_space_eviction_threads` を追加し、`keep_free_space_remove_batch` のデフォルト値を `100` から `250` に引き上げました。[#108147](https://github.com/ClickHouse/ClickHouse/pull/108147) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Azure Blob Storage の read-then-write copy (ネイティブ copy が利用できない場合にバックアップで使用) において、同時にステージングされるパーツ数を `max_inflight_parts_for_one_file` に制限し、多数の大きなファイルを並列にコピーする際の過剰なメモリ使用量を防止します。[#108232](https://github.com/ClickHouse/ClickHouse/pull/108232) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* 3 種類すべてのテキスト索引 cache をグローバルに有効化しました。以前はクエリ内でのみ有効でした。また、posting lists cache size は現在ゼロになっており、実質的に再び無効化されています。これは、posting lists はサイズが大きく、cache するコストが高すぎるためです。[#108274](https://github.com/ClickHouse/ClickHouse/pull/108274) ([Robert Schulze](https://github.com/rschu1ze)).
* marks の loading 中に、ストリーミング方式の in-memory marks 圧縮を追加し、Peak memory usage を削減します。[#108285](https://github.com/ClickHouse/ClickHouse/issues/108285) をクローズしました。[#108325](https://github.com/ClickHouse/ClickHouse/pull/108325) ([Pavel Kruglov](https://github.com/Avogar)).
* 新しいファイルシステムキャッシュ設定 `reserve_granularity` (デフォルト 4 MiB) は、より粗い granule 単位であらかじめ領域を予約することで、ファイルシステムキャッシュの領域予約ホットパスにおける lock contention を軽減します。[#108369](https://github.com/ClickHouse/ClickHouse/pull/108369) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ファイルシステムキャッシュのメタデータ (file segment ごとおよび key ごと) で使用するメモリ量を削減しました。[#108477](https://github.com/ClickHouse/ClickHouse/pull/108477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `database` および `table` カラムに対する `WHERE` filters を含む `system.iceberg_history` へのクエリは、一致する database のみを参照するようになりました。これにより、サーバー上に無関係なリモート database が多数ある場合に時間を節約できます。[#108492](https://github.com/ClickHouse/ClickHouse/pull/108492) ([Den Kalantaevskii](https://github.com/Diskein)).
* ファイルシステムキャッシュ内の不要な locking を削除し、lock contention を軽減しました。[#108932](https://github.com/ClickHouse/ClickHouse/pull/108932) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `BACKUP` および `RESTORE` のメタデータ処理におけるメモリ使用量を削減しました。バックアップを開く際 (`RESTORE` 用、またはインクリメンタル `BACKUP` のベースとして) 、`.backup` メタデータをメモリ上の XML ドキュメントツリー全体に読み込むのではなく、ストリームとして解析するようになりました。これにより、大規模なバックアップ (特にインクリメンタルバックアップ) で、複数 GB に及ぶ DOM ツリーの割り当てを回避できます。[#109107](https://github.com/ClickHouse/ClickHouse/pull/109107) ([Julia Kartseva](https://github.com/jkartseva))。また、`BACKUP` の完了処理では、すべてのファイルのファイル情報を一時ベクターにコピーしなくなったため、数百万ファイル規模のバックアップで一時的に数 GB を消費することがなくなりました。[#109861](https://github.com/ClickHouse/ClickHouse/pull/109861) ([Julia Kartseva](https://github.com/jkartseva))。さらに、バックアップエントリの書き込み時にも、現在のホストのファイル情報リストをコピーしなくなりました。[#111162](https://github.com/ClickHouse/ClickHouse/pull/111162) ([Julia Kartseva](https://github.com/jkartseva)).
* アグリゲーターのメモリ消費を削減しました。[#109224](https://github.com/ClickHouse/ClickHouse/pull/109224) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `File` テーブルエンジン経由で読み取るローカル `Parquet` ファイルで、クエリ条件キャッシュをサポートしました (従来は object storage とデータレイクのみ対応) 。[#109247](https://github.com/ClickHouse/ClickHouse/pull/109247) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* テキスト索引ヘッダーキャッシュのメモリ使用量を 2～2.5 倍削減しました。より多くのデータパーツのヘッダーが cache (設定 `text_index_header_cache_size`) に収まるようになり、テキスト検索クエリでのディスク読み取りが減少します。[#109332](https://github.com/ClickHouse/ClickHouse/pull/109332) ([Anton Popov](https://github.com/CurtizJ)).
* 転置ベクトル距離関数 `L2DistanceTransposed`、`cosineDistanceTransposed`、`dotProductTransposed` が、`Nullable(QBit)` カラムに対して部分的な bit plane 読み取り optimization を適用するようになり、カラム全体ではなく、必要な bit planes のみを読み取るようになりました。[#109358](https://github.com/ClickHouse/ClickHouse/pull/109358) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `IS NOT DISTINCT FROM` および `IS TRUE` が、`=` と同様に primary-key と MinMax索引を使ってグラニュールを絞り込めるようになりました。従来は `k IS NOT DISTINCT FROM 42` と `(k = 42) IS TRUE` はすべてのグラニュールを scan していました。[#110006](https://github.com/ClickHouse/ClickHouse/pull/110006) ([Groene AI](https://github.com/groeneai)).
* プールされた接続は、使用前に毎回 ping されなくなりました。これにより、再利用される接続ごとに追加されていた `Ping`-`Pong` のラウンドトリップがなくなり、分散クエリおよび `clickhouse-benchmark` のレイテンシーが低減します。古くなったプールされた接続は、タイムアウト 0 の poll (ラウンドトリップを追加しない non-blocking チェック) で検出し、再接続によって復旧します。[#110068](https://github.com/ClickHouse/ClickHouse/pull/110068) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* TLS 上のプールされた HTTP keep-alive 接続 (HTTPS、S3) で発生していた不要な再接続を修正しました。古い接続のチェックではソケットに対して `poll` を使用していましたが、未読の TLS post-handshake レコード (session ticket または `KeyUpdate`) を保持している有効な TLS 接続を、誤って closed と判定していました。現在は、通常のソケットでは non-blocking の `MSG_PEEK`、TLS ソケットでは `SSL_peek`/`SSL_has_pending` を使用するようになり、正常な TLS shutdown と、一部しか到着していない TLS レコードも正しく検出できます。[#110402](https://github.com/ClickHouse/ClickHouse/pull/110402) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* TopK dynamic filtering (`ORDER BY ... LIMIT k`) で高速化されるクエリが、クエリ条件キャッシュをより有効に活用するようになりました。クエリに 遅延マテリアライゼーション が適用される場合でも cache が populate されるようになり、同じ `WHERE` predicate を持つ通常のクエリが以前に書き込んだ エントリ を再利用できるようになりました。[#110507](https://github.com/ClickHouse/ClickHouse/pull/110507) ([Shankar Iyer](https://github.com/shankar-iyer)).
* ワイルドカード (`%`, `_`) を含まない `LIKE`/`NOT LIKE` パターンでは、より広い接頭辞範囲ではなく、正確な主キー範囲を使うようになりました。これにより、同等の `=`/`!=` 述語と同じ数のグラニュールを読み取ります。 [#107077](https://github.com/ClickHouse/ClickHouse/pull/107077) ([Groene AI](https://github.com/groeneai)).
* ファイルシステムキャッシュ経由でデータを読み取る際の、不要なファイルセグメントのロック競合 (26.1 で導入された性能低下) を修正しました。 [#109577](https://github.com/ClickHouse/ClickHouse/pull/109577) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `Tuple` サブカラムに定義されたスキップ索引が、`tupleElement(t, 'name')`、`tupleElement(t, N)`、または `t.N` でフィールドにアクセスし、同じクエリ内で完全な tuple も読み取る場合 (例: `SELECT *`) に使われない問題を修正しました。これらすべての形式で、名前付きサブカラムアクセス `t.name` と同様にグラニュールを絞り込めるようになりました。 [#110056](https://github.com/ClickHouse/ClickHouse/pull/110056) ([Groene AI](https://github.com/groeneai)).
* `prefer_localhost_replica` がローカルレプリカを選択した場合に、`Distributed` tables に対する `ORDER BY ... LIMIT` クエリが遅くなる問題を修正しました。ローカルシャードの実行プランから preliminary limit が削除され、これにより遅延マテリアライゼーションと動的 top-K フィルタリングが妨げられなくなりました。 [#110136](https://github.com/ClickHouse/ClickHouse/pull/110136) ([Michael Jarrett](https://github.com/EmeraldShift)).
* テキスト索引が、単なるカラムではなく式に対して定義されている場合に、`ILIKE` 演算子で使われない問題を修正しました (たとえば `lower(...)` プリプロセッサを伴う `assumeNotNull(col)`) 。このようなクエリは、索引を使わずにすべてのグラニュールを読み取っていました。これにより [#110350](https://github.com/ClickHouse/ClickHouse/issues/110350) をクローズします。 [#110595](https://github.com/ClickHouse/ClickHouse/pull/110595) ([Elmi Ahmadov](https://github.com/ahmadov)).
* ファイルシステムキャッシュでのロック競合を低減しました。cache から読み取るクエリは、エントリの LRU priority を更新する際に、優先度キューのロックでブロックされなくなりました。 [#109065](https://github.com/ClickHouse/ClickHouse/pull/109065) ([Antonio Andelic](https://github.com/antonio2368)).
* フィルタ専用の `postprocessor` 式 (たとえば `if(..., '', token)`) を使うテキスト索引クエリでは、空の token を行ごとにマテリアライズするのではなく、先に破棄するようになり、性能が向上しました。 [#109049](https://github.com/ClickHouse/ClickHouse/pull/109049) ([Elmi Ahmadov](https://github.com/ahmadov)).
* system log queue でのロック競合を低減し、高負荷なクラスターでのクエリの tail latency を改善しました。 [#110539](https://github.com/ClickHouse/ClickHouse/pull/110539) ([Sean Haynes](https://github.com/seandhaynes)).
* 非定数の needle を持つ substring search functions (`position`, `countSubstrings`, `multiSearch*`, `replaceAll`, `replaceOne`、およびそれらの大文字小文字を区別しない版と UTF-8 版) について、単純な実装の代わりに行ごとのパスで SIMD 対応の string searcher を使うことで、最大 1.5 倍の性能向上を実現しました。 [#110580](https://github.com/ClickHouse/ClickHouse/pull/110580) ([Raúl Marín](https://github.com/Algunenano)).
* 遅延マテリアライゼーションが、`ORDER BY` がなくても、`FINAL`、フィルタ、小さな `LIMIT` を伴う `ReplacingMergeTree` クエリに適用されるようになりました。フィルタと `FINAL` merge に不要なカラムは、limit 適用後に残った行に対してのみ取得されるため、選択性の高いフィルタで wide カラムを選択するこの種のクエリが大幅に高速化されます。これは `query_plan_optimize_lazy_materialization` と `query_plan_max_limit_for_lazy_materialization` で制御されます。 [#110722](https://github.com/ClickHouse/ClickHouse/pull/110722) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* deduplication が有効で、1 回の flush が複数のパーティションに分割される場合の非同期 INSERT の性能を改善しました。ClickHouse は、各パーティションごとに deduplication hash を再計算するのではなく、一度計算したものをパーティション間で再利用するようになりました。 [#111150](https://github.com/ClickHouse/ClickHouse/pull/111150) ([Valery Petrov](https://github.com/valerypetrov)).

<div id="267-improvement">
  #### 改善
</div>

* 設定 `input_format_csv_missing_nullable_as_empty_string` を追加しました (デフォルトでは無効) 。有効にすると、CSV 入力の `Nullable(String)` カラムで欠損値があった場合、`input_format_csv_empty_as_default` の設定にかかわらず、`NULL` ではなく空の `String` として読み込まれます。[#58225](https://github.com/ClickHouse/ClickHouse/pull/58225) ([kevinyhzou](https://github.com/KevinyhZou)). [#107577](https://github.com/ClickHouse/ClickHouse/pull/107577) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数 `toDateOrNull`、`toDateTimeOrNull`、`toDateTime64OrNull` が、すべてのネイティブ整数型の整数引数を受け付けるようになりました (`toDate`、`toDateTime`、`toDateTime64` と同様に解釈され、必要に応じてタイムゾーン引数も指定できます) 。結果型の範囲外の値に対しては `NULL` を返します。たとえば、`toDateTimeOrNull(1583851242, 'Asia/Shanghai')` は `2020-03-10 22:40:42` を返し、`toDateTimeOrNull(4294967296)` は `NULL` を返します。[#79791](https://github.com/ClickHouse/ClickHouse/pull/79791) ([Jitendra](https://github.com/jitendra1411)).
* `system.grants` テーブルに `is_wildcard` カラムを追加しました。このカラムは、権限付与でワイルドカードのプレフィックス一致を使用しているかどうか (例: `GRANT SELECT ON db*.*`) を示します。これまでは、同じ名前に対するワイルドカード指定の権限付与と完全一致の権限付与を `system.grants` 上で区別できませんでした。[#92835](https://github.com/ClickHouse/ClickHouse/issues/92835) をクローズします。[#98577](https://github.com/ClickHouse/ClickHouse/pull/98577) ([DQ](https://github.com/il9ue)).
* HTTP インターフェイスで Snappy 圧縮 (`Accept-Encoding: snappy`) を利用できるようにし、汎用 `file`/`url` の snappy I/O で Hadoop Snappy ブロックフォーマットと Snappy framing フォーマットを選択するための `snappy_mode` 設定を追加しました。[#100752](https://github.com/ClickHouse/ClickHouse/pull/100752) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `analyzer_compatibility_allow_non_aggregate_in_having` 設定のもとで、旧アナライザとの互換性をサポートしました。有効にすると、非集約の連言条件が `HAVING` から `WHERE` に移されます。[#104232](https://github.com/ClickHouse/ClickHouse/pull/104232) ([Dmitry Novik](https://github.com/novikd)).
* 新しいサーバー設定 `memory_worker_rss_speculative_reserve_ratio` (デフォルト値は `1.0`) を追加しました。これにより、サンプル間で RSS の増加がトラッカーの記録を上回った場合、グローバル memory tracker は観測された RSS に加えて推測的にメモリを予約します。これにより、割り当てはより早い段階で `MEMORY_LIMIT_EXCEEDED` となり、kernel OOM-killer が先に発動する可能性を低くできます。推測を無効にするには、ratio を `0` に設定してください。[#104976](https://github.com/ClickHouse/ClickHouse/pull/104976) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ファイルシステムキャッシュのエビクション状況に関するオプトインの Prometheus メトリクス (`filesystem_cache_evictions_total`、`filesystem_cache_evicted_bytes_total`、`filesystem_cache_evicted_segment_hits`、`filesystem_cache_evicted_segment_size_bytes`、および `user_id` ラベル付きのユーザー単位バリアント) を追加しました。これらは `system.dimensional_metrics`、`system.histogram_metrics`、および Prometheus エンドポイントを通じて、各キャッシュごとに公開されます。制御にはキャッシュディスク設定 `expose_prometheus_eviction_metrics` と `expose_prometheus_eviction_metrics_per_user` (どちらもデフォルトではオフ) を使用し、`SYSTEM RELOAD CONFIG` によって実行時に切り替えられます。[#105020](https://github.com/ClickHouse/ClickHouse/pull/105020) ([Sacheendra Talluri](https://github.com/sacheendra)).
* `EXPLAIN [PLAN] actions=1, compact=1, pretty=1` をデフォルトにしました。[#105036](https://github.com/ClickHouse/ClickHouse/pull/105036) ([Kirill Kopnev](https://github.com/Fgrtue)).
* `delta-kernel-rs` (`DeltaLake` インテグレーションを支えるライブラリ) を v0.23.0 に更新しました。[#105861](https://github.com/ClickHouse/ClickHouse/pull/105861) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* `clickhouse-disks` に `du` および `wc` コマンドを追加しました。これらはそれぞれ、指定したファイルまたはディレクトリの合計サイズをバイト単位で表示し、ファイル内のバイト数、行数、単語数を表示します。[#106268](https://github.com/ClickHouse/ClickHouse/pull/106268) ([Asya Shneerson](https://github.com/asya-ch)).
* 新しい非同期メトリクス `UntrackedMemory` (`system.asynchronous_metrics` で確認可能) を追加しました。これは、スレッドによってすでに割り当てられているものの、グローバルなメモリ追跡カウンターにはまだ計上されていないメモリ量を報告します。各スレッドは小さな割り当てをローカルに蓄積し、まとめて報告します。これにより、`MemoryTracking` とプロセスの実際のメモリ使用量との食い違いを説明しやすくなります。`MEMORY_LIMIT_EXCEEDED` エラーメッセージにも未追跡メモリ量が含まれるようになり、クエリまたはサーバーがメモリ制限に達した理由を把握しやすくなりました。[#106386](https://github.com/ClickHouse/ClickHouse/pull/106386) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* ClickStack (オブザーバビリティ UI) をバージョン 2.28.0 にアップグレードしました。[#106406](https://github.com/ClickHouse/ClickHouse/pull/106406) ([Aaron Knudtson](https://github.com/knudtty)).
* `dotProduct` で `BFloat16` をサポートし、SIMD パスをバッチ処理化することでパフォーマンスも改善しました。[#106569](https://github.com/ClickHouse/ClickHouse/pull/106569) ([Nikita Taranov](https://github.com/nickitat)).
* `max_named_collection_num_to_throw`、`max_table_num_to_throw`、`max_replicated_table_num_to_throw`、`max_view_num_to_throw`、`max_dictionary_num_to_throw`、`max_database_num_to_throw` の各設定を、サーバーの再起動なしで変更できるようにしました。[#106821](https://github.com/ClickHouse/ClickHouse/pull/106821) ([Maxim Orlovsky](https://github.com/UberDever)).
* `s3_storage_class_name` 設定で、`STANDARD` および `INTELLIGENT_TIERING` に加えて、`REDUCED_REDUNDANCY`、`STANDARD_IA`、`ONEZONE_IA`、`GLACIER_IR`、`EXPRESS_ONEZONE` もサポートしました。[#107251](https://github.com/ClickHouse/ClickHouse/pull/107251) ([Aditya Kumar](https://github.com/adityaksolves)).
* `MaterializedPostgreSQL` データベースエンジンに、作成時設定 `materialized_postgresql_use_extended_date_and_time_types` を追加しました。デフォルトでは (有効時) 、PostgreSQL の `date`/`timestamp` カラムは `Date32`/`DateTime64` として推論されます。`CREATE DATABASE` 時にこれを `0` に設定すると、より狭い `Date`/`DateTime` 型として推論されます。この設定は `MaterializedPostgreSQL` テーブルエンジンには適用されません。[#107428](https://github.com/ClickHouse/ClickHouse/pull/107428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SOME` / `ALL` 配列数量子 (`expr OP SOME(array)` / `expr OP ALL(array)`) で、キーワード比較述語 `IS DISTINCT FROM` および `IS NOT DISTINCT FROM`、さらに文字列検索述語 `LIKE`、`ILIKE`、`NOT LIKE`、`NOT ILIKE`、`REGEXP` もサポートするようになりました。これらは `arrayExists` / `arrayAll` に書き換えられます。[#107454](https://github.com/ClickHouse/ClickHouse/pull/107454) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SQLite データベースを開くのに失敗した場合 (たとえば、`sqlite` テーブル関数または `SQLite` データベースエンジンに、開けないパスが指定された場合) に発生していたメモリリークを修正しました。[#107807](https://github.com/ClickHouse/ClickHouse/pull/107807) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI (`play.html`) で、実行ショートカットのヒントは常に `Ctrl/Cmd+Enter` を表示するのではなく、Mac では `Cmd+Enter`、その他のプラットフォームでは `Ctrl+Enter` を表示するようになりました。また、ヒント内の `, +Shift to run all` は、複数のクエリがある場合にのみ表示されます。[#107817](https://github.com/ClickHouse/ClickHouse/pull/107817) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#108957](https://github.com/ClickHouse/ClickHouse/pull/108957) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Alias` table engine で、ターゲットテーブルが `MergeTree` ファミリーの場合、並列レプリカでの読み取りがサポートされるようになりました。[#107830](https://github.com/ClickHouse/ClickHouse/pull/107830) ([Kai Zhu](https://github.com/nauu)).
* `uniqCombined64` スケッチに基づく、`uniq` 統計の軽量な代替である `uniq_v2` カラム STATISTICS タイプを追加しました。[#107863](https://github.com/ClickHouse/ClickHouse/pull/107863) ([Han Fei](https://github.com/hanfei1991)). また、`minmax` カラム STATISTICS タイプは非推奨となり、`auto_statistics_types` のデフォルト値は `basic, uniq_v2` に変更されました。[#108680](https://github.com/ClickHouse/ClickHouse/pull/108680) ([Han Fei](https://github.com/hanfei1991)).
* AI 関数 (`aiGenerate`, `aiEmbed`, `aiClassify`, `aiExtract`, `aiTranslate`) は、`ai_function_max_retries` が設定されている場合、一時的なネットワーク障害 (接続リセット、TLS 接続失敗、タイムアウト、到達不能なアドレス) で再試行するようになり、`url` table function の再試行動作と一致するようになりました。以前は、provider 側の HTTP エラーレスポンスのみが再試行対象でした。[#107927](https://github.com/ClickHouse/ClickHouse/pull/107927) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `MergeTree` table への `INSERT` は、多数の part を書き込んでいる間も、強制終了後に長時間動作し続ける可能性があるのではなく、クエリのキャンセルと `max_execution_time` を反映するようになりました。[#107929](https://github.com/ClickHouse/ClickHouse/pull/107929) ([Michael Kolupaev](https://github.com/al13n321)).
* Web UI (`play.html`) で、ウェブターミナルのアイコンを中ボタンクリックまたは Ctrl/Cmd/Shift+クリックで新しいブラウザータブに開けるようになりました。[#108006](https://github.com/ClickHouse/ClickHouse/pull/108006) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クライアントの AI SQL generation では、configuration で `ai.temperature` によって明示的に設定されていない限り、`temperature` parameter を送信しなくなりました。これにより、`temperature` parameter を受け付けないモデルでも AI SQL generation が正しく動作するようになります。[#108014](https://github.com/ClickHouse/ClickHouse/pull/108014) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* オープンソースビルドに `system.masking_policies` table と `SHOW MASKING POLICIES` による introspection を追加しました。マスキングポリシー自体は引き続き ClickHouse Cloud の機能であるため、オープンソースビルドでは table は空のままですが、introspection クエリが error で失敗することはなくなりました。[#108030](https://github.com/ClickHouse/ClickHouse/pull/108030) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Keeper ベースの Kafka consumer は、replicas 間で一時的なパーティション lock を取得する順序をランダム化するようになり、パーティション分散の公平性が向上し、lock contention が軽減されます。以前は、意図したシャッフルが効果を発揮していませんでした。[#108033](https://github.com/ClickHouse/ClickHouse/pull/108033) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.completions` と WASM ベースの SQL lexer に基づくオートコンプリートを Web UI (`play.html`) に追加しました。[#108059](https://github.com/ClickHouse/ClickHouse/pull/108059) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client` と `clickhouse-local` で、カーソルが入力末尾にあるときに、最もよく一致する候補の入力中オートコンプリートヒント (インラインの "ghost" テキスト) が表示されるようになりました。関連性の高い候補 (最近使用したものや、クエリ内にすでに含まれている識別子) が優先的に上位表示されます。Up/Down (または Ctrl-Up/Ctrl-Down) で移動し、単一のヒントまたは選択中のヒントを Tab または Right で確定できます。選択中のヒントは Enter でも確定できます。Tab では従来の補完リストも開きます。新しい `--hints` オプションで制御されます (デフォルトで有効、`--highlight` が必要です) 。[#108070](https://github.com/ClickHouse/ClickHouse/pull/108070) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `QBit` データ型で `length` 関数をサポートしました。ベクトルの次元を定数として返します。[#108071](https://github.com/ClickHouse/ClickHouse/pull/108071) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、`QBit` から `Array` への `CAST` もサポートし、元のベクトルを復元できるようになりました。これは既存の `Array` から `QBit` への変換の逆です。[#108072](https://github.com/ClickHouse/ClickHouse/pull/108072) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* REST データレイクカタログ (OneLake など) へのリクエストに、ClickHouse の `User-Agent` ヘッダーが含まれるようになりました。[#108117](https://github.com/ClickHouse/ClickHouse/pull/108117) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `arrayFold` がクエリのキャンセルと `max_execution_time` を考慮するようになりました。従来は、非常に長い配列に対する fold は 1 回の関数呼び出し内で最後まで実行され、中断できなかったため、`KILL QUERY` や時間制限は fold の完了まで無視されていました。[#108192](https://github.com/ClickHouse/ClickHouse/pull/108192) ([Groene AI](https://github.com/groeneai)).
* `MVTEncodeGeom` は、clip の前に geometry を整数ピクセルグリッドにスナップし、`wagyu` ライブラリで polygons を clip するようになりました。これにより、clip 後の出力は有効になり (自己交差する ring は修復されます) 、境界に揃えられ、PostGIS `ST_AsMVTGeom` と一致します。[#108248](https://github.com/ClickHouse/ClickHouse/pull/108248) ([Saarthak Gupta](https://github.com/saarthak2002)).
* フェーズごとのクエリ実行前 `ProfileEvents` として、`QueryParseMicroseconds`、`QueryAnalysisMicroseconds`、`QueryPlanBuildMicroseconds`、`QueryPipelineBuildMicroseconds` を追加しました。これにより、クエリ実行前のどこで時間が使われているか (パース、解析、クエリプランの構築、パイプラインの構築) が分かるようになり、`system.query_log` と `system.events` で利用できます。[#108282](https://github.com/ClickHouse/ClickHouse/pull/108282) ([Jordi Villar](https://github.com/jrdi)).
* `ALTER TABLE` により `max_query_size` を超えるテーブルメタデータが生成される場合、その操作は事前に拒否されるようになりました。これにより、DDL distribution やレプリカ復旧などのコンポーネントによってテーブルが読み込めなくなる事態を防げます。[#108283](https://github.com/ClickHouse/ClickHouse/pull/108283) ([Andrew Kravchuk](https://github.com/lockie)).
* `system.backups` と `system.backup_log` に `settings` および `engine_settings` カラムを追加しました。`settings` には、その操作で要求されたバックアップ/restore 固有の設定 (例: `allow_s3_native_copy`、`deduplicate_files`、`structure_only`) が格納されます。`engine_settings` には、バックアップ engine の reader と writer が実際に使用した設定 (例: エンドポイント設定のマージ後に要求内容と異なる可能性がある `allow_native_copy` などの S3 リクエスト設定) が格納されます。これにより、`BACKUP`/`RESTORE` 操作が実際にどの設定で実行されたかを確認できます。[#108334](https://github.com/ClickHouse/ClickHouse/pull/108334) ([Julia Kartseva](https://github.com/jkartseva)).
* `system.documentation` に `source` カラムを追加し、各エンティティのドキュメントが定義されているソースファイルのパスを格納できるようになりました。このテーブルでは、圧縮 codec、profile events、current メトリクス、asynchronous メトリクス、さらにシステムテーブル自体 (そのカラムを含む) もドキュメント化されるようになり、settings のドキュメントには type とデフォルト値も含まれるようになりました。[#108346](https://github.com/ClickHouse/ClickHouse/pull/108346) ([Alexey Milovidov](https://github.com/alexey-milovidov))。また、setting のデフォルト値が空の場合は、空のバッククォートではなく *empty string* として表示されるようになりました。[#108708](https://github.com/ClickHouse/ClickHouse/pull/108708) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `kqueue` 上に epoll ベースの polling primitives を実装することで、macOS でリモートレプリカからの asynchronous な reads (`async_socket_for_remote`) をサポートしました。これにより macOS では、distributed queries が shard を直列ではなく並列に読み取れるようになります。[#108403](https://github.com/ClickHouse/ClickHouse/pull/108403) ([Raúl Marín](https://github.com/Algunenano))。
* バイナリ math functions で `BFloat16` をサポートしました。[#108442](https://github.com/ClickHouse/ClickHouse/pull/108442) ([Zhang Yifan](https://github.com/zhangyifan27))。
* `MergeTree` が、ブロックごとに異なる codec を使う compressed stream を読み取れるようになりました。これは adaptive codec selection のための read 側の prerequisite です ([#105404](https://github.com/ClickHouse/ClickHouse/issues/105404)) 。[#108592](https://github.com/ClickHouse/ClickHouse/pull/108592) ([Raufs Dunamalijevs](https://github.com/rienath))。
* `max_threads` などの settings の自動値は、`system.settings` で `'auto(8)'` ではなく `auto(8)` と表示されるようになりました。これまで値を囲んでいたシングルクォートは、長年値の一部として組み込まれていた artifact でした。バージョン間の互換性は維持されており、古いサーバーから受信した settings の解析時には、従来のクォート付き形式も引き続き受け付けます。[#108657](https://github.com/ClickHouse/ClickHouse/pull/108657) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `/schema` Web UI の使い勝手を複数改善しました。Enter でのスキーマ読み込み、テーマ対応スクロールバー、読みやすい table 名、独立した table の database ごとの一貫したグループ化、ドラッグ中のテキスト選択の無効化、さらに `play` スタイルの authentication form (Credential Management API、URL で渡された credentials からのパスワード除去、認証情報のライブ検証) を追加しています。[#108724](https://github.com/ClickHouse/ClickHouse/pull/108724) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* テキスト索引の lazy posting-list apply mode は experimental ではなくなり、`allow_experimental_text_index_lazy_apply` なしで `text_index_posting_list_apply_mode = 'lazy'` を指定して選択できるようになりました。また、density-threshold setting は `text_index_density_threshold` から `text_index_lazy_intersection_density_threshold` に名前変更されました。[#108814](https://github.com/ClickHouse/ClickHouse/pull/108814) ([Anton Popov](https://github.com/CurtizJ))。
* Databricks Delta Sharing の Iceberg REST endpoint 向けに、`DataLakeCatalog` に新しい `delta_sharing` カタログ type を追加しました。この endpoint ではネームスペースがフラットで、`parent` listing filter は無視されます。そのような endpoints では `catalog_type = 'rest'` の代わりにこれを使用してください。そうしないと `SHOW TABLES` がハングする可能性があります。[#108865](https://github.com/ClickHouse/ClickHouse/pull/108865) ([Seva Potapov](https://github.com/seva-potapov))。
* `clickhouse-client`/`clickhouse-local` に新しいオプション `--echo-query-separator` を追加しました。これにより、整形して echo されたクエリの前にカスタム区切り文字を表示できるようになり、入力したクエリと再整形後の echo を見分けやすくなります。デフォルトでは無効です。[#108888](https://github.com/ClickHouse/ClickHouse/pull/108888) ([David Meng](https://github.com/davidmenggx))。
* Web UI のデータベースパネルを改善しました。データベース名を展開すると、その横にテーブル数が括弧付きで表示されます。[#108891](https://github.com/ClickHouse/ClickHouse/pull/108891) ([Alexey Milovidov](https://github.com/alexey-milovidov))。展開したデータベースの横にある更新ボタンで、テーブル一覧を再読み込みできます。[#108958](https://github.com/ClickHouse/ClickHouse/pull/108958) ([Alexey Milovidov](https://github.com/alexey-milovidov))。パネルを再度開くと、前回展開していたデータベースが復元されます。[#108964](https://github.com/ClickHouse/ClickHouse/pull/108964) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `EXPLAIN WHATIF` で skip-index の複合的な効果を計算できるようにしました。既存の適切な仮想インデックスすべての積集合に対するデータ比率を表示します。[#108934](https://github.com/ClickHouse/ClickHouse/pull/108934) ([Yarik Briukhovetskyi](https://github.com/yariks5s))。
* Web UI でセル内のリンクをクリックしてページに戻ると、結果テーブルの横スクロール位置がリセットされる問題を修正しました。[#108941](https://github.com/ClickHouse/ClickHouse/pull/108941) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `MySQL` のデータベースエンジン、テーブルエンジン、テーブル関数で、MySQL の空間カラム型 (`LINESTRING`、`POLYGON`、`MULTILINESTRING`、`MULTIPOLYGON`、および汎用の `GEOMETRY`) を、`String` ではなく対応する ClickHouse の幾何型にマッピングするようになりました。これは `mysql_datatypes_support_level` 設定の新しい `geometry` フラグで制御され、デフォルトで有効です。`POINT` は引き続き常に `Point` に変換されます。汎用の `GEOMETRY` カラムは包括的な `Geometry` 型にマッピングされます。ClickHouse に対応する型がないサブタイプ (`MULTIPOINT`、`GEOMETRYCOLLECTION`) の値を読み取ると、読み取り時に例外が発生します。[#108944](https://github.com/ClickHouse/ClickHouse/pull/108944) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* Web UI (`play.html`): キーボード操作に完全対応しました。データベースパネルと結果テーブルでの矢印キーによる移動、ツールバーボタン、テーマ切り替え、ダウンロードメニューへのキーボードアクセス、および視認可能なフォーカス枠線に対応しています。[#108972](https://github.com/ClickHouse/ClickHouse/pull/108972) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* HTTP インターフェイス: URL パラメータ (`user`/`password`) と `Authorization` ヘッダーの両方で認証情報が指定された場合、リクエストを拒否するのではなく、URL パラメータが優先されるようになりました。これにより、ブラウザーが Basic 認証情報を記憶している場合に Web UI (`play.html`) から結果をダウンロードすると `AUTHENTICATION_FAILED` (エラー 516) で失敗する問題を修正しました。[#108980](https://github.com/ClickHouse/ClickHouse/pull/108980) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `show_data_lake_catalogs_in_system_tables` を、`system.tables`、`system.columns`、`system.completions` における `DataLakeCatalog` の表示のみを制御する設定として復元しました。さらに、デフォルトで有効な `show_remote_databases_in_system_tables` を追加し、これらのシステムテーブルで `MySQL` および `PostgreSQL` データベースを個別に非表示にできるようにしました。[#109082](https://github.com/ClickHouse/ClickHouse/pull/109082) ([Pablo Marcos](https://github.com/pamarcos))。
* 正確な (表現可能な値のうち最も近い) 浮動小数点パースアルゴリズムをデフォルトで使用し、`precise_float_parsing` 設定を `toFloat*`/`CAST` だけでなく、入力フォーマット (`CSV`、`TSV`、`JSON`、`VALUES`、...) と数値リテラルにも適用するようにしました。以前の、場合によってはより高速だが精度の低い動作に戻すには、`precise_float_parsing = 0` を設定してください。Closes [#60146](https://github.com/ClickHouse/ClickHouse/issues/60146)。Closes [#74647](https://github.com/ClickHouse/ClickHouse/issues/74647)。Closes [#68914](https://github.com/ClickHouse/ClickHouse/issues/68914)。[#109086](https://github.com/ClickHouse/ClickHouse/pull/109086) ([Raúl Marín](https://github.com/Algunenano))。
* 単一の CTE を含むクエリも、複数の CTE を含むクエリと同じ改行・インデントで整形されるようになりました。従来は `WITH a AS (...)` では CTE が `WITH` と同じ行に配置されていましたが、CTE が 2 つ以上ある場合は `WITH` が単独の行になり、各 CTE がインデントされていました。 [#109092](https://github.com/ClickHouse/ClickHouse/pull/109092) ([Groene AI](https://github.com/groeneai)).
* Web UI: ハイライトされている補完候補が、すでに入力済みの単語と同じ場合、または大文字・小文字だけが異なる同じ単語である場合 (たとえば、入力済みの `hash` に対して `HASH` が提示される場合) 、Right/Tab/Enter を押しても単語が書き換えられたり、自動補完に吸収されたりしなくなりました。キーは期待どおり、キャレットの移動または改行の挿入を行います。 [#109106](https://github.com/ClickHouse/ClickHouse/pull/109106) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#109384](https://github.com/ClickHouse/ClickHouse/pull/109384) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI (`play.html`) に、`clickhouse-client` と同様のレインボー括弧、対応括弧、対応する Identifier、桁区切りのハイライトを追加しました。 [#109108](https://github.com/ClickHouse/ClickHouse/pull/109108) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、`Tab` と `Shift+Tab` により、選択した行を 4 文字分インデント/逆インデントできるようになりました。 [#109110](https://github.com/ClickHouse/ClickHouse/pull/109110) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: クエリエディタで構文エラーの位置を赤い背景でハイライトするようにしました。ユーザーがエディタに再びフォーカスを戻すと、このハイライトはすぐにクリアされます。 [#109112](https://github.com/ClickHouse/ClickHouse/pull/109112) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-compressor --stat` と古いパーツのデフォルト codec 検出で、破損した block ヘッダーが、誤解を招く EOF エラーではなく、破損として報告されるようになりました。 [#109157](https://github.com/ClickHouse/ClickHouse/pull/109157) ([Raufs Dunamalijevs](https://github.com/rienath)).
* ClickHouse Keeper が `os_collect_psi_metrics` 設定を尊重し、無効時には PSI メトリクスの収集をスキップするようになりました。 [#109179](https://github.com/ClickHouse/ClickHouse/pull/109179) ([Maxim Orlovsky](https://github.com/UberDever)).
* Web UI でクエリ tabs が表示されている場合、接続 parameter (host、user、password) は右上の鍵ボタンの下に隠され、必要に応じてドロップダウンで表示されるようになりました。 [#109243](https://github.com/ClickHouse/ClickHouse/pull/109243) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: 単一値の結果 (1 行 1 カラム。たとえば `SHOW CREATE TABLE`) が 3 行に制限されず、全高で表示されるようになりました。 [#109245](https://github.com/ClickHouse/ClickHouse/pull/109245) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、databases パネル内の table を中クリックする、Shift を押しながらクリックする、またはプラットフォームの新規 tab 修飾キー (macOS では Cmd、それ以外では Ctrl) を使ってクリックすると、そのクエリが新しい Web UI tab で開くようになりました。 [#109246](https://github.com/ClickHouse/ClickHouse/pull/109246) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* リモート (object storage) の `Parquet` ファイルに対する query condition cache のキーとして、path に加えて ETag も使うようにしました。これにより、その場でオブジェクトを上書きした場合でも、古い cache 済み結果が返されなくなります。 [#109310](https://github.com/ClickHouse/ClickHouse/pull/109310) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、空文字列と NULL は categorical 色分けモードでは色付けされなくなりました。 [#109342](https://github.com/ClickHouse/ClickHouse/pull/109342) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: データベースパネルでテーブルのアイコンをクリックすると、そのテーブルのカラム一覧が表示されるようになりました。型アイコン、圧縮サイズに比例したサイズバー、さらに圧縮サイズ/非圧縮サイズと圧縮率を表示するツールチップが含まれます。[#109346](https://github.com/ClickHouse/ClickHouse/pull/109346) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: タブのタイトルが切り詰められている場合、ホバー時に完全なタイトルをツールチップで表示するようになりました。[#109354](https://github.com/ClickHouse/ClickHouse/pull/109354) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、タブのタイトルを中クリックするか (または Ctrl/Shift/Cmd+クリックするか) すると、そのタブを複製できるようになりました。[#109357](https://github.com/ClickHouse/ClickHouse/pull/109357) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: ブラウザウィンドウが狭いときに不自然に折り返されないよう、最終的な Progress とクエリ統計の領域を均等にリサイズするようにしました。[#109363](https://github.com/ClickHouse/ClickHouse/pull/109363) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: データベースパネルでデータベースを選択すると、エディタから実行するクエリのデフォルトデータベースとして使用されるようになりました。[#109372](https://github.com/ClickHouse/ClickHouse/pull/109372) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 固定サイズ要素の `Array` を `String` として `reinterpret` できるようになりました。これは既存の、`String`/`FixedString` を `Array` として `reinterpret` する機能の逆方向です。[#109383](https://github.com/ClickHouse/ClickHouse/pull/109383) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、結果が 1 行以下の場合は、カラムごとの色分けトグルを表示しないようにしました。[#109385](https://github.com/ClickHouse/ClickHouse/pull/109385) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 次元が同じである限り、要素型および/または stride が異なる `QBit` 型の間で `CAST` を許可しました (たとえば `QBit(Float32, N)` から `CAST(x AS QBit(Float64, N))`) 。stride のみの変更は損失がなく、要素型の変更は対応する `Array` の変換セマンティクスに従います (たとえば `Float32` から `BFloat16` では精度が失われる可能性があり、`accurateCast` / `accurateCastOrNull` は正確に表現できない行を拒否します) 。[#109387](https://github.com/ClickHouse/ClickHouse/pull/109387) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数 `quantizeBFloat16ToInt8` と `dequantizeInt8ToBFloat16` が、既存の scalar オーバーロードに加えて、`Array` および `QBit` の argument も受け付けるようになりました。Lloyd-Max codec をベクトル全体に適用し、対応する要素型の `Array`/`QBit` を返します。[#109398](https://github.com/ClickHouse/ClickHouse/pull/109398) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: Documentation リンクの URL に current user 名を含めるようになりました。[#109419](https://github.com/ClickHouse/ClickHouse/pull/109419) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `BFloat16` の配列に対して `arraySum`、`arrayAvg`、`arrayProduct` をサポートしました。[#109420](https://github.com/ClickHouse/ClickHouse/pull/109420) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `parseDateTime` / `parseDateTime64` (およびそれらの `OrZero` / `OrNull` バリアント) における MySQL 形式のフォーマット指定子 `%f` が、これまでのように厳密に 6 桁を要求するのではなく、MySQL の `STR_TO_DATE` と同様に左寄せのマイクロ秒として解釈される 1〜6 桁の小数点以下の桁数を受け付けるようになりました。あわせて、組み込み関数ドキュメントの例における `PrettyCompact` テーブルの位置ずれも修正しました。[#109421](https://github.com/ClickHouse/ClickHouse/pull/109421) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: クエリタブが永続化されるようになりました — タブを切り替えて戻ってきても、各タブはレンダリング済みの結果 (画像やチャートを含む) と実行中のクエリを保持し、長時間かかるクエリもバックグラウンドで実行され続けます。タブタイトルには、そのクエリのスピナー、プログレスバー、完了チェックマークが表示されます。 [#109425](https://github.com/ClickHouse/ClickHouse/pull/109425) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: クエリ結果の一部がすでにストリーミングされたあとでクエリが失敗した場合、クライアント側の `SyntaxError: Unexpected end of JSON input` を表示したり (または `http_write_exception_in_output_format` により失敗したクエリを成功扱いしたり) するのではなく、正しくエラーを表示するようになりました。 [#109430](https://github.com/ClickHouse/ClickHouse/pull/109430) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI にピン留めされたカラムを追加しました: カラムはヘッダーからピン留めでき、結果テーブルを横方向にスクロールしている間も表示されたまま (端に固定された状態) になります。 [#109439](https://github.com/ClickHouse/ClickHouse/pull/109439) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 高度なダッシュボード (`/dashboard`) では、特定のメトリクスのチャートを、ソースコードやドキュメントに記載されているメトリクス名を使って直接追加できるようになり、デバッグセッション中に複数のメトリクスを追加しやすくなりました。 [#109449](https://github.com/ClickHouse/ClickHouse/pull/109449) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Web UI: 接続設定のドロップダウンで、マウスでテキストを選択して境界の外までドラッグすると閉じてしまう問題を修正しました。 [#109451](https://github.com/ClickHouse/ClickHouse/pull/109451) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI: 結果テーブルのカラムヘッダーにマウスオーバーすると、完全なカラム名と型がツールチップに表示されるようになり、省略されたヘッダーも全文を確認できるようになりました。 [#109463](https://github.com/ClickHouse/ClickHouse/pull/109463) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、カラムが完全なタイトルを表示するのに十分な幅がある場合でも、カラムヘッダーのタイトルが省略記号で切り詰められてしまう問題を修正しました。 [#110397](https://github.com/ClickHouse/ClickHouse/pull/110397) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* macOS ビルドで SSD cache 辞書 (`SSD_CACHE` レイアウト) と `FileLog` テーブルエンジンをサポートしました。 [#109493](https://github.com/ClickHouse/ClickHouse/pull/109493) ([Raúl Marín](https://github.com/Algunenano)).
* Web UI: ページを開いたときに、空のクエリを含むタブを復元しないようにしました。 [#109529](https://github.com/ClickHouse/ClickHouse/pull/109529) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `TERM` に `256` が含まれていない端末 (例: Ghostty、kitty、Alacritty、foot) で、対話型クライアントの入力中オートコンプリートヒントが読みにくくなり、明るい色も見づらくなる問題を修正しました: 明るい色は、bold + 暗い色にフォールバックするのではなく、常に aixterm の明るい色コードとして出力されるようになりました。これは、モダンな端末では dark background 上で暗く読みにくい色としてレンダリングされるためです。 [#109622](https://github.com/ClickHouse/ClickHouse/pull/109622) ([Alasdair Brown](https://github.com/sdairs)).
* macOS ビルドで jemalloc の per-CPU arenas と割り当てプロファイリングを有効にしました。 [#109684](https://github.com/ClickHouse/ClickHouse/pull/109684) ([Raúl Marín](https://github.com/Algunenano)).
* `OneLake` データレイクカタログデータベースの一部の認証設定を、`ALTER DATABASE ... MODIFY SETTING` で変更できるようにしました。 [#110019](https://github.com/ClickHouse/ClickHouse/pull/110019) ([alesapin](https://github.com/alesapin)).
* `Hive` engine は、Apache Arrow `ORC` アダプターの代わりに、ClickHouse ネイティブの `ORC` リーダーで `ORC` ファイルのメタデータ (min/max 索引、行数) を読み取るようになりました。 [#110086](https://github.com/ClickHouse/ClickHouse/pull/110086) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 比較演算および算術演算において、あまり使われない混在型の組み合わせ (`Decimal` とビット幅の異なる整数の組み合わせ、および `Int128`/`UInt128`/`Int256`/`UInt256` を含む組み合わせ) について、型の組み合わせごとに専用のコンパイル済みカーネルを用意する代わりに、共通型に変換して処理するようにし、バイナリサイズを約 10.5 MB 削減しました。同一型の組み合わせ、よく使われる組み合わせ、およびメモリ帯域律速の `plus`/`minus`/`multiply` は、引き続き専用カーネルを使用します。結果、結果型、例外ケースに変更はありません。[#110131](https://github.com/ClickHouse/ClickHouse/pull/110131) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `IN` の右辺にあるサブクエリで、その単一カラムが左側の引数より 1 次元深い配列である場合、分かりにくい型不一致エラーで失敗するのではなく、その配列の要素の集合 (配列リテラルや配列を返す関数と同様) として解釈されるようになりました。たとえば、`x IN (SELECT groupArray(x) FROM ...)` が動作するようになりました。[#110169](https://github.com/ClickHouse/ClickHouse/pull/110169) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SQLite` テーブルエンジンまたは `sqlite` テーブル関数からの読み取りで、別の接続によって SQLite データベースがロックされている場合に、CPU core を 1 つフルに消費してビジースピンすることがなくなりました。読み取りはロック待ちの間はアイドル状態となり、引き続きキャンセル可能です。[#110248](https://github.com/ClickHouse/ClickHouse/pull/110248) ([Groene AI](https://github.com/groeneai)).
* ログおよび例外メッセージ内の経過時間、レート、比率の値を 3 桁に丸めるようにし、`1.345844286 sec.` のような数値が完全な精度で出力されなくなりました。[#110277](https://github.com/ClickHouse/ClickHouse/pull/110277) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI (Play) で、`BFloat16` が浮動小数点数として認識されるようになり、そのカラムはそれに応じて右揃えで表示され、色分けされます。[#110433](https://github.com/ClickHouse/ClickHouse/pull/110433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `PostgreSQL` テーブルエンジンおよび `postgresql` テーブル関数で `SETTINGS` clause (たとえば `SETTINGS postgresql_connection_pool_size = 50`) をサポートし、`MySQL` engine と同等の機能を提供するようになりました。[#110614](https://github.com/ClickHouse/ClickHouse/pull/110614) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SHOW CREATE TABLE` (および `SHOW CREATE VIEW` / `SHOW CREATE DICTIONARY`) で、要求されたテーブルが存在しない場合に、`SELECT` クエリと同様に、エラーメッセージ内で名前の似たテーブルを提案するようになりました。[#110633](https://github.com/ClickHouse/ClickHouse/pull/110633) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once` 設定をデフォルトで有効化しました。マージセレクタは、パーティションがどの程度埋まっているかに基づいて、一度にマージするパーツの最大数を自動的に引き下げるようになりました。[#91163](https://github.com/ClickHouse/ClickHouse/pull/91163) を参照してください。[#110726](https://github.com/ClickHouse/ClickHouse/pull/110726) ([Mikhail Artemenko](https://github.com/Michicosun)).
* PostgreSQL ワイヤプロトコルで、PostgreSQL のクリーンアップコマンド `RESET`、`UNLISTEN`、`DISCARD` を、構文エラーにする代わりに no-op として受け付けるようになりました。これにより、接続のセットアップおよびクリーンアップ時に `RESET ALL` や `UNLISTEN *` を送信する Skunk のようなドライバーとの互換性が向上します。[#110780](https://github.com/ClickHouse/ClickHouse/pull/110780) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `auto_statistics_types` 設定のデフォルト値を `basic, uniq` から `basic, uniq_v2` に変更しました。[#110878](https://github.com/ClickHouse/ClickHouse/pull/110878) ([Han Fei](https://github.com/hanfei1991)).
* `randomHadamardTransform` は、最大の奇数因子が 64 以下である任意のベクトル長に対して、長さを保った厳密な transform を計算できるようになりました (例: `3584 = 512 * 7`。埋め込みモデルで一般的です) 。これにより、従来の `2^N`、`2^k * {12, 20}`、`2^k * 9` の各ファミリーが拡張されます。厳密に表現できない長さに対する完全な transform は、より長いベクトルに暗黙的にゼロ埋めされるのではなく、例外を送出するようになりました。任意の長さの truncated projection を計算するには、`output_dims` を指定してください。[#111006](https://github.com/ClickHouse/ClickHouse/pull/111006) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同時に dropping と再作成が行われている `Replicated` database の backup 中に発生していた `LOGICAL_ERROR` 例外を修正しました。こうした backups は、今後は `CANNOT_GET_REPLICATED_DATABASE_SNAPSHOT` を返して適切に失敗するようになります。[#100651](https://github.com/ClickHouse/ClickHouse/pull/100651) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* zip アーカイブを展開できない場合に、実際の根本原因となる error が表示されるようになりました (たとえば、アーカイブを S3 から読み込んでいて、読み取りバッファが seek を拒否した場合) 。従来は、実際の error は汎用的な `Couldn't unpack zip archive: Code = -100` / `Couldn't open zip archive` というメッセージの背後に隠れていました。[#105103](https://github.com/ClickHouse/ClickHouse/pull/105103) ([Groene AI](https://github.com/groeneai)).
* server の再起動後 (または `DETACH DATABASE`/`ATTACH DATABASE` の後) に表示される紛らわしい "Maybe you meant X?" ヒントを修正しました。すでに drop 済みの table を dropping すると、代替候補として直前に drop された名前が提案されることがありました。[#106238](https://github.com/ClickHouse/ClickHouse/pull/106238) ([Groene AI](https://github.com/groeneai)).
* バックグラウンドの table-drop queue で発生していた論理エラー (`Logical error: 'removed'`。debug builds では server が abort していました) を修正しました。この問題は、同じ明示的な UUID を複数の `CREATE OR REPLACE TABLE` クエリで再利用し、その UUID を共有する drop 済み table が複数 queue に入れられたときに triggered されていました。[#107031](https://github.com/ClickHouse/ClickHouse/pull/107031) ([Groene AI](https://github.com/groeneai)).
* エイリアス付きラムダがアクセス演算子 (タプル要素 `.N` または配列要素 `[]`) のオペランドとして式リストの先頭以外の位置で使われた場合に、debug builds および sanitizer builds で server を abort させることがあった `Inconsistent AST formatting` 論理エラーを修正しました。例: `SELECT 1, ((p0, p1) -> p0 AS a7).4[3] FROM t`。[#107092](https://github.com/ClickHouse/ClickHouse/pull/107092) ([Groene AI](https://github.com/groeneai)).
* 別の distributed query の内側にネストされた cluster table function (`urlCluster`、`fileCluster`、`s3Cluster` など)  (例: `clusterAllReplicas(..., urlCluster(...))`) は、論理エラー (`Distributed task iterator is not initialized`) で失敗するのではなく、`BAD_ARGUMENTS` error として拒否されるようになりました。[#107107](https://github.com/ClickHouse/ClickHouse/pull/107107) ([Groene AI](https://github.com/groeneai)).
* クエリ timeout (`timeout_overflow_mode = 'break'` を伴う `max_execution_time`) によって中断された `OPTIMIZE ... DRY RUN` は、`rows_sources` に関する論理エラーではなく、`TIMEOUT_EXCEEDED` を返すようになりました (従来は debug/sanitizer builds で server が abort していました) 。[#107114](https://github.com/ClickHouse/ClickHouse/pull/107114) ([Groene AI](https://github.com/groeneai)).
* macOS で `ZooKeeper` セッションの終了処理中に、無害な `Net Exception: Socket is not connected` error をロギングしないようにしました。`clickhouse keeper-client` も、終了時にこの不要な error を stderr に出力しなくなりました。[#107438](https://github.com/ClickHouse/ClickHouse/pull/107438) ([Groene AI](https://github.com/groeneai)).
* リフレッシャブルmaterialized view が、`refresh_retries` に非常に大きな値 (`Int64` の最大値近く) が設定されている状態で失敗した refresh を再試行した際に発生していた、符号付き整数 overflow を修正しました。この overflow は、undefined behavior sanitizer を有効にした builds で server を abort させる可能性がありました。[#108005](https://github.com/ClickHouse/ClickHouse/pull/108005) ([Groene AI](https://github.com/groeneai)).
* `JOIN` で null-safe 比較演算子 (`<=>` / `IS NOT DISTINCT FROM`) を使用し、キーの 1 つが scalar subquery (例: `... JOIN t2 ON (SELECT x FROM t1) <=> t2.k`) である場合に、古いアナライザ (`enable_analyzer = 0`) で発生していた `LOGICAL_ERROR` (debug/sanitizer build での server abort) を修正しました。このようなクエリは、論理エラーではなく通常の `NOT_FOUND_COLUMN_IN_BLOCK` エラーを返すようになりました。[#108123](https://github.com/ClickHouse/ClickHouse/pull/108123) ([Groene AI](https://github.com/groeneai)).
* `_distance` カラムを選択する vector search クエリで、論理エラーで失敗するのではなく、適切なエラーが返されるようになりました。[#108423](https://github.com/ClickHouse/ClickHouse/pull/108423) ([Robert Schulze](https://github.com/rschu1ze)).
* 最終的な非同期 S3/Azure マルチパートアップロード完了タスクのスケジューリングが失敗したとき (たとえばスレッドプール枯渇時) に発生し、debug および sanitizer build で server を abort させる可能性があった `std::future_error` (`The associated promise has been destructed prior to the associated state becoming ready`) を修正しました。代わりに、実際の scheduling エラーが報告されるようになりました。[#108730](https://github.com/ClickHouse/ClickHouse/pull/108730) ([Groene AI](https://github.com/groeneai)).
* 非常に大きな regular expression (たとえば数十万個の wildcards を含む `LIKE` や `match` の pattern) を compile した際に、server log の出力やエラーメッセージが過大になる問題を回避するようにしました。このような pattern は、明確な `CANNOT_COMPILE_REGEXP` エラーで失敗するようになりました。[#108821](https://github.com/ClickHouse/ClickHouse/pull/108821) ([Raúl Marín](https://github.com/Algunenano)).
* 範囲外のプロトコル パケットタイプ を文字列化する際の未定義動作を修正しました (たとえば、desync または fuzz 済み connection での `Unexpected packet from server` / `Received ... packet` エラーメッセージ内) 。[#108885](https://github.com/ClickHouse/ClickHouse/pull/108885) ([Groene AI](https://github.com/groeneai)).
* table expression が `IN` operator の左側の argument として使用されたときに発生していた、わかりにくい内部エラー (`Method getResultType is not supported for TABLE query tree node`) を修正しました。このようなクエリでは、明確なエラーメッセージが表示されるようになりました。[#109412](https://github.com/ClickHouse/ClickHouse/pull/109412) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* version 番号が数字だけで構成されているものの、32-bit 整数の範囲を超える metadata file (たとえば `v99999999999999999999.metadata.json`) を持つ Iceberg table の読み取りを修正しました。以前は、このような名前に対して、明確な `BAD_ARGUMENTS` エラーではなく、不明瞭な `std::out_of_range` (`STD_EXCEPTION`) が発生していました。[#109619](https://github.com/ClickHouse/ClickHouse/pull/109619) ([Groene AI](https://github.com/groeneai)).
* 行ベースの input format (たとえば `TSV`/`CSV`) で入力の parse に失敗し、かつ基盤となる読み取りがすでにキャンセルされていた場合 (たとえば不正な HTTP chunk や切り詰められた body) に、`Logical error: 'ReadBuffer is canceled. Can't read from it.'` が発生する可能性があった問題を修正しました。verbose な parse 診断の構築時に、キャンセル済みの buffer から読み取らないようになりました。[#109708](https://github.com/ClickHouse/ClickHouse/pull/109708) ([Groene AI](https://github.com/groeneai)).
* `arrayJoin` (またはその `unnest` alias) を使う ROW POLICY フィルタ式 は、明確なエラーで拒否されるようになりました。以前は、このような policies により query time に `column->size() == num_rows` の論理エラーが発生していました。[#109753](https://github.com/ClickHouse/ClickHouse/pull/109753) ([Raúl Marín](https://github.com/Algunenano)). [#109973](https://github.com/ClickHouse/ClickHouse/pull/109973) ([Raúl Marín](https://github.com/Algunenano)).
* schema に unsupported な Nested 型 (たとえば `ROW` field) を含む Paimon table の読み取りで、メッセージなし・エラーコード 0 の素の `DB::Exception. (OK)` ではなく、unsupported な型名を示す明確な `BAD_ARGUMENTS` エラーが報告されるようになりました。[#109762](https://github.com/ClickHouse/ClickHouse/pull/109762) ([Groene AI](https://github.com/groeneai)).
* 実験的設定 `make_distributed_plan = 1` を使用するクエリで、`distributed_plan_default_reader_bucket_count` または `distributed_plan_default_shuffle_join_bucket_count` に非常に大きな値を指定した場合に発生していた `LOGICAL_ERROR` (`std::length_error`) を修正しました。現在、このような値は `INVALID_SETTING_VALUE` で拒否されます。[#109770](https://github.com/ClickHouse/ClickHouse/pull/109770) ([Groene AI](https://github.com/groeneai)).
* 再帰 CTE が外側のスコープの識別子を相関カラムとして解決した場合 (`allow_experimental_correlated_subqueries = 1`) に発生していた `LOGICAL_ERROR` (`query tree node does not have valid source node`) を修正しました。現在、このようなクエリは明確な `UNSUPPORTED_METHOD` エラーを返します。[#109863](https://github.com/ClickHouse/ClickHouse/pull/109863) ([Groene AI](https://github.com/groeneai)).
* `ORDER BY ... WITH FILL` が `Int64`/`UInt64` カラムで非常に大きなギャップを飛ばす場合 (たとえば 2^63 近傍のギャップをステップ 2 でまたぐ場合) に発生していた符号付き整数オーバーフローを修正しました。このオーバーフローはサニタイザ環境では未定義動作となり、リリースビルドでは暗黙にラップアラウンドしていました。[#109937](https://github.com/ClickHouse/ClickHouse/pull/109937) ([Groene AI](https://github.com/groeneai)).
* `Distributed` テーブルに対して、低い `optimize_const_name_size` で `SELECT ... ORDER BY ... WITH FILL` を実行した際に発生していた `Bad cast from type DB::FunctionNode to DB::ConstantNode` 論理エラー (debug/sanitizer ビルドでサーバーが異常終了) を修正しました。[#109938](https://github.com/ClickHouse/ClickHouse/pull/109938) ([Groene AI](https://github.com/groeneai)).
* 古いアナライザ (`enable_analyzer = 0`) で、`INTERPOLATE` の対象が `WITH FILL` カラムのエイリアスである場合に発生していた `Invalid number of rows in Chunk` 論理エラーを修正しました。現在、このようなクエリは明確な `INVALID_WITH_FILL_EXPRESSION` エラーで拒否されます。[#110103](https://github.com/ClickHouse/ClickHouse/pull/110103) ([Groene AI](https://github.com/groeneai)).
* `indexHint`/`ignore`/`isZeroOrNull` 関数に、型が `Nothing` に解決される引数を渡した場合 (たとえば `indexHint(assumeNotNull(materialize(NULL)))` のような式内) に発生していた論理エラー (debug/sanitizer ビルドでサーバーが異常終了) を修正しました。[#110192](https://github.com/ClickHouse/ClickHouse/pull/110192) ([Groene AI](https://github.com/groeneai)).
* `max_read_buffer_size` や `max_read_buffer_size_local_fs` などの読み取りバッファサイズ設定に範囲外の値を設定した際に発生しうる `Too large size (...) passed to allocator` 論理エラーを修正しました。現在、このような値は設定の妥当性チェックによって 256 MiB に制限されます。さらに、妥当性チェックが適用されない `clickhouse-client` 内でファイルを読む `INSERT ... FROM INFILE` については、その使用箇所でも追加で制限されます。[#110207](https://github.com/ClickHouse/ClickHouse/pull/110207) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CHECK TABLE` は、メタデータの読み込みに失敗したプロジェクションパートに対して、誤解を招く `Columns doesn't match ... Expected: 0 columns` エラーではなく、実際の破損内容を報告するようになりました。[#110262](https://github.com/ClickHouse/ClickHouse/pull/110262) ([Raúl Marín](https://github.com/Algunenano)).
* PostgreSQL ソース (たとえば `postgresql` テーブル関数や `PostgreSQL` テーブルエンジン) から読み取った値を宣言されたカラム型にパースできない場合の型不一致 (たとえば `text` カラムを `Int32` として宣言した場合) が、現在は適切なクエリエラーとして報告されるようになりました。以前は debug ビルドおよび sanitizer ビルドでサーバーが異常終了していました。[#110264](https://github.com/ClickHouse/ClickHouse/pull/110264) ([Groene AI](https://github.com/groeneai)).
* macOS でクエリプロファイラ、メモリプロファイラ、トレースプロファイラ、および `system.trace_log` のシンボル化をサポートしました。[#109825](https://github.com/ClickHouse/ClickHouse/pull/109825) ([Raúl Marín](https://github.com/Algunenano)).
* `chdig` を [v26.7.1](https://github.com/azat/chdig/releases/tag/v26.7.1) に更新: 共有向けの圧縮スタックトレース、クエリパターン、個別アリーナメモリのサポート、Perfetto の改善、互換性修正。 [#110938](https://github.com/ClickHouse/ClickHouse/pull/110938) ([Azat Khuzhin](https://github.com/azat)).
* 符号なしキーを符号付き定数で除算する場合の `intDiv` における単調性の推論誤りを修正しました。この不具合により、結果型の符号境界をまたぐ `IN`/`NOT IN` 述語で、プライマリキー索引のプルーニングが無効になる可能性がありました。また、デバッグビルドでは `LOGICAL_ERROR` `Invalid binary search result in MergeTreeSetIndex` も発生していました。 [#107586](https://github.com/ClickHouse/ClickHouse/pull/107586) ([Groene AI](https://github.com/groeneai)).
* `allow_lossy_numeric_supertype` 設定を追加しました (デフォルトでは無効) 。有効にすると、損失なく共有できる共通型を持たない数値 argument (たとえば `Decimal` と `Float64`、または `Int64` と `Float64`) に対する `if`、`multiIf`、`coalesce`、`ifNull`、`array`、`map` は、`Variant` ではなく `Float64` に解決されるようになります。これにより、その結果を `sum`、`avg`、`min`、`max` などの aggregate functions で使用できます。関連する aggregate-function の error メッセージには、この設定名が表示されるようになりました。 [#106707](https://github.com/ClickHouse/ClickHouse/issues/106707) をクローズ。 [#107236](https://github.com/ClickHouse/ClickHouse/pull/107236) ([Groene AI](https://github.com/groeneai)).
* Prometheus エンドポイント (メトリクス専用構成向け) と非同期メトリクス収集を、テーブルのロード前に開始するようにしました。これにより、長時間かかる可能性のあるメタデータのロード中でもメトリクスを確認できます。 [#108402](https://github.com/ClickHouse/ClickHouse/pull/108402) ([Christoph Wurm](https://github.com/cwurm)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* 多数の deduplication ブロックを持つテーブルで `TRUNCATE TABLE` と `DROP PARTITION` が失敗する問題を修正しました。これらを 1 回の ZooKeeper リクエストで削除すると、デフォルトの 1 MB の `jute.maxbuffer` 制限を超える可能性がありました。[#105991](https://github.com/ClickHouse/ClickHouse/pull/105991) ([Clayton McClure](https://github.com/cmcclure-twilio))。この問題の影響を受けるのは、ClickHouse Keeper ではなく Apache ZooKeeper (非推奨) を使用している場合のみです。
* `MergeTree` ファミリーのテーブルに対する mutation の `WHERE` 句で、`DELETE FROM` や `ALTER TABLE ... UPDATE/DELETE` などにおいて修飾付きカラム名 (`database.table.column`) を使用した場合の問題を修正しました。従来は、このようなクエリは missing-columns エラーで失敗していました。[#71760](https://github.com/ClickHouse/ClickHouse/issues/71760) を修正。[#109491](https://github.com/ClickHouse/ClickHouse/pull/109491) ([Mikhail Artemenko](https://github.com/Michicosun))。
* PromQL クエリの query result cache を修正しました。`promql` dialect は non-deterministic-function チェックをバイパスしており、`now()` を基準にした古い結果を返す可能性がありました。また、Prometheus HTTP API (`/api/v1/query`, `/api/v1/query_range`) では cache entries がまったく保存されていませんでした。[#110887](https://github.com/ClickHouse/ClickHouse/pull/110887) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov))。
* `TZ` 環境変数が空の場合に server の起動に失敗する問題を修正しました。[#68920](https://github.com/ClickHouse/ClickHouse/issues/68920) を修正。[#68921](https://github.com/ClickHouse/ClickHouse/pull/68921) ([Ardenwick](https://github.com/ardenwick))。
* `Backup` データベースエンジンが使用不可になったバックアップ (たとえばファイルが削除された場合や、underlying storage にアクセスできない場合) を参照しているときに、server の起動に失敗する問題を修正しました。これにより、server 全体の起動を妨げるのではなく、database はテーブルなしで読み込まれるようになりました。[#83188](https://github.com/ClickHouse/ClickHouse/pull/83188) ([Vitaly Orlov](https://github.com/orloffv))。
* `Distributed` engine のテーブルへのバックグラウンド inserts 使用時に、リモート shard へのデータ送信で繰り返し error が発生していた場合、その error の解消後は遅延が減少するようになりました。従来は、遅延は増える一方でリセットされませんでした。[#87378](https://github.com/ClickHouse/ClickHouse/pull/87378) ([Andrei Kochemirovskii](https://github.com/Blackmorse))。
* 起動時に `Distributed` async-insert queue をスキャンして見つかった破損ファイルについて、`system.distribution_queue` の `broken_data_files` と `BrokenDistributedFilesToInsert` metric が常に `0` を報告していた問題を修正しました。[#92124](https://github.com/ClickHouse/ClickHouse/pull/92124) ([KG.Xu](https://github.com/squalfof))。
* ディスクフル error 後のログ復旧を修正しました。従来は、log 用ディスクがいっぱいになると ClickHouse は failed 状態に入り、syslog に error メッセージを大量に出し続け (1 時間あたり 100 GB 超を書き込む可能性がありました) 、disk space が解放された後も復旧せず、server の再起動が必要でした。現在は、disk space が利用可能になると、server を再起動しなくても logging system が自動的に復旧します。[#93127](https://github.com/ClickHouse/ClickHouse/pull/93127) ([jaehanbyun](https://github.com/jaehanbyun))。
* `vended_credentials` が無効な場合、静的な S3 credentials を Unity `DataLakeCatalog` table の読み取りに転送するようにし、匿名でのオブジェクトストレージアクセス失敗を防ぐようにしました。[#96910](https://github.com/ClickHouse/ClickHouse/pull/96910) ([kgeg401](https://github.com/kgeg401))。
* `DeltaLake` table engine のスキーマ パース コードで発生するクラッシュを修正しました。[#97112](https://github.com/ClickHouse/ClickHouse/pull/97112) ([Kseniia Sumarokova](https://github.com/kssenii))。
* 認証されていない TCP client が interserver port 経由で table の存在やレプリケーション状態を調べられてしまう security issue を修正しました。[#99854](https://github.com/ClickHouse/ClickHouse/pull/99854) ([Shaohua Wang](https://github.com/tiandiwonder))。
* `DESCRIBE TABLE` で、サブクエリの後にエイリアスが続く場合に発生する構文エラーを修正しました。[#100031](https://github.com/ClickHouse/ClickHouse/issues/100031) を修正。[#100205](https://github.com/ClickHouse/ClickHouse/pull/100205) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `ROLLUP`/`CUBE` とともに `group_by_use_nulls` を使用した際に、外部カラムが `Nullable` になる場合の相関サブクエリで発生する例外を修正しました。[#100365](https://github.com/ClickHouse/ClickHouse/pull/100365) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ロールバックされたトランザクションの `MergeTree` パートがコミット済みのパートと交差した場合に、テーブル起動中に発生していたサーバーの異常終了 (sanitizer ビルド) およびサイレントなデータ消失を修正しました。[#100992](https://github.com/ClickHouse/ClickHouse/pull/100992) ([Tuan Pham Anh](https://github.com/tuanpach)).
* `MergeTree` テーブルの `Array(LowCardinality(String))` カラムに対して `indexOfAssumeSorted` が誤った結果を返す問題を修正しました。[#101771](https://github.com/ClickHouse/ClickHouse/pull/101771) ([Yash ](https://github.com/Onyx2406)).
* テーブルのソートキーが `Date` カラムを `toDateTime` でラップしている場合 (例: `ORDER BY toDateTime(date_column)`) に、クエリが `WHERE date_column >= '...'` のように元のカラムを比較でフィルタすると、主キーによる pruning が誤って行われる問題を修正しました。`toDateTime(Date)` は `DateTime` の範囲を超える `Date` 値 (`2106-02-07` より後) で overflow するため、保存されるキーは単調ではありません。そのため ClickHouse は、このキーと述語の組み合わせに対して主キーによる pruning を行わないようになりました。これを行うと、一致する行を含む granules を落としてしまう可能性があるためです。[#101744](https://github.com/ClickHouse/ClickHouse/issues/101744) をクローズ。[#101814](https://github.com/ClickHouse/ClickHouse/pull/101814) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 除算によって floating-point exception (ゼロ除算または `INT_MIN / -1`) が発生した場合に、符号付き/符号なしの混在引数を含め、`intDivOrNull`、`moduloOrNull`、`positiveModuloOrNull` が `NULL` ではなく `0` を返していた問題と、`intDivOrNull` および `intDivOrZero` が `NULL` / `0` を返す代わりに例外を送出していた問題を修正しました。[#101976](https://github.com/ClickHouse/ClickHouse/pull/101976) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `Iceberg` のメタデータ更新の同時実行時や、`DeltaLake` テーブルに対する `merge` table function 経由の読み取りなどのコーナーケースで、`Iceberg` または `DeltaLake` テーブルの読み取り時に `LOGICAL_ERROR` 例外が発生する問題を修正しました。[#102033](https://github.com/ClickHouse/ClickHouse/pull/102033) ([Groene AI](https://github.com/groeneai)).
* 外向き HTTP リクエスト (例: `aiGenerate` function、`url` table function、S3) で、IPv4 と IPv6 address の両方を通知する host に対し、片方のアドレスファミリしか到達可能でない場合に `No route to host` で失敗する問題を修正しました。HTTP connection pool は、最初のアドレスがネットワークエラーで失敗した場合、最初のリクエストの時点でそのエラーをそのまま返すのではなく、次に名前解決されたアドレスへフォールバックするようになりました。[#103786](https://github.com/ClickHouse/ClickHouse/pull/103786) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 循環 dependencies を持つテーブルを含むバックアップの `RESTORE` 中に、サーバーが異常終了する問題を修正しました。[#103824](https://github.com/ClickHouse/ClickHouse/pull/103824) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Arrow の `time32`/`time64` カラムに対する schema inference (例: `SELECT * FROM file(..., 'Arrow')`) で、`DateTime64` ではなく `Time64` を推論するようになりました。これまで推論されていた型に依存している下流処理では、アップグレード後に新しい型が使われるようになります。あわせて、`Time`/`Time64` の値を Arrow に export する際、精度に応じて適切な Apache Arrow の time 型が選択されるようになりました。[#104038](https://github.com/ClickHouse/ClickHouse/issues/104038) を修正。[#104316](https://github.com/ClickHouse/ClickHouse/pull/104316) ([/bin/cat](https://github.com/Maoyao233)).
* `MergeTree` で、`ALTER TABLE ... RENAME COLUMN` と同時実行される `OPTIMIZE TABLE ... FINAL` (または任意のバックグラウンド merge) の競合を修正しました。この不具合により、リネーム後のカラムのデータが気付かないうちにデフォルト値へ置き換えられることがありました。 [#104822](https://github.com/ClickHouse/ClickHouse/pull/104822) ([Groene AI](https://github.com/groeneai)).
* `DETACH DATABASE`/`ATTACH DATABASE` の後、`lazy_load_tables = 1` の `Atomic` database で、`ALTER TABLE ... RENAME COLUMN` の実行中に同時実行された `INSERT` によって発生する `Block structure mismatch` 論理エラーを修正しました。 [#104852](https://github.com/ClickHouse/ClickHouse/pull/104852) ([Groene AI](https://github.com/groeneai)).
* パラメトリック形式と 2 引数形式を混在させた場合の `groupConcat` を修正しました。たとえば `groupConcat(',', 2)(x, '/')` では、行数制限パラメータが気付かないうちに無視され、指定した件数ではなくすべての行が返されていました。現在は、2 番目の引数の区切り文字が正しくパラメータを上書きします。 [#104882](https://github.com/ClickHouse/ClickHouse/pull/104882) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `KILL QUERY`/`KILL MUTATION`/`KILL PART_MOVE_TO_SHARD`/`KILL TRANSACTION` の `WHERE` clause に行ごとのサブクエリが含まれている場合、または対象の `system.*` table に対する内部 `SELECT` が複数の block を出力するほど `max_block_size` が小さい場合に発生する `LOGICAL_ERROR` (`Expected one block from input stream`) を修正しました。 [#104927](https://github.com/ClickHouse/ClickHouse/pull/104927) ([Groene AI](https://github.com/groeneai)).
* より小さい interval 単位からより大きい interval 単位への `CAST` が誤った結果を返す不具合を修正しました (たとえば、`CAST(toIntervalSecond(60) AS IntervalMinute)` は `1` ではなく `0` を返していました) 。 Closes [#104986](https://github.com/ClickHouse/ClickHouse/issues/104986). [#105058](https://github.com/ClickHouse/ClickHouse/pull/105058) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* read-in-order pipeline (`optimize_read_in_order = 1` および `read_in_order_use_virtual_row_per_block = 1`) で実行される `LIMIT ... WITH TIES` クエリで発生する論理エラー (`Assertion 'row < chunk.getNumRows()' failed`) を修正しました。 [#105102](https://github.com/ClickHouse/ClickHouse/pull/105102) ([Groene AI](https://github.com/groeneai)).
* リフレッシャブルmaterialized view (`MATERIALIZED VIEW ... REFRESH ...`) におけるリークを修正しました。refresh で `EXCHANGE TABLES` によって入れ替え対象から外される一時的な内部 table は、`max_table_size_to_drop` を超えていると drop できなかったため、その後の refresh のたびに新たな一時内部 table が作成され、最終的にはディスクを使い切るまで view の data directory が増え続けていました。現在は、refresh タスクの内部 drop では `max_table_size_to_drop` と `max_partition_size_to_drop` をバイパスします。これらの安全機構は、view 自体に対してユーザーが発行する `DROP TABLE` には引き続き適用されます。 Closes [#104900](https://github.com/ClickHouse/ClickHouse/issues/104900). [#105106](https://github.com/ClickHouse/ClickHouse/pull/105106) ([Groene AI](https://github.com/groeneai)).
* sorting key を変更しない `ALTER` クエリ (settings、comments、codecs の変更、key ではないカラムの追加など) で、sorting key に `SimpleAggregateFunction` (または `allow_suspicious_primary_key = 1` の場合にのみ許可される別の型) を含む `MergeTree` table に対して、予期しない `DATA_TYPE_CANNOT_BE_USED_IN_KEY` error が発生する不具合を修正しました。 [#105111](https://github.com/ClickHouse/ClickHouse/pull/105111) ([Groene AI](https://github.com/groeneai)).
* `Replicated` database の drop または detach 中に `system.clusters` のレプリカ状態カラム (`is_active`、`unsynced_after_recovery`、`recovery_time` など) をクエリすると発生していた use-after-free を修正しました。また、このコードパスで握りつぶされていた無害な Keeper 例外 (影響を受ける database は一時的に使用不可として扱われ、スキップされます) は、`Error` ではなく `Information` レベルでログに記録されるようになったため、デフォルトの `send_logs_level = 'warning'` ではクライアントに届かなくなりました。[#105149](https://github.com/ClickHouse/ClickHouse/pull/105149) ([Groene AI](https://github.com/groeneai)).
* `clickhouse-local --ignore-error` で複数のステートメントを実行した際、字句エラーや括弧の不一致エラーが発生するたびに、それ以降の各ステートメントがエラーメッセージ内にそのまま出力されてしまう問題を修正しました。[#105480](https://github.com/ClickHouse/ClickHouse/pull/105480) ([Groene AI](https://github.com/groeneai)).
* リフレッシャブルmaterialized view が、リフレッシュのスケジューリングと同時に drop または replace されたときに発生する、まれな server crash を修正しました。[#105588](https://github.com/ClickHouse/ClickHouse/pull/105588) ([Groene AI](https://github.com/groeneai)).
* データファイルのフォーマットが `Parquet` ではない `Iceberg` table に対する `ALTER TABLE ... DELETE` および `ALTER TABLE ... UPDATE` について、server が crash したり table が黙って破損したりする代わりに、明確な `NOT_IMPLEMENTED` エラーで拒否するようにしました。[#105893](https://github.com/ClickHouse/ClickHouse/pull/105893) ([Groene AI](https://github.com/groeneai)).
* `EXCEPT` または `INTERSECT` で定義され、そのオペランドが `UNION` チェーンである view で、`DETACH`/`ATTACH` 後または server 再起動後に誤った結果が返される問題を修正しました。フォーマッタが `INTERSECT`/`EXCEPT` の `UNION` 子要素を括弧で囲んでいなかったため、保存された SQL が逆の優先順位で再解析されていました。[#105935](https://github.com/ClickHouse/ClickHouse/pull/105935) ([Groene AI](https://github.com/groeneai)).
* フォーマット自動検出時に `JSON` data が `TSKV` と誤判定される問題を修正しました。[#100797](https://github.com/ClickHouse/ClickHouse/issues/100797) をクローズします。[#106009](https://github.com/ClickHouse/ClickHouse/pull/106009) ([Pavel Kruglov](https://github.com/Avogar)).
* `JSON` カラムに `minmax` スキップ索引を直接作成することを禁止しました。混在型の配列が insert された場合、後で `NO_COMMON_TYPE` 例外により insert が失敗することがあったためです。代わりに、型付き subcolumns に索引を作成してください (例: `INDEX idx json.field TYPE minmax`) 。[#106094](https://github.com/ClickHouse/ClickHouse/pull/106094) ([linhaojie](https://github.com/linhaojie)).
* `Time` 型の partition key を持つ table で、`OPTIMIZE TABLE ... PARTITION ...` やパーティション値を解決するその他のクエリで発生していた論理エラー (`Parsed partition value ... doesn't match partition value for an existing part with the same partition ID`) を修正しました。[#106202](https://github.com/ClickHouse/ClickHouse/pull/106202) ([Groene AI](https://github.com/groeneai)).
* 論理削除によって projection part が残らなかった場合に、data part が壊れた projection を持つものとして誤ってマークされる問題を修正しました。これは、projection が出力 0 行で再構築された場合、または drop された場合 (`lightweight_mutation_projection_mode = 'rebuild'`/`'drop'`) に発生していました。従来は、この broken 状態によって、その part に対するクエリで projection optimization が無効化されていました。[#106273](https://github.com/ClickHouse/ClickHouse/pull/106273) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `plain` object storage disk (`s3_plain` など) 上の `removeDirectory` が、空でない directory の削除を再帰削除であるかのように扱い、その中のすべての files を削除してしまう問題を修正しました。空でない directory の削除は `CANNOT_RMDIR` で失敗するようになり、再帰削除では内容を明示的に処理するようになりました。[#106281](https://github.com/ClickHouse/ClickHouse/pull/106281) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* クォーラムが同時に失敗としてマークされた場合に、Keeper のハードウェアエラーからのクォーラム `INSERT` の復旧中に server を異常終了させる可能性があった論理エラー (`Part ... doesn't exist`) を修正しました。[#106424](https://github.com/ClickHouse/ClickHouse/pull/106424) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* row policies の適用時に、重複したカラム名に関する `LOGICAL_ERROR` 例外が発生する問題を修正しました。[#106438](https://github.com/ClickHouse/ClickHouse/pull/106438) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* `CREATE OR REPLACE TABLE` および `REPLACE TABLE` で、既存の対象が `max_table_size_to_drop` を超えている場合に、ディスク上に `_tmp_replace_*` テーブルが取り残され、元のテーブルが空のテーブルに置き換えられてしまう問題を修正しました。サイズチェックはスワップ前に実行されるようになったため、制限に違反した場合は、ユーザーに表示されるテーブル名を含むエラーを出して安全に中止されます。[#106782](https://github.com/ClickHouse/ClickHouse/pull/106782) ([Groene AI](https://github.com/groeneai)).
* `Dynamic` 引数に対して `JSON_QUERY`/`JSON_VALUE`/`JSON_EXISTS` が `String`/`UInt8` ではなく `Dynamic` を返していた問題を修正しました。[#106461](https://github.com/ClickHouse/ClickHouse/issues/106461) をクローズしました。[#106877](https://github.com/ClickHouse/ClickHouse/pull/106877) ([Pavel Kruglov](https://github.com/Avogar)).
* `query_plan_optimize_lazy_final` が有効な状態で、テキスト索引に対する filter を伴う `FINAL` 付きの `ReplacingMergeTree` table へのクエリで、誤った結果が返る問題を修正しました。遅延 `FINAL` optimization が、テキスト索引からの direct read を再現しない読み取りステップを構築していたため、filter によって一致するすべての行が除外されていました。[#106894](https://github.com/ClickHouse/ClickHouse/pull/106894) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 例外に追記されるメッセージにも `query_masking_rules` を適用するようにし、masking rules が設定されている場合に、`jdbc`/`odbc` table functions からのエラーの `(in file/uri ...)` 接尾辞に含まれる URL-encoded credentials が漏洩しないようにしました。[#106916](https://github.com/ClickHouse/ClickHouse/pull/106916) ([Gaurav Dubey](https://github.com/gaurav0107)).
* partition key に `LowCardinality(Nullable(...))` カラムを含むテーブルで、part の再読み込み時 (server の再起動、`DETACH`/`ATTACH`) に毎回パーツが壊れているものとしてマークされ、detach される問題を修正しました。26.5 以降、このようなカラムの最小値と最大値が `NULL` の場合、part ごとの minmax 索引 file は書き込まれていませんでしたが、part の整合性 check では引き続きその file が必須とされていました。影響を受けるバージョンで書き込まれたパーツには minmax 索引 file がないため、引き続き手動で再 attach する必要があります。[#106837](https://github.com/ClickHouse/ClickHouse/issues/106837) をクローズしました。[#106945](https://github.com/ClickHouse/ClickHouse/pull/106945) ([Pedro Ferreira](https://github.com/PedroTadim)).
* `Nothing` 型のカラム (たとえば `ARRAY JOIN []` が生成するもの) を非等価 `JOIN ... ON` predicate が参照した際に、`LOGICAL_ERROR` (`Unexpected expression in JOIN ON section. Expected boolean (UInt8), got 'Nothing'`) が発生する問題を修正しました。[#106981](https://github.com/ClickHouse/ClickHouse/pull/106981) ([Groene AI](https://github.com/groeneai)).
* `enable_filesystem_query_cache_limit = 1` で作成された filesystem cache disk 経由で `MergeTree` tables を読み取る際に、まれに `LOGICAL_ERROR` (`Attempt to release query context that does not exist`) と、それに伴う server crash が発生する問題を修正しました。[#107028](https://github.com/ClickHouse/ClickHouse/pull/107028) ([Groene AI](https://github.com/groeneai)).
* 空の part を `plain_rewritable` disk に移動した際に server crash が発生する問題を修正しました (たとえば、`remove_empty_parts = 0` によって保持されている空の part に対して `ALTER TABLE ... MOVE PARTITION ... TO DISK` を実行した場合) 。[#107040](https://github.com/ClickHouse/ClickHouse/pull/107040) ([Groene AI](https://github.com/groeneai)).
* `optimize_read_in_order` と `read_in_order_use_virtual_row` が有効な場合に、`UNION ALL` に対する `ORDER BY` クエリで行順序が不正になる問題を修正しました。[#106879](https://github.com/ClickHouse/ClickHouse/issues/106879) をクローズしました。[#107053](https://github.com/ClickHouse/ClickHouse/pull/107053) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `geohashesInBox` 関数で、座標の引数に定数値と非定数値が混在している場合、または座標が `BFloat16` の場合に発生していた `LOGICAL_ERROR` (`Unsupported argument types`) を修正しました。定数/非定数が混在する `Float32` 引数は動作するようになり、`BFloat16` 引数は明確なエラーとともに拒否されます。[#107063](https://github.com/ClickHouse/ClickHouse/pull/107063) ([Groene AI](https://github.com/groeneai)).
* 同じキーに対して `WITH CUBE`、`WITH ROLLUP`、または `GROUPING SETS` を伴う `GROUP BY` 上の `SELECT DISTINCT` で、誤った結果 (重複行) が返る問題を修正しました。これらのケースでは、グループ化修飾子がキーカラムをデフォルト値にした追加の行を出力し、それが実際のグループ値と衝突する可能性があるため、`query_plan_remove_redundant_distinct` 最適化は `DISTINCT` を削除しなくなりました。[#107072](https://github.com/ClickHouse/ClickHouse/pull/107072) ([Groene AI](https://github.com/groeneai)).
* `WHERE` フィルターが定数項を含む論理積である場合の `OUTER JOIN` における誤った結果を修正しました (たとえば `p AND 1`、または `QUALIFY NULL` が `WHERE` にマージされる `WHERE p QUALIFY NULL`) 。この定数項が JOIN の非保持側に押し込まれ、JOIN 後のフィルターから削除されることがあり、その結果、JOIN が片側のカラムをデフォルト値にした非一致行を生成し、それらの行が誤ってフィルターを通過していました。[#107084](https://github.com/ClickHouse/ClickHouse/pull/107084) ([Groene AI](https://github.com/groeneai)).
* `<lifetime>` を設定した `executable_pool` ユーザー定義関数が、基盤となるスクリプトの変更を反映しない問題を修正しました。以前は、編集後のスクリプトを再読み込みするのは `SYSTEM RELOAD FUNCTIONS` のみで、定期的な `<lifetime>` による再読み込みでは古いバージョンが実行され続けていました。[#107087](https://github.com/ClickHouse/ClickHouse/pull/107087) ([Groene AI](https://github.com/groeneai)).
* `correlated_subqueries_default_join_kind = 'left'` のとき、同じカラム識別子を 2 回投影するソース (例: `SELECT number, *`) に対する相関スカラーサブクエリで発生する `LOGICAL_ERROR` 例外 (`Cannot find input column ... on its position in inputs of expression actions DAG`) を修正しました。[#107112](https://github.com/ClickHouse/ClickHouse/pull/107112) ([Groene AI](https://github.com/groeneai)).
* ワーカースレッドがプロファイラーを開始する処理とサーバーのシャットダウンとの間で、サーバーグローバルなトレースコレクターに発生していたデータ競合を修正しました。[#107307](https://github.com/ClickHouse/ClickHouse/pull/107307) ([Groene AI](https://github.com/groeneai)).
* インクリメンタルバックアップは、`.backup` メタデータファイルの `<base_backup>` ロケーターに `S3` 資格情報を保存しなくなりました。`use_same_s3_credentials_for_base_backup = 1` を指定して作成したバックアップ、またはこのバックアップロケーターと一致する明示的なベースバックアップ資格情報を使用して作成したバックアップでは、秘密情報を含まないマーカーが保存され、復元時に追加設定なしで復元できます。異なる明示的なベースバックアップ資格情報、または追加のベース認証引数を使って作成したバックアップについては、それらを `base_backup` 設定とともに `RESTORE` に渡してください。古いバージョンで埋め込み資格情報を使って作成されたバックアップも引き続き復元可能です。[#107357](https://github.com/ClickHouse/ClickHouse/pull/107357) ([Pablo Marcos](https://github.com/pamarcos)).
* `output_format_csv_serialize_tuple_into_separate_columns` が有効な場合 (デフォルト) 、`CSVWithNames` および `CSVWithNamesAndTypes` のヘッダーのカラム数がデータより少なくなる問題を修正しました。ヘッダー (および型の行) は、現在 `Tuple` カラムをドット区切りの名前 (例: `t.a`, `t.b`) を持つ末端フィールドへフラット化するため、ヘッダーのカラム数がデータと一致します。これを制御する新しい設定 `output_format_csv_header_serialize_tuple_into_separate_columns` (デフォルト `1`) が追加され、`0` に設定すると以前の単一名ヘッダーに戻せます。[#107371](https://github.com/ClickHouse/ClickHouse/pull/107371) ([Groene AI](https://github.com/groeneai)).
* `Parquet` の data files に予約済みの row-lineage カラム (`_row_id` など) が含まれている `Iceberg` v3 テーブルの読み取りを修正しました。ネイティブの `Parquet` リーダーは、テーブルスキーマに含まれない予約済みフィールド ID に対して `ICEBERG_SPECIFICATION_VIOLATION` を発生させなくなりました。[#107377](https://github.com/ClickHouse/ClickHouse/pull/107377) ([Greg Maher](https://github.com/gregakinman)).
* スレッドプールのキューから、スケジュール済みタスクが実行前に取り除かれることで発生していた、シャットダウン中のまれな server の異常終了 (`std::future_error`: `The associated promise has been destructed prior to the associated state becoming ready`) を修正しました。 [#107383](https://github.com/ClickHouse/ClickHouse/pull/107383) ([Groene AI](https://github.com/groeneai)).
* `MaterializedPostgreSQL` のテーブルエンジンおよびデータベースエンジンを修正し、デフォルト以外の PostgreSQL スキーマ (`materialized_postgresql_schema`) から単一のテーブルまたはデータベースをレプリケートできるようにしました。これには、同じデータベース内の複数のスキーマに同名のテーブルが存在する場合も含まれます (従来は publication と replication slot を共有し、相互に干渉していました) 。 [#107425](https://github.com/ClickHouse/ClickHouse/pull/107425) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* server の停止中に 1 つのレプリケートテーブルの structure が変更されると、`MaterializedPostgreSQL` がデータベース全体のレプリケーションを停止してしまう問題 (`LOGICAL_ERROR: Columns number mismatch`) を修正しました。現在は影響を受けたテーブルだけがスキップされ、`DETACH`/`ATTACH` で復旧できます。 [#107427](https://github.com/ClickHouse/ClickHouse/pull/107427) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `MaterializedPostgreSQL` データベースの `BACKUP` が `Table ... were created or changed its definition during scanning` により無期限にハングすることがなくなり、テーブルデータも実際にバックアップされるようになりました (基盤となる `ReplacingMergeTree` に委譲されます) 。これにより、独立した `ReplacingMergeTree` として復元できます。 [#107433](https://github.com/ClickHouse/ClickHouse/pull/107433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `compatibility = '26.6'` を設定した場合 (暗黙的に `hive` パーティション方式が有効になります) に、S3/object storage テーブルパス内の `{_partition_id}` を `BAD_ARGUMENTS` を返さずに黙って受け入れてしまうリグレッションを修正しました。 [#107437](https://github.com/ClickHouse/ClickHouse/pull/107437) ([Lefteris](https://github.com/LefterisXefteris)).
* 同梱の `mongo-c-driver` におけるメモリリークを修正しました。この問題は、MongoDB からの読み取り時 (たとえば MongoDB Dictionary や `mongodb` table function 経由) に、再試行可能な読み取り error の後、再試行時の server 選択に失敗した場合に発生する可能性がありました。 [#107448](https://github.com/ClickHouse/ClickHouse/pull/107448) ([Groene AI](https://github.com/groeneai)).
* 外部 engine によって作成され、任意の `snapshots`、`metadata-log`、`snapshot-log` 配列が省略されている `Iceberg` テーブルへの insert 時に発生する例外を修正しました。これにより、そのような insert も失敗せず成功するようになりました。 [#107473](https://github.com/ClickHouse/ClickHouse/pull/107473) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `DELETE FROM` (論理削除) で、`ALTER DELETE` に加えて `ALTER UPDATE` privilege も必要になっていた問題を修正しました。これにより、ドキュメントどおり `ALTER DELETE` のみを付与されたユーザーでも `DELETE FROM` を実行できます。 [#107491](https://github.com/ClickHouse/ClickHouse/pull/107491) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `use_hive_partitioning = 1` を指定し、実カラム (仮想カラムではないカラム) を絞り込む `WHERE`/`PREWHERE` 句と Hive パーティションカラムの選択を同時に行った場合に、Hive パーティション化されたファイルの読み取りで発生していた `NOT_FOUND_COLUMN_IN_BLOCK` を修正しました。 [#107505](https://github.com/ClickHouse/ClickHouse/pull/107505) ([Groene AI](https://github.com/groeneai)).
* 旧アナライザ (`enable_analyzer = 0`) が、`UNION` の子が `INTERSECT`/`EXCEPT` 集合演算であるサブクエリから一部のカラムを読み取る際に発生する `LOGICAL_ERROR` (`Different order of columns in UNION subquery`) を修正しました。 [#107511](https://github.com/ClickHouse/ClickHouse/pull/107511) ([Groene AI](https://github.com/groeneai)).
* `Arrow`/`ORC` データを `LowCardinality(Nullable(...))` カラムに insert する際、`NULL` 値が黙って空文字列に変換されていた問題を修正しました。これは 26.5 で導入されたリグレッションでした。 [#107532](https://github.com/ClickHouse/ClickHouse/pull/107532) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* `Dynamic` カラムを持つテーブルに対する mutation で生成された `MergeTree` part のマージまたは読み取り時に発生する可能性があった論理エラー (`Stream ... variant_discr ... is not found`) を修正しました。[#107562](https://github.com/ClickHouse/ClickHouse/pull/107562) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `pointInPolygon` が `Variant` や `Dynamic` などのラッパー型の定数 Polygon 引数で呼び出された場合 (たとえば `pointInPolygon((x, y), if(c, [(0, 0), ...], NULL))`) に、主キー解析中に発生していた論理エラー (`WhichDataType(const_type).isArray()`) を修正しました。[#107589](https://github.com/ClickHouse/ClickHouse/pull/107589) ([Groene AI](https://github.com/groeneai)).
* 監視対象のファイルが削除された後、同じ inode を再利用して再作成された際に `FileLog` engine で発生する可能性があった論理エラー (`Last stored last_written_position in meta file ... is bigger than current last_written_pos`) を修正しました。[#107617](https://github.com/ClickHouse/ClickHouse/pull/107617) ([Groene AI](https://github.com/groeneai)).
* 非同期の Keeper リクエストが送信中に破棄された場合 (たとえばメモリ逼迫時) に、ZooKeeper クライアントのリクエスト処理中にまれに発生していた server abort (`std::future_error`: `The associated promise has been destructed prior to the associated state becoming ready`) を修正しました。[#107647](https://github.com/ClickHouse/ClickHouse/pull/107647) ([Groene AI](https://github.com/groeneai)).
* `ReplicatedMergeTree` テーブルの `RESTORE` を修正し、バックアップ内の重複コンテンツを持つ part が暗黙に重複排除されるのではなく、保持されるようにしました。[#107652](https://github.com/ClickHouse/ClickHouse/pull/107652) ([Pablo Marcos](https://github.com/pamarcos)).
* `JSON` カラムに対する runtime join filter が誤った結果を返す問題を修正しました。[#107646](https://github.com/ClickHouse/ClickHouse/issues/107646) をクローズしました。[#107663](https://github.com/ClickHouse/ClickHouse/pull/107663) ([Pavel Kruglov](https://github.com/Avogar)).
* 共通の部分式を共有する `ALIAS` カラムを選択する distributed queries で、誤った結果が返る問題を修正しました。カラムの対応関係がずれて、別のカラムの値として返されることがありました。[#107675](https://github.com/ClickHouse/ClickHouse/pull/107675) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `normalized_query_hash` をキーとする quota で、クエリ数の counters と同様に、単一のユーザー共有 bucket に計上するのではなく、各 query pattern ごとにすべての resource (`read_rows`, `read_bytes`, `result_rows`, `result_bytes`, `execution_time`, `written_bytes`, `errors`) を計上するようになりました。[#107681](https://github.com/ClickHouse/ClickHouse/pull/107681) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `UNION`/`INTERSECT`/`EXCEPT` の sibling branches が `WHERE` predicate だけ異なり、一方の branch の predicate が `Const` カラムへ定数畳み込みされた場合に発生していた `Block structure mismatch in UnionStep stream` 論理エラー (debug/sanitizer builds では server abort、release builds では `Code: 49`) を修正しました。[#107719](https://github.com/ClickHouse/ClickHouse/pull/107719) ([Groene AI](https://github.com/groeneai)).
* `Variant` および `Dynamic` カラム内にネストされた `LowCardinality` の除去処理の不整合によって発生していた論理エラー (`Bad cast`) を修正しました。たとえば `concat`、`format`、主キー解析で発生していました。[#107598](https://github.com/ClickHouse/ClickHouse/issues/107598) をクローズしました。[#107773](https://github.com/ClickHouse/ClickHouse/pull/107773) ([Pavel Kruglov](https://github.com/Avogar)).
* クラスターに非アクティブなレプリカ (たとえばオートスケーリング後に残った古いエントリ) が含まれる場合に、並列レプリカでワークロード分散が大きく偏る深刻な問題を修正しました。こうしたレプリカは読み取りコーディネーターによってカウントされなくなり、1 つのレプリカに作業が集中するのではなく、オンラインのレプリカ間で均等に分散されるようになりました。[#107805](https://github.com/ClickHouse/ClickHouse/pull/107805) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* プライマリキー解析中に `IN` サブクエリの Set を構築する際、処理が暗黙のうちに失敗した場合 (たとえば `overflow_mode = 'break'` を伴うサブクエリのタイムアウト) に `Not-ready Set is passed as the second argument` 例外が発生し得る問題を修正しました。この問題では、クエリパイプラインで使われる Set がそのクエリ中で恒久的に未構築のままになっていました。 [#107924](https://github.com/ClickHouse/ClickHouse/pull/107924) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 述語 pushdown (`enable_optimize_predicate_expression`、レガシーアナライザ) において、`JOIN ... ON` 条件内に `UNION` サブクエリがある場合に発生していたサーバークラッシュを修正しました。 [#107930](https://github.com/ClickHouse/ClickHouse/pull/107930) ([Groene AI](https://github.com/groeneai)).
* S3 または S3-compatible (たとえば GCS) の object を読み取り中にその場で上書きした場合に、誤って `CHECKSUM_DOESNT_MATCH` や `Parquet` の読み取りエラーが発生したり (さらに一部のフォーマットでは気付かれないまま誤った結果を返したり) する問題を修正しました。こうした読み取りは、2 つの object バージョンをつぎはぎしたデータを返す代わりに、明確で retryable な error で失敗するようになりました。これは新しい設定 `s3_validate_etag_on_read` (デフォルトで有効) で制御されます。 [#107934](https://github.com/ClickHouse/ClickHouse/pull/107934) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `set` のデータスキッピング索引を持つ table に対して、row policy が常に真となる条件と非索引カラムのチェックを組み合わせてフィルタする場合に、`SELECT` が `NOT_FOUND_COLUMN_IN_BLOCK` で失敗する問題を修正しました。 [#107971](https://github.com/ClickHouse/ClickHouse/pull/107971) ([Shaohua Wang](https://github.com/tiandiwonder)).
* 実行可能 user-defined function のコマンド parameter のパースを修正し、名前が空または無効なプレースホルダーを parameter として受け付けないようにしました。 [#107983](https://github.com/ClickHouse/ClickHouse/pull/107983) ([Goutam Adwant](https://github.com/goutamadwant)).
* `PREWHERE` 使用時の `Map` subcolumn におけるパフォーマンス低下を修正しました。[#107912](https://github.com/ClickHouse/ClickHouse/issues/107912) をクローズします。原因は [#99200](https://github.com/ClickHouse/ClickHouse/pull/99200) でした。 [#107988](https://github.com/ClickHouse/ClickHouse/pull/107988) ([Pavel Kruglov](https://github.com/Avogar)).
* 存在しない variant 索引を判別子が参照している不正な `Native` block から `Variant` カラムを読み取る際に発生する、範囲外書き込みを修正しました。 [#107991](https://github.com/ClickHouse/ClickHouse/pull/107991) ([uwezkhan](https://github.com/uwezkhan)).
* `Date32` キーカラムに対して `toStartOfDay`、`toStartOfISOYear`、`toDaysSinceYearZero`、`toRelativeSecondNum`、`toRelativeMinuteNum`、`toRelativeHourNum`、`toRelativeWeekNum`、`toRelativeDayNum`、`toMonthNumSinceEpoch`、または `toYearNumSinceEpoch` を適用した際に、関数で表現可能な範囲外の日付 (特に `1970-01-01` より前の日付) を含む場合、誤ったプライマリキーおよびパーティション pruning によりクエリ結果が誤る問題を修正しました。これらの関数はプライマリインデックスに対して自身を単調であると報告しますが、以前はそのような argument に対して値が折り返していたため、実際には一致する行を含む granule を索引が刈り込んでしまう可能性がありました。現在は結果型の bounds で飽和するようになり、`Date32` の全範囲で単調性を保ちます。 [#108018](https://github.com/ClickHouse/ClickHouse/pull/108018) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 要素が `Dynamic`/`Variant` の `Tuple` に対する `accurateCastOrNull` を修正しました。実際のソース `NULL` が変換失敗として扱われていました。対象要素が `Nullable` の場合、ソース `NULL` は要素 `NULL` のままになります (通常の `Tuple(Nullable(...))` ソースと同じ挙動) 。対象要素が非 `Nullable` の場合、ソース `NULL` は要素のデフォルト値を生成するのではなく、タプル全体を `NULL` にします。なお、parse/overflow の失敗時は引き続きタプル全体が `NULL` になります。 [#108023](https://github.com/ClickHouse/ClickHouse/pull/108023) ([Groene AI](https://github.com/groeneai)). また、`Tuple` 内にネストされた `Dynamic` または `Variant` カラムを、`accurateCastOrNull` または `accurateCastOrDefault` で非 `Nullable` の要素型に CAST する際の論理エラーも修正しました。 [#108061](https://github.com/ClickHouse/ClickHouse/pull/108061) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `numericIndexedVectorPointwiseMultiply` が、BSI (bit-sliced index) 構成の異なる全要素 1 のベクトルとの乗算時に空の結果を返していた問題を修正しました。 [#108027](https://github.com/ClickHouse/ClickHouse/pull/108027) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `toTime64` および `CAST(... AS Time64)` が、`saturate` および `ignore` overflow モードで範囲外の値を `Time64` の範囲内に丸めていなかった問題を修正しました。この問題により、表示上は同一でも比較結果が異なる値が生成されることがありました。 [#108028](https://github.com/ClickHouse/ClickHouse/pull/108028) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `getClientHTTPHeader` が非決定論的として正しく扱われるようになり、その結果がクエリ結果 cache に誤って再利用されなくなりました。 [#108029](https://github.com/ClickHouse/ClickHouse/pull/108029) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client --port 9440` で、安全な (TLS) 接続が再び自動的に有効になるようになりました。これは、リファクタリングによって secure connection のチェックに port が渡されなくなっていたために壊れていました。 [#108032](https://github.com/ClickHouse/ClickHouse/pull/108032) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 読み取り専用 table の data part の refresh 中に一時的な error が発生しても、バックグラウンド refresh タスクが恒久的に停止しないようになりました。 [#108034](https://github.com/ClickHouse/ClickHouse/pull/108034) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.warnings` における memory/CPU/mutation 過負荷の warning が、非同期メトリクス cycle より 1 cycle 遅れていた (さらに最初の cycle では存在しなかった) 問題を修正しました。 [#108035](https://github.com/ClickHouse/ClickHouse/pull/108035) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `mongodb` table function が、`oid_columns` を名前付き argument (例: `oid_columns='_id'`) として受け付けるようになり、`BAD_ARGUMENTS` で拒否しなくなりました。 [#108039](https://github.com/ClickHouse/ClickHouse/pull/108039) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 修飾付き asterisk (`t.*`) で `JOIN USING` キーを select し、その join が `PASTE`/`CROSS`/カンマ join または外側の `ON` join の下にネストされていて、`join_use_nulls = 0` の場合に発生していた `Bad cast from type DB::ColumnNullable to DB::ColumnVector<...>` 例外 (論理エラー) を修正しました。 [#108043](https://github.com/ClickHouse/ClickHouse/pull/108043) ([Groene AI](https://github.com/groeneai)).
* 正規表現の「すべて一致」関数 `extractAll`, `extractAllGroupsVertical`, `extractAllGroupsHorizontal`, `countMatches`, `splitByRegexp` における、幅ゼロアサーション (`\b`, `^`, `$`) の不正な処理を修正しました。たとえば、`extractAll('new york is the greatest', '\b(\w)')` は、すべての文字ではなく、各単語の先頭文字を正しく返すようになりました。 [#108047](https://github.com/ClickHouse/ClickHouse/pull/108047) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Atomic` データベースで、クエリが失敗した際に `CREATE TABLE ... AS SELECT` が空のテーブルを残してしまう不具合を修正しました。たとえば、ユーザーにサブクエリから参照されるテーブルへのアクセス権がない場合です。従来は再試行すると、本来のエラーではなく、テーブルがすでに存在するというメッセージが返されていました。現在は一時テーブル経由でテーブルが作成され、完全にデータが投入されるまで可視状態になりません。[#108048](https://github.com/ClickHouse/ClickHouse/pull/108048) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `DateTime64`、`Decimal`、または浮動小数点の range を使用する `range_hashed` または `complex_key_range_hashed` Dictionary について、`dictGet`/`dictHas` に対応する引数を指定してクエリできるようにしました。従来、このようなクエリは `must be convertible to Int64` で失敗し、`Decimal`/`DateTime64` range の終端未指定インターバルでは誤ってデフォルト値が返されていました。[#108052](https://github.com/ClickHouse/ClickHouse/pull/108052) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 明示的なクエリを使用するローカル `ClickHouse` ログソースで、キーカラムが Dictionary 定義の先頭カラムではない複合キーを持つ Dictionary を読み込む際に発生していた例外 (`CANNOT_PARSE_TEXT`) を修正しました。ログソースのカラムは、位置ではなく名前で Dictionary の構造に対応付けられるようになりました。[#108053](https://github.com/ClickHouse/ClickHouse/pull/108053) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 狭い浮動小数点カラムで正確に表現できない decimal リテラル (たとえば `Float32` カラムに対する `0.1`) を使用した場合に、`values` table function が `ARGUMENT_OUT_OF_BOUND` で失敗する不具合を修正しました。例: `SELECT * FROM values('x Float32', 0.1)`。このような値は現在受け入れられ、`CAST` および `INSERT ... VALUES` と一貫して、表現可能な最も近い値に変換されます。[#108055](https://github.com/ClickHouse/ClickHouse/pull/108055) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ユーザーが `ALIAS` カラムに対してのみ `SELECT` アクセス権を付与されているテーブルで `SELECT count()` (またはその他の自明なクエリ) を実行した際に発生していた `LOGICAL_ERROR` (`No available columns`) を修正しました。[#108056](https://github.com/ClickHouse/ClickHouse/pull/108056) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `mapFilter`、`mapSort` (およびその派生版) 、`mapConcat` が `Map` のキーおよび値の型から `LowCardinality` を落としてしまう不具合を修正しました。従来、`Map(LowCardinality(String), String)` カラムに対する `mapFilter` は `Map(String, String)` を返しており、これにより `CREATE TABLE ... AS SELECT` で作成されたテーブルのメタデータが破損し、`CHECK TABLE` が失敗する可能性がありました。[#108057](https://github.com/ClickHouse/ClickHouse/pull/108057) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `splitByNonAlpha` 以外のトークナイザーを使うテキスト索引で `hasToken` を使用した際に、不正な結果になる不具合を修正しました。[#108066](https://github.com/ClickHouse/ClickHouse/pull/108066) ([Robert Schulze](https://github.com/rschu1ze)).
* XML で定義された多数の MySQL Dictionary が `share_connection` を介して単一の接続プールを共有している場合に、`SYSTEM RELOAD DICTIONARIES` (および `RELOAD DICTIONARY`) が停止する不具合を修正しました。これらのプールは現在、設定の `connection_pool_size` と `connection_wait_timeout` (デフォルトは 5 seconds) を反映し、named collections を通じて定義された Dictionary と同じ動作になります。[#108083](https://github.com/ClickHouse/ClickHouse/pull/108083) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Dictionary に対して `SHOW DICTIONARIES` 権限だけを持つユーザーでも `EXISTS <dictionary>` を実行できるようにしました (従来は `SHOW TABLES` が必要でした) 。[#108084](https://github.com/ClickHouse/ClickHouse/pull/108084) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CREATE TABLE dst AS src SETTINGS ...` (および、明示的な `ENGINE` を指定せずに `ORDER BY`/`PARTITION BY` を伴う類似の構文) で、ソース table の engine、ストレージ clause (table `TTL` やキーなど) 、および settings が暗黙に破棄される問題を修正しました。現在は、engine と上書きされていないストレージ clause はソース table から継承され、指定した settings はソース table の settings に上書きマージされます。[#108085](https://github.com/ClickHouse/ClickHouse/pull/108085) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `MergeTree` table への `INSERT` が、Windows ベースの filesystem (WSL、CIFS/SMB、Docker Desktop の bind mount) で `filesystem error: in rename: Permission denied` により失敗する問題を修正しました。原因は、part writer が part directory の rename をまたいでファイルディスクリプタを開いたままにしていたことでした。[#108089](https://github.com/ClickHouse/ClickHouse/pull/108089) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `WHERE` clause なしで `Hive` table (例: `SELECT * FROM hive_table`) をクエリした際にクラッシュ (null pointer の逆参照) が発生する問題を修正しました。[#108094](https://github.com/ClickHouse/ClickHouse/pull/108094) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 非定数または false の条件を伴う `ALTER UPDATE col = ... WHERE <cond>` の後に `ALTER MODIFY COLUMN col <new type>` を実行した場合、`apply_mutations_on_fly = 1` でカラムを読み取ると `LOGICAL_ERROR` ("Unexpected return type from if") が発生する問題を修正しました。[#108128](https://github.com/ClickHouse/ClickHouse/pull/108128) ([Groene AI](https://github.com/groeneai))。
* 入力の精度が interval の単位より細かい場合に、`toStartOfInterval` と `dateTrunc` が、その interval に含まれる開始時刻ではなく丸められた値を返す問題を修正しました。たとえば、`toStartOfInterval(toDateTime64('2023-10-09 10:11:12.000999', 6), INTERVAL 1 millisecond)` は `10:11:12.000` ではなく `10:11:12.001` を返していました。明示的な origin を指定する overload も影響を受けていました。[#103535](https://github.com/ClickHouse/ClickHouse/issues/103535) をクローズします。[#108186](https://github.com/ClickHouse/ClickHouse/pull/108186) ([Yarik Briukhovetskyi](https://github.com/yariks5s))。
* `system.query_views_log` の `view_query` カラムに含まれる機密情報を隠すようにしました。[#108214](https://github.com/ClickHouse/ClickHouse/pull/108214) ([Valerii Mordovskii](https://github.com/Fidelaggio))。
* 旧式の `hypothesis` スキップ索引 (削除済みの索引タイプで、`ATTACH` 互換性のためだけに残されているもの) を使ってアタッチされた `MergeTree` table で、処理が停止する問題を修正しました。従来は、そのような table に対する論理削除、`OPTIMIZE`、通常の `INSERT`、またはフィルタ付き `SELECT` が `ILLEGAL_INDEX` ("Index of type 'hypothesis' is no longer supported") で失敗し、`DELETE` mutation は無限に再試行されていました。現在はこの無効な索引は不活性として扱われます。つまり、merge/mutation 中は変更せずに引き継がれ、INSERT 時およびクエリプラン作成時にはスキップされ、さらに `ALTER TABLE ... DROP INDEX` で引き続き削除できます。[#108217](https://github.com/ClickHouse/ClickHouse/pull/108217) ([Groene AI](https://github.com/groeneai))。
* setting `type_json_allow_duplicated_key_with_literal_and_nested_object` が、`JSON` の型付き path で機能しない問題を修正しました。[#108218](https://github.com/ClickHouse/ClickHouse/pull/108218) ([Pavel Kruglov](https://github.com/Avogar))。
* 通常 projection / aggregate projection を持つ `MergeTree` table に対して `make_distributed_plan = 1` でクエリを実行した際に、`LOGICAL_ERROR` (`Different list of shards in child plans`) が発生する問題を修正しました。[#108256](https://github.com/ClickHouse/ClickHouse/pull/108256) ([Groene AI](https://github.com/groeneai))。
* `replaceRegexpOne` と `replaceRegexpAll` を修正し、`.` がデフォルトで改行文字にも一致するようにしました。これにより、他の regular expression 関数との一貫性が保たれます。[#108265](https://github.com/ClickHouse/ClickHouse/pull/108265) ([linjiayu1025-collab](https://github.com/linjiayu1025-collab))。
* `Array(Dynamic)` または `Array(Variant)` を `accurateCastOrNull` で `QBit` にキャストする際に発生する論理エラーを修正しました。例: `accurateCastOrNull(CAST(range(114), 'Array(Dynamic)'), 'QBit(Float32, 114)')`。 [#108288](https://github.com/ClickHouse/ClickHouse/pull/108288) ([Groene AI](https://github.com/groeneai)).
* `index_granularity_bytes` が `AggregateFunction` の state カラムにも適用されるようになりました。以前は、この種のカラムでは granule のバイト上限が無視されていました (たとえば `AggregatingMergeTree` テーブルの `uniqExact` state や aggregating projections) 。その結果、設定した上限を大幅に超える granule が生成され、読み取り増幅やクエリ実行時のメモリ使用量が増えていました。 [#108297](https://github.com/ClickHouse/ClickHouse/pull/108297) ([Groene AI](https://github.com/groeneai)).
* 論理更新 `UPDATE`/`DELETE` の condition が 2 回評価される問題を修正しました。これにより、非決定論的な condition では誤動作が発生し、決定論的な condition でも余分な処理が行われる可能性がありました。 [#86032](https://github.com/ClickHouse/ClickHouse/issues/86032) をクローズします。 [#108323](https://github.com/ClickHouse/ClickHouse/pull/108323) ([ofeliacode](https://github.com/ofeliacode)).
* `headers_regexp` regular expression が空文字列を許容する header がリクエストに存在しない場合に、定義済みの HTTP handler で発生する exception を修正しました。 [#108324](https://github.com/ClickHouse/ClickHouse/pull/108324) ([Vitaly Baranov](https://github.com/vitlibar)).
* 非定数の limit argument を指定した `arrayPartialSort` の問題を修正しました。 [#108327](https://github.com/ClickHouse/ClickHouse/pull/108327) ([Vitaly Baranov](https://github.com/vitlibar)).
* キャンセル済みまたは `KILL` された `INSERT` が、スキップ索引 の build 中に長時間実行され続ける問題を修正しました (たとえば、高カーディナリティなカラムに対する無制限の `set(0)` 索引) 。クエリがキャンセルされると、索引の build も速やかに停止するようになりました。 [#108351](https://github.com/ClickHouse/ClickHouse/pull/108351) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `primes` table function からの `SELECT` がキャンセルに応答しない問題を修正しました。`step` (または `limit`) が大きい場合、`KILL QUERY` やタイムアウトの後でもクエリが長時間実行され続けることがありましたが、これで速やかに停止するようになりました。 [#108353](https://github.com/ClickHouse/ClickHouse/pull/108353) ([Shaohua Wang](https://github.com/tiandiwonder)).
* 名前に `INT` という substring を含むデータ型名の解析を修正しました (たとえば、データ型の位置で使われる `quantileInterpolatedWeighted` のような関数風の名前) 。このような名前は MySQL の整数型と誤認され、最初の `(...)` argument グループが表示幅修飾子として暗黙に消費されていたため、クエリのフォーマットの往復変換が壊れる可能性がありました。 [#108354](https://github.com/ClickHouse/ClickHouse/pull/108354) ([Groene AI](https://github.com/groeneai)).
* 不正な `ARRAY JOIN` の後にカンマと括弧付きの table リストが続く場合、本来は拒否されるべきところを cross join として誤って解析していた不整合を修正しました。 [#108365](https://github.com/ClickHouse/ClickHouse/pull/108365) ([Raúl Marín](https://github.com/Algunenano)).
* `format_display_secrets_in_show_and_select` が無効 (デフォルト) の場合、`EXPLAIN actions`、`EXPLAIN header`、`EXPLAIN PIPELINE` の出力で、`encrypt`、`decrypt`、`HMAC` などの関数の secret argument を表示しないようにしました。 [#108386](https://github.com/ClickHouse/ClickHouse/pull/108386) ([Raúl Marín](https://github.com/Algunenano)).
* `TO` ターゲットを持つリフレッシャブルmaterialized view の `CREATE OR REPLACE` を修正しました。置き換え対象の view がすでにターゲットテーブルを所有しているため、誤って拒否されていました。 [#108392](https://github.com/ClickHouse/ClickHouse/pull/108392) ([Nikolay Degterinsky](https://github.com/evillique)).
* 不正な形式または同期がずれた native TCP protocol ストリームによって発生し得たサーバークラッシュ (`Received signal 4`, illegal instruction) を修正しました。クライアントが指定する初期アドレスは、解析前に数値の `host:port` 形式であることを検証するようになり、数値でないポートがトラップされた `getservbyname` libc 関数に渡されないようになりました。 [#108410](https://github.com/ClickHouse/ClickHouse/pull/108410) ([Groene AI](https://github.com/groeneai)).
* シャットダウン中に、database の停止処理で例外がスローされた場合に発生していたサーバークラッシュを修正しました (たとえば、table の flush が ZooKeeper のタイムアウトに達した場合) 。シャットダウンシーケンスの残りがスキップされなくなり、サーバー終了前に system logs が flush され、それらのスレッドも join されるようになりました。 [#108417](https://github.com/ClickHouse/ClickHouse/pull/108417) ([Groene AI](https://github.com/groeneai)).
* パターンに NUL (`\0`) バイトが含まれているときに、正規表現関数 (`match`、`extract`、`extractAll`、`replaceRegexpOne`、`replaceRegexpAll` など) が誤った結果を黙って返していた問題を修正しました。NUL は RE2 と同様、通常のリテラルバイトとして扱われるようになりました。 [#108427](https://github.com/ClickHouse/ClickHouse/pull/108427) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `http_options_response` が設定されていない場合に、`clickhouse-local` が HTTP `OPTIONS` リクエストに対して空の応答を返していた問題を修正しました。これにより、クエリは動作しているにもかかわらず、Web UI (`/play`) では接続が壊れているように表示されていました。 [#108428](https://github.com/ClickHouse/ClickHouse/pull/108428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* distributed query で、構造的に同一の重複 `ALIAS` カラムを deduplicate しつつ、`key = value` 形式の named-collection 引数を持つ table function (たとえば `oss(s3_conn, filename = '...')`) を参照している場合に発生する `LOGICAL_ERROR` (`Invalid action query tree node ...`) 例外を修正しました。 [#108435](https://github.com/ClickHouse/ClickHouse/pull/108435) ([Groene AI](https://github.com/groeneai)).
* `Replicated` database 内の協調型リフレッシャブルmaterialized view が、`MULTI_READ` 機能フラグをサポートしない Keeper 上で attach されていた場合に、起動時に発生し得たサーバークラッシュ (`LOGICAL_ERROR: 'Unexpected exception in refresh scheduling'`) を修正しました (たとえば Keeper のダウングレード後) 。今後はサーバーを異常終了させる代わりに、その view を正常に停止します。 [#108441](https://github.com/ClickHouse/ClickHouse/pull/108441) ([Groene AI](https://github.com/groeneai)).
* 並列レプリカ環境で `MergeTree` table から仮想カラムを選択する際に発生する `NOT_FOUND_COLUMN_IN_BLOCK` error (例: `Column _part not found`) を修正しました。これには、`asterisk_include_virtual_columns = 1` を指定した `SELECT *` 経由の場合も含まれます。 [#108451](https://github.com/ClickHouse/ClickHouse/pull/108451) ([Groene AI](https://github.com/groeneai)).
* `SYSTEM RESET DDL WORKER` の実行に、新しい `SYSTEM RESET DDL WORKER` privilege が必要になりました。以前は、認証済みの任意のユーザー (`readonly` を含む) がこれを実行でき、DDL worker の状態を繰り返しリセットして `ON CLUSTER` DDL を妨害できていました。 [#108460](https://github.com/ClickHouse/ClickHouse/pull/108460) ([Groene AI](https://github.com/groeneai)).
* `catboostEvaluate` の model path を、`file` table function や dictionary sources と同様に `user_files` ディレクトリ内に制限しました。以前は、この関数は任意の filesystem path を包含チェックなしで受け入れていたため、`user_files` 外のファイルの存在確認や read のトリガーが可能でした。今後、model は `user_files` 内に配置する必要があります。 [#108463](https://github.com/ClickHouse/ClickHouse/pull/108463) ([Groene AI](https://github.com/groeneai)).
* `hasColumnInTable` 関数に、ターゲットテーブルに対する `SHOW COLUMNS` privilege が必要になりました。これは `DESCRIBE` および `SHOW CREATE TABLE` に必要な grant と同じです。以前は、どのユーザーでも `hasColumnInTable` を呼び出してカラム名を調べたり、アクセスチェックなしで table や database の存在を確認したりできました。 [#108464](https://github.com/ClickHouse/ClickHouse/pull/108464) ([Groene AI](https://github.com/groeneai)).
* `mannWhitneyUTest`、`rankCorr`、`largestTriangleThreeBuckets`、`quantileGK`、`sequenceMatch`/`sequenceCount`、`groupArrayIntersect` の細工された aggregate function states のデシリアライズ時に、過剰なメモリ割り当てが発生する問題を修正しました。不正な state が巨大な要素数を宣言すると、数バイトの入力しかないのに server が数十 GB のメモリを割り当てようとする可能性がありましたが、そのような state は現在 `TOO_LARGE_ARRAY_SIZE` で拒否されます。[#108465](https://github.com/ClickHouse/ClickHouse/pull/108465) ([Groene AI](https://github.com/groeneai)).
* S3 の `301 Moved Permanently` response のリダイレクト先を `remote_url_allow_hosts` (`RemoteHostFilter`) に照らして検証するようにしました。これまでは AWS SDK の 301 処理で、response (`Location` header または `<Endpoint>` 要素) 内の攻撃者指定の endpoint が host チェックなしで追跡されていたため、悪意のある、または compromised された S3-compatible server が ClickHouse を任意の host にリダイレクトさせることができました (SSRF) 。307 のリダイレクト経路ではすでにこのチェックが行われており、現在は両方の経路で動作が統一されています。[#108466](https://github.com/ClickHouse/ClickHouse/pull/108466) ([Groene AI](https://github.com/groeneai)).
* `DataLakeCatalog` データベースエンジンの従来の `storage_aws_access_key_id`、`storage_aws_secret_access_key`、`storage_catalog_credential`、`storage_auth_header` 設定が、`system.databases.engine_full` と `SHOW CREATE DATABASE` に平文で表示される credential 漏えいを修正しました。これらは現在 `[HIDDEN]` としてマスクされます。[#108470](https://github.com/ClickHouse/ClickHouse/pull/108470) ([Groene AI](https://github.com/groeneai)).
* `ssl_certificate` のユーザー識別において、単一の `*` ワイルドカードが名前の 1 つの部分にのみ正確に一致するよう修正しました (RFC 6125 6.4.3) 。これまでは `CN` または `DNS:` SAN subject 内のワイルドカード (たとえば `*.corp.example.com`) が、`evil.deep.corp.example.com` のような複数ラベルの name にも一致していたため、より深い subdomain 用 certificate の所有者がワイルドカード user として認証できてしまっていました。`URI:` SAN のマッチングは変更ありません。[#108472](https://github.com/ClickHouse/ClickHouse/pull/108472) ([Groene AI](https://github.com/groeneai)).
* MySQL wire protocol における SQL 挿入を修正しました。`SHOW TABLE STATUS LIKE` の argument と、MySQL インターフェイス (port 9004) 経由で送信される `SET <mysql_setting>` の値は、書き換え後のクエリにそのまま連結されるのではなく、parse したうえで再度クォートされるようになりました。また、MySQL インターフェイス経由の `KILL QUERY <id>` が複数桁の connection id を黙って無視していた問題も修正しました。[#108474](https://github.com/ClickHouse/ClickHouse/pull/108474) ([Groene AI](https://github.com/groeneai)).
* HTTP の query-string parameter として渡される機密性の高い値 (たとえば `param_secret_key`/`param_aws_secret_access_key` のような `param_*` query-parameter バインディング、`password` parameter、または S3 形式の `signature` parameter) が、`system.text_log` や OpenTelemetry spans にそのまま書き込まれないようになりました。`Request URI` のログ行では、名前から機密性が高いと判断される parameter の値は `[HIDDEN]` に置き換えられます。[#108475](https://github.com/ClickHouse/ClickHouse/pull/108475) ([Groene AI](https://github.com/groeneai)).
* `url` table function および `URL` storage engine の schema inference 中に `http_forbid_headers` configuration を適用するようにしました。これまでは schema inference 中 (たとえば `Regexp` format や `DESCRIBE`) でも禁止された header がネットワーク越しに送信され、その response body が parse エラーに含まれることで secret が漏えいする可能性がありました。現在は inference 経路でネットワークアクセスを行う前に header filter がチェックされ、既存の `urlCluster` の動作と一致します。[#108476](https://github.com/ClickHouse/ClickHouse/pull/108476) ([Groene AI](https://github.com/groeneai)).
* `SELECT ... SAMPLE ...` を query condition cache (設定 `use_query_condition_cache`、デフォルトで有効) と併用した際に誤った結果になる問題を修正しました。[#108488](https://github.com/ClickHouse/ClickHouse/pull/108488) ([Groene AI](https://github.com/groeneai)).
* `max_parser_depth` が大きな値に設定されている場合に、`[[[ ... ]]]` や `array(array( ... ))` のような深くネストした式が原因で発生していたサーバークラッシュ (stack overflow) を修正しました。 [#108493](https://github.com/ClickHouse/ClickHouse/pull/108493) ([Raúl Marín](https://github.com/Algunenano)).
* `RabbitMQ` table engine で、ハートビートの欠落によりブローカーが TCP RST を送信せずに AMQP connection を閉じた際、`DROP TABLE` またはサーバー停止時に無期限にハングする問題を修正しました。すべてのブロッキング event loop 呼び出しに 30 秒のタイムアウトを設定し、停止処理が必ず完了するようにしました。 [#108497](https://github.com/ClickHouse/ClickHouse/pull/108497) ([Aly Ayman](https://github.com/alyelmorsy-dataengineer)).
* internal query の一部として実行される secondary query は、今後 internal query として記録されます。 [#108506](https://github.com/ClickHouse/ClickHouse/pull/108506) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `ArrowFlight` table engine と `arrowFlight` table function が、`<remote_url_allow_hosts>` の許可リストに従うようになりました。従来は connection の host と port が検証されていなかったため、クエリが許可リストにない host に到達できていました。 [#108507](https://github.com/ClickHouse/ClickHouse/pull/108507) ([Groene AI](https://github.com/groeneai)).
* MySQL wire protocol コマンド `COM_FIELD_LIST` (`mysql_list_fields`) と `COM_INIT_DB` (`USE database`) に、それぞれの SQL 相当機能 (`SHOW COLUMNS`/`DESCRIBE` および `USE`) と同じアクセス制御が適用されるようになりました。従来は、ユーザーが一部のカラムにしか権限を持たない table のカラム名を開示できてしまい、さらに `SHOW DATABASES` privilege がなくても current database を切り替えられていました。 [#108508](https://github.com/ClickHouse/ClickHouse/pull/108508) ([Groene AI](https://github.com/groeneai)).
* `http_forbid_headers` が大文字・小文字を区別せずに照合されるようになりました。HTTP header 名は大文字・小文字を区別しないため、`Authorization` を禁止すると、`authorization`、`AUTHORIZATION`、その他の表記違いもブロックされるようになりました。設定された `header_regexp` パターンも、明示的に `(?i)` フラグを付けなくても大文字・小文字を区別せずに照合されるようになりました。 [#108509](https://github.com/ClickHouse/ClickHouse/pull/108509) ([Groene AI](https://github.com/groeneai)).
* distributed query が、まだ materialize されていない `MATERIALIZED` CTE を external table として参照し、かつ remote source が遅延生成される場合に発生しうるサーバークラッシュ (segmentation fault) を修正しました。 [#108547](https://github.com/ClickHouse/ClickHouse/pull/108547) ([Groene AI](https://github.com/groeneai)).
* query condition cache (`use_query_condition_cache = 1`) が、別のスキップ索引の組み合わせで実行されたクエリに対してスキップ索引由来の mark 除外を再利用してしまい、誤った結果を返す問題を修正しました。たとえば、`use_skip_indexes = 0`、`ignore_data_skipping_indices`、または `use_skip_indexes_for_disjunctions` のモードが異なる場合です。スキップ索引由来の cache entries は、実際に実行された有効なスキップ索引の組み合わせをキーにするようになりました。 [#108548](https://github.com/ClickHouse/ClickHouse/pull/108548) ([Groene AI](https://github.com/groeneai)).
* `DateTime64` argument を取る `changeYear`, `changeMonth`, `changeDay`, `changeHour`, `changeMinute`, `changeSecond` に関する複数の不具合を修正しました。結果カラムが argument の scale ではなく、ハードコードされたデフォルト scale 3 で作成されていたため、結果を `arrayPushBack`/`arrayPushFront`/`arrayConcat` に渡すと `LOGICAL_ERROR` (`writeSlice expects same column types`) が発生していました。また、ナノ秒精度 (scale 9) の入力では `DECIMAL_OVERFLOW` が発生し、epoch 以前の sub-second 入力では誤った calendar second が返されていました。あわせて、`DateTime64` に対する `timeSlots` で、宣言された return type においてオプションの `Size` argument の scale が無視され、`Size` の最大 scale で誤った timestamp が返される問題も修正しました。 [#108551](https://github.com/ClickHouse/ClickHouse/pull/108551) ([Groene AI](https://github.com/groeneai)). [#108681](https://github.com/ClickHouse/ClickHouse/pull/108681) ([Takumi Hara](https://github.com/takumihara)). [#108994](https://github.com/ClickHouse/ClickHouse/pull/108994) ([Groene AI](https://github.com/groeneai)).
* `enable_identifier_resolve_cache` が有効 (既定) な場合に、褃合predicateに `GROUP BY` 内でエイリアスを付けて再度参照すると発生する `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#108553](https://github.com/ClickHouse/ClickHouse/pull/108553) ([Groene AI](https://github.com/groeneai)).
* `STREAM` 読み取り (`SELECT DISTINCT ... FROM table STREAM`) に対して `DISTINCT` を実行した際に発生する論理エラー (`Equal values are not contiguous within the range assumed to be sorted`) を修正しました。`STREAM` 読み取りではソートキー順ではなくコミット順で行が生成されるため、read-in-order の最適化は `STREAM` 読み取りには適用されなくなりました。[#108568](https://github.com/ClickHouse/ClickHouse/pull/108568) ([Groene AI](https://github.com/groeneai)).
* 2 つのケースで、projections がカラムの宣言された `DEFAULT` 値 (例: `-1`) ではなく、型の既定値 (例: `0`) を返していた問題を修正しました。1 つ目は、projection 作成後に `ALTER TABLE ... ADD COLUMN ... DEFAULT` で追加されたカラムを読み取る場合です (基となるテーブルからの読み取りはすでに正しく動作していました) 。2 つ目は、wide part 上でそのカラムの `TTL` が期限切れになった後です。[#108569](https://github.com/ClickHouse/ClickHouse/pull/108569) ([Shaohua Wang](https://github.com/tiandiwonder)). [#109013](https://github.com/ClickHouse/ClickHouse/pull/109013) ([Shaohua Wang](https://github.com/tiandiwonder)).
* S3 へのアップロード (たとえばバックアップ) で、一時的な読み取りエラーの後に再試行した際に発生しうる `ReadBuffer is canceled. Can't read from it.` エラーを修正しました。[#108573](https://github.com/ClickHouse/ClickHouse/pull/108573) ([Groene AI](https://github.com/groeneai)).
* `ATTACH PARTITION ... FROM` が、主キーは等価でも宣言方法が異なるテーブル (一方は明示的な `PRIMARY KEY`、もう一方は `ORDER BY` から暗黙的に導出) を拒否していた問題を修正しました。[#108590](https://github.com/ClickHouse/ClickHouse/pull/108590) ([Jordi Orihuela](https://github.com/jordiori)).
* 複数のテキスト索引が部分的に materialized されている場合に、テキスト索引からの direct read が失敗する問題を修正しました。[#108530](https://github.com/ClickHouse/ClickHouse/issues/108530) を修正します。[#108607](https://github.com/ClickHouse/ClickHouse/pull/108607) ([Anton Popov](https://github.com/CurtizJ)).
* `DESCRIBE loop('db', 'table')` および `DESCRIBE loop(<inner table function>)` が `SHOW COLUMNS` / ソースアクセスチェックを回避し、権限のないユーザーでもテーブルのカラムスキーマを読み取れてしまうメタデータ漏えいを修正しました。[#108624](https://github.com/ClickHouse/ClickHouse/pull/108624) ([Groene AI](https://github.com/groeneai)).
* `S3Queue` および `AzureQueue` テーブルエンジンの `_etag` 仮想カラムを修正しました。宣言されているにもかかわらず一度も populate されていなかったため、`SELECT _etag` は常に空文字列を返していました。これで `S3` エンジンや `s3` table function と同様に、オブジェクトの ETag を返すようになりました。[#108625](https://github.com/ClickHouse/ClickHouse/pull/108625) ([Groene AI](https://github.com/groeneai)).
* timestamp カラムが固定の数値 UTC オフセット (例: `+05:30`, `-08:00`, `00:00`) または非 IANA マーカー `fixed` を timezone として持つ `Arrow`、`ArrowStream`、および Arrow ベースの `ORC` ファイルを読み取れない問題を修正しました。従来は `Cannot load time zone ...` (`BAD_ARGUMENTS`) で失敗していました。[#108633](https://github.com/ClickHouse/ClickHouse/pull/108633) ([Groene AI](https://github.com/groeneai)).
* `SEMI`/`ANTI` join に `join_algorithm = 'full_sorting_merge'` を使用した場合に発生する例外 (`LOGICAL_ERROR: Join is supported only for pipelines with one output port` または `NOT_IMPLEMENTED: MergeJoinAlgorithm is not implemented for strictness Semi`) を修正しました。これには、相関のある `EXISTS` サブクエリのデコリレーションによって生成される join も含まれます。`full_sorting_merge` は、実行できない strictness / kind の組み合わせを受け付けないようになったため、プランナーは別の有効な algorithm にフォールバックするか、その join を実行できないことを報告します。[#108658](https://github.com/ClickHouse/ClickHouse/pull/108658) ([Groene AI](https://github.com/groeneai)).
* 多数の異なる短いトークンに対して `positions = 1` でテキスト索引を構築する際に発生していた heap buffer overflow を修正しました。[#108659](https://github.com/ClickHouse/ClickHouse/pull/108659) ([Groene AI](https://github.com/groeneai)).
* S3 から読み取る、または S3 に書き込むクエリが、S3 リクエストの実行中に (たとえば `KILL QUERY` により) キャンセルされた場合、紛らわしいネットワーク/S3 エラーではなく、キャンセルとして報告されるようになりました。特に、S3 へのバックアップまたは S3 からの復元がキャンセルされた場合、`system.backups` で `BACKUP_CANCELLED`/`RESTORE_CANCELLED` が報告されるようになりました。[#108673](https://github.com/ClickHouse/ClickHouse/pull/108673) ([Julia Kartseva](https://github.com/jkartseva)).
* 古いバージョン (25.12 以前) で不正な `auth_header` を指定して作成された `DataLakeCatalog` データベースが、26.2 以降へのアップグレード後にアタッチできず、その結果サーバーが起動できなくなる問題を修正しました。`auth_header` は `CREATE` 時にのみ検証されるようになり、`ATTACH` 時には起動中ではなく初回使用時に遅延してカタログが構築されるため、設定ミスのある、または到達不能な単一のカタログデータベースがサーバー起動を妨げることはなくなりました。[#108674](https://github.com/ClickHouse/ClickHouse/pull/108674) ([Groene AI](https://github.com/groeneai)).
* `Nullable(Tuple(...))` カラムの非 Nullable な `LowCardinality` 要素がサブカラムとして使用された場合 (たとえばソートキーとして) に、マージ中に発生していた論理エラー (`Sort order of blocks violated`) と不正な読み取りを修正しました。[#108679](https://github.com/ClickHouse/ClickHouse/pull/108679) ([Groene AI](https://github.com/groeneai)).
* 同じ `Distributed` テーブルに対する `DROP TABLE` と `SYSTEM FLUSH DISTRIBUTED` が同時実行された際に起こりうるクラッシュ (use-after-free) を修正しました。[#108684](https://github.com/ClickHouse/ClickHouse/pull/108684) ([Groene AI](https://github.com/groeneai)).
* Azure アカウントの秘密鍵の Base64 デコード時に発生するクラッシュを修正しました。この問題は、秘密鍵が有効な Base64 でない場合に `azureBlobStorage` (および関連する Azure の table function やストレージ) 経由で発生する可能性がありました。`>= 0x80` のバイトがあると範囲外読み取りが発生し、さらに任意の不正なバイトで未定義動作が発生していました。現在は不正な秘密鍵は適切に拒否されます。[#108716](https://github.com/ClickHouse/ClickHouse/pull/108716) ([Groene AI](https://github.com/groeneai)).
* `Distributed` テーブル上のサブクエリが、同じ式に展開される 2 つ以上の `ALIAS` カラム (たとえば `a1 String ALIAS toString(x), a2 String ALIAS toString(x)`) を読み取り、そのサブクエリが外側のクエリに渡される場合 (例: `SELECT count() FROM (SELECT a1, a2 FROM dist GROUP BY a1, a2)`) に発生していた `NUMBER_OF_COLUMNS_DOESNT_MATCH` エラーを修正しました。[#108725](https://github.com/ClickHouse/ClickHouse/pull/108725) ([Groene AI](https://github.com/groeneai)).
* `CREATE OR REPLACE MATERIALIZED VIEW ... POPULATE` により、新しい materialized view がソーステーブルをサブスクライブしないままになり、replace 後に挿入されたすべての行が静かに失われていた問題を修正しました。[#108728](https://github.com/ClickHouse/ClickHouse/pull/108728) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Distributed` テーブルのシャーディングキーが、たとえば `if(1, toInt32(id), toInt32(id) + 1)` のようにアナライザによって定数畳み込みされる式であり、`optimize_skip_unused_shards = 1` のときに発生していた例外 (`Cannot find sharding key column`、および debug / sanitizer build ではサーバー abort) を修正しました。[#108737](https://github.com/ClickHouse/ClickHouse/pull/108737) ([Groene AI](https://github.com/groeneai)).
* `GROUPING SETS`/`ROLLUP`/`CUBE` で `LowCardinality` の定数グループ化キーと `group_by_use_nulls` を使用した際に発生していた論理エラー (`Bad cast from type DB::ColumnNullable to DB::ColumnString`) と、誤った結果が返る可能性を修正しました。[#108771](https://github.com/ClickHouse/ClickHouse/pull/108771) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LowCardinality(FixedString)` (または `LowCardinality(Nullable(FixedString))`) のキー カラムがキー内で関数でラップされている場合、たとえば `PARTITION BY sipHash64(k) % N` と `WHERE k = 'literal'` のようなケースで、パーティションおよび主キーの pruning が暗黙的に無効化されていた問題を修正しました。このようなクエリでは pruning が行われず、すべてのパーティションがスキャンされていました。 [#108777](https://github.com/ClickHouse/ClickHouse/pull/108777) ([Groene AI](https://github.com/groeneai)).
* `Alias` table 経由、または `TimeSeries` table への `INSERT ... SELECT` が、たとえば `timeout_overflow_mode = 'break'` のように例外を伴わずにキャンセルされた際、論理エラー (debug および sanitizer builds での server abort) が発生する問題を修正しました。 [#108783](https://github.com/ClickHouse/ClickHouse/pull/108783) ([Groene AI](https://github.com/groeneai)). [#108796](https://github.com/ClickHouse/ClickHouse/pull/108796) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `groupConcat` を、`String` 要素がスパースに格納された `Tuple` に適用したときに発生する `Bad cast from type DB::ColumnSparse to DB::ColumnString` 論理エラー (debug および sanitizer builds での server abort) を修正しました。 [#108790](https://github.com/ClickHouse/ClickHouse/pull/108790) ([Groene AI](https://github.com/groeneai)).
* `Map` の値に `LowCardinality` を含むネストされた `Map` がある場合に、`mapFilter`、`mapSort`、`mapReverseSort`、`mapPartialSort`、`mapConcat` で `TYPE_MISMATCH` が発生する問題を修正しました。例: `mapFilter((k, v) -> 1, map('a'::LowCardinality(String), map('x'::LowCardinality(String), 'y')))`. [#108798](https://github.com/ClickHouse/ClickHouse/pull/108798) ([Groene AI](https://github.com/groeneai)).
* `insert_quorum = 'auto'` で、生存中のレプリカが過半数未満の場合に inserts が事前に拒否されなかった問題を修正しました。このような inserts は、ローカル part を書き込んだ後に `UNKNOWN_STATUS_OF_INSERT` で timeout するのではなく、今後は `TOO_FEW_LIVE_REPLICAS` により即座に失敗します。 [#108800](https://github.com/ClickHouse/ClickHouse/pull/108800) ([Gagan Dhakrey](https://github.com/gagandhakrey)).
* `JOIN` の `WITH TOTALS` 行に、join の片側にある定数サブクエリ由来の定数値ではなく、デフォルト値 (たとえば `0`) が含まれることがある bug を修正しました。この誤った結果が現れるのは、一部の JOIN 順序、または `query_plan_join_swap_table` setting を使用した場合のみでした。 [#108807](https://github.com/ClickHouse/ClickHouse/pull/108807) ([Vladimir Cherkasov](https://github.com/vdimir)).
* server の shutdown と `S3Queue`/`AzureQueue` table の shutdown が同時実行された際に発生し得た segmentation fault (null-pointer dereference) を修正しました。 [#108810](https://github.com/ClickHouse/ClickHouse/pull/108810) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* シグナルスタックサイズが大きい CPU (たとえば AMX 対応カーネル上の Intel Sapphire Rapids / Granite Rapids) で動作する glibc builds において、signal alt-stack size がページサイズの倍数に切り上げられていなかったために発生していた、起動時 abort (`Cannot allocate ThreadStack`、`EINVAL`) を修正しました。 [#108813](https://github.com/ClickHouse/ClickHouse/pull/108813) ([Groene AI](https://github.com/groeneai)).
* 以前にキャンセルされたクエリによって同期が崩れたままの connection がプールから再利用された際に、distributed queries が `UNEXPECTED_PACKET_FROM_SERVER` (`expected TablesStatusResponse, got ProfileInfo`) で断続的に失敗する問題を修正しました。 [#108854](https://github.com/ClickHouse/ClickHouse/pull/108854) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 分散テーブルに対して複数の `LowCardinality` 引数を持つ関数呼び出しで発生し得た論理エラー (リリースビルドでは例外、debug および sanitizer ビルドでは server の異常終了) を修正しました。たとえば、`remote` table function で `GROUP BY` キーとして使用される `concatAssumeInjective((SELECT toLowCardinality('p')), s)` です。表示されていたメッセージは、`Default functions implementation for LowCardinality is supported only with a single LowCardinality argument` または `Expected the argument ... to have N rows, but it has M` でした。[#108871](https://github.com/ClickHouse/ClickHouse/pull/108871) ([Groene AI](https://github.com/groeneai)).
* `reinterpret(x, 'Decimal128(scale)')` (および `Decimal32`/`Decimal64`/`Decimal256`/`DateTime64` の変換先) で、変換元と変換先の物理型が同じ場合に、要求された変換先の scale ではなく変換元の scale を内部 scale とする結果カラムが生成される問題を修正しました。値自体は正しかったものの、カラムオブジェクトの構造が宣言された型と一致していませんでした。[#108878](https://github.com/ClickHouse/ClickHouse/pull/108878) ([Groene AI](https://github.com/groeneai)).
* `MergeTree` テーブルに対する `DROP`/`DETACH`/`MOVE`/`REPLACE PARTITION` が、以前の同種の操作が中断され (たとえばロールバックされた transaction やクラッシュ) 、古い `tmp_empty_<part>` directory が残っている状態で実行された場合に、debug および sanitizer ビルドで server を異常終了させる可能性があった `LOGICAL_ERROR` (`New empty part is about to materialize but the directory already exist`) を修正しました。今後は失敗する代わりに、この古い directory が回収されます。[#108879](https://github.com/ClickHouse/ClickHouse/pull/108879) ([Groene AI](https://github.com/groeneai)).
* ClickHouse Keeper が `Create2` レスポンスの `Stat` で誤って `dataLength = 0` を返していた問題と、ClickHouse ZooKeeper client が `Create2` レスポンスの `Stat` をデシリアライズしていなかった問題を修正しました。[#108909](https://github.com/ClickHouse/ClickHouse/pull/108909) ([unintended](https://github.com/unintended)).
* `clickhouse-local` が `=` の直後に記述された空のオプション値 (たとえば `--format_csv_null_representation=''`) を拒否していた問題を修正しました。現在は `--format_csv_null_representation ""` および `SET format_csv_null_representation = ''` と同様に動作します。[#108910](https://github.com/ClickHouse/ClickHouse/pull/108910) ([Vismay](https://github.com/vismaytiwari)).
* 名前付き要素と名前なし要素が混在する `Tuple` データ型 (たとえば `Tuple(a UInt8, UInt16)`) をフォーマットする際に、debug および sanitizer ビルドで server を異常終了させていた `LOGICAL_ERROR` (`Inconsistent AST formatting`) を修正しました。[#108915](https://github.com/ClickHouse/ClickHouse/pull/108915) ([Groene AI](https://github.com/groeneai)).
* `GROUPING SETS`、`ROLLUP`、または `CUBE` と `max_threads > 1` を併用して `uniqExact` aggregate states をマージする際に発生していた segmentation fault を修正しました。[#108928](https://github.com/ClickHouse/ClickHouse/pull/108928) ([Raúl Marín](https://github.com/Algunenano)).
* lazy なカラムレプリケーション (`enable_lazy_columns_replication`) が有効な場合に、バッチ途中のエラー後に `INSERT` がロールバックされると (たとえば `Buffer` テーブル、非同期挿入、または `Kafka`/`RabbitMQ`/`FileLog` engine で) 、誤った結果や範囲外読み取りが発生する可能性があった問題を修正しました。[#108935](https://github.com/ClickHouse/ClickHouse/pull/108935) ([Groene AI](https://github.com/groeneai)).
* `join_any_take_last_row` が、自動的な spilling to disk を使用する join を含む、サポート対象のすべてのハッシュベース join パスで反映されるようになりました。[#108936](https://github.com/ClickHouse/ClickHouse/pull/108936) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* アナライザのバグを修正しました。`JOIN` の片方のテーブルに対する `FINAL` (例: `FROM t1 FINAL JOIN t2`) が、誤って結合先の他のテーブルにも適用されており、その結果、この種のクエリが遅くなる可能性がありました。[#108979](https://github.com/ClickHouse/ClickHouse/pull/108979) ([Vladimir Cherkasov](https://github.com/vdimir)).
* アナライザーを無効にした状態で、一方のブランチが並列レプリカ付きの `GROUP BY GROUPING SETS` を使用し、もう一方のブランチが `FINAL` を使用する `UNION ALL`/`INTERSECT`/`EXCEPT` において発生しうる `LOGICAL_ERROR` ("Cannot find `__grouping_set` column in header of MergingAggregatedTransform with grouping sets"、または "Chunk info was not set for chunk in MergingAggregatedTransform") を修正しました。[#109003](https://github.com/ClickHouse/ClickHouse/pull/109003) ([Groene AI](https://github.com/groeneai)).
* `automatic_parallel_replicas_mode` を有効にし、かつ `parallel_replicas_min_number_of_rows_per_replica` が 0 より大きい場合に、自動並列レプリカプランナーで発生しうる `LOGICAL_ERROR` を修正しました。[#109011](https://github.com/ClickHouse/ClickHouse/pull/109011) ([Groene AI](https://github.com/groeneai)).
* `MsgPack` フォーマットの schema inference 中に発生していた過剰なメモリ割り当てを修正しました。配列／map／string／binary のヘッダーで巨大な要素数が宣言された破損入力によって、単一の数 GB 規模の割り当てが発生することはなくなり、不正な入力として拒否されます。これにより、リリース build でのメモリ不足状態 (および sanitizer 下での `allocation-size-too-big` abort) も修正されます。[#109019](https://github.com/ClickHouse/ClickHouse/pull/109019) ([Groene AI](https://github.com/groeneai)).
* サーバー上で解釈される `DateTime`/`DateTime64` 文字列リテラル (非同期 `INSERT`、`SELECT` リテラル) で `use_client_time_zone` が無視される問題を修正しました。`use_client_time_zone` が有効な場合、クライアントは自身のローカルタイムゾーンを `session_timezone` として伝播するようになり、サーバー側での解析が同期 `INSERT` の経路と一致するようになりました。[#109051](https://github.com/ClickHouse/ClickHouse/pull/109051) ([Groene AI](https://github.com/groeneai)).
* `query_plan_optimize_lazy_final` が有効で、かつ `WHERE` フィルターが部分的に `PREWHERE` にプッシュダウンされる (`optimize_move_to_prewhere_if_final` 経由) 場合に発生する `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#109073](https://github.com/ClickHouse/ClickHouse/pull/109073) ([Groene AI](https://github.com/groeneai)).
* クエリ内で `b.*` のような修飾付きアスタリスクを使用し、その `b` が別のテーブルの非複合カラムと同名のテーブル (またはサブクエリ/CTE) エイリアスである場合に発生するエラーを修正しました。このようなクエリは失敗しなくなり、`b` のすべてのカラムを正しく選択できるようになりました。[#109078](https://github.com/ClickHouse/ClickHouse/pull/109078) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 相関サブクエリが join にデコリレートされ、かつソース relation が同じ column name を複数回持つ場合に発生する `Block structure mismatch in JoinStep` 論理エラー (debug および sanitizer builds ではサーバー abort) を修正しました。例: `WITH t AS (SELECT number, * FROM numbers(3)) SELECT *, (SELECT t.number WHERE t.number >= 0) FROM t` (`correlated_subqueries_default_join_kind = 'right'` の場合) 。[#109114](https://github.com/ClickHouse/ClickHouse/pull/109114) ([Groene AI](https://github.com/groeneai)).
* ファイルシステムキャッシュ経由で読み取るクエリが、`KILL QUERY` でキャンセルされた後も進行中のダウンロードを待ち続けてハングすることがある問題と、そのような待機によってリフレッシュが停止したリフレッシャブルmaterialized view を drop または `SYSTEM STOP VIEW` した際に処理がブロックされる問題を修正しました。[#109116](https://github.com/ClickHouse/ClickHouse/pull/109116) ([Murphy](https://github.com/murphy-4o)).
* materialized view を持つテーブルへの insert 時に `parallel_view_processing` 設定が無視される問題を修正しました。25.10 以降、この設定に関係なく view は常に並列に実行されていました。[#109170](https://github.com/ClickHouse/ClickHouse/pull/109170) ([Antonio Andelic](https://github.com/antonio2368)).
* `INSERT` のカラムリストで、`t.* LIKE '<pattern>'` / `t.* ILIKE '<pattern>'` と書かれた修飾付きカラムマッチャーは受け付ける一方、その正規形である `t.COLUMNS('<regexp>')` は拒否するというパーサーの不整合を修正しました。これにより、クエリフォーマットの往復変換が壊れる問題 (および debug / sanitizer builds でサーバーが abort する問題) も解消されます。[#109176](https://github.com/ClickHouse/ClickHouse/pull/109176) ([Groene AI](https://github.com/groeneai)).
* `ProfileEvents` の増分が単調増加しない問題を修正しました。`NetworkReceiveBytes` と `AIOWriteBytes` のカウンターは、ソケットタイムアウトや AIO の失敗時に負の値だけ増加してしまい (巨大な値にラップアラウンドする) 、`MemoryOvercommitWaitTimeMicroseconds` は非単調クロックで計測されていました。 [#109180](https://github.com/ClickHouse/ClickHouse/pull/109180) ([Azat Khuzhin](https://github.com/azat)).
* `Arrow`、`ArrowStream`、`Avro` 形式、および従来の `ORC` と `Parquet` リーダーでのスキーマ推論を修正しました。nullable な struct カラムに対して、`Nullable(Tuple)` 型が許可されていないにもかかわらず `Nullable(Tuple)` を返していた問題を解消しています (`allow_experimental_nullable_tuple_type` は無効) 。`DESCRIBE` は `CREATE TABLE` で拒否される型を返していたため、推定したスキーマを使ったテーブル作成やデータ挿入は `Nullable Tuple type is not allowed` エラーで失敗していました。 [#109185](https://github.com/ClickHouse/ClickHouse/pull/109185) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 相関付き `EXISTS` およびスカラーサブクエリで、相関がサブクエリのプロジェクションにのみ現れ、かつ非相関の `WHERE` 句と組み合わさる場合に誤った結果になる問題を修正しました (サブクエリがすべての行に対して false / `NULL` と評価される可能性がありました) 。 [#105760](https://github.com/ClickHouse/ClickHouse/issues/105760) を修正しました。 [#109186](https://github.com/ClickHouse/ClickHouse/pull/109186) ([Dmitry Novik](https://github.com/novikd)).
* `CREATE USER ... HOST LIKE 'a', 'b'` (および同等の `ALTER USER`) で、最初の pattern だけが暗黙的に保持されていた問題を修正しました。指定したすべての `HOST LIKE` patterns が、ユーザーの host allow-list に保存されるようになりました。 [#109187](https://github.com/ClickHouse/ClickHouse/pull/109187) ([Groene AI](https://github.com/groeneai)).
* アナライザ使用時に、`Distributed` engine テーブル経由でテーブルをクエリすると、`mapValues(map)` または `mapKeys(map)` に定義されたテキスト索引が暗黙的に使われない問題を修正しました。この索引はローカルテーブルおよび `cluster`/`remote` table functions 経由では使われていましたが、`Distributed` engine テーブル経由のクエリではスキップされていました (`force_data_skipping_indices` 有効時は `INDEX_NOT_USED` で失敗していました) 。 [#109188](https://github.com/ClickHouse/ClickHouse/pull/109188) ([Groene AI](https://github.com/groeneai)).
* `Replicated` database に対して DDL query を実行する際、Keeper 内のホストごとの `finished` status ノードがすでにクリーンアップされていると、debug ビルドおよび sanitizer ビルドでサーバーが異常終了する可能性のあった誤った `LOGICAL_ERROR` (`There was an error on <host>: Cannot obtain error message (probably it's a bug)`) を修正しました。 [#109192](https://github.com/ClickHouse/ClickHouse/pull/109192) ([Groene AI](https://github.com/groeneai)).
* 絶対値が `Int32` をオーバーフローする指数を持つ `SAMPLE` 比率 (例: `SAMPLE 1e-3000000000`) が、暗黙的に `SAMPLE 1` として扱われる問題を修正しました。 [#109197](https://github.com/ClickHouse/ClickHouse/pull/109197) ([Raúl Marín](https://github.com/Algunenano)).
* `SYSTEM PREWARM PRIMARY INDEX CACHE ... ON CLUSTER` のアクセスチェックを修正しました。誤って `SYSTEM PREWARM PRIMARY INDEX CACHE` ではなく `SYSTEM PREWARM MARK CACHE` privilege を要求していました。 [#109198](https://github.com/ClickHouse/ClickHouse/pull/109198) ([Raúl Marín](https://github.com/Algunenano)).
* カスタム `disk` setting (`SETTINGS disk = disk(...)`) を使って作成された `MergeTree` テーブルで、`ALTER` queries が失敗する問題を修正しました。 [#63019](https://github.com/ClickHouse/ClickHouse/issues/63019) を修正しました。 [#109199](https://github.com/ClickHouse/ClickHouse/pull/109199) ([Mikhail Artemenko](https://github.com/Michicosun)).
* ウィンドウコンテキスト (`OVER ()`) の aggregate functions `cramersV`、`cramersVBiasCorrected`、`contingency`、`theilsU` の state と、通常の aggregation の state を、連鎖した集合演算 (`EXCEPT`, `INTERSECT`) やネストした `UNION ALL` で組み合わせた後、たとえば `-Merge` combinator 経由で読み取ると server が crash する問題を修正しました。 [#109200](https://github.com/ClickHouse/ClickHouse/pull/109200) ([Groene AI](https://github.com/groeneai)).
* 定数の `ON` 条件を持つ `ANY JOIN` (例: `t1 ANY INNER JOIN t2 ON 1`) で誤った結果が返される問題を修正しました。この query は `ANY` join result ではなく、完全なデカルト積を返していました。 [#109207](https://github.com/ClickHouse/ClickHouse/pull/109207) ([Vladimir Cherkasov](https://github.com/vdimir)).
* deduplication を伴う非同期挿入で、`optimize_on_insert` によって inserted block が空になる場合 (たとえば `SummingMergeTree` で行の合計が 0 になる場合) に server が crash する問題を修正しました。 [#109229](https://github.com/ClickHouse/ClickHouse/pull/109229) ([Den Kalantaevskii](https://github.com/Diskein)).
* `SYSTEM DROP REPLICA` および `SYSTEM DROP DATABASE REPLICA ... FROM ZKPATH` について、空またはルートのみの ZooKeeper パス を parse 時に `BAD_ARGUMENTS` で拒否し、補助 Keeper パス を名前付き Keeper に振り分け、さらに Keeper パス を正規化することで、ローカルの自己保護チェックが意図した レプリカ を誤って対象にしたり、保護を回避されたりしないよう修正しました。 [#109230](https://github.com/ClickHouse/ClickHouse/pull/109230) ([Groene AI](https://github.com/groeneai)).
* URL スコープの `<s3>` endpoint block が、トップレベルの `<s3>` デフォルトより優先されるよう、S3 settings の優先順位を修正しました。 [#109251](https://github.com/ClickHouse/ClickHouse/pull/109251) ([Bharat Nallan](https://github.com/bharatnc)).
* `INSERT INTO TABLE FUNCTION` (たとえば `remote` や `file`) でインラインの `VALUES` data を使い、server 自身がそのインライン data を parse する場合 (`send_table_structure_on_insert_with_inline_data = 0`) に、カラム `DEFAULT` 値が適用されない bug を修正しました。`DEFAULT` を持つ非 `Nullable` カラムに明示的に `NULL` を insert すると、宣言された default ではなく `0` になっていました。現在は通常の table `INSERT` および HTTP protocol と同じ動作になります。 [#109258](https://github.com/ClickHouse/ClickHouse/pull/109258) ([Groene AI](https://github.com/groeneai)).
* `Replicated` database 内で、`s3Cluster` (および `fileCluster`/`urlCluster` などの他の cluster table functions) からの `CREATE TABLE ... AS SELECT` が、`NOT_FOUND_COLUMN_IN_BLOCK` により失敗する問題を修正しました。 [#109266](https://github.com/ClickHouse/ClickHouse/pull/109266) ([Groene AI](https://github.com/groeneai)).
* data lake catalog database に対して `SHOW TABLES` と `SELECT ... FROM system.tables` が異なる結果を返していた問題を修正しました。ClickHouse が読み取れない tables は、今後は両方で一貫して非表示になります。 [#109273](https://github.com/ClickHouse/ClickHouse/pull/109273) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* projections を持つ `MergeTree` table を、`enable_block_number_column` または `enable_block_offset_column` setting が有効な状態で merge すると、不要な `_block_number`/`_block_offset` カラムを含む projection parts が生成される bug を修正しました。その結果、merge 後の projection part は projection 定義や insert で生成された projection parts と一致しなくなり、`CHECK TABLE` と `OPTIMIZE ... DRY RUN` で corrupted (`CORRUPTED_DATA`) と報告されていました。 [#109284](https://github.com/ClickHouse/ClickHouse/pull/109284) ([Groene AI](https://github.com/groeneai)).
* 2 フィールドの `{key, value}` records からなる Avro `array` を ClickHouse の `Map` カラムとして読み取れるようにしました。これは、非 string の key を持つ `MAP<K, V>` に対して Iceberg と Spark が生成する encoding です (Avro ネイティブの maps は string key のみをサポートします)。以前はそのような file は `Array(Tuple(key, value))` としては読み取れましたが、`Map(K, V)` としては読み取れず、`Type Map(...) is not compatible with Avro array` で失敗していました。 [#109289](https://github.com/ClickHouse/ClickHouse/pull/109289) ([Groene AI](https://github.com/groeneai)).
* 必須の索引引数が省略された場合に `CREATE HYPOTHETICAL INDEX ... TYPE set` (および `ngrambf_v1`/`tokenbf_v1`) で発生していたサーバークラッシュを修正しました。こうしたステートメントは、今後は明確なエラーを返して拒否されます。[#109294](https://github.com/ClickHouse/ClickHouse/pull/109294) ([Groene AI](https://github.com/groeneai)).
* `enforce_keeper_component_tracking` サーバー設定が有効な場合に、メタデータを Keeper に格納する `MergeTree` テーブルで、`KILL MUTATION` などの mutation 操作によって発生しうる `LOGICAL_ERROR` (`Current component is empty`) を修正しました。[#109297](https://github.com/ClickHouse/ClickHouse/pull/109297) ([Groene AI](https://github.com/groeneai)).
* scale が 9 より粗い `DateTime64` カラムに、約 2262 年以降の `ORC` timestamp を読み込む際の問題を修正しました。ネイティブの `ORC` リーダーは、これまで全ての timestamp を固定の `DateTime64(9)` 中間形式を経由して変換していましたが、これはナノ秒 scale では `Int64` の overflow を引き起こすため、要求された `DateTime64` の scale (たとえば Iceberg が生成する `DateTime64(6)`) であれば値を表現できる場合でも、`VALUE_IS_OUT_OF_RANGE_OF_DATA_TYPE` として拒否していました。現在は timestamp を要求された scale で直接読み込むようになり、対象の scale でも値を保持できない場合は `date_time_overflow_behavior` が適用されます。[#109302](https://github.com/ClickHouse/ClickHouse/pull/109302) ([Groene AI](https://github.com/groeneai)).
* サーバーとして動作する `clickhouse-local` は、`SYSTEM START LISTEN HTTP` の後、対話用の `PrettyCompact` 既定値ではなく、`clickhouse-server` と同じ `TabSeparated` 既定の出力フォーマットで HTTP connection を処理するようになりました。これにより、`clickhouse-connect` などのドライバーから HTTP 経由で `clickhouse-local` に接続する際の問題が修正されます。対話型の端末セッションでは、引き続き結果は `PrettyCompact` で表示されます。[#109362](https://github.com/ClickHouse/ClickHouse/pull/109362) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* S3 multipart upload で一時的に発生する `Code: 499 ... InvalidPart` (`S3_ERROR`) エラーを修正しました。MinIO では `CompleteMultipartUpload` 実行時に、アップロード直後の part が一時的に存在しないように報告されることがありますが、このエラーは、すでに処理対象となっている `NoSuchKey` と同様に、`s3_max_unexpected_write_error_retries` の範囲内で再試行されるようになりました。[#109364](https://github.com/ClickHouse/ClickHouse/pull/109364) ([Groene AI](https://github.com/groeneai)).
* 別のカラムに、インライン alias を定義して参照する `DEFAULT` または `MATERIALIZED` expression がある場合、`ALTER TABLE ... DROP COLUMN` で発生する `UNKNOWN_IDENTIFIER` エラーを修正しました。[#109374](https://github.com/ClickHouse/ClickHouse/pull/109374) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `GROUPING SETS`、`ROLLUP`、`CUBE` で発生しうる、二段階 sets を使った `uniqExact` aggregate states の並列 merge における data race (およびその結果としてまれに発生するクラッシュ) を修正しました。[#109389](https://github.com/ClickHouse/ClickHouse/pull/109389) ([Groene AI](https://github.com/groeneai)).
* 2 つ以上の shard を持つクラスターで `Distributed` テーブルを読み取る `CREATE TABLE ... ON CLUSTER ... AS SELECT` の実行時に発生するエラー (`NOT_FOUND_COLUMN_IN_BLOCK`、または古いバージョンでは `std::bad_function_call`) を修正しました。[#109407](https://github.com/ClickHouse/ClickHouse/pull/109407) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `TTL ... GROUP BY` (ロールアップ) を持つテーブルの merge を修正しました。すでに完全に集計済みのパーツが merge のために何度も無限に再スケジュールされることがあり、さらに `MATERIALIZED` カラムや有効な永続仮想カラムを持つテーブルが正しく処理されていませんでした。これらのカラムは現在 `any` で集計されます。[#105647](https://github.com/ClickHouse/ClickHouse/issues/105647) をクローズします。[#109410](https://github.com/ClickHouse/ClickHouse/pull/109410) ([Mikhail Artemenko](https://github.com/Michicosun)). [#109532](https://github.com/ClickHouse/ClickHouse/pull/109532) ([Mikhail Artemenko](https://github.com/Michicosun)).
* 右辺の引数に素の配列カラムを指定した `IN` が、誤った結果 (常に false) を黙って返したり、例外を投げたりしていた問題を修正し、`x IN arr` が `has(arr, x)` と同様に動作するようにしました。[#109416](https://github.com/ClickHouse/ClickHouse/pull/109416) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 永続仮想カラム `_block_number`/`_block_offset` に対する暗黙的な min-max 索引を持つ `MergeTree` テーブルで、`ALTER TABLE` 操作 (`RENAME`/`ADD`/`MODIFY COLUMN`、および新たに挿入された part を持つテーブルでの `MATERIALIZE INDEX`) 時に `UNKNOWN_IDENTIFIER` エラーが発生する問題を修正しました (`add_minmax_index_for_block_number_column`/`add_minmax_index_for_block_offset_column` で有効化) 。[#109428](https://github.com/ClickHouse/ClickHouse/pull/109428) ([Groene AI](https://github.com/groeneai)). [#110236](https://github.com/ClickHouse/ClickHouse/pull/110236) ([Groene AI](https://github.com/groeneai)).
* 非 const の `Array(LowCardinality(T))` 引数に対する `arrayFold` で発生する `LOGICAL_ERROR` を修正しました (例: `arrayFold((acc, x) -> acc + x, materialize([1, 2, 3]::Array(LowCardinality(Int64))), toInt64(0))`) 。この問題により、`Arguments of 'plus' have incorrect data types` で失敗していました (debug および sanitizer ビルドでは server abort) 。[#109462](https://github.com/ClickHouse/ClickHouse/pull/109462) ([Groene AI](https://github.com/groeneai)).
* `ReplicatedMergeTree` テーブルに対する `CHECK TABLE` で、チェック中に一時的かつ再試行可能な ZooKeeper エラー (例: connection loss) が発生すると、正常な part が壊れていると報告される問題を修正しました。今後、このようなエラーは再試行可能なクエリエラーとして返されます。[#109465](https://github.com/ClickHouse/ClickHouse/pull/109465) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `groupArrayLastMerge` および `largestTriangleThreeBuckets` aggregate function における segfault を修正しました。aggregate function states の deserialization を検証するようにしたことで、壊れた state がメモリ範囲外アクセスを引き起こさないようになりました。[#109485](https://github.com/ClickHouse/ClickHouse/pull/109485) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)). [#109492](https://github.com/ClickHouse/ClickHouse/pull/109492) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `parallel_hash` join algorithm に対してグローバルな `max_rows_in_join` / `max_bytes_in_join` 制限が適用されていなかった問題を修正しました。この問題により、`join_overflow_mode = 'throw'` を指定したクエリが `SET_SIZE_LIMIT_EXCEEDED` を発生させる代わりに、黙って成功することがありました。[#109488](https://github.com/ClickHouse/ClickHouse/pull/109488) ([Hechem Selmi](https://github.com/m-selmi)).
* 値が `Int32` に収まらない `BIGINT` カラムでパーティション分割された Paimon table の読み取りを修正しました。こうしたパーティション値は切り詰められており (たとえば `9223372036854775807` が `-1` になる) 、誤ったパーティションパスが生成され、filesystem error で失敗していました。[#109510](https://github.com/ClickHouse/ClickHouse/pull/109510) ([Groene AI](https://github.com/groeneai)).
* equality delete file を持つ Iceberg tables の読み取り時に発生する crash を修正しました。equality delete file では nullable でも table schema では non-nullable のカラム (またはその逆) がある場合、delete file から読み取った値が未検証の cast によって異なる型のカラムに挿入されていました (column type confusion) 。その結果、カラムが破損し、server が crash していました。[#109551](https://github.com/ClickHouse/ClickHouse/pull/109551) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* MySQL の `connect_timeout`、read timeout、write timeout が有効にならない問題を修正しました。応答しない MySQL server への接続試行では、`connect_timeout = 1` を指定していても 2 分以上ハングすることがありました。これは、sampling query profiler の定期シグナルが MySQL client の内部 poll deadline を繰り返しリセットしていたためです。[#109592](https://github.com/ClickHouse/ClickHouse/pull/109592) ([Shaohua Wang](https://github.com/tiandiwonder)).
* 非 transactional な `TRUNCATE` が、同じテーブルに `insert` を行った未コミットの transaction と同時実行された際に発生しうる `LOGICAL_ERROR` (`creation_csn is not set while removal_csn is set to 1`) を修正しました。このような `TRUNCATE` で、まだコミットされていない transaction によって作成された part が削除されることはなくなりました。[#109598](https://github.com/ClickHouse/ClickHouse/pull/109598) ([Tuan Pham Anh](https://github.com/tuanpach)).
* 物理的な null 許容性が要求された ClickHouse 型と異なる `Parquet` の struct カラムを読み取る際に発生する `TYPE_MISMATCH` エラーを修正しました。これにより、non-nullable な `Parquet` group を `Nullable(Tuple(...))` として読み取れるようになり、ネイティブの `Parquet` リーダーでも、物理的に nullable な struct (`Parquet` の `OPTIONAL` group) を `Nullable(Tuple(...))` として読み取れるようになりました。[#109615](https://github.com/ClickHouse/ClickHouse/pull/109615) ([Groene AI](https://github.com/groeneai)). [#109898](https://github.com/ClickHouse/ClickHouse/pull/109898) ([Groene AI](https://github.com/groeneai)).
* マルチクエリストリーム内の `INSERT ... VALUES` の後ろに SQL comment (たとえば `VALUES (1) -- comment`) が続く場合に、server-side の inline insert parsing パス (`send_table_structure_on_insert_with_inline_data = 0`) で発生していたサイレントなデータ損失を修正しました。末尾の comment が終端の `;` を越えて行データとして走査され、その結果、ストリーム内の後続クエリが黙ってスキップされていました。[#109643](https://github.com/ClickHouse/ClickHouse/pull/109643) ([Groene AI](https://github.com/groeneai)).
* 起動時エラーの発生後、server のシャットダウン中というごく短いタイミングでクエリが到着した場合に発生する segfault を修正しました。[#109675](https://github.com/ClickHouse/ClickHouse/pull/109675) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `ALTER TABLE ... APPLY PATCHES` で論理更新をマテリアライズした後に、古い skip index (`text`、`bloom_filter` など) や projection が残る問題を修正しました。従来は、patch によって更新されたカラムに依存する index および projection ファイルが更新されないままだったため、それらを使用するクエリが誤った結果を返す可能性がありました (たとえば `hasToken` が更新済みの行を見落としたり、使い終わったパッチパートが削除された後に projection が古い集計結果を返したりすることがありました) 。[#109709](https://github.com/ClickHouse/ClickHouse/pull/109709) ([Groene AI](https://github.com/groeneai)).
* クエリが `name`/`database` カラムだけを読み取る場合に、database ごとの grant を持つユーザーについて `system.tables` が黙って database をスキップしてしまう問題を修正しました。導入バージョン 26.2。[#109723](https://github.com/ClickHouse/ClickHouse/pull/109723) ([Samay Sharma](https://github.com/samay-sharma)).
* `output_format_arrow_low_cardinality_as_dictionary = 1` のときに、`LowCardinality(Time)` カラムを `Arrow` フォーマットに書き込む際に発生する `LOGICAL_ERROR` を修正しました。[#109730](https://github.com/ClickHouse/ClickHouse/pull/109730) ([Groene AI](https://github.com/groeneai)).
* オブジェクトストレージが continuation token とともに空の listing page を返した場合に、`ObjectStorageQueue`/`AzureQueue` (および `azureBlobStorage` table function) が object を黙ってスキップしてしまう問題を修正しました。Azure Blob Storage ではこの挙動が発生することがあり (たとえば listing が内部パーティション境界をまたぐ場合) 、async list iterator は空ページを listing の終端と見なして token を破棄していました。現在は continuation token を追跡するようになりました。[#109761](https://github.com/ClickHouse/ClickHouse/pull/109761) ([Gal Ben Moshe](https://github.com/GalBenMoshe)).
* timestamp (`DateTime64`) カラムでパーティション分割された Iceberg tables で、partition pruning によって行が返されなくなる問題を修正しました。[#109764](https://github.com/ClickHouse/ClickHouse/pull/109764) ([Den Kalantaevskii](https://github.com/Diskein)).
* `conv` function で `FixedString` 引数に対して発生する `ILLEGAL_COLUMN` 例外を修正しました。これらは正しく `String` に cast されるようになりました。[#109670](https://github.com/ClickHouse/ClickHouse/issues/109670) をクローズしました。[#109771](https://github.com/ClickHouse/ClickHouse/pull/109771) ([hp](https://github.com/hp77-creator)).
* `getClientHTTPHeader` 関数は、[RFC 9110](https://www.rfc-editor.org/info/rfc9110/#section-5.1) に従って、ヘッダー名を大文字小文字を区別せず扱うようになりました。特に、`authorization` ヘッダーは大文字小文字に関係なくフィルタリングされるようになりました。[#103957](https://github.com/ClickHouse/ClickHouse/issues/103957) をクローズします。[#109791](https://github.com/ClickHouse/ClickHouse/pull/109791) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `max_execution_time` (`timeout_overflow_mode = 'throw'` の場合) で、クエリがときどきまったくキャンセルされない問題を修正しました。内部のタイムアウト監視が、より遅いデッドラインを持つクエリをすでに待機していると、その後に登録されたより早いデッドラインのクエリが完全に見落とされ、制限時間を大幅に超えて実行され続けることがありました。[#109792](https://github.com/ClickHouse/ClickHouse/pull/109792) ([Shaohua Wang](https://github.com/tiandiwonder)).
* gzip 圧縮された Iceberg メタデータファイルのファイル名を修正しました。ClickHouse はこれまで `v{N}.gzip.metadata.json` (HTTP の `Content-Encoding` トークン) として書き込んでいましたが、Iceberg の仕様では `gz` 拡張子の `v{N}.gz.metadata.json` が想定されています。その結果、Spark やその他の Hadoop カタログリーダーは ClickHouse が書き込んだメタデータを見つけられませんでした。ClickHouse は現在 `v{N}.gz.metadata.json` を書き込み、後方互換性のため従来の `gzip` 名も引き続き読み取ります。[#109812](https://github.com/ClickHouse/ClickHouse/pull/109812) ([Groene AI](https://github.com/groeneai)).
* `enable_join_runtime_filters = 1` (26.2 以降デフォルトで有効) での join において、build 側の join key が `NULL` 値を含む `LowCardinality(Nullable(...))` で、ランタイムフィルタが bloom filter にフォールバックした際に、`NOT_IMPLEMENTED` エラー ("Method getDataAt is not supported for Nullable(String)") が発生することがあった問題を修正しました。[#109824](https://github.com/ClickHouse/ClickHouse/pull/109824) ([Groene AI](https://github.com/groeneai)).
* external database engine (例: `PostgreSQL`) は、`UUID` カラムに対する範囲比較 (`>=`、`>`、`<=`、`<`) をプッシュダウンしなくなりました。ClickHouse と外部データベースでは UUID の並び順が異なるため、これをプッシュダウンすると結果から行が暗黙のうちに欠落していました。現在は、このような predicates は ClickHouse 側で評価されます。[#109833](https://github.com/ClickHouse/ClickHouse/pull/109833) ([Vismay](https://github.com/vismaytiwari)).
* higher-order function が具体的な値を期待する箇所に lambda expression が渡された場合に発生するサーバークラッシュを修正しました (例: `arrayFold(lambda, arr, another_lambda)` における `arrayFold` の accumulator) 。このようなクエリは、`enable_analyzer = 0` の場合、クラッシュする代わりに `ILLEGAL_TYPE_OF_ARGUMENT` で拒否されるようになりました。[#109840](https://github.com/ClickHouse/ClickHouse/pull/109840) ([Groene AI](https://github.com/groeneai)).
* `icebergLocal` table function および `IcebergLocal` engine が、object storage の種別として `local` ではなく `azure` を宣言していた問題を修正しました。これにより、`SETTINGS disk = '...'` でローカルディスクを指定して使用した際、ディスク種別チェック (`Disk type doesn't match`) に失敗していました。[#109872](https://github.com/ClickHouse/ClickHouse/pull/109872) ([Pedro Ferreira](https://github.com/PedroTadim)).
* 同じ source column で複数回パーティション化された Iceberg tables (例: `PARTITIONED BY (hours(ts), ts)`) の読み取りを修正しました。従来、このような table は `Cannot add column ...: column with this name already exists (ILLEGAL_COLUMN)` で失敗していました。[#109895](https://github.com/ClickHouse/ClickHouse/pull/109895) ([Groene AI](https://github.com/groeneai)).
* 反転した (`DESC`) key column を持つ table で、part に final mark がない場合 (非 adaptive granularity、`index_granularity_bytes = 0`) に、primary key index が granule を誤って刈り込み、誤った query results になる問題を修正しました。[#109901](https://github.com/ClickHouse/ClickHouse/pull/109901) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 型のネストが内部の深さ制限を超えた際に、`generateRandomStructure` が無効な構造文字列を生成し、2 つのデータ型が連結されることがあった不具合 (例: `Decimal32(7)IPv4`) を修正しました。これにより結果をパースできなくなっていました。 [#109928](https://github.com/ClickHouse/ClickHouse/pull/109928) ([Groene AI](https://github.com/groeneai)).
* `Array(LowCardinality(Nullable(String)))` (その形式で保存された `Nested` フィールドを含む) 上に `text` 索引を構築し、索引対象の配列に `NULL` 要素が含まれている場合に発生していた `NOT_IMPLEMENTED` error (`Method getDataAt is not supported for Nullable(String) in case if value is NULL`) を修正しました。索引構築時には `NULL` の配列要素が `Array(Nullable(String))` と同様にスキップされるようになりました。 [#110055](https://github.com/ClickHouse/ClickHouse/pull/110055) ([Groene AI](https://github.com/groeneai)).
* `LowCardinality(Nullable(...))` カラム上に `minmax` スキップ索引を構築した場合に誤った結果になる不具合を修正しました。以前は、ストレージにプッシュダウンされた `WHERE`/`PREWHERE`/`HAVING ... IS NULL` 条件により、カラムに `NULL` 値が含まれていてもすべての granule が刈り込まれ、0 行が返されていました。 [#110061](https://github.com/ClickHouse/ClickHouse/pull/110061) ([Groene AI](https://github.com/groeneai)).
* `distinct_overflow_mode = 'break'` を修正しました。`DISTINCT` はドキュメントどおり、制限に達するまでに蓄積された部分結果を返して、ソースの読み取りを停止するようになりました。以前は、`max_rows_in_distinct` / `max_bytes_in_distinct` を超えた chunk が破棄され (結果が切り詰められるか空になっていた) 、その後もクエリは入力の末尾まで読み取りとハッシュセットへの挿入を続けていたため、`MEMORY_LIMIT_EXCEEDED` に至ることがありました。 [#110075](https://github.com/ClickHouse/ClickHouse/pull/110075) ([Sergey Kuznetsov](https://github.com/skuznetsov-clickhouse)).
* すべての position delete files より新しい非 Parquet 形式 (例: `ORC`) の data file を含む Iceberg table に対する `OPTIMIZE TABLE` で発生していた論理エラー `ChunkInfoRowNumbers does not exist` を修正しました。 [#110107](https://github.com/ClickHouse/ClickHouse/pull/110107) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `max_bytes_in_distinct` と `max_bytes_in_set` を修正しました。文字列の keys は、制限チェックでカウントされていなかったアリーナに保存されていたため、文字列 keys に対する `DISTINCT` / `IN` では、キー payload 全体の分だけバイト制限を超えるメモリを保持できていました (キー長に対して実質的に無制限) 。これらの制限は、ドキュメントどおりアリーナも考慮するようになりました。そのため、バイト制限に近い文字列 keys を持つクエリは、以前より早く正しく制限に達する場合があります。 [#110120](https://github.com/ClickHouse/ClickHouse/pull/110120) ([Sergey Kuznetsov](https://github.com/skuznetsov-clickhouse)).
* `identity` (または scalar subquery の結果) が、ネストした `LowCardinality` を含む値をラップしており、クエリで `WITH TOTALS`/`WITH ROLLUP` を使用した場合に発生していた `LOGICAL_ERROR` (`Bad cast from type ColumnLowCardinality to ColumnString`) を修正しました。 [#110138](https://github.com/ClickHouse/ClickHouse/pull/110138) ([Groene AI](https://github.com/groeneai)).
* 内側の次元サイズが 0 の `Npy` ファイルの読み取りを修正しました。materialized された行数と、最適化された `count` および最適化されていない `count` の結果が一致するようになりました。 [#110146](https://github.com/ClickHouse/ClickHouse/pull/110146) ([Yanjun Qiu](https://github.com/qiuyanjun888)).
* 複数の keys でグループ化し、その sort order が grouping key の接頭辞にすぎない場合に、順序付き集約で二次時間的な増大 (および `max_execution_time` への非応答) が発生していた不具合を修正しました。 [#110159](https://github.com/ClickHouse/ClickHouse/pull/110159) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 相関のあるサブクエリ (例: `exists((SELECT ...))`) を含むフィルターが `convert_query_to_cnf` または `optimize_and_compare_chain` で最適化された際に発生していた論理エラー (`Unexpected number of columns in result sample block`) を修正しました。 [#110187](https://github.com/ClickHouse/ClickHouse/pull/110187) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `DELETE` または `ALTER UPDATE` の mutation で、その `WHERE` 条件または `UPDATE` の代入内のサブクエリに set operation (`UNION`/`UNION ALL`/`UNION DISTINCT`/`EXCEPT`/`INTERSECT`) を使用した際に発生していた例外 (`UNION mode UNION_DEFAULT must be normalized`) を修正しました。[#110196](https://github.com/ClickHouse/ClickHouse/pull/110196) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* zip アーカイブの読み取り中 (たとえば zip バックアップからの `RESTORE` 時) に、同じアーカイブから先行して行われた読み取りがストリームの途中で失敗したあとに発生し得た `ReadBuffer is canceled. Can't read from it.` 論理エラー (debug/sanitizer build での server 異常終了) を修正しました。[#110197](https://github.com/ClickHouse/ClickHouse/pull/110197) ([Groene AI](https://github.com/groeneai)).
* `x IN (subquery)` を含む mutation がプライマリキー解析中にサブクエリの set を構築している際、server のシャットダウンが遅くなり、`KILL MUTATION` が応答しなくなる問題を修正しました。set の構築は即座にキャンセルされるようになりました。[#110198](https://github.com/ClickHouse/ClickHouse/pull/110198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複数ノード構成で無限 append-entries ループに陥る代わりに、Keeper は協調 settings `max_requests_batch_size` と `max_requests_append_size` が `0` に設定されている場合、それを拒否するようになりました。[#110200](https://github.com/ClickHouse/ClickHouse/pull/110200) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* タプル式に対して `ORDER BY` とともに `GROUP BY ALL` を使用した際に発生していた `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#110206](https://github.com/ClickHouse/ClickHouse/pull/110206) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* サブカラム (`Nullable` カラムの `x.null` や `Array` の `arr.size0` など) を参照する `CHECK` 制約を持つ table への `INSERT` で発生していた `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#110208](https://github.com/ClickHouse/ClickHouse/pull/110208) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クォートが必要なカラム (例: `@timestamp`) をデフォルトの sort order が参照している Iceberg tables の読み取りを修正しました。このような table は、生成された storage の `ORDER BY` が生の column name から構築されていたため、`SYNTAX_ERROR` でパースに失敗し、読み取れなくなっていました。[#110233](https://github.com/ClickHouse/ClickHouse/pull/110233) ([Groene AI](https://github.com/groeneai)).
* `DataLakeCatalog` (Iceberg/Glue) database の `system.tables` で、単一の table のメタデータを解決できない場合にクエリ全体が中断したり、その table が黙って欠落したりする問題を修正しました。このような table は、opened storage object を必要とするカラム (`engine`、`total_rows` など) にはデフォルト値または NULL 値を設定したうえで、`database_datalake_require_metadata_access` に関係なく、name 付きで一覧に残るようになりました。壊れた table への直接アクセスでは、引き続きエラーが報告されます。[#110242](https://github.com/ClickHouse/ClickHouse/pull/110242) ([Groene AI](https://github.com/groeneai)).
* `quantileTDigest` ファミリーの aggregate-function state カラムが `GROUP BY` キーとして使用され、複数の threads によって同時に serialize された場合に発生し得たクラッシュ (heap-buffer-overflow) を修正しました。[#110263](https://github.com/ClickHouse/ClickHouse/pull/110263) ([Groene AI](https://github.com/groeneai)).
* Microsoft Fabric / OneLake の `DataLakeCatalog` table への `INSERT` が `IncorrectEndpointError` (HTTP 400) で失敗する問題を修正しました。ADLS Gen2 (DFS) への書き込みを `.blob` host ではなく `.dfs` endpoint host にルーティングするようにしたためです。注: `remote_url_allow_hosts` を使用する場合、`INSERT` のために `.blob` (読み取り) と `.dfs` (書き込み) の両方の Fabric host を許可リストに含める必要があります。[#110290](https://github.com/ClickHouse/ClickHouse/pull/110290) ([Mohammad Lareb Zafar](https://github.com/zlareb1)).
* 特定の PRQL クエリ (`SET dialect = 'prql'`) の解析時に server が abort する問題を修正しました。`prqlc` compiler 内の panic により、本来はクエリエラーとして報告されるべきところ、process が abort していました。[#110316](https://github.com/ClickHouse/ClickHouse/pull/110316) ([Groene AI](https://github.com/groeneai)).
* projection のカラム集合が変更される前に書き込まれた projection part (たとえば、`ALIAS` カラムの参照元を materialize する方法が異なるバージョンをまたいでアップグレードした後や、projection で使われる `ALIAS` カラムの参照先を `ALTER TABLE ... MODIFY COLUMN` で変更した後) が、projection 経由で読み取られたり merge されたりした際に、誤ったクエリ結果が静かに返される問題を修正しました。欠落していたカラムは実データではなくデフォルト値で埋められていました。今後、このような part は基となるテーブルから読み取られ、merge 時には基となるデータから projection が再構築されます。[#110328](https://github.com/ClickHouse/ClickHouse/pull/110328) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `ORDER BY ... WITH FILL` が `max_execution_time` を尊重せず、大きな補完範囲を生成する際にキャンセルに時間がかかる問題 (特に `INTERPOLATE` 使用時) を修正しました。[#110332](https://github.com/ClickHouse/ClickHouse/pull/110332) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `UPDATE ..., DELETE ...` のような複数コマンドの `ALTER` を Iceberg table に対して実行した際に発生する論理エラー (debug/sanitizer build での server abort) を修正しました。こうした mutations は今後、明確な `NOT_IMPLEMENTED` エラーで拒否されます。[#110347](https://github.com/ClickHouse/ClickHouse/pull/110347) ([Groene AI](https://github.com/groeneai)).
* `SELECT` クエリが単独の table Identifier の直後で終わる場合 (例: `... FROM t COMMENT 'x'`) に、`COMMENT` が暗黙的 alias として誤って解釈され、その結果、comment が view/table に適用される代わりに誤解を招く構文エラーが発生するパーサーの bug を修正しました。[#110372](https://github.com/ClickHouse/ClickHouse/pull/110372) ([Aditya Kumar](https://github.com/adityaksolves)).
* 深くネストした `Array`/`Tuple`/`Map`/`Object` literal をコピーまたは破棄した際に発生する server crash (ネイティブの stack overflow) を修正しました。たとえば、`max_parser_depth` を引き上げた状態で、非常に深くネストした literal を含むクエリです。[#110393](https://github.com/ClickHouse/ClickHouse/pull/110393) ([Raúl Marín](https://github.com/Algunenano)).
* vector search が期待より少ない行を返す可能性があった 2 つのケースを修正しました。`vector_search_index_fetch_multiplier` の値が 1.0 未満だと、計算された fetch 数が 0 に切り捨てられて空の結果になる可能性がありました (このような値は今後拒否されます) 。また、vector search optimization は `LIMIT ... WITH TIES` クエリではスキップされるようになりました。これは、この optimization が探索対象をちょうど N 個の候補に制限し、N 番目の行と同順位の行を落としていたためです。[#110452](https://github.com/ClickHouse/ClickHouse/pull/110452) ([Tamish Mhatre](https://github.com/tamish560)). [#110453](https://github.com/ClickHouse/ClickHouse/pull/110453) ([Tamish Mhatre](https://github.com/tamish560)).
* `IN (subquery)` において、subquery に相関したサブクエリが含まれ、かつ Set が索引解析中に構築される場合に発生する、論理エラー `Expected CommonSubplanReferenceStep to reference CommonSubplanStep`、エラー `Subplan cannot be used to build pipeline`、および論理エラー `Trying to extract chunk from ChunkBuffer before all inputs are finished` を修正しました。[#110491](https://github.com/ClickHouse/ClickHouse/pull/110491) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 名前付き `WINDOW` 句の定義内でクエリパラメータの置換が行われない問題を修正しました。以前は、そこにある parameter は黙って未置換のまま保持され、未設定の `Identifier` parameter によって `EXPLAIN SYNTAX` 実行中に例外 `Logical error: '!part.empty()'` が発生する可能性がありました。[#110506](https://github.com/ClickHouse/ClickHouse/pull/110506) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 残存した `txn_version.txt.tmp` ファイルによってディスクレベルのメタデータが破損している場合に、object storage disk 上の `MergeTree` table で server の起動に失敗する問題を修正しました。[#110519](https://github.com/ClickHouse/ClickHouse/pull/110519) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* バックグラウンドでの cache ダウンロードがファイルシステム以外のエラーで失敗した際 (たとえば Iceberg table で `OPTIMIZE` を実行中など) に、空の孤立した cache ファイルが残り、ファイルシステムキャッシュで論理エラー (`Expected file ... not to exist`) が発生することがあった問題を修正しました。[#110549](https://github.com/ClickHouse/ClickHouse/pull/110549) ([Groene AI](https://github.com/groeneai)).
* `Dynamic` type のカウント、または `JSON`/`Object` パスのカウントが `SIZE_MAX` に近い破損した `Native` 形式の stream の読み取りを修正しました。このような不正な入力は、今後は未捕捉の `std::length_error` ではなく、明確な `INCORRECT_DATA` エラーで拒否されます。[#110590](https://github.com/ClickHouse/ClickHouse/pull/110590) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `MaterializedPostgreSQL` データベースエンジンで、table がまだ同期キューに残っている間にデタッチされた (または structure が変更された) 場合に発生し得たサーバークラッシュを修正しました。[#110596](https://github.com/ClickHouse/ClickHouse/pull/110596) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クライアントの `SET param_<name>` (および `--param_<name>` フラグ) で、parameter 名が `limit`、`offset`、`max_threads`、`log_comment` などの組み込み設定名と一致した場合に誤動作する問題を修正しました。競合した設定によっては、クエリが `CANNOT_PARSE_QUOTED_STRING` で失敗したり、値が暗黙に正規化されたり (例: `max_threads=0` が `auto(N)` になる) 、設定エイリアス名が失われたりしていました。また、そのような parameter があると、同じセッション内の以降のすべての `SET param_*` も壊れていました。[#110597](https://github.com/ClickHouse/ClickHouse/pull/110597) ([Raúl Marín](https://github.com/Algunenano)).
* `DEFAULT` expression を持ち、part 内で materialized されていないカラムの subcolumn 読み取りを修正しました (例: `ALTER TABLE ADD COLUMN` の後や `ALTER TABLE MATERIALIZE COLUMN` の実行中) 。これまでは、subcolumn が評価された `DEFAULT` expression ではなく型のデフォルト値で埋められており、そのような `QBit` カラムに対する転置ベクトル距離関数 (`cosineDistanceTransposed` など) が `SIZES_OF_ARRAYS_DONT_MATCH` エラーで失敗していました。これにより [#110634](https://github.com/ClickHouse/ClickHouse/issues/110634) をクローズします。[#110636](https://github.com/ClickHouse/ClickHouse/pull/110636) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `non_replicated_deduplication_window` を有効にしたパーティション化 `MergeTree` table への `INSERT` で、`LOGICAL_ERROR` `Invalid partition key size: 0` により失敗することがあった問題を修正しました。これは、async insert バッチが部分的にしか deduplicate されなかった場合 (`insert_deduplication_token` の一部が重複で、一部が新規だった場合) に発生していました。[#110651](https://github.com/ClickHouse/ClickHouse/pull/110651) ([Groene AI](https://github.com/groeneai)).
* バックグラウンドの非同期挿入 flush は、`KILL QUERY` で kill されると速やかに停止するようになりました。従来は、大きなバッファ済みペイロードの flush が最後まで解析を続け、キャンセルを無視していました。[#110652](https://github.com/ClickHouse/ClickHouse/pull/110652) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `partial_merge` JOIN 上に置かれた `optimize_aggregation_in_order` を伴う `GROUP BY` と、`optimize_distinct_in_order` を伴う `DISTINCT` が誤った結果を返す問題を修正しました。read-in-order optimization が partial-merge join を通じて伝播していましたが、この join は左入力を join key で再ソートするため、左 stream 本来の順序を保持しません。その結果、行が誤ってグループ化されていました。[#110671](https://github.com/ClickHouse/ClickHouse/pull/110671) ([Groene AI](https://github.com/groeneai)).
* `Date`/`Date32`/`DateTime64` 値に対し、極端な `MONTH`、`WEEK`、または `DAY` interval count を指定した `toStartOfInterval` で発生していた符号付き整数 overflow を修正しました。[#110688](https://github.com/ClickHouse/ClickHouse/pull/110688) ([Groene AI](https://github.com/groeneai)).
* 並列レプリカが `custom_key_sampling` / `custom_key_range` モードで動作している際に、`FROM` にサブクエリを含むクエリで発生する `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。こうしたクエリ (例: `SELECT * FROM (SELECT id, k, v FROM t WHERE id < 20) ORDER BY k`) は、以前は `Not found column __table2.id in block ...` で失敗していました。[#110690](https://github.com/ClickHouse/ClickHouse/pull/110690) ([Groene AI](https://github.com/groeneai)).
* 先頭に空白を含む WKT 文字列 (例: `readWKT(' POINT(1 2)')`) を `readWKT` が拒否していた問題を修正しました。これらの文字列は、型付きの `readWKTPoint`/`readWKTPolygon`/... リーダーおよび WKT の文法では受け入れられます。[#110706](https://github.com/ClickHouse/ClickHouse/pull/110706) ([Groene AI](https://github.com/groeneai)).
* `Distributed` table の上に構築された `Merge` table に対するクエリで、同じテキストインデックス predicate が `PREWHERE` と `WHERE` の両方で使われた場合に発生する論理エラー (`Column ... already added for reading`、debug/sanitizer builds では server abort) を修正しました。[#110710](https://github.com/ClickHouse/ClickHouse/pull/110710) ([Groene AI](https://github.com/groeneai)).
* 並列レプリカが有効な場合に、スカラーサブクエリまたは定数の参照ベクトルを指定して呼び出した `QBit` カラム向けの転置距離関数 (`cosineDistanceTransposed` など) で発生する `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。これにより [#110719](https://github.com/ClickHouse/ClickHouse/issues/110719) はクローズされます。[#110729](https://github.com/ClickHouse/ClickHouse/pull/110729) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ReplicatedMergeTree` で、2 つのパーティション操作 (たとえば 2 つの `MOVE PARTITION`/`REPLACE PARTITION` クエリ、またはバックグラウンドの `DROP_RANGE` と競合する 1 つのクエリ) が、重複する範囲に対するバックグラウンドのパーツチェックを同時にキャンセルしたときに発生する、まれな `LOGICAL_ERROR` (`Unexpected number of parts to remove from parts_queue`、debug/sanitizer builds では server abort) を修正しました。[#110738](https://github.com/ClickHouse/ClickHouse/pull/110738) ([Groene AI](https://github.com/groeneai)).
* `Quantized(...)` codec を持つカラムが別のシリアライゼーションの内側にラップされている場合に発生し得た `Hash is not set for serialization` 論理エラーを修正しました。たとえば、同名カラムの型が異なる SOURCES 上の `Merge` table (`Variant` にマージされる) で発生していました。[#110776](https://github.com/ClickHouse/ClickHouse/pull/110776) ([Groene AI](https://github.com/groeneai)).
* `median`/`quantile` aggregate function の state に非常に大きな整数定数を乗算したとき (例: `medianState(x) * 18446744073709551615`) に server がハングする問題を修正しました。このクエリはキャンセルに応答しなくなり、無期限に実行される可能性がありました。[#110779](https://github.com/ClickHouse/ClickHouse/pull/110779) ([Groene AI](https://github.com/groeneai)).
* 長さ 0 の interval を持つ quota (例: `CREATE QUOTA q FOR INTERVAL 0 SECOND MAX queries = 1000`) が消費された際に発生する server crash (整数のゼロ除算) を修正しました。現在は、0 以下の quota interval duration は quota 作成時に拒否されます。[#110846](https://github.com/ClickHouse/ClickHouse/pull/110846) ([Pedro Ferreira](https://github.com/PedroTadim)).
* `col` が `LowCardinality` のときに、`throwIf(notLike(col, pattern))` (および関数に対する他の `throwIf`) が無条件に throw していた問題を修正しました。デフォルトの `LowCardinality` 実装では Dictionary 全体に対して `throwIf` を実行していましたが、Dictionary はどの行からも参照されていなくても予約済みのデフォルト値を常に保持しているため、その未使用スロットに 0 以外の値があると、条件を満たさないデータに対しても `throwIf` が throw していました。[#110864](https://github.com/ClickHouse/ClickHouse/pull/110864) ([Groene AI](https://github.com/groeneai)).
* 並列レプリカおよび interserver secret で保護されたクラスター上での `Distributed` 読み取りで、クエリの有効なロール (`SET ROLE` または `role` パラメータ) をリモートノードに伝播するようにしました。従来はリモートノードがユーザーのデフォルトロールにフォールバックしていたため、行ポリシーの評価結果がイニシエーターと一致していませんでした。[#110867](https://github.com/ClickHouse/ClickHouse/pull/110867) ([Nikolay Degterinsky](https://github.com/evillique)).
* 初期スキーマにネストしたフィールド (`Tuple`/`Array`/`Map`) が含まれている場合に、`ALTER TABLE ... ADD COLUMN` の後で Icebergテーブルが重複したフィールドIDを生成してしまう不具合を修正しました。`last-column-id` は、ネストした子要素を含む割り当て済みフィールドIDの最大値を記録するようになったため、その後に追加したカラムがネストしたフィールドIDを再利用することはなくなり、`ICEBERG_SPECIFICATION_VIOLATION` (`Duplicate field id`) で読み取りが失敗することもなくなりました。[#110884](https://github.com/ClickHouse/ClickHouse/pull/110884) ([Groene AI](https://github.com/groeneai)).
* Ed25519 SSH 秘密鍵 (`CREATE USER ... IDENTIFIED WITH ssh_key ... TYPE 'ssh-ed25519'`、または `users.xml` 内の同種の秘密鍵) を使用した際に、FIPSビルドで発生していたクラッシュを修正しました。Ed25519 は FIPS で承認されていないため、このような秘密鍵は今後、明確な `LIBSSH_ERROR` エラーで拒否されます。[#110891](https://github.com/ClickHouse/ClickHouse/pull/110891) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `QBit` カラムに対する転置距離関数 (`cosineDistanceTransposed`、`L2DistanceTransposed`、`dotProductTransposed`) の低精度時の結果を修正しました。`precision` bit planes に切り詰められた値は、削除された bit を 0 で埋めて再構成されていたため、再構成後の値がすべて 0 に偏り、低精度では退化していました。`QBit(BFloat16)` で precision 1 の場合は符号 bit だけが残るため、すべての値が `±0.0` に再構成され、距離はすべての行で同じ定数となって順位付け情報を失っていました。切り詰められた値は今後、残りの精度 cell の有界な中点に再構成されます (生の `Int8` コードはその cell の中心に変換され、正確な 0 と無限大は保持されます) 。これにより、小さい `precision` では精度と速度をトレードオフしつつも、極端に偏った結果にはなりません。フル精度の結果は変わりません。これにより [#110898](https://github.com/ClickHouse/ClickHouse/issues/110898) を修正します。[#110911](https://github.com/ClickHouse/ClickHouse/pull/110911) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 一時テーブルも使用していたセッションから Icebergテーブルをクエリした後、graceful shutdown 中にサーバーがクラッシュする (use-after-free) 不具合を修正しました。[#110914](https://github.com/ClickHouse/ClickHouse/pull/110914) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 旧式の (バージョン 0) state フォーマットでシリアライズされた `Bool` 値を持つ `sumMap`/`sumMapWithOverflow`/`sumMapFiltered` aggregate states のマージ時に発生していた `LOGICAL_ERROR: Cannot sum Bools` (debug/sanitizer builds でのサーバー abort) を修正しました。この修正により、バージョン 0 の `Bool` state に関する 2 つのサイレントな誤結果も是正されます。型が `Bool` の map keys は states 間で deduplicate されておらず、さらに 0 値 compaction で誤ったエントリが削除されていました。[#110922](https://github.com/ClickHouse/ClickHouse/pull/110922) ([Groene AI](https://github.com/groeneai)).
* `-Tuple` combinator を持つ aggregate function が `RESPECT NULLS` とともに使用され、中間 state (`-State`、distributed aggregation、`WITH ROLLUP`/`WITH CUBE`) を生成した際に発生していたクラッシュを修正しました。結合後の function に誤った state variant の名前が付けられていたため、シリアライズされた `AggregateFunction` type が往復変換時に互換性のないインメモリレイアウトへ再解決されていました。[#110930](https://github.com/ClickHouse/ClickHouse/pull/110930) ([Groene AI](https://github.com/groeneai)).
* schema evolution によって名前変更された Iceberg のカラムに対する `PREWHERE` (および行レベルポリシー) が、古い data files では暗黙に `0` 行を返してしまう不具合を修正しました。このようなクエリは今後、`WHERE` と同じ正しい行を返します。[#110941](https://github.com/ClickHouse/ClickHouse/pull/110941) ([Groene AI](https://github.com/groeneai)).
* 複数の距離が同点になった場合に、`vector_search_with_rescoring = 1` を指定したベクトル検索クエリで遅延マテリアライゼーションと組み合わせると発生する可能性があった `LOGICAL_ERROR` (`LazyMaterializingTransform: Number of rows in lazy chunk N does not match number of offsets M`) を修正しました。[#111003](https://github.com/ClickHouse/ClickHouse/pull/111003) ([Groene AI](https://github.com/groeneai)).
* Apache Arrow Java \< 19.0.0 (Apache Spark に同梱) で生成された、空のネストされた `Array`/`Map` 列を含む `Arrow`/`ArrowStream` データの読み取りを修正しました。これらのデータは以前、offsets バッファが小さすぎるという `INCORRECT_DATA` エラーで拒否されていました。[#111101](https://github.com/ClickHouse/ClickHouse/pull/111101) ([Raúl Marín](https://github.com/Algunenano)).
* ページキャッシュ有効時に `plain_rewritable` ディスクで stale read が発生する問題を修正しました。[#111105](https://github.com/ClickHouse/ClickHouse/pull/111105) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `Variant` 型 (`Geometry` を含む) の定数で、distributed queries および並列レプリカを使用するクエリで発生する `CANNOT_CONVERT_TYPE` エラーを修正しました。[#111136](https://github.com/ClickHouse/ClickHouse/pull/111136) ([Nikita Fomichev](https://github.com/fm4v)).
* HDFS から大きなファイルを読み取る際、単一の read request が `hdfsPread` の 32 ビットサイズ上限 (`INT_MAX`) を超えると、読み取りが失敗したり不正な内容を読み込んだりする可能性がある不具合を修正しました。[#98470](https://github.com/ClickHouse/ClickHouse/pull/98470) ([Arup Chauhan](https://github.com/arup-chauhan)).
* 空の needle に対する等値比較でテキスト索引が誤って使用される問題を修正しました。[#108340](https://github.com/ClickHouse/ClickHouse/pull/108340) ([Robert Schulze](https://github.com/rschu1ze)).
* スケジュールされた merge を空きのない background pool に投入できない場合に、`Manual` merge selector で `SYSTEM SYNC MERGES` がハングする問題を修正しました。[#108770](https://github.com/ClickHouse/ClickHouse/pull/108770) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* stale な `txn_version.txt.tmp` ファイルが data part に残っていると、`ATTACH TABLE ... AS REPLICATED` によってコミット済みデータが破棄され、mutation 前の行が復活してしまう問題を修正しました。[#108772](https://github.com/ClickHouse/ClickHouse/pull/108772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* non-replicated な `MergeTree` テーブルでの `ALTER TABLE ... MOVE PARTITION TO TABLE` における race condition の可能性を修正しました。この問題は、移動したパーツの commit とブロック番号の割り当てが同じ lock の下で行われていなかったため、交差する data parts が生成される可能性があるものでした。[#108922](https://github.com/ClickHouse/ClickHouse/pull/108922) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Databricks UniForm によって書き込まれた `Iceberg` テーブルの読み取りを修正しました。Databricks UniForm は、退化したプレースホルダー schema (フィールドリストが空) をマニフェストファイルに書き込みます。[#108945](https://github.com/ClickHouse/ClickHouse/pull/108945) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* パーティション化されていない `Hive` テーブルを複数スレッドで読み取る際に発生する use-after-free を修正しました。[#109164](https://github.com/ClickHouse/ClickHouse/pull/109164) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `logger.startup_console_log_level` が設定されている場合に、server の起動後もコンソールの log level が元に戻らない問題を修正しました。誤った configuration key から level を取得していたため、コンソールは server の lifetime を通じて引き上げられた startup level のままになっていました。[#103472](https://github.com/ClickHouse/ClickHouse/issues/103472) をクローズします。[#109858](https://github.com/ClickHouse/ClickHouse/pull/109858) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* `plain_rewritable` ディスクの metadata transaction における snapshot isolation の異常を修正しました。[#92055](https://github.com/ClickHouse/ClickHouse/issues/92055) を修正します。[#110948](https://github.com/ClickHouse/ClickHouse/pull/110948) ([Mikhail Artemenko](https://github.com/Michicosun)).
* ホストが明示的に `--host` 引数で渡されていない場合に `clickhouse-client --login` で発生する abort (`front() called on an empty vector`) を修正しました。たとえば、ホストが `--connection`、設定ファイル、または `CLICKHOUSE_HOST` 環境変数から指定されている場合に発生していました。[#103603](https://github.com/ClickHouse/ClickHouse/issues/103603) をクローズしました。[#110279](https://github.com/ClickHouse/ClickHouse/pull/110279) ([Christoph Wurm](https://github.com/cwurm))。
* ラムダ引数がバッククォートで囲まれた Identifier で、その名前にドットが含まれる場合 (たとえば `__table1.`) に発生する論理エラー (`!part.empty()`) を修正しました。以前はこのようなクエリで、release build では処理済みの例外が発生し、エラーメッセージのフォーマット中に debug build および sanitizer build ではサーバーが abort していました。[#108735](https://github.com/ClickHouse/ClickHouse/pull/108735) ([Groene AI](https://github.com/groeneai))。
* 式で `IN` operator を使う `ALIAS` カラム (別の `ALIAS` カラム経由の場合を含む) を持つ table に対する `ALTER TABLE ... DROP COLUMN`、`ALTER TABLE ... DELETE`/`UPDATE` mutations、および lightweight `DELETE FROM` で発生する `LOGICAL_ERROR` (`No set is registered for key`) を修正しました。[#111039](https://github.com/ClickHouse/ClickHouse/pull/111039) ([Pedro Ferreira](https://github.com/PedroTadim))。
* 非同期 INSERT と deduplication (`async_insert=1`, `async_insert_deduplicate=1`) で発生していた、気づかれにくいデータ消失を修正しました。異なる `insert_deduplication_token` 値を持つ複数の async-insert エントリが、別々のパーティションに書き込まれる 1 回の flush にまとめられた際、各 token は自身の行が実際に書き込まれたパーティションだけでなく、その flush が触れたすべてのパーティションの deduplication log に登録されていました。そのため、これらの token のいずれかを再利用する後続の insert が、それまで一度も書き込んでいないパーティションに対して行われると、静かに deduplicate されて失われていました。現在は、token は自身の行が実際に書き込まれたパーティションに対してのみ登録されます。[#111031](https://github.com/ClickHouse/ClickHouse/issues/111031) をクローズしました。[#111049](https://github.com/ClickHouse/ClickHouse/pull/111049) ([Groene AI](https://github.com/groeneai))。
* 実験的 setting `make_distributed_plan = 1` のもとで、`Distributed` tables または views 上の `Merge` table をクエリした際に発生する `LOGICAL_ERROR` 例外 (`ScatterExchangeStep should have one source shard, got 8`) と、行の重複を修正しました。[#107946](https://github.com/ClickHouse/ClickHouse/issues/107946) をクローズしました。[#108401](https://github.com/ClickHouse/ClickHouse/pull/108401) ([Groene AI](https://github.com/groeneai))。
* `Nullable(Tuple(...))` カラムを、複数のカラムに flattening するのではなく、単一の `CSV` フィールドとして serialize するようにしました。以前は、非 `NULL` 値は複数の `CSV` フィールドとして書き込まれる一方、`NULL` は単一の `\N` として書き込まれていたため、行ごとにカラム数が変わり、`CSVWithNames`/`CSVWithNamesAndTypes` ヘッダーや往復変換が壊れていました。[#108959](https://github.com/ClickHouse/ClickHouse/pull/108959) ([Groene AI](https://github.com/groeneai))。
* `Parquet` v3 reader で、フォーマットレベルの key condition が `Parquet` file から読み込まれないカラムを参照している場合に発生する論理エラー (`KeyCondition uses PREWHERE output`) を修正しました。[#109267](https://github.com/ClickHouse/ClickHouse/pull/109267) ([Groene AI](https://github.com/groeneai))。
* `serialize_query_plan = 1` のもとで、`FINAL` または `SAMPLE` を伴う table function の読み取り結果が誤っていた問題を修正しました。あわせて、table functions 用の aggregation hash-table statistics cache key も修正し、異なる table functions が同じ preallocation エントリを共有しないようにしました。[#109847](https://github.com/ClickHouse/ClickHouse/pull/109847) ([Azat Khuzhin](https://github.com/azat))。
* 完了前に失敗した `BACKUP ... TO Memory(...)` の cleanup を修正しました。失敗した backup が登録されたまま残るため、その名前を再利用できませんでした。[#109947](https://github.com/ClickHouse/ClickHouse/pull/109947) ([Julia Kartseva](https://github.com/jkartseva))。
* `WITH FILL STEP` と `add*` / `subtract*` の日付・時刻 interval 関数における極端な interval 演算を修正しました。範囲外の差分が符号付き overflow に依存しなくなり、`WITH FILL` で非常に大きな `YEAR` step を指定した場合も、カレンダーを逆方向にたどって停止してしまうことがなくなりました。[#110158](https://github.com/ClickHouse/ClickHouse/pull/110158) ([Groene AI](https://github.com/groeneai)).
* Azure services からの `411 Length Required` エラーを修正しました。Poco ベースの Azure HTTP transport が、Azure Key Vault など、自身では `Content-Length` を設定しない SDK clients 向けに、request body から `Content-Length` を設定するようになりました。[#110299](https://github.com/ClickHouse/ClickHouse/pull/110299) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* lazy `FINAL` optimization (`query_plan_optimize_lazy_final`、既定では無効) は、クエリが sorting-key 順に読み込まれる場合には適用されなくなりました。置き換え後の plan ではその順序が維持されず、結果が誤った順序で返る可能性があるためです。また、読み取る行数より小さい `LIMIT` が読み取り step に直接適用される場合にも適用されなくなりました。この場合、必須の set 構築パスによって早期終了の効果が失われるためです。[#110576](https://github.com/ClickHouse/ClickHouse/pull/110576) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `readWKT` と `readWKTPoint` が `POINT EMPTY` に対して、未初期化の座標 (scalar) や前の行の古い座標 (vectorized) を返していた問題を修正しました。ClickHouse `Point` は空の表現を持たない固定の `Tuple(Float64, Float64)` であるため、`POINT EMPTY` は今後 `CANNOT_PARSE_TEXT` として拒否されます。[#110692](https://github.com/ClickHouse/ClickHouse/pull/110692) ([Groene AI](https://github.com/groeneai)).
* ハッシュ結合で右側カラムをマテリアライズする際の timezone 処理の誤りを修正しました。[#111033](https://github.com/ClickHouse/ClickHouse/issues/111033) をクローズします。[#111074](https://github.com/ClickHouse/ClickHouse/pull/111074) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `String` (またはそれより短い `FixedString`) のキーや minmax スキップ索引 が、より長い `FixedString` 定数との比較で filter された場合に、`count()` の結果が誤りになり、行が欠落する問題を修正しました。例: `toFixedString('abc', 257) = string_col`。プライマリキー と minmax pruning が NUL 埋めされた定数から range を構築してしまい、一致する granules を誤ってスキップしていました。[#111106](https://github.com/ClickHouse/ClickHouse/pull/111106) ([Groene AI](https://github.com/groeneai)).
* Asynchronous な `Native` フォーマット inserts を修正し、`ALTER ... MODIFY COLUMN` の後で互換性がなくなった 1 つのバッファ済みエントリが原因で、バッチ全体が失敗することがないようにしました。[#111064](https://github.com/ClickHouse/ClickHouse/issues/111064) をクローズします。[#111108](https://github.com/ClickHouse/ClickHouse/pull/111108) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* 別種のオブジェクトに対する dictionary の `CREATE OR REPLACE` を修正しました。replace がすでに committed された後に `CANNOT_DETACH_DICTIONARY_AS_TABLE` で失敗し、孤立した `_tmp_replace_*` table が残る問題がありました。[#111142](https://github.com/ClickHouse/ClickHouse/pull/111142) ([Nikolay Degterinsky](https://github.com/evillique)).
* `Join` engine table に対する `ANY` join で、右側カラムへの `WHERE` filter によりクエリ planner がその join を `SEMI` または `ANTI` に Rewrite できる場合に、`INCOMPATIBLE_TYPE_OF_JOIN` が発生する問題を修正しました。`Join` engine table では宣言された strictness が固定で変更できないため、そのような table に対してはこの変換を行わないようになりました。[#111362](https://github.com/ClickHouse/ClickHouse/pull/111362) ([Groene AI](https://github.com/groeneai)).
* 入力データの parse 結果が 0 行になったとき (たとえば空の JSON document や feature を持たない GeoJSON `FeatureCollection` など) に、`format` table function がカラムを返さない問題を修正しました。`NOT_FOUND_COLUMN_IN_BLOCK` を投げる代わりに、正しいカラムを持つ空の結果を返すようになりました。[#111390](https://github.com/ClickHouse/ClickHouse/issues/111390) をクローズします。[#111428](https://github.com/ClickHouse/ClickHouse/pull/111428) ([Groene AI](https://github.com/groeneai)).

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* Sanitizer buildで、サニタイザレポートがグローバルバッファ `sanitizer_report` に取り込まれるようになり、コアダンプアナライザがそれをコアダンプから読み取れるようになりました。[#109333](https://github.com/ClickHouse/ClickHouse/pull/109333) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* vendored binariesを使う代わりに、`musl` をソースからbuildするようになりました。[#97452](https://github.com/ClickHouse/ClickHouse/pull/97452) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* LLVM-libc の SIMD `memcmp`/`memcpy`/`memmove`/`memset`/`bcmp`/`memmem` 実装を使用するようになりました。[#107566](https://github.com/ClickHouse/ClickHouse/pull/107566) ([Konstantin Bogdanov](https://github.com/thevar1able)). あわせて、AVX-512 搭載マシンで `-O0` Debug build (`-DDEBUG_O_LEVEL=0`) 時に発生する `memmove` のサイレント破損を修正しました。[#110904](https://github.com/ClickHouse/ClickHouse/pull/110904) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* コードベースおよび同梱のサードパーティライブラリ全体から、`curl` ライブラリの使用を削除しました。[#108296](https://github.com/ClickHouse/ClickHouse/pull/108296) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `mariadb-connector-c` を 3.4.9 に更新しました。[#108328](https://github.com/ClickHouse/ClickHouse/pull/108328) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `libssh` を 0.12.0 に更新しました。[#108329](https://github.com/ClickHouse/ClickHouse/pull/108329) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* macOS で transaction `COMMIT` 時にハングする問題を修正しました。[#108375](https://github.com/ClickHouse/ClickHouse/pull/108375) ([Raúl Marín](https://github.com/Algunenano)).
* object file 内の DWARF デバッグセクションを圧縮する (`-gz`) `COMPRESS_DEBUG_SECTIONS` CMake オプションを追加しました。これは compiler が対応している環境では自動的に有効になり、Debug build のディレクトリサイズを縮小します。最終的な binaries は非圧縮のままなので、runtime のスタックトレースのシンボル化には影響しません。[#109306](https://github.com/ClickHouse/ClickHouse/pull/109306) ([Murphy](https://github.com/murphy-4o)). また、同梱の LLVM toolchain は zlib 付きで build されるようになり、その clang が `-gz=zlib` をサポートするようになりました。さらに、不足していた `clang++-21` の symlink も追加されました。[#109596](https://github.com/ClickHouse/ClickHouse/pull/109596) ([Murphy](https://github.com/murphy-4o)).
* Debug build では、vendored Rust crates を、削減したデバッグ情報 (`debug = 1`、cargo の `limited` レベル) かつインクリメンタル cache なし (`REDUCE_RUST_DEBUG_INFO`、デフォルトで有効) で compile するようになりました。これにより、Rust build artifact が縮小され (クリーンbuildで約 12 → 約 7 GB) 、再build時に cargo cache が無制限に増大するのを防ぎます。完全な DWARF とインクリメンタル compile を復元するには、`-DREDUCE_RUST_DEBUG_INFO=OFF` を設定してください。[#109471](https://github.com/ClickHouse/ClickHouse/pull/109471) ([Murphy](https://github.com/murphy-4o)).
* macOS で streaming distributed query exchange と `STREAM` reads をサポートしました。[#109769](https://github.com/ClickHouse/ClickHouse/pull/109769) ([Raúl Marín](https://github.com/Algunenano)).
* `libarchive` を 3.8.7 から 3.8.8 に更新しました。[#109874](https://github.com/ClickHouse/ClickHouse/pull/109874) ([Robert Schulze](https://github.com/rschu1ze)).
* `c-ares` を 1.34.6 から 1.34.8 に更新しました。[#109905](https://github.com/ClickHouse/ClickHouse/pull/109905) ([Robert Schulze](https://github.com/rschu1ze)).
* CVE-2026-40355 および CVE-2026-40356 に対応するため、`krb5` を更新しました。[#109910](https://github.com/ClickHouse/ClickHouse/pull/109910) ([Robert Schulze](https://github.com/rschu1ze)).
* `libpng` のサードパーティ依存関係を削除しました。`FORMAT PNG` は今後、代わりに小型の組み込み PNG エンコーダ (同梱の zlib を利用) を使用します。[#110051](https://github.com/ClickHouse/ClickHouse/pull/110051) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* jemalloc の malloc zone をラップすることで、macOS 上では `operator new` を経由しない生の C の割り当てもメモリトラッカーで追跡し、これらにもメモリ制限が適用されるようにしました。[#110370](https://github.com/ClickHouse/ClickHouse/pull/110370) ([Raúl Marín](https://github.com/Algunenano)).
* `clickhouse-server` および `clickhouse-keeper` の `-distroless` Docker イメージは、現在はシェルを含まない本番用ステージからビルドされます。以前はデバッグステージからビルドされ、`/busybox/sh` が含まれていました。[#105677](https://github.com/ClickHouse/ClickHouse/issues/105677) をクローズ。[#105678](https://github.com/ClickHouse/ClickHouse/pull/105678) ([ashishch432](https://github.com/ashishch432)).
* `abseil-cpp` を LTS `20260526.0` に更新しました。[#108991](https://github.com/ClickHouse/ClickHouse/pull/108991) ([Konstantin Bogdanov](https://github.com/thevar1able)).

<div id="266">
  ### ClickHouseリリース 26.6、2026-06-25。 [プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.6/), [ビデオ](https://www.youtube.com/watch?v=-NmqMH9y4EY)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* この変更により、`allow_experimental_query_deduplication` 機能が削除されました。この機能は長期間 experimental のままで、テストもなく、今後サポートされる予定もありません (初期テストは不安定だったため、[#49579](https://github.com/ClickHouse/ClickHouse/pull/49579) で削除されました) 。 [#99398](https://github.com/ClickHouse/ClickHouse/pull/99398) ([Igor Nikonov](https://github.com/devcrafter)).
* XRay ベースの `SYSTEM INSTRUMENT` 機能では、`parameters` ではなく `arguments` を使うようになりました。具体的には、`system.instrumentation.parameters` カラムは `arguments` にリネームされ、`SYSTEM INSTRUMENT ADD ... HANDLER PARAMETERS ...` 構文は `SYSTEM INSTRUMENT ADD ... HANDLER ARGUMENTS ...` に変更されました。古いカラム名や構文を使っているクエリまたは自動化は、新しい名前を使うよう更新する必要があります。古い名前は、もうサポートされません。 [#103854](https://github.com/ClickHouse/ClickHouse/pull/103854) ([Pablo Marcos](https://github.com/pamarcos)).
* 設定 `show_data_lake_catalogs_in_system_tables` は `show_remote_databases_in_system_tables` にリネームされ、対象範囲も拡大されました。値が 0 (デフォルト) の場合、データレイクのカタログに加えて、`MySQL` および `PostgreSQL` のデータベースも `system.tables`、`system.columns`、`system.completions` から非表示になります。古い設定名はエイリアスとして維持されます。 [#104416](https://github.com/ClickHouse/ClickHouse/pull/104416) ([Pablo Marcos](https://github.com/pamarcos)).
* デフォルトの x86 build は、x86-64-v2 (SSE4.2) ではなく x86-64-v3 (AVX2) を対象とするようになりました。これには AVX2 をサポートする CPU (Intel Haswell 以降、AMD Excavator 以降) が必要です。お使いの CPU が AVX2 をサポートしていない場合は、通常の x86-64 を対象とする `amd64compat` build を使用してください。 [#105019](https://github.com/ClickHouse/ClickHouse/pull/105019) ([Raúl Marín](https://github.com/Algunenano)).
* `min`/`max` aggregate および `minmax` 索引で、ネストされた `Dynamic`/`Variant` を拒否するようになりました。以前は最上位レベルの `Dynamic`/`Variant` しかチェックしていませんでした。 [#104747](https://github.com/ClickHouse/ClickHouse/issues/104747) をクローズします。 [#105468](https://github.com/ClickHouse/ClickHouse/pull/105468) ([Pavel Kruglov](https://github.com/Avogar)).
* `icebergHash` と `icebergBucket` は、`Int128`、`UInt128`、`Int256`、`UInt256`、`Decimal256` の argument を明示的なエラーで拒否するようになりました。以前は、より広い値を暗黙的に切り捨て、衝突する hash を生成していました。Iceberg spec では、32/64-bit 整数と、精度 38 までの decimal に対する hash しか定義されていません。収まる値について従来の挙動を維持したい場合は、`Int64` または `Decimal128` に cast してください。 [#105866](https://github.com/ClickHouse/ClickHouse/pull/105866) ([Raúl Marín](https://github.com/Algunenano)).
* CLI でのクエリ echo をきめ細かく制御できるようになりました。`--echo` オプションは省略可能なブール値を受け取るようになり、対話モードと batch mode の両方で動作します。新しいオプション `--echo-formatted` と `--echo-query-id` は、それぞれ echo されたクエリを整形するかどうか、および `query_id` を表示するかどうかを制御します。`--hilite`/`--highlight` オプションは、echo されたクエリのハイライトも制御するようになりました。その副作用として、`--echo` はブール値オプションになったため、値を伴わない `--echo` の直後に置かれた位置引数のクエリはその値として扱われます。代わりに `--echo --query "..."` または `--echo=false` を使用してください。 [#106191](https://github.com/ClickHouse/ClickHouse/pull/106191) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* experimental な KQL (Kusto) 関数 `array_sort_asc` と `array_sort_desc`、およびそれらの SQL backend である `kql_array_sort_asc` と `kql_array_sort_desc` を削除しました。これらの関数は experimental で、実装品質が低く、正確性やパーサーに関する不具合の原因にもなっていました。これらの名前を使うクエリは、今後 `UNKNOWN_FUNCTION` を返します。 [#108101](https://github.com/ClickHouse/ClickHouse/pull/108101) ([Groene AI](https://github.com/groeneai)).
* `ALTER TABLE ... REPLACE PARTITION ... FROM ...` は、ソーステーブルの要求されたパーティションにパーツが存在しない場合でも、宛先パーティションのデータを黙って削除しないようになりました。以前は、このようなリクエストを行うと宛先パーティションが削除され、その代わりに何も書き込まれないため、データ損失を招きやすい危険な挙動でした。現在はデフォルトで `BAD_ARGUMENTS` により拒否されます。従来の黙ってクリアする挙動に戻すには、新しい設定 `allow_replace_partition_from_empty_source = 1` を設定するか、`compatibility` を `26.5` 以下に設定してください。宛先データを明示的に削除するには、`ALTER TABLE ... DROP PARTITION` を使用してください。[#104939](https://github.com/ClickHouse/ClickHouse/pull/104939) ([Groene AI](https://github.com/groeneai)).
* サーバー設定 `insert_deduplication_version` のデフォルトが `compatible_double_hashes` から `new_unified_hash` に変更されます。挿入の重複排除は、パーツ/パーティション単位ではなく、挿入ブロック全体 (insert ごと) に対して機能するようになりました。つまり、同じ insert の再試行は引き続き重複排除されますが、同一のパーツを生成する 2 つの異なる insert は相互に重複排除されなくなり、同じ行を並べ替えて insert した場合も重複排除されなくなります。従来の挙動に戻すには、`insert_deduplication_version = compatible_double_hashes` を設定してください。`old_separate_hashes` がデフォルトだったリリースから直接アップグレードするインスタンスでは、`new_unified_hash` を使用する前に、関連する最長の重複排除ウィンドウが経過するまで、まず `compatible_double_hashes` で実行する必要があります。[#107886](https://github.com/ClickHouse/ClickHouse/pull/107886) ([Sema Checherinda](https://github.com/CheSema)).

<div id="267-new-feature">
  #### 新機能
</div>

* 一連のスナップショットリードで実装された、`MergeTree` テーブルに対する継続的クエリのサポートを追加しました。これは、汎用的なストリーミングクエリのサポートに向けた最初の一歩です。[#105114](https://github.com/ClickHouse/ClickHouse/pull/105114) ([Mikhail Artemenko](https://github.com/Michicosun)).
* 仮想 (what-if) スキップ索引を追加しました。`CREATE HYPOTHETICAL INDEX ... ON t (expr) TYPE ...` を使用してセッションスコープの仮想スキップ索引を定義し、続いて `EXPLAIN WHATIF SELECT ...` を使用すると、マテリアライズすることなく、そのスキップ率とコストを見積もれます。定義した索引は、新しい `system.hypothetical_indexes` テーブルに表示されます。[#104608](https://github.com/ClickHouse/ClickHouse/pull/104608) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `clickhouse-server` に、テーブル、materialized view、リフレッシュ可能なマテリアライズドビュー、辞書、分散テーブル、ビューの間の依存関係グラフを可視化する埋め込み `/schema` Web UI を追加しました。[#105276](https://github.com/ClickHouse/ClickHouse/pull/105276) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* `PNG` 出力フォーマットのサポートを追加し、クエリ結果を PNG 画像として直接レンダリングできるようにしました。[#74691](https://github.com/ClickHouse/ClickHouse/pull/74691) ([Maksim Dergousov](https://github.com/m7kss1)).
* 環境変数に基づいて、`clickhouse-client` または `clickhouse-local` を呼び出した AI コーディングエージェント (Claude Code、Cursor、Codex、Gemini CLI、Goose など) を検出する機能を追加しました。検出されたエージェントは、`system.query_log`、`system.query_thread_log`、`system.processes` の新しい `client_agent` カラムに記録されます。[#106619](https://github.com/ClickHouse/ClickHouse/pull/106619) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数、テーブルエンジン、データ型、設定、フォーマットなど、システムの共通コンポーネントに埋め込まれたリファレンスドキュメントを Markdown としてレンダリングし、1 つのテーブルに集約する新しい system table `system.documentation` を追加しました。[#107463](https://github.com/ClickHouse/ClickHouse/pull/107463) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* [GeoJSON](https://geojson.org/) の `FeatureCollection` ドキュメントを読み込むための `GeoJSON` 入力フォーマットを追加しました。各 feature ごとに 1 行を生成し、`id` (`String`) 、`geometry` (`Geometry`) 、`properties` (`Nullable(JSON)`) の各カラムを持ちます。`Point`、`LineString`、`MultiLineString`、`Polygon`、`MultiPolygon` の geometry は、ClickHouse ネイティブの `Geometry` 型に読み込まれます。`Geometry` 型で表現できない `GeometryCollection` と `MultiPoint` は、デフォルトでは例外を発生させますが、`input_format_geojson_unsupported_geometry_handling` 設定を使えば `NULL` として格納することもできます。[#91533](https://github.com/ClickHouse/ClickHouse/issues/91533) への寄与です。[#98124](https://github.com/ClickHouse/ClickHouse/pull/98124) ([Mark Needham](https://github.com/mneedham)).
* SQL から直接 Mapbox Vector Tiles を提供するための関数を追加しました。`MVTEncodeGeom` は geometry を slippy-map タイルのピクセル空間に投影してクリップし、`MVTEncode` はグループ内の投影済み geometry を単一レイヤーのタイルのバイナリバイト列に集約し、`MVTBoundingBox` / `MVTBoundingBoxMercator` は行をその範囲に制限するためのタイルのバウンディングボックスを返します。Point、line、polygon の geometry をサポートします。PostGIS のエイリアス `ST_AsMVTGeom` および `ST_AsMVT` でも利用できます。[#106107](https://github.com/ClickHouse/ClickHouse/pull/106107) ([Saarthak Gupta](https://github.com/saarthak2002)).
* `clickhouse-local` が `SYSTEM START LISTEN` および `SYSTEM STOP LISTEN` クエリをサポートするようになり、TCP 接続と HTTP 接続を受け付けるサーバーとして動作できるようになりました。[#101143](https://github.com/ClickHouse/ClickHouse/pull/101143) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client` と `clickhouse-local` に、対話型の `help` コマンドを追加しました。`help <name>` (`/help`、`man`、`/man` も可) と入力すると、関数、table engine、Data type、フォーマット、setting、そのほかのコンポーネントのドキュメントが表示され、Markdown から SQL のシンタックスハイライト付きでターミナル内にレンダリングされます。語が曖昧な場合は一致する候補をすべて表示し、見つからない場合は類似する名前を提案します。[#108042](https://github.com/ClickHouse/ClickHouse/pull/108042) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Azure Data Lake Storage Gen2 への書き込みをサポートしました。[#105406](https://github.com/ClickHouse/ClickHouse/pull/105406) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `RowBinaryWithNamesAndTypesAndDefaults` フォーマットを追加し、schema evolution への対応を強化しました。[#105736](https://github.com/ClickHouse/ClickHouse/pull/105736) ([Mark Zitnik](https://github.com/mzitnik)).
* 既存の `Enum` 型に新しい値を追加する際、現在の `Enum` 値をすべて再指定しなくても済むように、`ALTER TABLE` クエリで `ADD ENUM VALUES` を実装しました。[#93830](https://github.com/ClickHouse/ClickHouse/pull/93830) ([Ilya Golshtein](https://github.com/ilejn)).
* リフレッシャブルmaterialized view が `REFRESH DEPENDS ON` をサポートするようになり、時間ベースのスケジュールではなく、別の RMV のリフレッシュを契機にリフレッシュできるようになりました。 (`REFRESH EVERY ... DEPENDS ON` はすでに存在していましたが、この用途では信頼性に欠けていました。) `CREATE MATERIALIZED VIEW` のドキュメントを参照してください。[#104440](https://github.com/ClickHouse/ClickHouse/pull/104440) ([Michael Kolupaev](https://github.com/al13n321)).
* `* LIKE '<pattern>'` および `* ILIKE '<pattern>'` を使った、名前パターンによるカラム選択をサポートしました。これには `table.* LIKE '<pattern>'` や `table.* ILIKE '<pattern>'` のような修飾形式も含まれます。`LIKE` はカラム名を case-sensitive に、`ILIKE` は case-insensitively に一致させます。[#104569](https://github.com/ClickHouse/ClickHouse/pull/104569) ([Yue Ni](https://github.com/niyue)).
* `LIKE` pattern 内でカスタムのエスケープ文字を定義できる `ESCAPE` 構文を追加しました。これにより、`%` と `_` を wildcards ではなくリテラル文字として扱えます。[#99774](https://github.com/ClickHouse/ClickHouse/pull/99774) ([Ilya Yatsishin](https://github.com/qoega)).
* `materialize_projections_on_insert` および `materialize_projections_on_merge` `MergeTree` テーブル設定を追加しました。`materialize_projections_on_insert = 0` の場合、`INSERT` では projection parts の構築をスキップするため、多数の projections を持つテーブルで insert throughput が向上します。`materialize_projections_on_merge = 1` の場合、merge は元のすべてのパーツに存在しない projection を再構築するため、projections を INSERT 時ではなく merges 中に構築できます。なお、merges は引き続き、同じ projections の組み合わせを共有するパーツだけを結合します。[#100993](https://github.com/ClickHouse/ClickHouse/pull/100993) ([Christoph Wurm](https://github.com/cwurm)).
* 新しい immutable な `MergeTree` setting `allow_tuple_element_aggregation` を追加しました。デフォルトでは無効です。有効にすると、`SummingMergeTree`、`AggregatingMergeTree`、`CoalescingMergeTree` は `Tuple` カラムを再帰的に平坦化し、merges 中に各 leaf 要素を独立して aggregation します。これは、その要素がトップレベルのカラムである場合とまったく同じで、`SummingMergeTree` はその値を合計し、`AggregatingMergeTree` はその aggregate-function state を merge し、`CoalescingMergeTree` は最後の非 NULL 値を保持します。この setting はテーブル作成時に指定する必要があり、対応していない engine では暗黙的に無視されます。[#98039](https://github.com/ClickHouse/ClickHouse/pull/98039) ([johnjing](https://github.com/JingYanchao)).
* 新しい関数 `quantizeBFloat16ToInt8` と `dequantizeInt8ToBFloat16`：256 レベルの Gaussian Lloyd-Max 量子化器を使って embedding の部分を 8 ビットに圧縮する scalar codec で、そこから bit-truncation によって Int4/Int2/binary codes を抽出できます。[#108102](https://github.com/ClickHouse/ClickHouse/pull/108102) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数 `arrayTopK` と `arrayBottomK` を追加: - `arrayTopK(k, array)` は大きい順に K 個の要素を返します - `arrayBottomK(k, array)` は小さい順に K 個の要素を返します。 [#104563](https://github.com/ClickHouse/ClickHouse/pull/104563) ([Vitaly Baranov](https://github.com/vitlibar)).
* `Iceberg` テーブル向けに、各テーブルの current snapshot 内の各データファイルまたは削除ファイルごとに 1 行ずつ、ファイルごとのメタデータを公開する新しい system table `system.iceberg_files` を追加しました。これにより [#98777](https://github.com/ClickHouse/ClickHouse/issues/98777) をクローズします。 [#104415](https://github.com/ClickHouse/ClickHouse/pull/104415) ([Asya Shneerson](https://github.com/asya-ch)).
* すべてのテーブルにある `CHECK` および `ASSUME` 制約について、制約名、種別、式を含む情報を提供する `system.constraints` テーブルを追加しました。 [#105337](https://github.com/ClickHouse/ClickHouse/pull/105337) ([Pedro Ferreira](https://github.com/PedroTadim)).
* 利用可能な dictionary layouts を、埋め込みドキュメント (`description`, `syntax`, `examples`, `introduced_in`, `related`) とともに一覧表示する新しい `system.dictionary_layouts` テーブルを追加しました。 [#106182](https://github.com/ClickHouse/ClickHouse/pull/106182) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 利用可能な dictionary sources を、埋め込みドキュメント (`description`, `syntax`, `examples`, `introduced_in`, `related`) とともに一覧表示する新しい `system.dictionary_sources` テーブルを追加しました。 [#106184](https://github.com/ClickHouse/ClickHouse/pull/106184) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 利用可能な data skipping index types を、埋め込みドキュメント (`description`, `syntax`, `examples`, `introduced_in`, `related`) とともに一覧表示する新しい `system.data_skipping_index_types` テーブルを追加しました。 [#106186](https://github.com/ClickHouse/ClickHouse/pull/106186) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 利用可能なディスクタイプを、埋め込みドキュメント (`description`, `syntax`, `examples`, `introduced_in`, `related`) とともに一覧表示する新しい `system.disk_types` テーブルを追加しました。 [#106187](https://github.com/ClickHouse/ClickHouse/pull/106187) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SYSTEM RESTART DISK <name>` を実装しました。これにより、ディスクの in-memory メタデータを再読み込みし、その上にある読み取り専用レプリカテーブルのデータパーツを再スキャンするようになりました。これにより、共有 `plain_rewritable` ストレージ上のテーブルの読み取り専用レプリカは、`refresh_parts_interval` を待ったりサーバーを再起動したりすることなく、別のサーバーによって書き込まれたデータを必要に応じて認識できます。 [#106645](https://github.com/ClickHouse/ClickHouse/pull/106645) ([Jordi Villar](https://github.com/jrdi)).
* PostgreSQL 形式の `expr OP SOME(array)` / `expr OP ALL(array)`  (右辺がサブクエリではない形式) がサポートされ、`=`/`<>` については `has` / `NOT has` に、それ以外の比較演算子については `arrayExists` / `arrayAll` のラムダに書き換えられるようになりました。`ANY` は array form では受け付けられません。これは `any` も集約関数であるためです。代わりに `SOME` を使用してください。`ANY`/`SOME`/`ALL` の subquery form は引き続き `IN` / `NOT IN` に変換されます。 [#105129](https://github.com/ClickHouse/ClickHouse/pull/105129) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 新たに 2 つの `load_balancing` 戦略 `hostname_longest_common_prefix` と `hostname_longest_common_suffix` を追加しました。これらは、イニシエーターのホスト名と最長の共通プレフィックス (または接尾辞) を持つレプリカを優先します。これらは、ホスト名のプレフィックスまたは接尾辞にデータセンターが埋め込まれており、数値セグメントの長さが可変な場合に有用です。このような場合、既存の `nearest_hostname` および `hostname_levenshtein_distance` 戦略では誤ったレプリカが選ばれることがあります。 [#107360](https://github.com/ClickHouse/ClickHouse/pull/107360) ([Denny \[DBA at Innervate\]](https://github.com/den-crane)).
* 証明書ベース認証のオブザーバビリティを向上させるため、TLS クライアント証明書の情報 (subjects、serial number、issuer、validity period) を `system.session_log` テーブルに追加しました。[#107679](https://github.com/ClickHouse/ClickHouse/pull/107679) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `S3` のロールベースアクセス向けに、オプションの `external_id` 認証情報を追加しました。[#106941](https://github.com/ClickHouse/ClickHouse/pull/106941) ([Elian Gidoni](https://github.com/eliangidoni)).
* 新しい `S3Queue` 設定 `after_processing_move_preserve_path` を追加しました。`after_processing='move'` および `after_processing_move_prefix` と併せて有効にすると、処理済みオブジェクトはファイル名だけにフラット化されるのではなく、宛先プレフィックス配下で完全なソースパスを保持したまま移動されます。[#105354](https://github.com/ClickHouse/ClickHouse/pull/105354) ([Asya Shneerson](https://github.com/asya-ch)).
* message queue エンジン (`Kafka`、`RabbitMQ`、`NATS`) からアタッチされた materialized view への挿入を無効にする `message_queue_disable_insertion` サーバー設定を追加しました。read-only レプリカのシナリオで有用です。[#104911](https://github.com/ClickHouse/ClickHouse/pull/104911) ([JIaQi Tang](https://github.com/JiaQiTang98)).
* `LOCALTIME` と `LOCALTIMESTAMP` (SQL 標準 / PostgreSQL 構文) を追加しました。`LOCALTIMESTAMP` は `now()` の別名です (`DateTime` を返します) 。`LOCALTIME` は現在の時刻を `Time` 値として返します。[#106139](https://github.com/ClickHouse/ClickHouse/pull/106139) ([Thomas Cabral](https://github.com/thomas-cabral)).
* `EXTRACT(unit FROM expr)` の糖衣構文として `date_part('unit', expr)` を追加しました。標準の interval kind と PostgreSQL 独自拡張 (`epoch`、`dow`、`doy`、`isodow`、`isoyear`、`century`、`decade`、`millennium`) をすべてサポートします。[#105127](https://github.com/ClickHouse/ClickHouse/pull/105127) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* timezone offset の時部分と分部分を取得する PostgreSQL 互換の `EXTRACT(TIMEZONE_HOUR FROM dt)` および `EXTRACT(TIMEZONE_MINUTE FROM dt)`、さらに interval から値を抽出するための `EXTRACT(<unit> FROM INTERVAL n <unit>)` / `date_part('<unit>', INTERVAL n <unit>)` を追加しました。[#106227](https://github.com/ClickHouse/ClickHouse/pull/106227) ([Vinayak Joshi](https://github.com/vinayakj592)).
* `argMin` と `argMax` の aggregate 別名として `min_by` と `max_by` を追加しました。[#105712](https://github.com/ClickHouse/ClickHouse/pull/105712) ([Joey Yu](https://github.com/itsjoeoui)). これらの別名はばかげています。本物のエンジニアは元の ClickHouse 名を使います。
* Oracle/MySQL/Snowflake 互換のため、`regexpExtract` の大文字小文字を区別しない別名として `REGEXP_SUBSTR` を追加しました。[#105122](https://github.com/ClickHouse/ClickHouse/pull/105122) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PostgreSQL / SQL 標準互換のため、`currentUser()` の大文字小文字を区別しない別名として `SESSION_USER` を追加しました。[#106081](https://github.com/ClickHouse/ClickHouse/pull/106081) ([Takumi Hara](https://github.com/takumihara)).
* `CREATE TABLE` と同様に、`ALTER TABLE ... ADD/MODIFY COLUMN` で末尾の `NULL` / `NOT NULL` modifier をサポートしました。[#106150](https://github.com/ClickHouse/ClickHouse/pull/106150) ([Takumi Hara](https://github.com/takumihara)).
* h3 の `h3PolygonToCellsWithContainment` 関数を使って、center-based、fully-contained、overlapping の containment mode をサポートする新しい algorithm を利用できるようになりました。[#104455](https://github.com/ClickHouse/ClickHouse/pull/104455) ([Youssef Kadry](https://github.com/yousefQadry)).
* `IP_ADDRESS` または `FORWARDED_IP_ADDRESS` でキー化を行う際に、`IPV4_PREFIX_BITS and IPV6_PREFIX_BITS` フラグを追加しました。[#89270](https://github.com/ClickHouse/ClickHouse/pull/89270) ([Aditya Chopra](https://github.com/adityachopra29)).
* `formatReadableTimeDelta` が、`Month` および `Year` 以外の型の `INTERVAL` 式も入力として受け付けるようになりました。[#64315](https://github.com/ClickHouse/ClickHouse/pull/64315) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* `formatReadableSize`、`formatReadableDecimalSize`、`formatReadableQuantity` 関数で、オプションの精度引数を指定して小数点以下の桁数を制御できるようになりました。デフォルトは 2 で、従来の動作を維持します。[#104648](https://github.com/ClickHouse/ClickHouse/pull/104648) ([Antonio Filipovic](https://github.com/antoniofilipovic)).
* 浮動小数点数のテキスト出力における小数桁数を制御する `output_format_float_precision` 設定を追加しました。[#99721](https://github.com/ClickHouse/ClickHouse/pull/99721) ([phulv94](https://github.com/phulv94)).
* 値が整数であっても、浮動小数点数および `Decimal` 数値のテキストフォーマット出力で常に小数点を表示する設定 `output_format_always_write_decimal_point_in_float_and_decimal` を追加しました。たとえば `1` ではなく `1.` を出力します。デフォルトでは無効です。[#62614](https://github.com/ClickHouse/ClickHouse/pull/62614) ([Ilya Yatsishin](https://github.com/qoega)).
* 新しい HTTP ハンドラーの設定要素 `<url_prefix>` と `<full_url_prefix>` (ベースパス配下のすべてのパスに一致し、たとえば Prometheus ハンドラーで有用) に加え、`<url_regexp>`、`<full_url_regexp>`、`<headers_regexp>` をサポートしました。従来の `<url>regex:...</url>` 形式は現在廃止されています。[#107492](https://github.com/ClickHouse/ClickHouse/pull/107492) ([Vitaly Baranov](https://github.com/vitlibar)).
* `basic` STATISTICS をサポートしました。これはカラムごとの compact な統計で、該当する場合に数値の最小値/最大値、文字列の平均長、NULL の件数を格納します。[#106048](https://github.com/ClickHouse/ClickHouse/pull/106048) ([Han Fei](https://github.com/hanfei1991)).
* ClickHouse Keeper で TTL ノードをサポートしました。`create_ttl` feature フラグで有効化できます。[#100397](https://github.com/ClickHouse/ClickHouse/pull/100397) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* workloads 向けに memory reservation 機能を導入しました。[workload scheduling](https://clickhouse.com/docs/operations/workload-scheduling) のドキュメントを参照してください。[#82414](https://github.com/ClickHouse/ClickHouse/pull/82414) ([Sergei Trifonov](https://github.com/serxa)).

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* マルチステージの分散クエリ実行: プランナーがクエリプランを scatter / broadcast / gather / shuffle exchange で接続されたステージに分割し、そのプラン断片を worker ノードに振り分けます。ステージ間のデータは TCP 経由でストリーミングされるか、共有オブジェクトストレージ上の一時ファイルを介して受け渡されます。この仕組みにより、分散 shuffle および broadcast hash join、shuffle 集約、分散ソートがサポートされます。この機能は Experimental で、デフォルトでは無効です。[#106020](https://github.com/ClickHouse/ClickHouse/pull/106020) ([Alexander Gololobov](https://github.com/davenger))。Experimental な distributed query plan engine (`make_distributed_plan`) では、worker ごとに異なるタスクディスパッチポートおよび streaming-exchange ポートを使用できるようになりました。これらは `<remote_servers>` 内で、レプリカごとに `stateless_worker_port` と `streaming_exchange_port` を使って設定します。未設定の場合は、従来の server レベルのポート (`stateless_worker_client.port` と `distributed_query.streaming_exchange_port`) が使用されます。これにより、1 台のホスト上で複数の worker を実行できるようになります。[#107885](https://github.com/ClickHouse/ClickHouse/pull/107885) ([Alexander Gololobov](https://github.com/davenger)).
* inner joins 向けの Experimental な `dphyp` join 並べ替えアルゴリズムが、`query_plan_optimize_join_order_algorithm` 設定のオプションとして追加されました。あわせて、join 順序探索に上限を設け、その上限を超えた場合はチェーン内の次のアルゴリズムにフォールバックする `query_plan_optimize_join_order_max_searched_plans` 設定も追加されました。従来の上限なし探索の動作を維持するには、これを `0` に設定してください。[#98798](https://github.com/ClickHouse/ClickHouse/pull/98798) ([Alexander Gololobov](https://github.com/davenger)).
* ClickHouse 内から LLM API を使って埋め込みを生成する `aiEmbed` 関数を追加しました。[#102922](https://github.com/ClickHouse/ClickHouse/pull/102922) ([George Larionov](https://github.com/george-larionov)).
* Experimental な Linux OOM canary を追加しました。これは、メインの server プロセスより先に Linux OOM killer の対象となる sacrificial child process です。`oom_canary_enable` で有効にすると、アロケータキャッシュの削除、クエリのキャンセル、マージのキャンセル、および `system.crash_log` へのイベント記録によってメモリ逼迫を軽減します。OOM への応答には、cgroup v2 の `memory.events` に OOM-kill の記録があることが必要です。[#101942](https://github.com/ClickHouse/ClickHouse/pull/101942) ([Peng](https://github.com/fastio)).
* `/webterminal` の Web 端末インターフェースが正式機能となり、デフォルトで有効になりました。これは新しい `enable_webterminal` server 設定で制御されます。従来の `allow_experimental_webterminal` 設定は非推奨になりましたが、後方互換性のため引き続き有効です。エンドポイントを無効にするには、`enable_webterminal` を `false` に設定してください。[#106255](https://github.com/ClickHouse/ClickHouse/pull/106255) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PromQL HTTP エンドポイントで、URL クエリパラメータ (`database=`, `table=`, または `table=db.table`) による database と table の指定がサポートされるようになりました。従来の暗黙的な `default.prometheus` table へのフォールバックは廃止されました。handler config にも URL にも table が指定されていない場合、ハンドラーは `The time series table name is not set` を返すようになりました。従来の動作を維持するには、`<table>default.prometheus</table>` を設定するか、URL で `table=...` を渡してください。[#107553](https://github.com/ClickHouse/ClickHouse/pull/107553) ([Vitaly Baranov](https://github.com/vitlibar)).
* `prometheusQuery` および `prometheusQueryRange` Table functions で、PromQL の `histogram_quantile` 関数がサポートされました。これにより、`le` ラベルで識別される従来の Prometheus histogram バケットに対する quantile の計算が可能になります。[#103477](https://github.com/ClickHouse/ClickHouse/pull/103477) ([Joe Smith](https://github.com/Yasumoto)).
* テキスト索引に遅延ポスティングリスト適用モードを追加しました。`SET allow_experimental_text_index_lazy_apply = 1` および `SET text_index_posting_list_apply_mode = 'lazy'` で有効にすると、ポスティングリストは Roaring Bitmaps として完全に実体化されるのではなく、packed-block 粒度で必要に応じてカーソルベース方式でデコードされるため、選択的なテキスト索引クエリでのメモリ使用量と CPU 時間を削減できます。[#100035](https://github.com/ClickHouse/ClickHouse/pull/100035) ([Peng](https://github.com/fastio)).
* WebAssembly UDF 向けの [AssemblyScript](https://www.assemblyscript.org) ABI のサポートを追加しました。AssemblyScript のコードをコンパイルし、生成された WebAssembly モジュールをローカルの ClickHouse に読み込むブラウザベースの [プレイグラウンド](https://pastila.nl/?0009878e/b9768c4e2144d0c2f3dd512e7a1aaf69.html) を使えば、ローカルにツールチェーンをインストールしなくても AssemblyScript ABI を試せます。[#104606](https://github.com/ClickHouse/ClickHouse/pull/104606) ([Vladimir Cherkasov](https://github.com/vdimir)).
* オプションのプレフィックスを付けた Prometheus ハンドラーをメインの HTTP ポートにアタッチできるようにしました。[#104975](https://github.com/ClickHouse/ClickHouse/pull/104975) ([James Cunningham](https://github.com/JTCunning)).
* 実験的な `MergeTree` 設定 `packed_skip_index_max_bytes` を追加しました。これにより、小さなスキップ索引の substream を、part ごとに単一の `skp_idx.packed` アーカイブへまとめられるようになり、table に多数のスキップ索引が定義されている場合の inode 負荷を軽減できます。判定は書き込み時に substream 単位で行われ、シリアライズ後のサイズがしきい値未満の substream はアーカイブに格納され、それより大きいものは従来どおり独立した `skp_idx_<name>.idx2` / `.mrk2` layout のままになります。1 つの part 内で layout を混在させることもできます。全文索引はサポートされておらず、常にファイルごとに保持されます。デフォルトは 0 (パック無効) です。[#105321](https://github.com/ClickHouse/ClickHouse/pull/105321) ([Raúl Marín](https://github.com/Algunenano)).
* `ABI BUFFERED_V1` を使用する WebAssembly UDF 向けに `Buffers` シリアライゼーションをサポートし、永続化される WASM UDF 関数設定として `webassembly_udf_enable_fuel` を追加しました。[#105574](https://github.com/ClickHouse/ClickHouse/pull/105574) ([Antonio Andelic](https://github.com/antonio2368)).
* 実験的な `use_reader_executor` 設定 (デフォルトではオフ) を追加しました。これにより、読み取りは従来の読み取りバッファの legacy chain ではなく、新しい pipeline ベースの `ReaderExecutor` を経由するようになります。[#106570](https://github.com/ClickHouse/ClickHouse/pull/106570) ([Sema Checherinda](https://github.com/CheSema)). 実験的な `use_reader_executor` の読み取りパス向けに、モデル化された読み取りコスト KPI (`ReaderExecutorModeledCostMsPerRequestedMiB`) を含むオブザーバビリティ メトリクスを追加しました。[#106968](https://github.com/ClickHouse/ClickHouse/pull/106968) ([Sema Checherinda](https://github.com/CheSema)). 実験的な `use_reader_executor` 読み取りパスの内部で `ChainedBuffers` バッファを導入し、`ReaderExecutorChainedBufferBytes` メトリクスを追加しました。[#107210](https://github.com/ClickHouse/ClickHouse/pull/107210) ([Sema Checherinda](https://github.com/CheSema)).
* `MergeTree` sorting key における降順の sort order (例: `ORDER BY (time DESC, key)`) が常にサポートされるようになり、実験的設定 `allow_experimental_reverse_key` は不要になりました。この設定は廃止されました。[#106440](https://github.com/ClickHouse/ClickHouse/pull/106440) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* `Nullable(Tuple(...))` はベータになりました。デフォルトでは無効で、使用するには `enable_nullable_tuple_type = 1` を設定してください。[#107754](https://github.com/ClickHouse/ClickHouse/pull/107754) ([Nihal Z. Miaji](https://github.com/nihalzp)).

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* Keeper にさまざまな変更を加え、全体として約 2 倍高速化しました (バッチ処理の改善、リーダーへのメッセージのパイプライン化、ログ追記のパイプライン化) 。 [#101757](https://github.com/ClickHouse/ClickHouse/pull/101757) ([Michael Kolupaev](https://github.com/al13n321)).
* 単純な `SELECT` クエリにおけるクエリごとのオーバーヘッド (パース、解析、プランニング) を削減しました。たとえば、単一接続での `SELECT count() FROM hits` はおおよそ 50% 高速になりました。 [#104513](https://github.com/ClickHouse/ClickHouse/pull/104513) ([Raúl Marín](https://github.com/Algunenano)).
* 長い主キーおよび高カーディナリティな主キーに対する主キー索引解析を最適化しました。長い主キーでは、索引解析の実行時間は主キーの長さではなく、主にクエリのフィルタの複雑さ (実際に使用するキーカラム) に依存するようになりました。そのため、ソートキーを拡張しても、そのうち少数のカラムだけでフィルタするクエリに対する索引解析の追加オーバーヘッドはほぼ無視できます。高カーディナリティな主キーでは、ClickHouse はキーカラムのうち選択性の高いプレフィックスのみをメモリ内に保持し、後続のカラムは読み込まないため、索引解析は主キー全体ではなく、そのインメモリのプレフィックスだけを対象に動作するようになりました。この最適化はデフォルトで有効で、新しい設定 `use_lightweight_primary_key_index_analysis` で無効化できます。 [#65103](https://github.com/ClickHouse/ClickHouse/issues/65103) をクローズします。 [#91836](https://github.com/ClickHouse/ClickHouse/pull/91836) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* デフォルトの x86 ビルドは、x86-64-v2 (SSE4.2) ではなく x86-64-v3 (AVX2) を対象とするようになりました。これには AVX2 をサポートする CPU (Intel Haswell 以降、AMD Excavator 以降) が必要です。CPU が AVX2 をサポートしていない場合は、プレーンな x86-64 を対象とする `amd64compat` ビルドを使用してください。 [#105019](https://github.com/ClickHouse/ClickHouse/pull/105019) ([Raúl Marín](https://github.com/Algunenano)).
* 汎用の比較ソートに `ipnsort` と `driftsort` (安定ソート) を使用するようになりました。これらは Rust 標準ライブラリのソート実装を C++ に移植したものです。これにより、数値以外のカラムに対する `ORDER BY` や安定ソートが高速化され、逆順にソート済みの入力での最悪ケースも解消されます。 [#106650](https://github.com/ClickHouse/ClickHouse/pull/106650) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 高カーディナリティで均等に分散したキー向けに、新しい `GROUP BY` 最適化を追加しました。grouping key をハッシュ化して行をスレッド間に分散し、各スレッドが互いに重ならないキー集合を merge フェーズなしで集約します。有効にするには `enable_sharding_aggregator = 1` を設定してください。 [#104233](https://github.com/ClickHouse/ClickHouse/pull/104233) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 文字列キーの `GROUP BY` クエリでハッシュテーブルのプリフェッチを有効にし、高カーディナリティな文字列集約の性能を約 8% 改善しました。 [#101007](https://github.com/ClickHouse/ClickHouse/pull/101007) ([Le Zhang](https://github.com/damahua)).
* 大きな aggregate state (たとえば `groupArray`) を持つ部分的な二段階集約結果を merge する際の Peak memory usage を削減しました。merge が完了するまで各 bucket の元の state をすべて保持し続けるのではなく、merge 中に bucket ごとに段階的に解放するようにしました。 [#102330](https://github.com/ClickHouse/ClickHouse/pull/102330) ([Yuri Fedoseev](https://github.com/yurifedoseev)).
* `Enum` `DataType` のメモリ表現を最適化しました。`Enum` 型を含むテーブルでは、`Enum` 部分のメモリ使用量が最大 10 倍改善される場合があります。値 (数値) から name を取得する処理時間は同等か、それ以上に高速です。name による検索はやや低速ですが、この方向のアクセスはあまり一般的ではありません。 [#95668](https://github.com/ClickHouse/ClickHouse/pull/95668) ([Ilya Yatsishin](https://github.com/qoega)).
* クエリ解析中に同じ識別子の解決が重複して行われるのを防ぐため、識別子解決のキャッシュを追加しました。 [#88043](https://github.com/ClickHouse/ClickHouse/pull/88043) ([Max Justus Spransy](https://github.com/maxjustus)).
* 多数のカラムを持つテーブルに対するクエリのクエリ解析性能を改善しました。不要な場合は、カラムノードのハッシュ (ソーステーブル式全体を含む) の計算を回避します。約1200カラムのテーブルに対する、ネストした `SELECT *` サブクエリの解析が、現在は約50倍高速になりました。[#106957](https://github.com/ClickHouse/ClickHouse/pull/106957) ([Dmitry Novik](https://github.com/novikd)).
* 多数または深くネストした関数呼び出しを含むクエリについて、関数解決 cache から冗長なクエリツリーのハッシュを削除し、クエリ解析を高速化しました。[#107516](https://github.com/ClickHouse/ClickHouse/pull/107516) ([Dmitry Novik](https://github.com/novikd)).
* 多数のアクセスエンティティ (行ポリシー、ロール、クォータ、設定プロファイル) が同時に変更された際に、レプリケートされたアクセスストレージでログインやクエリ開始が長時間停止する問題を修正しました。エンティティごとの cache は、変更された各エンティティごとではなく通知バッチごとに1回だけ再計算されるようになり、アクセスロックを数分間保持し得た二乗オーダーの処理を解消しました。[#107672](https://github.com/ClickHouse/ClickHouse/pull/107672) ([Azat Khuzhin](https://github.com/azat)).
* probe 側の JOIN ランタイムフィルタとして、ハッシュ結合の `FixedHashMap` を共有するようになりました。build 側の hash table が `FixedHashMap` である場合 (または `FixedHashMap` に変換可能な場合) 、それがランタイムフィルタとして使われ、通常 `BuildRuntimeFilterStep` が設定する `Set`/`BloomFilter` を置き換えます。これは新しい設定 `join_runtime_filter_from_fixed_hash_table` (デフォルトは `true`) で制御されます。[#105640](https://github.com/ClickHouse/ClickHouse/pull/105640) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* `JOIN` の後に選択性の高い `LIMIT`、`TopN`、または別の `JOIN` が続く場合に、selector 索引とレプリケーション索引を遅延適用するようになりました。遅延 selector 索引を有効にするためのペイロードカラム数は、設定 `query_plan_min_columns_for_join_lazy_indexing` で制御できます (0 はこの最適化が無効であることを意味します) 。この最適化を適用する `LIMIT` は、設定 `query_plan_max_limit_for_join_lazy_indexing` で制御できます。[#106566](https://github.com/ClickHouse/ClickHouse/pull/106566) ([Hechem Selmi](https://github.com/m-selmi)).
* DP (動的計画法) による JOIN の並べ替えが、並列レプリカでも使用可能になりました。[#105889](https://github.com/ClickHouse/ClickHouse/pull/105889) ([Nikita Taranov](https://github.com/nickitat)).
* JOIN がランタイムフィルタ (デフォルトで有効な `enable_join_runtime_filters`) を使用する場合のクエリプランを改善しました。JOIN 並べ替えのコストモデルが、右側の部分木にある `WindowTransform` (およびその他の行保持型プランステップ) を透過して見られるようになり、統計なしにフォールバックする代わりに、基になる行数とカラムごとの NDV を使用します。[#107229](https://github.com/ClickHouse/ClickHouse/pull/107229) ([UnamedRus](https://github.com/UnamedRus)).
* RIGHT および FULL JOIN における未結合行の出力で、バッチ化により仮想関数呼び出しを排除しました。[#105679](https://github.com/ClickHouse/ClickHouse/pull/105679) ([Hechem Selmi](https://github.com/m-selmi)).
* `HashJoin` で packed `keys32` および `keys64` メソッドをサポートしました。[#107202](https://github.com/ClickHouse/ClickHouse/pull/107202) ([Nikita Taranov](https://github.com/nickitat)).
* `Set` で packed `keys32` および `keys64` メソッドをサポートしました。[#107564](https://github.com/ClickHouse/ClickHouse/pull/107564) ([Nikita Taranov](https://github.com/nickitat)).
* 集約における Nullable カラムの処理をさらに最適化しました。[#106015](https://github.com/ClickHouse/ClickHouse/pull/106015) ([Nikita Taranov](https://github.com/nickitat)).
* `LIMIT BY` クエリの性能を改善しました。[#103349](https://github.com/ClickHouse/ClickHouse/pull/103349) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `LIMIT BY` のカラムが `ORDER BY` のプレフィックスである場合、`Sort` 中に各並列ソート済みストリーム内で `LIMIT BY` を実行することで、`ORDER BY ... LIMIT BY` クエリを高速化しました。これにより、最終的なソートマージや後続のパイプライン処理を流れる行数を削減できます。この最適化は、新しい設定 `query_plan_push_limit_by_into_sort` (デフォルトで有効) で制御されます。[#104000](https://github.com/ClickHouse/ClickHouse/pull/104000) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `<cols>` がテーブルのソートキーのプレフィックスである場合、または `WHERE col = const` によって先頭カラムが固定されて結果的にそうなる場合に、`SELECT ... LIMIT N BY <cols>` クエリを高速化しました。これを有効にすると、`MergeTree` はプライマリキー順にデータを読み取り、まずストリーミングモードで `LIMIT BY` を適用して、ソート済みストリームごとに O(1) のメモリで大部分のデータを除外します。その後、絞り込まれたデータに対して通常の `LIMIT BY` を実行し、最終結果を取得します。新しい設定 `optimize_limit_by_in_order` (デフォルトで有効) で制御されます。[#105135](https://github.com/ClickHouse/ClickHouse/pull/105135) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* パーティション化された `MergeTree` テーブル上の `LIMIT BY` クエリを高速化しました。すべてのストリームを 1 つにマージしてから制限を適用する代わりに、各パーティションのストリーム内で `LIMIT BY` を並列に実行します。これは、パーティション式が `LIMIT BY` のカラムの決定論的関数であり、どの `LIMIT BY` グループも 2 つのパーティションにまたがらない場合に適用されます。新しい設定 `allow_limit_by_partitions_independently` (デフォルトで有効) で制御されます。[#105126](https://github.com/ClickHouse/ClickHouse/pull/105126) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 冗長なキー式を削除することで `LIMIT BY` クエリを高速化しました。他のキーの決定論的関数であるキーは削除され (例: `LIMIT 5 BY x, f(x)` は `LIMIT 5 BY x` になる) 、キーの単射関数はその引数に置き換えられます (例: `LIMIT 5 BY toString(x)` は `LIMIT 5 BY x` になる) 。これにより、各行で評価する式の数が減り、評価コストも下がります。新しい設定 `optimize_limit_by_function_keys` および `optimize_injective_functions_in_limit_by` (いずれもデフォルトで有効) で制御されます。[#106818](https://github.com/ClickHouse/ClickHouse/pull/106818) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 分片化された aggregation、`grace_hash` join の bucket 化、および並列 window パーティション化を高速化しました。chunk ごとのカラム hash を、ハードウェア CRC32C を使用するカーネルに置き換えています。[#106538](https://github.com/ClickHouse/ClickHouse/pull/106538) ([Harikrishnan Prabakaran](https://github.com/harikrishnan94)).
* x86-64-v4/v3 において、マルチターゲット自動 vectorization により、配列引数に対する `L1Distance`、`L2Distance`、`L2SquaredDistance`、`LinfDistance`、`cosineDistance` を最適化しました。非 const の配列引数については、実行時の指数を使って `std::pow` を使用する `LpDistance` を除き、これらすべてで compiler によって vectorized されたカーネルを利用できるようになりました。既存の AVX-512 および Sapphire Rapids の `BFloat16` 定数引数高速パスは、`L2Distance` と `cosineDistance` について維持されています。[#101310](https://github.com/ClickHouse/ClickHouse/pull/101310) ([Peng](https://github.com/fastio)).
* `{Norm}Distance` および `dotProduct` 関数のパフォーマンスを改善しました。[#106007](https://github.com/ClickHouse/ClickHouse/pull/106007) ([Nikita Taranov](https://github.com/nickitat)).
* `arrayNorm` 関数のパフォーマンスを改善しました。[#106211](https://github.com/ClickHouse/ClickHouse/pull/106211) ([Nikita Taranov](https://github.com/nickitat)).
* 一部のケースで `dotProduct` のパフォーマンスが向上しました。[#106210](https://github.com/ClickHouse/ClickHouse/pull/106210) ([Nikita Taranov](https://github.com/nickitat)).
* 配列長がベクトル化処理幅でちょうど割り切れる場合の、`Array(Float32)`、`Array(Float64)`、`Array(BFloat16)` に対する `L2Distance` および `cosineDistance` の AVX-512 const-left パスの性能を改善しました。[#104625](https://github.com/ClickHouse/ClickHouse/pull/104625) ([Sergey Kuznetsov](https://github.com/skuznetsov)).
* amd 向けの AVX-512 codegen を有効にし、`arrayDistance` の codegen も改善しました。[#106505](https://github.com/ClickHouse/ClickHouse/pull/106505) ([Nikita Taranov](https://github.com/nickitat)).
* `QBit` データ型に対する `L2DistanceTransposed` および `cosineDistanceTransposed` 関数の性能を改善しました。[#106701](https://github.com/ClickHouse/ClickHouse/pull/106701) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `encrypt`、`decrypt`、`tryDecrypt`、`aes_encrypt_mysql`、`aes_decrypt_mysql` 関数の性能を最大で 1 桁向上させ、BoringSSL から OpenSSL 3.x への移行 (24.4) で失われた性能を回復しました。[#107339](https://github.com/ClickHouse/ClickHouse/pull/107339) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* OpenSSL 3.x で暗黙的に行ごとに行われていた OpenSSL provider のルックアップを回避することで、`encrypt`、`decrypt`、`halfMD5` 関数の性能を改善しました。[#99105](https://github.com/ClickHouse/ClickHouse/pull/99105) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* AVX-512 を使用して複数の入力を並列にハッシュ化する `SHA1` の SIMD 実装を追加し、スループットを向上させました。[#105459](https://github.com/ClickHouse/ClickHouse/pull/105459) ([Joanna Hulboj](https://github.com/jh0x)).
* マルチバッファ `MD5` 実装向けに AArch64 ASIMD/NEON バックエンドを追加しました。[#105563](https://github.com/ClickHouse/ClickHouse/pull/105563) ([Venkata  Vineel ](https://github.com/vyalamar)).
* `MATERIALIZE PROJECTION` 実行時に projection の計算前にソース block をまとめることで、一時的な projection パーツの数と merge のオーバーヘッドを削減しました。5000 万行の table で約 3.4 倍高速化します。[#100047](https://github.com/ClickHouse/ClickHouse/pull/100047) ([Amos Bird](https://github.com/amosbird)).
* `ORDER BY` カラムに skip 索引がある `MergeTree` table で、part 書き込み時の不要なカラム並べ替えを回避することで `INSERT` レイテンシを削減しました (traces 系ワークロードで約 17%) 。[#101101](https://github.com/ClickHouse/ClickHouse/pull/101101) ([Amos Bird](https://github.com/amosbird)).
* Arrow の SIMD code path (ARM の NEON、x86 の SSE4.2/AVX2/AVX512) を有効にし、それらを使用して `BYTE_STREAM_SPLIT` でエンコードされた Parquet の `FLOAT`/`DOUBLE` カラムのデコードを高速化しました。[#106376](https://github.com/ClickHouse/ClickHouse/pull/106376) ([Raúl Marín](https://github.com/Algunenano)).
* `bloom_filter` 索引を持つ `LowCardinality` カラムの挿入性能を改善しました。[#106410](https://github.com/ClickHouse/ClickHouse/pull/106410) ([Michael Jarrett](https://github.com/EmeraldShift)).
* ディスクごとの thread pool を使用して、`DiskObjectStorageTransaction::copyFile` で blob コピーを並列化しました。[#105089](https://github.com/ClickHouse/ClickHouse/pull/105089) ([Asya Shneerson](https://github.com/asya-ch)).
* `file` や `s3` などの file 系 table function で `One` input format を使用する際に、ファイルの内容を読み込まないようにしました。[#105157](https://github.com/ClickHouse/ClickHouse/pull/105157) ([Yue Ni](https://github.com/niyue)).
* 動的シンボルを export しないようにすることで、macOS における `clickhouse` の起動を約 3 倍高速化しました。これにより、動的リンカーが起動のたびにそれらを処理する必要がなくなります。[#107768](https://github.com/ClickHouse/ClickHouse/pull/107768) ([Raúl Marín](https://github.com/Algunenano)).
* 起動時のファイルシステムキャッシュのloadingを、cache keyごとの冗長なディレクトリopenを避けることで高速化しました。[#107414](https://github.com/ClickHouse/ClickHouse/pull/107414) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 起動時のファイルシステムキャッシュのloadingを、ディレクトリ一覧取得の完了後に一覧取得用スレッドでもcacheメタデータを読み込めるようにし、スレッドの半分がidleのままにならないようにすることで高速化しました。[#107416](https://github.com/ClickHouse/ClickHouse/pull/107416) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同梱のWasmEdgeライブラリを更新し、起動のたびにグローバル初期化子でランダムなhashシークレットを生成しなくなったことで、`clickhouse`プロセスの起動overheadを削減しました。[#107869](https://github.com/ClickHouse/ClickHouse/pull/107869) ([Raúl Marín](https://github.com/Algunenano)).
* `MergeTree`の主キーとスキップ索引で、`ifNull`や`coalesce`が条件を包んでいるfilter、たとえば`ifNull(key = 0, 0)`や`coalesce(key = 0, 0)`でもgranuleを刈り込めるようになりました。こうしたpredicateは、`NULL`になり得る比較を確定的なブール値に変換するためにクエリジェネレータが出力することが多いものの、従来は索引解析から見て不透明だったため、granuleをスキップできませんでした。これは既存の`allow_key_condition_coalesce_rewrite`設定 (デフォルトで有効) を拡張するものです。[#106264](https://github.com/ClickHouse/ClickHouse/issues/106264)をクローズします。[#106272](https://github.com/ClickHouse/ClickHouse/pull/106272) ([Andy Zhao](https://github.com/andyzzhao)).
* `DateTime64`型に対するスキップ索引の評価で、26.6ではCPU使用量が低減されるはずです。[#107707](https://github.com/ClickHouse/ClickHouse/pull/107707) ([Shankar Iyer](https://github.com/shankar-iyer)).
* まれなtokenの処理を最適化し、複数token検索におけるテキスト索引解析の性能を向上しました。[#98226](https://github.com/ClickHouse/ClickHouse/pull/98226) ([Anton Popov](https://github.com/CurtizJ)).
* テキスト索引のposting list圧縮segmentにcacheを使用するようにしました。[#106299](https://github.com/ClickHouse/ClickHouse/pull/106299) ([Anton Popov](https://github.com/CurtizJ)).
* テーブルの大きな連続範囲を選択するクエリに対する汎用排除検索の性能を向上しました。[#93813](https://github.com/ClickHouse/ClickHouse/pull/93813) ([Michael Jarrett](https://github.com/EmeraldShift)).
* 同じendpointとbucketを持つ`S3` clientsでcacheを共有し、重複したリージョンdiscoveryを回避するようにしました。[#92482](https://github.com/ClickHouse/ClickHouse/issues/92482)をクローズします。[#96802](https://github.com/ClickHouse/ClickHouse/pull/96802) ([Andrey Zvonov](https://github.com/zvonand)).
* クエリに`has(<constant array>, <expr>)`が含まれている場合、可能であればアナライザはそのノードを、より高速な`in`実装を使う形にtransformします。[#97341](https://github.com/ClickHouse/ClickHouse/pull/97341) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `ThreadPool`で新しいjobがscheduleされたとき、任意のワーカースレッドではなく、直近でidleになったワーカースレッド (LIFO) を起こすようにしました。これにより、スレッドごとのアロケータcacheに起因するメモリ断片化を低減します。jobの処理順序は変わりません。[#100177](https://github.com/ClickHouse/ClickHouse/pull/100177) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 近似ランタイムフィルタとbloom filter indexesの性能を向上しました。[#100201](https://github.com/ClickHouse/ClickHouse/pull/100201) ([Christoph Viebig](https://github.com/cv4g)).
* `ASOF JOIN`で`parallel_hash` join algorithmを使えるようにし、異なる等価キー値ごとにbuildを並列化できるようにしました。従来、`ASOF`は無条件で`parallel_hash`の対象外でした。[#105375](https://github.com/ClickHouse/ClickHouse/pull/105375) ([Greg Maher](https://github.com/gregakinman)).
* 結果が空になることが分かっている空の入力がある場合、`INTERSECT`および`EXCEPT`クエリで無制限の入力を読み込まないようにしました。[#105393](https://github.com/ClickHouse/ClickHouse/pull/105393) ([Yue Ni](https://github.com/niyue)).
* 各種 `MemoryTracker` ブロッカーに `constinit` を追加しました。[#105490](https://github.com/ClickHouse/ClickHouse/pull/105490) ([Azat Khuzhin](https://github.com/azat)).
* 範囲チェック時の `rb_max` の繰り返し呼び出しを回避することで、`UInt64` 以外の `groupBitmap` 状態に対する `bitmapContains` の性能を改善しました。[#105960](https://github.com/ClickHouse/ClickHouse/pull/105960) ([Yue Ni](https://github.com/niyue)).
* 単一の Dictionary を参照する `LowCardinality` カラムで、不連続なクエリを高速化しました。[#103662](https://github.com/ClickHouse/ClickHouse/pull/103662) ([Ivan Babrou](https://github.com/bobrik)).
* ブロックが 1 行 בלבדの場合の `HashJoin` の probe に高速パスを追加しました。[#106008](https://github.com/ClickHouse/ClickHouse/pull/106008) ([Nikita Taranov](https://github.com/nickitat)).
* `SELECT ... FROM view(SELECT ... FROM remote(...)) WHERE ... ` のようなクエリの predicates が、リモートシャードに送信されるクエリに pushdown されるようになりました。最適化 `allow_push_predicate_ast_for_distributed_subqueries` では、table function のケースが考慮されていませんでした。[#105986](https://github.com/ClickHouse/ClickHouse/pull/105986) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `enable_join_transitive_predicates` をデフォルトで有効化しました。[#103724](https://github.com/ClickHouse/ClickHouse/pull/103724) ([Alexander Gololobov](https://github.com/davenger)).
* テキスト索引で関数 `multiSearchAny`、`multiSearchAnyUTF8`、`multiMatchAny` をサポートしました。あわせて、関数 `match` のテキスト索引解析も改善し、選択肢グループを含むパターンでより多くの granule をスキップできるようになりました。[#106279](https://github.com/ClickHouse/ClickHouse/pull/106279) ([Anton Popov](https://github.com/CurtizJ)).
* 初回の PREWHERE 選択後に導入された filter (predicate pushdown、ランタイムフィルタ、または明示的な PREWHERE とプランナーが設定した WHERE) を、`MergeTree` 読み取りの上に отдель отдельの Filter ステップとして残すのではなく、2 回目のオプティマイザーパスで既存の PREWHERE にマージできるようにしました。[#105445](https://github.com/ClickHouse/ClickHouse/pull/105445) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `QueryConditionCache` が、PREWHERE を部分的に通過する読み取りバッチ内であっても、個別に filter で除外された granule を記録するようになりました。これにより、同じ condition を持つ後続クエリで再読み取りされる mark 数を削減できます。[#105335](https://github.com/ClickHouse/ClickHouse/pull/105335) ([Han Fei](https://github.com/hanfei1991)).
* Keeper 設定 `nuraft_use_bg_thread_for_snapshot_io` を追加し、デフォルトで有効にしました。これにより、`NuRaft` は snapshot オブジェクトを Raft のワーカースレッドではなくバックグラウンドスレッドで読み込むようになります。[#106285](https://github.com/ClickHouse/ClickHouse/pull/106285) ([Antonio Andelic](https://github.com/antonio2368)).
* `KeeperMemoryStorage` を使用する ClickHouse Keeper で、受信した snapshot の適用時におけるピークメモリ使用量を削減しました。[#105851](https://github.com/ClickHouse/ClickHouse/pull/105851) ([Antonio Andelic](https://github.com/antonio2368)).
* LLVM/JIT の割り当てを専用の jemalloc アリーナに振り分けるようにしました。これにより、長寿命の JIT 管理用データと短命なクエリ割り当てが混在することで発生する RSS の断片化を軽減します。オブザーバビリティ向けに、新しい非同期メトリクス `jemalloc.jit_arena.active_bytes`、`jemalloc.jit_arena.dirty_bytes`、`CompiledExpressionCacheBytesMax`、`CompiledExpressionCacheCountMax` も追加しました。`SYSTEM DROP COMPILED EXPRESSION CACHE` は、基盤となる CHJIT インスタンスも破棄し、JIT アリーナをパージするようになりました。[#104113](https://github.com/ClickHouse/ClickHouse/pull/104113) ([Raúl Marín](https://github.com/Algunenano)).
* ネイティブ V3 リーダーで `Parquet` から疎な辞書エンコード済み `Nullable(String)` カラムを読み取る際に発生していた、過剰な memory reservation を修正しました。[#102805](https://github.com/ClickHouse/ClickHouse/pull/102805) ([Francisco](https://github.com/Milias)).
* 暗号化ディスク上で `CREATE TABLE ... CLONE AS (and REPLACE / ATTACH PARTITION ... FROM)` が、データをハードリンクせずコピーしてしまう問題を修正しました。 [#106731](https://github.com/ClickHouse/ClickHouse/pull/106731) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* クエリプランオプティマイザにおけるカーディナリティ推定を改善しました。決定論的な単一引数関数 (例: `toYear(date)`) によって生成されるカラムは、統計情報がないまま扱われるのではなく、引数の異なる値の数を上限として引き継ぐようになり、join の並べ替え精度が向上しました。 [#107757](https://github.com/ClickHouse/ClickHouse/pull/107757) ([Alexander Gololobov](https://github.com/davenger)).
* 高ログレート時の非同期ログの CPU オーバーヘッドを削減しました。各メッセージごとではなく、キューが空から非空に遷移したときにのみログ consumer に通知するようにしました。 [#107352](https://github.com/ClickHouse/ClickHouse/pull/107352) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* より多くの場面で、クエリ実行中の重複計算を削減しました。 [#106113](https://github.com/ClickHouse/ClickHouse/pull/106113) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* recursive CTE の結果処理を並列化しました。大規模な `WITH RECURSIVE` の結果に対する `GROUP BY` などの操作が、単一スレッドに制限されなくなりました。 [#107694](https://github.com/ClickHouse/ClickHouse/pull/107694) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ARM では NEON SIMD パス、x86 ではより広い AVX2 kernel を追加し、大文字小文字を区別しない substring 検索 (`positionCaseInsensitiveUTF8`, `ILIKE`, `multiSearchAnyCaseInsensitiveUTF8` などの関連関数) の性能を改善しました。 [#107882](https://github.com/ClickHouse/ClickHouse/pull/107882) ([Raúl Marín](https://github.com/Algunenano)).
* `FPC` 浮動小数点 codec で、ARM において約 16% 発生していたスループット低下を修正しました。この問題は、predictor table が `VectorWithMemoryTracking` を使用するようになった際に発生したものです。 [#108182](https://github.com/ClickHouse/ClickHouse/pull/108182) ([Groene AI](https://github.com/groeneai)).

<div id="267-improvement">
  #### 改善
</div>

* バックグラウンドの `MemoryWorker` が、現在のメモリ使用量とカーネルが利用可能として報告するメモリ量に基づき、サーバーの hard memory limit を定期的に更新するようになりました。これにより、ClickHouse は同じホスト上で動作するほかのプロセスのための余裕を確保できます。計算式は `(resident memory + system MemAvailable) * max_server_memory_usage_to_ram_ratio` です。同じ server setting `max_server_memory_usage_to_ram_ratio` で、起動時の上限と動的調整の両方を制御します。両方を無効にするには `0` に設定してください。静的な起動時／再読み込み時の上限のみ (以前のバージョンの動作) を維持するには、新しい server setting `memory_worker_dynamic_hard_limit` を `0` に設定してください。[#104964](https://github.com/ClickHouse/ClickHouse/pull/104964) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `PostgreSQL` プロトコルで C# PostgreSQL client をサポートしました。これにより [#18611](https://github.com/ClickHouse/ClickHouse/issues/18611) が解決されます。[#80785](https://github.com/ClickHouse/ClickHouse/pull/80785) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* mutations でアナライザを使用するようになりました。[#98884](https://github.com/ClickHouse/ClickHouse/pull/98884) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* CLI でのクエリのエコー出力をきめ細かく制御できるようになりました。`--echo` オプションはオプションのブール値を受け取るようになり、対話モードと batch mode の両方で動作します。新しいオプション `--echo-formatted` と `--echo-query-id` は、それぞれエコーされたクエリを整形するかどうか、および `query_id` を表示するかどうかを制御します。`--hilite`/`--highlight` オプションは、エコーされたクエリのハイライトも制御するようになりました。その副作用として、`--echo` はブール値オプションになったため、値を指定しない `--echo` の直後に位置引数のクエリを置くと、その値として扱われます。代わりに `--echo --query "..."` または `--echo=false` を使用してください。[#106191](https://github.com/ClickHouse/ClickHouse/pull/106191) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* データレイクのカタログで、schema evolution と同時実行の整合性チェックを併用できるようになりました。[#106102](https://github.com/ClickHouse/ClickHouse/pull/106102) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* datalake table engines でキャッシュディスクを利用できるようになりました。[#102017](https://github.com/ClickHouse/ClickHouse/pull/102017) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* `catalog_type = 'onelake'` を使用する `DataLakeCatalog` database での table データ読み取りを修正し、デフォルトで OneLake Blob endpoint (`.blob.fabric.microsoft.com`) を使用するようにしました。以前の DFS endpoint (`.dfs.fabric.microsoft.com`) の動作を維持するには、`onelake_use_blob_endpoint = false` を設定してください。[#106843](https://github.com/ClickHouse/ClickHouse/pull/106843) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `S3(Azure)Queue` setting `persistent_processing_node_ttl_seconds` のデフォルト値を `1 hour` から `6 hours` に変更しました (service の異常再起動などに伴うクリーンアップ時間を表します) 。以前のデフォルトは処理ノードの ttl としては問題ありませんでしたが、bucket lock の ttl にも使われており、こちらはより長時間保持される場合があるため、1 時間では不十分でした。[#106838](https://github.com/ClickHouse/ClickHouse/pull/106838) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `Iceberg` メタデータキャッシュのデフォルトサイズを 1 GB から 128 MB に縮小しました。[#106492](https://github.com/ClickHouse/ClickHouse/pull/106492) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `S3Queue` streaming task の `query_id` を、依存先の table insert に伝播するようにしました。[#106494](https://github.com/ClickHouse/ClickHouse/pull/106494) ([Christoph Wurm](https://github.com/cwurm)).
* `DataLakeCatalog` 経由で table をクエリする際に、`system.query_log` の `used_storages` に storage engine 名を設定するようになりました。[#100706](https://github.com/ClickHouse/ClickHouse/pull/100706) ([Melvyn Peignon](https://github.com/melvynator)).
* Iceberg の snapshots がどの `'operation'` とどの `'summary'` を持つかを確認できるようになりました。テストやデバッグに役立ちます。[#106246](https://github.com/ClickHouse/ClickHouse/pull/106246) ([Den Kalantaevskii](https://github.com/Diskein)).
* 最終的な `S3` の multipart upload リクエストを task tracker 経由で非同期に完了するようにし、finalize で直列に実行する代わりに、最後の part の upload と並行して処理できるようにしました。[#105487](https://github.com/ClickHouse/ClickHouse/pull/105487) ([Asya Shneerson](https://github.com/asya-ch)).
* テキスト索引のデフォルトパラメータを制御するための 4 つの新しい `MergeTree` テーブル設定 `text_index_dictionary_block_size`、`text_index_dictionary_block_frontcoding_compression`、`text_index_posting_list_block_size`、`text_index_posting_list_codec` を追加しました。これらの設定により、各索引定義で毎回パラメータを指定しなくても、テーブルレベルでテキスト索引の動作を調整できます。明示的に指定した索引ごとの argument は引き続き優先されます。[#100626](https://github.com/ClickHouse/ClickHouse/pull/100626) ([Anton Popov](https://github.com/CurtizJ)).
* projections が、`index_granularity` だけでなく、追加の `MergeTree` 設定 (圧縮、part フォーマット、シリアライゼーション) も上書きできるようにしました。これには、許可された設定の allow-list と検証が含まれます。[#101170](https://github.com/ClickHouse/ClickHouse/pull/101170) ([Amos Bird](https://github.com/amosbird)).
* projection の merge の進捗を公開するため、`system.merges` に `current_projection`、`current_projection_progress`、`projections_completed`、`projections_remaining` カラムを追加しました。[#102611](https://github.com/ClickHouse/ClickHouse/pull/102611) ([Amos Bird](https://github.com/amosbird)).
* 主キーカラムに対する `IN` サブクエリ付きの `PREWHERE` で、granule pruning に主キー索引が使われず、関連する granule だけでなく full table scan が発生していた問題を修正しました。[#102570](https://github.com/ClickHouse/ClickHouse/pull/102570) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* 関数 `h3PolygonToCells` が、`MultiPolygon` のすべての Polygon に対して最大配列サイズを適用し、基盤となる H3 ライブラリの戻りコードを検証し、空の結果を黙って返す代わりに `MultiLineString` argument を拒否するようになりました。[#106399](https://github.com/ClickHouse/ClickHouse/pull/106399) ([Raúl Marín](https://github.com/Algunenano)).
* ローカルの ClickHouse Keeper snapshots に関する情報を持つ、keeper 専用の新しい `system.keeper_snapshots` テーブルを追加しました。[#105571](https://github.com/ClickHouse/ClickHouse/pull/105571) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* ローカルの ClickHouse Keeper changelog (Raft log) ファイルに関する情報を持つ、keeper 専用の新しい `system.keeper_changelogs` テーブルを追加しました。[#105617](https://github.com/ClickHouse/ClickHouse/pull/105617) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* keeper 専用の `system.keeper_cluster` テーブルを追加しました。現在の Keeper から見た各 Raft クラスター member につき 1 行を持ちます。[#105646](https://github.com/ClickHouse/ClickHouse/pull/105646) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* watches 向けに、Keeper の profile event (server-side + client-side) をさらに追加しました。[#97703](https://github.com/ClickHouse/ClickHouse/issues/97703) をクローズします。[#105336](https://github.com/ClickHouse/ClickHouse/pull/105336) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `NuRaft` の未コミット log entry の受け入れ制限と append-entries の backward-probe throttling 向けの Keeper `coordination_settings` を追加しました。[#106108](https://github.com/ClickHouse/ClickHouse/pull/106108) ([Antonio Andelic](https://github.com/antonio2368)).
* `mysql` table function、`MySQL` table engine、`MySQL` データベースエンジン、dictionary `SOURCE(MYSQL)`、および named collections に `enable_compression` 設定を追加しました。有効にすると、ClickHouse は connection 上で転送されるすべてのデータに対して MySQL プロトコルレベルの圧縮をネゴシエートします。[#103229](https://github.com/ClickHouse/ClickHouse/pull/103229) ([Bernard Lim](https://github.com/bernardlim)).
* PostgreSQL ワイヤプロトコル経由で実行されるクエリのキャンセル遅延を短縮しました。`KILL QUERY` は、chunk 全体がクライアントに送信されるのを待たず、単一の chunk 内で出力のシリアライゼーションを中断できるようになりました。[#106535](https://github.com/ClickHouse/ClickHouse/pull/106535) ([Roman Vasin](https://github.com/rvasin)).
* MySQL ワイヤプロトコル経由で実行されるクエリのキャンセル遅延を短縮しました。`KILL QUERY` は、chunk 全体がクライアントに送信されるのを待たず、単一の chunk 内で出力のシリアライゼーションを中断できるようになりました。[#107228](https://github.com/ClickHouse/ClickHouse/pull/107228) ([Roman Vasin](https://github.com/rvasin)).
* MySQL ハンドシェイクにおける `auth_response` の長さの読み取りを修正しました。長さバイト `>= 128` が signed `char` として読み取られていたため、複数 GB の値として解釈されていました。[#107384](https://github.com/ClickHouse/ClickHouse/pull/107384) ([uwezkhan](https://github.com/uwezkhan)).
* `MaterializedPostgreSQL` で、精度が 76 を超える PostgreSQL の `numeric(p, 0)` 列 (たとえば 256 ビット整数に使われる `numeric(78, 0)`) を、"Precision too big" で失敗させる代わりに、ClickHouse の `Int256` にマッピングするようになりました。`Int256` に収まらない値は、明確なエラーで拒否されます。[#107431](https://github.com/ClickHouse/ClickHouse/pull/107431) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* TCP connection の確立に失敗した場合、クライアントに例外を送信するようにしました。[#107317](https://github.com/ClickHouse/ClickHouse/pull/107317) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `Avro` の `Fixed` フィールドを、8 ビット / 16 ビット / 32 ビット / 64 ビット整数バリアントに挿入できるようになりました。[#98139](https://github.com/ClickHouse/ClickHouse/pull/98139) ([Patrick Pichler](https://github.com/patrickpichler)).
* `AvroConfluent` フォーマットで、一時的な障害 (転送タイムアウト、接続拒否、DNS エラー、HTTP `5xx`/`408`/`429`) が発生した場合、最初のネットワーク障害で INSERT を中止するのではなく、Confluent スキーマレジストリ HTTP クライアントを指数バックオフ付きで再試行するようになりました。新しい設定 `format_avro_schema_registry_max_retries` (デフォルト `5`) および `format_avro_schema_registry_retry_initial_backoff_ms` (デフォルト `100`) でこのポリシーを制御します。スキーマ検証エラー (HTTP `409`、不正な Avro JSON) は引き続き致命的です。[#106661](https://github.com/ClickHouse/ClickHouse/pull/106661) ([Groene AI](https://github.com/groeneai)).
* `system.query_log.used_privileges` に、例外を送出しない `isGranted` 経路 (`checkAccessWithFilter`) を含む、付与済みのすべてのアクセスチェックの privileges を記録するようになりました。従来は、例外を送出するエントリポイント (`checkAccess` / `checkGrantOption`) 経由でチェックされた privileges のみが記録されていたため、`file` / `s3` / `azure` / `url` table functions を使う `DESCRIBE`、`CREATE TABLE AS`、および同様のクエリでは、`READ ON FILE` / `READ ON S3` / `READ ON AZURE` / `READ ON URL` が監査ログに記録されませんでした。アクセス制御の適用自体に変更はありません。[#104693](https://github.com/ClickHouse/ClickHouse/pull/104693) ([Alexey Bakharew](https://github.com/alexbakharew)).
* MergeTree ファミリーのテーブルに格納されたデータの総非圧縮サイズを報告する非同期メトリクス `TotalUncompressedBytesOfMergeTreeTables` と `TotalUncompressedBytesOfMergeTreeTablesSystem` を追加しました。[#106364](https://github.com/ClickHouse/ClickHouse/pull/106364) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* サーバー全体のメモリ制限に達したタイミングを運用担当者が監視できるよう、プロファイルイベント `GlobalMemoryLimitExceeded` を追加しました。[#106466](https://github.com/ClickHouse/ClickHouse/pull/106466) ([Sacheendra Talluri](https://github.com/sacheendra)).
* `executable_pool` UDF 向けに `ExecutableUserDefinedFunction*` `ProfileEvents` カウンターを追加しました。呼び出しごとの実行回数、実時間とプール待機時間、子プロセスの CPU 使用量とピークメモリ、stdin/stdout のバイト数が `system.query_log.ProfileEvents` で確認できるようになりました。[#105010](https://github.com/ClickHouse/ClickHouse/pull/105010) ([Xu Jia](https://github.com/XuJia0210)) [#105618](https://github.com/ClickHouse/ClickHouse/pull/105618) ([Ilya Andreev](https://github.com/andreev-io)).
* 非同期メトリクス `ExecutableUserDefinedFunctionMemoryResidentBytes` および `ExecutableUserDefinedFunctionProcesses` を追加しました。これらは、`executable` および `executable_pool` user-defined function について、子孫プロセスや待機中のプールワーカーを含む常駐メモリ (`VmRSS`) と稼働中プロセス数を報告します。[#107300](https://github.com/ClickHouse/ClickHouse/pull/107300) ([Hanzi Jiang](https://github.com/HanziJiang)).
* Linux 専用の 3 つの async メトリクス `MemoryThreadStacksCount`、`MemoryThreadStacksVirtual`、`MemoryThreadStacksResident` を追加しました。これらは pthread スタックメモリを、その他の匿名メモリとは分けて報告します。`asynchronous_metrics_enable_heavy_metrics` で有効になります。Linux 5.17+ (`prctl(PR_SET_VMA_ANON_NAME)`) と、読み取り可能な `/proc/self/smaps` が必要です。これらの条件を満たさない場合、メトリクスは出力されず、その制限は `system.warnings` に記録されます。[#106230](https://github.com/ClickHouse/ClickHouse/pull/106230) ([Raúl Marín](https://github.com/Algunenano)).
* macOS で `MemoryThreadStacks*` 非同期メトリクス (スレッドスタックの resident/virtual サイズと本数) を利用できるようにしました。[#107752](https://github.com/ClickHouse/ClickHouse/pull/107752) ([Raúl Marín](https://github.com/Algunenano)).
* テーブルエンジンに埋め込みドキュメントが追加され、新しい `system.table_engines` テーブルの `description`、`syntax`、`examples`、`introduced_in`、`related` カラムを通じて内部情報を確認できるようになりました。[#106177](https://github.com/ClickHouse/ClickHouse/pull/106177) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* データベースエンジンに埋め込みドキュメントが追加され、新しい `system.database_engines` テーブルの `description`、`syntax`、`examples`、`introduced_in`、`related` カラムを通じて内部情報を確認できるようになりました。[#106178](https://github.com/ClickHouse/ClickHouse/pull/106178) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* データ型に埋め込みドキュメントが追加され、新しい `system.data_type_families` テーブルの `description`、`syntax`、`examples`、`introduced_in`、`related` カラムを通じて内部情報を確認できるようになりました。[#106180](https://github.com/ClickHouse/ClickHouse/pull/106180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 入力/出力フォーマットに埋め込みドキュメントが追加され、新しい `system.formats` テーブルの `description`、`examples`、`introduced_in`、`related` カラムを通じて内部情報を確認できるようになりました。[#106181](https://github.com/ClickHouse/ClickHouse/pull/106181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 集約関数コンビネータに埋め込みドキュメントが追加され、新しい `system.aggregate_function_combinators` テーブルの `description`、`syntax`、`examples`、`introduced_in`、`related` カラムを通じて内部情報を確認できるようになりました。[#106185](https://github.com/ClickHouse/ClickHouse/pull/106185) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client`、`clickhouse-local`、および埋め込み client に `--chime` コマンドラインオプションを追加しました。クエリの実行時間が少なくとも N 秒に達したあとで終了すると (成功時・エラー時を問いません) 、client は ASCII の `BEL` 制御文字 (`\x07`) を stderr に書き込みます。音を鳴らすか画面を点滅させるかは、ユーザー設定に応じて端末が判断します。既定では 5 秒のしきい値で有効です。任意のしきい値を設定するには `--chime N` を、無効にするには `--chime 0` を指定します。[#92718](https://github.com/ClickHouse/ClickHouse/issues/92718) をクローズしました。[#104545](https://github.com/ClickHouse/ClickHouse/pull/104545) ([Groene AI](https://github.com/groeneai)).
* `clickhouse-client` では、端末が bracketed paste をサポートしていない場合でも、貼り付けた複数行クエリ内の改行が、行ごとに継続プロンプトへ切り替わるのではなく、同じ編集バッファにまとめられるようになりました。貼り付けたクエリは 1 つのプロンプト配下に保持され、矢印キーで行をまたいで移動できます。これは一般的な TTY のバッファ付き貼り付け動作に依存する、ベストエフォートの改善です。[#104299](https://github.com/ClickHouse/ClickHouse/pull/104299) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、構文ハイライトが無効 (`--highlight 0`) な場合でも動作するようになりました。[#106665](https://github.com/ClickHouse/ClickHouse/pull/106665) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client`/`clickhouse-local` に、MySQL 形式の runtime pager 制御を追加しました。[#105706](https://github.com/ClickHouse/ClickHouse/pull/105706) ([Azat Khuzhin](https://github.com/azat)).
* `clickhouse-client` が UTF-8 以外の端末にも対応するようになりました。端末の文字エンコーディングが UTF-8 でない場合 (たとえば `LANG=C` のとき) 、`Pretty` フォーマットは、端末表示を乱すおそれのある Unicode の罫線文字を出力する代わりに、ASCII のグリッド罫線にフォールバックします。[#106213](https://github.com/ClickHouse/ClickHouse/pull/106213) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client` の `Hello` パケット処理で、server から渡される表示用文字列 (server 名、time zone、表示名、password ルールの pattern とメッセージ) をサニタイズし、悪意のある server が client にそのまま表示されるバイト列を注入できないようにしました。あわせて、無制限な割り当てを防ぐため、これらのサイズにも上限を設けました。[#105243](https://github.com/ClickHouse/ClickHouse/pull/105243) ([Raúl Marín](https://github.com/Algunenano)).
* Web UI では、クエリが `FORMAT PNG` のような image 出力フォーマットを使用している場合、生データ bytes を table として表示する代わりに、結果を image として表示するようになりました。[#107638](https://github.com/ClickHouse/ClickHouse/pull/107638) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `output_format_pretty_use_nbsp_for_padding` setting を追加しました。`output_format_pretty_grid_charset` が `UTF-8` の場合、table スタイルの `Pretty` フォーマットで table レイアウトの padding を `U+00A0` NO-BREAK SPACE として描画します。これにより、通常のスペースを詰めてしまうツールでも、コピーした `Pretty` 出力で table の位置合わせを維持しやすくなります。この setting はデフォルトで無効で、`ASCII` charset の出力では通常のスペースを使用します。[#103559](https://github.com/ClickHouse/ClickHouse/pull/103559) ([Ashrith Bandla](https://github.com/ashrithb)).
* universal install script が、Linux と macOS で `clickhousectl` を `~/.local/bin` に `chctl` の symlink とともにインストールするようになりました。スキップするには `CLICKHOUSE_ONLY=1` を設定してください。[#105399](https://github.com/ClickHouse/ClickHouse/pull/105399) ([Alasdair Brown](https://github.com/sdairs)).
* `curl https://clickhouse.com/ | sh` で ClickHouse をインストールする際、現在のディレクトリにすでに `clickhouse` binary が存在すると断続的に発生していた、誤検知の `Syntax error: Unterminated quoted string` を修正しました。[#106417](https://github.com/ClickHouse/ClickHouse/pull/106417) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ウェブターミナルが開いているときに `play.html` ページの左パネルの高さを修正し、下部の端末トグルボタンが見えたままになるようにしました。[#105087](https://github.com/ClickHouse/ClickHouse/pull/105087) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI で、実行後に唯一のクエリが選択されないようにしました。[#105711](https://github.com/ClickHouse/ClickHouse/pull/105711) ([Joey Yu](https://github.com/itsjoeoui)).
* Web SQL UI で、クエリの高さが現在の editor の高さを最大 30% 上回る場合に、クエリエディタを展開するようになりました。[#105713](https://github.com/ClickHouse/ClickHouse/pull/105713) ([Joey Yu](https://github.com/itsjoeoui)).
* Web UI では、左パネルを展開した際に下部メニューのアイコン (ウェブターミナルと GitHub) を横並びにし、データベースとテーブルの一覧により多くの縦方向のスペースを確保するようにしました。 [#106427](https://github.com/ClickHouse/ClickHouse/pull/106427) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI (`play.html`) で、`Escape` キーを押すと現在選択中の結果テーブルのセルが非アクティブになるようになりました。 [#107777](https://github.com/ClickHouse/ClickHouse/pull/107777) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web SQL UI (Play) のデータベースパネルを改善しました。データベースアイコンのツールチップ、パネルを非表示にするボタン、データベース名/テーブル名全体をクリック可能にする変更、およびスクロールバー表示時にパネル幅がずれる問題の修正が含まれます。 [#108013](https://github.com/ClickHouse/ClickHouse/pull/108013) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 任意の割り当てで `MEMORY_LIMIT_EXCEEDED` を送出できるようにするサーバー設定 (`min_allocation_size_to_throw_on_memory_limit`) を追加しました。これにより OOM の防止に役立つはずです。 [#105265](https://github.com/ClickHouse/ClickHouse/pull/105265) ([Azat Khuzhin](https://github.com/azat)).
* SSH で `NONE` 認証を許可しました (`no_password` ユーザーにパスワードを求めないようにします) 。 [#105476](https://github.com/ClickHouse/ClickHouse/pull/105476) ([Azat Khuzhin](https://github.com/azat)).
* `clickhouse su` で、権限を落とす前に補助グループの一覧をリセットするようにし、`/bin/su` および `sudo` の動作に合わせました。これまでは、権限を落としたプロセスが呼び出し元の補助グループを継承していました。 [#105247](https://github.com/ClickHouse/ClickHouse/pull/105247) ([Raúl Marín](https://github.com/Algunenano)).
* 数値判定関数 (`isFinite`, `isNaN`) に `BFloat16` のサポートを追加しました。 [#105391](https://github.com/ClickHouse/ClickHouse/pull/105391) ([Mohamed Hussain S](https://github.com/mohhddhassan)).
* polygon dictionaries (`polygon_index_cell`, `polygon_index_each`) のメモリ使用量を削減し、`system.dictionaries.bytes_allocated` がそれらの構築するルックアップ索引を正しく反映するようにしました。 [#105431](https://github.com/ClickHouse/ClickHouse/pull/105431) ([Raúl Marín](https://github.com/Algunenano)).
* パーティション割り当て後も短いポーリング間隔を使い続けていた Kafka table engine のコンシューマーを修正し、設定された `kafka_poll_timeout_ms` に戻るようにしました。これにより、過剰な空ポーリング、より小さい挿入パート、rebalance 後の余分な merge オーバーヘッドを回避します。 [#100431](https://github.com/ClickHouse/ClickHouse/pull/100431) ([sugaf1204](https://github.com/sugaf1204)).
* クエリプランで未使用カラムを削除する際、カラムを名前ではなく位置で識別するようにしました。これにより、重複したカラム名が存在する場合でも未使用カラムの削除が可能になります。 [#100586](https://github.com/ClickHouse/ClickHouse/pull/100586) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* レプリケーション対応エンジンに対して `table_readonly` を使おうとした場合に、ClickHouse が適切な例外を送出するようになりました。また、この設定に関連する DDLクエリ (および `DatabaseReplicated`) の例外処理も改善されています。 [#100950](https://github.com/ClickHouse/ClickHouse/pull/100950) ([alesapin](https://github.com/alesapin)). `OPTIMIZE TABLE ... ON CLUSTER` やその他の DDL は、ターゲットテーブルに `table_readonly = 1` が設定されていても、もうハングしません。この設定は新しい専用のエラーコード `TABLE_IS_PERMANENTLY_READ_ONLY` を送出するようになり、`DDLWorker` はこれを再試行不可として扱います (`ReplicatedMergeTree` の一時的な ZooKeeper 切断時に発生する一過性の `TABLE_IS_READ_ONLY` とは区別されます) 。また、`table_readonly` 設定は `ReplicatedMergeTree` に対して、作成時にも `ALTER MODIFY SETTING` 経由でも、明示的に拒否されるようになりました。 [#97652](https://github.com/ClickHouse/ClickHouse/issues/97652) の後続対応です。 [#105109](https://github.com/ClickHouse/ClickHouse/pull/105109) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ターゲットテーブルの置き換え後 (たとえば `EXCHANGE TABLES` や削除して再作成した場合) に `UNKNOWN_TABLE` で失敗することがあったリフレッシャブルmaterialized view の refresh を修正しました。refresh は古い UUID に依存せず、名前でターゲットテーブルを解決するようになりました。[#102724](https://github.com/ClickHouse/ClickHouse/pull/102724) ([Seva Potapov](https://github.com/seva-potapov)).
* 設定 `wait_for_part_commit_in_dependent_materialized_views` (デフォルトは `false`) を追加しました。materialized view の `SELECT` が自身のソーステーブルを再度読み込む場合 (たとえばソースに対する `INNER JOIN` を介する場合) 、依存 view の実行時点では挿入中の part がまだ commit されていないため、カスケード処理でその時点の行を取りこぼすことがありました。この設定を有効にすると、依存 view が実行される前に part を commit するため、処理中の行も参照できるようになりますが、その代償として挿入の並列度は低下します。[#105943](https://github.com/ClickHouse/ClickHouse/pull/105943) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `tryDeserialize` で致命的なエラー (たとえば `MEMORY_LIMIT_EXCEEDED`) を握りつぶさないようにしました。[#106808](https://github.com/ClickHouse/ClickHouse/pull/106808) ([Azat Khuzhin](https://github.com/azat)).
* `InverseDictionaryLookupPass` で、`CREATE TEMPORARY TABLE` の権限を遅延チェックするようにしました。[#107098](https://github.com/ClickHouse/ClickHouse/pull/107098) ([Azat Khuzhin](https://github.com/azat)).
* `serialize_query_plan = 1` が設定され、定数 argument を持つラムダ (たとえば `arrayMap(t -> t.2, ...)`) を含む distributed queries で発生していた `ILLEGAL_TYPE_OF_ARGUMENT` エラーを修正しました。`ActionsDAG` の `INPUT` ノードにある定数カラムが、クエリプランのシリアライゼーション時にも保持されるようになりました。[#107124](https://github.com/ClickHouse/ClickHouse/pull/107124) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `contingency`、`cramersV`、`cramersVBiasCorrected`、`theilsU` の aggregate functions の状態のデシリアライゼーションで、保存されたカウントが整合性のある contingency table を構成していることを検証するようになり、そうでない場合は `CORRUPTED_DATA` 例外を送出します。[#106899](https://github.com/ClickHouse/ClickHouse/issues/106899) をクローズしました。[#107185](https://github.com/ClickHouse/ClickHouse/pull/107185) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `arrow::Status` でラップされた例外について、元の error codes を保持するようにしました。[#107267](https://github.com/ClickHouse/ClickHouse/pull/107267) ([Azat Khuzhin](https://github.com/azat)).
* 静的な server configuration (`users.xml`) で定義された quota で `keyed_by_normalized_query_hash` をサポートし、既存の `CREATE QUOTA ... KEYED BY normalized_query_hash` DDL syntax と整合するようにしました。[#107654](https://github.com/ClickHouse/ClickHouse/pull/107654) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 互換性設定は廃止された設定を適用しなくなったため、それらを変更済みとしてマークしたり、廃止された設定に関する警告を出したりしなくなりました。[#107737](https://github.com/ClickHouse/ClickHouse/pull/107737) ([Maxim Orlovsky](https://github.com/UberDever)).
* 非同期 INSERT では、`trace`/`debug` レベルで `query_id` の完全な一覧をログ出力しなくなりました。これは 26.2 以降、非同期 INSERT トラフィックの多い services で `text_log` を肥大化させる可能性があったためです。詳細な行は現在 `test` レベルで出力されます。[#107852](https://github.com/ClickHouse/ClickHouse/pull/107852) ([Sema Checherinda](https://github.com/CheSema)).
* ファイルシステムキャッシュの改善: 無効化された priority エントリが `KeyMetadata` を pin しないようにしました。[#106387](https://github.com/ClickHouse/ClickHouse/pull/106387) のフォローアップです。[#107903](https://github.com/ClickHouse/ClickHouse/pull/107903) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `FileCache` のメトリクスを改善しました。[#106116](https://github.com/ClickHouse/ClickHouse/pull/106116) ([Kseniia Sumarokova](https://github.com/kssenii)).
* スタックトレースが実際には空の場合、例外メッセージで "Stack trace (when copying this message, always include the lines below):" という前置きを表示しないようにしました。 [#106524](https://github.com/ClickHouse/ClickHouse/pull/106524) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 非常に大きなオフセットに対するファイルシステムキャッシュの境界アラインメント計算時に、`roundUpToMultiple` で発生しうる overflow を修正しました。 [#92579](https://github.com/ClickHouse/ClickHouse/pull/92579) ([Bharat Nallan](https://github.com/bharatnc)).
* `EXPLAIN SYNTAX` が、explain 出力内で演算子を一貫して関数呼び出しとして整形するようになりました (たとえば `1 + 2` ではなく `plus(1, 2)`) 。 [#94681](https://github.com/ClickHouse/ClickHouse/pull/94681) ([Mohamed Abdelhalim ](https://github.com/1abdelhalim)).
* error メッセージ内の table 名候補を改善しました。同じ名前そのものは候補に出さなくなり、候補に database 名も含めるようになりました (例: "Maybe you meant `other_db.my_table`?") 。 [#95116](https://github.com/ClickHouse/ClickHouse/pull/95116) ([Mathuranath Metivier](https://github.com/matt-metivier)).
* `FROM` clause のないクエリで未解決の Identifier がある場合の error メッセージを改善し、`FROM` clause を追加するよう案内するようにしました。 [#101769](https://github.com/ClickHouse/ClickHouse/pull/101769) ([Yash ](https://github.com/Onyx2406)).
* 繰り返される processor chain を compact に表示する `EXPLAIN PIPELINE` オプションを追加しました。 [#104662](https://github.com/ClickHouse/ClickHouse/pull/104662) ([Yue Ni](https://github.com/niyue)).
* 構文 error メッセージの構築時に発生していた heap-buffer-overflow の読み取り (`parseQuery.cpp` 経由の `UTF8::computeWidthImpl`) を修正しました。これは、パーサーが最初のセミコロンまたはストリーム終端トークンより前までバックトラックした際に発生していました。release builds では近傍の heap メモリのバイト列が表示される error に混入し、ASan builds では異常終了していました。 [#105086](https://github.com/ClickHouse/ClickHouse/pull/105086) ([Groene AI](https://github.com/groeneai)).
* 互換性設定 `file_like_engine_default_partition_strategy` で、hive パーティション方式をデフォルトにしました。 [#86746](https://github.com/ClickHouse/ClickHouse/pull/86746) ([Kseniia Sumarokova](https://github.com/kssenii)).
* macOS で thread stack をより大きい 8 MiB にして Linux のデフォルトに合わせ、JIT コンパイル中の stack overflow によるまれな server クラッシュを修正しました。 [#107033](https://github.com/ClickHouse/ClickHouse/pull/107033) ([Raúl Marín](https://github.com/Algunenano)).
* `clickhouse-local` の一時ストレージサイズ上限は、1 GiB にハードコードされなくなりました。デフォルトは 1 TiB に引き上げられ、`max_temporary_data_on_disk_size` サーバー設定で構成できます。 [#106689](https://github.com/ClickHouse/ClickHouse/pull/106689) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-disks` に `read-checksums` コマンドを追加しました。`MergeTreeDataPart` の `checksums.txt` ファイルを読み取り、人間が読みやすいタブ区切りの table として出力します。 [#106901](https://github.com/ClickHouse/ClickHouse/pull/106901) ([Asya Shneerson](https://github.com/asya-ch)).
* `clickhouse-disks` に `read-bitmap` コマンドを追加しました。 [#107834](https://github.com/ClickHouse/ClickHouse/pull/107834) ([murphy-4o](https://github.com/murphy-4o)).
* Chdig: セキュアな接続のために TLS を有効化しました (従来は "unknown setting `skip_verify`" または "connection reset by peer" のいずれかが発生していました) 。 [#105864](https://github.com/ClickHouse/ClickHouse/pull/105864) ([Azat Khuzhin](https://github.com/azat)).
* [`chdig` v26.5.1](https://github.com/azat/chdig/releases/tag/v26.5.1)。 [#105918](https://github.com/ClickHouse/ClickHouse/pull/105918) ([Azat Khuzhin](https://github.com/azat)).
* [`chdig` v26.6.1](https://github.com/azat/chdig/releases/v26.6.1) - `{asynchronous_,}metric_log`、クエリパターン、ヒートマップ、ディスクに保存された logs/traces に対応しました (以前は1時間分の traces で >40GiB を使用することがありました) 。[#107678](https://github.com/ClickHouse/ClickHouse/pull/107678) ([Azat Khuzhin](https://github.com/azat)).
* サーバー設定 (`programs/server/config.xml`) で `keep_alive_timeout` が 30 に設定されるようになりました (従来は 10) 。これにより、ドキュメントおよび実装上の実際のデフォルト値と整合します。[#107779](https://github.com/ClickHouse/ClickHouse/pull/107779) ([Dan Checkoway](https://github.com/dcheckoway)).
* サーバー設定 `disk_connections_rcvbuf` のデフォルト値が `0` (kernel TCP autotuning) から `204800` (200 KB) に変更され、オブジェクトストレージ (`S3`/`Azure`/`GCS`) のディスクへの接続におけるソケットごとの TCP 受信バッファの上限が設定されました。[#107859](https://github.com/ClickHouse/ClickHouse/pull/107859) ([Sema Checherinda](https://github.com/CheSema)).
* `PREWHERE` オプティマイザは、選択性を見積もる前に同じカラム集合を参照する conjuncts をグループ化するようになりました。これにより、`a > 2500 AND a < 2502` のような条件は、2つの独立した predicates ではなく、1つの結合された range としてまとめて評価され、より正確に選択性を推定できます。[#106337](https://github.com/ClickHouse/ClickHouse/pull/106337) ([Han Fei](https://github.com/hanfei1991)).
* silk fiber 対応の secure/plain socket 実装を追加しました。[#107680](https://github.com/ClickHouse/ClickHouse/pull/107680) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `nested` 関数で、文字化けしたエラーメッセージ (引数の順序が入れ替わっていた) とタイプミスを修正しました。[#108031](https://github.com/ClickHouse/ClickHouse/pull/108031) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-disks` に、指定した path に sed 式をインプレースで適用する `sed` コマンドを追加しました。[#107131](https://github.com/ClickHouse/ClickHouse/pull/107131) ([Asya Shneerson](https://github.com/asya-ch)).
* `MaterializedPostgreSQL` データベースエンジンに、作成時設定 `materialized_postgresql_use_extended_date_and_time_types` を追加しました。デフォルトでは (有効時) 、PostgreSQL の `date`/`timestamp` カラムは `Date32`/`DateTime64` として推論されます。`CREATE DATABASE` 時にこれを `0` に設定すると、より狭い `Date`/`DateTime` 型として推論されます。[#107428](https://github.com/ClickHouse/ClickHouse/pull/107428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* `tryN` サフィックスが付いたデタッチされたパーツを削除できるようにしました。[#58957](https://github.com/ClickHouse/ClickHouse/pull/58957) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* 並列レプリカ実行時に、ネストされたサブクエリ内で重複する projection alias (たとえば `SELECT *, day + 365 AS day`) を含むクエリで発生していた `MULTIPLE_EXPRESSIONS_FOR_ALIAS` 例外を修正しました。[#80310](https://github.com/ClickHouse/ClickHouse/pull/80310) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* セミコロンの後に comment がある形で終わるクエリに対して、`splitMultipartQuery` が "Empty query" エラーを返す不具合を修正しました。[#85491](https://github.com/ClickHouse/ClickHouse/pull/85491) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `ARRAY JOIN` に関する不具合を修正しました。`LowCardinality` の Numeric types を使用している場合に、`Function writeSlice expects same column types for GenericArraySlice and GenericArraySink` 例外が発生していました (issue [#57243](https://github.com/ClickHouse/ClickHouse/issues/57243)) 。[#91784](https://github.com/ClickHouse/ClickHouse/pull/91784) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 新しいアナライザで、定数カラムを `DISTINCT` および `ORDER BY` と併用した `LIMIT BY` 使用時に発生する `NOT_FOUND_COLUMN_IN_BLOCK` 例外を修正しました。[#93195](https://github.com/ClickHouse/ClickHouse/pull/93195) ([Ashrith Bandla](https://github.com/ashrithb)).
* `data_type_default_nullable = 1` で、かつテーブルを `Replicated` database 内または `ON CLUSTER` 経由で作成した場合に、`NOT NULL` カラムが暗黙的に `Nullable` として作成されてしまう問題を修正しました。[#97572](https://github.com/ClickHouse/ClickHouse/pull/97572) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Hive Metastore との通信時に発生する TTransportException エラーに対処するため、自動リトライ機構と再接続ロジックを追加し、HiveCatalog connection の安定性を改善しました。[#98471](https://github.com/ClickHouse/ClickHouse/pull/98471) ([Dmitriy Borisenko](https://github.com/otselnik)).
* `nested` 関数 (`ARRAY JOIN` の内部で使用) がカラム型から `LowCardinality` を取り除いてしまい、出力で `Array(LowCardinality(String))` が `Array(String)` になってしまう問題を修正しました。[#95582](https://github.com/ClickHouse/ClickHouse/issues/95582) をクローズします。[#98974](https://github.com/ClickHouse/ClickHouse/pull/98974) ([Yash ](https://github.com/Onyx2406)).
* 並列レプリカを有効にしたクエリで `url`、`s3`、または同様の table function を使用した際に発生する "Distributed task iterator is not initialized" 例外を修正しました。[#100146](https://github.com/ClickHouse/ClickHouse/pull/100146) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* external ツール (例: Spark) によって format version が更新された Iceberg tables の読み取り時に発生する論理エラー例外を修正しました。[#100407](https://github.com/ClickHouse/ClickHouse/pull/100407) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `like`、`ilike`、`notLike`、`notILike`、`match` 関数が、定数でない needle を伴う定数 haystack (例: `'foo' LIKE pattern_column`) をサポートするようになりました。これまでは `ILLEGAL_COLUMN` が発生していました。[#100479](https://github.com/ClickHouse/ClickHouse/pull/100479) ([Yash ](https://github.com/Onyx2406)).
* view が整数カラムを `Bool` カラムにマッピングしている場合に、`query_plan_enable_optimizations = 0` を指定した `MaterializedView` クエリで返される行数が誤っていた問題を修正しました。[#100692](https://github.com/ClickHouse/ClickHouse/pull/100692) ([Maksim Moisiuk](https://github.com/Maximus5)).
* PREWHERE optimization が有効な状態で、ORC data files を含む Iceberg tables を読み取る際に発生する例外 (`LOGICAL_ERROR: 'PREWHERE passed to format that doesn't support it'`) を修正しました。[#101206](https://github.com/ClickHouse/ClickHouse/pull/101206) ([Groene AI](https://github.com/groeneai)).
* RestCatalog の競合状態を修正しました。[#101216](https://github.com/ClickHouse/ClickHouse/pull/101216) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* 通常の projection を持つ table 上の VIEW から select する際に発生する `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#101218](https://github.com/ClickHouse/ClickHouse/pull/101218) ([Amos Bird](https://github.com/amosbird)).
* file が削除されて再作成されたときに、FileLog で古いメタデータが残る問題を修正しました。[#101408](https://github.com/ClickHouse/ClickHouse/pull/101408) ([Azat Khuzhin](https://github.com/azat)).
* `RIGHT`/`LEFT JOIN` が別の table とカンマ結合 (cross) されている場合 (例: `t1 RIGHT JOIN t2 ON t1.c = t2.c, t3`) に、join の並べ替えによって不一致の行が欠落してしまう問題を修正しました。以前は、クエリは outer join の結果ではなく inner join の結果を返していました。[#101684](https://github.com/ClickHouse/ClickHouse/pull/101684) ([Groene AI](https://github.com/groeneai)).
* `EXPLAIN INSERT INTO ... SELECT ... FORMAT ...` において、`FORMAT` clause が `EXPLAIN` の出力に適用されず、`INSERT` によって消費されてしまう問題を修正しました。[#101772](https://github.com/ClickHouse/ClickHouse/pull/101772) ([Yash ](https://github.com/Onyx2406)).
* table レベルの `default_compression_codec` setting が明示的に設定されている場合に、`MergeTree` パーツで誤った圧縮 codec が選択される問題を修正しました。INSERT 時、merge 中、および projection 用に書き込まれるパーツで、table レベルの setting ではなく server 全体の default codec が使われていました (完全削除 mutation によって生成される空の part も今回の修正対象に含まれます) 。[#101784](https://github.com/ClickHouse/ClickHouse/pull/101784) ([Yash ](https://github.com/Onyx2406)).
* `max_bytes_per_second`、`max_cpus` などのワークロード設定で、負の `Float64` 値 (例: `-100.5`) を拒否するようにしました。以前は負の整数しか検証されておらず、その結果、負の浮動小数点数によって壊れた scheduler node が気付かれないまま作成される可能性がありました。[#101825](https://github.com/ClickHouse/ClickHouse/issues/101825) をクローズします。[#101842](https://github.com/ClickHouse/ClickHouse/pull/101842) ([Groene AI](https://github.com/groeneai)).
* JOIN 内で aggregation を含む VIEW が関与するクエリの実行時に発生することがあった `LOGICAL_ERROR` ("Port is not connected", code 49) を修正しました。[#102574](https://github.com/ClickHouse/ClickHouse/pull/102574) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* default 以外のシリアライゼーションを持つカラムに対する mutation 後に、part のメタデータが不整合になる問題を修正しました。[#102817](https://github.com/ClickHouse/ClickHouse/pull/102817) ([Eduard Karacharov](https://github.com/korowa)).
* mutation の実行前にメタデータを更新するよう修正し、[#96806](https://github.com/ClickHouse/ClickHouse/issues/96806) を解消しました。[#102882](https://github.com/ClickHouse/ClickHouse/pull/102882) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* 同時実行中の INSERT があると SELECT クエリが大幅に遅くなる問題を修正しました。以前は INSERT pipeline が、実際にはほとんどの slots を使わない場合でも、クエリ開始時に `max_threads` まで CPU slots を予約していたため、同時実行中の SELECT が飢餓状態になっていました。CPU slot の割り当ては需要駆動型になり、pipeline は実際に並列化可能な作業を push するときにのみ slots をリクエストします。これは同時実行制御と、ワークロード向けのプリエンプティブ CPU scheduler の両方に適用されます。新しい server setting `concurrent_threads_lazy_allocation` (default は `true`) は rollback の手段として機能します。[#102928](https://github.com/ClickHouse/ClickHouse/pull/102928) ([Seva Potapov](https://github.com/seva-potapov)).
* `Nullable(Tuple(...))` カラムから抽出した subcolumns の読み取り時における `NULL` の伝播を修正しました。たとえば `tup Nullable(Tuple(s Nullable(String)))` では、`SELECT tup.s` が、外側の tuple が `NULL` の行で garbage values ではなく正しく `NULL` を返すようになりました。これは `NULL` を表現できるすべての要素型、すなわち `Nullable`、`Dynamic`、`Variant`、`LowCardinality(Nullable(...))` を対象としています。[#105356](https://github.com/ClickHouse/ClickHouse/issues/105356) をクローズしました。[#102942](https://github.com/ClickHouse/ClickHouse/pull/102942) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Native format でクライアントから渡されたデータが truncated している、または不正な形式である場合に、`LOGICAL_ERROR` ではなく `INCORRECT_DATA` を送出するようにしました。[#102975](https://github.com/ClickHouse/ClickHouse/pull/102975) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* ObjectStorage の読み取り処理にキャンセルチェックを追加しました。[#98165](https://github.com/ClickHouse/ClickHouse/issues/98165) をクローズしました。[#103016](https://github.com/ClickHouse/ClickHouse/pull/103016) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* aggregate function のパラメーターのデコード時に `input_format_binary_max_type_complexity` を考慮するようにしました。[#102903](https://github.com/ClickHouse/ClickHouse/issues/102903) をクローズしました。[#103026](https://github.com/ClickHouse/ClickHouse/pull/103026) ([Pavel Kruglov](https://github.com/Avogar)).
* Arrow ベースの Parquet リーダーで Geo カラムの Nullable 推論を修正しました。[#101845](https://github.com/ClickHouse/ClickHouse/issues/101845) をクローズしました。[#103032](https://github.com/ClickHouse/ClickHouse/pull/103032) ([Pavel Kruglov](https://github.com/Avogar)).
* `recursiveRemoveLowCardinality` がカスタムのジオメトリ型名 (例: `LineString` と `Ring`、`MultiLineString` と `Polygon`) を消してしまい、ジオメトリ型の誤解釈を引き起こしていた問題を修正しました。[#103207](https://github.com/ClickHouse/ClickHouse/issues/103207) をクローズしました。[#103041](https://github.com/ClickHouse/ClickHouse/pull/103041) ([Joanna Hulboj](https://github.com/jh0x)).
* `max_insert_block_size_bytes` が `0` (デフォルト) の場合に、`INSERT` のパース中に `input_format_max_block_size_bytes` が黙って無視されていた問題を修正しました。これにより、この設定は行 input formats によって生成される blocks のサイズを正しく制限するようになりました。[#103068](https://github.com/ClickHouse/ClickHouse/pull/103068) ([Kirill Kopnev](https://github.com/Fgrtue)).
* ClickHouse が、末尾の null byte を不適切に削除していたために無効な GSSAPI tokens を断続的に生成していた問題を修正しました。[#103114](https://github.com/ClickHouse/ClickHouse/pull/103114) ([Michael Jarrett](https://github.com/EmeraldShift)).
* short-circuit functions (`if`、`multiIf`、`and`、`or` など) に対するアナライザ時の定数畳み込みを修正し、静的に到達不能な分岐で解析時に例外が発生しないようにしました。たとえば `WITH 0 AS n SELECT multiIf(n = 0, 0, intDiv(100, n))` は、ゼロ除算エラーで失敗するのではなく、正しく `0` を返すようになりました。[#103157](https://github.com/ClickHouse/ClickHouse/pull/103157) ([Peng](https://github.com/fastio)).
* `EXPLAIN SYNTAX` がパラメーター化ビューを展開するようになりました。[#103263](https://github.com/ClickHouse/ClickHouse/pull/103263) ([Jordi Villar](https://github.com/jrdi)).
* `INSERT INTO FUNCTION hdfs(...)` 経由で HDFS に Parquet (および ORC や Arrow などの trailer を持つ他のフォーマット) を書き込む際に発生していたデータ破損を修正しました。26.1 以降、`WriteBufferFromHDFS` は `finalize()` 時に作業バッファを flush していなかったため、各ファイルの末尾最大 `DBMS_DEFAULT_BUFFER_SIZE` バイトが黙って失われ、Parquet の `PAR1` footer もその対象になっていました。このようなファイルを読み込むと、`Not a Parquet file (wrong magic bytes at the end of file)` が返されていました。[#103268](https://github.com/ClickHouse/ClickHouse/pull/103268) ([Groene AI](https://github.com/groeneai)).
* 相関サブクエリで、join サイズ制限 (`max_rows_in_join` / `max_bytes_in_join`) を `join_overflow_mode = 'break'` と併用した場合に発生していた、誤った結果および論理エラーの可能性を修正しました。相関サブクエリを評価するために内部的に作成される join は、これらのユーザー制限を無視するようになったため、途中で早期停止して行を落とすことがなくなりました。[#103322](https://github.com/ClickHouse/ClickHouse/pull/103322) ([Groene AI](https://github.com/groeneai)).
* `EmbeddedRocksDB` テーブルに対する `ALTER TABLE ... MODIFY SETTING` で、server がクエリを拒否した場合でも、無効な設定値がテーブルのメタデータファイルに永続化されることがある bug を修正しました。次回の server 再起動時には、テーブルの attach が `CANNOT_PARSE_BOOL` (または同様のパース error) で失敗し、ロード失敗が致命的となる database では server の起動自体が拒否されていました。現在は、無効な設定値はメタデータが書き込まれる前に拒否されます。[#103417](https://github.com/ClickHouse/ClickHouse/pull/103417) ([Groene AI](https://github.com/groeneai)).
* サポートされていない数の argument を指定して object storage engine (`AzureBlobStorage`, `DeltaLakeAzure`, `S3`, `HDFS`) でテーブルを作成した際に、server が異常終了する問題を修正しました。debug/sanitizer ビルドでは異常終了する代わりに、`NUMBER_OF_ARGUMENTS_DOESNT_MATCH` error を適切に返すようになりました。[#103544](https://github.com/ClickHouse/ClickHouse/pull/103544) ([Groene AI](https://github.com/groeneai)).
* 抽象構文木 (AST) が構造的に不正な場合 (たとえば AST fuzzer によって生成された場合) の、`JSON` および `Dynamic` data type の parameter パースにおける server crash を修正しました。`equals(name, value)` parameter expression の children が 2 つ未満のままになることがあり、その結果 `DataTypeObject` と `DataTypeDynamic` が境界チェックなしでそれを参照していました。[#103545](https://github.com/ClickHouse/ClickHouse/pull/103545) ([Groene AI](https://github.com/groeneai)).
* PREWHERE で使われる lambda 内のカラム名の衝突により、アナライザで発生していた論理エラーを修正しました。Closes [#103584](https://github.com/ClickHouse/ClickHouse/issues/103584). [#103627](https://github.com/ClickHouse/ClickHouse/pull/103627) ([Pavel Kruglov](https://github.com/Avogar)).
* 非同期メタデータ読み込み中に通常の database 内で `Iceberg` engine テーブルがロードされた際、`DataLakeConfiguration::getCatalog` から断続的に返されていた `Logical error: 'Database <name> not found'` を修正しました。[#103775](https://github.com/ClickHouse/ClickHouse/pull/103775) ([Groene AI](https://github.com/groeneai)).
* `PREWHERE` / `WHERE` / `HAVING` / `QUALIFY` 内で projection aliases を参照するクエリ (例: `SELECT x AS a, y AS b, (a AND b) AS c FROM t PREWHERE c`) や、カラム名が重複する self-join に対する `SELECT *` を、並列レプリカかつ `parallel_replicas_local_plan = 0` で実行した際に remote replicas が投げていた `MULTIPLE_EXPRESSIONS_FOR_ALIAS` error を修正しました。Closes [#74324](https://github.com/ClickHouse/ClickHouse/issues/74324). [#103806](https://github.com/ClickHouse/ClickHouse/pull/103806) ([Groene AI](https://github.com/groeneai)).
* 複数の `minmax` スキップ索引を持つ `MergeTree` テーブルで、クエリがネストした `coalesce`/`ifNull` 比較 (例: `WHERE coalesce(a, b, coalesce(c, d), e) = const`) を使用し、`use_skip_indexes_for_disjunctions = 1` が設定されている場合に server が異常終了する問題を修正しました。`<op>(coalesce(...), const)` のスキップ索引の書き換えは、内側の coalesce argument に対しても再帰的に適用されるようになり、各索引の `KeyCondition` RPN が template の RPN と一致するようになりました。これは、選言追跡コードがすでに前提としている動作です。[#103929](https://github.com/ClickHouse/ClickHouse/pull/103929) ([Groene AI](https://github.com/groeneai)).
* 新しいアナライザで `GLOBAL IN` および `GLOBAL JOIN` クエリに対して `max_rows_to_transfer` と `max_bytes_to_transfer` が黙って無視される問題を修正しました。これらの設定は、マテリアライズされた external table が設定上限を超えた場合、従来のアナライザの挙動と同様に `SET_SIZE_LIMIT_EXCEEDED` を発生させるか (`transfer_overflow_mode` に応じて) 処理を中断するようになりました。[#103333](https://github.com/ClickHouse/ClickHouse/issues/103333) をクローズしました。[#104119](https://github.com/ClickHouse/ClickHouse/pull/104119) ([Groene AI](https://github.com/groeneai)).
* `show_data_lake_catalogs_in_system_tables` が有効な DataLake カタログ database で、`INSERT` または DDL ステートメントが存在しない table を参照した際に、catalog/S3 メタデータの読み取りが過剰に発生する問題を修正しました。タイプミス候補の提示処理でカタログ全体の table ごとの完全な Iceberg メタデータを読み込んでいたため、大規模なカタログではメモリを使い果たすおそれがありました。[#104124](https://github.com/ClickHouse/ClickHouse/pull/104124) ([DQ](https://github.com/il9ue)).
* 最適化中に lookup plan がカラムを並べ替えた場合に、右側の `MergeTree` table に対して `direct` `join_algorithm` を使用するクエリで発生し得たクラッシュ (デバッグビルドでは `LOGICAL_ERROR` "Columns are assumed to be of identical types, but they are different in Nullable"、リリースビルドでは `ColumnString::compareAt` の null ポインタによる SIGSEGV) および誤った結果を修正しました。右側のカラムが誤った名前のスロットに入ることで、join key に対する filter や比較が誤った型のカラムを参照してしまう可能性がありました。この問題は AST fuzzer により STID 2139-5111 として検出され、[#107272](https://github.com/ClickHouse/ClickHouse/issues/107272) で報告されました。[#104174](https://github.com/ClickHouse/ClickHouse/pull/104174) ([Groene AI](https://github.com/groeneai)).
* `Date` に対して、範囲外の整数パーティション ID を、`ALTER` 時に黙ってオーバーフローさせたり `LOGICAL_ERROR` にしたりするのではなく、拒否するようにしました。[#104250](https://github.com/ClickHouse/ClickHouse/pull/104250) ([Azat Khuzhin](https://github.com/azat)).
* 並列レプリカ使用時かつ、クエリプランのシリアライゼーションなしでアナライザを使う場合は `additional_table_filters` を無効化しました。従来は、これにより不正な結果が返される可能性がありました。[#104296](https://github.com/ClickHouse/ClickHouse/pull/104296) ([Azat Khuzhin](https://github.com/azat)).
* dictionary に値が存在しない `Nullable` な Key column を指定して `dictGetOrNull` を呼び出した際、`SELECT` projection 内の他のカラムが黙って `NULL` で上書きされる問題を修正しました。この関数は入力にエイリアスされた null map をその場で変更していましたが、現在は変更前に結果カラムをディープコピーするようになりました。[#73633](https://github.com/ClickHouse/ClickHouse/issues/73633) をクローズしました。[#104327](https://github.com/ClickHouse/ClickHouse/pull/104327) ([Groene AI](https://github.com/groeneai)).
* `ALTER TABLE ... DROP PARTITION ID 'patch-...'` の後に `DETACH`/`ATTACH TABLE` を実行した際、パッチパートが破損する問題を修正しました。以前は空の covering part が `partition.dat` と `source_parts.dat` なしで書き込まれていたため、次回の attach またはサーバー再起動後に `system.detached_parts` に `broken-on-start_patch-...` エントリが現れていました。[#93132](https://github.com/ClickHouse/ClickHouse/issues/93132) をクローズしました。[#102103](https://github.com/ClickHouse/ClickHouse/issues/102103) をクローズしました。[#104353](https://github.com/ClickHouse/ClickHouse/pull/104353) ([Groene AI](https://github.com/groeneai)).
* `HTTP` インターフェイスおよび `INSERT SELECT FROM input` で、`input_format_max_block_wait_ms` を使用した streaming `INSERT` を修正し、リクエスト完了前に部分的な入力ブロックが flush されるようにしました。[#104534](https://github.com/ClickHouse/ClickHouse/pull/104534) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `JOIN` の後に `ORDER BY ... LIMIT` と `arrayJoin` を組み合わせたクエリが、気づかれないまま 0 行を返してしまうことがある不具合を修正しました。関数評価を `SortingStep` の上に持ち上げるクエリプラン最適化は、持ち上げ対象の式に `arrayJoin` が含まれる場合には適用されなくなりました。`arrayJoin` は行数を変化させる可能性があるためです。[#82279](https://github.com/ClickHouse/ClickHouse/issues/82279) をクローズしました。[#104558](https://github.com/ClickHouse/ClickHouse/pull/104558) ([Groene AI](https://github.com/groeneai))。
* `MergeTree` ファミリーのテーブル破棄中にまれに発生するサーバーの異常終了を修正しました。この異常終了は、バックグラウンドジョブスケジューラが完全に停止する前に `shutdown` が例外を送出した場合に発生することがありました。そのごく短い間にバックグラウンドタスクが実行されると、部分的に破棄されたストレージオブジェクト経由で仮想呼び出しがディスパッチされ、`__cxa_pure_virtual` に到達していました。[#104561](https://github.com/ClickHouse/ClickHouse/pull/104561) ([Groene AI](https://github.com/groeneai))。
* NULL 値を含む type hint と組み合わせた `JSON` の複合サブカラムで、不整合な結果が返る問題を修正しました。[#104584](https://github.com/ClickHouse/ClickHouse/pull/104584) ([Pavel Kruglov](https://github.com/Avogar))。
* 集約プロジェクションに異なる `IN (...)` 条件を持つ複数の `sumIf` 集約が含まれている場合に、誤った結果が返ったり、projection が使われなかったりする問題を修正しました。[#104765](https://github.com/ClickHouse/ClickHouse/pull/104765) ([Jimmy Aguilar Mena](https://github.com/Ergus))。
* `JOIN ON` 内で使用された `arrayJoin()` により誤った行数が返る問題を修正しました。結果が配列長の分だけ余計に乗算されていました。[#104785](https://github.com/ClickHouse/ClickHouse/pull/104785) ([Shaohua Wang](https://github.com/tiandiwonder))。
* ゼロをまたぐ符号付き整数型に対して `deltaSumTimestamp` が誤った結果を返す問題を修正しました。[#104750](https://github.com/ClickHouse/ClickHouse/issues/104750) を解決しました。[#104830](https://github.com/ClickHouse/ClickHouse/pull/104830) ([Konstantin Bogdanov](https://github.com/thevar1able))。
* NULL 定数を使った filter push-down 後の UnionStep におけるブロック構造の不一致を修正しました。[#104821](https://github.com/ClickHouse/ClickHouse/issues/104821) をクローズしました。[#104853](https://github.com/ClickHouse/ClickHouse/pull/104853) ([Pavel Kruglov](https://github.com/Avogar))。
* アタッチ直後の `Iceberg`、`DeltaLake`、または `Hudi` テーブルで、メタデータファイルが破損しているか読み込めない場合に `DELETE FROM` が `Logical error: 'Metadata is not initialized'` を発生させる問題を修正しました。代わりに通常のユーザー向け例外が返され、サーバーは動作を継続します。[#104891](https://github.com/ClickHouse/ClickHouse/issues/104891) をクローズしました。[#104917](https://github.com/ClickHouse/ClickHouse/pull/104917) ([Groene AI](https://github.com/groeneai))。
* 設定変更時に `max_memory_usage_soft_limit` が on-the-fly で更新されない問題を修正しました。ソフトメモリ制限は起動時に一度だけ計算されてキャッシュされていたため、その後の設定再読み込みは反映されていませんでした。この修正後は、設定を再読み込みするたびに制限が再計算され、即座に適用されます。Keeper の再起動は不要です。[#104940](https://github.com/ClickHouse/ClickHouse/pull/104940) ([Kai Zhu](https://github.com/nauu))。
* macOS での JIT シンボル解決を修正し、ソート、式、集約の JIT コンパイルが `CANNOT_COMPILE_CODE: Could not find symbol _<name>` で失敗しないようにしました。[#104946](https://github.com/ClickHouse/ClickHouse/pull/104946) ([Alexei Fedotov](https://github.com/leshikus))。
* 新しいアナライザで `optimize_skip_unused_shards_rewrite_in` が有効な場合に、`SELECT ... FROM <分散テーブル> WHERE/HAVING/GROUP BY ... (sharding_key_column IN tuple())` 形式のクエリを実行すると発生する例外 (vector hardening における `Received signal 6 (abort)`。空のベクタに対する `Tuple::back()` として観測されます) を修正しました。[#104966](https://github.com/ClickHouse/ClickHouse/pull/104966) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* デバッグ / サニタイザビルドで、`CREATE TABLE t (c0 Int CODEC(not((not(materialize(1), materialize(2)))), ZSTD)) ENGINE = Memory` のようなクエリにより発生していた `Logical error: 'Inconsistent AST formatting'` によるサーバー中断 (STID 1941-1bfa) を修正しました。フォーマッタは、`CODEC` / `STATISTICS` / `BACKUP_NAME` の引数リスト内に現れる、複数引数の `tuple(...)` 関数呼び出し (演算子形式 `(a, b)` が無効な箇所) に対して、不要な外側の括弧を出力しなくなり、format-parse-format の往復変換の安定性が保たれるようになりました。[#104991](https://github.com/ClickHouse/ClickHouse/pull/104991) ([Groene AI](https://github.com/groeneai)).
* 25.8 で作成され、別個の `ALTER TABLE ... ADD COLUMN` で追加されたカラム上のスキップ索引を含む part に対して `ALTER TABLE ... MATERIALIZE INDEX` を実行した際に発生していた `NOT_FOUND_COLUMN_IN_BLOCK` を修正しました。mutation は、強制再計算時に、その part 上の既存のすべてのスキップ索引と projection に必要なすべてのカラムを正しく読み取るようになりました。[#104872](https://github.com/ClickHouse/ClickHouse/issues/104872) をクローズしました。[#105039](https://github.com/ClickHouse/ClickHouse/pull/105039) ([Groene AI](https://github.com/groeneai)).
* `enable_materialized_cte` を指定したクエリで発生していた、2 種類の `LOGICAL_ERROR: Reading from materialized CTE 'X' before it has been materialized` を修正しました: (1) 別の マテリアライズド CTE に対する `IN (subquery)` でフィルタされた、再利用される マテリアライズド CTE、(2) 直接参照されると同時に、ネストした IN-サブクエリ を介して MergeTree の主キーに到達する `WHERE ... IN (...)` フィルタ内でも参照される マテリアライズド CTE。これらのバグはプラン最適化中に発生していたため、同じクエリに対する `EXPLAIN` も影響を受けていました。[#101940](https://github.com/ClickHouse/ClickHouse/issues/101940)、[#102320](https://github.com/ClickHouse/ClickHouse/issues/102320) をクローズしました。[#105041](https://github.com/ClickHouse/ClickHouse/pull/105041) ([Dmitry Novik](https://github.com/novikd)).
* `Float32` カラムに対する `countmin` statistics の `PREWHERE` 選択性推定を修正しました。2 つのバグにより、`countmin` statistics は `Float32` カラムに対して誤った推定値を黙って生成していました。`ConditionSelectivityEstimator` は、カラム型 (`Float32`) がリテラル型 (`Float64`) より狭い場合に statistics を完全にスキップし、デフォルトの選択性にフォールバックして sketch を無視していました。また、`StatisticsCountMinSketch::estimateEqual` は `Field` オブジェクトの先頭 N バイトをハッシュしていましたが、`Field` は `Float32` を `Float64` として保存するため (`NearestFieldType<Float32>` = `Float64`) 、クエリ時に使用されるバイトパターンが、build 時に保存された実際の `Float32` のバイト列と異なっていました。[#105047](https://github.com/ClickHouse/ClickHouse/pull/105047) ([Han Fei](https://github.com/hanfei1991)).
* `ENGINE` なしでストレージ clauses (`ORDER BY`、`PARTITION BY`、`PRIMARY KEY`、`SAMPLE BY`、`TTL`、`UNIQUE KEY`、または engine `SETTINGS`) を指定した `ATTACH TABLE name <clauses>;` クエリは、保存済みの定義でテーブルを黙って再アタッチしてユーザー指定の clauses を破棄するのではなく、`BAD_ARGUMENTS` を返すようになりました。クエリレベルのセッション `SETTINGS` (`log_comment` など) は引き続き適用されます。保存されたメタデータで再アタッチするには `ATTACH TABLE t;` を使用し、設定を変更するには `ATTACH` の後に `ALTER TABLE t MODIFY SETTING ...` を使用してください。[#105068](https://github.com/ClickHouse/ClickHouse/pull/105068) ([Groene AI](https://github.com/groeneai)).
* 集約関数が自身の state を返すカラム (例: `uniqStateOrDefaultState`、`sumStateOrDefaultState`、`uniqStateForEachState`) に対して `runningAccumulate` を呼び出した際の use-after-free を修正しました。[#105085](https://github.com/ClickHouse/ClickHouse/pull/105085) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Web UI (`play.html`) のバグを修正しました。末尾に 1 つだけある `;` のさらに後ろにカーソルがある状態でクエリを実行すると、クエリが実行されず、代わりに "empty query" と表示されていました。[#105107](https://github.com/ClickHouse/ClickHouse/pull/105107) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Replicated` データベース内で `CREATE TABLE ... AS SELECT` が `system.current_roles` または `system.enabled_roles` を参照した際に、この内部 DDL worker コンテキストで発生していた `LOGICAL_ERROR: 'No user in current context, it's a bug'` を修正しました。これにより、クエリは正常に実行され、空の result set を返すようになりました。[#105150](https://github.com/ClickHouse/ClickHouse/pull/105150) ([Groene AI](https://github.com/groeneai)).
* `quantileExactWeightedInterpolated`、`quantileDD`、`quantilePrometheusHistogram` の aggregate state を、それぞれ対応する複数形の `quantilesXxxMerge` とマージする際 (およびその逆) に発生していた `ILLEGAL_TYPE_OF_ARGUMENT` を修正しました。これら 3 つの quantile ファミリーでは、単数形と複数形の variants が同じ内部 aggregate state を共有していますが、内部の名前マッピングテーブルに登録されていなかったため、関数をまたぐ state の merge と、これらのファミリーに対する function-fusion optimization が拒否されていました。[#105189](https://github.com/ClickHouse/ClickHouse/pull/105189) ([Groene AI](https://github.com/groeneai)).
* `Date32` および `DateTime64` の argument に対して、結果が `Date` の range 外になる場合の `toStartOfWeek`、`toLastDayOfWeek`、`toMonday`、`toStartOfMonth`、`toLastDayOfMonth`、`toStartOfQuarter`、`toStartOfYear` の誤った結果を修正しました。従来は任意の日付に overflow していましたが、`1970-01-01` より前の結果は `1970-01-01` に clamped され、`2149-06-06` より後の結果は `2149-06-06` に clamped されるようになりました。これにより、このような関数を range 外の値を含む `Date32` または `DateTime64` の key に対する `WHERE` 句で使用した際に発生していた、誤った query result (パーツおよび granules の誤った pruning) も修正されます。[#105244](https://github.com/ClickHouse/ClickHouse/pull/105244) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 第 1 引数が `Variant` の配列で、そのすべての代替型が第 2 引数の型と互換性がなく、かつ `variant_throw_on_type_mismatch` が無効な場合に `arrayRemove` で発生していた論理エラーを修正しました。関数はこの比較を「決して等しくない」として扱い、server-side の `assertTypeEquality` failure を起こす代わりに、配列を変更せずそのまま返すようになりました。[#105248](https://github.com/ClickHouse/ClickHouse/pull/105248) ([Groene AI](https://github.com/groeneai)).
* `FileCache` が Caching のためにディスク上の一部の directory を作成できなかった場合でも、クエリを正常に実行できるようになりました。[#105250](https://github.com/ClickHouse/ClickHouse/pull/105250) ([Den Kalantaevskii](https://github.com/Diskein)).
* `extremes = 1` を指定したクエリが、`ExtremesTransform` で最初の chunk から extremes のカラムを構築中に例外 (たとえば `MEMORY_LIMIT_EXCEEDED`) に遭遇した際、`Assertion 'px != 0' failed` により server が異常終了していた問題を修正しました。これにより、server がクラッシュする代わりに、クライアントは元の例外を受け取れるようになりました。[#105264](https://github.com/ClickHouse/ClickHouse/pull/105264) ([Groene AI](https://github.com/groeneai)).
* `LEFT ANTI JOIN` で、一致しない行に対して左側の join key の値を複製するのではなく、右側の join key カラムにデフォルト値を正しく返すようになりました。以前は、`SELECT a.x AS l, b.x AS r FROM a LEFT ANTI JOIN b ON a.x = b.x` において、一致しない行に対し、本来はデフォルト値 (`Int32` なら `0`、`String` なら `''`、`Nullable` なら `NULL`) を返すべきところ、`r = a.x` が返ることがありました。影響を受けていたのは join key カラムのみで、key ではない右側カラムは従来から正しくデフォルト値が設定されていました。同じ bug は、optimizer が左右を入れ替えた場合の `RIGHT ANTI JOIN` でも発生していました。[#99959](https://github.com/ClickHouse/ClickHouse/issues/99959) をクローズしました。[#105278](https://github.com/ClickHouse/ClickHouse/pull/105278) ([Groene AI](https://github.com/groeneai)).
* 非デフォルトの `--default_database` を指定して `clickhouse-local` を繰り返し起動した際に発生していたデータ消失を修正しました (例: `clickhouse-local --path X -- --default_database=mydb`) 。永続化されたデータベース UUID の参照先が `metadata/default` にハードコードされていたため、再起動のたびに新しい UUID が発行され、前回実行時のテーブルが見えなくなっていました。[#101831](https://github.com/ClickHouse/ClickHouse/issues/101831) をクローズしました。[#105284](https://github.com/ClickHouse/ClickHouse/pull/105284) ([Groene AI](https://github.com/groeneai)).
* `ALTER TABLE <memory_table> APPLY PATCHES` または `ALTER TABLE <memory_table> APPLY DELETED MASK` の実行時に発生していた論理エラー `Mutation of `Memory` table produced incomplete output` を修正しました。`Memory` テーブルはパッチパートや削除マスクを保持しないため、現在は両方のコマンドが正しく no-op として扱われます。[#105286](https://github.com/ClickHouse/ClickHouse/pull/105286) ([Groene AI](https://github.com/groeneai)).
* クエリリクエストに `table_id` パラメーターを渡すようにし、Unity Catalog で長時間実行されるクエリの問題を修正しました。[#105303](https://github.com/ClickHouse/ClickHouse/pull/105303) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `distributed_group_by_no_merge=1` の場合に、`Distributed` 上の `Merge` 上の `Merge` で発生する `CANNOT_CONVERT_TYPE` を修正しました。[#105330](https://github.com/ClickHouse/ClickHouse/pull/105330) ([Azat Khuzhin](https://github.com/azat)).
* 位置指定のファイル引数も与えられているときに、`clickhouse local` と `clickhouse client` が `--query`/`-q` を黙って無視していた問題を修正しました。現在はどちらの場合も一貫して `BAD_ARGUMENTS` が返されます。[#105334](https://github.com/ClickHouse/ClickHouse/pull/105334) ([Raúl Marín](https://github.com/Algunenano)).
* `REPLACE TEMPORARY TABLE` が対象テーブル不存在時に黙って新しいテーブルを作成していた問題を修正しました。現在は `REPLACE TABLE` の動作に合わせて `UNKNOWN_TABLE` を返します。create-or-replace の動作を維持したい場合は `CREATE OR REPLACE TEMPORARY TABLE` を使用してください。[#105373](https://github.com/ClickHouse/ClickHouse/pull/105373) ([Groene AI](https://github.com/groeneai)).
* `catalog_type = 'glue'` を持つ `DataLakeCatalog` database からの長時間の reads (例: `INSERT ... SELECT`) が、table-metadata load time に取得した STS session credentials の有効期限が切れると `ExpiredToken` エラーで失敗していた問題を修正しました。現在は AWS STS credentials がクエリ実行中に更新されるため、そのような reads も token の有効期限をまたいで継続されます。[#105381](https://github.com/ClickHouse/ClickHouse/pull/105381) ([Pratima Patel](https://github.com/pratimapatel2008)).
* `ARRAY JOIN` とともに使用した一部のケースで、負の `LIMIT BY` に論理エラーが発生していた問題を修正しました。[#105403](https://github.com/ClickHouse/ClickHouse/pull/105403) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Parquet files の読み取り時に `read_bytes` (および `system.query_log`、progress bar などに表示される派生 bytes/s) が過大計上される問題を修正しました。従来の実装では、chunk ごとに行グループ全体の圧縮サイズを報告していたため、N 個のカラムのうち K 個を読むと `N / K` 倍に過大計上されていました。現在は、選択されたカラムについてのみ合計されます。あわせて Iceberg tables のファイル単位の進捗追跡も修正しており、従来はデータファイルサイズがまったく報告されていませんでした。[#105413](https://github.com/ClickHouse/ClickHouse/pull/105413) ([Groene AI](https://github.com/groeneai)).
* planner が `recursive_with` フラグ付きで `WITH` expression のない `SELECT` を生成した場合に、cluster table functions (`s3Cluster`, `urlCluster`, `fileCluster`, ...) で発生しうるサーバー segfault を修正しました。[#105370](https://github.com/ClickHouse/ClickHouse/issues/105370) をクローズしました。[#105433](https://github.com/ClickHouse/ClickHouse/pull/105433) ([Groene AI](https://github.com/groeneai)).
* `count_distinct_optimization = 1` のとき、`Nullable` カラムに対する `countDistinct` / `uniqExact` の結果が誤っていた問題を修正しました (NULL グループが誤ってカウントされていました) 。[#105439](https://github.com/ClickHouse/ClickHouse/pull/105439) ([Raúl Marín](https://github.com/Algunenano)).
* バイナリまたは文字列のカラムで、中間 `offsets` が破損した Arrow または ArrowStream ファイルの読み取り時に発生する heap-buffer-overflow と、geo タグ付き Arrow カラムの読み取り時に発生する null ポインタ逆参照を修正しました。[#105449](https://github.com/ClickHouse/ClickHouse/pull/105449) ([Raúl Marín](https://github.com/Algunenano)).
* window `PARTITION BY` における `Dynamic`/`Variant` 型の検証漏れを修正しました。これまでは `allow_suspicious_types_in_group_by` が無効な場合、この検証が行われていませんでした。[#105028](https://github.com/ClickHouse/ClickHouse/issues/105028) をクローズします。[#105450](https://github.com/ClickHouse/ClickHouse/pull/105450) ([Pavel Kruglov](https://github.com/Avogar)).
* JSONStrings\* フォーマットで `input_format_json_empty_as_default` が機能しない問題を修正しました。[#104913](https://github.com/ClickHouse/ClickHouse/issues/104913) をクローズします。[#105453](https://github.com/ClickHouse/ClickHouse/pull/105453) ([Pavel Kruglov](https://github.com/Avogar)).
* 式のパース中に `VALUES` フォーマット経由で `Variant` カラムに `NULL` を insert できない問題を修正しました。[#104909](https://github.com/ClickHouse/ClickHouse/issues/104909) をクローズします。[#105455](https://github.com/ClickHouse/ClickHouse/pull/105455) ([Pavel Kruglov](https://github.com/Avogar)).
* デフォルト引数が `Nullable` 式で、見つかる辞書キーと見つからない辞書キーが混在しており、かつ `short_circuit_function_evaluation` が有効な場合に、`dictGetOrDefault` が `CANNOT_INSERT_NULL_IN_ORDINARY_COLUMN` を投げる問題を修正しました。[#105461](https://github.com/ClickHouse/ClickHouse/pull/105461) ([Raúl Marín](https://github.com/Algunenano)).
* `Quoted` (Values) テキスト reader が `Map(Array(Nothing), ...)` のような不完全に推論された型に対して `String` に fallback した際、`Dynamic` カラムで値が黙って切り詰められる問題を修正しました。従来の fallback では、生のフィールドを単純に `'...'` で連結して囲んでいたため、内側のシングルクォート (この種の fallback では常に含まれる) がクォート文字列を途中で終端し、残りの値が失われていました。[#105463](https://github.com/ClickHouse/ClickHouse/pull/105463) ([Groene AI](https://github.com/groeneai)).
* `ALTER` 後、圧縮された `Memory` table から `Dynamic` subcolumns を読み取る際に発生する SIGSEGV を修正しました。[#104901](https://github.com/ClickHouse/ClickHouse/issues/104901) をクローズします。[#105464](https://github.com/ClickHouse/ClickHouse/pull/105464) ([Pavel Kruglov](https://github.com/Avogar)).
* `Dynamic` に対する `toFloat64`/`toUInt32`/`toString` などで `cast_keep_nullable` が無視される問題を修正しました。[#104789](https://github.com/ClickHouse/ClickHouse/issues/104789) をクローズします。[#105467](https://github.com/ClickHouse/ClickHouse/pull/105467) ([Pavel Kruglov](https://github.com/Avogar)).
* `WithNames` フォーマット用のスキーマ cache キーに `skip_first_lines` を含めるようにしました。[#104527](https://github.com/ClickHouse/ClickHouse/issues/104527) をクローズします。[#105469](https://github.com/ClickHouse/ClickHouse/pull/105469) ([Pavel Kruglov](https://github.com/Avogar)).
* `GROUP BY ... WITH ROLLUP`、`WITH CUBE`、または `WITH TOTALS` と Nullable 引数を組み合わせて使用した際に、`uniqStateOrNull` / `uniqStateOrDefault` / `uniqOrNullState` (および `uniq` に対する類似の combinator chain) で発生する server segfault を修正しました。[#105470](https://github.com/ClickHouse/ClickHouse/pull/105470) ([Groene AI](https://github.com/groeneai)).
* アナライザ有効時に `ORDER BY ... WITH FILL INTERPOLATE` と `LIMIT N BY` を組み合わせると `NOT_FOUND_COLUMN_IN_BLOCK` Exception が発生する問題を修正しました。[#103474](https://github.com/ClickHouse/ClickHouse/issues/103474) をクローズします。[#105481](https://github.com/ClickHouse/ClickHouse/pull/105481) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* 負の (エポック以前の) `DateTime64` 値に対して `toStartOfMillisecond` と `toStartOfMicrosecond` がほぼ 1 秒ずれた結果を返していた問題を修正し、`INT64_MIN` 近傍の `DateTime64` 入力に対する `toStartOfSecond`、`toStartOfMillisecond`、`toStartOfMicrosecond` における `UndefinedBehaviorSanitizer` の signed-integer-overflow も修正しました。 [#105482](https://github.com/ClickHouse/ClickHouse/pull/105482) ([Groene AI](https://github.com/groeneai)).
* 新しい互換性設定 `analyzer_compatibility_prefer_alias_over_subcolumn` を追加しました (デフォルトでは無効) 。有効にすると、新しいアナライザは複数要素の識別子に対して、`Tuple`-subcolumn / dotted-column の一致よりも alias-prefix としての解釈を優先し、以前の interpreter の動作を復元します。これにより、クエリが、join に対する `SELECT *` を使う CTE/サブクエリ内の内部テーブル名と同名の table を join した場合に、asterisk によって名前変更されたカラム (例: `b.id`) が内部テーブルの識別子を外側のスコープに漏らしてしまうことで発生する `AMBIGUOUS_IDENTIFIER` (および関連する) エラーを回避できます。 [#105491](https://github.com/ClickHouse/ClickHouse/pull/105491) ([Vladimir Cherkasov](https://github.com/vdimir)).
* *index only* optimization を用いて実行されたベクトル検索クエリで、`SELECT` リストに `L2Distance()` が含まれている場合に正しい値を返すようになりました。これまでは、この関数が誤って *L2-squared* 距離の値を返していました。ベクトル検索クエリ自体は正しく順位付けされた結果を返しており、二乗された値の影響を受けたのは、`L2Distance()` の値を**明示的に取得して解釈していた**アプリケーションのみである点に注意してください。 [#105495](https://github.com/ClickHouse/ClickHouse/pull/105495) ([Shankar Iyer](https://github.com/shankar-iyer)).
* 新しい Kafka table engine で、トピックのパーティション再割り当て中にメッセージが誤って処理され、offset rollback 後にメッセージが欠落する可能性があるまれな問題を修正しました。 [#105500](https://github.com/ClickHouse/ClickHouse/pull/105500) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* 本体が相関したサブクエリである `MATERIALIZED` CTE を `IN` の右辺として使用したときに発生する例外 (`Trying to execute PLACEHOLDER action` 論理エラー) を修正しました。このような CTE は、同じパターンが CTE を `FROM` で直接参照した場合にすでに拒否されているのと同様に、分析時点で拒否されるようになりました。 [#105518](https://github.com/ClickHouse/ClickHouse/pull/105518) ([Groene AI](https://github.com/groeneai)).
* フォーマットが明示的に指定されている場合に、stdout/stdin の圧縮が適用されない問題を修正しました。 [#104441](https://github.com/ClickHouse/ClickHouse/issues/104441) をクローズします。 [#105528](https://github.com/ClickHouse/ClickHouse/pull/105528) ([Pavel Kruglov](https://github.com/Avogar)).
* `JSON` 型の `singleValueOrNull` のデシリアライゼーションにおける SEGFAULT を修正しました。 [#103630](https://github.com/ClickHouse/ClickHouse/issues/103630) をクローズします。 [#105535](https://github.com/ClickHouse/ClickHouse/pull/105535) ([Pavel Kruglov](https://github.com/Avogar)).
* `clickhouse-format --backslash` が `INSERT` `VALUES` データを黙って削除してしまう問題を修正しました。 [#103533](https://github.com/ClickHouse/ClickHouse/issues/103533) をクローズします。 [#105536](https://github.com/ClickHouse/ClickHouse/pull/105536) ([Pavel Kruglov](https://github.com/Avogar)).
* `variant_throw_on_type_mismatch/dynamic_throw_on_type_mismatch=false` で、関数実行中の例外が捕捉されない問題を修正しました。 [#103484](https://github.com/ClickHouse/ClickHouse/issues/103484) をクローズします。 [#105543](https://github.com/ClickHouse/ClickHouse/pull/105543) ([Pavel Kruglov](https://github.com/Avogar)).
* `JSON` の共有データへの insertion 時に `input_format_try_infer_datetimes` が無視される問題を修正しました。 [#103221](https://github.com/ClickHouse/ClickHouse/issues/103221) をクローズします。 [#105544](https://github.com/ClickHouse/ClickHouse/pull/105544) ([Pavel Kruglov](https://github.com/Avogar)).
* 小さく未ソートな入力に対して `histogram` が誤った結果を返す問題を修正しました。[#103109](https://github.com/ClickHouse/ClickHouse/issues/103109) をクローズします。[#105548](https://github.com/ClickHouse/ClickHouse/pull/105548) ([Pavel Kruglov](https://github.com/Avogar)).
* `JSONExtract` およびテキストのデシリアライゼーションにおいて、範囲外の値で `DateTime` が折り返してしまう問題を修正しました。[#103094](https://github.com/ClickHouse/ClickHouse/issues/103094) をクローズします。[#105551](https://github.com/ClickHouse/ClickHouse/pull/105551) ([Pavel Kruglov](https://github.com/Avogar)).
* `optimize_trivial_insert_select` が有効な場合に、テーブル関数で insertion table の使用に問題があった不具合を修正しました。[#103083](https://github.com/ClickHouse/ClickHouse/issues/103083) をクローズします。[#105555](https://github.com/ClickHouse/ClickHouse/pull/105555) ([Pavel Kruglov](https://github.com/Avogar)).
* 式と `WHEN` の値の両方が `NULL` の場合に、`CASE` 式が一致した `THEN` ではなく `ELSE` 分岐を返していた問題を修正しました。[#105556](https://github.com/ClickHouse/ClickHouse/pull/105556) ([Raúl Marín](https://github.com/Algunenano)).
* `select` の `FD_SETSIZE` 制限に達したことで発生していた `replxx` のクラッシュを修正しました (現在は `poll` に置き換えられています) 。以前は、SSH またはウェブターミナルが有効な場合、この問題によりサーバーがクラッシュすることがありました。[#105559](https://github.com/ClickHouse/ClickHouse/pull/105559) ([Azat Khuzhin](https://github.com/azat)).
* `executePartitionByExpression` で式を実行する前に、サブカラムをマテリアライズするようにしました。[#103057](https://github.com/ClickHouse/ClickHouse/issues/103057) をクローズします。[#105573](https://github.com/ClickHouse/ClickHouse/pull/105573) ([Pavel Kruglov](https://github.com/Avogar)).
* `TTL` 式がサブカラムを参照したときに発生する `NOT_FOUND_COLUMN_IN_BLOCK` 例外を修正しました。[#105578](https://github.com/ClickHouse/ClickHouse/pull/105578) ([Pavel Kruglov](https://github.com/Avogar)).
* HTTP またはネイティブプロトコル経由で、`ENGINE` 句のない `CREATE TABLE ... TO INNER UUID '...'` を送信した場合に、`CREATE TABLE` 権限を持つ任意のユーザーが引き起こせたサーバークラッシュ (SIGSEGV) を修正しました。同じバグによりクライアントもクラッシュしていました。現在は、null ポインタを逆参照する代わりに、パーサーが適切な `BAD_ARGUMENTS` エラーを報告します。[#105579](https://github.com/ClickHouse/ClickHouse/pull/105579) ([Groene AI](https://github.com/groeneai)).
* `estimateCompressionRatio` window function で、行をまたいで保持されるべき累積データが失われる問題を修正しました。[#101738](https://github.com/ClickHouse/ClickHouse/issues/101738) をクローズします。[#105581](https://github.com/ClickHouse/ClickHouse/pull/105581) ([Pavel Kruglov](https://github.com/Avogar)).
* 同じ VALUES 句内でサイズの異なる tuple を `String` カラムに挿入したときに発生するクラッシュを修正しました。[#101727](https://github.com/ClickHouse/ClickHouse/issues/101727) をクローズします。[#105582](https://github.com/ClickHouse/ClickHouse/pull/105582) ([Pavel Kruglov](https://github.com/Avogar)).
* Hive のパーティション値抽出で `cast_string_to_date_time_mode` 設定が反映されるようになり、デフォルトでパーティションキー内のタイムゾーン接尾辞付き ISO 8601 タイムスタンプ (例: `+0000`, `+00:00`, `Z`) を受け付けるようになりました。[#105584](https://github.com/ClickHouse/ClickHouse/pull/105584) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `NULL` 値を含む Timezone を持つ `DateTime` に対する `toString` で発生していた `NOT_IMPLEMENTED` エラーを修正しました。[#103712](https://github.com/ClickHouse/ClickHouse/issues/103712) をクローズします。[#105587](https://github.com/ClickHouse/ClickHouse/pull/105587) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* flattened された `Dynamic` カラムの `Native` デシリアライゼーションにおける OOB 読み取りを修正しました。[#105666](https://github.com/ClickHouse/ClickHouse/pull/105666) ([Pavel Kruglov](https://github.com/Avogar)).
* 結果型が `Variant` で、第 2 または第 3 分岐が、`Int64` に収まる `UInt64` リテラルに対する定数条件の `if` になっている `if` 式について、クエリプランニング中に発生していた `LOGICAL_ERROR` (`Unexpected return type from if`) を修正しました。[#105649](https://github.com/ClickHouse/ClickHouse/issues/105649) をクローズします。[#105680](https://github.com/ClickHouse/ClickHouse/pull/105680) ([Groene AI](https://github.com/groeneai)).
* 別の writer (設定なしの `icebergLocal`/`icebergS3` table function など) がテーブルを先に進めたあと、`iceberg_use_version_hint = 1` を指定して Iceberg table を読み取ると誤った結果になる問題を修正しました。`version-hint.text` は、ファイルが存在する場合、以後はすべての writer によって同期された状態に保たれるようになったため、hint を使う後続の reader でも最新の snapshot を参照できます。[#105682](https://github.com/ClickHouse/ClickHouse/pull/105682) ([Groene AI](https://github.com/groeneai)).
* `use_query_condition_cache = 1` (既定値) のときに、`SELECT` クエリで件数が実際より少なく数えられてしまう不具合を修正しました。bloom-filter スキップ索引を持つカラムに対する `PREWHERE pk_prefix = X WHERE non_pk IN (...)` という形のクエリによって、`pk_prefix = X` predicate 用の `QueryConditionCache` が汚染され、その結果、後続の通常の `SELECT count() ... WHERE pk_prefix = X` が誤って少ない件数を返していました。26.x のすべての releases が影響を受けます。[#104781](https://github.com/ClickHouse/ClickHouse/issues/104781). [#105686](https://github.com/ClickHouse/ClickHouse/pull/105686) ([Groene AI](https://github.com/groeneai)).
* すでに複数の異なる値を観測していた state を merge した際に、`singleValueOrNullMerge` が `NULL` ではなく具体的な値を返してしまう問題を修正しました。[#105734](https://github.com/ClickHouse/ClickHouse/pull/105734) ([Minh Vu](https://github.com/fallintoplace)).
* 不正な行のあとにおける `Template` input format の error 復旧を修正しました。[#105735](https://github.com/ClickHouse/ClickHouse/pull/105735) ([Yue Ni](https://github.com/niyue)).
* コレクション名が空、または NUL バイトを含む場合に、`mongodb` table function、MongoDB storage、MongoDB Dictionary ソースでクラッシュする問題を修正しました。[#105776](https://github.com/ClickHouse/ClickHouse/pull/105776) ([Raúl Marín](https://github.com/Algunenano)).
* 失敗した writes 後の `Keeper` snapshots のクリーンアップを修正し、部分的な snapshots を安全にクリーンアップできるようにするとともに、失敗した writes を `latest_snapshot_meta` を進めることなく再試行できるようにしました。[#105779](https://github.com/ClickHouse/ClickHouse/pull/105779) ([Antonio Andelic](https://github.com/antonio2368)).
* 明示的な `SummingMergeTree` および `CoalescingMergeTree` の `columns_to_sum` カラムに対して、`ALTER TABLE ... CLEAR COLUMN` が拒否される問題を修正しました。[#105785](https://github.com/ClickHouse/ClickHouse/pull/105785) ([Antonio Andelic](https://github.com/antonio2368)).
* データベース名をクエリパラメータ経由で与えるパラメーター化ビューを作成する際、たとえば `CREATE VIEW {db:Identifier}.v AS SELECT {p:UInt64}` のような場合に、`DatabaseCatalog::tryGetDatabase` で assertion が発生し (release ビルドでは `UNKNOWN_DATABASE` error の原因にもなる) ていた問題を修正しました。`CREATE` ステートメントの DDL 部分にある Parameters は作成時に置換されるようになり、一方で SELECT 本文中の Parameters は引き続きビュー呼び出し時に置換できます。[#105799](https://github.com/ClickHouse/ClickHouse/pull/105799) ([Groene AI](https://github.com/groeneai)).
* aggregate state がシリアライズされる場合 (例: 並列レプリカ、バイナリ state フォーマッタ経由の `sumMapState`、external aggregation) に、`Nested(... Nullable(Decimal(P, S)))` カラムに対する `sumMap` および `sumMapWithOverflow` で `Bad get: has Decimal32, requested Decimal128` が発生する問題を修正しました。[#105816](https://github.com/ClickHouse/ClickHouse/pull/105816) ([Groene AI](https://github.com/groeneai)).
* `ALTER MODIFY COLUMN ... LowCardinality(...)` ミューテーションより前に、保留中のオンザフライ `UPDATE`/`DELETE` ミューテーションがキューに入っているテーブルで `apply_mutations_on_fly = 1` を使用した際に発生する `Expected ColumnLowCardinality, got String` / `Bad cast from type DB::ColumnString to DB::ColumnLowCardinality` エラーを修正しました。[#105847](https://github.com/ClickHouse/ClickHouse/pull/105847) ([Raúl Marín](https://github.com/Algunenano)).
* Iceberg への書き込みで、`Nullable(T)` パーティションカラム内の NULL 値が保持されるようになりました。以前は、ClickHouse が書き込んだ NULL は、Spark や他の Iceberg reader で読み戻すと内部型のデフォルト値 (`int` の場合は `0`) として扱われていました。[#105852](https://github.com/ClickHouse/ClickHouse/issues/105852) をクローズしました。[#105862](https://github.com/ClickHouse/ClickHouse/pull/105862) ([Groene AI](https://github.com/groeneai)).
* `IN (subquery)` predicates に対する `Parquet` および `ORC` の pushdown を修正し、`file`、`url`、`s3`、およびオブジェクトストレージの読み取りで row-group/page/bloom-filter pruning が機能するようにしました。[#105863](https://github.com/ClickHouse/ClickHouse/pull/105863) ([Arsen Muk](https://github.com/arsenmuk)).
* `Merge` テーブルの read-in-order を修正しました (新しいアナライザ使用時) 。[#105867](https://github.com/ClickHouse/ClickHouse/pull/105867) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 単一の delete file が複数の data file を参照し、さらにそのような delete file が同じ data file に複数適用される場合に、Iceberg v2 merge-on-read position deletes が誤った行を返す問題を修正しました。streaming reader (`use_roaring_bitmap_iceberg_positional_deletes = 0`) は、Parquet の row-group pruning に依存するのではなく、C++ で `file_path` によって delete-file の行をフィルタするようになり、昇順 positions の invariant が復元されました。[#105888](https://github.com/ClickHouse/ClickHouse/pull/105888) ([Groene AI](https://github.com/groeneai)).
* 新しいアナライザで、`IN Array(...)` filter を含む distributed queries における `Cannot find column` エラーを修正しました。[#105894](https://github.com/ClickHouse/ClickHouse/pull/105894) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 別の `ALTER` によって `STATISTICS` を持つカラムが同時に削除された際に、`MergeTree` テーブルで `ALTER TABLE ... MODIFY COLUMN ... Nullable(...)` 実行時に発生する SIGSEGV を修正しました。[#105912](https://github.com/ClickHouse/ClickHouse/issues/105912) をクローズしました。[#105917](https://github.com/ClickHouse/ClickHouse/pull/105917) ([Groene AI](https://github.com/groeneai)).
* PostgreSQL から読み取るクエリ (postgresql table function、PostgreSQL table engine、または PostgreSQL ソースを持つ Dictionary 経由) がキャンセルされ (たとえば KILL QUERY) 、そのリモート PostgreSQL クエリのキャンセルに失敗した場合に発生しうるサーバークラッシュを修正しました。[#105949](https://github.com/ClickHouse/ClickHouse/pull/105949) ([Rory Shanks](https://github.com/rorylshanks)).
* `SYSTEM INSTRUMENT ADD` のフォーマットを修正し、handler arguments が単一のスペースで区切られるようにしました。また、値が 3 つ以上ある無効な `SLEEP` インストルメンテーション引数リストや、最小値が最大値を上回る範囲を拒否するようにしました。[#105984](https://github.com/ClickHouse/ClickHouse/pull/105984) ([Pablo Marcos](https://github.com/pamarcos)).
* outer join と、その outer join の NULL を補う側を参照する後続の inner join を組み合わせたクエリで、誤った結果になる可能性がある問題を修正しました。join の並べ替えによって、inner join 条件が outer join の ON 句に引き込まれるプランが選ばれることがありました。[#105992](https://github.com/ClickHouse/ClickHouse/pull/105992) ([Vladimir Cherkasov](https://github.com/vdimir)).
* クエリ内で送信された大きすぎる文字列リテラルによりクラッシュする可能性がある問題を修正しました。[#105996](https://github.com/ClickHouse/ClickHouse/pull/105996) ([Nikita Taranov](https://github.com/nickitat)).
* `ORDER BY` でソートプレフィックスを使用し、`use_with_fill_by_sorting_prefix` が有効な場合に、空の `INTERPOLATE ()` を使うと `INVALID_WITH_FILL_EXPRESSION` 例外が発生する問題を修正しました。これにより、ソートプレフィックスのカラムは暗黙的な補完対象から正しく除外され、明示的にカラム名を指定した `INTERPOLATE (col)` と同じ動作になります。 [#106001](https://github.com/ClickHouse/ClickHouse/pull/106001) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `Bool` パーティションキーに対する `ALTER TABLE` のパーティション操作が、エラーを出さずに失敗する問題を修正しました。[#101722](https://github.com/ClickHouse/ClickHouse/issues/101722) をクローズします。 [#106004](https://github.com/ClickHouse/ClickHouse/pull/106004) ([Pavel Kruglov](https://github.com/Avogar)).
* デフォルト値を持つ型付き `JSON` パスに対する `JSONExtractRaw` と `JSONHas` の問題を修正しました。[#101721](https://github.com/ClickHouse/ClickHouse/issues/101721) をクローズします。 [#106005](https://github.com/ClickHouse/ClickHouse/pull/106005) ([Pavel Kruglov](https://github.com/Avogar)).
* データレイク設定で、空の basepath に誤って '/' プレフィックスが付与される問題を修正しました。[#105989](https://github.com/ClickHouse/ClickHouse/issues/105989) をクローズします。 [#106013](https://github.com/ClickHouse/ClickHouse/pull/106013) ([thewisenerd](https://github.com/thewisenerd)).
* `IcebergLocal` table engine が `DETACH` + `ATTACH` のサイクルや server の再起動後に read-only になり、その後のすべての `INSERT` が `Local object storage Local is readonly. (READONLY)` で失敗する問題を修正しました。 [#106016](https://github.com/ClickHouse/ClickHouse/pull/106016) ([Groene AI](https://github.com/groeneai)).
* 新しい request dispatcher の response queue が response thread の開始前に埋まる可能性があり、その結果、follower の catch-up 中に `Keeper` が失敗する問題を修正しました。 [#106049](https://github.com/ClickHouse/ClickHouse/pull/106049) ([Antonio Andelic](https://github.com/antonio2368)).
* 旧アナライザとの互換性を改善しました。テーブルに `x.a Array, x.b Array, x String` のようなカラムがある場合、`ARRAY JOIN x` では Array を優先するようになりました。 [#106069](https://github.com/ClickHouse/ClickHouse/pull/106069) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* オブジェクトのメタデータにブロブ ETag が含まれていなかったため、Azure Blob Storage (たとえば Azure 上の Delta Lake テーブル) でファイルシステムキャッシュが気付かれないまま無効化されていた問題を修正しました。 [#106091](https://github.com/ClickHouse/ClickHouse/pull/106091) ([thewisenerd](https://github.com/thewisenerd)).
* `SHOW DICTIONARIES` の部分的な revoke がある場合に、`system.dictionaries` が 0 行を返す問題を修正しました。 [#106105](https://github.com/ClickHouse/ClickHouse/pull/106105) ([Pavel Kruglov](https://github.com/Avogar)).
* `allow_experimental_delta_kernel_rs` が有効な状態で Delta Lake テーブルをクエリし、無効なバイトを含む credential または option を使用した場合に、server がクラッシュする問題を修正しました (Rust FFI が `extern "C"` 境界をまたいで panic していました) 。 [#106109](https://github.com/ClickHouse/ClickHouse/pull/106109) ([Raúl Marín](https://github.com/Algunenano)).
* `ORDER BY` に `(c0 / -42)` や `intDiv(c0, -42)` のような単調減少関数を含むテーブルに対するクエリで、結果が誤る問題を修正しました。基になるカラムに対する predicates (たとえば `c0 < 0`) により、一致する行を含む granules が誤って刈り込まれ、結果が欠落することがありました。[#106084](https://github.com/ClickHouse/ClickHouse/issues/106084) をクローズします。[#106124](https://github.com/ClickHouse/ClickHouse/issues/106124) をクローズします。[#106080](https://github.com/ClickHouse/ClickHouse/issues/106080) をクローズします。 [#106136](https://github.com/ClickHouse/ClickHouse/pull/106136) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `MATERIALIZED VIEW` 定義で `WASM` SQL UDF を使用できない問題を修正しました。 [#106161](https://github.com/ClickHouse/ClickHouse/pull/106161) ([Yue Ni](https://github.com/niyue)).
* Iceberg partition pruning で、アナライザが scalar subquery の結果を、ソース型と target 型が一致する内部的な `_CAST(Const, 'TargetType')` でラップする場合でも、`WHERE partition_col = (SELECT ... FROM ...)` フィルターを正しく処理するようになりました。従来は、このようなフィルターではパーティションプルーニングが無効になり、full table scan がトリガーされていました。[#106204](https://github.com/ClickHouse/ClickHouse/pull/106204) ([Groene AI](https://github.com/groeneai)).
* clickhouse local の `--query_id` パラメータを修正し、カスタム query id を指定できるようにしました。[#106205](https://github.com/ClickHouse/ClickHouse/pull/106205) ([Yue Ni](https://github.com/niyue)).
* `S3` ディスクおよび object storage で multipart upload によって書き込まれた object に対し、S3 storage class (`s3_storage_class` / `s3_storage_class_name`) が無視される問題を修正しました。この問題により、大きな object がデフォルトの `STANDARD` class で作成されていました。現在は、このオプション名をディスク、object storage、backups に対して `s3_storage_class` と `s3_storage_class_name` の両方で受け付けます。[#106214](https://github.com/ClickHouse/ClickHouse/pull/106214) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `nuraft_max_log_gap_in_stream` setting が非 default 値に設定されている場合 (default は 0、つまり `append_entries` requests のパイプライン化を無効化) 、起動時に Keeper が停止することがあった問題を修正しました。[#106220](https://github.com/ClickHouse/ClickHouse/pull/106220) ([Michael Kolupaev](https://github.com/al13n321)).
* 不正なデータを受け入れる代わりに、corrupted `DDSketch` aggregate-function state (bin keys) を INSERT 時に検証するようにしました。[#106236](https://github.com/ClickHouse/ClickHouse/pull/106236) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* サブクエリが in-order settings を override した際に発生する、マージコーディネーターの mode 不一致を修正しました。[#106243](https://github.com/ClickHouse/ClickHouse/pull/106243) ([Nikita Taranov](https://github.com/nickitat)).
* predicate が上位で適用されている場合に、`Distributed` table が `Merge` table または `merge` table function 経由でクエリされると、`optimize_skip_unused_shards` が適用されず (さらに `force_optimize_skip_unused_shards` が誤って失敗する) 問題を修正しました。[#106250](https://github.com/ClickHouse/ClickHouse/pull/106250) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 旧アナライザで、`SELECT` list 内の `ORDER BY` カラムに alias が付けられている場合に、`INTERPOLATE ()` が `INVALID_WITH_FILL_EXPRESSION` をスローする問題を修正しました。[#106248](https://github.com/ClickHouse/ClickHouse/issues/106248) をクローズします。[#106252](https://github.com/ClickHouse/ClickHouse/pull/106252) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `RowBinary` input またはクエリパラメータから不正な `AggregateFunction(uniqTheta, ...)` state を deserialising した際に abort する問題を修正しました。現在は、不正な input は `std::exception` として escaping して `abortOnFailedAssertion` 経由でプロセスを abort するのではなく、`CORRUPTED_DATA` として reject されます。[#106260](https://github.com/ClickHouse/ClickHouse/pull/106260) ([Groene AI](https://github.com/groeneai)).
* `RowBinaryWithNamesAndTypes` の type decoding (`input_format_binary_decode_types_in_binary_format = 1`) 中に、範囲外の `IntervalKind` bytes を、後続で hash paths における undefined behavior を引き起こし得る無効な kind を持つ `DataTypeInterval` を構築するのではなく、明確な `INCORRECT_DATA` error で reject するようにしました。[#106261](https://github.com/ClickHouse/ClickHouse/pull/106261) ([Groene AI](https://github.com/groeneai)).
* `26.1+` における `SLRU` downgrade failure rollback 問題を修正しました。また、`keep_free_space_ratio` feature における `System`/`Data` cache split priority を修正しました。[#106286](https://github.com/ClickHouse/ClickHouse/pull/106286) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `Nullable(JSON)` で、null マップではなく `null` サブカラムを `JSON` パスとして読み取るようにしました。 [#106085](https://github.com/ClickHouse/ClickHouse/issues/106085) をクローズしました。[#106295](https://github.com/ClickHouse/ClickHouse/pull/106295) ([Pavel Kruglov](https://github.com/Avogar)).
* Iceberg REST カタログにテーブルが含まれている場合に、`RestCatalog::empty` が誤った結果を返す問題を修正しました。[#106301](https://github.com/ClickHouse/ClickHouse/pull/106301) ([Lefteris](https://github.com/LefterisXefteris)).
* `enable_parallel_replicas`、`query_plan_use_new_logical_join_step`、および `query_plan_optimize_join_order_algorithm = 'greedy'` が有効なときに、左側の `MergeTree` テーブルが空の `INNER JOIN` クエリで発生していた例外を修正しました。[#106338](https://github.com/ClickHouse/ClickHouse/pull/106338) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 仮数部のシフトが 1 ビットずれていたことが原因で発生していた、非正規化 `Float16` 値から `Float32` への誤変換 (たとえば Numpy の `.npy` ファイルから読み込む場合) を修正しました。[#106343](https://github.com/ClickHouse/ClickHouse/pull/106343) ([Joanna Hulboj](https://github.com/jh0x)).
* 制約ベースの最適化 (`optimize_using_constraints`) を相関サブクエリと組み合わせて使用した際に発生するクラッシュと、発生する可能性のある `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#106349](https://github.com/ClickHouse/ClickHouse/pull/106349) ([Raúl Marín](https://github.com/Algunenano)).
* 配列がすべて空で、かつキーが定数でないカラムをハッシュ化する際に、`sipHash64Keyed`、`sipHash128Keyed`、`sipHash128ReferenceKeyed` で発生していた範囲外読み取りを修正しました。[#106355](https://github.com/ClickHouse/ClickHouse/pull/106355) ([Raúl Marín](https://github.com/Algunenano)).
* `SYSTEM RELOAD CONFIG` がエンドポイントごとの Azure Blob Storage 設定 (`use_native_copy` など) を破棄してしまい、その結果、サーバーを再起動するまで `BACKUP`/`RESTORE` でディスクに設定された内容が無視される問題を修正しました。[#106357](https://github.com/ClickHouse/ClickHouse/pull/106357) ([Julia Kartseva](https://github.com/jkartseva)).
* `regexpExtract(haystack, pattern)` を修正し、キャプチャグループを含まないパターンでは `INDEX_OF_POSITIONAL_ARGUMENT_IS_OUT_OF_RANGE` を投げるのではなく、マッチ全体を返すようにしました。[#106374](https://github.com/ClickHouse/ClickHouse/pull/106374) ([Groene AI](https://github.com/groeneai)).
* リモート S3 オブジェクトが一覧取得から読み取りまでの間に、より短い内容で上書きされた場合に、cache の事前ダウンロード中に `LOGICAL_ERROR` 例外が発生する問題を修正しました。[#106375](https://github.com/ClickHouse/ClickHouse/pull/106375) ([Nikita Fomichev](https://github.com/fm4v)).
* ファイルシステムキャッシュでメモリ使用量が増加する問題を修正しました。[#106387](https://github.com/ClickHouse/ClickHouse/pull/106387) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Arrow IPC フォーマットリーダー (`ArrowColumnToCHColumn`) における複数のヒープ境界外読み取りを修正しました。不正な Arrow ファイルでは、バッファに含まれる数より多い行数を宣言したり、list/struct/map の child の長さを親と不整合な状態で宣言したり、単調増加でない list offsets を指定したり、child の validity bitmap を途中で切り詰めたりできるため、ヒープ割り当て領域の末尾を越えて読み取る可能性がありました。これは `SELECT` 権限を持つ任意のユーザーが `file()`、`format()`、テーブル関数、または ArrowFlight 入力を通じて到達可能です。現在は、生ポインタにアクセスする前にすべての data、offsets、view-struct、validity-bitmap バッファを検証し、list/struct/map の形状と offsets の整合性も確認するようになりました。[#106395](https://github.com/ClickHouse/ClickHouse/pull/106395) ([Raúl Marín](https://github.com/Algunenano)).
* リフレッシャブルmaterialized view の REPLACE ターゲットが、バックアップを開始したレプリカ上でその materialized view がまだ実体化されていない Replicated または Shared データベースで収集される場合に、バックアップが `FILE_DOESNT_EXIST` で失敗する問題を修正しました。[#106411](https://github.com/ClickHouse/ClickHouse/pull/106411) ([Julia Kartseva](https://github.com/jkartseva)).
* mutation (`DELETE`/`UPDATE`) の predicate に、別のサブクエリ内にネストされたデフォルトの table expression を参照する `IN`/`EXISTS` サブクエリが含まれている場合に発生する論理エラー `Column identifier ... is already registered` を修正しました。[#106414](https://github.com/ClickHouse/ClickHouse/pull/106414) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* JOIN グラフ内の 2 つの relation が同じカラム名を持つ場合に、並列レプリカで実行される join で発生しうる join order optimizer の論理エラー (`Left and right columns have same names`) を修正しました。[#106418](https://github.com/ClickHouse/ClickHouse/pull/106418) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `NaN` または infinite な点座標を含むソースデータから Polygon 辞書を構築する際の論理エラーを修正しました。こうした座標は現在、明確なエラーを出して拒否されます。[#106423](https://github.com/ClickHouse/ClickHouse/pull/106423) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.query_log` の `used_privileges` および `missing_privileges` カラムに、別の user、database、または session の無関係な過去のクエリから漏れた privilege 文字列が含まれる可能性があったバグを修正しました。[#106425](https://github.com/ClickHouse/ClickHouse/pull/106425) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 関数 `base58Encode`、`base58Decode`、`tryBase58Decode` が、大きな入力に対して `max_execution_time` とクエリのキャンセルを尊重するようになり、非常に長時間実行される代わりに 10 KB を超える入力を拒否するようになりました。この制限は新しい設定 `function_base58_max_input_size` で設定できます (`0` で無効化) 。[#106428](https://github.com/ClickHouse/ClickHouse/pull/106428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `read_in_order_use_virtual_row_per_block = 1` かつ `max_block_size` が小さい状態で wide parts を逆順に読み取る際、`ORDER BY ... DESC` クエリで散発的に誤った結果が返る問題を修正しました。[#106429](https://github.com/ClickHouse/ClickHouse/pull/106429) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Parquet V3 native reader を使用し、`SELECT` リストに含まれないカラムに対する `IS NOT NULL` を含む複合 `WHERE` で Iceberg または S3 table をクエリした際に発生する `NOT_FOUND_COLUMN_IN_BLOCK` exception を修正しました。[#106443](https://github.com/ClickHouse/ClickHouse/pull/106443) ([Shaohua Wang](https://github.com/tiandiwonder)).
* named collections を使用して `HTTPDictionary` のヘッダーを指定できるようになりました。[#106459](https://github.com/ClickHouse/ClickHouse/pull/106459) ([Jan Rada](https://github.com/ZelvaMan)).
* `CurrentThread::attachToGroup` が途中で失敗したあと、ワーカースレッドが古い thread group に attached のまま残り、その結果、同じ thread 上の後続タスクが `Thread is already attached to a group` で失敗するケースを修正しました。[#106462](https://github.com/ClickHouse/ClickHouse/pull/106462) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* ベクトル検索クエリがベクトル索引を使用し、さらに `minmax` などの別のスキップ索引と `use_skip_indexes_on_data_read = 1` を使用している場合に発生する exception を修正しました。[#106473](https://github.com/ClickHouse/ClickHouse/pull/106473) ([Shankar Iyer](https://github.com/shankar-iyer)).
* 不正な形式の `Avro` enum 値が検証されるようになり、破損した `Avro` データのデシリアライズ時に範囲外読み取りや abort を引き起こす代わりに、エラーとして拒否されるようになりました。[#106476](https://github.com/ClickHouse/ClickHouse/pull/106476) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `_file` または `_path` filter を使って Iceberg tables から読み取る際に、進捗報告が過大になる問題を修正しました。従来は、`total_bytes_to_read` の Progress に、filter に関係なく manifest 内のすべてのファイルが含まれていました。[#106491](https://github.com/ClickHouse/ClickHouse/pull/106491) ([Pedro Ferreira](https://github.com/PedroTadim)).
* `STORAGE_TYPE 'simple'` を `cache`/`direct` レイアウトと単一の文字列から成る複合キーで使用する Redisディクショナリで発生していた `Bad cast exception` を修正しました。これにより、このようなディクショナリは正しく動作するようになり、`simple` ストレージ上の複合キーについては明確なエラーが報告されるようになりました。[#106501](https://github.com/ClickHouse/ClickHouse/pull/106501) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `f(const)` の評価結果が NaN になる場合、たとえば負の定数に対する `ORDER BY sqrt(c0)` のようなケースで、`ORDER BY f(c0)` を持つテーブルに対する `WHERE c0 = const` が行を返さなくなる不具合を修正しました。プライマリキー解析がすべてのグラニュールを誤って刈り込み、後続のクエリに対するクエリ条件キャッシュも汚染していました。[#106507](https://github.com/ClickHouse/ClickHouse/pull/106507) ([Groene AI](https://github.com/groeneai)).
* 同順位の判定時に `ORDER BY ... COLLATE` の照合順序を考慮しない `LIMIT WITH TIES` および小数の `LIMIT WITH TIES` を修正しました。照合順序上で等しいと見なされる行 (たとえば numeric collation における `'1'` と `'01'`) がバイト単位で比較されていたため、一部の同順位の行が結果から誤って除外されていました。[#106539](https://github.com/ClickHouse/ClickHouse/pull/106539) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 入力が照合順序付き (`ORDER BY ... COLLATE`) でソートされている場合に誤った結果を返していた、順序ベースの `DISTINCT` 最適化および順序ベースの `LIMIT BY` 最適化 (負の `LIMIT BY` を含む) を修正しました。照合順序上で等しいと見なされる行 (たとえば case-insensitive な collation における `'a'` と `'A'`) は collation key に従って並べられるため、値としては隣接しません。そのため、collator が使用されている場合はこの in order optimization をスキップするようになりました。[#106564](https://github.com/ClickHouse/ClickHouse/pull/106564) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 暗黙の `_minmax_count_projection`、明示的な aggregate projection、または通常の projection を持つテーブルに対する `SELECT c, count() FROM t WHERE c GROUP BY c` の誤った結果を修正しました。以前は、すべてのグループが定数キーと総行数を持つ 1 行に潰れていました。[#106590](https://github.com/ClickHouse/ClickHouse/pull/106590) ([Groene AI](https://github.com/groeneai)).
* 第 2 引数が非定数タプルである `IN` で、第 1 引数に scalar subqueries を使用できなかった不具合を修正しました。[#106610](https://github.com/ClickHouse/ClickHouse/pull/106610) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `Memory` engine に対して、行ごとのデータには影響しない `ALTER TABLE <memory_table>` コマンド、すなわち `APPLY PATCHES`、`APPLY DELETED MASK`、`MATERIALIZE STATISTICS`、`MATERIALIZE INDEX`、`MATERIALIZE PROJECTION`、`REWRITE PARTS` を実行した際に発生していた例外 `Mutation of `Memory` table produced incomplete output` を修正しました。`Memory` テーブルはこれらの構造を持たないため、このようなコマンドは no-op として扱われるようになりました。[#106621](https://github.com/ClickHouse/ClickHouse/pull/106621) ([Groene AI](https://github.com/groeneai)).
* テキストフォーマット (CSV、TSV、JSONEachRow など) に `LowCardinality(DateTime)` カラムをシリアライズする際、`session_timezone` が無視される問題を修正しました。以前は、server 上で `LowCardinality(DateTime)` カラムが一度書き込まれると、その後そのようなカラムを書き出すすべてのクエリで、`session_timezone` に関係なく、最初に使われた timezone の時刻文字列が出力されていました。[#106634](https://github.com/ClickHouse/ClickHouse/pull/106634) ([Groene AI](https://github.com/groeneai)).
* `multiIf` の中でアスタリスクを table function argument に渡すクエリ、たとえば `numbers(multiIf(*, ...), 2)` で発生していた `LOGICAL_ERROR` "Trying to get name of not a column: `ExpressionList`" を修正しました。現在は、このクエリは解決不能な matcher として `UNSUPPORTED_METHOD` を返して拒否されます。[#106647](https://github.com/ClickHouse/ClickHouse/pull/106647) ([Groene AI](https://github.com/groeneai)).
* `MergeTree` テーブルに、granule が 0 のスキップインデックス part と、ディスク上に空でない marks ファイルがある場合、`Too many marks in file ...skp_idx_idx.cmrk4, marks expected 0 (bytes size 0)` によってサーバーの起動に失敗する問題を修正しました。 [#106675](https://github.com/ClickHouse/ClickHouse/pull/106675) ([Groene AI](https://github.com/groeneai)).
* ディレクトリ一覧取得で無制限の再帰を引き起こすような病的な `file` glob パターンを拒否するようにしました。再帰の最大深さは 1000 に制限され、これを超えるクエリは、サーバーがスタックオーバーフローでクラッシュする代わりに `TOO_DEEP_RECURSION` エラーになります。 [#106676](https://github.com/ClickHouse/ClickHouse/pull/106676) ([Groene AI](https://github.com/groeneai)).
* `if`/`multiIf` 条件が定数畳み込みにより `Const(Nullable(Nothing))` になる場合 (たとえば、`arraySort(x -> x, [])[toNullable(1)]` のように空配列に対して範囲外の添字を指定した場合) に、`FunctionIf::executeForConstAndNullableCondition` で `Bad cast from type DB::ColumnNothing to DB::ColumnVector<char8_t>` が発生してサーバーが異常終了する問題を修正しました。 [#106678](https://github.com/ClickHouse/ClickHouse/pull/106678) ([Groene AI](https://github.com/groeneai)).
* table function `input` が、クエリ内の複数箇所から参照される非 MATERIALIZED CTE でラップされているときに発生する例外 `'Trying to read from input() twice.'` を修正しました。現在は、クエリプランニング時に明確な `INVALID_USAGE_OF_INPUT` エラーでクエリが拒否されます。`input` は一度限りの client ストリームであり、クエリプラン内の単一のログソースからしか消費できません。 [#106682](https://github.com/ClickHouse/ClickHouse/pull/106682) ([Groene AI](https://github.com/groeneai)).
* `EXPLAIN ... INSERT ... SELECT ... FORMAT ...` の `EXPLAIN` 出力にも `FORMAT` が適用されるようにしました。`SETTINGS` が `FORMAT` より前にある場合や、出力フォーマットが `Values` の場合でも適用されます。 [#101772](https://github.com/ClickHouse/ClickHouse/issues/101772) のフォローアップです。 [#106686](https://github.com/ClickHouse/ClickHouse/pull/106686) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 実際には workload resource へのアクセスが許可されていたクエリに対して、まれに誤って `RESOURCE_ACCESS_DENIED` エラー ("Scheduler queue with resource request is about to be destructed") が発生する問題を修正しました。原因は、再利用されたスレッドローカルの request object に前回のリクエスト失敗時の状態が残っていたことでした。 [#106690](https://github.com/ClickHouse/ClickHouse/pull/106690) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* NATS ライブラリ内の callbacks 経由で `INATSConsumer::onMsg` が呼び出される処理と、`INATSConsumer` object の破棄との競合を修正しました。 [#106692](https://github.com/ClickHouse/ClickHouse/pull/106692) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 16 進または 8 進エスケープを含む正規表現に対して、`match`、`extract`、`extractAll`、`countMatches` が誤った結果を返す問題を修正しました。 [#106709](https://github.com/ClickHouse/ClickHouse/pull/106709) ([ofeliacode](https://github.com/ofeliacode)).
* Keeper の内部 Raft TLS が `openSSL.client.verificationMode` 設定を反映するようになりました。以前は、この設定に関係なく Keeper 間の Raft 通信で常に peer certificate verification が有効だったため、`none` は暗黙的に無視されていました。現在は、`none` を指定すると Raft の peer-certificate verification が明示的に無効になり、設定が存在しない場合は従来どおりデフォルトで安全な動作が維持されます。`none` を明示的に設定している構成では、upgrade 後は設定どおり Raft peer certificates の検証が行われなくなります。 [#106726](https://github.com/ClickHouse/ClickHouse/pull/106726) ([Antonio Andelic](https://github.com/antonio2368)).
* `SYSTEM RELOAD CONFIG` における startup scripts の論理エラーを修正しました。さらに、`SYSTEM RELOAD CONFIG` で startup scripts を読み込むようにしました (現時点では private-only の機能です) 。 [#106727](https://github.com/ClickHouse/ClickHouse/pull/106727) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `sumMap` / `-Map` combinator が、カスタム名の数値型 (`SimpleAggregateFunction(sum, T)` や `Bool` など) を `ILLEGAL_TYPE_OF_ARGUMENT: Values for -Map cannot be summed` として拒否し、それまで動作していた集計を壊していた変更を元に戻しました。 [#106729](https://github.com/ClickHouse/ClickHouse/pull/106729) ([Nikita Fomichev](https://github.com/fm4v)).
* 信頼できない入力から到達可能なフォーマットリーダーにおける、複数のメモリ安全性およびリソース枯渇の問題を修正しました。具体的には、ネイティブの Parquet リーダー の `DataPageV2` の definition/repetition level-length 処理におけるヒープ境界外読み取り、深くネストしたスキーマを持つ Parquet ファイルでのスタックオーバーフロー、ならびに GeoParquet の WKB/WKT geometry と Avro の strings/bytes のパース時に `max_memory_usage` を無視していた割り当てです。 [#106739](https://github.com/ClickHouse/ClickHouse/pull/106739) ([Raúl Marín](https://github.com/Algunenano)).
* `decodeHTMLComponent` で、展開される HTML entity `&nGt;` または `&nLt;` を含む文字列をデコードする際の heap buffer overflow (server crash) を修正しました。この問題は、任意のユーザーが 1 回の `SELECT` で到達可能でした。 [#106741](https://github.com/ClickHouse/ClickHouse/pull/106741) ([Raúl Marín](https://github.com/Algunenano)).
* skipping indexes に対して `GRANULARITY 0` を指定した `CREATE TABLE`、`ALTER TABLE ADD INDEX`、`CREATE INDEX` を、明確な `BAD_ARGUMENTS` error で拒否するようにしました。以前は、これによりデバッグビルドで `Inconsistent AST formatting` exception が発生していました。 [#106783](https://github.com/ClickHouse/ClickHouse/pull/106783) ([Groene AI](https://github.com/groeneai)).
* 旧形式の `azure_blob_storage` disk で、Azure BACKUP/RESTORE が endpoint 設定を無視していた問題を修正しました。 [#106784](https://github.com/ClickHouse/ClickHouse/pull/106784) ([Julia Kartseva](https://github.com/jkartseva)).
* キーカラムが `LowCardinality` で、predicate 定数が `LowCardinality(Nullable(...))` の場合に、`MinMax` statistics による part の刈り込み中に発生していた `Bad cast` exception を修正しました。 [#106793](https://github.com/ClickHouse/ClickHouse/pull/106793) ([Groene AI](https://github.com/groeneai)).
* パース中に exception (たとえば `MEMORY_LIMIT_EXCEEDED`) が発生した際、カラムの不整合 (後で `LOGICAL_ERROR` につながる) が起きる問題を修正しました。 [#106802](https://github.com/ClickHouse/ClickHouse/pull/106802) ([Azat Khuzhin](https://github.com/azat)).
* `keeper_server.http_control.secure_port` を設定した後、HTTPS client からのリクエストに対して server が HTTP response を返していた問題を修正しました。 [#106822](https://github.com/ClickHouse/ClickHouse/pull/106822) ([linjiayu1025-collab](https://github.com/linjiayu1025-collab)).
* 非 ASCII の入力 byte を含む `parseDateTime` の論理エラーを修正しました。 [#106856](https://github.com/ClickHouse/ClickHouse/pull/106856) ([Pavel Kruglov](https://github.com/Avogar)).
* `SHOW CREATE ROW POLICY` が、他の keyword と一貫せず `restrictive`/`permissive` を大文字ではなく小文字で出力していた問題を修正しました。 [#106865](https://github.com/ClickHouse/ClickHouse/pull/106865) ([Valery Petrov](https://github.com/valerypetrov)).
* `UNION` 内の空 table が原因で、`UNION` を含む view に並列レプリカが適用されていなかったケースを修正しました。 [#106900](https://github.com/ClickHouse/ClickHouse/pull/106900) ([Igor Nikonov](https://github.com/devcrafter)).
* `input_format_allow_errors_num > 0` のときに、切り詰められた `Protobuf` data を読み込むと server crash (SIGSEGV) する問題を修正しました。 [#106905](https://github.com/ClickHouse/ClickHouse/pull/106905) ([Andrey Tsarevskiy | Андрей Царевский ](https://github.com/atsarevskiy)).
* 集計 function argument に `Nullable` 型への cast が必要な場合、`optimize_rewrite_aggregate_function_with_if` optimization を伴う distributed queries で発生していた `THERE_IS_NO_COLUMN` exception を修正しました。 [#106908](https://github.com/ClickHouse/ClickHouse/pull/106908) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* join キーに `Tuple`、`Array`、または `Map` 内にネストされた `Variant` または `Dynamic` 型が含まれ、join の右辺に異なる値が 1 つしかない場合に、join ランタイムフィルタで発生する例外 (`LOGICAL_ERROR`) を修正しました。[#106931](https://github.com/ClickHouse/ClickHouse/pull/106931) ([Groene AI](https://github.com/groeneai)).
* 重み配列に大きな整数値が含まれる場合に、`arrayLevenshteinDistanceWeighted` および `arraySimilarity` で発生していた符号付き整数オーバーフロー (未定義動作) を修正しました。重み付き距離は、整数の重みに対してはより広い整数型で累積されるようになったため、大きな整数の重みでもオーバーフローせず、正確に保持されます。[#106934](https://github.com/ClickHouse/ClickHouse/pull/106934) ([Groene AI](https://github.com/groeneai)).
* RocksDB ハンドルが解放された `EmbeddedRocksDB` テーブルに対して `TRUNCATE` または `DROP` を実行した際に発生するサーバークラッシュ (null ポインタ参照) を修正しました。たとえば、以前の `TRUNCATE` によってデータディレクトリが空になった `read_only` テーブルで発生していました。[#106940](https://github.com/ClickHouse/ClickHouse/pull/106940) ([Groene AI](https://github.com/groeneai)).
* `urlCluster` などの `*Cluster` テーブル関数から読み取る際、`max_streams_for_files_processing_in_cluster_functions` 設定が非常に大きいと発生する例外 (`LOGICAL_ERROR` として報告される `std::length_error`) を修正しました。ストリーム数は妥当な値に制限されるようになりました。[#106946](https://github.com/ClickHouse/ClickHouse/pull/106946) ([Groene AI](https://github.com/groeneai)).
* 分散クエリがシャードに送信される直前にキャンセルされた場合に、`RemoteQueryExecutor` で発生するサーバークラッシュ (`DB::IConnections` の null ポインタ参照) を修正しました。[#106950](https://github.com/ClickHouse/ClickHouse/pull/106950) ([Groene AI](https://github.com/groeneai)).
* 非同期挿入のフラッシュ (`AsyncInsertFlush`) クエリについて、`system.processors_profile_log` および `system.query_log` で `elapsed_us` が常にゼロになり、`read_rows`/`read_bytes` が過少計上されていた問題を修正しました。[#106982](https://github.com/ClickHouse/ClickHouse/pull/106982) ([Christoph Wurm](https://github.com/cwurm)).
* `Map` バリアントを持つ `Variant` カラムを含むソート済みブロックのマージ時に、そのローカルな格納順序がグローバル順序と異なる場合に発生するクラッシュ (`Source column is not Map` / `SIGSEGV`) を修正しました。[#107011](https://github.com/ClickHouse/ClickHouse/pull/107011) ([Groene AI](https://github.com/groeneai)).
* `ReplicatedMergeTree` テーブルへの同期 insert 中に、挿入ブロックが完全に重複排除され、競合する part の重複排除ノードがすでに削除されていた場合 (たとえば同時実行の `DROP PARTITION` による場合) に発生する論理エラー `conflicted_part_name.has_value()` を修正しました。[#107026](https://github.com/ClickHouse/ClickHouse/pull/107026) ([Groene AI](https://github.com/groeneai)).
* 同じソーステーブル上の 2 つの materialized view が同じターゲットテーブルに書き込み、依存 view がそのターゲットテーブルを読み取る場合に、`materialized_views_squash_parallel_inserts` を有効にしていると `INSERT` で発生していた例外 (論理エラー `this->visited_views == right->visited_views`) を修正しました。[#107027](https://github.com/ClickHouse/ClickHouse/pull/107027) ([Groene AI](https://github.com/groeneai)).
* `UNION`/`INTERSECT`/`EXCEPT` の一方のブランチが `Sparse` シリアライズされたカラムを読み取り、もう一方のブランチが同じカラムをフル形式として読み取った場合 (たとえば materialized view へのプッシュ時) に発生していた `Block structure mismatch in UnionStep stream` 論理エラー (debug/sanitizer ビルドではサーバー abort、リリースビルドでは `Code: 49`) を修正しました。[#107041](https://github.com/ClickHouse/ClickHouse/pull/107041) ([Groene AI](https://github.com/groeneai)).
* 書き込みスキーマと一致しないカラムを持つ Delta Lake テーブルへの insert 時に `LOGICAL_ERROR` 例外が発生していた問題を修正しました (たとえば、subcolumns にフラット化される `Nested` カラムや、明示的にカラムの一部だけを指定した table function の場合) 。このような insert は、今後は代わりにユーザー向けの `INCOMPATIBLE_COLUMNS` エラーで失敗します。[#87402](https://github.com/ClickHouse/ClickHouse/issues/87402) をクローズしました。[#107058](https://github.com/ClickHouse/ClickHouse/pull/107058) ([Groene AI](https://github.com/groeneai)).
* 遅延マテリアライゼーションによってソート対象のカラムより前に別のカラムが配置された場合に、`ORDER BY <numeric column> ... LIMIT n` クエリで発生していた `TYPE_MISMATCH` エラー ("Cannot convert string ... to type ...") を修正しました。top-K のしきい値は、今後は正しいソートカラムから読み取られます。[#107060](https://github.com/ClickHouse/ClickHouse/pull/107060) ([Groene AI](https://github.com/groeneai)).
* `SHOW ROW POLICIES` または `SHOW MASKING POLICIES` の後に `FORMAT`、`SETTINGS`、または `INTO OUTFILE` 句が続く場合に発生していた構文エラーを修正しました (例: `SHOW ROW POLICIES FORMAT TabSeparated`) 。[#107061](https://github.com/ClickHouse/ClickHouse/pull/107061) ([Groene AI](https://github.com/groeneai)).
* 異なる型のカラム間で、解放済みのカラム名 (いわゆる「入れ替え」) を再利用する複合 `ALTER TABLE ... RENAME COLUMN a TO b, RENAME COLUMN c TO a` の問題を修正しました。materialized part に誤った column type が記録されていたため、後続の `SELECT` が `Conversion between numeric types and IPv6 is not supported` で失敗していました (または debug builds では part の読み込み時に中断していました) 。[#107064](https://github.com/ClickHouse/ClickHouse/pull/107064) ([Groene AI](https://github.com/groeneai)).
* 境界配列に `NaN` が含まれている場合の `roundDown` 関数の非決定論的な結果を修正しました。同じ入力値でも、バッチ内の周囲の行に応じて有限の境界または `NaN` が返ることがありました。今後は `NaN` の境界は無視されるため、結果は有限の境界だけに依存します。[#107065](https://github.com/ClickHouse/ClickHouse/pull/107065) ([Groene AI](https://github.com/groeneai)).
* 補間された分位点が小数を含むものの範囲内である場合に、`Date` および `DateTime` 引数に対して `quantileTDigest` と `quantileTDigestWeighted` が `DECIMAL_OVERFLOW` を投げていた問題を修正しました (たとえば、すべての値がその型に収まる場合の `quantileTDigestWeighted(date, weight)`) 。小数を含む結果は、今後は `quantilesTDigestWeighted` と同様に結果型に切り捨てられます。実際に範囲外の値については、引き続きエラーが発生します。[#106722](https://github.com/ClickHouse/ClickHouse/issues/106722) をクローズしました。[#107066](https://github.com/ClickHouse/ClickHouse/pull/107066) ([Groene AI](https://github.com/groeneai)).
* カスタムのトリム用文字セットが 16 文字を超える場合に、`trimLeft`、`trimRight`、`trimBoth` (および別名の `ltrim`、`rtrim`、`trim`) が `TOO_LARGE_STRING_SIZE` を投げていた問題を修正しました。今後は長さに関係なくトリムセットが再びサポートされます。[#107071](https://github.com/ClickHouse/ClickHouse/pull/107071) ([Nikita Fomichev](https://github.com/fm4v)).
* `Enum8`/`Enum16` 型定義において、範囲外の整数値が黙って切り詰められていた問題を修正しました。`Enum8('a' = 200)` は、黙って `Enum8('a' = -56)` を作成する代わりに、今後は `ARGUMENT_OUT_OF_BOUND` を投げます。[#107081](https://github.com/ClickHouse/ClickHouse/pull/107081) ([Groene AI](https://github.com/groeneai)).
* 複数の行が先頭のカラムで同値になった場合に、`Nullable` カラムでソートする複数カラムの `ORDER BY ... LIMIT` クエリで誤った行順序になっていた問題 (および debug builds での `LOGICAL_ERROR` "Rows are not sorted with permutation") を修正しました。[#107094](https://github.com/ClickHouse/ClickHouse/pull/107094) ([Groene AI](https://github.com/groeneai)).
* `Dynamic` 上の JOIN によって構築された `Dynamic` カラムに対して関数を実行した際に発生する `LOGICAL_ERROR` (`Expected the argument N to have X rows, but it has Y`) を修正しました (たとえば、`RIGHT`/`FULL JOIN` の非結合行や、JOIN にデコリレートされた相関 `EXISTS` サブクエリの場合) 。 [#107095](https://github.com/ClickHouse/ClickHouse/pull/107095) ([Groene AI](https://github.com/groeneai)).
* 設定の再読み込み時に ZooKeeper セッションが不必要に再作成される問題を修正しました。 [#107096](https://github.com/ClickHouse/ClickHouse/pull/107096) ([Azat Khuzhin](https://github.com/azat)).
* アクセス エンティティ の更新時に、ZooKeeper の読み取り中に mutex を保持し続けないようにしました。 [#107097](https://github.com/ClickHouse/ClickHouse/pull/107097) ([Azat Khuzhin](https://github.com/azat)).
* `adaptive_write_buffer_initial_size` が極端に大きい値に設定されている場合に、`MergeTree` テーブルへの `INSERT` で発生する `Logical error: Too large size passed to allocator` 例外を修正しました。adaptive write buffer の初期サイズは、現在では buffer の最大値に制限されます。 [#107104](https://github.com/ClickHouse/ClickHouse/pull/107104) ([Groene AI](https://github.com/groeneai)).
* `LowCardinality` メンバーを含む `Variant` 定数を、非単調な決定論的関数である key expression を持つ key column と比較した際に発生する `LOGICAL ERROR` (`Bad cast from type DB::ColumnString to DB::ColumnLowCardinality`) を修正しました (たとえば、`sipHash64(col)` に対する `minmax` スキップ索引) 。 [#107111](https://github.com/ClickHouse/ClickHouse/pull/107111) ([Groene AI](https://github.com/groeneai)).
* `JOIN ... USING` の key に対する修飾付き asterisk (`t.*`) が aggregate function に渡され、outer JOIN の反対側が `Nullable` key を持つ場合 (`join_use_nulls = 0`) に発生する、`Bad cast from type DB::IColumn const* to DB::ColumnNullable const*` という論理エラーを修正しました。 [#107129](https://github.com/ClickHouse/ClickHouse/pull/107129) ([Groene AI](https://github.com/groeneai)).
* コメント変更を `MODIFY SETTING`/`RESET SETTING` と混在させた `ALTER TABLE ... ON CLUSTER` バッチ (たとえば `MODIFY COMMENT 'x', MODIFY SETTING old_parts_lifetime = 123`) が leader レプリカ にのみ適用され、他の レプリカ との不整合が生じる問題を修正しました。あわせて、位置指定またはカラムごとの `SETTINGS` を伴う `MODIFY COLUMN ... COMMENT` が、ローカルのコメントのみの メタデータ 変更として誤分類される問題も修正しました。これにより、カラムの並べ替えが replicated metadata に反映されず、レプリカ の再起動時に `INCOMPATIBLE_COLUMNS` を引き起こす可能性がありました。 [#107142](https://github.com/ClickHouse/ClickHouse/pull/107142) ([Groene AI](https://github.com/groeneai)).
* 再帰項の内部で修飾付き asterisk matcher (たとえば `x.*`) が名前で recursive CTE を参照した場合に発生する `LOGICAL_ERROR` ("Table expression ... data must be initialized") を修正しました。こうした matcher は、その位置で修飾付きカラム (`x.a`) や無修飾 matcher (`*`) と同様に、再帰 table のカラムへ展開されるようになりました。 [#107144](https://github.com/ClickHouse/ClickHouse/pull/107144) ([Groene AI](https://github.com/groeneai)).
* `PREWHERE` より前に on-fly mutations (`apply_mutations_on_fly`) または patch parts が行を filter した場合に、query condition cache によって誤った query results が返される問題を修正しました。`apply_mutations_on_fly = 1` で読み取るクエリが cache を汚染し、その結果、後続の `apply_mutations_on_fly = 0` かつ同じ predicate を使うクエリが、本来読み取るべき mark をスキップして、返される行数が少なすぎることがありました。同じ修正は、`PREWHERE` の前に filter として追加される row-level security policies にも適用されます。制限の厳しい row policy の下で実行されたクエリが、その policy なしで同じ predicate を使用する後続クエリ向けの cache を汚染する可能性がありました。 [#107145](https://github.com/ClickHouse/ClickHouse/pull/107145) ([Groene AI](https://github.com/groeneai)).
* `BACKUP` から `AzureBlobStorage` への修正: バックアップ内でデータファイルをコピーすると、宛先オブジェクトがバックアップディレクトリの外に書き込まれていました。`S3` 宛先での Backup オブジェクトの存在確認は、プレフィックス一覧ではなく正確な `HeadObject` リクエストを使うようになり、類似したプレフィックスを持つキーの誤一致を防ぐようになりました。[#107153](https://github.com/ClickHouse/ClickHouse/pull/107153) ([Pablo Marcos](https://github.com/pamarcos)).
* `quantileExactExclusive`、`quantilesExactExclusive`、`quantileExactInclusive`、`quantilesExactInclusive` における符号付き整数オーバーフローを修正しました。これにより、広い値域にまたがる `Int64` 入力で誤った結果が返される可能性がありました。[#107154](https://github.com/ClickHouse/ClickHouse/pull/107154) ([Groene AI](https://github.com/groeneai)).
* リフレッシャブルmaterialized view に、修飾なしの名前が一時テーブルまたは CTE 名と一致する `REFRESH ... DEPENDS ON <name>` 依存関係がある場合、再起動時に server がクラッシュループに陥る可能性があった `LOGICAL_ERROR` ("Unexpected exception in refresh scheduling") を修正しました。[#107156](https://github.com/ClickHouse/ClickHouse/pull/107156) ([Groene AI](https://github.com/groeneai)).
* config の再読み込み時に起動スクリプトが実行されないようにしました。これは意味的に誤っており、ユーザーの想定にも反するうえ、エラーを起こしやすいことが分かっていたためです。[#107187](https://github.com/ClickHouse/ClickHouse/pull/107187) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 事前予約における `queue_size` の最大値に上限を設定しました。[#107205](https://github.com/ClickHouse/ClickHouse/pull/107205) ([Elian Gidoni](https://github.com/eliangidoni)).
* `group_by_use_nulls` 設定を有効にした状態で `grouping` 関数を使用するクエリで発生していた `Argument ... of GROUPING function is not a part of GROUP BY clause` エラーを修正しました。[#107206](https://github.com/ClickHouse/ClickHouse/pull/107206) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `max_streams_for_union_step` 設定によってユニオンパイプラインが縮小された場合に、`optimize_read_in_order` を有効にした `UNION ALL` に対する `ORDER BY` で結果順序が不正になる問題を修正しました。プランがソート済みの UNION 出力ストリームに依存している場合は、この縮小をスキップするようになりました。[#106880](https://github.com/ClickHouse/ClickHouse/issues/106880) をクローズしました。[#107208](https://github.com/ClickHouse/ClickHouse/pull/107208) ([Vladimir Cherkasov](https://github.com/vdimir)).
* server の終了処理の後半でプロキシ設定を解決する際に、null ポインタ参照が発生する可能性があった問題を修正しました。[#107231](https://github.com/ClickHouse/ClickHouse/pull/107231) ([Pedro Ferreira](https://github.com/PedroTadim)).
* non-replicated `MergeTree` テーブルで、従来の並列レプリカを有効にした lightweight `UPDATE` クエリの問題を修正しました。[#107246](https://github.com/ClickHouse/ClickHouse/pull/107246) ([Groene AI](https://github.com/groeneai)).
* `Iceberg` テーブルへの insert 時に、書き込み block のカラム名が最新スキーマのフィールド ID と一致しない場合に発生していた server の異常終了 (`std::out_of_range` 論理エラー) を修正しました (たとえば、`iceberg_metadata_staleness_ms` のウィンドウ内で同時実行のライターがカラム名を変更した後など) 。これにより、insert は server をクラッシュさせる代わりに、通常のクエリエラーで失敗するようになりました。[#107279](https://github.com/ClickHouse/ClickHouse/pull/107279) ([Groene AI](https://github.com/groeneai)).
* `max_*_thread_pool_free_size > 0` の場合に、静的 thread pools が idle threads を無期限に保持し続けることで、server および local のシャットダウンが停止する不具合を修正しました。[#107291](https://github.com/ClickHouse/ClickHouse/pull/107291) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `s3` table function が、小文字の位置指定 `partition_strategy` (例: `hive`) を暗黙に無視していた問題を修正しました。[#107297](https://github.com/ClickHouse/ClickHouse/pull/107297) ([Julia Kartseva](https://github.com/jkartseva)).
* 並列 block マーシャリングにおける `low_cardinality_allow_in_native_format=0` の処理を修正しました。[#107319](https://github.com/ClickHouse/ClickHouse/pull/107319) ([Azat Khuzhin](https://github.com/azat)).
* `use_skip_indexes_for_top_k` 最適化が有効で、ソートカラムに `minmax` スキップ索引を持つパーツから論理削除 `DELETE` によって行が削除されている場合に、`ORDER BY <col> LIMIT n` が誤った結果 (しばしば空) を返す問題を修正しました。これにより、論理削除されたパーツの古い `minmax` が、実際の上位行を保持しているパーツより優先して評価されることはなくなりました。[#107320](https://github.com/ClickHouse/ClickHouse/pull/107320) ([Groene AI](https://github.com/groeneai)).
* ClickHouse Keeper で、`last_snapshot` (および `mntr` の `zk_latest_snapshot_size`) で報告されるスナップショットのメタデータが、古いスナップショットや重複したスナップショットをインストールした後に巻き戻ることがある不具合を修正しました。これにより、同じ index を持つローカルのスナップショットが、ピアにストリーミング中または S3 にアップロード中の登録済みスナップショットファイルをその場で上書きしてしまう可能性もありました。[#107321](https://github.com/ClickHouse/ClickHouse/pull/107321) ([Antonio Andelic](https://github.com/antonio2368)).
* `MsgPack`、`BSON`、`ORC`、`Parquet`、`JSON`、`DeltaLake`、`Iceberg`、`Paimon` フォーマットで、深くネストしたスキーマまたは値を読み取る際に発生しうるサーバーのスタック overflow (crash) を修正しました。このような深くネストした入力は、現在では例外として拒否されます。[#107341](https://github.com/ClickHouse/ClickHouse/pull/107341) ([Raúl Marín](https://github.com/Algunenano)).
* `SYSTEM SYNC DATABASE REPLICA ... STRICT` における発生しうる論理エラーを修正し、データベースレプリカに対して `STRICT` modifier が実際に有効になるようにしました。[#107344](https://github.com/ClickHouse/ClickHouse/pull/107344) ([Pedro Ferreira](https://github.com/PedroTadim)).
* `DeltaLake` table の読み取り時に、ClickHouse のスキーマで指定されたカラムが Delta の column mapping に存在しない場合 (たとえば Delta log でカラム名が変更または削除された後) に、debug/sanitizer builds でサーバーが abort する問題を修正しました。代わりに、query は捕捉可能な `INCORRECT_DATA` error で失敗するようになりました。[#107347](https://github.com/ClickHouse/ClickHouse/pull/107347) ([Groene AI](https://github.com/groeneai)).
* 補完対象カラムより前の `ORDER BY` カラムで `COLLATE` 照合順序が使われている場合に、`ORDER BY ... WITH FILL` が余分な行を生成する問題を修正しました。現在は、その照合順序を用いたソートプレフィックスで行がグループ化され、sort order と一致するようになりました。[#107365](https://github.com/ClickHouse/ClickHouse/pull/107365) ([Groene AI](https://github.com/groeneai)).
* metadata versions をまたいで既存の `schema-id` が別のスキーマに再割り当てされている Iceberg table を読み取る際に発生する crash (debug builds では `LOGICAL_ERROR`) と、誤った結果を黙って返す不具合 (release builds) を修正しました。このような metadata は現在 `ICEBERG_SPECIFICATION_VIOLATION` で拒否されます。[#107370](https://github.com/ClickHouse/ClickHouse/pull/107370) ([Groene AI](https://github.com/groeneai)).
* `Variant` または `Dynamic` カラムに、空でない単一の variant と NULL が格納されており、かつ関数が入力カラムをそのまま返す場合に、`toString` や `concat` などの関数を適用すると発生する `LOGICAL_ERROR` (`Variant N (T) has size X, but expected Y`) を修正しました。[#107374](https://github.com/ClickHouse/ClickHouse/pull/107374) ([Groene AI](https://github.com/groeneai)).
* scalar subquery に同じ table を読み取るネストした subqueries が含まれている場合に、並列レプリカで発生しうる `Logical error: 'Duplicate announcement received for replica number N'` を修正しました。[#107381](https://github.com/ClickHouse/ClickHouse/pull/107381) ([Groene AI](https://github.com/groeneai)).
* 実行時に変更可能な server settings (`max_server_memory_usage`、`mark_cache_size`、`max_concurrent_queries`、thread pool sizes など) について、`getServerSetting` が `system.server_settings` の報告内容と一致する、現在有効な実際の値を返すように修正しました。[#107388](https://github.com/ClickHouse/ClickHouse/pull/107388) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Decimal` のサイズ引数を持つ `arrayResize` を修正しました。サイズは、生の未スケーリング表現ではなく実際の値として解釈されるようになりました (例: `arrayResize([1, 2, 3], 1.5::Decimal(2, 1))` は 1 要素を返します) 。 [#107389](https://github.com/ClickHouse/ClickHouse/pull/107389) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `use_strict_insert_block_limits` が有効な場合に、`Alias` テーブルへの非同期 `INSERT` で発生していた `LOGICAL_ERROR` (`block.rows() == getRows()`) を修正しました。 [#107400](https://github.com/ClickHouse/ClickHouse/pull/107400) ([Groene AI](https://github.com/groeneai)).
* 論理エラー (`Unexpected return type from equals. Expected Nullable(UInt8). Got UInt8`) を修正しました。これは、論理和 (部分述語) のプッシュダウン最適化で、JOIN によって型が拡張された `USING` キーに条件がプッシュダウンされた場合に発生していました。あわせて、未知の識別子を参照する定数畳み込み可能な `if`/`multiIf` 分岐を含む `JOIN ... USING` クエリで識別子を解決する際に、analyzer で発生していたサーバークラッシュ (segmentation fault) も修正しました。 [#107407](https://github.com/ClickHouse/ClickHouse/pull/107407) ([Groene AI](https://github.com/groeneai)).
* 範囲外のイベント型を持つ細工された集約関数の状態を finalize する際に `windowFunnel` で発生していた heap buffer overflow (サーバークラッシュ) を修正しました。この問題は、任意のユーザーが単一の `SELECT` で到達可能でした。 [#107412](https://github.com/ClickHouse/ClickHouse/pull/107412) ([uwezkhan](https://github.com/uwezkhan)).
* 非有限の浮動小数点値 (`nan` や `inf` など) が `prometheusQuery` / `prometheusQueryRange` テーブル関数の timestamp/duration 引数として渡された場合の未定義動作を修正しました。このような引数は、無効な timestamp を生成する代わりに `BAD_ARGUMENTS` を返すようになりました。 [#107417](https://github.com/ClickHouse/ClickHouse/pull/107417) ([Groene AI](https://github.com/groeneai)).
* PostgreSQL のデータベース名またはテーブル名に大文字が含まれている場合に、`MaterializedPostgreSQL` が変更のレプリケーションを黙って停止してしまう問題を修正しました (`pgoutput` コンシューマーが、大小文字を保持する publication と一致しない、引用符なしの小文字の publication 名を要求していました) 。 [#107423](https://github.com/ClickHouse/ClickHouse/pull/107423) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* キー式 (`ORDER BY`、`PRIMARY KEY`、`PARTITION BY`、またはスキップ `INDEX`) に、右辺がテーブルの `IN` 演算子が含まれている場合 (例: `ORDER BY (x IN some_table)`) に発生していた例外 (`Logical error: Not-ready Set is passed as the second argument for function 'in'`) を修正しました。このようなキー式は、今後はテーブル作成時に拒否されます。 [#107424](https://github.com/ClickHouse/ClickHouse/pull/107424) ([Groene AI](https://github.com/groeneai)).
* `NULL` ペイロード値を保持する集約関数 (`*_respect_nulls` ファミリー: `anyRespectNulls`, `first_value_respect_nulls`, `anyLast_respect_nulls`, `last_value_respect_nulls`) に対する `optimize_rewrite_aggregate_function_with_if` 最適化で誤った結果になる問題を修正しました。この最適化では、そのような関数に対して `f(if(cond, x, NULL))` を `-If` 形式に rewrite しないようになりました。 [#107430](https://github.com/ClickHouse/ClickHouse/pull/107430) ([Groene AI](https://github.com/groeneai)).
* ローカルディスク上のオブジェクトストレージのディレクトリ (例: `local` ディスク上の Iceberg table) を一覧表示している間にファイルが同時に置き換えられると、誤って `filesystem error: in last_write_time: No such file or directory` 例外が発生する問題を修正しました。同時に削除されたエントリは、一覧表示を中断する代わりに省略されるようになりました。 [#107432](https://github.com/ClickHouse/ClickHouse/pull/107432) ([Groene AI](https://github.com/groeneai)).
* `optimize_if_transform_strings_to_enum = 1` のとき、最適化された文字列リテラル上の `if`/`transform` 式が、分散テーブルまたは並列レプリカ上の `GROUP BY` または `ORDER BY` キーである場合に発生していた `THERE_IS_NO_COLUMN` エラーを修正しました。 [#107455](https://github.com/ClickHouse/ClickHouse/pull/107455) ([Groene AI](https://github.com/groeneai)).
* distinct キーの集合を初期化している最中に割り当てが失敗した場合 (たとえばメモリ制限に達した場合) に発生し得た、`DISTINCT` 処理中のまれなサーバークラッシュを修正しました。[#107467](https://github.com/ClickHouse/ClickHouse/pull/107467) ([Groene AI](https://github.com/groeneai)).
* 保留中の on-fly `UPDATE` があるテーブルで `apply_mutations_on_fly = 1` を使用し、その対象カラムが、`ALTER MODIFY COLUMN ... LowCardinality(...)` mutation より前の on-fly `UPDATE` で関数入力としても参照されている場合に発生していた `LOGICAL_ERROR: Unexpected return type from materialize` (および同様の型不一致エラー) を修正しました。[#107475](https://github.com/ClickHouse/ClickHouse/pull/107475) ([Groene AI](https://github.com/groeneai)).
* `S3` 経由で `DeltaLake` テーブルを読み取る際に、AWS STS credentials が古いままになる問題を修正しました。エンジンはスナップショットの refresh 時に、更新済み credentials を持つ `S3` クライアントを保持するようになり、長時間実行される読み取りが STS トークンの TTL 失効後に失敗しなくなりました。また、STS assume-role credentials provider は、STS を使用するあらゆる `S3` アクセスでの credential refresh にも対応するようになりました。[#107480](https://github.com/ClickHouse/ClickHouse/pull/107480) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `CREATE TABLE ... CLONE AS`、`ATTACH PARTITION ... FROM`、または `MOVE PARTITION ... TO TABLE` によって通常の `MergeTree` から `ReplacingMergeTree`、`SummingMergeTree`、`AggregatingMergeTree` に part を取り込んだあと、`SELECT ... FINAL` および `OPTIMIZE TABLE ... FINAL` が重複行を返していた問題を修正しました。ソースと宛先の engine が異なる場合、取り込まれた part の merge level は 0 にリセットされるようになり、宛先側で次回の merge 時に重複排除されます。[#107481](https://github.com/ClickHouse/ClickHouse/pull/107481) ([Groene AI](https://github.com/groeneai)).
* PostgreSQL ワイヤプロトコルのパーサーにおける整数 underflow を修正しました。長さフィールドが 4 未満のメッセージにより `size - 4` のラップアラウンドが発生し、過大な `resize`/`ignore` につながっていました。[#107485](https://github.com/ClickHouse/ClickHouse/pull/107485) ([uwezkhan](https://github.com/uwezkhan)).
* ReplicatedMergeTree で quorum を待機している間のクエリキャンセルが、より適切に追跡されるようになりました。[#107513](https://github.com/ClickHouse/ClickHouse/pull/107513) ([Nikita Taranov](https://github.com/nickitat)).
* `PARTITION BY` キーを持つテーブルに対して、より大きな expression 内に含まれた `IN`/`NOT IN` サブクエリ (たとえば `WHERE (c0 IN (SELECT ...)) != 0`) を含むクエリを実行した際に発生していた `Not-ready Set is passed as the second argument for function 'in'` (`LOGICAL_ERROR`) を修正しました。[#107515](https://github.com/ClickHouse/ClickHouse/pull/107515) ([Groene AI](https://github.com/groeneai)).
* 非同期挿入の flush 経路 (`async_insert = 1` の場合) で、`currentUser()`, `user()`, `SESSION_USER`, `authenticatedUser()` が空文字列に評価されていた問題を修正しました。これにより、これらの関数を参照する `DEFAULT`/`MATERIALIZED` カラム expression や materialized view で、挿入ユーザーではなく空文字列が警告なしに保存されていました。[#107541](https://github.com/ClickHouse/ClickHouse/pull/107541) ([Groene AI](https://github.com/groeneai)).
* `enable_analyzer = 1` (デフォルト) では、別のデータベースにしか存在しないテーブルを修飾なしの名前でクエリした場合に、右テーブルが提案されるようになりました。たとえば `SELECT * FROM functions` は `Maybe you meant system.functions?` と表示します。以前は新しいアナライザはヒントのない `Unknown table expression identifier` エラーを返していましたが、古いアナライザはすでにこの有用な提案を出していました。[#107550](https://github.com/ClickHouse/ClickHouse/pull/107550) ([Groene AI](https://github.com/groeneai)).
* rapidjson ライブラリ (`prettyPrintJSON`、`JSONMergePatch`、および rapidjson JSON パーサー) が使用するメモリを memory tracker に計上するようにし、病的な入力が無制限に割り当てを行う代わりに `MEMORY_LIMIT_EXCEEDED` で拒否されるようにしました。[#107555](https://github.com/ClickHouse/ClickHouse/pull/107555) ([Raúl Marín](https://github.com/Algunenano)).
* `optimize_prewhere_after_pushdown` が有効な状態で、明示的な `PREWHERE` と `WHERE` の両方を指定して `file()`、`url()`、またはオブジェクトストレージソースをクエリした際に発生していた `LOGICAL_ERROR` (`updateFormatPrewhereInfo called more than once`) を修正しました。[#107568](https://github.com/ClickHouse/ClickHouse/pull/107568) ([Groene AI](https://github.com/groeneai)).
* 分散クエリプランをローカルで実行した場合 (`make_distributed_plan` + `distributed_plan_execute_locally`) に、`log_formatted_queries = 1` で発生し得たクラッシュ (null pointer dereference) を修正しました。[#107570](https://github.com/ClickHouse/ClickHouse/pull/107570) ([Groene AI](https://github.com/groeneai)).
* 分散プランクエリ (`make_distributed_plan = 1`) の終了処理中に、ワーカーのステータスチェックが次回のチェックを再スケジュールできなかった場合 (たとえば、シャットダウン時の `CANNOT_SCHEDULE_TASK` や `MEMORY_LIMIT_EXCEEDED`) に発生していたサーバー異常終了 (`std::terminate`, signal 6) を修正しました。これにより、クエリは正常に失敗し、サーバーはそのまま稼働し続けます。[#107575](https://github.com/ClickHouse/ClickHouse/pull/107575) ([Groene AI](https://github.com/groeneai)).
* Elf および DWARF のパースに、不足していた bounds チェックを追加しました。[#107579](https://github.com/ClickHouse/ClickHouse/pull/107579) ([Michael Kolupaev](https://github.com/al13n321)).
* ORC リーダーに不足していた bounds チェックを追加しました。[#107580](https://github.com/ClickHouse/ClickHouse/pull/107580) ([Michael Kolupaev](https://github.com/al13n321)).
* `Replicated` database 内の `TimeSeries` table を含む `RENAME TABLE`、`RENAME DATABASE`、または `CREATE OR REPLACE TABLE` で発生し得た例外 (`Digest does not match` 論理エラー) を修正しました。`TimeSeries` table のリネームがサポートされるようになりました。[#107583](https://github.com/ClickHouse/ClickHouse/pull/107583) ([Groene AI](https://github.com/groeneai)).
* MySQL プロトコルのポートにおける、未認証でメモリ枯渇を引き起こせるサービス拒否攻撃を修正しました。[#107599](https://github.com/ClickHouse/ClickHouse/pull/107599) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `Replicated` database 内の `TimeSeries` table に対する `DROP TABLE` を修正しました。従来は内部 table が残存し、バックグラウンドの drop task が無期限に再試行され続けていました (`DROP TABLE ... SYNC` はハングしていました) 。[#107604](https://github.com/ClickHouse/ClickHouse/pull/107604) ([Groene AI](https://github.com/groeneai)).
* replicated part fetch プロトコルにおける 2 件のパストラバーサル問題を修正しました。これにより、悪意のあるレプリカが part directory の外にファイルを書き込める可能性がありました。[#107606](https://github.com/ClickHouse/ClickHouse/pull/107606) ([Antonio Andelic](https://github.com/antonio2368)).
* Azure 経由で Delta Lake table を読み取る際の 'Account must be specified error' を修正しました。[#107620](https://github.com/ClickHouse/ClickHouse/pull/107620) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* プレーンな `MergeTree` table に対する `ALTER TABLE ... REPLACE PARTITION` で、サーバー再起動後に置き換え済みの part が復活し、table が置換後の行と古い置換済みの行の両方を返してしまっていた問題を修正しました。[#107623](https://github.com/ClickHouse/ClickHouse/pull/107623) ([Groene AI](https://github.com/groeneai)).
* クエリを `enable_analyzer = 0` で実行している際に、ターゲットが `Distributed` table の materialized view を読み取るとサーバーがクラッシュする問題を修正しました。[#107653](https://github.com/ClickHouse/ClickHouse/pull/107653) ([Groene AI](https://github.com/groeneai)).
* 複数の quotas が同じ user または role に割り当てられている場合、これまでは 1 つの quota のみが適用され、しかも非決定論的に選ばれていましたが、今後はそれらすべてが同時に適用されます (いずれか 1 つでも超過するとクエリは拒否されます) 。`SHOW QUOTA` と `system.quota_usage` には、current user に対して適用されているすべての quotas が表示されるようになりました。[#107664](https://github.com/ClickHouse/ClickHouse/pull/107664) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `s3` およびその他のオブジェクトストレージのテーブル関数で、キー・バリュー引数が重複した場合に `BAD_ARGUMENTS` ではなく `LOGICAL_ERROR` が送出される問題を修正しました。例: `s3('http://...', format = 'CSV', format = 'TSV')`。 [#107670](https://github.com/ClickHouse/ClickHouse/pull/107670) ([Groene AI](https://github.com/groeneai)).
* `MySQL Connector/J` 8.2.0 以降 (9.x を含む) で MySQL インターフェイスを使用できなかった問題を修正しました。`OK` パケットの `info` フィールドは、MySQL server と同様に長さエンコードされるようになり、JDBC driver が接続できるようになりました。 [#107693](https://github.com/ClickHouse/ClickHouse/pull/107693) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `make_distributed_plan = 1` を指定したクエリで、関数でラップしたキー同士を結合する際、両辺に共通の型がない場合 (たとえば右側のキーが `UInt64` の `ON intDiv(-1, t1.key) = t2.key`) に `LOGICAL_ERROR` ("Input nodes size mismatch in dag") が発生する問題を修正しました。 [#107701](https://github.com/ClickHouse/ClickHouse/pull/107701) ([Groene AI](https://github.com/groeneai)).
* Apache Arrow Java \< 19.0.0 (Apache Spark を含む) が生成した、空の `String`/`Binary` カラムを含む Arrow/ArrowStream データの読み取り時に、`INCORRECT_DATA` が送出される問題を修正しました。 [#107764](https://github.com/ClickHouse/ClickHouse/pull/107764) ([Raúl Marín](https://github.com/Algunenano)).
* クエリが、事前に型変換されていない別型のリテラルとカラムを比較した場合 (例: `numeric_col IN (SELECT '5')` または `string_col IN (SELECT 5)`) に、`countmin` カラム STATISTICS の推定で `BAD_GET` 例外 ("Bad get: has String, requested UInt64") が発生する問題を修正しました。 [#107793](https://github.com/ClickHouse/ClickHouse/pull/107793) ([Groene AI](https://github.com/groeneai)).
* リモートのテーブル構造を推定している間にブリッジが応答しなくなると、`odbc` および `jdbc` テーブル関数が数分間ハングし、クエリのキャンセル (`KILL QUERY`, `max_execution_time`) を無視する問題を修正しました。 [#107809](https://github.com/ClickHouse/ClickHouse/pull/107809) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `s3`/`gcs` テーブル関数の secret 引数で、位置指定形式と名前付き形式を混在させた不正なクエリ (例: `s3('url', 'a', 'b', secret_access_key = 'c')`) をフォーマットする際に、例外 (`Logical error: 'index >= result.start'`) が発生する問題を修正しました。 [#107818](https://github.com/ClickHouse/ClickHouse/pull/107818) ([Groene AI](https://github.com/groeneai)).
* `LowCardinality` カラムに対して set スキップ索引 が granule をプルーニングしない問題を修正しました。 [#107868](https://github.com/ClickHouse/ClickHouse/pull/107868) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* サーバー設定 `insert_deduplication_version = new_unified_hash` 使用時に、挿入の重複排除が `String` および `Array` カラムに対して誤ったハッシュを計算する問題を修正しました。重複排除ハッシュが挿入された block 内での行の位置に依存していたため、同一の insert でも重複排除に失敗することがありました。 [#107915](https://github.com/ClickHouse/ClickHouse/pull/107915) ([Sema Checherinda](https://github.com/CheSema)).
* JIT-compiled なソートコンパレータで符号拡張が欠けていたことにより、macOS (Apple Silicon) で複数のソートキーを持つ `Nullable` カラムに対する `ORDER BY` の結果が不正になる問題を修正しました。 [#107973](https://github.com/ClickHouse/ClickHouse/pull/107973) ([Raúl Marín](https://github.com/Algunenano)).
* 複数スレッドで `Dynamic` カラムを読み取る際の性能低下を修正しました。原因は [#100730](https://github.com/ClickHouse/ClickHouse/pull/100730) です。[#107942](https://github.com/ClickHouse/ClickHouse/issues/107942) をクローズします。 [#107997](https://github.com/ClickHouse/ClickHouse/pull/107997) ([Pavel Kruglov](https://github.com/Avogar)).
* 非推奨のデータレイク設定 `storage_catalog_url` が、catalog guard によって正しく拒否されるようになりました (従来は `storage_catalog_type` と `storage_aws_access_key_id` のみがチェック対象でした) 。また、エラーメッセージにすべての非推奨設定が表示されるようになりました。[#108040](https://github.com/ClickHouse/ClickHouse/pull/108040) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LIKE` クエリが、スパースに格納されたカラムに対して direct-read fallback path 経由で `text` 索引を読み取る際に発生していた `Bad cast from type DB::ColumnSparse to DB::ColumnVector<char8_t>` 論理エラーを修正しました。[#108068](https://github.com/ClickHouse/ClickHouse/pull/108068) ([Groene AI](https://github.com/groeneai)).
* 空の batch であっても、アクセスキャッシュの batch-finished handlers が常に実行されるようにしました。[#108124](https://github.com/ClickHouse/ClickHouse/pull/108124) ([Azat Khuzhin](https://github.com/azat)).
* `UNION ALL` を含む一部のクエリで発生していた `LOGICAL_ERROR` (`Column identifier is already registered`) を修正しました。[#100770](https://github.com/ClickHouse/ClickHouse/pull/100770) ([Shaohua Wang](https://github.com/tiandiwonder)).
* server のシャットダウン中に workload storage mutex で発生していた use-after-free を修正しました。[#101447](https://github.com/ClickHouse/ClickHouse/pull/101447) ([Tuan Pham Anh](https://github.com/tuanpach)).
* `Shared` カタログでの `ALTER DATABASE MODIFY COMMENT` におけるデッドロックを修正しました。[#103683](https://github.com/ClickHouse/ClickHouse/pull/103683) ([Nikolay Degterinsky](https://github.com/evillique)).
* 空の Unicode 引用識別子では、`CANNOT_PARSE_QUOTED_STRING` ではなく `SYNTAX_ERROR` が発生するようになりました。[#104173](https://github.com/ClickHouse/ClickHouse/pull/104173) ([leonard9893](https://github.com/leonard9893)).
* `timeSeries*` aggregate functions の元の parameter 型を保持することで、`AggregateFunction` type がテーブルの再 Attach や 並列レプリカをまたいでも正しく往復変換されるようにしました。[#104812](https://github.com/ClickHouse/ClickHouse/pull/104812) ([Vitaly Baranov](https://github.com/vitlibar)).
* 並列レプリカ使用時に `serialize_query_plan` 下のマテリアライズド CTE で発生していた `LOGICAL_ERROR` を修正しました。[#104896](https://github.com/ClickHouse/ClickHouse/pull/104896) ([Igor Nikonov](https://github.com/devcrafter)).
* staleness (window) parameter が `INT64_MAX` に近い場合に `timeSeries*ToGrid` functions で発生していた、符号付き整数の overflow を修正しました。[#105319](https://github.com/ClickHouse/ClickHouse/pull/105319) ([Groene AI](https://github.com/groeneai)).
* `compatibility` setting の値によって `apply_row_policy_after_final` が `false` に戻されることがなくなり、row policies が `FINAL` とともに常に正しく適用されるようになりました。[#105637](https://github.com/ClickHouse/ClickHouse/pull/105637) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `posix_spawn` stub で `SETPGROUP`/`RESETIDS`/`SETSIGDEF` を尊重するようにし、`clickhouse chdig client` を修正しました。[#105858](https://github.com/ClickHouse/ClickHouse/pull/105858) ([Azat Khuzhin](https://github.com/azat)).
* merge/mutate executor が初期化されていない場合に、projections に対する merge-tree の整合性チェック中に発生していた例外を修正しました。[#105919](https://github.com/ClickHouse/ClickHouse/pull/105919) ([Mikhail Artemenko](https://github.com/Michicosun)).
* projections に対する索引解析中、`minmax` 索引が親 part ではなく projection 自体から読み込まれるようになり、正しい結果が得られるようになりました。[#105940](https://github.com/ClickHouse/ClickHouse/pull/105940) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `materialize(monotonic_chain(...))` に対する `addMonotonicChain` で発生していた例外を修正しました。[#106050](https://github.com/ClickHouse/ClickHouse/pull/106050) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `MASKING POLICY` の依存オブジェクトを含むバックアップで `RESTORE` が失敗する問題を修正しました。[#106086](https://github.com/ClickHouse/ClickHouse/pull/106086) ([Julia Kartseva](https://github.com/jkartseva)).
* `prefer_column_name_to_alias` が有効な場合に、SQL user-defined functions の展開中に発生する可能性があるメモリ破損を修正しました。[#106121](https://github.com/ClickHouse/ClickHouse/pull/106121) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* bridge connection を使用する Dictionary は、server の再起動後に接続を再確立して再ロードされるようになりました。[#106151](https://github.com/ClickHouse/ClickHouse/issues/106151) をクローズしました。[#106152](https://github.com/ClickHouse/ClickHouse/pull/106152) ([Pedro Ferreira](https://github.com/PedroTadim)).
* `LocalObjectStorage` のファイルシステムキャッシュを修正しました。[#106239](https://github.com/ClickHouse/ClickHouse/pull/106239) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `use_delayed_remote_source` を使用する table function の遅延リモートログソースを修正しました。[#106470](https://github.com/ClickHouse/ClickHouse/pull/106470) ([Nikolay Degterinsky](https://github.com/evillique)).
* グリッド開始前の timestamp および window 外の timestamp に対する `timeSeriesLastToGrid` を修正しました。[#106504](https://github.com/ClickHouse/ClickHouse/pull/106504) ([Vitaly Baranov](https://github.com/vitlibar)). [#106577](https://github.com/ClickHouse/ClickHouse/pull/106577) ([Vitaly Baranov](https://github.com/vitlibar)).
* クエリパラメータを含む関数名で発生する `LOGICAL_ERROR` (`Inconsistent AST formatting`) を修正しました。[#106635](https://github.com/ClickHouse/ClickHouse/pull/106635) ([Vitaly Baranov](https://github.com/vitlibar)).
* distributed plan task の deserialization 前に table が削除された場合に発生する論理エラーを修正しました。[#106944](https://github.com/ClickHouse/ClickHouse/pull/106944) ([Alexander Gololobov](https://github.com/davenger)).
* `Nullable` の `GROUP BY` キーで厳密比較を使用するようにしました。[#107050](https://github.com/ClickHouse/ClickHouse/pull/107050) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* table function の argument がカラム expression ではない場合 (たとえば `multiIf`/`CASE` の未解決の `*` matcher) に発生する `LOGICAL_ERROR` (`Trying to get name of not a column`) を修正しました。[#107411](https://github.com/ClickHouse/ClickHouse/pull/107411) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 多数の異なる無効な time-zone 名が処理された際に、time-zone cache (`DateLUT`) が無制限に増大する問題を修正しました。[#107464](https://github.com/ClickHouse/ClickHouse/pull/107464) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 通常の `MergeTree` mutation を完了として報告する前に、`part_log` エントリを書き込むようにしました。[#107741](https://github.com/ClickHouse/ClickHouse/pull/107741) ([Azat Khuzhin](https://github.com/azat)).
* `arrayFold` が、不正な入力に対して array argument の妥当性をチェックするようになりました。[#107932](https://github.com/ClickHouse/ClickHouse/pull/107932) ([Michael Kolupaev](https://github.com/al13n321)).
* `MergeTree` part の cached skip-index archive reader における、まれに発生する data race と use-after-free の可能性を修正しました。これは、part の移動またはリネーム中にクエリが skip indices を読み取った場合に発生することがありました。[#107995](https://github.com/ClickHouse/ClickHouse/pull/107995) ([Raúl Marín](https://github.com/Algunenano)).
* `PREWHERE` 使用時の `Map` subcolumns のパフォーマンス低下を修正しました。[#107988](https://github.com/ClickHouse/ClickHouse/pull/107988) ([Pavel Kruglov](https://github.com/Avogar)).
* タイムゾーン付きの `parseDateTimeBestEffort` が、`toString(Nullable(DateTime64))` の NULL 行で `CANNOT_PARSE_DATETIME` を投げる問題を修正しました。[#108310](https://github.com/ClickHouse/ClickHouse/pull/108310) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `ArrowFlight` の table function と engine で、オプションの `dataset` キーを省略した named collection が `No such key 'dataset'` エラーで拒否される問題を修正しました。[#108041](https://github.com/ClickHouse/ClickHouse/pull/108041) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CODEC` または engine 宣言内で、引数を取らない window function に対して発生する `Inconsistent AST formatting` 論理エラー (例: `CODEC(cume_dist() OVER (...))`) を修正しました。これにより、この種の関数は括弧を保持するようになり、クエリがフォーマット/parse の往復変換を通過できるようになりました。[#107806](https://github.com/ClickHouse/ClickHouse/pull/107806) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 区切り文字を含む needle を指定した `hasToken` が、`BAD_ARGUMENTS` を返さずにテキスト索引経由で結果を黙って返してしまう問題を修正しました。[#108189](https://github.com/ClickHouse/ClickHouse/pull/108189) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 設定 `use_skip_indexes_on_data_read` は、`compatibility` 設定を通じて 26.1 より前の既定値 (`false`) に戻せるようになりました。これにより、on-data-read パスによって `minmax`/`set`/`bloom_filter` のスキップ索引における mark-range pruning が機能しなくなる性能劣化への回避策が提供されます。[#108330](https://github.com/ClickHouse/ClickHouse/pull/108330) ([egor romanov](https://github.com/egor-click)).
* `remote`/`remoteSecure` に渡した named collection の `database`/`db` 上書きが定数の database 名でない場合 (例: `remote(nc, database = (SELECT 1))`) に発生しうるクラッシュ (null pointer dereference) を修正しました。これにより、クエリはクラッシュするのではなく、明確なエラーで失敗するようになりました。[#108271](https://github.com/ClickHouse/ClickHouse/pull/108271) ([Groene AI](https://github.com/groeneai)).
* ZooKeeper connection が不適切なタイミングで失われた場合に、リフレッシャブルmaterialized view が停止したままになる問題を修正しました。[#108234](https://github.com/ClickHouse/ClickHouse/pull/108234) ([Michael Kolupaev](https://github.com/al13n321)).
* 既定値で埋められた `Array(Tuple(...))` カラムの読み取り時に発生する `Bad cast from type DB::ColumnVector<...> to DB::ColumnTuple` を修正しました。これは、たとえば `ALTER TABLE ... ADD COLUMN` の後や、その場で適用された未完了の `ALTER TABLE ... CLEAR COLUMN` mutation の後に起こることがありました。[#107232](https://github.com/ClickHouse/ClickHouse/pull/107232) ([Groene AI](https://github.com/groeneai)).
* 共通スーパータイプが `Dynamic` の `JOIN ... USING` キーへの明示的な参照を aggregate function に渡したときに発生する `Bad cast from type DB::ColumnDynamic to DB::ColumnNullable` 論理エラーを修正しました。たとえば `count(t.key) IGNORE NULLS` のようなケースです。[#107289](https://github.com/ClickHouse/ClickHouse/pull/107289) ([Groene AI](https://github.com/groeneai)).
* 未適用の論理更新 `UPDATE` パッチが残っているパーティションに対して `REPLACE PARTITION`、`MOVE PARTITION`、`DETACH PARTITION`、または `DETACH PART` を実行した際、通常の (non-replicated) `MergeTree` でデータが黙って失われる問題を修正しました。これらの操作は、`ReplicatedMergeTree` と同様にコマンドを拒否するようになりました。[#107386](https://github.com/ClickHouse/ClickHouse/pull/107386) ([Groene AI](https://github.com/groeneai)).
* `Dynamic` な key を持つ `Map` に対する `has` で、lookup 引数が `LowCardinality` の場合に発生するクラッシュ (リリース build では SIGSEGV、デバッグ build では型不一致 assertion) を修正しました。例: `has(map('a'::Dynamic, ...), toLowCardinality('b'))`。[#107956](https://github.com/ClickHouse/ClickHouse/pull/107956) ([Groene AI](https://github.com/groeneai)).
* `TO` ターゲットテーブルで、ビューの `SELECT` が生成するものよりも広い `Enum` を持つカラムが宣言されている materialized view への insert 時に発生していた `LOGICAL_ERROR` ("Block structure mismatch ... between `ConvertingTransform` and `RemovingReplicatedColumnsTransform`") を修正しました。これにより、有効な `Enum` の拡張が正しく適用されるようになりました。[#107648](https://github.com/ClickHouse/ClickHouse/pull/107648) ([Groene AI](https://github.com/groeneai)).
* 同じ式に展開される複数の `ALIAS` カラムを持つ `Distributed` テーブルにクエリする場合 (または並列レプリカを使用する場合) に、それらを `ORDER BY`/`GROUP BY`/`HAVING` とあわせて参照すると発生していた `NUMBER_OF_COLUMNS_DOESNT_MATCH` エラーを修正しました。[#107913](https://github.com/ClickHouse/ClickHouse/pull/107913) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* 入力文字列が 32768 バイトを超え、文字セットを検出できない場合に、`detectCharset` および `detectLanguageUnknown` 関数で発生していた未定義動作 (null ポインタが `memcpy` に渡される) を修正しました。[#108250](https://github.com/ClickHouse/ClickHouse/pull/108250) ([Groene AI](https://github.com/groeneai)).
* `Int64` の範囲限界に近い極端な `DateTime64` 値に対して、`hour` および `minute` 単位で `dateDiff` を使用した際に発生していた `signed integer overflow` (未定義動作) を修正しました。[#108229](https://github.com/ClickHouse/ClickHouse/pull/108229) ([Groene AI](https://github.com/groeneai)).
* 空のマージ済みパーツに対するテキスト索引で発生していた `Too many marks` を修正しました。[#106867](https://github.com/ClickHouse/ClickHouse/pull/106867) ([Azat Khuzhin](https://github.com/azat)).
* `ALTER UPDATE col = ... WHERE <cond>` で条件が非定数または false で、その後に `ALTER MODIFY COLUMN col <new type>` を実行した場合に、`apply_mutations_on_fly = 1` のもとでカラムを読み取る際に発生していた `LOGICAL_ERROR` ("Unexpected return type from if") を修正しました。[#108128](https://github.com/ClickHouse/ClickHouse/pull/108128) ([Groene AI](https://github.com/groeneai)).
* `Array(Dynamic)` または `Array(Variant)` を `accurateCastOrNull` で `QBit` に CAST した際に発生していたサーバー abort (`IColumn::insertFrom` における `Logical error`) を修正しました。例: `accurateCastOrNull(CAST(range(114), 'Array(Dynamic)'), 'QBit(Float32, 114)')`。[#108288](https://github.com/ClickHouse/ClickHouse/pull/108288) ([Groene AI](https://github.com/groeneai)).
* `DESCRIBE TABLE (...) AS ...` でサブクエリの後にエイリアスが続く場合に発生していた構文エラーを修正しました。[#100205](https://github.com/ClickHouse/ClickHouse/pull/100205) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `getClientHTTPHeader` は非決定論的として正しく扱われるようになり、その結果がクエリ結果キャッシュで誤って再利用されなくなりました。[#108029](https://github.com/ClickHouse/ClickHouse/pull/108029) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* `delta-kernel-rs` を `default-engine-native-tls` feature 付きでビルドし、その HTTP client (`reqwest`) が ClickHouse にすでにリンクされている OpenSSL を再利用できるようにしました。これは `native-tls` の有効化としては一部にとどまります。`object_store` は引き続き `reqwest/rustls-tls-native-roots` を強制するため、`reqwest` は結果として `native-tls` と `rustls` の両方の backend を持つことになります。さらに、`ring` は依然として `object_store` 経由でコンパイルされるため (`rustls` 経由の推移的依存関係と、AWS リクエストの HMAC 署名向けの直接利用の両方) 、`delta-kernel-rs` は現時点では MSan では無効のままです。また、`ring` の手書きアセンブリは MSan が必要とするシンボルを生成しません ([arrow-rs-object-store#585](https://github.com/apache/arrow-rs-object-store/pull/585) でアップストリーム追跡中) 。 [#96856](https://github.com/ClickHouse/ClickHouse/pull/96856) ([Austin Bonander](https://github.com/abonander)).
* `clickhouse` binary に対し、PGO (Profile-Guided Optimization) と BOLT (Binary Optimization and Layout Tool) によるリンク後最適化を追加しました。profiles は CI workloads から収集され、release ビルド時にベストエフォートで適用されます。どちらの stage でも、profile が stale であるか互換性がない場合は、非最適化の出力に fall back します。現時点では、PGO による効果は確認されていません。 [#100938](https://github.com/ClickHouse/ClickHouse/pull/100938) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse keeper-bench` に `--storage` mode を追加し、`KeeperStorage` を in-process (network、raft、ステートマシンなし) で benchmark できるようにしました。設定には、network mode と同じ `setup`/`generator` config セクションを使用します。 [#103081](https://github.com/ClickHouse/ClickHouse/pull/103081) ([Michael Kolupaev](https://github.com/al13n321)).
* `ENABLE_AWS_S3=OFF` でのビルドを修正しました。 [#105390](https://github.com/ClickHouse/ClickHouse/pull/105390) ([Yue Ni](https://github.com/niyue)).
* `mongo-cxx-driver` を r4.3.0 に更新しました。 [#105522](https://github.com/ClickHouse/ClickHouse/pull/105522) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* RapidJSON に対するビルドを修正しました。 [#105674](https://github.com/ClickHouse/ClickHouse/pull/105674) ([Ilya Golshtein](https://github.com/ilejn)).
* 広く使われている base/ ヘッダーから推移的 include を削除し、vendor 提供の `Poco/Logger.h` から未使用コードを除去することで、ビルドを高速化しました。 [#105702](https://github.com/ClickHouse/ClickHouse/pull/105702) ([Raúl Marín](https://github.com/Algunenano)).
* `libxml2` を 2.15.1 から 2.15.3 に更新しました。 [#105985](https://github.com/ClickHouse/ClickHouse/pull/105985) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Poco 内で `expat` 2.8.1 を使用するようにしました。 [#105988](https://github.com/ClickHouse/ClickHouse/pull/105988) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `thrift` を `v0.23.0` に更新しました。 [#105993](https://github.com/ClickHouse/ClickHouse/pull/105993) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `postgres` tag `REL_18_4` を使用するようにしました。 [#105994](https://github.com/ClickHouse/ClickHouse/pull/105994) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `krb5` を 1.22.2 にアップグレードしました。 [#106076](https://github.com/ClickHouse/ClickHouse/pull/106076) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* 同梱の `curl` を 8.20.0 に更新しました。 [#106077](https://github.com/ClickHouse/ClickHouse/pull/106077) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `mariadb-connector-c` を 3.1.29 に更新しました。ClickHouse 関連のすべてのパッチは維持されています。[#106287](https://github.com/ClickHouse/ClickHouse/pull/106287) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* libssl3t64 の CVE 修正のため、distroless ベースイメージのダイジェストを更新しました。[#106360](https://github.com/ClickHouse/ClickHouse/pull/106360) ([Rahul Nair](https://github.com/motsc)).
* `wasmtime` v45.0.1 を使用するようにしました。[#106836](https://github.com/ClickHouse/ClickHouse/pull/106836) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `openssl` を 3.5.7 に更新しました。[#106844](https://github.com/ClickHouse/ClickHouse/pull/106844) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Distroless Docker build で、完全なバージョンタグだけでなく、`:X.Y-distroless` および `:X.Y.Z-distroless` のフローティングタグも更新されるようになりました。[#106932](https://github.com/ClickHouse/ClickHouse/pull/106932) ([Rahul Nair](https://github.com/motsc)).
* NTLM 認証、cookies、alt-svc、HSTS、DNS-over-HTTPS、netrc、MIME、AWS SigV4 など、未使用の `curl` 機能を無効化しました。[#107226](https://github.com/ClickHouse/ClickHouse/pull/107226) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* snapshot の I/O がバックグラウンドスレッド上で実行された際に発生していた snapshot-install の livelock を修正した `NuRaft` を反映しました。`nuraft_use_bg_thread_for_snapshot_io` Keeper 設定は引き続きデフォルトで無効です。CI では現在、両方のモードをカバーするため、この設定をランダム化しています。[#107338](https://github.com/ClickHouse/ClickHouse/pull/107338) ([Antonio Andelic](https://github.com/antonio2368)).
* ClickHouse の checkout path にヘッダ拡張子に一致する substring が含まれている場合に、`abseil` を build できない問題を修正しました。[#107349](https://github.com/ClickHouse/ClickHouse/pull/107349) ([zhiqiang](https://github.com/zhiqiang-hhhh)).
* x86\_64 では、musl libc で利用できない glibc 固有の `sysconf(_SC_LEVEL2_CACHE_SIZE)` ではなく、`CPUID` から L2 キャッシュサイズを判定するようにしました。[#107469](https://github.com/ClickHouse/ClickHouse/pull/107469) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* 深くネストしたクエリをサポートするため、musl build の stack サイズを 8 MiB に増やしました。[#107470](https://github.com/ClickHouse/ClickHouse/pull/107470) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Rust の静的ライブラリ内でローカライズされる C ライブラリシンボルの集合を、手動管理の allowlist ではなく実際の reference libraries から導出するようにし、これによりすべての compiler-rt builtins とプラットフォームの libm 関数をカバーできるようにしました。[#107571](https://github.com/ClickHouse/ClickHouse/pull/107571) ([Raúl Marín](https://github.com/Algunenano)).
* distroless の server および Keeper イメージを `gcr.io/distroless/base-nossl-debian13` に切り替え、ClickHouse が実際にリンクしているライブラリだけを含め、自前で静的リンクしているライブラリを取り込まないようにしました。[#107837](https://github.com/ClickHouse/ClickHouse/pull/107837) ([Rahul Nair](https://github.com/motsc)).
* stale-skipped されていた macOS (`arm_darwin`) 上の stateless tests 50 件を再び有効化し、macOS での directory 同期には `F_FULLFSYNC` ではなく `fsync` を使うようにしました。[#107887](https://github.com/ClickHouse/ClickHouse/pull/107887) ([Raúl Marín](https://github.com/Algunenano)).

<div id="265">
  ### ClickHouseリリース 26.5、2026-05-21。[プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.5/)、[ビデオ](https://www.youtube.com/watch?v=P1IDAvsi7p8)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* `date_time_input_format` と `cast_string_to_date_time_mode` のデフォルトを `basic` から `best_effort` に変更しました。これまで basic 以外の datetime 文字列 (例: `2024 April 4`, `Apr 15, 2020 10:30:00`) をパースできず失敗していたクエリも、今後はデフォルトで成功する可能性があります。従来の厳格なパース動作を維持するには、これらの設定を `basic` に設定してください (または `compatibility` を使用してください) 。 [#89334](https://github.com/ClickHouse/ClickHouse/pull/89334) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Nullable の null map で使われるサブカラム名と競合し、サブカラムの解決が曖昧になるため、Tuple 要素名 `null` は使用禁止になりました。 [#98377](https://github.com/ClickHouse/ClickHouse/pull/98377) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 動的ディスクで `from_env`、`from_zk`、`include` を使用できないようにするため、設定 `dynamic_disk_allow_from_env`、`dynamic_disk_allow_from_zk`、`dynamic_disk_allow_include` を追加しました。以前はデフォルトで許可されていた動作が、今後はデフォルトで禁止されるため、後方互換性を持たない変更です。 [#99138](https://github.com/ClickHouse/ClickHouse/pull/99138) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 廃止された Arrow ベースの Parquet リーダーおよびライターは、今後使用できなくなりました。代わりにネイティブ実装が使用されます。 [#100949](https://github.com/ClickHouse/ClickHouse/pull/100949) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SHOW CREATE TABLE t` は、永続 table と一時テーブルの両方に `t` という名前が存在し、database が指定されていない場合、`DESCRIBE TABLE` の既存の動作に合わせて一時テーブルを優先するようになりました。さらに、`DESCRIBE TEMPORARY TABLE` 構文もサポートされました。 [#100966](https://github.com/ClickHouse/ClickHouse/pull/100966) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* HTTP connections による認証前の memory usage を制限するため、デフォルトの `http_max_fields` を 1,000,000 から 1,000 に、`http_max_field_name_size` を 128 KB から 4 KB に引き下げました。また、`http_max_request_header_size` と `http_headers_read_timeout` 設定を追加しました。以前のより高い上限に依存している Users は、設定でそれらを復元できます。 [#103285](https://github.com/ClickHouse/ClickHouse/pull/103285) ([Sema Checherinda](https://github.com/CheSema)).
* `system.metric_log` に、登録されているすべての histogram metric を行ごとにスナップショットする `histograms` nested カラムを追加しました。あわせて、ゼロ値を出力するかどうかを制御する新しい設定 `system_metric_log_show_zero_values_in_histograms` も追加しました。これにより `system.histogram_metric_log` table は非推奨になります。 [#103770](https://github.com/ClickHouse/ClickHouse/pull/103770) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 明示的な time zone を指定しない `DateTime` または `DateTime64` への `CAST` は、ソース argument の time zone (ソースが明示的な time zone を持つ `DateTime`/`DateTime64` の場合) を保持するようになり、`toDateTime`/`toDateTime64` 関数の動作と一致するようになりました。[#55072](https://github.com/ClickHouse/ClickHouse/issues/55072) をクローズします。 [#104433](https://github.com/ClickHouse/ClickHouse/pull/104433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `kql` table function を削除しました。KQL ダイアレクトで queries を実行するには、`SET dialect = 'kusto'` を使用してください。 [#105101](https://github.com/ClickHouse/ClickHouse/pull/105101) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* window functions の `RANK` と `DENSE_RANK` は、SQL 標準に従い、arguments を受け付けず、指定すると `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` を throw するようになりました。以前は、`RANK(x) OVER (ORDER BY id)` のようなクエリも、argument を無視したまま暗黙に受け入れられていました。以前の緩やかな動作に戻すには、`allow_rank_dense_rank_arguments = 1` を設定してください。 [#49526](https://github.com/ClickHouse/ClickHouse/issues/49526) をクローズします。 [#104324](https://github.com/ClickHouse/ClickHouse/pull/104324) ([Groene AI](https://github.com/groeneai)).

<div id="267-new-feature">
  #### 新機能
</div>

* `max_bytes_ratio_before_external_group_by` および `max_bytes_ratio_before_external_sort` に対応する新しい設定 `max_bytes_ratio_before_external_join` を追加しました。これは、ハッシュ結合におけるディスクへの spill のしきい値を、利用可能なメモリに対する比率で表すものです。絶対値の `max_bytes_before_external_join` と組み合わせた場合は、より小さい方のしきい値が適用されます。[#103862](https://github.com/ClickHouse/ClickHouse/pull/103862) ([Alexey Milovidov](https://github.com/alexey-milovidov)). 新しい `max_bytes_ratio_before_external_join` 設定は、`max_bytes_ratio_before_external_group_by` および `max_bytes_ratio_before_external_sort` と同様に、デフォルトで 0.5 に設定され有効になります。右側のデータが利用可能なシステムメモリの半分を超えると (メモリ制限が設定されている場合) 、ハッシュ結合は自動的に Grace Hash Join に spill します。[#104285](https://github.com/ClickHouse/ClickHouse/pull/104285) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* table function `filesystem` を追加しました。これにより、ディレクトリ構造をテーブルとして表現し、ファイルのメタデータや内容を SQL でクエリできるようになります。元の実装は [#42039](https://github.com/ClickHouse/ClickHouse/pull/42039) の @perst20 によるものです。[#42039](https://github.com/ClickHouse/ClickHouse/issues/42039) を参照してください。[#50208](https://github.com/ClickHouse/ClickHouse/issues/50208) を参照してください。[#53610](https://github.com/ClickHouse/ClickHouse/pull/53610) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `arrayMap`、`arrayFilter` などの高階関数に、関数名だけをそのまま渡せるようにしました。たとえば、`arrayMap(negate, [1, 2, 3])` は `arrayMap(x -> negate(x), [1, 2, 3])` と等価になりました。[#101033](https://github.com/ClickHouse/ClickHouse/pull/101033) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 設定 `send_table_structure_on_insert_with_inline_data` と client オプション `--inline-insert-data` を追加し、ネイティブプロトコル経由で server 自身がインライン INSERT データをパースできるようにしました。これにより、テーブル構造を受け取るためのラウンドトリップを回避し、多数の小さな insert のパフォーマンスを向上させます。[#101034](https://github.com/ClickHouse/ClickHouse/pull/101034) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SQL クエリのトークン化と構文ハイライトのための関数 `tokenizeQuery` と `highlightQuery` を追加しました。`tokenizeQuery` は、lexer の token をバイト offset および token type とともに返します。`highlightQuery` は、ハイライトカテゴリ (keyword、identifier、function、number、string など) 付きの、パーサーに基づく構文ハイライト範囲を返します。[#101054](https://github.com/ClickHouse/ClickHouse/pull/101054) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* RFC 3986 のセマンティクスに従って、`url` table function および `URL` table engine で relative URL を解決するための設定 `url_base` を追加しました。[#101113](https://github.com/ClickHouse/ClickHouse/pull/101113) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LIMIT BY` clause で負の値をサポートし、各グループの先頭ではなく *末尾* から行を選択できるようにしました。たとえば、`LIMIT -2 BY id` は `id` ごとの最後の 2 行を返します。負の OFFSET (`LIMIT -1 OFFSET -1 BY id`) および符号が混在する指定 (`LIMIT -2 OFFSET 1 BY id`) もサポートされます。[#103222](https://github.com/ClickHouse/ClickHouse/pull/103222) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 複数の json クエリのパフォーマンス向上のため、`json_value` 関数で `tuple` および `array` への出力をサポートしました。[#78362](https://github.com/ClickHouse/ClickHouse/pull/78362) ([kevinyhzou](https://github.com/KevinyhZou)). @KevinyhZou により、`JSON_VALUE`、`JSON_EXISTS`、`JSON_QUERY` で複数パスの `Tuple`/`Array` JSONPath argument をサポートしました。[#101102](https://github.com/ClickHouse/ClickHouse/pull/101102) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 新しい `kafka_autodetect_client_rack` パラメータが導入されました。設定すると、クラウド環境の機能を利用して Availability Zone を検出し、それを `librdkafka` の `client.rack` パラメータとして伝播することで、ゾーン間通信を回避します。[#81323](https://github.com/ClickHouse/ClickHouse/pull/81323) ([Ilya Golshtein](https://github.com/ilejn)).
* オブジェクトストレージの読み取り操作を追跡するため、`system.blob_storage_log` に `Read` イベントタイプを追加しました。これは新しい設定 `enable_blob_storage_log_for_read_operations` で制御されます。[#96867](https://github.com/ClickHouse/ClickHouse/pull/96867) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ユーザーは、新しい `system.zookeeper_watches` テーブルを使用して、`clickhouse-server` が発行した ZooKeeper のウォッチを確認できるようになりました。[#99277](https://github.com/ClickHouse/ClickHouse/pull/99277) ([Den Kalantaevskii](https://github.com/Diskein)).
* すべてのテーブルをまたいで合算した、分散クエリに関与する分片数をカウントする `Shards` プロファイルイベントを追加しました。[#99470](https://github.com/ClickHouse/ClickHouse/pull/99470) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `WASM` UDF を `DETERMINISTIC` として宣言できるようになり、定数畳み込みの対象になります。[#100005](https://github.com/ClickHouse/ClickHouse/pull/100005) ([Vasily Chekalkin](https://github.com/bacek)).
* `parallel_replicas_prefer_local_replica` 設定を追加しました。無効にすると、並列レプリカはロードバランシングアルゴリズムのみに基づいて選択されるため、`max_parallel_replicas = 1` のクエリであっても別のホストに送られる可能性があります。[#100139](https://github.com/ClickHouse/ClickHouse/pull/100139) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 送信 HTTP 接続の TCP ソケットバッファサイズを制御するための `{disk,storage,http}_connections_rcvbuf` および `{disk,storage,http}_connections_sndbuf` サーバー設定を追加しました。これにより、運用者はカーネルの自動調整を上書きし、接続ごとのメモリ使用量に上限を設定できます。[#100478](https://github.com/ClickHouse/ClickHouse/pull/100478) ([Sema Checherinda](https://github.com/CheSema)).
* `CREATE OR REPLACE TABLE` と同じアトミックスワップのセマンティクスで `CREATE OR REPLACE MATERIALIZED VIEW` をサポートしました。内部テーブル、`TO` テーブル、`POPULATE`、`REFRESH`、`ON CLUSTER` で動作します。[#100539](https://github.com/ClickHouse/ClickHouse/pull/100539) ([DQ](https://github.com/il9ue)).
* S3 GET リクエストの接続ライフタイムと消費バイト数を観測するため、`s3_read_request_duration_microseconds` および `s3_read_request_bytes` ヒストグラムメトリクスを追加しました。これらは `system.histogram_metrics` と Prometheus エンドポイントで確認できます。[#102058](https://github.com/ClickHouse/ClickHouse/pull/102058) ([Sema Checherinda](https://github.com/CheSema)).
* Keeper の snapshot 進捗追跡を基盤として、インクリメンタル読み取りをサポートする `Paimon`、`PaimonS3`、`PaimonAzure`、`PaimonHDFS`、`PaimonLocal` の table engine を追加しました。インクリメンタルモードでは、最後に commit 済みの snapshot 以降の新しい行のみを返します。特定 snapshot の delta 読み取りは `paimon_target_snapshot_id` で利用でき、クエリごとの snapshot 上限は `max_consume_snapshots` で設定できます。バックグラウンドのメタデータのリフレッシュは `paimon_metadata_refresh_interval_sec` で構成可能です。`allow_experimental_paimon_storage_engine` で制御されます。[#102343](https://github.com/ClickHouse/ClickHouse/pull/102343) ([XiaoBinMu](https://github.com/Binnn-MX)).
* 新しい Kafka table 設定 `kafka_map_virtual_columns_on_write` を追加しました。有効にすると、Kafka table スキーマ内の `_key`、`_timestamp`、`_headers.name`、`_headers.value` という名前のカラムは、`INSERT` 時に対応する Kafka メッセージの key、timestamp、headers として生成され、メッセージペイロードからは除外されます。[#103243](https://github.com/ClickHouse/ClickHouse/pull/103243) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* リフレッシュ可能なマテリアライズドビュー向けに、`SYSTEM PAUSE VIEW [db.]name` および `SYSTEM PAUSE VIEWS` クエリを追加しました。`SYSTEM STOP VIEW` とは異なり、`SYSTEM PAUSE VIEW` は現在実行中のリフレッシュを中断しません。進行中のリフレッシュは完了まで継続され、以降のリフレッシュのみが抑止されます。解除には `SYSTEM START VIEW` または `SYSTEM START VIEWS` を使用し、これらは停止状態と一時停止状態の両方を一律にクリアするようになりました。[#103252](https://github.com/ClickHouse/ClickHouse/pull/103252) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* 文字列内で N 番目に一致した正規表現のバイト位置を返す関数 `regexpPosition` (PostgreSQL 互換の別名 `regexpInstr` および `regexp_instr` を含む) を追加しました。開始オフセット、一致後の位置を返すモード、正規表現フラグ、キャプチャグループの選択をサポートします。[#104172](https://github.com/ClickHouse/ClickHouse/pull/104172) ([Abhinav Agarwal](https://github.com/aagarwal-gtr)).
* 素数判定のための新しい関数 `isPrime` と `isProbablePrime` を追加しました。`isPrime` は `UInt64` までの符号なし整数に対して正確な結果を返します。`isProbablePrime` は `UInt128` と `UInt256` にも対応しており、これらのより広い型では、`0` は確実に合成数、`1` はおそらく素数であることを意味します。`isProbablePrime` の省略可能な第 2 引数 `rounds` は信頼度を制御し (上限は `256`) 、デフォルトの `25` ラウンドでは、ランダムな合成数に対する偽陽性率は `10^-15` 未満に抑えられます。また、`isProbablePrime` はキャンセル可能です。[#104234](https://github.com/ClickHouse/ClickHouse/pull/104234) ([Nihal Z. Miaji](https://github.com/nihalzp)). [#104639](https://github.com/ClickHouse/ClickHouse/pull/104639) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#104806](https://github.com/ClickHouse/ClickHouse/pull/104806) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `clear` と `/clear` は、誤ってクエリとして実行されるのではなく、clickhouse のコマンドラインツールでターミナルをクリアするようになりました。[#104318](https://github.com/ClickHouse/ClickHouse/pull/104318) ([Tyler Hannan](https://github.com/tylerhannan)).
* `SELECT` クエリで、`file` テーブル関数が `Array(String)` のパスを受け取れるようになりました。[#104442](https://github.com/ClickHouse/ClickHouse/pull/104442) ([Yue](https://github.com/niyue)).
* `system.functions` テーブルに `deterministic` および `higher_order` カラムを追加しました。[#104479](https://github.com/ClickHouse/ClickHouse/pull/104479) ([Pedro Ferreira](https://github.com/PedroTadim)).
* 非 SegWit アドレスのエンコード (例: Cosmos SDK、Injective、Osmosis) 向けに、`bech32Encode` に省略可能なエンコーディングのバリアントパラメーター (`bech32` / `bech32m`) を、`bech32Decode` に生デコードモードを追加しました。[#98986](https://github.com/ClickHouse/ClickHouse/pull/98986) ([Yash ](https://github.com/Onyx2406)).
* これまで入力専用だった `AvroConfluent` フォーマットで、データを書き込めるようになりました。これにより、たとえば Kafka への書き込み時に、Confluent スキーマレジストリ形式の Avro メッセージを ClickHouse から直接生成できます。スキーマは自動的にスキーマレジストリへ登録されます。subject 名を指定するには、新しい `output_format_avro_confluent_subject` 設定を使用してください。[#101935](https://github.com/ClickHouse/ClickHouse/pull/101935) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* JSON 文字列を人が読みやすい形式に整形する `prettyPrintJSON` 関数を追加しました。これまで整形にクライアント側で追加の手順が必要だったダッシュボードやレポートで便利です。[#62523](https://github.com/ClickHouse/ClickHouse/issues/62523) をクローズします。[#102594](https://github.com/ClickHouse/ClickHouse/pull/102594) ([Dmitry Prokofyev](https://github.com/prokofyevDmitry)).
* PostgreSQL / SQL 標準との互換性のため、`groupConcat` の大文字と小文字を区別しないエイリアスとして `STRING_AGG` を追加しました。[#105125](https://github.com/ClickHouse/ClickHouse/pull/105125) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 特定のサブクエリに `SETTINGS use_query_cache = true` を指定することで、外側のクエリ全体をキャッシュせずに、各サブクエリの結果を個別にキャッシュできるようになりました。新しい設定 `query_cache_for_subqueries = true` を使用すると、`use_query_cache` をすべてのサブクエリに一括で伝播できます。注: 外側のクエリに指定した `use_query_cache` は、サブクエリに自動伝播されなくなりました。[#99804](https://github.com/ClickHouse/ClickHouse/pull/99804) ([Vincent Voyer](https://github.com/vvo)).
* Web UI (`play.html`) のクエリエディタに、`clickhouse-client` の配色を参考にしたレキサーベースのシンタックスハイライトを追加しました。[#105105](https://github.com/ClickHouse/ClickHouse/pull/105105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* WebSocket 経由でブラウザ内に対話型の `clickhouse-client` セッションを提供する、実験的なウェブターミナル インターフェイスを `/webterminal` に追加しました。デフォルトでは無効で、`allow_experimental_webterminal` サーバー設定で有効にできます。 [こちら](https://play.clickhouse.com/webterminal?user=play) で確認できます。 [#100277](https://github.com/ClickHouse/ClickHouse/pull/100277) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#105191](https://github.com/ClickHouse/ClickHouse/pull/105191) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#105059](https://github.com/ClickHouse/ClickHouse/pull/105059) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Kafka2` エンジン (実験的機能で、Keeper ベースのオフセット保存を使用) が、直接 `SELECT` クエリと `kafka_commit_on_select` 設定をサポートするようになりました。 [#100276](https://github.com/ClickHouse/ClickHouse/pull/100276) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `WASM` UDFs は、より多くの数値型の型強制に対応しました。たとえば、より小さい整数型からより広い整数型へ (`Int8` から `UInt64` など) 、および任意の整数型から浮動小数点型へ (`Int32` から `Float32` など) 変換できます。 [#100435](https://github.com/ClickHouse/ClickHouse/pull/100435) ([Vasily Chekalkin](https://github.com/bacek)).
* `DELETE FROM system.webassembly_modules` クエリで `LIKE` 関数をサポートしました。 [#104397](https://github.com/ClickHouse/ClickHouse/pull/104397) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `Iceberg` で Geo 型をサポートしました。 [#103113](https://github.com/ClickHouse/ClickHouse/pull/103113) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* ArrowFlight SQL server にプリペアドステートメント機能を追加しました。 [#103047](https://github.com/ClickHouse/ClickHouse/pull/103047) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* KQL パーサー (Kusto 言語サポート用) の堅牢性を改善しました。KQL パーサーの各段階でパーサーの深さとバックトラックのカウンターを維持することで、複雑な KQL クエリでもパーサーの制限を一貫して追跡できるようになりました。 [#103528](https://github.com/ClickHouse/ClickHouse/pull/103528) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* `file` table function または `File` table engine 経由でローカルの Parquet files を読み込む際に、Parquet フッターのメタデータキャッシュを再利用するようにしました。従来は、このメタデータキャッシュは object storage の backend でしか参照されていませんでした。[#104260](https://github.com/ClickHouse/ClickHouse/pull/104260) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ソートキーが join によって保持される側のカラムのみを参照している場合、`LEFT`/`RIGHT` joins に対して `ORDER BY ... LIMIT n` を push down し、join 前に保持側の入力が生成する必要のある行数を制限します。これは新しい設定 `query_plan_top_k_through_join` (デフォルトで有効) で制御されます。[#104268](https://github.com/ClickHouse/ClickHouse/pull/104268) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ORDER BY ... LIMIT N` クエリのパフォーマンスを向上させるため、`use_top_k_dynamic_filtering` および `use_skip_indexes_for_top_k` 設定をデフォルトで有効にしました。[#99537](https://github.com/ClickHouse/ClickHouse/pull/99537) ([Alexey Milovidov](https://github.com/alexey-milovidov)). また、`use_top_k_dynamic_filtering` はデフォルトで固定長のソートカラムに限定されるようになり、行ごとのしきい値比較コストが I/O 削減の効果を上回る `ORDER BY <var-length-column> LIMIT N` クエリでの性能低下を回避します。従来の動作は、新しい `use_top_k_dynamic_filtering_for_variable_length_types` 設定で利用できます。[#104216](https://github.com/ClickHouse/ClickHouse/pull/104216) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `jemalloc` の oversize-arena 機能を使用してページフォールトを削減します。[#103958](https://github.com/ClickHouse/ClickHouse/pull/103958) ([Nikita Taranov](https://github.com/nickitat)).
* Peak memory usage を抑えるため、`UNION ALL` で同時にアクティブになる streams を制限します。[#100176](https://github.com/ClickHouse/ClickHouse/pull/100176) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ユーザー空間 page cache をわずかに最適化しました。[#100300](https://github.com/ClickHouse/ClickHouse/pull/100300) ([Alexey Milovidov](https://github.com/alexey-milovidov)). これにより、ユーザー空間 page cache は常に OS page cache より優れたものになりました。
* ユーザー空間 page cache (`use_page_cache_for_object_storage = 1`) 経由で object storage をコールド read する場合の速度が大幅に向上しました。これは、連続する cache miss が `page_cache_block_size` block ごとに 1 件の HTTP request になるのではなく、1 件の HTTP request にまとめられるようになったためです。[#104230](https://github.com/ClickHouse/ClickHouse/pull/104230) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 型変換や function の適用を伴う索引解析を高速化しました。[#55653](https://github.com/ClickHouse/ClickHouse/issues/55653) をクローズします。[#100366](https://github.com/ClickHouse/ClickHouse/pull/100366) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 非常に多くの基になるテーブルを持つ `Merge` tables に対する大規模クエリを高速化しました。[#32465](https://github.com/ClickHouse/ClickHouse/issues/32465) をクローズします。[#100369](https://github.com/ClickHouse/ClickHouse/pull/100369) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 設定のフィールド型から vtable を削除し、`Settings` のコピーサイズを約 28 分の 1 に削減するとともに、すべての設定型で typed-array layout による cache locality の改善を実現しました。[#102269](https://github.com/ClickHouse/ClickHouse/pull/102269) ([Raúl Marín](https://github.com/Algunenano)).
* サーバーの空きメモリが少ない場合にクエリの並列度を自動的に下げるため、`max_threads_min_free_memory_per_thread` および `max_insert_threads_min_free_memory_per_thread` 設定を追加しました。[#100383](https://github.com/ClickHouse/ClickHouse/pull/100383) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 低メモリシステム (\< 4 GiB) での memory usage を削減しました。[#100389](https://github.com/ClickHouse/ClickHouse/pull/100389) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `OptimizeTrivialGroupByLimitPass` を追加しました。単純な `SELECT ... FROM t GROUP BY k LIMIT n` クエリ (`HAVING`、`ORDER BY`、window functions なし) では、アナライザが `max_rows_to_group_by = n + offset` と `group_by_overflow_mode = 'any'` を設定するようになり、入力全体をグループ化する代わりに、`n` 個の異なるキーが生成された時点で aggregation を停止します。これは新しい設定 `optimize_trivial_group_by_limit_query` で制御されます (デフォルトで有効) 。[#104473](https://github.com/ClickHouse/ClickHouse/pull/104473) ([Amos Bird](https://github.com/amosbird)) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `_part_offset` および `_block_number` の仮想カラムに対して、granule レベルの暗黙的な min-max 索引を追加しました。projections にも対応しています。これにより、仮想カラムの predicates に基づく granules の高速な pruning が可能になります。[#103952](https://github.com/ClickHouse/ClickHouse/pull/103952) ([Mikhail Artemenko](https://github.com/Michicosun)). [#104746](https://github.com/ClickHouse/ClickHouse/pull/104746) ([Mikhail Artemenko](https://github.com/Michicosun)). [#105137](https://github.com/ClickHouse/ClickHouse/pull/105137) ([Mikhail Artemenko](https://github.com/Michicosun)).
* aggregation methods の `prealloc_serialized` ファミリーについて、batch-serialization パス中に各行の hash を事前計算し、それを使って (a) `emplaceKey`/`findKey` での再ハッシュを省き、(b) 次の行の bucket を software-prefetch するようにしました。これにより、ハッシュテーブルの cache-miss latency を隠蔽し、複数キーの string/serialized aggregation を高速化します。[#104475](https://github.com/ClickHouse/ClickHouse/pull/104475) ([Amos Bird](https://github.com/amosbird)) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Iceberg` table 向けの query condition cache。[#102115](https://github.com/ClickHouse/ClickHouse/pull/102115) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `cramersV`、`cramersVBiasCorrected`、`theilsU`、`contingency` を window functions とともに使用する場合を最適化しました。[#83521](https://github.com/ClickHouse/ClickHouse/issues/83521) をクローズします。[#93384](https://github.com/ClickHouse/ClickHouse/pull/93384) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `tupleElement(dictGet('dict', ('a', 'b', 'c'), key), N)` を `dictGet('dict', 'a', key)` に書き換えるクエリ最適化を追加し、不要な Dictionary 属性の fetch を回避します。これは `optimize_dictget_tuple_element` 設定で制御されます (デフォルトで有効) 。[#100186](https://github.com/ClickHouse/ClickHouse/pull/100186) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ソートを伴う distributed queries について、イニシエーター上のソート処理で buffering を有効にしました。[#100661](https://github.com/ClickHouse/ClickHouse/pull/100661) ([Nikita Taranov](https://github.com/nickitat)).
* `partial_merge` JOIN のパフォーマンス改善。[#100945](https://github.com/ClickHouse/ClickHouse/pull/100945) ([Artem Zuikov](https://github.com/4ertus2)).
* `partial_merge` JOIN における memory の過剰割り当てをわずかに削減しました。[#100963](https://github.com/ClickHouse/ClickHouse/pull/100963) ([Artem Zuikov](https://github.com/4ertus2)).
* memory-tracker 階層全体を走査する代わりに sampling 設定を cache することで、割り当て/deallocations を最適化しました。[#101267](https://github.com/ClickHouse/ClickHouse/pull/101267) ([Azat Khuzhin](https://github.com/azat)).
* 内部追跡用コンテナーを事前割り当てすることで、S3 multipart upload 時のメモリ割り当て overhead を削減しました。[#101799](https://github.com/ClickHouse/ClickHouse/pull/101799) ([Gagan Dhakrey](https://github.com/gagandhakrey)).
* 大規模な hash table に対するメモリアクセス latency を低減するため、hash join の probe phase に software prefetch を追加しました。設定 `enable_software_prefetch_in_join` で制御されます。[#102444](https://github.com/ClickHouse/ClickHouse/pull/102444) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* `MemoryTracker` のレイアウトを最適化し、パフォーマンスを約 25% 向上させました。[#103464](https://github.com/ClickHouse/ClickHouse/pull/103464) ([Azat Khuzhin](https://github.com/azat)).
* `coalesce(a, b, ...) <op> const` および `ifNull(a, b) <op> const` の predicate を索引解析の前に Rewrite し、各 argument に対するカラムごとの主キーおよびスキップ索引で granule を刈り込めるようにしました。これは新しい設定 `allow_key_condition_coalesce_rewrite` で制御されます (既定で有効) 。[#103468](https://github.com/ClickHouse/ClickHouse/pull/103468) ([Manuel](https://github.com/raimannma)).
* エスケープされたスラッシュの処理を最適化することで、大きな JSON メタデータファイルを持つ Iceberg カタログの読み取り時のクエリパフォーマンスを大幅に改善しました。[#103998](https://github.com/ClickHouse/ClickHouse/pull/103998) ([Mohaidoss](https://github.com/mohaidoss)).
* cache が無効な場合の非圧縮キャッシュのオーバーヘッドを回避するようにしました (server setting `index_uncompressed_cache_size = 0`。これは既定値です) 。[#104063](https://github.com/ClickHouse/ClickHouse/pull/104063) ([Michael Kolupaev](https://github.com/al13n321)).
* 非選択的な `WHERE` filter と組み合わせたときに、小さな limit を持つ `ORDER BY ... LIMIT` クエリで過剰な granule を読み込んでしまう問題を修正しました。従来は、順序付き読み取りの上に filter があると、マーク範囲ごとのタスク分割が無効になり、その結果 pipeline が granule 間でキャンセルできず、各 stream ごとに part 全体を読み込んでいました。[#104112](https://github.com/ClickHouse/ClickHouse/pull/104112) ([Vladimir Cherkasov](https://github.com/vdimir)).
* JOIN の左右を並べ替えた後に、hash table サイズの cache 再利用が行われていなかった問題を修正しました。[#104131](https://github.com/ClickHouse/ClickHouse/pull/104131) ([Nikita Taranov](https://github.com/nickitat)).
* `fsync_after_insert` が有効な場合、part file の fsync が I/O スレッドプールを使って並列に実行されるようになり、列数の多いテーブルでの insert 完了処理が高速化されました。ClickBench の `hits` のフルロードは約 22% 高速化されています。[#104137](https://github.com/ClickHouse/ClickHouse/pull/104137) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* AArch64 で NEON を使って `find_first_symbols`、`find_first_not_symbols`、`find_last_symbols_or_null`、`find_last_not_symbols_or_null`、`splitInto` をベクトル化しました。従来、これらの helpers は x86 (SSE2 / SSE4.2) でのみ SIMD パスを持ち、ARM では scalar ループにフォールバックしていました。これにより、ClickBench の `hits` dataset では TSV のパースが約 2 倍、URL 関数と `splitByChar` が約 1.3 倍高速化されます。一方、非常に高密度な JSON のパース (16 バイト未満間隔の field cadence) は、既存の SSE2 のトレードオフと同様にわずかに低下します。[#104228](https://github.com/ClickHouse/ClickHouse/pull/104228) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 単純な `ALIAS` カラム (例: `some_alias ALIAS m` の `some_alias['key']`) を介したデータ読み取りが、基になるカラムを直接参照する場合と同じ subcolumn ごとの読み取りパスを通るようになり、`Map`、`Array`、`Tuple`、`Nullable` のエイリアス化されたカラムで大きな I/O 削減効果が復元されました。[#104245](https://github.com/ClickHouse/ClickHouse/pull/104245) ([Raúl Marín](https://github.com/Algunenano)).
* クエリごとの `AsyncReadCounters` を lockless にすることで、非同期 remote-FS 読み取りパスでのロック競合を軽減しました。[#104374](https://github.com/ClickHouse/ClickHouse/pull/104374) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* projections の順序付きスキャンに対するクエリプランをわずかに改善しました。[#103723](https://github.com/ClickHouse/ClickHouse/pull/103723) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `optimizeUseNormalProjections` を拡張し、何も filter されていない場合でも、projection の sorting key によってクエリプランからソート処理を除去できる特定のケースに対応しました。[#104680](https://github.com/ClickHouse/ClickHouse/pull/104680) ([Mikhail Artemenko](https://github.com/Michicosun)).
* 型付き `JSON` パスで、`json.path[]` のシンタックスシュガーと明示的な型ヒントが正しく機能するようにしました。[#99179](https://github.com/ClickHouse/ClickHouse/pull/99179) ([Pavel Kruglov](https://github.com/Avogar)).
* `json.path[N].nested.path` (`tupleElement(tupleElement(json.path[N], 'nested'), 'path')` に展開される) を `json.path[].nested.path[N]` に最適化し、読み取るデータ量を大幅に削減しました。[#99802](https://github.com/ClickHouse/ClickHouse/pull/99802) ([Pavel Kruglov](https://github.com/Avogar)).
* `system.parts` における `SHOW TABLES` のアクセスチェックを最適化し、データベースレベルの grant チェックをテーブルごとのループの外に移しました。[#100860](https://github.com/ClickHouse/ClickHouse/pull/100860) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `system.tables` の `SELECT name` / `SELECT database, name` 高速パスにある、テーブルごとの冗長な `SHOW TABLES` アクセスチェックを削除しました。[#100881](https://github.com/ClickHouse/ClickHouse/pull/100881) ([Shaohua Wang](https://github.com/tiandiwonder)).
* macOS で JIT コンパイルを有効にしました。[#100947](https://github.com/ClickHouse/ClickHouse/pull/100947) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 行ポリシーがソートキーのキーカラムのみに依存し、かつ決定論的である場合は、`FINAL` 後に行ポリシーを遅延させないようにしました。また、その場合に行ポリシーによって強制されていた対応する `PREWHERE` の遅延も省略するようにしました。[#102884](https://github.com/ClickHouse/ClickHouse/pull/102884) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* テキスト索引のフィルタ述語として `hasAny` と `hasAll` のサポートを追加しました。[#103266](https://github.com/ClickHouse/ClickHouse/pull/103266) ([Anton Popov](https://github.com/CurtizJ)).
* 長寿命の MergeTree ヒープ状態 (パーツごとおよびテーブルごとのメタデータ) を専用の jemalloc アリーナに割り当て、`jemalloc.mergetree_arena.*` 非同期メトリクスとして公開するようにしました。これにより、定常状態でのデフォルトアリーナの断片化を減らし、パーツ単位で残存するオブジェクトが本来減衰可能なページを保持し続けるのを防ぎます。[#104136](https://github.com/ClickHouse/ClickHouse/pull/104136) ([Raúl Marín](https://github.com/Algunenano)).
* 多数のリクエストを単一セッションでパイプライン化した高負荷時に、ZooKeeper クライアントのタイムアウト処理を改善しました。ZooKeeper クライアントは進捗ベースのタイムアウトを使用するようになり、`session_timeout_ms` 以内にサーバーから何らかのデータを受信している限り、待機時間が延長されます。各リクエストには引き続き `3 * session_timeout_ms` の上限が適用され、呼び出し側のレイテンシを抑えます。[#100466](https://github.com/ClickHouse/ClickHouse/issues/100466) をクローズしました。[#104351](https://github.com/ClickHouse/ClickHouse/pull/104351) ([Antonio Andelic](https://github.com/antonio2368)).
* イベントごとのトレースフラグを別配列に移し、必要になるまで割り当てないようにすることで、`ProfileEvents` トレーシングのオーバーヘッドを削減しました。[#105030](https://github.com/ClickHouse/ClickHouse/pull/105030) ([Azat Khuzhin](https://github.com/azat)).
* `ColumnDecimal` に `compareTrackAt` を追加し、`Decimal` カラムの比較性能を改善しました。[#105110](https://github.com/ClickHouse/ClickHouse/pull/105110) ([Artem Zuikov](https://github.com/4ertus2)).
* 複数の入力を並列にハッシュ化する `MD5` (`AVX2` / `AVX512`) の SIMD 実装を追加し、スループットを改善しました。[#105161](https://github.com/ClickHouse/ClickHouse/pull/105161) ([Joanna Hulboj](https://github.com/jh0x)).

<div id="267-improvement">
  #### 改善
</div>

* すべての ClickHouse アプリケーションでヘルプ出力を改善しました。`--help` は常に終了コード `0` を返し、`stdout` に出力されるようになり、最上位の `clickhouse --help` ではすべてのサブコマンドが一覧表示されます。さらに、`clickhouse start` / `restart` に `--no-sudo` オプション (Docker で便利) を追加し、`clickhouse help` サブコマンドも追加しました。@qoega による [#58244](https://github.com/ClickHouse/ClickHouse/issues/58244) の続きです。[#98148](https://github.com/ClickHouse/ClickHouse/pull/98148) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `input_format_column_name_matching_mode` の既定値が `match_case` から `auto` に変更されました。入力カラム名をテーブルのスキーマと照合する入力フォーマット (`JSONEachRow`, `CSVWithNames`, `JSONColumns`, `BSONEachRow`, `RowBinaryWithNames` など) は、まず大文字小文字を区別して照合し、一致しない場合は大文字小文字を区別しない照合にフォールバックするようになりました。従来の厳密な動作は `compatibility` で維持されます。[#104320](https://github.com/ClickHouse/ClickHouse/pull/104320) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* PostgreSQL/SQL 標準との互換性のため、`STDDEV` を `stddevSamp` の大文字小文字を区別しない別名として追加しました。[#105120](https://github.com/ClickHouse/ClickHouse/pull/105120) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* PostgreSQL 互換性のため、`array_to_string` を `arrayStringConcat` の大文字小文字を区別しない別名として追加しました。[#105121](https://github.com/ClickHouse/ClickHouse/pull/105121) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* PostgreSQL 互換性のため、`unnest` を `arrayJoin` の大文字小文字を区別しない別名として追加しました (関数呼び出し形式) 。[#105124](https://github.com/ClickHouse/ClickHouse/pull/105124) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `clickhouse-client` のプログレスバーに、RAM の横へ一時データのディスク使用量 (たとえば外部ソート、aggregation、または JOIN 用) が表示されるようになり、distributed queries ではホストごとの内訳も確認できるようになりました。[#105190](https://github.com/ClickHouse/ClickHouse/pull/105190) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `system.predicate_statistics_log` を追加しました。これは、predicate filter の selectivity と、クエリごとの MergeTree の index-granule pruning を記録する新しいサンプリングログです。既定では無効で、`predicate_statistics_sample_rate` server setting で有効化できます。自動的な索引および projection の推奨に必要です。[#98727](https://github.com/ClickHouse/ClickHouse/pull/98727) ([Yarik Briukhovetskyi](https://github.com/yariks5s))。
* `skip_unavailable_shards` が有効な場合、テーブルが存在しないローカル分片をスキップできるようにしました。[#100141](https://github.com/ClickHouse/ClickHouse/pull/100141) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* Linux の mdraid アレイが再同期中、または劣化状態にある場合に、起動時警告 (`system.warnings` に表示) を出すようにしました。いずれもディスク I/O 性能に影響する可能性があり、ディスク障害の兆候でもあるためです。[#100941](https://github.com/ClickHouse/ClickHouse/pull/100941) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* WASM UDFs が `system.functions` に正しい `origin` (`WasmUserDefined`) で表示され、`syntax`、`arguments`、`returned_value` カラムに ClickHouse の型メタデータから値が設定されるようになりました。従来は表示されないか、誤った origin の重複項目として表示されていました。[#101053](https://github.com/ClickHouse/ClickHouse/pull/101053) ([Vasily Chekalkin](https://github.com/bacek))。
* `generate_series` table function が負の step 値をサポートし、降順の数列を生成できるようになりました。たとえば `SELECT * FROM generate_series(99, 0, -1)` です。[#101056](https://github.com/ClickHouse/ClickHouse/pull/101056) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 必要に応じてこれらの関数が強い Context を保持するようにし、`DEFAULT`/`MATERIALIZED` 式や table engine の設定などの遅延実行パスで使用した際に、一部の関数 (`dotProduct`、`formatRow`、`structureToCapnProtoSchema`/`structureToProtobufSchema`、user-defined functions) で発生していた `Context has expired` 例外を修正しました。[#101109](https://github.com/ClickHouse/ClickHouse/pull/101109) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ゼロ制限で作成された優先度において、誤って `Cache limits violated` 論理エラーが発生する問題を修正しました (たとえば、`enable_filesystem_query_cache_limit` が有効な場合に使用されるクエリ単位のファイルシステムキャッシュ優先度) 。[#101428](https://github.com/ClickHouse/ClickHouse/pull/101428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `s3express` endpoints の Region を自動検出するようにしました。[#101520](https://github.com/ClickHouse/ClickHouse/pull/101520) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* `Iceberg` への書き込みで、data files のフィールド ID をサポートしました。[#102322](https://github.com/ClickHouse/ClickHouse/issues/102322) をクローズしました。[#102362](https://github.com/ClickHouse/ClickHouse/pull/102362) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* web UI (`play.html`) の左パネルが独立してスクロールするようになり、ページをスクロールしても表示されたままになり、table をクリックするとクエリ領域までスクロールするようになりました。[#102498](https://github.com/ClickHouse/ClickHouse/pull/102498) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 左パネルの ClickHouse ロゴを Ctrl/Cmd/Shift+クリックまたは中クリックすると、Play UI を新しい tab で開けるようにしました。[#102501](https://github.com/ClickHouse/ClickHouse/pull/102501) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* すべての table を対象に、projection 主キーおよび projection index granularity が使用するメモリを追跡するための新しいメトリクスを追加しました。[#102587](https://github.com/ClickHouse/ClickHouse/pull/102587) ([Narasimha Pakeer](https://github.com/npakeer)).
* `max_network_bandwidth_for_user` と `max_network_bandwidth_for_all_users` を、リモートファイルシステムの reads/writes にも適用するようにしました。[#103080](https://github.com/ClickHouse/ClickHouse/pull/103080) ([Azat Khuzhin](https://github.com/azat)).
* グローバルな状態ではなく、スナップショットされた table の状態に基づいて判断するようにすることで、リフレッシュ可能なマテリアライズドビュー が継続的に refresh される場合の backups の耐障害性を向上させました。[#103384](https://github.com/ClickHouse/ClickHouse/pull/103384) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* `SELECT * FROM system.databases` は、`show_data_lake_catalogs_in_system_tables` setting にかかわらず、data lake catalog database を常に一覧表示するようになりました。以前はデフォルトで非表示でしたが、常に表示していた `SHOW DATABASES` と整合していませんでした。[#103444](https://github.com/ClickHouse/ClickHouse/pull/103444) ([Alsu Giliazova](https://github.com/alsugiliazova)).
* code 内の server setting `concurrent_threads_soft_limit_ratio_to_cores` のデフォルト値を、同梱の `config.xml` の値 (`2`) に合わせました。これにより、同梱の `config.xml` を使用しない場合でも、デフォルトの `max_min_fair` concurrent threads scheduler は、初期状態で query processing threads をコア数の 2 倍までに制限します。[#103446](https://github.com/ClickHouse/ClickHouse/pull/103446) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `getURLScheme` で空入力を処理し、`Lexer::nextToken` の `max_query_size` チェックで null ポインタ演算を回避し、空の haystack に対する UTF-8 subsequence evaluation をデコード前に短絡評価することで、パーサーおよび文字列関数のエッジケースにおける sanitizer の堅牢性を向上させました。[#103489](https://github.com/ClickHouse/ClickHouse/pull/103489) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* `divide(0, x)` と `intDiv(0, x)` の単調性推論の正確性を改善しました。従来、これらの関数は無条件に単調と判定されていましたが、`0 / x` は 0 を含む任意の範囲では非単調です。これは `0 / 0` が未定義であるためです (`divide` では `NaN`/`Inf`、`intDiv` ではゼロ除算例外) 。この誤判定により、`KeyCondition::applyMonotonicFunctionsChainToRange` が `left > right` となる範囲を生成し、主キーに対する `IN` / `NOT IN` 式でキーが `divide(0, key)` または `intDiv(0, key)` で包まれている場合、デバッグビルドで `LOGICAL_ERROR` `Invalid binary search result in MergeTreeSetIndex` が発生していました。リリースビルドには影響ありません。これは、このアサーションが `#ifndef NDEBUG` によって有効化されるためです。[#103621](https://github.com/ClickHouse/ClickHouse/pull/103621) ([Groene AI](https://github.com/groeneai)).
* `HTTPConnectionPool*TCP{Rcv,Snd}BufBytes_{p50,p75,p90,p95}` 非同期メトリクスを、`system.histogram_metrics` 内のバケットベースのヒストグラム `http_pool_tcp_buf_bytes` (ラベルは `group`、`direction`) に置き換えました。グループごとの合計非同期メトリクスは引き続き維持されます。[#103704](https://github.com/ClickHouse/ClickHouse/pull/103704) ([Sema Checherinda](https://github.com/CheSema)).
* サーバー設定 `{disk,storage,http}_connections_{rcvbuf,sndbuf}` が、`system.server_settings` で再起動なしで変更可能として表示されるようになりました。これらの値は `SYSTEM RELOAD CONFIG` で更新できます。実行時に適用する仕組み自体は、すでに [#100478](https://github.com/ClickHouse/ClickHouse/issues/100478) の時点で実装されていました。[#103772](https://github.com/ClickHouse/ClickHouse/pull/103772) ([Sema Checherinda](https://github.com/CheSema)).
* `flameGraph` で解決済みシンボル (`Array(String)`) をサポートしました。[#103816](https://github.com/ClickHouse/ClickHouse/pull/103816) ([Azat Khuzhin](https://github.com/azat)).
* CLI クライアントで、端末の色表示が括弧と干渉する環境向けに、設定で `<rainbow_parentheses>false</rainbow_parentheses>` を指定できるようになりました (同様に、`clickhouse format` でも `--no_rainbow_parentheses` が使えるようになりました) 。[#103851](https://github.com/ClickHouse/ClickHouse/pull/103851) ([Larry Snizek](https://github.com/larry-cdn77)).
* 失敗時に部分的な `putNGram` の挿入をロールバックし、失敗した検索パターンをフォールバック検索に切り替えることで、不整合な状態を回避し、`MultiVolnitsky` の UTF-8 大文字小文字を区別しない検索を修正しました。[#103864](https://github.com/ClickHouse/ClickHouse/pull/103864) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* glibc 互換 musl で、`rseq` TLS を介した `sched_getcpu` を実装しました。[#104016](https://github.com/ClickHouse/ClickHouse/pull/104016) ([Azat Khuzhin](https://github.com/azat)).
* APPEND モードの Replicated なリフレッシャブルmaterialized view は、refresh 中に ZooKeeper への接続が一時的に失われても、2 回 refresh されなくなりました。[#104051](https://github.com/ClickHouse/ClickHouse/pull/104051) ([Michael Kolupaev](https://github.com/al13n321)).
* 明示的なカラム一覧のない分散テーブルで、推論されたリモートテーブル構造に対して sharding key を検証できるようにしました。[#104111](https://github.com/ClickHouse/ClickHouse/pull/104111) ([Yue](https://github.com/niyue)).
* `Azure` の `abfss` path での REST カタログの不具合を修正しました。[#104120](https://github.com/ClickHouse/ClickHouse/pull/104120) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Keeper S3 snapshot client で `role_arn` および `role_session_name` の認証設定が尊重されるようになり、snapshot のアップロードで STS `AssumeRole` ベースの認証を使用できるようになりました。[#104140](https://github.com/ClickHouse/ClickHouse/pull/104140) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `MATERIALIZED` CTE を使用するクエリ実行時に発生するメモリリークを修正しました。[#104153](https://github.com/ClickHouse/ClickHouse/pull/104153) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 大規模な非 ASCII データセットの処理時 (たとえばテキスト索引のビルド中) に、累積した出力バッファが 2 GiB を超える場合に発生していた `lowerUTF8` / `upperUTF8` の例外を修正しました。また、過度に長い単一の行は、明確なエラーを返して拒否するようにしました。[#104229](https://github.com/ClickHouse/ClickHouse/pull/104229) ([Shaohua Wang](https://github.com/tiandiwonder)).
* 一時的な I/O 障害が発生しても MergeTree のカラム統計情報の読み込みが堅牢に動作するようにし、影響を受けたパーツで統計ベースの最適化が恒久的に無効化されるのを防ぐようにしました。[#104372](https://github.com/ClickHouse/ClickHouse/pull/104372) ([zoomxi](https://github.com/zoomxi)).
* `INSERT INTO ... SELECT FROM input(...)` で、`CREATE TEMPORARY TABLE` の grant が不要になりました。[#104470](https://github.com/ClickHouse/ClickHouse/pull/104470) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 新しい MergeTree setting `concurrent_part_removal_threshold_for_remote_disk` (デフォルト `16`) を追加しました。削除対象のパーツのうち少なくとも 1 つがリモートディスク上に保存されている場合は、`concurrent_part_removal_threshold` の代わりにこの設定が使用されます。従来のしきい値 `100` では、各削除が個別のネットワーク往復を伴うにもかかわらず逐次実行されていたため、object storage バックエンド上の `DROP TABLE` やその他のパーツ削除操作が数十秒にわたって停止することがありました。この新しい設定により、リモートストレージでは並列削除パスにより早く入るようになり、ローカルディスクでの動作は変わりません。[#104676](https://github.com/ClickHouse/ClickHouse/pull/104676) ([Groene AI](https://github.com/groeneai)).
* 新しい設定 `defer_partition_pruning_after_final` (デフォルト `1`) により、26.3 で導入された、`FINAL` の下ではパーティション pruning をスキップする動作をオプトアウトできるようになりました。これを `0` に設定すると、26.3 より前のパーティション pruning が復元されます。これは、同一 PK の行がパーティションをまたがない event-log workload で大幅な高速化につながります。`compatibility = '26.2'` を指定すると、自動的に `0` になります。[#104705](https://github.com/ClickHouse/ClickHouse/pull/104705) ([Nikita Fomichev](https://github.com/fm4v)).
* 範囲外の入力に対して `intExp2` が誤った結果を返す問題を修正しました (JIT では shifts `>= 64`、両方のコードパスでは絶対値が `INT_MAX` を超える整数) 。[#105054](https://github.com/ClickHouse/ClickHouse/pull/105054) ([Raúl Marín](https://github.com/Algunenano)).
* `clickhouse install` および `clickhouse git-import` で、CLI オプションとパース済みの入力から構築されるシェル引数をクォートするようにし、空白やシェルのメタ文字を含む path、user/group 名、commit hash も正しく扱えるようにしました。[#105232](https://github.com/ClickHouse/ClickHouse/pull/105232) ([Raúl Marín](https://github.com/Algunenano)).
* `Alias` table engine は Experimental ではなくなり、`allow_experimental_alias_table_engine` 設定なしで利用できるようになりました。[#103488](https://github.com/ClickHouse/ClickHouse/pull/103488) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-benchmark` に `--queries-format` オプションを追加し、デフォルトのタブエスケープ済み・1 行 1 クエリ形式の入力 (`tsv`) と、`;` で区切られた複数クエリのスクリプトとして標準入力をパースする形式 (`script`) を選べるようにしました。[#99972](https://github.com/ClickHouse/ClickHouse/pull/99972) ([Aleksandr Musorin](https://github.com/AVMusorin)).
* 要素ごとの tuple 演算子 `tuplePlus`、`tupleMinus`、`tupleMultiply`、`tupleDivide`、`tupleModulo`、`tupleIntDiv`、`tupleIntDivOrZero` が可変長引数に対応し、同じサイズの 2 つ以上の tuple を受け取れるようになりました。要素ごとに左畳み込みとして適用されます。以前は引数をちょうど 2 つしか受け付けませんでした。[#104659](https://github.com/ClickHouse/ClickHouse/pull/104659) ([Aruj Bansal](https://github.com/arujbansal)).
* `/processors-profile` に、`system.query_log` と `system.processors_profile_log` をもとに、過去の任意の `SELECT` クエリのパイプラインをヒートマップとして可視化する新しい組み込み web UI を追加しました。各プロセッサは `elapsed_us` に応じて色分けされ、ホバーするとプロセッサごとの統計情報 (行数、バイト数、待機時間) が表示されます。[#104614](https://github.com/ClickHouse/ClickHouse/pull/104614) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Setting `query_plan_use_logical_join_step` (およびそのエイリアス `query_plan_use_new_logical_join_step`) は廃止され、現在は効果がありません。logical join step は常に使用されます。[#104017](https://github.com/ClickHouse/ClickHouse/pull/104017) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `play.html` と他の組み込み web ページ (`dashboard.html`, `jemalloc.html`, `merges.html`, `binary.html`, `webterminal.html`) の `user` 入力欄は、文字列 `default` が事前入力されなくなりました。代わりに `user` のプレースホルダーが表示され、デフォルトで空になります。空のままにすると、ページは `user=` URL パラメータを送信せず (WebTerminal の認証 JSON でも `user` フィールドは省略されます) 、server は通常どおり `default` ユーザーへのフォールバックを適用します。これにより、他の経路 (`X-ClickHouse-User`、HTTP Basic、ハンドラー単位の `<handler><user>` 設定) で指定された HTTP 認証情報が上書きされることもなくなりました。[#105254](https://github.com/ClickHouse/ClickHouse/pull/105254) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ORC` reader: オフセットベースの読み取り (`readBigAt`) を `use_prefetch` から切り離し、`HDFS` 上の EC エンコードされたデータを `use_prefetch = false` の場合でも (たとえば Gluten によって) 正しく読み取れるようにしました。[#103348](https://github.com/ClickHouse/ClickHouse/pull/103348) ([zhanglistar](https://github.com/zhanglistar)).
* `play.html` から `CSVWithNames` フォーマットでダウンロードしたファイルで、`.csv` ファイル拡張子が使われるようになりました。[#103737](https://github.com/ClickHouse/ClickHouse/pull/103737) ([JackFielding](https://github.com/JackFielding)).
* BigLake カタログの入力検証を強化しました。[#105117](https://github.com/ClickHouse/ClickHouse/pull/105117) ([Konstantin Vedernikov](https://github.com/scanhex12)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* 式が括弧で囲まれていたかどうかを保持することで、フォーマットの不整合を修正しました。[#92340](https://github.com/ClickHouse/ClickHouse/pull/92340) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Decimal 型と Float 型の比較が正しく行われない問題を修正しました。[#94293](https://github.com/ClickHouse/ClickHouse/pull/94293) ([zoomxi](https://github.com/zoomxi)).
* 分散クエリで位置引数を使用できるようにしました。[#94359](https://github.com/ClickHouse/ClickHouse/pull/94359) ([simonmichal](https://github.com/simonmichal)).
* 同名の materialized view を削除して再作成した際に `DatabaseCatalog::updateDependencies` で発生していたアサーション失敗を修正しました。また、参照依存関係が空の場合に `RENAME TABLE` または `EXCHANGE TABLES` の実行中に view の依存関係が黙って失われる問題も修正しました。[#98779](https://github.com/ClickHouse/ClickHouse/pull/98779) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 既存の database と同じ UUID を使って `ON CLUSTER` 経由で table を作成した際に発生していた server の abort (`DatabaseCatalog::getTableImpl` でのアサーション失敗) を修正しました。[#98861](https://github.com/ClickHouse/ClickHouse/pull/98861) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* データ読み取り時 (setting `use_skip_indexes_on_data_read` が有効な場合) のスキップ索引の使用と、論理更新で作成された既存の patch parts の扱いを修正しました。[#99543](https://github.com/ClickHouse/ClickHouse/pull/99543) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリオプティマイザーによって `IN (subquery)` を含む filter が PREWHERE に移動されたときに発生する "Not-ready Set" 例外を修正しました。[#100375](https://github.com/ClickHouse/ClickHouse/pull/100375) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 1 つの `ALTER TABLE` ステートメント内で `ADD COLUMN` と `RENAME COLUMN` を組み合わせた際に発生する "Cannot find column" エラーを修正しました。[#100387](https://github.com/ClickHouse/ClickHouse/pull/100387) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `DETACH`/`ATTACH` または server の再起動後に、`UNION` と `INTERSECT`/`EXCEPT` 演算子が混在する view が誤った結果を返す問題を修正しました。[#100390](https://github.com/ClickHouse/ClickHouse/pull/100390) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* IN clause に correlated subquery が現れた場合に、AST fuzzer によるストレステスト中に発生しうる "Trying to execute PLACEHOLDER action" 例外を修正しました。[#100398](https://github.com/ClickHouse/ClickHouse/pull/100398) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `year`、`month`、`day` 変換でパーティション分割された `Date` カラムを持つ Iceberg table への insert 時に発生する論理エラー例外を修正しました。[#100404](https://github.com/ClickHouse/ClickHouse/pull/100404) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ALTER TABLE MODIFY COLUMN` でカラム型が変更された後に、互換性のないデータに対してスキップ索引が使用される問題を修正しました。この問題により、sanitizer builds での server クラッシュや誤ったクエリ結果が発生する可能性がありました。[#100526](https://github.com/ClickHouse/ClickHouse/pull/100526) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `paimonCluster`、`paimonS3Cluster`、`paimonAzureCluster`、および `deltaLakeS3` table functions で、`query_log` に認証情報が漏えいする問題を修正しました。[#100529](https://github.com/ClickHouse/ClickHouse/pull/100529) ([JIaQi Tang](https://github.com/JiaQiTang98)).
* Kafka エンジン table に対する `DROP TABLE` が、`rd_kafka_consumer_close` でのデッドロックにより無期限にハングする可能性がある問題を修正しました。[#100604](https://github.com/ClickHouse/ClickHouse/pull/100604) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ハードコードされていた `source_table_engines` リストを、`StorageFactory` と `DatabaseFactory` を使った runtime ルックアップに置き換えました。あわせて、ソースエンジン (PostgreSQL、MySQL、S3 など) を使用する `CREATE DATABASE` で、`CREATE TABLE` と同じ source grants が必要になるよう、`source_access_type` を `DatabaseFactory::EngineFeatures` に追加しました。これにより、`table_engines_require_grant=false` のときに `GRANT TABLE ENGINE ON *` が失敗する問題を修正しました。[#71544](https://github.com/ClickHouse/ClickHouse/issues/71544) をクローズしました。[#100746](https://github.com/ClickHouse/ClickHouse/pull/100746) ([pufit](https://github.com/pufit)).
* `ALIAS` カラムに、関数呼び出し内にネストされた相関サブクエリ (例: `ALIAS toString(intDivOrZero(x, (SELECT ...)))`) を含むテーブルの読み取り時に発生する server crash を修正しました。`CREATE TABLE` と `ALTER TABLE` は現在、`DEFAULT` / `ALIAS` / `MATERIALIZED` カラム式内の任意の深さにあるサブクエリを、`THERE_IS_NO_DEFAULT_VALUE` で拒否します。以前は浅い検証のためネストされたサブクエリが通ってしまい、相関ありのケースでは読み取り時に crash が発生し、相関なしのネストされたケースでは一見動作しているように見えても、予期しない挙動につながる可能性がありました。現在はどちらも DDL 時に拒否されます。[#100753](https://github.com/ClickHouse/ClickHouse/pull/100753) ([Groene AI](https://github.com/groeneai)).
* `optimize_substitute_columns` と `convert_query_to_cnf` settings が有効な場合に、`CONSTRAINT ... ASSUME` 定義を持つテーブルに対して相関サブクエリを含むクエリを使用すると発生し得た server crash (`Logical error: Bad cast from type DB::FunctionNode to DB::ColumnNode`) を修正しました。[#100756](https://github.com/ClickHouse/ClickHouse/pull/100756) ([Groene AI](https://github.com/groeneai)).
* JSON column に行を insert した際、その行によって互換性のない値を持つ型付きフィールドと並んで新しい動的フィールドが導入され、その後そのカラムが `GROUP BY` キーとして使用されると発生し得た例外を修正しました。[#100758](https://github.com/ClickHouse/ClickHouse/pull/100758) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* `DiskObjectStorageTransaction` パス (`s3_with_keeper` disks で使われ、`use_fake_transaction=false` の場合には明示的にも使用) を経由する S3 / object storage への書き込みで、workload I/O scheduling が暗黙のうちにバイパスされていた問題を修正しました。以前は、そのようなディスク上の MergeTree テーブルへの INSERT 書き込みで、トランザクション書き込みパスの `WriteSettings` に resource link が注入されていなかったため、`CREATE RESOURCE` / `CREATE WORKLOAD` による throttling が無視されていました。[#100777](https://github.com/ClickHouse/ClickHouse/pull/100777) ([JIaQi Tang](https://github.com/JiaQiTang98)).
* `Protobuf` と `ProtobufList` の間で共有される schema-cache の競合を修正しました。最初に `FORMAT Protobuf` としてメッセージを読み取り、その後 `FORMAT ProtobufList` として読み取ると、`ProtobufList` が cache 済みスキーマを envelope 形式に強制していたため、失敗することがありました。現在は、envelope スキーマが利用できない場合、`ProtobufList` は cache 済みのメッセージ型にフォールバックします。[#100849](https://github.com/ClickHouse/ClickHouse/pull/100849) ([Callum Cooper](https://github.com/callumc34)).
* `std::exception` ABI の不一致による Rust CXX bridge の heap-buffer-overflow を修正しました。[#100931](https://github.com/ClickHouse/ClickHouse/pull/100931) ([Azat Khuzhin](https://github.com/azat)).
* `FunctionVariantAdaptor` は、すべての `Variant` の代替型が関数と非互換な場合、黙って `Nullable(Nothing)` を返すのではなく、`ILLEGAL_TYPE_OF_ARGUMENT` を throw するようになりました。以前は、どの代替型も互換性がない `WHERE function(variant_col)` predicate は、エラーなしで 0 行を返していましたが、同等の `SELECT` コンテキストではすでに正しく throw されていました。[#100939](https://github.com/ClickHouse/ClickHouse/pull/100939) ([Vasily Chekalkin](https://github.com/bacek)).
* データベースにビューが含まれていても、`TRUNCATE ALL TABLES` は失敗しなくなりました。[#100943](https://github.com/ClickHouse/ClickHouse/pull/100943) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `optimize_rewrite_array_exists_to_has` の最適化を修正し、型互換性のないケース (例: Date と String) を正しく処理できるようにしたうえで、デフォルトで再有効化しました。 [#100944](https://github.com/ClickHouse/ClickHouse/pull/100944) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* S3 設定の優先順位を修正し、`storage_configuration` のディスク設定がグローバルな `<s3>` セクションより優先され、さらにユーザー/プロファイル/クエリレベルの設定がその両方より優先されるようにしました。 [#100975](https://github.com/ClickHouse/ClickHouse/pull/100975) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* BFloat16、Float32、Float64 のカラムで、スパースなシリアライゼーションにより負のゼロ (-0.0) の符号が失われる問題を修正しました。 [#100983](https://github.com/ClickHouse/ClickHouse/pull/100983) ([Takumi Hara](https://github.com/takumihara)).
* WKT エンコードされた GeoParquet および Arrow ファイルの読み取り時に使用される WKT ジオメトリパーサーの 2 つのバグを修正しました。`MULTILINESTRING` ジオメトリが誤って `Polygon` として解析されていた問題 (型付きカラムでは例外を引き起こし、混在した `Geometry` カラムではデータ破損が黙って発生していました) と、型キーワードのない不正な WKT 文字列が、明確なエラーではなく未定義動作をトリガーしていた問題です。 [#100997](https://github.com/ClickHouse/ClickHouse/pull/100997) ([Vasily Chekalkin](https://github.com/bacek)).
* 単一の分片を持つ分散テーブル上の `grouping`/`GROUPING SETS` クエリで、"Method executeImpl is not supported for 'grouping' function" というエラーにより失敗していた問題を修正しました。 [#101030](https://github.com/ClickHouse/ClickHouse/pull/101030) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同じテーブル式が複数回処理された際に planner で発生することがあった `LOGICAL_ERROR` "Column identifier is already registered" を修正しました。 [#101048](https://github.com/ClickHouse/ClickHouse/pull/101048) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `additional_result_filter` 設定を UNION または EXCEPT クエリと併用した際に発生していた、LOGICAL\_ERROR 例外 "Column identifier is already registered" を修正しました。 [#101051](https://github.com/ClickHouse/ClickHouse/pull/101051) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* GROUPING SETS、ROLLUP、または CUBE とともに `group_by_use_nulls=1` を使用し、さらに集約関数と `* APPLY` を併用した際に発生していたサーバークラッシュ (Logical error: Bad cast from ColumnVector to ColumnNullable) を修正しました。 [#101062](https://github.com/ClickHouse/ClickHouse/pull/101062) ([Groene AI](https://github.com/groeneai)).
* `input_format_csv_skip_first_lines` または `input_format_tsv_skip_first_lines` がファイル内の行数を超えた場合に発生する無限ループを修正しました。 [#101111](https://github.com/ClickHouse/ClickHouse/pull/101111) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 遅延マテリアライゼーションの最適化における範囲外アクセスを修正しました。これにより、デバッグビルドで例外が発生する可能性がありました。 [#101144](https://github.com/ClickHouse/ClickHouse/pull/101144) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 再帰 CTE における型推論を修正しました。非再帰側と再帰側の `UNION ALL` 全体で、カラム型は収束するまで `getLeastSupertype` によって反復的に拡張されるようになり、`x + 1` のような式で整数オーバーフローが発生するのを防ぎます。 [#101155](https://github.com/ClickHouse/ClickHouse/pull/101155) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* MergeTree の圧縮ブロックサイズ設定 (max\_compress\_block\_size、min\_compress\_block\_size、marks\_compress\_block\_size、primary\_key\_compress\_block\_size) の上限を 256 MiB に制限し、極端な値が CREATE TABLE SETTINGS で設定された際のサーバークラッシュを防ぐようにしました。 [#101159](https://github.com/ClickHouse/ClickHouse/pull/101159) ([Groene AI](https://github.com/groeneai)).
* ROW POLICY が `USING` 句でスカラサブクエリ (例: `USING (SELECT 1)`) を使用している場合に、`QueryAnalyzer::resolve()` で発生する LOGICAL\_ERROR によるクラッシュを修正しました。[#100695](https://github.com/ClickHouse/ClickHouse/issues/100695) をクローズしました。[#101263](https://github.com/ClickHouse/ClickHouse/pull/101263) ([Groene AI](https://github.com/groeneai)).
* ストリームの割り当てに失敗した際に `MergeTreeDataPartWriterCompact::cancel` で発生する未定義動作を修正しました。[#101292](https://github.com/ClickHouse/ClickHouse/pull/101292) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ALTER ステートメントでの代入時にタイムゾーンが含まれないことがある問題を修正しました。[#101328](https://github.com/ClickHouse/ClickHouse/issues/101328) をクローズしました。関連: [https://github.com/ClickHouse/ClickHouse/pull/100647](https://github.com/ClickHouse/ClickHouse/pull/100647). [#101403](https://github.com/ClickHouse/ClickHouse/pull/101403) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* SELECT パイプラインが複数のストリームを生成する場合に、ORDER BY ALL を含む INSERT SELECT クエリで発生するサーバークラッシュ (LOGICAL\_ERROR) を修正しました。[#101443](https://github.com/ClickHouse/ClickHouse/pull/101443) ([Groene AI](https://github.com/groeneai)).
* join の並べ替えによって、INNER JOIN フィルター (outer join の保持側のみを参照するもの) が outer join の ON 句に押し込まれ、誤ったクエリ結果になる問題を修正しました。[#101504](https://github.com/ClickHouse/ClickHouse/pull/101504) ([Vladimir Cherkasov](https://github.com/vdimir)).
* arrayJoin を含む実行プランでは遅延マテリアライゼーションを適用しないようにし、limit が守られなくなる可能性がある問題を修正しました。[#101608](https://github.com/ClickHouse/ClickHouse/issues/101608) をクローズしました。[#101644](https://github.com/ClickHouse/ClickHouse/pull/101644) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `mergeFilterIntoJoinCondition` 最適化によって、型が一致しない WHERE の等価条件が暗黙に破棄され、不正な JOIN クエリ結果になる問題を修正しました。[#101652](https://github.com/ClickHouse/ClickHouse/pull/101652) ([Xiaozhe Yu](https://github.com/wudidapaopao)).
* 構文エラー／パースエラーに対して `error` テストヒントが機能しない問題を修正しました。従来は、不正なクエリに対する `-- { error SYNTAX_ERROR }` がクライアント側のパースエラーに一致せず、"Expected server error" で失敗していました。[#101675](https://github.com/ClickHouse/ClickHouse/pull/101675) ([Groene AI](https://github.com/groeneai)).
* `INTO OUTFILE ... TRUNCATE` が実際には atomic なリネームを使用していなかった問題を修正しました。書き込みは一時ファイルではなく元のファイルに直接行われていたため、クエリ失敗時に元の内容が失われていました。現在は一時ファイルにデータを書き込み、成功時にのみリネームするようになりました。[#101884](https://github.com/ClickHouse/ClickHouse/pull/101884) ([Pablo Marcos](https://github.com/pamarcos)).
* スキーマに varchar(n) または char(n) のカラム型が含まれる Delta Lake テーブルの読み取り時に発生していた例外 `Unsupported DeltaLake type: varchar(n)` を修正しました。これらの型は、Delta Lake プロトコルが Parquet では単なるバイト配列として保存する仕様に合わせて、String にマッピングされるようになりました。[#101973](https://github.com/ClickHouse/ClickHouse/pull/101973) ([Flavio Malavazi](https://github.com/flaviomalavazi)).
* `schema_inference_mode=union` と異種の Parquet スキーマを使用して S3 から tar アーカイブを読み取る際に、データが静かに失われる問題を修正しました。Parquet メタデータキャッシュが、アーカイブ内の後続ファイルすべてに対して最初のファイルのメタデータを誤って再利用していました。[#101990](https://github.com/ClickHouse/ClickHouse/pull/101990) ([Ahaan Limaye](https://github.com/ahaanlimaye)).
* 同じサーバー lifetime 内でそのテーブルに対する SELECT または INSERT がそれまで一度も実行されていない場合に、Iceberg テーブルで ALTER TABLE UPDATE/DELETE を実行すると発生するサーバークラッシュ (LOGICAL\_ERROR) を修正しました。[#102113](https://github.com/ClickHouse/ClickHouse/pull/102113) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* インメモリデータベース上のテーブル (例: 一時テーブル) に対して `ALTER` クエリを実行した際に発生する可能性があるクラッシュを修正しました。 [#102360](https://github.com/ClickHouse/ClickHouse/pull/102360) ([Den Kalantaevskii](https://github.com/Diskein)).
* 同じログソースに対する後方互換の READ/WRITE grants をフォーマットする際に、`formatQuery` が `GRANT FILE ON *.*, FILE ON *.* TO x` のような重複した grants を生成し、本来の `GRANT FILE ON *.* TO x` にならない問題を修正しました。 [#102411](https://github.com/ClickHouse/ClickHouse/pull/102411) ([Groene AI](https://github.com/groeneai)).
* `max_streams_to_max_threads_ratio` が 1 より大きい場合に、read-in-order クエリ後の aggregation で並列度が失われる問題を修正しました。 [#102467](https://github.com/ClickHouse/ClickHouse/pull/102467) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Buffer テーブルエンジンからサブカラム (Nullable の `.null`、Array の `.size0`、Tuple の要素、map の keys/values など) を選択した際に発生するクラッシュ (`LOGICAL_ERROR: Unknown virtual column`) を修正しました。 [#102470](https://github.com/ClickHouse/ClickHouse/pull/102470) ([Groene AI](https://github.com/groeneai)).
* `join_use_nulls` を伴う LEFT/RIGHT JOIN が、3 テーブル以上を含む他の joins と組み合わされた場合に、join reorder optimization で発生する "Cannot fold actions for projection" 例外を修正しました。 [#102516](https://github.com/ClickHouse/ClickHouse/pull/102516) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* スカラーが範囲外の場合に、numericIndexedVector 上の要素ごとのスカラー演算 (例: `numericIndexedVectorPointwiseAdd`) で発生していた検出されない overflow を修正しました。今後は、このような入力に対して破損した値を返す代わりに `INCORRECT_DATA` を返します。 [#102546](https://github.com/ClickHouse/ClickHouse/pull/102546) ([FriendLey](https://github.com/FriendLey)).
* SAMPLE とクエリレベルの OFFSET を伴う INSERT で、AST のフォーマットが一貫しない問題を修正しました。 Closes [#102523](https://github.com/ClickHouse/ClickHouse/issues/102523). [#102547](https://github.com/ClickHouse/ClickHouse/pull/102547) ([zoomxi](https://github.com/zoomxi)).
* 不正な aggregate function state のデシリアライズ時に `groupConcat` で発生する `LOGICAL_ERROR` 例外を修正しました。 [#102558](https://github.com/ClickHouse/ClickHouse/pull/102558) ([Christoph Wurm](https://github.com/cwurm)).
* `input_format_csv_use_default_on_bad_values=0` の場合、Time64 の CSV 値の末尾にある不正な文字列を受け付けないようにしました。 Closes [#102490](https://github.com/ClickHouse/ClickHouse/issues/102490). [#102596](https://github.com/ClickHouse/ClickHouse/pull/102596) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Enum 型のパスを持つ JSON column にデフォルト値を insert する際に発生する UNKNOWN\_ELEMENT\_OF\_ENUM 例外を修正しました。 Closes [#102359](https://github.com/ClickHouse/ClickHouse/issues/102359). [#102687](https://github.com/ClickHouse/ClickHouse/pull/102687) ([Pavel Kruglov](https://github.com/Avogar)).
* 一部のケースで、カラムのリネーム時に `columns&#95;substreams.txt` が破損する問題を修正しました。 Closes [#102259](https://github.com/ClickHouse/ClickHouse/issues/102259). [#102689](https://github.com/ClickHouse/ClickHouse/pull/102689) ([Pavel Kruglov](https://github.com/Avogar)).
* JSON のパース中に Time data type への insert に失敗する問題を修正しました。 Closes [#102016](https://github.com/ClickHouse/ClickHouse/issues/102016). [#102690](https://github.com/ClickHouse/ClickHouse/pull/102690) ([Pavel Kruglov](https://github.com/Avogar)).
* キャッシュされたスキーマのファイル名に含まれる content サンプルの 16 進エンコードを修正しました。 Closes [#101904](https://github.com/ClickHouse/ClickHouse/issues/101904). [#102703](https://github.com/ClickHouse/ClickHouse/pull/102703) ([Pavel Kruglov](https://github.com/Avogar)).
* `Float32` カラムに signaling NaN 値が含まれている場合に、`ORDER BY` キーがハッシュ式になっている `SummingMergeTree` のマージ中に発生するソート順序違反 (debug ではクラッシュ、release ではサイレントなデータ破損) を修正しました。 [#102791](https://github.com/ClickHouse/ClickHouse/pull/102791) ([Groene AI](https://github.com/groeneai)).
* `waitDetachedTableNotInUse` を呼び出す `DETACH DATABASE ... SYNC` などの操作を、`KILL QUERY` でキャンセルできるようにし、サーバーのシャットダウンにも応答するようにしました。これにより、同時実行中のクエリがテーブル参照を保持している場合に無期限にハングするのを防ぎます。 [#102804](https://github.com/ClickHouse/ClickHouse/pull/102804) ([Antonio Andelic](https://github.com/antonio2368)).
* `ANY RIGHT JOIN` が誤った結果を返す可能性がある不具合を修正しました。 [#102893](https://github.com/ClickHouse/ClickHouse/pull/102893) ([Nikita Taranov](https://github.com/nickitat)).
* socket 層からの short write を Poco の `BufferedStreamBuf::flushBuffer` が処理できないことが原因で、S3 リクエストがリトライされず、`ios_base::clear: unspecified iostream_category error` で失敗する不具合を修正しました。 [#102894](https://github.com/ClickHouse/ClickHouse/pull/102894) ([Sema Checherinda](https://github.com/CheSema)).
* INSERT SELECT クエリで、`input('auto')` テーブル関数が HTTP interface 経由で失敗する不具合を修正しました。 [#102902](https://github.com/ClickHouse/ClickHouse/pull/102902) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* row policies/additional\_table\_filters 使用時の trivial LIMIT 最適化を無効化しました (並列な索引解析を可能にするため) 。 [#102921](https://github.com/ClickHouse/ClickHouse/pull/102921) ([Azat Khuzhin](https://github.com/azat)).
* `HMAC` SQL function でシークレットキーを隠すようにしました。[#102927](https://github.com/ClickHouse/ClickHouse/issues/102927) を修正しました。 [#102997](https://github.com/ClickHouse/ClickHouse/pull/102997) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `optimize_syntax_fuse_functions` が有効な場合に、同じ `quantile` 呼び出しを複数回参照する分散クエリ (たとえば `SELECT`、`HAVING`、`ORDER BY` 内) で発生する `MULTIPLE_EXPRESSIONS_FOR_ALIAS` 例外を修正しました。 [#103014](https://github.com/ClickHouse/ClickHouse/pull/103014) ([tanner-bruce](https://github.com/tanner-bruce)).
* フィルターが左側のカラムに依存しているときに、未準備の set が渡されるケースを CI で発見し、これを修正しました。[#102966](https://github.com/ClickHouse/ClickHouse/issues/102966) をクローズしました。 [#103029](https://github.com/ClickHouse/ClickHouse/pull/103029) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 一部のケースで JSON への castOrNull を修正しました。[#101818](https://github.com/ClickHouse/ClickHouse/issues/101818) をクローズしました。 [#103036](https://github.com/ClickHouse/ClickHouse/pull/103036) ([Pavel Kruglov](https://github.com/Avogar)).
* aggregate projection がクエリに一致し、かつテーブルの一部のパーツに projection データが存在しない場合 (たとえば、すでにデータが入っているテーブルに projection を追加し、`MATERIALIZE PROJECTION` を実行していない場合) に、`SELECT DISTINCT` が不完全な結果をサイレントに返す不具合を修正しました。[#102951](https://github.com/ClickHouse/ClickHouse/issues/102951) をクローズしました。 [#103052](https://github.com/ClickHouse/ClickHouse/pull/103052) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* アナライザでの共通式抽出中に、`AND(OR(A, A), A)` のような `WHERE` 条件式が単一の最上位引数に畳み込まれた際に発生する `TOO_FEW_ARGUMENTS_FOR_FUNCTION` 例外を修正しました。 [#103072](https://github.com/ClickHouse/ClickHouse/pull/103072) ([Peng](https://github.com/fastio)).
* タプル、マップ、または `QBit` 要素を含む配列に対して `if`/`ifNull` を評価する際に発生していた論理エラー `Function writeSlice expects same column types for GenericArraySlice and GenericArraySink` を修正しました。`ColumnQBit::structureEquals` が、一方の `QBit` カラムの内部タプルを他方の外側ラッパーと誤って比較していたため、構造的に同一の `QBit` カラムが異なるものとして扱われていました。[#103084](https://github.com/ClickHouse/ClickHouse/pull/103084) ([Groene AI](https://github.com/groeneai)).
* テーブル参照が保持されている場合に無期限にハングするのではなく、`database_atomic_wait_for_drop_and_detach_synchronously` を指定した `DETACH DATABASE` が `KILL QUERY` に従うよう修正しました。[#103095](https://github.com/ClickHouse/ClickHouse/pull/103095) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 非識別子の predicate (例: `WHERE 1=1`) を使って WASM モジュールを削除した際に発生する segfault を修正しました。[#103101](https://github.com/ClickHouse/ClickHouse/pull/103101) ([Joe Redfern](https://github.com/JosephRedfern)).
* `processInsertQuery` の末尾で `sendProgress` を無条件に呼び出していたことが原因で、古いクライアントが `remote()` または分散テーブル経由で新しいサーバーに insert した際に `UNEXPECTED_PACKET_FROM_SERVER` で失敗していた後方互換性の問題を修正しました。[#103148](https://github.com/ClickHouse/ClickHouse/pull/103148) ([Sema Checherinda](https://github.com/CheSema)).
* 定数でないタプルを第 2 引数に取る IN では、タプル要素を左辺の型に CAST で縮小してはなりません。これはオーバーフローを引き起こす可能性があります。[#103055](https://github.com/ClickHouse/ClickHouse/issues/103055) をクローズしました。[#103169](https://github.com/ClickHouse/ClickHouse/pull/103169) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* プロトコル関数での未初期化値の使用を修正しました。[#103187](https://github.com/ClickHouse/ClickHouse/pull/103187) ([Pavel Kruglov](https://github.com/Avogar)).
* `WHERE` clause が `LowCardinality` のキー column を、ネストされた `LowCardinality` を含む型 (たとえば `Variant(LowCardinality(Date), String)`) にキャストした定数と比較する場合に、MergeTree の索引解析中に発生する `LOGICAL_ERROR` (`Bad cast … to ColumnLowCardinality`) を修正しました。[#103211](https://github.com/ClickHouse/ClickHouse/pull/103211) ([Groene AI](https://github.com/groeneai)).
* `timeSeries*ToGrid` aggregate function ファミリー (例: `timeSeriesResampleToGridWithStaleness`、`timeSeriesChangesToGrid`、`timeSeriesResetsToGrid`、`timeSeriesRateToGrid`) を、bucket 数の計算で符号付き 64 ビット整数演算がオーバーフローするような極端な timestamp パラメータで呼び出した際に発生する `Logical error: 'index < bucket_count'` を修正しました。あわせて、悪意ある入力による意図しない大規模メモリ割り当てを防ぐため、グリッド bucket の総数を 1,600 万に制限しました。[#103223](https://github.com/ClickHouse/ClickHouse/pull/103223) ([Groene AI](https://github.com/groeneai)).
* `ReplacingMergeTree` の遅延 `FINAL` パスでのパイプライン展開中に発生する `Logical error: 'Port is already connected'` 例外を修正しました。この不具合は、`ReadFromMergeTree::initializePipeline` が内部変換 (例: `Resize`) を挿入してサブパイプラインのプロセッサ同士を接続した結果、`LazyUnorderedReadFromMergeTreeSource::expandPipeline` がすでに接続済みの出力ポートを再接続しようとしていたため、`query_plan_optimize_lazy_final = 1` のクエリに影響していました。[#103230](https://github.com/ClickHouse/ClickHouse/pull/103230) ([Groene AI](https://github.com/groeneai)).
* 入力がソート済みの subqueries からなる `UNION ALL` の場合に、`LIMIT BY` と `DISTINCT` が誤った結果を返す問題を修正しました。クエリプラン オプティマイザーがそのようなユニオン全体をグローバルにソート済みと誤って扱い、余分な行を返していました。[#103231](https://github.com/ClickHouse/ClickHouse/pull/103231) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 遅延レプリケーションを伴う Map type での統計計算中に発生しうるクラッシュを修正しました。[#102390](https://github.com/ClickHouse/ClickHouse/issues/102390) をクローズしました。[#103273](https://github.com/ClickHouse/ClickHouse/pull/103273) ([Pavel Kruglov](https://github.com/Avogar)).
* `clone() const` が `invalidate_query_response` 文字列を読み取り、`isModified() const` が同じ文字列に書き込むことで発生していた、ClickHouse、MySQL、PostgreSQL、XDBC の Dictionary ソースにおける data race を修正しました。[#103277](https://github.com/ClickHouse/ClickHouse/pull/103277) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `Date32` の単調性検出の誤りを修正しました。[#101265](https://github.com/ClickHouse/ClickHouse/issues/101265) をクローズします。[#103283](https://github.com/ClickHouse/ClickHouse/pull/103283) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 認証前の TCP Hello パケット内の文字列を 64 KB に制限し、ハンドシェイク全体の時間を制限する `handshake_timeout_milliseconds` server setting を追加しました。これにより、未認証の client が過剰なメモリを消費したり、threads を無期限に占有したりすることを防ぎます。[#103284](https://github.com/ClickHouse/ClickHouse/pull/103284) ([Sema Checherinda](https://github.com/CheSema)).
* String カラムにおける Parquet ColumnIndex stats の `min_value > max_value` を修正しました。[#103334](https://github.com/ClickHouse/ClickHouse/pull/103334) ([Saurabh Kumar Ojha](https://github.com/saurabhojha)).
* `flattenTuple` および `tupleToNameValuePairs` において、`Nullable(Tuple(...))` 入力の NULL 行が誤って処理される問題を修正しました。`flattenTuple` は外側の null map を保持するようになり、NULL 行が NULL のまま維持されます。`tupleToNameValuePairs` は、入力が `Nullable(Tuple(...))` の場合、可能であれば結果の値の型を `Nullable(T)` に変更するようになり、NULL 行は `[('a', 0), ('b', 0)]` ではなく `[('a', NULL), ('b', NULL)]` を生成します。要素型を `Nullable` でラップできない場合 (例: `Array`) は、NULL の代わりにデフォルト値が使用されます。[#103312](https://github.com/ClickHouse/ClickHouse/issues/103312) をクローズします。[#103383](https://github.com/ClickHouse/ClickHouse/pull/103383) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Native format 内の不正な flattened Dynamic data を検出するようにしました。[#103392](https://github.com/ClickHouse/ClickHouse/pull/103392) ([Pavel Kruglov](https://github.com/Avogar)).
* snapshot 同期後に stale RPC が原因でレプリケーションが停止する問題を修正しました。[#103406](https://github.com/ClickHouse/ClickHouse/pull/103406) ([Seva Potapov](https://github.com/seva-potapov)).
* BSON 型が `Nullable(T)` または `Array(Nullable(T))` カラム内の対象カラム型と互換性のない値を含む不正な BSON document を読み取る際に、`LOGICAL_ERROR` "Cannot pop N rows from X" によって server が異常終了していた問題 (debug / sanitizer builds で発生) を修正しました。今後は、不正な行に対して意図どおり `ILLEGAL_COLUMN` exception が正常に生成されます。[#103418](https://github.com/ClickHouse/ClickHouse/pull/103418) ([Groene AI](https://github.com/groeneai)).
* 先頭の行が空で、かつ常に false を返すラムダとともに適用された `Array(String)` カラムに対する `arrayFill` および `arrayReverseFill` での server 異常終了を修正しました。aggregate / sub-array ループで `size_t` 索引 が underflow して `SIZE_MAX` となり、その結果 `ColumnString::doInsertManyFrom` 内で範囲外読み取りが発生していました。同じ bug family の事例として [#12263](https://github.com/ClickHouse/ClickHouse/issues/12263) があります。[#103424](https://github.com/ClickHouse/ClickHouse/pull/103424) ([Groene AI](https://github.com/groeneai)).
* 上流の REPLACE RMV の EXCHANGE によって解決途中で対象ストレージの identity が切り替わる際、SQL SECURITY DEFINER を使用する下流の APPEND RMV で発生していた ACCESS\_DENIED / UNKNOWN\_TABLE を修正しました。[#103427](https://github.com/ClickHouse/ClickHouse/pull/103427) ([Alexander Gololobov](https://github.com/davenger)).
* `url` table function から `_time` カラムを設定するようにしました。[#103437](https://github.com/ClickHouse/ClickHouse/pull/103437) ([Nikita Taranov](https://github.com/nickitat)).
* 無効なビット幅を持つ不正な入力の処理時に、`ALP` コーデックの伸長処理経路で発生しうる範囲外読み取りを修正しました。[#103457](https://github.com/ClickHouse/ClickHouse/pull/103457) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `SYSTEM SYNC FILESYSTEM CACHE '<name>' ON CLUSTER ...` で、クエリのフォーマット時に cache 名が失われ、指定した cache のみではなくリモートノード上のすべてのファイルシステムキャッシュが同期されてしまう不具合を修正しました。[#103469](https://github.com/ClickHouse/ClickHouse/pull/103469) ([Asish Kumar](https://github.com/officialasishkumar)).
* `deltaLakeAzure` における URL エンコードされたパスの処理を修正しました。[#103509](https://github.com/ClickHouse/ClickHouse/issues/103509) をクローズしました。[#103525](https://github.com/ClickHouse/ClickHouse/pull/103525) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* `AggregateFunction` の state に整数を掛ける処理 (例: `quantilesExactState(...) * N`) で発生する heap-use-after-free を修正しました。二乗法によるべき乗ループで state を自身と merge しており、集約関数の `merge` が内部ストレージを再割り当てする場合、これは未定義動作になります。STID 0988-40af をクローズしました。[#103536](https://github.com/ClickHouse/ClickHouse/pull/103536) ([Groene AI](https://github.com/groeneai)).
* ディスク上にある 2 つの空の unexpected パーツのブロック範囲が重複しているものの、一方が他方を包含していない場合に、`ReplicatedMergeTree` テーブルの起動時にまれに発生していた `LOGICAL_ERROR` "Part X intersects previous part Y" を修正しました。この例外により table-attach スレッドが中断され、テーブルを起動できなくなっていました。[#103537](https://github.com/ClickHouse/ClickHouse/pull/103537) ([Groene AI](https://github.com/groeneai)).
* 非アダプティブインデックス粒度 (`index_granularity_bytes = 0`) を使用する `MergeTree` テーブルで、最後の data mark が不完全な場合に mutation によって引き起こされていた `Logical error: Incorrect mark rows for part ...` (デバッグ時のみのアサーション) を修正しました (`DETACH`/`ATTACH` の後に論理削除を行うと最も確実に再現できます) 。[#103538](https://github.com/ClickHouse/ClickHouse/pull/103538) ([Groene AI](https://github.com/groeneai)).
* `file()` テーブル関数経由で `/proc` および `/sys` の疑似ファイルを読み取る際に、`clickhouse-local` が 0 行を何も警告せず返してしまう不具合を修正しました (例: `SELECT * FROM file('/proc/cpuinfo', 'RawBLOB')`) 。[#103548](https://github.com/ClickHouse/ClickHouse/pull/103548) ([Ashrith Bandla](https://github.com/ashrithb)).
* `GenerateRandom` table engine における `max_string_length` 引数の処理を修正しました。[#103550](https://github.com/ClickHouse/ClickHouse/pull/103550) ([Alex Kuleshov](https://github.com/0xAX)).
* ログ内でネストされた認証情報のマスキングを修正しました。[#103552](https://github.com/ClickHouse/ClickHouse/pull/103552) ([Vitaly Baranov](https://github.com/vitlibar)).
* 利用できない場合でも SVE 命令を使用してしまう SVE 検出を修正しました。[#103568](https://github.com/ClickHouse/ClickHouse/pull/103568) ([Raúl Marín](https://github.com/Algunenano)).
* `GenerateRandom` のストレージ引数のパースを修正しました。[#103574](https://github.com/ClickHouse/ClickHouse/pull/103574) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* ±inf で始まるデータに対して `WITH FILL` で無限ループが発生する問題を修正しました。[#103580](https://github.com/ClickHouse/ClickHouse/pull/103580) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `Variant` 型への `JSONExtract` で JSON の小数が暗黙に切り捨てられていた問題を修正しました。以前は、`JSONExtract('{"x": 3.14}', 'x', 'Variant(Int64, Float64)')` は `Int64=3` を返し、`JSONExtract('{"x": 3.14}', 'x', 'Variant(String, Int64)')` は `Int64=3` を返して、小数部分が失われていました。現在は小数値が損失なく保持されます。`Float64`/`Decimal` のメンバーが存在する場合はそれが値を保持し、存在しない場合は `String` のメンバーが元の JSON をそのまま取り込みます。整数メンバーのみを含む `Variant` 型 (例: `Variant(Int64, Int32)`) および整数への直接抽出 (`JSONExtract(json, 'Int64')`、`JSONExtractInt` など) の挙動は変わりません。 [#103620](https://github.com/ClickHouse/ClickHouse/pull/103620) ([Groene AI](https://github.com/groeneai)).
* 引数なしの `SYSTEM INSTRUMENT REMOVE` が、`SYNTAX_ERROR` (エラーコード 62) ではなく `std::bad_optional_access` (エラーコード 1001) を発生させる問題を修正しました。 [#103622](https://github.com/ClickHouse/ClickHouse/pull/103622) ([Pablo Marcos](https://github.com/pamarcos)).
* 3 番目の argument に timezone 文字列を指定して呼び出した際の、`windowID` および `tumble` window view における論理エラー / 未定義動作を修正しました。 [#103641](https://github.com/ClickHouse/ClickHouse/pull/103641) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* S3 client のログで、空でない x-amz-bucket-region header を含む HTTP 400 レスポンス (SigV4 の署名 Region が誤っている場合) を、汎用的なエラー扱いではなく、より明確なログ行を伴う wrong-region の情報メッセージとして扱うようになりました。また、STS web identity credentials provider は、web identity が設定されている場合にのみ S3 credentials chain に追加されるようになり、これを使わないデプロイメントで不要な警告が減ります。 [#99140](https://github.com/ClickHouse/ClickHouse/issues/99140) をクローズします。 [#103673](https://github.com/ClickHouse/ClickHouse/pull/103673) ([MeltonSmith](https://github.com/MeltonSmith)).
* `SYSTEM SYNC REPLICA <db>.<tbl> IF EXISTS` を、database が存在しない場合でも黙って成功するよう修正しました。これにより、存在しない table に対する既存の挙動と `DROP TABLE IF EXISTS` の先例に一致します。以前は、`IF EXISTS` があるにもかかわらず、このクエリは `UNKNOWN_DATABASE` を返していました。 [#103629](https://github.com/ClickHouse/ClickHouse/issues/103629) をクローズします。 [#103689](https://github.com/ClickHouse/ClickHouse/pull/103689) ([Groene AI](https://github.com/groeneai)).
* `MergeTree` table のソートキーに `Array(LowCardinality(...))` があり、`WHERE` clause でそのカラムと element type が異なる `Array` 定数との間で `plus` / `minus` を使用した場合に、`FunctionBinaryArithmetic::executeImpl2` が論理エラー `Arguments of 'plus' have incorrect data types` を投げる問題を修正しました。`KeyCondition::getMonotonicityForRange` は、内部の数値ディスパッチを呼び出す前に `LowCardinality` を再帰的に取り除くようになりました。 [#103701](https://github.com/ClickHouse/ClickHouse/pull/103701) ([Groene AI](https://github.com/groeneai)).
* 26.1+ における動的な cache リサイズ競合を修正しました。 [#103702](https://github.com/ClickHouse/ClickHouse/pull/103702) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 式にキャプチャされた定数を持つラムダ (例: `arrayMap((k, v) -> concat(k, '=', v), mapKeys(m), mapValues(m)))`) が含まれる `ALIAS` カラムで、text および bloom\_filter のスキップインデックスが暗黙に無視されていた問題を修正しました。 [#103708](https://github.com/ClickHouse/ClickHouse/pull/103708) ([Anton Popov](https://github.com/CurtizJ)).
* `start_pos` が `UINT64_MAX` に近い場合の `position` および `positionCaseInsensitive` で、ポインタ演算のオーバーフローにより処理が停止したり segmentation fault を引き起こしたりする問題を修正しました。 [#103766](https://github.com/ClickHouse/ClickHouse/pull/103766) ([Raúl Marín](https://github.com/Algunenano)).
* 小数部が二重になった dateTime のパース中に発生する未定義動作を修正しました。 [#103773](https://github.com/ClickHouse/ClickHouse/pull/103773) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 26.x で、JIT コンパイルされた `if` および `multiIf` において、結果型が `Decimal` で、いずれかの分岐に非 `Decimal` (整数または浮動小数点) のリテラルがある場合、実際より `10^scale` 倍小さい値がそのまま返されるデータ正確性のリグレッションを修正しました。低速な (非 JIT の) 経路は影響を受けていませんでした。影響を受けるバージョンでの回避策: `SET compile_expressions = 0`。[#103809](https://github.com/ClickHouse/ClickHouse/pull/103809) ([Groene AI](https://github.com/groeneai)).
* テキスト索引から対応する関数へトークナイザーが正しく受け渡されない問題を修正しました。[#103826](https://github.com/ClickHouse/ClickHouse/pull/103826) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `WHERE` 句で、要素が単一のキーカラムに重複排除されるタプルに対して `IN` または `NOT IN` を使用したとき、`numbers`、`generate_series`、および同様の範囲対応ソースが誤った結果を返す問題を修正しました (例: `WHERE tuple(number, number) NOT IN (tuple(1, 2))`) 。[#103660](https://github.com/ClickHouse/ClickHouse/issues/103660) をクローズします。[#103835](https://github.com/ClickHouse/ClickHouse/pull/103835) ([Groene AI](https://github.com/groeneai)).
* 自動スピリングを行うハッシュ結合の実際のメモリ使用量ピークが `max_bytes_before_external_join` を超えないようにしました。従来は、統計に基づく事前割り当て、インプレースでのハッシュテーブルの倍増、制限のない `GraceHashJoin` のインメモリバケットのいずれでも、クエリが設定された上限を超えて `MEMORY_LIMIT_EXCEEDED` が発生する可能性がありました。[#103838](https://github.com/ClickHouse/ClickHouse/pull/103838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-local` の終了時に、system logs (`text_log` や `filesystem_cache_log` など) が設定されているとハングする問題を修正しました。`SystemLogs::flushImpl` が `BaseDaemon::instance().flushTextLogs()` を呼び出していましたが、これは `clickhouse-server` の外では `std::bad_cast` を送出するため、保存スレッドが動作し続け、最終的に `pthread_cond_destroy` が system log queue の破棄をブロックしていました。[#103874](https://github.com/ClickHouse/ClickHouse/pull/103874) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `MATERIALIZED` CTE クエリで、ボディが参照ごとに異なる推論カラム型に解決される場合、サーバーを `Bad cast` `LOGICAL_ERROR` でクラッシュさせるのではなく、明確な `TYPE_MISMATCH` error を返して拒否するようにしました。これは以前、CTE のボディが外側のスコープの識別子 (たとえば呼び出し元のサブクエリの projection 内の alias) を参照し、それらが参照ごとに異なる定数としてインライン展開される場合に発生していました。[#103879](https://github.com/ClickHouse/ClickHouse/pull/103879) ([Groene AI](https://github.com/groeneai)).
* `ANY` `OUTER` `JOIN` の上にある filter に `rand`、`now`、`rowNumberInAllBlocks` などの非決定論的関数が含まれる場合、JOIN 変換クエリプラン optimizer (`tryConvertAnyOuterJoinToInnerJoin`, `tryConvertAnyJoinToSemiOrAntiJoin`) で未初期化値が使用される問題を修正しました。optimizer はこのような filter を定数畳み込みしなくなり、JOIN を変更しないままにします。これにより、行が気付かないうちに欠落するおそれのある `INNER`/`SEMI`/`ANTI JOIN` への誤変換も防止されます。[#103880](https://github.com/ClickHouse/ClickHouse/pull/103880) ([Groene AI](https://github.com/groeneai)).
* consumer が一時的な topic-partition lock を保持している間に Keeper session が置き換えられた場合、サーバーがクラッシュする可能性のあった `StorageKafka2` の use-after-free を修正しました。[#103890](https://github.com/ClickHouse/ClickHouse/pull/103890) ([Groene AI](https://github.com/groeneai)).
* `EmbeddedRocksDB` テーブルを `JOIN ... USING (key)` で、キーカラムの型がストレージの主キーと異なるサブクエリ (例: `Nullable(UInt64)`、`Int64`、`Decimal`) と JOIN した際に、`LOGICAL_ERROR` "Primary key type mismatch" が送出される問題を修正しました。planner は型不一致時に `DirectKeyValueJoin` を選択せず、型変換を処理できる `HashJoin` にフォールバックするようになりました。[#103928](https://github.com/ClickHouse/ClickHouse/pull/103928) ([Groene AI](https://github.com/groeneai)).
* `SET max_threads = DEFAULT` (`max_final_threads` と `max_parsing_threads` も同様) を実行しても、auto 状態が失われなくなりました。以前は、これらの設定のいずれかをリセットすると、`system.settings` には `'auto(32)'` ではなく解決後のコア数 (例: `32`) が表示され、サーバーもその値が明示的に固定されたかのように動作していました。[#103991](https://github.com/ClickHouse/ClickHouse/pull/103991) ([Groene AI](https://github.com/groeneai)).
* 永続化された `alpha_size` が 25.12 より前の deserialize+serialize サイクルで拡張されていた `AggregateFunction(topK(N), String)` カラムの読み取り時に発生する `SIZES_OF_ARRAYS_DONT_MATCH` を修正しました。[#104002](https://github.com/ClickHouse/ClickHouse/pull/104002) ([Raúl Marín](https://github.com/Algunenano)).
* PostgreSQL、Cassandra、XDBC の Dictionary ソースにおける SQL インジェクション脆弱性を修正しました。単一引用符を含む文字列キーが `\'` (バックスラッシュ) でエスケープされていましたが、これらのバックエンドではこれがエスケープシーケンスではなくリテラルのバックスラッシュとして扱われるため、Dictionary ルックアップクエリに任意の SQL を注入できていました。`ExternalQueryBuilder` は、これらのバックエンド向けに SQL 標準の `''` エスケープを出力するようになりました。ClickHouse と MySQL の Dictionary ソースは、引き続きバックスラッシュエスケープを使用します。[#104009](https://github.com/ClickHouse/ClickHouse/pull/104009) ([Shaohua Wang](https://github.com/tiandiwonder)).
* カラム型を LowCardinality に変更、または LowCardinality から変更した際に、min-max projection が再構築されていなかった場合に発生しうる集約時の型不一致を修正しました。[#104013](https://github.com/ClickHouse/ClickHouse/pull/104013) ([Nikita Taranov](https://github.com/nickitat)).
* 式のマージ時に未使用カラム削除の抑止が伝播されないことで発生していた、クエリ最適化の無限ループを修正しました。[#104083](https://github.com/ClickHouse/ClickHouse/pull/104083) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* 名前ベースではなく UUID ベースの追跡を使用することで、ストリーミングテーブル (S3Queue、Kafka、RabbitMQ) の一括リネーム時に `StreamingStorageRegistry::renameTable` で発生する `LOGICAL_ERROR` を修正しました。[#104101](https://github.com/ClickHouse/ClickHouse/pull/104101) ([Nikita Taranov](https://github.com/nickitat)).
* `UNION ALL` で構築された CTE に `SELECT DISTINCT` の分岐が含まれ、外側のクエリが CTE のカラムの一部だけを射影している場合に、誤った結果が返る問題を修正しました。新しいアナライザの `RemoveUnusedProjectionColumnsPass` が、内側の `DISTINCT` 射影から未参照カラムを誤って削除していたため、本来は DISTINCT のままであるべき行 (射影されたカラムの値は同じでも、削除されたカラムの値が異なる行) が 1 行に潰れていました。[#104114](https://github.com/ClickHouse/ClickHouse/pull/104114) ([Groene AI](https://github.com/groeneai)).
* 設定 `optimize_inverse_dictionary_lookup` における複数のエッジケースでの正しさの問題を修正しました。この最適化により、行が気付かないうちに欠落したり、例外が抑制されたりする可能性がありました。Closes [#103270](https://github.com/ClickHouse/ClickHouse/issues/103270). Close [#103085](https://github.com/ClickHouse/ClickHouse/issues/103085). [#104133](https://github.com/ClickHouse/ClickHouse/pull/104133) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `quantileTiming` state のデシリアライズ中に境界外書き込みが発生する問題を修正しました。[#104141](https://github.com/ClickHouse/ClickHouse/pull/104141) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 範囲外の `Float64` 値を広い整数型 (`UInt64`、`Int64`、`Int128`、`UInt128`、`Int256`、`UInt256`) に変換した際の未定義動作を修正しました。以前は、`Float64(numeric_limits<T>::max())` と等しい値 (実際の最大値を上回る値に丸められる) が境界チェックをすり抜け、その後の cast で UB を引き起こしていました。これは、集約関数パラメータのパース (`topK`、`histogram`、`uniqUpTo`、`groupArrayInsertAt` など) や、`SET <setting> = <Float64>` による整数型設定に影響していました。Closes [#103817](https://github.com/ClickHouse/ClickHouse/issues/103817). [#104154](https://github.com/ClickHouse/ClickHouse/pull/104154) ([Groene AI](https://github.com/groeneai)).
* ネストした `Tuple(Tuple(Nullable(...)))` (またはそれ以上に深くネストしたもの) を `String` リテラルと比較した際に発生していた `LOGICAL_ERROR` 例外 "Unexpected return type from comparison. Expected `UInt8`. Got `Const(Nullable(UInt8))`" を修正しました。比較の戻り値型は、実行時の挙動に一致する `Nullable(UInt8)` として正しく推論されるようになりました。[#104171](https://github.com/ClickHouse/ClickHouse/pull/104171) ([Groene AI](https://github.com/groeneai)).
* `query_plan_optimize_lazy_final = 1` のとき、`SELECT ... FROM <ReplacingMergeTree(version, is_deleted)> FINAL PREWHERE is_deleted = <expr> AND <other column expr>` で発生していた server abort (`UndefinedBehaviorSanitizer: reference binding to null pointer`、release build での segfault) を修正しました。lazy-FINAL の非交差読み取り step では、prewhere が `is_deleted` カラムを入力として消費したにもかかわらず、それを出力として再公開していなかったため、出力 header から `is_deleted` カラムが失われていました。その結果、下流の `addIsDeletedFilter` step で null の `ActionsDAG::Node` pointer が逆参照されていました。[#104177](https://github.com/ClickHouse/ClickHouse/pull/104177) ([Groene AI](https://github.com/groeneai)).
* system.failpoints table の呼び出し時に failpoint が使われ、その結果無効化される可能性があった問題を修正しました。[#104237](https://github.com/ClickHouse/ClickHouse/pull/104237) ([Pedro Ferreira](https://github.com/PedroTadim)).
* 入力に UTF-8 文字がちょうど buffer 境界で終わる場合に、`detectLanguage*` 関数で発生していた `MemorySanitizer: use-of-uninitialized-value` を修正しました。[#104257](https://github.com/ClickHouse/ClickHouse/pull/104257) ([Raúl Marín](https://github.com/Algunenano)).
* 基盤の object storage がファイルシステムキャッシュのような decorator でラップされたディスクに対して `SETTINGS disk = '...'` を指定して呼び出した際に、data-lake の table function やエンジン (`icebergS3`、`deltaLakeS3` など) で argument のパースが中断されていた論理エラー (`Bad cast from type DB::CachedObjectStorage to DB::S3ObjectStorage`) を修正しました。[#89300](https://github.com/ClickHouse/ClickHouse/issues/89300) をクローズします。[#104258](https://github.com/ClickHouse/ClickHouse/pull/104258) ([Groene AI](https://github.com/groeneai)).
* `values` という名前のカラムに対する括弧付き添字式 (例: `(values['a'])`) のパースを修正し、SQL 標準の `VALUES` table 式として解釈されないようにしました。[#104312](https://github.com/ClickHouse/ClickHouse/pull/104312) ([Desel72](https://github.com/Desel72)).
* ファイルシステムキャッシュの background エビクション thread (`SLRUFileCachePriority::collectEvictionInfo`) で発生しうる server abort/`LOGICAL_ERROR` を修正しました。これは、`keep_free_space_size_ratio` または `keep_free_space_elements_ratio` が、すべての cache entries がすでに SLRU protected queue に昇格済み (probationary は空) である状況でもエビクションがトリガーされるほど高い場合に発生する可能性がありました。[#104313](https://github.com/ClickHouse/ClickHouse/pull/104313) ([Groene AI](https://github.com/groeneai)).
* UNION ALL views、window functions、または alias-column 名の衝突と組み合わせて projections を使用した際に発生する例外 (`NOT_FOUND_COLUMN_IN_BLOCK`、`LOGICAL_ERROR`、`AMBIGUOUS_COLUMN_NAME`) を修正しました。[#88798](https://github.com/ClickHouse/ClickHouse/issues/88798) からのリグレッションです。[#104317](https://github.com/ClickHouse/ClickHouse/pull/104317) ([Amos Bird](https://github.com/amosbird)).
* postgres arrays のパースにおける underflow の可能性を修正しました。[#104322](https://github.com/ClickHouse/ClickHouse/pull/104322) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* 非`Nullable`型 (`Array`、`Tuple`、`Map` など) を返す関数で、`Nullable`な引数を受け付けるようになりました。対象の関数は `extractAll`、`extractAllGroups`、`extractAllGroupsHorizontal`、`extractAllGroupsVertical`、`extractGroups`、`splitByChar`、`splitByString`、`splitByRegexp`、`splitByWhitespace`、`splitByNonAlpha`、`alphaTokens` です。`NULL` 入力行では、"Nested type is not allowed inside Nullable type" を発生させる代わりに、結果型のデフォルト値 (たとえば空の配列) を返すようになりました。[#104326](https://github.com/ClickHouse/ClickHouse/pull/104326) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* パーティション化されたテーブルにおける Iceberg の統計情報の不具合を修正しました。これにより [#104321](https://github.com/ClickHouse/ClickHouse/issues/104321) はクローズされます。[#104329](https://github.com/ClickHouse/ClickHouse/pull/104329) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* macOS (および同様の jemalloc ビルド) で、オプションの `background_thread` / `max_background_threads` mallctl が存在しないにもかかわらず、`Jemalloc::verifySetup` が `jemalloc_enable_background_threads` の不一致を誤って報告していたことにより、server 起動時に発生していた致命的な論理エラーを修正しました。これらの mallctl が利用できない場合は検証をスキップし、`getValue` も失敗時に出力を未初期化のまま残さなくなりました。[#102183](https://github.com/ClickHouse/ClickHouse/issues/102183) をクローズします。[#104330](https://github.com/ClickHouse/ClickHouse/pull/104330) ([SAYON DEEP](https://github.com/sayondeep)).
* `max_rows_to_read_leaf` と `read_overflow_mode_leaf = 'throw'` を指定した `SELECT` クエリで、スキップ索引によって読み取り行数が leaf 上限未満まで減る場合でも、誤って `TOO_MANY_ROWS` をthrowしてしまうことがあった不具合を修正しました。対になる非 leaf 側の設定 (`max_rows_to_read` / `read_overflow_mode`) については、すでに処理済みでした。[#104331](https://github.com/ClickHouse/ClickHouse/pull/104331) ([Groene AI](https://github.com/groeneai)).
* `toUUID`、`toUUIDOrNull`、`toUUIDOrZero`、`toUUIDOrDefault`、`UUID` および `Nullable(UUID)` への `CAST`、`UUID` への `accurateCastOrNull`、さらにテキストから UUID を解析する入力フォーマット (`Avro`、`MsgPack`、`JSONExtract`、...) で、長さは正しくても 16 進数以外の文字を含む文字列を拒否するようになりました。従来はこのような入力は、16 進数字のルックアップテーブルの末尾を越えて参照することで、黙って捏造された UUID に変換されていました。現在は `toUUID` は `CANNOT_PARSE_UUID` をthrowし、`Or*` 系のバリアントは `NULL` / ゼロ UUID / 指定されたデフォルト値を返します。[#104370](https://github.com/ClickHouse/ClickHouse/pull/104370) ([Groene AI](https://github.com/groeneai)).
* THEN のみの supertype と、(THEN 群 + ELSE) の supertype が異なる `ColumnDecimal` ストレージに配置される場合に、`caseWithExpression` (および SQL の `CASE expr WHEN ... THEN ... ELSE ...`) で発生する `Bad cast` `LOGICAL_ERROR` を修正しました。たとえば、THEN の値が `(UInt16, Int8)` で、ELSE が `Decimal(9, 2)` の場合です。[#104335](https://github.com/ClickHouse/ClickHouse/issues/104335) をクローズします。[#104378](https://github.com/ClickHouse/ClickHouse/pull/104378) ([Groene AI](https://github.com/groeneai)).
* `logExceptionBeforeStart` (非同期挿入の flushes、マテリアライズドビューの refreshes、内部クエリ中に発生した parse エラー) 経由で報告される内部障害で、ユーザー可視の `FailedQuery`、`FailedSelectQuery`、`FailedInsertQuery` の counters に加えて、`FailedInternalQuery`、`FailedInternalSelectQuery`、`FailedInternalInsertQuery` の ProfileEvents も正しく増加するようになりました。従来は、クエリ実行開始前に発生した障害ではこれらの内部カウンターが 0 のままで、主要な種類の内部障害が過少計上されていました。[#104399](https://github.com/ClickHouse/ClickHouse/pull/104399) ([Groene AI](https://github.com/groeneai)).
* `BACKUP` または `RESTORE` ステートメントの `base_backup` 設定内でクエリパラメータを使用した際に発生する `Code: 36. BAD_ARGUMENTS Expected literal, got {name:Type}` を修正しました (例: `BACKUP ... SETTINGS base_backup = S3({backup_name:String}, ...)`) 。このリグレッションは PR [#99205](https://github.com/ClickHouse/ClickHouse/issues/99205) により `26.1.5` で導入されたものです。[#103324](https://github.com/ClickHouse/ClickHouse/issues/103324) をクローズしました。[#104413](https://github.com/ClickHouse/ClickHouse/pull/104413) ([Groene AI](https://github.com/groeneai)).
* `ALTER TABLE ... DROP COLUMN` の後、`iceberg_metadata_staleness_ms` が 0 より大きい状態で `INSERT` を実行すると発生していた、`IcebergLocal`/`IcebergS3` への書き込み時の server abort を修正しました。`ALTER` 実行時にローカルの Iceberg metadata files cache が無効化されるようになり、以後の読み取りと書き込みで新しいスキーマが参照されます。[#104419](https://github.com/ClickHouse/ClickHouse/pull/104419) ([Groene AI](https://github.com/groeneai)).
* `DROP ROLE`、`DROP USER`、`DROP SETTINGS PROFILE`、`DROP ROW POLICY`、`DROP QUOTA`、`DROP MASKING POLICY` について、削除された entity を参照していた他の access entity からその参照 (例: ユーザーの `DEFAULT ROLE` リスト、settings profile の `TO` リスト、row policy の grantee) を削除し、そのクリーンアップ結果をディスクに永続化するよう修正しました。従来は、`SHOW CREATE` が不明な UUID を filter するため in-memory state は正しく見えていましたが、ディスク上の `.sql` ファイルには不正な `ID('<dropped-uuid>')` エントリが残っており、次回 server を再起動すると参照が復活し、distributed query execution 中に `ACCESS_ENTITY_NOT_FOUND` error として表面化していました。[#104427](https://github.com/ClickHouse/ClickHouse/pull/104427) ([Groene AI](https://github.com/groeneai)).
* `BlobEndpoint` URL に空、非数値、または範囲外のポートを含む接続文字列 (例: `BlobEndpoint=http://host:abc/`) を使った `azureBlobStorage`、`AzureBlobStorage`-engine、および Azure 上の Delta Lake で発生する server abort を修正しました。debug/sanitizer builds でも server が abort する代わりに、適切な `BAD_ARGUMENTS` error を返すようになりました。[#104460](https://github.com/ClickHouse/ClickHouse/pull/104460) ([Groene AI](https://github.com/groeneai)).
* `remote` および `remoteSecure` table functions で、ユーザー名としてクォートなしの識別子を使えるようにしました。これは database 引数や table 引数がクォートなし識別子を受け付ける動作に合わせたものです。従来、このようなクエリは `default` ユーザーを参照する誤解を招く authentication error で失敗していました。[#104465](https://github.com/ClickHouse/ClickHouse/pull/104465) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SQL user-defined function の本体に、括弧で囲まれた内側の `UNION ALL` が含まれている場合に発生する `Logical error: Incorrect ASTSelectWithUnionQuery (modes: M, selects: N)` を修正しました (例: `CREATE FUNCTION f AS x -> (SELECT 1 UNION ALL (SELECT 1 UNION ALL SELECT 1))`) 。[#104477](https://github.com/ClickHouse/ClickHouse/pull/104477) ([Groene AI](https://github.com/groeneai)).
* 第 2 引数が空の `uniqTheta` state である場合に、`uniqThetaIntersect` が `0` ではなく第 1 引数のカーディナリティを返していた不具合を修正しました。たとえば、predicate によってすべての行が除外された場合の `uniqThetaMergeStateIf(s, predicate)` の結果で発生していました。[#104529](https://github.com/ClickHouse/ClickHouse/pull/104529) ([Groene AI](https://github.com/groeneai)).
* Iceberg REST カタログ (`iceberg-rest`、`onelake`、`biglake`) をバックエンドとする `DataLakeCatalog` database で、`SHOW TABLES` と `system.tables` の一覧が途中で黙って切り捨てられる問題を修正しました。カタログ server が list-tables または list-namespaces のレスポンスをページ分割している場合 (たとえば Microsoft Fabric / OneLake で 1 ネームスペースあたり約 50 テーブルを超える場合) 、後続ページの table は直接 `SELECT` ではクエリできるにもかかわらず、`SHOW TABLES` と `system.tables` では表示されなくなっていました。`RestCatalog` は現在、Iceberg REST OpenAPI spec で定義された継続トークン `next-page-token` をたどるようになり、既存の `PaimonRestCatalog` および `UnityCatalog` の動作と一致します。[#104531](https://github.com/ClickHouse/ClickHouse/pull/104531) ([Groene AI](https://github.com/groeneai)).
* `input` table function は、固定スキーマを持つフォーマット (`LineAsString`、`RawBLOB`、`JSONAsString` など) の場合、周囲の `INSERT` クエリの `FORMAT` clause から structure を推論するようになりました。これにより、これらのフォーマットで `input('line String')` のように structure を繰り返し指定する必要がなくなります。[#104532](https://github.com/ClickHouse/ClickHouse/issues/104532). [#104533](https://github.com/ClickHouse/ClickHouse/pull/104533) ([Groene AI](https://github.com/groeneai)).
* Iceberg history 内のフィールドの datatype を `Int32` から `Int64` に更新しました。[#94176](https://github.com/ClickHouse/ClickHouse/issues/94176) をクローズします。[#104579](https://github.com/ClickHouse/ClickHouse/pull/104579) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* カンマの後に lambda が続く関数呼び出しをパースする際に発生していた `Inconsistent AST formatting` `LOGICAL_ERROR` を修正しました。例: ``SELECT substring(x, `x` -> `x`)``。従来、パーサーは直前の argument を lambda の左辺に黙ってマージしてしまい、その結果、同じ AST に再パースできない単一 argument の呼び出しを生成していました。現在は関数本来の arity を保持します。[#104626](https://github.com/ClickHouse/ClickHouse/pull/104626) ([Groene AI](https://github.com/groeneai)).
* `CHECK TABLE t` は、database 修飾子が指定されていない場合、同名の永続 table よりも `TEMPORARY` table を優先するようになりました。これは `SHOW CREATE TABLE`、`DESCRIBE TABLE`、`OPTIMIZE TABLE`、`ALTER TABLE` ですでに使われている優先順位と一致します。従来の `CHECK TABLE t` は一時 table を完全に無視していたため、これらのエンジンが `CHECK` をサポートしているにもかかわらず、一時 `Log` または `File` table に対して `UNKNOWN_TABLE` で失敗していました。[#100966](https://github.com/ClickHouse/ClickHouse/pull/100966) のフォローアップです。[#104637](https://github.com/ClickHouse/ClickHouse/pull/104637) ([Groene AI](https://github.com/groeneai)).
* `<placement>` が設定されていない Keeper に対して `quorum_reads=true` を付けて `get /keeper/availability_zone` を送信したときに、Keeper の終了と再起動のループが発生する問題を修正しました。[#104663](https://github.com/ClickHouse/ClickHouse/pull/104663) ([myeongjun](https://github.com/myeongjjun)).
* 論理エラーを引き起こす `FutureSetFromTuple::buildOrderedSetInplace` の TOCTOU data race を修正しました。[#104673](https://github.com/ClickHouse/ClickHouse/pull/104673) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* arguments がカラムとして渡されたか定数として渡されたかによって、同じ入力でも異なる結果を返していた複数の関数を修正しました: `bitRotateLeft` / `bitRotateRight` (境界 shift カウント) 、`length(FixedString)` / `concatWithSeparator` における `LowCardinality(Nullable)` 入力、NaN に対する `roundDown`、および不正な UTF-8 に対する `rightUTF8`。[#104710](https://github.com/ClickHouse/ClickHouse/pull/104710) ([Raúl Marín](https://github.com/Algunenano)).
* 最頻値がカラムのデフォルト値で、かつ data が複数の `MergeTree` パーツにまたがって存在する場合 (スパースカラム読み取りパス) に、`anyHeavy` が heavy ではない値を返していた問題を修正しました。[#104712](https://github.com/ClickHouse/ClickHouse/pull/104712) ([Raúl Marín](https://github.com/Algunenano)).
* 設定制約の処理に関する複数の不具合を修正しました。設定の正規名に対して宣言された `MergeTreeSettings` の制約が、その設定の alias への書き込みによって回避できてしまう問題と、`disallowed_values` 制約のチェックが clamp パス (secondary queries、`ON CLUSTER` workers、`SQL SECURITY DEFINER` views) で変更を黙って破棄すべきところで例外を投げていた問題を修正しました。 [#104737](https://github.com/ClickHouse/ClickHouse/pull/104737) ([Raúl Marín](https://github.com/Algunenano)).
* まだメタデータが読み込まれていない遅延 attached 状態の `Iceberg` / `IcebergLocal` / `Delta Lake` / `Hudi` テーブルに対して、`OPTIMIZE TABLE`、`ALTER TABLE ... DELETE`、`ALTER TABLE ... ADD COLUMN`、およびその他の ALTER バリアントで発生していた `LOGICAL_ERROR` 例外 (`Metadata is not initialized`) を修正しました (典型的には、server の再起動後や、以前のメタデータ書き込み失敗によってディスク上に corrupted なメタデータファイルが残った後に発生します) 。これにより、メタデータの読み込みに成功した場合は操作が通常どおり続行され、失敗した場合でも debug / sanitizer builds で server を abort する代わりに、根本原因である読み込み失敗が通常のユーザー向け例外として表示されるようになりました。 [#104738](https://github.com/ClickHouse/ClickHouse/pull/104738) ([Groene AI](https://github.com/groeneai)).
* `AvroConfluentRowInputFormat` の use-after-free バグによる segfault を修正しました。 [#104751](https://github.com/ClickHouse/ClickHouse/pull/104751) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `numericIndexedVectorPointwiseMultiply`、`numericIndexedVectorPointwiseDivide`、`numericIndexedVectorPointwiseEqual`、`numericIndexedVectorPointwiseNotEqual` の scalar バリアントは、`Int64::max` を超える `UInt64` scalar を指定して呼び出された場合に `INCORRECT_DATA` を返すようになりました。 [#104784](https://github.com/ClickHouse/ClickHouse/pull/104784) ([FriendLey](https://github.com/FriendLey)).
* `compatibility` 設定の適用後に、その alias 名で設定を手動で上書きした場合 (例: `SET allow_experimental_analyzer = 1` ではなく `SET enable_analyzer = 1`) 、その後の `compatibility` 設定の変更によってその上書きが取り消されてしまうことがある不具合を修正しました。 [#104829](https://github.com/ClickHouse/ClickHouse/pull/104829) ([Raúl Marín](https://github.com/Algunenano)).
* [https://github.com/ClickHouse/ClickHouse/commit/0e8ad4355c9d](https://github.com/ClickHouse/ClickHouse/commit/0e8ad4355c9d) 以降、AWS ロガーが無効になっていた問題を修正しました。 [#104837](https://github.com/ClickHouse/ClickHouse/pull/104837) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* 引数がカラムとして渡されたか定数として渡されたかによって、同じ入力でも異なる結果を返していたさらに 3 つの関数を修正しました。対象は、定数 `Date`/`Date32`/`Enum`/`FixedString` のデフォルト値を持つ `transform` (およびそれを介した `caseWithExpression`) 、`String` と定数 `FixedString` の比較演算子、そして定数条件下で `FixedString` 分岐を持つ `if`/`ifNull`/`nullIf` です。 [#104858](https://github.com/ClickHouse/ClickHouse/pull/104858) ([Raúl Marín](https://github.com/Algunenano)).
* パーティション式に、単一の定数値へ畳み込まれる関数 chain (`floor(NULL, toRelativeYearNum(...))` など) が含まれている場合に、`MergeTree` テーブルの partition pruning 中に発生していた `Bad cast from type DB::ColumnConst to DB::ColumnNullable` による server abort を修正しました。 [#104861](https://github.com/ClickHouse/ClickHouse/pull/104861) ([Groene AI](https://github.com/groeneai)).
* `ContextData` の copy constructor における `ThreadSanitizer` data race を修正しました。`table_function_results` が `table_function_results_mutex` を取得せずにコピー元オブジェクトから複製されていたため、同時実行中の `Context::executeTableFunction` writer と、copy constructor 内の非同期化 read が競合する可能性がありました。 [#104879](https://github.com/ClickHouse/ClickHouse/pull/104879) ([Groene AI](https://github.com/groeneai)).
* 動的 structure を持つ型に対する data part の整合性チェックを修正し、corrupted な columns\_substreams.txt を検出できるようにしました。追加の変更を含む [https://github.com/ClickHouse/ClickHouse/pull/103858](https://github.com/ClickHouse/ClickHouse/pull/103858) の再提出です。 [#104888](https://github.com/ClickHouse/ClickHouse/pull/104888) ([Pavel Kruglov](https://github.com/Avogar)).
* DatabaseCatalog における DROP と UNDROP の競合を修正しました。[#104915](https://github.com/ClickHouse/ClickHouse/pull/104915) ([Azat Khuzhin](https://github.com/azat)).
* 部分的にダウンロードされた segments を含む場合のファイルシステムキャッシュの動的リサイズを修正し、Failed なエビクション後の restore accounting も修正しました。[#104921](https://github.com/ClickHouse/ClickHouse/pull/104921) ([Antonio Andelic](https://github.com/antonio2368)).
* 一時テーブルに対する `DETACH TABLE` (`TEMPORARY` keyword なし) で、`DETACH TEMPORARY TABLE` と同様に `SYNTAX_ERROR` が正しく発生するようになりました。これまでは内部の `is_detached` フラグを暗黙に設定し、エラーなしで終了していました。一時テーブルを削除するには、`DROP TEMPORARY TABLE` または `DROP TABLE` を使用してください (後者は `Context::ResolveExternal` を介して一時テーブルを解決します) 。[#103475](https://github.com/ClickHouse/ClickHouse/issues/103475) をクローズしました。[#104943](https://github.com/ClickHouse/ClickHouse/pull/104943) ([Groene AI](https://github.com/groeneai)).
* `filesystem` table function が、ファイル内容の loading 時に `max_memory_usage` / `max_server_memory_usage` を尊重するよう修正しました。これまでは、大きなファイル内容や多数の並列読み取りにより、`MEMORY_LIMIT_EXCEEDED` を発生させないまま制限を超過し、最終的に OOM によって強制終了されることがありました。[#104956](https://github.com/ClickHouse/ClickHouse/pull/104956) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `uuid` で `system.detached_tables` を filter した際に発生していた `LOGICAL_ERROR` を修正しました (例: `SELECT count() FROM system.detached_tables WHERE uuid = '...'`) 。これにより、クエリは server を異常終了させることなく、期待どおりの結果を返すようになりました。[#104979](https://github.com/ClickHouse/ClickHouse/pull/104979) ([Groene AI](https://github.com/groeneai)).
* ネストされた structure に空の `Tuple()` リーフしか含まれない tuple (例: `Tuple(c0 Array(Tuple()))` または `Tuple(c0 Tuple())`) に対して `flattenTuple` を呼び出した場合でも、`LOGICAL_ERROR` は発生しなくなりました。こうした入力では、flatten の結果が空の tuple になることを説明する、ユーザー向けの `ILLEGAL_TYPE_OF_ARGUMENT` 例外が返されるようになりました。[#104989](https://github.com/ClickHouse/ClickHouse/pull/104989) ([Groene AI](https://github.com/groeneai)).
* `GROUP BY` を伴う `loop(remote(...))` (または aggregation を遅延できるストレージを `loop()` でラップしたもの) へのクエリで発生していた、server の異常終了と誤った結果を黙って返す不具合を修正しました。これまでは、外側の planner が内側のストレージから報告された processing stage に基づいて `MergingAggregatedStep` を追加していましたが、`LoopSource` は常に内側の select を `QueryProcessingStage::Complete` で materialize し、通常の column chunks を出力するため、`enable_parallel_replicas = 1` の場合に `MergingAggregatedTransform` が `LOGICAL_ERROR` (`Chunk info was not set for chunk in MergingAggregatedTransform`) を引き起こし、それ以外では外側の aggregation を黙って欠落させていました。[#105001](https://github.com/ClickHouse/ClickHouse/pull/105001) ([Groene AI](https://github.com/groeneai)).
* `clickhouse-benchmark --reconnect` (値なしの単独指定) は、`--reconnect` を値必須の整数オプションに変更した影響で、25.4 で意図せず壊れていました。値なしの形式が再び使えるようになり、`--reconnect=1` (すべてのクエリで再接続) と同等になりました。[#105006](https://github.com/ClickHouse/ClickHouse/pull/105006) ([Groene AI](https://github.com/groeneai)).
* 不完全な UTF-8 シーケンスで終わるカラム名に対して、不正な JSON が出力される問題を修正しました。[#105012](https://github.com/ClickHouse/ClickHouse/pull/105012) ([Pablo Marcos](https://github.com/pamarcos)).
* materialized view の source table に対する `EXCHANGE TABLES` または `CREATE OR REPLACE TABLE` の後に、データが黙って失われる問題を修正しました。`MV` の source-view dependency edge は元の名前に保持されるようになり、INSERT 時にも引き続き動作します。[#98779](https://github.com/ClickHouse/ClickHouse/issues/98779) で導入されたリグレッションで、今回の修正によりリグレッション前の動作が復元されます。[#105029](https://github.com/ClickHouse/ClickHouse/pull/105029) ([Sema Checherinda](https://github.com/CheSema)).
* `toUInt128(<Float64 expression>)` のように `Float` を `UInt128` に変換する式を JIT コンパイルする際に発生していた `CANNOT_COMPILE_CODE Could not find symbol __fixunsdfti` を修正しました。符号なし 128 ビットの float-to-int compiler-rt 組み込み関数が JIT シンボルリゾルバに不足していました。[#105031](https://github.com/ClickHouse/ClickHouse/issues/105031) をクローズしました。[#105048](https://github.com/ClickHouse/ClickHouse/pull/105048) ([Raúl Marín](https://github.com/Algunenano))。
* `send_logs_level` が設定されているときに、失敗したクエリのログメッセージを `clickhouse-local` が出力しない問題を修正しました。[#105067](https://github.com/ClickHouse/ClickHouse/pull/105067) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 同じクエリ内で、同じパラメーター化ビューを異なる引数値で複数回参照した場合に、結果が不正になる問題を修正しました。以前は、アナライザがそれらの呼び出しを 1 つにまとめ、最初の filter 以外をすべて暗黙に破棄していました。[#105170](https://github.com/ClickHouse/ClickHouse/pull/105170) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `play.html` の web UI で、`TOTALS` 行が結果テーブルの下部に 2 回表示される問題を修正しました。[#103803](https://github.com/ClickHouse/ClickHouse/pull/103803) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* vector search 中に有限でないベクトル (`NaN`、`±Inf`) を拒否するようにしました (検索対象ベクトルと参照ベクトルの両方) 。これらは以前、`usearch` で未定義動作を引き起こしていました。[#104079](https://github.com/ClickHouse/ClickHouse/pull/104079) ([Groene AI](https://github.com/groeneai))。
* PromQL: 空のベクトルに対する aggregation operator を修正しました。[#104425](https://github.com/ClickHouse/ClickHouse/pull/104425) ([Vitaly Baranov](https://github.com/vitlibar))。
* PromQL: Prometheus query API のエラー処理を修正しました。[#104741](https://github.com/ClickHouse/ClickHouse/pull/104741) ([Vitaly Baranov](https://github.com/vitlibar))。
* `MergeTreeTransaction::afterCommit` における競合状態を修正しました。これは、commit `CSN` を ZooKeeper に書き込んだ後、トランザクションを完了する前に connection が失われると、`system.parts` で新しい `creation_csn` / `removal_csn` が見えるようになる前に、`COMMIT` の応答が client に届く可能性があるという問題でした。[#104708](https://github.com/ClickHouse/ClickHouse/pull/104708) ([Tuan Pham Anh](https://github.com/tuanpach))。
* ネストした配列の索引付け (`arr[arr[arr[...]]]`) を変換する際に、KQL パーサーでメモリ使用量が指数的に増加する問題を修正しました。[#105142](https://github.com/ClickHouse/ClickHouse/pull/105142) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 右側の table で 1 つの key に対して複数の行があり、サイズ制限によって出力 block が分割される場合に、`RIGHT ANY JOIN` の結果が不正になる問題を修正しました。[#99431](https://github.com/ClickHouse/ClickHouse/issues/99431) をクローズしました。[#102064](https://github.com/ClickHouse/ClickHouse/pull/102064) ([Vladimir Cherkasov](https://github.com/vdimir))。
* ネスト型のデシリアライゼーション中に、`Avro` リーダーでスタックオーバーフローをチェックするようにしました。[#102417](https://github.com/ClickHouse/ClickHouse/pull/102417) ([Pavel Kruglov](https://github.com/Avogar))。
* `MergeTree` settings に対する `system.completions` 内の重複行を修正しました。各設定名が 2 回ずつ表示されていたのは、設定名が同一であるにもかかわらず、`getMergeTreeSettings` と `getReplicatedMergeTreeSettings` の両方が dump されていたためです。[#102013](https://github.com/ClickHouse/ClickHouse/issues/102013) をクローズしました。[#102015](https://github.com/ClickHouse/ClickHouse/pull/102015) ([Groene AI](https://github.com/groeneai))。
* `StorageObjectStorageQueue` (`S3Queue`、`AzureQueue`) で、部分的に処理されたファイルを object storage から最後まで読み切るまでシャットダウンがブロックされる問題を修正しました。これにより、シャットダウン時にはソースが読み取りを即座に中断するようになりました。deduplication により、シャットダウン前に宛先テーブルへすでにストリーミングされた行は、次回起動時にファイルが再試行されても重複しません。[#103126](https://github.com/ClickHouse/ClickHouse/pull/103126) ([Tuan Pham Anh](https://github.com/tuanpach)).
* `insert_deduplication_token` を指定した `Alias` table engine への複数 block の insert で、すべての block が保持されるよう修正しました。[#103246](https://github.com/ClickHouse/ClickHouse/pull/103246) ([Enric Calabuig](https://github.com/eclbg)).
* native `JSON` カラムに対する `JSONHas` および `JSONExtractBool` が、`0`/`1` ではなく抽出された値 (`UInt8` に cast されたもの) を返してしまう問題を修正しました。[#103313](https://github.com/ClickHouse/ClickHouse/pull/103313) ([zxuhan7](https://github.com/zxuhan)).
* `format_custom_row_after_delimiter` を省略した不正または悪意あるデータに対して、`CustomSeparated` input format を保護するようにしました。header 検出、schema inference、可変カラムの行では、以前はフィールドが際限なく蓄積され、失敗するまでに数 GB のメモリが確保される可能性がありました。現在は、1 つの行に 1,000,000 個を超えるフィールドが含まれていると、読み取りは `INCORRECT_DATA` で失敗します。[#103404](https://github.com/ClickHouse/ClickHouse/pull/103404) ([Groene AI](https://github.com/groeneai)).
* replicated `MergeTree` table の `RESTORE` を修正し、復元した part の Attach に通常の insert 用 Keeper 再試行回数ではなく `backup_restore_keeper_max_retries` が使われるようにしました。[#104610](https://github.com/ClickHouse/ClickHouse/pull/104610) ([Pablo Marcos](https://github.com/pamarcos)).
* `MergeTree` table における `WHERE p AND <LowCardinality(Nullable(int)) constant>` の誤った結果を修正しました。以前は、この種のクエリは 0 行を返していました。これは、パーツ剪枝が `LowCardinality(Nullable(...))` 型からデフォルトの `NULL` を導出し、`notEquals(x, NULL)` ガードを生成して、すべての part を剪枝していたためです。[#104767](https://github.com/ClickHouse/ClickHouse/pull/104767) ([Groene AI](https://github.com/groeneai)).
* カラムの非単射関数で group 化し、そのカラムが同時に partition key でもある場合の誤った aggregation 結果を修正しました (例: `PARTITION BY a` と `GROUP BY intDiv(a, 2)` または `a % 2`) 。以前は、異なるパーティションにあっても同じグループに対応する値が merge されず、`allow_aggregate_partitions_independently = 1` の場合に重複したグループ行が生成されていました。[#104869](https://github.com/ClickHouse/ClickHouse/pull/104869) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 復旧中の follower へ送信中の snapshot が削除または移動される可能性があった `Keeper` の snapshot 転送における race を修正しました。[#104941](https://github.com/ClickHouse/ClickHouse/pull/104941) ([Antonio Andelic](https://github.com/antonio2368)).
* `hilbertEncode` と `mortonEncode` において、非定数の `Tuple` の第 1 引数 (range mask) が、すべての行の bit shift に行 0 の値を使っていたため、誤った結果を静かに返していたバグを修正しました。これらの関数は現在、行ごとの mask 値を計算するため、結果が入力の定数性や block サイズに依存しなくなりました。[#104992](https://github.com/ClickHouse/ClickHouse/pull/104992) ([Groene AI](https://github.com/groeneai)).
* `clickhouse-local` が `./clickhouse-local.xml`、`~/.clickhouse-local/config.xml`、または `/etc/clickhouse-local/config.xml` から configuration file を自動検出した際に、ユーザーレベルの設定 (`profiles`、`users`、`quotas`、access-control settings) を黙って無視していた問題を修正しました。以前は、これらの設定は `--config-file` が指定された場合、または現在のディレクトリに `./config.xml` が存在する場合にのみ適用されていましたが、現在はすべての discovery path で一貫した動作になります。[#105008](https://github.com/ClickHouse/ClickHouse/pull/105008) ([Groene AI](https://github.com/groeneai)).
* 文字列リテラルと比較した際に `BFloat16` カラムが一致件数 0 を何もエラーを出さずに返していた問題を修正しました (例: `WHERE bf16_col = '49.9'`) 。 [#105042](https://github.com/ClickHouse/ClickHouse/pull/105042) ([Raúl Marín](https://github.com/Algunenano)).
* `SummingMergeTree`、`AggregatingMergeTree`、`CoalescingMergeTree` で、マージ時に必要なカラムが存在しない、または期限切れの場合の `CLEAR COLUMN` および TTL 処理を修正しました。 [#101953](https://github.com/ClickHouse/ClickHouse/issues/101953) をクローズします。 [#105203](https://github.com/ClickHouse/ClickHouse/pull/105203) ([Antonio Andelic](https://github.com/antonio2368)).
* `shared->clusters_config` を参照外しする前に明示的な null ガードを追加し、`DNSCacheUpdater::run` と `Context::reloadClusterConfig` の競合状態を修正しました。 [#105220](https://github.com/ClickHouse/ClickHouse/pull/105220) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `ms` および `ns` の精度を使用する `toDateTime64` に対する `best_effort` の日付時刻パースを修正しました。 [#105233](https://github.com/ClickHouse/ClickHouse/pull/105233) ([Kaviraj Kanagaraj](https://github.com/kavirajk)).
* `OSIOWaitMicroseconds` がクエリ単位の I/O 待機時間ではなく、スレッドの生存期間全体にわたる I/O 待機時間を報告していた問題を修正しました。 [#105246](https://github.com/ClickHouse/ClickHouse/pull/105246) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* `Hudi` table engine で、table directory 内の Parquet file が Hudi の `[FileId]_[FileWriteToken]_[Timestamp].[extension]` 命名規則に一致しない場合、`LOGICAL_ERROR` ではなく `INCORRECT_DATA` (通常のクエリレベルの例外) を発生させるようになりました。従来は、このようなファイル名が debug builds で例外の原因になっていました。 [#105266](https://github.com/ClickHouse/ClickHouse/pull/105266) ([Groene AI](https://github.com/groeneai)).
* `ParallelFormattingOutputFormat` で、スケジュール失敗時に発生するデッドロックを修正しました。`scheduleFormatterThreadForUnitWithNumber` が例外をスローすると (例: `CANNOT_SCHEDULE_TASK`) 、そのユニットが `READY_TO_FORMAT` のまま残り、処理する formatter thread も存在しないため、ハングしていました。現在はスケジュール呼び出しを `try`/`catch` でラップし、失敗時は `onBackgroundException` 経由で処理されるため、collector は正常に終了します。 [#105275](https://github.com/ClickHouse/ClickHouse/pull/105275) ([Azat Khuzhin](https://github.com/azat)).
* 異常終了からの復旧時に `Distributed` 非同期 INSERT でデータが気付かれないまま失われる問題を修正しました。保存された Batch 内で最後の `.bin` ファイルが正常でも途中のファイルが破損していた場合、`DistributedAsyncInsertBatch::recoverBatch` は最後のファイルのヘッダーしか検証せず、その後 `sendBatch` が正常なファイルも含めて Batch 全体を破損扱いにしていたため、そこに含まれる行が失われていました。現在は各ファイルのヘッダーを個別に検証するため、実際に破損したファイルだけが `broken/` に移動され、残った行はリモート分片に届きます。 [#105281](https://github.com/ClickHouse/ClickHouse/pull/105281) ([Groene AI](https://github.com/groeneai)).
* `clickhouse extract-from-config --try` のリグレッションを修正しました。config で `from_env` 属性を使用し、`include_from` 要素が存在しない場合 (または存在していても見つからないファイルを指している場合) 、すべての `from_env` substitution が何もエラーを出さずに無視され、空文字列が返されていました。これにより 26.2.5 では Docker entrypoint のポート discovery が壊れていました。 [#101704](https://github.com/ClickHouse/ClickHouse/issues/101704) をクローズします。 [#105283](https://github.com/ClickHouse/ClickHouse/pull/105283) ([Groene AI](https://github.com/groeneai)).
* 挿入する値が `Enum`、`JSON`、`AggregateFunction` のいずれかで、そのテキスト表現にシングルクォートが含まれている場合に、`SQLite` table への `INSERT INTO` が SQLite の構文エラーで失敗する問題を修正しました。対応するシリアライゼーションでも `output_format_values_escape_quote_with_quote` 設定が反映されるようになりました (従来これが反映されていたのは `String` と `FixedString` のみでした) 。 [#105285](https://github.com/ClickHouse/ClickHouse/pull/105285) ([Groene AI](https://github.com/groeneai)).
* `allow_push_predicate_ast_for_distributed_subqueries = 1` (デフォルト) を指定した分散クエリで、`GLOBAL IN` のタプルが、射影に重複したカラム名を含むサブクエリと照合される際に発生していた `Code: 44. ILLEGAL_COLUMN: Cannot add column ...: column with this name already exists` を修正しました。例: `(x, y) GLOBAL IN (SELECT number, number FROM numbers(5))`。 [#105290](https://github.com/ClickHouse/ClickHouse/pull/105290) ([Groene AI](https://github.com/groeneai)).
* `Array(LowCardinality(...))` への `reinterpret` が、実行時にわかりにくい `NOT_IMPLEMENTED` エラーを返していた問題を修正しました。現在は型チェック時に `ILLEGAL_TYPE_OF_ARGUMENT` を返します。 [#105301](https://github.com/ClickHouse/ClickHouse/pull/105301) ([Raúl Marín](https://github.com/Algunenano)).
* `minMap`/`maxMap` (配列形式) および `minMappedArrays`/`maxMappedArrays` が、`NaN` を `ORDER BY` と一貫した形で扱うようになりました。`NaN` は末尾として扱われ (すべての値が `NaN` の場合にのみ返されます) 、従来は IEEE 754 の順序なし比較の意味論により、結果がデータ中の `NaN` の位置に依存していました。また、[#100448](https://github.com/ClickHouse/ClickHouse/pull/100448) で修正された `minMap`/`maxMap` の `Map` 引数形式とも一致していませんでした。 [#105331](https://github.com/ClickHouse/ClickHouse/pull/105331) ([Raúl Marín](https://github.com/Algunenano)).
* `Nested` カラムを持つ `MergeTree` 系テーブル向けの、テーブル単位の `ColumnsDescription` cache におけるメモリリークを修正しました。`share_nested_offsets = 1` (デフォルト) の場合、`ALTER ADD COLUMN`/`DROP COLUMN` のサイクルをまたいでもエントリが追い出されることはありませんでした。 [#105376](https://github.com/ClickHouse/ClickHouse/pull/105376) ([Groene AI](https://github.com/groeneai)).
* `TYPE set(N)` スキップ索引を持つ `SELECT` で、`WHERE` 句のアトムの結果型が `Float`、`BFloat16`、またはその他の非整数型 (たとえば `WHERE c0 + 0.1` や `WHERE log(c0)`) である場合に発生していた `BAD_ARGUMENTS` 例外 "It's a bug! Only integer types are supported by `__bitWrapperFunc`" を修正しました。この場合、スキップ索引は通常のフィルターパスにフォールバックするようになりました。 [#105384](https://github.com/ClickHouse/ClickHouse/pull/105384) ([Groene AI](https://github.com/groeneai)).

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* システムの `compiler-rt` ライブラリおよびヘッダーの使用を停止しました。[#91475](https://github.com/ClickHouse/ClickHouse/issues/91475) をクローズします。[#102857](https://github.com/ClickHouse/ClickHouse/pull/102857) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `libssl3t64` の OpenSSL CVE を修正するため、distroless Docker ベースイメージを更新しました。[#103583](https://github.com/ClickHouse/ClickHouse/pull/103583) ([Rahul Nair](https://github.com/motsc)).
* `keyserver.ubuntu.com` でタイムアウトする代わりに複数の Ubuntu keyserver を連鎖的に利用することで、リリース時に GPG 鍵を確実に取得できるようにしました。[#103834](https://github.com/ClickHouse/ClickHouse/pull/103834) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* ビルド時の `CMake` チェック (`check_*`, `try_compile`, `try_run`) を削除し、使用を禁止しました。コンパイラとツールチェーンは固定されているため、設定時の feature 検出は不要であり、現在はプロジェクト全体で無効化されています。バージョン固有の動作は、明示的に `CMAKE_CXX_COMPILER_VERSION` に基づいて切り替える必要があります。[#103980](https://github.com/ClickHouse/ClickHouse/pull/103980) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `libarchive` を 3.8.6 から 3.8.7 に更新しました。[#104047](https://github.com/ClickHouse/ClickHouse/pull/104047) ([Robert Schulze](https://github.com/rschu1ze)).
* `mongo-c-driver` を 2.3.0 に更新しました。[#104300](https://github.com/ClickHouse/ClickHouse/pull/104300) ([Raúl Marín](https://github.com/Algunenano)).
* 22.x 向けに LLVM の dependencies を更新しました。[#104381](https://github.com/ClickHouse/ClickHouse/pull/104381) ([Joshua Carp](https://github.com/jmcarp)).
* Linux 専用の `#if` ガードを削除し、移植性のある POSIX の `posix_openpt` / `grantpt` / `unlockpt` を使用することで、埋め込み client と PTY ディスクリプタ class が macOS および FreeBSD でもビルドできるようにしました。[#104436](https://github.com/ClickHouse/ClickHouse/pull/104436) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `librdkafka` をバージョン 2.14.1 にアップグレードしました。[#105222](https://github.com/ClickHouse/ClickHouse/pull/105222) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).

<div id="264">
  ### ClickHouse リリース 26.4、2026-04-30。[プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.4/)、[ビデオ](https://www.youtube.com/watch?v=9lSVy7k2EoI)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* `IN` 演算子は、`Bool` 型に対して厳密な値セマンティクスを使用するようになりました。セット内の `0` と `1` の値のみが `Bool` 値に一致します。以前は、`IN` セット内の `255` を超える数値が `Bool` との比較時に誤って true に丸め込まれていたため、`SELECT CAST(1, 'Bool') IN (256)` は 1 を返していました。現在は正しく `0` を返します。[#92980](https://github.com/ClickHouse/ClickHouse/issues/92980) をクローズしました。[#93115](https://github.com/ClickHouse/ClickHouse/pull/93115) ([Ashrith Bandla](https://github.com/ashrithb)).
* H3 ライブラリが v4 に更新され、長さ、面積、その他の計算の精度が向上しました。新しい結果は以前の結果と異なるため、この変更には後方互換性がありません。[#100348](https://github.com/ClickHouse/ClickHouse/pull/100348) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `WITH` 式リストの要素で、`SELECT` をクォートなしの識別子として使用することを禁止しました。[#101059](https://github.com/ClickHouse/ClickHouse/pull/101059) ([Aruj Bansal](https://github.com/arujbansal)).
* このパッチでは、merge テーブルの仮想カラムの扱いが変更されます。基になるテーブルに `_table` または `_database` が含まれている場合、これらのカラムはストレージから読み取られます。含まれていない場合は、読み取りステップの後に expression ステップを使って補完されます。[#101742](https://github.com/ClickHouse/ClickHouse/pull/101742) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `IN` 演算子は、複合型 (`Tuple`、`Array`、`Map`) 内での情報損失を伴う `Decimal` 変換も拒否するようになり、トップレベルの scalar 比較と一貫した動作になりました。以前は、精度チェックはトップレベルの scalar 値に対してのみ適用されていました。たとえば、`CAST('33.3', 'Decimal64(1)') IN (33.33)` は正しく `0` を返していましたが、`CAST(['33.3'], 'Array(Decimal64(1))') IN ([33.33])` は、情報損失を伴う変換が `Array` 内で発生していたため、誤って `1` を返していました。現在はどちらの場合も正しく `0` を返します。[#101812](https://github.com/ClickHouse/ClickHouse/pull/101812) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* HTTP 接続による認証前のメモリ使用量を制限するため、デフォルトの `http_max_fields` を 1,000,000 から 1,000 に、`http_max_field_name_size` を 128 KB から 4 KB に引き下げました。`http_max_request_header_size` および `http_headers_read_timeout` 設定を追加しました。以前のより高い上限を利用しているユーザーは、設定で元に戻すことができます。[#103285](https://github.com/ClickHouse/ClickHouse/pull/103285) ([Sema Checherinda](https://github.com/CheSema)).

<div id="267-new-feature">
  #### 新機能
</div>

* メモリ制限に達した際、ハッシュ結合および並列ハッシュ結合を Grace Hash Join に変換することで、自動的にディスクへ書き出すようにしました。この動作は `max_bytes_before_external_join` で制御されます。 [#97813](https://github.com/ClickHouse/ClickHouse/pull/97813) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Arrow Flight SQLのサポートを追加しました。 [#91170](https://github.com/ClickHouse/ClickHouse/pull/91170) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Keeper を利用したスナップショット進捗の追跡機能を備えた `Paimon` テーブルエンジンの増分読み取りサポートを追加し、`paimon_target_snapshot_id` による特定スナップショットの差分読み取りに対応するとともに、型マッピング、パーティションプルーニング、増分読み取りシナリオのテストカバレッジを拡充しました。 [#93655](https://github.com/ClickHouse/ClickHouse/pull/93655) ([XiaoBinMu](https://github.com/Binnn-MX)).
* `stem` 関数は実験的機能ではなくなりました (以前は、設定 `allow_experimental_nlp_functions` を有効にする必要がありました) 。 [#102399](https://github.com/ClickHouse/ClickHouse/pull/102399)  ([Jimmy Aguilar Mena](https://github.com/Ergus)) 。`stem` 関数を使うと、`String`、`FixedString`、`Array([Fixed]String)`、`Nullable`、`LowCardinality`、`Const` 型のカラム内にあるすべての単語／トークンを簡単に語幹化できるようになりました。 [#99137](https://github.com/ClickHouse/ClickHouse/pull/99137)  ([Jimmy Aguilar Mena](https://github.com/Ergus)) 。
* 互換性設定 `use_strict_insert_block_limits` において、まとめる処理での `max_insert_block_size_rows`、`max_insert_block_size_bytes`、`min_insert_block_size_rows`、`min_insert_block_size_bytes` の新しい動作を実装しました。[#94207](https://github.com/ClickHouse/ClickHouse/pull/94207) ([Kirill Kopnev](https://github.com/Fgrtue)) 。
* 各ラグに対する数値 Array の正規化自己相関を計算する関数 `arrayAutocorrelation(arr [, max_lag])` を追加しました。整数、浮動小数点数、Decimal の Array 型をサポートします。 [#94776](https://github.com/ClickHouse/ClickHouse/pull/94776) ([Wenyu Chen](https://github.com/wenyuchen96)) 。
* SQL関数 `obfuscateQuery` を追加しました。[#98010](https://github.com/ClickHouse/ClickHouse/issues/98010) をクローズしました。[#98305](https://github.com/ClickHouse/ClickHouse/pull/98305) ([Xuewei Wang](https://github.com/Sallery-X))。
* Dictionary の属性として、Map および JSON/Object 型をサポートしました。これにより、FLAT レイアウトと HASHED レイアウトの両方で、Dictionary に Map(String, String)、Map(String, Array(String))、JSON、Nullable(JSON) などの複雑な型を保存し、取得できるようになりました。[#98627](https://github.com/ClickHouse/ClickHouse/pull/98627) ([yanglongwei](https://github.com/ylw510)).
* 新たに2つのMergeTree設定 — `replicated_fetches_min_part_level` と `replicated_fetches_min_part_level_timeout_seconds` — が追加され、レプリカは新規に挿入されたばかりの (未マージの) パーツをピアから取得せずに済むようになり、大量インジェスト時のレプリケーション負荷を軽減できます。 [#98625](https://github.com/ClickHouse/ClickHouse/pull/98625) ([tanner-bruce](https://github.com/tanner-bruce)).
* JSONAllPaths と bloom\_filter、tokenbf\_v1、ngrambf\_v1、および text (転置) 索引タイプを使用した、JSON カラム向けの MergeTree スキップ索引のサポートを追加しました。これにより、各グラニュールに含まれる JSON パスの集合に基づいてグラニュールをスキップできるようになりました。[#98886](https://github.com/ClickHouse/ClickHouse/pull/98886) ([Pavel Kruglov](https://github.com/Avogar)) 。
* `printf` 関数が非定数のフォーマット文字列をサポートするようになり、カラムの値に基づいて、行ごとに異なるフォーマットパターンを使用できるようになりました。[#98991](https://github.com/ClickHouse/ClickHouse/pull/98991) ([Yash ](https://github.com/Onyx2406)).
* データを挿入順に再編成する新しいプロジェクション索引 `commit_order` が追加されました。[#99004](https://github.com/ClickHouse/ClickHouse/pull/99004) ([Mikhail Artemenko](https://github.com/Michicosun)) 。
* 検索語がテキスト文字列内に出現した箇所を HTML タグ (デフォルトは `<em>`/`</em>`) で囲む `highlight` 関数を追加しました。ASCII の大文字・小文字を区別しない照合、重複する一致箇所の自動マージ、開始タグ/終了タグのカスタマイズに対応しています。[#99131](https://github.com/ClickHouse/ClickHouse/pull/99131) ([Peng](https://github.com/fastio)).
* 正規化クエリハッシュ単位のクォータを実装し、公開 ClickHouse サービスを濫用から保護します。1. クォータキーの型として `NORMALIZED_QUERY_HASH` をサポート - 一意の正規化済みクエリごとに個別のクォータバケットを設けることで、`CREATE QUOTA q KEYED BY normalized_query_hash` はそれぞれの異なるクエリを独立して追跡します。2. クォータリソース型として `QUERIES_PER_NORMALIZED_HASH` をサポート -- これにより、一定期間内における単一の正規化済みクエリの最大実行回数を制限できるため、`MAX queries_per_normalized_hash = 100` によって、どのクエリパターンも 100 回を超えて実行できなくなります。 [#99586](https://github.com/ClickHouse/ClickHouse/pull/99586) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ユーザーは `NATURAL JOIN` 構文を使って JOIN クエリを記述できるようになりました。これにより、同じ名前のカラム同士が自動的に対応付けられ、結果ではそれらのカラムの重複が排除されます。[#99840](https://github.com/ClickHouse/ClickHouse/pull/99840) ([Peter Nguyen](https://github.com/petern48)).
* `SET TIME ZONE 'tz'` を `SET session_timezone` の別名としてサポートしました。[#99883](https://github.com/ClickHouse/ClickHouse/pull/99883) ([phulv94](https://github.com/phulv94)).
* Web UI (`play.html`) でパラメータ化クエリがサポートされるようになりました。`{name:Type}` のようなクエリパラメータが検出されると、その値を入力するための入力フィールドが表示されます。[#100041](https://github.com/ClickHouse/ClickHouse/pull/100041) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `FROM` 内のテーブル式として、SQL 標準の `VALUES` 句をサポートしました。たとえば、`SELECT * FROM (VALUES (1, 'a'), (2, 'b')) AS t(id, val)` のように使用できます。[#100143](https://github.com/ClickHouse/ClickHouse/pull/100143) ([Desel72](https://github.com/Desel72)).
* `EXTRACT` 演算子に、PostgreSQL 互換の単位 `EPOCH`、`DOW`、`DOY`、`ISODOW`、`ISOYEAR`、`WEEK`、`CENTURY`、`DECADE`、`MILLENNIUM` を追加しました。あわせて、従来はエラーになっていた `EXTRACT(WEEK FROM date)` も修正しました。[#100274](https://github.com/ClickHouse/ClickHouse/pull/100274) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `TO` 範囲修飾子付きの SQL 標準複合インターバルリテラル (例: `INTERVAL '1:30' HOUR TO MINUTE`) のサポートが追加されました。内部的には、インターバルの和に分解されます。[#100453](https://github.com/ClickHouse/ClickHouse/pull/100453) ([Desel72](https://github.com/Desel72)).
* HTTP 接続プールソケットのカーネル TCP の受信・送信バッファメモリ (`sk_rmem_alloc`, `sk_wmem_alloc`) について、接続グループごとの p50/p75/p90/p95 パーセンタイルおよび totals として報告される非同期メトリクスを追加しました。[#100575](https://github.com/ClickHouse/ClickHouse/pull/100575) ([Sema Checherinda](https://github.com/CheSema)) 。
* ClickHouse Keeper 向けの jemalloc profiling Web UI を追加しました。HTTP 制御ポートの `/jemalloc` で利用できます。[#100606](https://github.com/ClickHouse/ClickHouse/pull/100606) ([murphy-4o](https://github.com/murphy-4o)) 。
* 順序付きモードおよび順不同モード向けのコマンド `SYSTEM FLUSH OBJECT STORAGE QUEUE db.table PATH 'x'` を実装しました。[#100709](https://github.com/ClickHouse/ClickHouse/pull/100709) ([Bharat Nallan](https://github.com/bharatnc)) 。
* `JSON` カラム内のすべての値を `Array(String)` として返す関数 `JSONAllValues` を追加しました。値はテキスト表現にシリアライズされ、パス名順に並べられます。`JSON` カラム上の `JSONAllValues` 式に対するテキスト索引のサポートも追加しました。`JSONAllValues(json_column)` にテキスト索引を作成すると、`JSON` サブカラムに対するクエリのフィルタ条件 (例: `json_column.key1 = 'value'`) に自動的に使用されます。[#100730](https://github.com/ClickHouse/ClickHouse/pull/100730) ([Anton Popov](https://github.com/CurtizJ)).
* 入力フォーマットで大文字・小文字の区別を異なる方式で扱えるようにする新しい設定 `input_format_column_name_matching_mode` を追加しました。[#99346](https://github.com/ClickHouse/ClickHouse/pull/99346) ([manerone](https://github.com/Manerone)) 。
* `clickhouse-keeper-client` に `watch` コマンドを追加し、`get`、`exists`、`ls` コマンドでの watch をサポートしました。[#100834](https://github.com/ClickHouse/ClickHouse/pull/100834) ([Den Kalantaevskii](https://github.com/Diskein)) 。
* ClickHouse Keeper に `getChildrenRecursive` (ListRecursive) リクエストを、`clickhouse-keeper-client` に `lsr` コマンドを追加しました。これにより [#99916](https://github.com/ClickHouse/ClickHouse/issues/99916) が解決されます。[#100998](https://github.com/ClickHouse/ClickHouse/pull/100998) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 二次元配列 (行列) を受け取り、転置を行う新しい関数 `arrayTranspose` を追加しました: `SELECT arrayTranspose([[1, 2, 3], [4, 5, 6]])`. [#101214](https://github.com/ClickHouse/ClickHouse/pull/101214) ([Vitaly Baranov](https://github.com/vitlibar)).
* `auto_statistics_types mergetree` 設定のデフォルト値は `'minmax, uniq'` です — 新しいテーブルでは、適切なすべてのカラムに対して minmax および uniq の統計情報が自動的に作成されます - `materialize_statistics_on_insert` のデフォルトは false です — 統計情報は insert 時ではなくマージ時に構築されるようになり、insert のオーバーヘッドが削減されます。以前の動作に戻すには、`SET materialize_statistics_on_insert = 1` を使用してください。 [#101275](https://github.com/ClickHouse/ClickHouse/pull/101275) ([Han Fei](https://github.com/hanfei1991)).
* レプリカ間のレプリケーションラグによるデータ欠落を減らすため、materialized view の依存チェーン向けに `prefer_dependency_replica` refresh 設定を追加しました。[#101591](https://github.com/ClickHouse/ClickHouse/pull/101591) ([Seva Potapov](https://github.com/seva-potapov)).
* フレーズ検索 (連続したトークン列) 向けの `hasPhrase` (別名 `matchPhrase`) 関数を追加しました。検索は総当たりで行われるため、現時点ではテキスト索引にはまだ対応していません。[#101997](https://github.com/ClickHouse/ClickHouse/pull/101997) ([Elmi Ahmadov](https://github.com/ahmadov)) 。
* S3 GET リクエスト接続の存続時間と消費バイト数を観測するための `s3_read_request_duration_microseconds` および `s3_read_request_bytes` ヒストグラムメトリクスを追加しました。これらは `system.histogram_metrics` と Prometheus エンドポイントで確認できます。[#102058](https://github.com/ClickHouse/ClickHouse/pull/102058) ([Sema Checherinda](https://github.com/CheSema)).
* `Date` および `Date32` の値に `Time` と `Time64` の値を `+` 演算子で加算し、`DateTime` または `DateTime64` の結果を得られるようになりました。たとえば、`SELECT toDate('2024-01-15') + toTime('14:30:25')` は `2024-01-15 14:30:25` を返します。結果はセッションのタイムゾーンで計算され、範囲外の結果は `date_time_overflow_behavior` 設定に従って処理されます。[#95914](https://github.com/ClickHouse/ClickHouse/issues/95914) をクローズしました。[#102421](https://github.com/ClickHouse/ClickHouse/pull/102421) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* テキスト索引は GA となり、`compatibility` 設定にかかわらず常に有効のままとなったため、バックアップの復元時や互換性モードでの実行時に予期せず無効化されるのを防ぎます。[#101518](https://github.com/ClickHouse/ClickHouse/pull/101518) ([Nikita Fomichev](https://github.com/fm4v)).

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* Icebergテーブル向けに `ALTER TABLE ... EXECUTE remove_orphan_files` を追加し、オブジェクトストレージ内の未参照ファイルを特定して削除できるようにしました。[#99127](https://github.com/ClickHouse/ClickHouse/pull/99127) ([murphy-4o](https://github.com/murphy-4o)).
* join の並べ替えに使用される統計情報をランダム化する `query_plan_optimize_join_order_randomize` 設定を追加しました。テスト用途に有用です。[#100643](https://github.com/ClickHouse/ClickHouse/pull/100643) ([Vladimir Cherkasov](https://github.com/vdimir)).
* ClickHouse に AI 関数のサポートを追加し、ユーザーが SQL を使って OpenAI および Anthropic のエンドポイントを呼び出せるようにしました。`aiGenerate` はその最初の関数です。[#100831](https://github.com/ClickHouse/ClickHouse/pull/100831) ([George Larionov](https://github.com/george-larionov)).
* ClickHouse で LLM API を利用するための AI 関数 `aiClassify`、`aiExtract`、`aiTranslate` を追加しました。[#100832](https://github.com/ClickHouse/ClickHouse/pull/100832) ([George Larionov](https://github.com/george-larionov)).
* 新しいシステムテーブル `system.histogram_metric_log` を追加しました。これはすべてのヒストグラムメトリクス (例: S3/Azure のレイテンシー、Keeper リクエスト処理段階の所要時間) のスナップショットを定期的に取得します。あわせて、`system.histogram_metrics` の `value` カラムは、より柔軟で Prometheus のデータモデルとの互換性が高いため、`Float64` に変更されます。[#103046](https://github.com/ClickHouse/ClickHouse/pull/103046) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)). このテーブルの構造は、今後のリリースで変更される可能性があります。

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* ClickHouse は、min/max 統計に基づいて、SELECT クエリでデータパーツ全体をスキップできるようになりました。[#94140](https://github.com/ClickHouse/ClickHouse/pull/94140) ([zoomxi](https://github.com/zoomxi)) 。
* 完了済みの mutation がある ReplicatedMergeTree テーブルに対する readonly 操作時のロック競合を軽減しました。[#95771](https://github.com/ClickHouse/ClickHouse/pull/95771) ([Eduard Karacharov](https://github.com/korowa)) 。
* プロジェクションの読み取り時に `optimize_read_in_order` を考慮するようにしました。[#89453](https://github.com/ClickHouse/ClickHouse/issues/89453) をクローズしました。[#95885](https://github.com/ClickHouse/ClickHouse/pull/95885) ([Andrey Zvonov](https://github.com/zvonand)) 。
* ハッシュ結合および同時実行ハッシュ結合にいくつかの改善を加えました。 [#96663](https://github.com/ClickHouse/ClickHouse/pull/96663) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 入力データの重複がほとんどない場合は、`LowCardinality` カラムの最適化を無効にすることで、`DISTINCT` 変換を最適化しました。 [#97113](https://github.com/ClickHouse/ClickHouse/pull/97113) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* [#97723](https://github.com/ClickHouse/ClickHouse/issues/97723) による `LIKE` クエリのパフォーマンス最適化。これらのクエリでテキストインデックスを使用できるようになりました。[#98149](https://github.com/ClickHouse/ClickHouse/pull/98149) ([Elmi Ahmadov](https://github.com/ahmadov)) 。
* ベクトル化された数学関数 (`exp`、`log`、`sigmoid`、`tanh`) が、AArch64 (NEON/SVE を使用) および FreeBSD/Darwin で高速化されました。これらの環境では、以前は低速な scalar のフォールバック実装が使用されていました。[#98230](https://github.com/ClickHouse/ClickHouse/pull/98230) ([Raúl Marín](https://github.com/Algunenano)) 。
* `MergeTree` の主キーカラムを対象に、`^(abc-1|abc-2)` のようなリテラル文字列の正規表現オルタネーションでフィルタするクエリでは、選択肢が共通のプレフィックスを持つ場合に、主キーのプルーニングを利用できるようになりました。[#98988](https://github.com/ClickHouse/ClickHouse/pull/98988) ([Yash ](https://github.com/Onyx2406)).
* `ORDER BY ... LIMIT` の top-k 動的フィルタリングを、`Nullable`、`String`、`COLLATE` 型にも対応できるよう一般化しました。[#99033](https://github.com/ClickHouse/ClickHouse/pull/99033) ([murphy-4o](https://github.com/murphy-4o)).
* 値の範囲が小さい`Int32`および`Int64`キーでのハッシュ結合を、直接索引型ハッシュテーブルを使用することで高速化しました。[#99275](https://github.com/ClickHouse/ClickHouse/pull/99275) ([Hechem Selmi](https://github.com/m-selmi)).
* 単一の辞書を使用する `LowCardinality` カラムに対する非連続クエリを高速化しました。 [#99285](https://github.com/ClickHouse/ClickHouse/pull/99285) ([Ivan Babrou](https://github.com/bobrik)).
* 内部ループをデバーチャライズすることで、`Float64` カラムに対する `var*Stable` および `stddev*Stable` 関数を高速化しました。注: これにより、浮動小数点演算の結果が ULP レベルで変化するコンパイラ最適化 (FMA/レジスタ) が有効になります。[#99460](https://github.com/ClickHouse/ClickHouse/pull/99460) ([Riyane El Qoqui](https://github.com/riyaneel)).
* 32/64 バイトの入力に対して、最適化された Firedancer の base58 エンコードを使用するようになりました (`base58Encode` では自動) 。デコード結果が 32/64 バイトの場合は、最適化された base58 デコードも使用できるようになりました (`base58Decode('...', 32)` などで明示的に指定) 。[#99461](https://github.com/ClickHouse/ClickHouse/pull/99461) ([Joanna Hulboj](https://github.com/jh0x)).
* リンカーのセクション単位の最適化 (`-ffunction-sections`, `-fdata-sections`, `--icf=all`) を有効にし、バイナリサイズを削減するとともに、命令キャッシュの利用効率を向上させます。[#99474](https://github.com/ClickHouse/ClickHouse/pull/99474) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 多数のコアを搭載したマシンで、集約を伴う短時間のクエリにおける負のスケーリングを修正しました。クエリが少数のマークしか読み取らない場合、集約後にパイプラインが `max_threads` まで拡張されなくなり、ほぼ空のストリームが大量に生じることによるオーバーヘッドを回避します。 [#99493](https://github.com/ClickHouse/ClickHouse/pull/99493) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 読み取りタスクサイズを適切に選択することで、並列レプリカ使用時のクエリのパフォーマンスを改善しました。 [#99801](https://github.com/ClickHouse/ClickHouse/pull/99801) ([Nikita Taranov](https://github.com/nickitat)).
* ユーザー空間ページキャッシュ経由でリモートファイルを読み込む際に、先読みを有効にしました。 [#99919](https://github.com/ClickHouse/ClickHouse/pull/99919) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* サブカラムの列挙時に、String `.size` サブカラムの不要な計算を回避。[#99941](https://github.com/ClickHouse/ClickHouse/pull/99941) ([Pavel Kruglov](https://github.com/Avogar)) 。
* ホテルから、非常に多数のレプリカを持つクラスターに接続して作業する際でも、clickhouse-client のプログレスバーが過度に揺れないようにしました。[#100145](https://github.com/ClickHouse/ClickHouse/pull/100145) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ページキャッシュが有効な場合に `clickhouse-local` で `MemoryWorker` を起動し、ユーザー空間のページキャッシュを実際に利用できるようにしました。 [#100306](https://github.com/ClickHouse/ClickHouse/pull/100306) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LIMIT`句を`UNION ALL`にプッシュダウンすることで、クエリを最適化します。[#100364](https://github.com/ClickHouse/ClickHouse/pull/100364) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `ORDER BY` における `String` および `FixedString` カラム比較の JIT コンパイル対応を追加し、文字列を多く含むソートキーでのマージフェーズのソート性能を 6〜17% 向上させました。@lgbo-ustc との共著です。[#100577](https://github.com/ClickHouse/ClickHouse/pull/100577) ([Raúl Marín](https://github.com/Algunenano)) 。
* 新しい `read_in_order_use_virtual_row_per_block` 設定とあわせて `read_in_order_use_virtual_row` を有効にすると、`MergeTree` から読み取った各 block の後に仮想行の境界情報が出力されるようになり、`WHERE`/`PREWHERE`/`JOIN` によってデータが完全に除外されるパーツについて、マージ処理がストリームの途中でソースの優先順位を付け替えられるようになりました。[#99945](https://github.com/ClickHouse/ClickHouse/issues/99945) をクローズしました。[#100603](https://github.com/ClickHouse/ClickHouse/pull/100603) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `itoa` の高速パスを dragonbox 互換の丸め処理で拡張し、大きな整数値の Float-to-String 変換を高速化しました。[#100649](https://github.com/ClickHouse/ClickHouse/pull/100649) ([Raúl Marín](https://github.com/Algunenano)) 。
* `dragonbox` を `zmij` に置き換え、Float-to-String 変換を 1.5～3 倍高速化。[#100650](https://github.com/ClickHouse/ClickHouse/pull/100650) ([Raúl Marín](https://github.com/Algunenano)) 。
* ソフトウェア除算をBarrett還元に置き換え、変換ループをアンロールすることで、`Int128`/`UInt128` から文字列への変換を高速化しました。[#100671](https://github.com/ClickHouse/ClickHouse/pull/100671) ([Raúl Marín](https://github.com/Algunenano)) 。
* `uniqExact` の並列マージで余分なスレッドが生成されるのを防ぎました。[#100686](https://github.com/ClickHouse/ClickHouse/pull/100686) ([Jiebin Sun](https://github.com/jiebinn)) 。
* `uniqExact` のバッチ並列マージに対応しました。[#100687](https://github.com/ClickHouse/ClickHouse/pull/100687) ([Jiebin Sun](https://github.com/jiebinn)).
* 基になる `MergeTree` テーブルを持つシンプルなビューに対するクエリで、並列レプリカ実行時の並列化が向上しました。 [#100815](https://github.com/ClickHouse/ClickHouse/pull/100815) ([Igor Nikonov](https://github.com/devcrafter)).
* `parallel_replicas_allow_view_over_mergetree=1` の場合、単純なビュー (`MergeTree` テーブル上の対象となる `UNION ALL` ビューを含む) に対する並列レプリカのサポートを追加しました。これにより、ビューの内側のクエリではなく外側のクエリを並列化できるようになり、ノード間でのクエリの並列実行が向上します。[#100958](https://github.com/ClickHouse/ClickHouse/pull/100958) ([Igor Nikonov](https://github.com/devcrafter))。
* `IN` を含むフィルターがクエリプランに存在する場合の、`full_sorting_merge` における主キー順での読み取りを最適化。 [#101261](https://github.com/ClickHouse/ClickHouse/pull/101261) ([Nikita Taranov](https://github.com/nickitat)).
* サンプリング設定をキャッシュし、メモリトラッカー階層全体をたどらないようにすることで、割り当て/解放を最適化しました。 [#101267](https://github.com/ClickHouse/ClickHouse/pull/101267) ([Azat Khuzhin](https://github.com/azat)).
* `deduplicate_insert = 'enable'` (26.2以降のデフォルト設定) で発生していた `INSERT` の重大な性能低下を修正しました。データハッシュの計算をまとめる処理から sink へ遅らせ、`updateHashWithValueRange` を使ったバッチ単位のカラムハッシュ計算を行うことで、22カラム・500万行におけるオーバーヘッドを約2.5秒から約0.5秒に削減しています。[#101494](https://github.com/ClickHouse/ClickHouse/pull/101494) ([Sema Checherinda](https://github.com/CheSema)) 。
* `try_lock` を使用して競合のないロック取得の計測を回避し、保持時間の計測を削除することで、プロファイル対象ロックのオーバーヘッドを削減しました。[#101502](https://github.com/ClickHouse/ClickHouse/pull/101502) ([Antonio Andelic](https://github.com/antonio2368)) 。
* `arrayDotProduct` の手書きの AVX-512 intrinsic を、プラットフォーム非依存で自動ベクトル化可能なループに置き換え、AVX2 と ARM NEON のサポートを追加しました。[#101571](https://github.com/ClickHouse/ClickHouse/pull/101571) ([Peng](https://github.com/fastio)) 。
* エスケープされた文字列 (例: `'{\'key\':1}'`) として値が渡された場合の`Map`、`Array`、`Tuple`カラムに対する`INSERT VALUES`のパフォーマンスを改善し、SQL式パーサーへの不要なフォールバックを回避しました。[#102119](https://github.com/ClickHouse/ClickHouse/pull/102119) ([Joanna Hulboj](https://github.com/jh0x)).
* `RabbitMQ` テーブルエンジンで CPU 使用率が過剰になる問題を修正しました。[#102711](https://github.com/ClickHouse/ClickHouse/pull/102711) ([Jaap Elst](https://github.com/jaapieaapie1)) 。
* JOIN 順序オプティマイザは、既存の JOIN 条件から推移的な等値 JOIN 述語を推論できるようになりました。たとえば、`A.x = B.x AND B.x = C.x` が与えられた場合、`A.x = C.x` という等価関係も認識されるため、オプティマイザは推移的に接続されたテーブル間の直接 JOIN も検討できます。これにより、ディメンションテーブルが共通のファクトテーブルを介して接続されるスター型およびスノーフレーク型のスキーマでは、実行計画の品質が向上する可能性があります。この機能は、新しい `enable_join_transitive_predicates` 設定で制御されます (デフォルトではオフ) 。 [#98479](https://github.com/ClickHouse/ClickHouse/pull/98479) ([Alexander Gololobov](https://github.com/davenger)).
* マージを並列に事前キャンセルすることで、`TRUNCATE DATABASE TABLES LIKE` を最適化しました。[#98597](https://github.com/ClickHouse/ClickHouse/pull/98597) ([Shaohua Wang](https://github.com/tiandiwonder)) 。
* multiply が単調性に対応し、`key * constant` 式で主キーの絞り込みが可能になりました。[#98983](https://github.com/ClickHouse/ClickHouse/pull/98983) ([Amos Bird](https://github.com/amosbird)) 。
* cacheディクショナリでは、`hasKeys` で排他ロックを取得しなくなりました。cache の読み取りに共有ロックを使用することで、ロック競合が軽減されます。 [#100796](https://github.com/ClickHouse/ClickHouse/pull/100796) ([liuguangliang](https://github.com/sourcelliu)).
* VIEW により多くの最適化を適用できるようにするため、クエリツリー内で VIEW サブクエリをインライン化。 [#100830](https://github.com/ClickHouse/ClickHouse/pull/100830) ([Dmitry Novik](https://github.com/novikd)).
* サーバー起動時のcacheの読み込みを最適化しました。 [#101500](https://github.com/ClickHouse/ClickHouse/pull/101500) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 述語の選択性が十分に高い場合に、FINAL を伴う ReplacingMergeTree で遅延カラム実体化を実装しました。[#101647](https://github.com/ClickHouse/ClickHouse/pull/101647) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `optimize_rewrite_array_exists_to_has` 最適化を再度有効化しました (23.10 以降、デフォルトでは無効) 。これにより、`arrayExists(x -> x = elem, arr)` は大幅に高速な `has(arr, elem)` に書き換えられます。また、配列の要素型と `elem` が `has` に対して互換性がない場合 (例: `Date` と `String`) は、この書き換えを正しくスキップするようになったため、以前は失敗していたクエリも引き続き動作します。[#71431](https://github.com/ClickHouse/ClickHouse/issues/71431) をクローズしました。[#100944](https://github.com/ClickHouse/ClickHouse/pull/100944) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。

<div id="267-improvement">
  #### 改善
</div>

* EXPLAIN PLAN pretty=1 の出力を改善: 最上位クエリの出力カラムを表示し、推定結果行数とローカリティ付きで JOIN の関係を表すラベル/シンボルを表示するほか、JOIN/ソースの各ステップについてステップごとの出力カラムも含めるようになりました。この変更は [#98117](https://github.com/ClickHouse/ClickHouse/issues/98117) の Information Deficit の部分に対応しています。[#99462](https://github.com/ClickHouse/ClickHouse/pull/99462) ([Kirill Kopnev](https://github.com/Fgrtue)).
* MergeTree テーブル設定 `share_nested_offsets` (デフォルトは `true`) を追加しました。`false` に設定すると、ドット付きの名前 (例: `n.a`、`n.b`) を持つ Array カラムは、従来の `Nested` セマンティクスの一部としてオフセットファイルを共有し、配列サイズが同一であることを検証するのではなく、独立したカラムとして扱われます。[#98416](https://github.com/ClickHouse/ClickHouse/pull/98416) ([Amos Bird](https://github.com/amosbird)).
* users.xml/yaml の設定で複数の認証方法を指定できるようになりました (SQL では以前から可能でした) 。[#91998](https://github.com/ClickHouse/ClickHouse/pull/91998) ([Flip-Liquid](https://github.com/Flip-Liquid)).
* TLS を使用している Raft のノード間接続を自動的に再読み込みするようにしました。 [#93455](https://github.com/ClickHouse/ClickHouse/pull/93455) ([Evgeny](https://github.com/evkuzin)).
* `cast_keep_nullable` を拡張し、Dynamic/JSON 型でも動作するようにしました。これを設定すると、Nullable にできる型から NULL をキャストした場合は NULL が返され、それ以外では NULL に対して `CANNOT_INSERT_NULL_IN_ORDINARY_COLUMN` エラーが発生します。[#96504](https://github.com/ClickHouse/ClickHouse/pull/96504) ([Seva Potapov](https://github.com/seva-potapov)) 。
* オブジェクトプールの導入により、内部データ構造 (`ISerialization` オブジェクト) のメモリ使用量を削減しました。[#96563](https://github.com/ClickHouse/ClickHouse/pull/96563) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)) 。
* keeper-client の XML 設定で `password` および `identity` フィールドがサポートされました。[#96800](https://github.com/ClickHouse/ClickHouse/pull/96800) ([Grigorii Sokolik](https://github.com/GSokol)).
* Unity Catalog 向けの `Iceberg` への書き込みを改善しました。[#98162](https://github.com/ClickHouse/ClickHouse/pull/98162) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* INSERT 時にプロジェクションパーツを同期的にファイナライズできるようにする設定 `finalize_projection_parts_synchronously` を追加しました。これにより、デフォルトでは既存の非同期動作を維持したまま、多数のプロジェクションを持つテーブルでピークメモリ使用量を削減できます。 [#98228](https://github.com/ClickHouse/ClickHouse/pull/98228) ([Amos Bird](https://github.com/amosbird)).
* 各プロジェクションのマージ/再構築にかかった時間をミリ秒単位で記録する `projections_duration_ms` カラムを `system.part_log` に追加しました。[#98292](https://github.com/ClickHouse/ClickHouse/pull/98292) ([Amos Bird](https://github.com/amosbird)) 。
* KILL QUERY および clickhouse-client でのクエリキャンセル (Ctrl+C) によって、ExpressionTransform と NumbersRangedSource を使用するクエリのキャンセルを改善しました。[#98908](https://github.com/ClickHouse/ClickHouse/pull/98908) ([Roman Vasin](https://github.com/rvasin)) 。
* ハードコードされた `source_table_engines` のリストを、`StorageFactory::getAllStorages()` による実行時ルックアップに置き換えました。これにより、これまで漏れていた一部のテーブルエンジンに対するアクセスチェックが追加され、[#71544](https://github.com/ClickHouse/ClickHouse/issues/71544) を解消しました。[#98984](https://github.com/ClickHouse/ClickHouse/pull/98984) ([pufit](https://github.com/pufit)).
* Variant と Dynamic で型不一致が発生した際の動作 (throw または NULL を返す) を制御する設定を追加しました。 [#99085](https://github.com/ClickHouse/ClickHouse/pull/99085) ([Bharat Nallan](https://github.com/bharatnc)).
* `Iceberg` と Spark の互換性を改善しました。ストレージパスとメタデータパスの混在使用によって生じていた一貫性のないパス処理を修正し、`Iceberg` テーブルが記録するテーブルロケーションは URL または絶対パスのいずれかでなければならないようにしました。また、一部の ClickHouse リーダーが走査後のバイト数カウントをサポートしていないため、`Azure` でファイルサイズをカウントするためのフォールバックを追加し、Spark と互換性のある形で `version-hint.txt` を処理するようにしました。さらに、今後パスの型を取り違えにくくする型レベルの抽象化を導入し、中間的なアップロード／ダウンロードなしでエンジン間の相互運用性を検証する `Azure` および `Local` 向けのテストを追加しました。加えて、position deletes の扱いを修正しました。これは以前、不適切な場面でパス推論ヒューリスティクスに依存していました。 [#99163](https://github.com/ClickHouse/ClickHouse/pull/99163) ([Daniil Ivanik](https://github.com/divanik)). [#100420](https://github.com/ClickHouse/ClickHouse/pull/100420) ([Daniil Ivanik](https://github.com/divanik)).
* [https://github.com/ClickHouse/ClickHouse/pull/92844](https://github.com/ClickHouse/ClickHouse/pull/92844) で導入された `IPartitionStrategy::cached_result` におけるレースコンディションの可能性を修正しました。[#99400](https://github.com/ClickHouse/ClickHouse/pull/99400) ([Arthur Passos](https://github.com/arthurpassos)).
* ユーザーは、ArrowフォーマットでClickHouseのIntervalデータ型を書き出せるようになりました。[#99519](https://github.com/ClickHouse/ClickHouse/pull/99519) ([Peter Nguyen](https://github.com/petern48)).
* `Arrow` および `Parquet` フォーマットでの `UUID` データ型のインポートとエクスポートがネイティブにサポートされました。これにより、ユーザーは手動で文字列に変換したり回避策を講じたりすることなく、ClickHouse と他のデータツールの間で UUID データを直接クエリおよび転送できるようになりました。トップレベルの UUID に対する自動的な論理推論と、ネストされた UUID に対する明示的なスキーマヒントもサポートされています。 [#99521](https://github.com/ClickHouse/ClickHouse/pull/99521) ([Ivan](https://github.com/ivanmantova)).
* オブジェクトストレージ上の`7z`アーカイブをサポート。[#70968](https://github.com/ClickHouse/ClickHouse/issues/70968) をクローズ。[#99600](https://github.com/ClickHouse/ClickHouse/pull/99600) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* オブジェクトストレージ (`S3`、`Azure` など) のファイル一覧取得・読み取りパイプラインを内部的に把握できるよう、`ObjectStorageListedObjects`、`ObjectStorageGlobFilteredObjects`、`ObjectStoragePredicateFilteredObjects`、`ObjectStorageReadObjects` の ProfileEvents を追加しました。[#99778](https://github.com/ClickHouse/ClickHouse/pull/99778) ([Sema Checherinda](https://github.com/CheSema)) 。
* 基になるすべての distributed/remote テーブルに存在しないカラムをクエリした際に、`merge` テーブル関数が `UNKNOWN_IDENTIFIER` エラーで失敗する問題を修正しました。[#99833](https://github.com/ClickHouse/ClickHouse/pull/99833) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ReplicatedMergeTree のミューテーションの総実行時間メトリックに、commit time が再び含まれるようになりました。[#96376](https://github.com/ClickHouse/ClickHouse/issues/96376) 以降は除外されていました。[#99936](https://github.com/ClickHouse/ClickHouse/pull/99936) ([alesapin](https://github.com/alesapin)).
* `MetadataStorageFromDisk` に、削除待ちのブロブオブジェクト向けの先行書き込みログを追加し、オブジェクト削除時のメタデータとリモートオブジェクトストレージの間の耐久性と整合性を向上させました。[#100019](https://github.com/ClickHouse/ClickHouse/pull/100019) ([Maksim Kita](https://github.com/kitaisreal)).
* サーバーの環境変数にアクセスできないようにするため、組み込みクライアント (SSH および WebSocket プロトコル) で AI SQL 生成 (`??` コマンド) を無効化しました。[#100290](https://github.com/ClickHouse/ClickHouse/pull/100290) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* カタログを使った Iceberg への insert のインターフェイスを変更しました。設定 `storage_catalog_type`、`storage_aws_access_key_id` などは非推奨になりました。[#100334](https://github.com/ClickHouse/ClickHouse/pull/100334) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `clickhouse-client` に貼り付ける際、タブを 4 つのスペースとして扱うようにしました。[#100405](https://github.com/ClickHouse/ClickHouse/issues/100405) をクローズしました。[#100416](https://github.com/ClickHouse/ClickHouse/pull/100416) ([Raúl Marín](https://github.com/Algunenano)).
* `show_data_lake_catalogs_in_system_tables` が無効な場合、「もしかして …」というテーブル候補のヒントを表示するために、リモートのデータレイク カタログ全体をスキャンしないようにしました。[#100452](https://github.com/ClickHouse/ClickHouse/pull/100452) ([Alsu Giliazova](https://github.com/alsugiliazova)) 。
* パーティションプルーニング後に `distributed_index_analysis_min_indexes_bytes_to_activate` を適用します。[#100477](https://github.com/ClickHouse/ClickHouse/pull/100477) ([Azat Khuzhin](https://github.com/azat)) 。
* 空の IN/NOT IN 句の使用時に、Parquet の bloom filter プッシュダウンで発生するアサーション失敗を修正しました。[#100543](https://github.com/ClickHouse/ClickHouse/pull/100543) ([zoomxi](https://github.com/zoomxi)) 。
* MinMaxカラム STATISTICS は、最小値と最大値を Float64 ではなく Field (型付き) として格納するようになりました。シリアライズされたフォーマットには、値に加えてカラムの型名も含まれます。STATISTICS ファイルのバージョンは V2 に更新され、以前のバージョンで書き込まれたファイルは再マテリアライズ (ALTER TABLE … MATERIALIZE STATISTICS ALL) が必要です。修正 [#53140](https://github.com/ClickHouse/clickhouse-private/issues/53140)。[#100605](https://github.com/ClickHouse/ClickHouse/pull/100605) ([Han Fei](https://github.com/hanfei1991)).
* Consumer のクローズ時に発生するデッドロックの修正を含むよう、`cppkafka` を更新しました。[#100612](https://github.com/ClickHouse/ClickHouse/pull/100612) ([Azat Khuzhin](https://github.com/azat)) 。
* Iceberg でデータファイルをパースする際に使用されるオブジェクト情報に、マニフェストファイルからパースしたファイルの行数とバイト単位のファイルサイズが含まれるようになりました。 [#100645](https://github.com/ClickHouse/ClickHouse/pull/100645) ([Daniil Ivanik](https://github.com/divanik)).
* cache メモリアリーナの分離を制御できるようにするため、`use_separate_cache_arena` 設定パラメータが追加されました。[#100664](https://github.com/ClickHouse/ClickHouse/pull/100664) ([Seva Potapov](https://github.com/seva-potapov)) 。
* Apache Arrow の `StringView` および `BinaryView` データ型を ClickHouse の `String` カラムにインポートするネイティブサポートが追加され、Arrow ベースのインジェストとの互換性が向上しました。[#100762](https://github.com/ClickHouse/ClickHouse/pull/100762) ([Ivan](https://github.com/ivanmantova)).
* いくつかの Keeper サーバー設定が、実行時に設定ファイルが変更された場合にホットリロードされるようになりました: max\_requests\_batch\_size, max\_requests\_batch\_bytes\_size, max\_request\_size, quorum\_reads。 [#100773](https://github.com/ClickHouse/ClickHouse/pull/100773) ([Michael Kolupaev](https://github.com/al13n321)).
* リリースビルドで、プロファイルイベント `MemoryAllocatedWithoutCheck/MemoryAllocatedWithoutCheckBytes` を増加させました。 [#100899](https://github.com/ClickHouse/ClickHouse/pull/100899) ([Pavel Kruglov](https://github.com/Avogar)).
* Cgroupv2 のメモリ追跡で、カーネルメモリから `slab_reclaimable` が除外されるようになり、回収不能なメモリ使用量をより正確に把握できるようになりました。[#100901](https://github.com/ClickHouse/ClickHouse/pull/100901) ([Antonio Andelic](https://github.com/antonio2368)) 。
* `use_partition_pruning = 0` は、パーティションキーに基づくプルーニングの無効化に加え、`MinMax` 索引のプルーニングとパーティションキーのカラムに対する count 最適化も無効にするようになりました。[#100904](https://github.com/ClickHouse/ClickHouse/pull/100904) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `EXPLAIN [PLAN]` の `pretty=1` で、式が人間にとって読みやすい形式で表示されるようになりました。 [#100927](https://github.com/ClickHouse/ClickHouse/pull/100927) ([Kirill Kopnev](https://github.com/Fgrtue)).
* `accurateCastOrNull` と `accurateCastOrDefault` が、`Nullable` 要素を含むネストした `Tuples` を含め、変換先の `Tuple` 型をサポートするようになりました。これまでは `Tuple` を `Nullable` の内部に置けなかったため、これらの関数では変換先に `Tuple` を指定できませんでした。[#100820](https://github.com/ClickHouse/ClickHouse/issues/100820) をクローズしました。[#100942](https://github.com/ClickHouse/ClickHouse/pull/100942) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* ライトテーマとダークテーマを切り替えた際に、Play UIでチャートが重複表示される問題を修正しました。 [#101058](https://github.com/ClickHouse/ClickHouse/pull/101058) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* chdig を [v26.3.1](https://github.com/azat/chdig/releases/tag/v26.3.1) に更新 (perfetto UI、CPU/メモリ/マージ処理/クエリのサマリーへのスパークライン追加、system.warnings、ログ内の正規表現検索) 。[#101092](https://github.com/ClickHouse/ClickHouse/pull/101092) ([Azat Khuzhin](https://github.com/azat)) 。chdig を [v26.4.3](https://github.com/azat/chdig/releases/tag/v26.4.3) に更新 (perfetto の改善、pastila.nl 経由の共有に関する修正、フレームグラフの差分、リアルタイムでの設定変更) 。[#103145](https://github.com/ClickHouse/ClickHouse/pull/103145) ([Azat Khuzhin](https://github.com/azat)) 。
* これで、`SELECT` クエリの前にある `WITH` 句で末尾カンマを使えるようになりました。[#101093](https://github.com/ClickHouse/ClickHouse/pull/101093) ([Aruj Bansal](https://github.com/arujbansal)) 。
* compact パーツ内で圧縮ブロックをどのように編成するかを制御する `compress_per_column_in_compact_parts` MergeTree setting を追加しました。`true` の場合 (デフォルトで、現在の動作を維持) 、各カラムが新しい圧縮ブロックの先頭となるため、必要なものだけを選択的に展開できます。`false` の場合は、granule 内のすべてのカラムが同じ圧縮ブロックにまとめられるため、常にすべてのカラムを読み取るワークロードでは圧縮率と読み取り性能が向上します。[#101114](https://github.com/ClickHouse/ClickHouse/pull/101114) ([Amos Bird](https://github.com/amosbird)).
* Play UIで、テーブル情報のバルーンを行全体ではなく、テーブル名にホバーしたときのみ表示するようにしました。[#101118](https://github.com/ClickHouse/ClickHouse/pull/101118) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Play UI のサイドバーに engine ごとのアイコンを追加し、table 一覧の UX を改善しました。[#101134](https://github.com/ClickHouse/ClickHouse/pull/101134) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `Arrow`、`ArrowStream`、`ORC`、および従来の`Parquet`フォーマットで`Nullable(Tuple)`をサポート。[#101272](https://github.com/ClickHouse/ClickHouse/pull/101272) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* web UI (play.html) で、TOTALS 行をテーブルのフッターに表示。[#101286](https://github.com/ClickHouse/ClickHouse/pull/101286) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI (`play.html`) でマルチクエリモードに対応：複数のクエリを一度に実行でき、`SELECT`系クエリは並列で実行され、各クエリの結果が個別に表示されます。[#101290](https://github.com/ClickHouse/ClickHouse/pull/101290) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 結果テーブルの Web Component 化に伴って発生していた、play.html の Web UI におけるカラムのリサイズ不具合を修正しました。[#101295](https://github.com/ClickHouse/ClickHouse/pull/101295) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 一定の時間間隔ごとに、MEMORY\_LIMIT\_EXCEEDED 発生時の jemalloc プロファイルの flush 回数を制限できるようになりました。[#101396](https://github.com/ClickHouse/ClickHouse/pull/101396) ([Azat Khuzhin](https://github.com/azat)).
* Keeper 設定 `nuraft_streaming_mode` (デフォルトは `false`) 、`nuraft_max_log_gap_in_stream`、`nuraft_max_bytes_in_flight_in_stream` を追加しました。[#90743](https://github.com/ClickHouse/ClickHouse/issues/90743) をクローズしました。[#101427](https://github.com/ClickHouse/ClickHouse/pull/101427) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* カーネル OS のページキャッシュと ClickHouse のユーザー空間ページキャッシュの両方を除いた cgroup のメモリ使用量を報告する非同期メトリクス `CGroupMemoryUsedWithoutPageCache` を追加し、`MemoryResidentWithoutPageCache` と同様の扱いにしました。あわせて、`CGroupMemoryUsed` メトリクスの説明も明確にしました。[#101513](https://github.com/ClickHouse/ClickHouse/pull/101513) ([Francesco Ciocchetti](https://github.com/primeroz)).
* SQL 標準の `OVERLAY` 関数構文向けに、パーサーレベルのシンタックスシュガーを追加しました。`overlay` 関数自体はすでに存在しており、今回の変更で `PLACING`、`FROM`、`FOR` を区切りとして使うキーワードベースの形式もサポートされます。[#101681](https://github.com/ClickHouse/ClickHouse/pull/101681) ([Desel72](https://github.com/Desel72)).
* `information_schema.tables` システムテーブルに、このテーブルの既存の大文字の別名と同様のカラム別名 `INDEX_LENGTH` を追加しました。[#101705](https://github.com/ClickHouse/ClickHouse/pull/101705) ([Robert Schulze](https://github.com/rschu1ze)).
* システムテーブル `information_schema.tables` が、非アクティブなテーブルパーツを無視するようになりました。これにより、表示されるテーブルサイズの値がより実態に即したものになります。[#101706](https://github.com/ClickHouse/ClickHouse/pull/101706) ([Robert Schulze](https://github.com/rschu1ze)) 。
* `ngrams` 関数は、無効な N-gram 長を受け付けなくなりました。例: `SELECT ngrams('abc', 0)` はエラーを返すようになりました。 [#101922](https://github.com/ClickHouse/ClickHouse/pull/101922) ([Robert Schulze](https://github.com/rschu1ze)).
* [#91820](https://github.com/ClickHouse/ClickHouse/issues/91820) および [#90837](https://github.com/ClickHouse/ClickHouse/issues/90837) のフォローアップ: エラーメッセージから未対応のアルゴリズムを除外し、FIPS builds で FIPS 固有のテストを実行するようにしました。[#102067](https://github.com/ClickHouse/ClickHouse/pull/102067) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Web UI (`play.html`) でセルの高さを3行までに制限し、クリックで展開できるようにしました。 [#102154](https://github.com/ClickHouse/ClickHouse/pull/102154) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* S3 エンドポイントで (virtual/path) スタイルを強制できる新しいオプションを追加しました。[#82019](https://github.com/ClickHouse/ClickHouse/issues/82019)、[#76007](https://github.com/ClickHouse/ClickHouse/issues/76007) を解決します。[https://github.com/ClickHouse/ClickHouse/pull/83168](https://github.com/ClickHouse/ClickHouse/pull/83168) の続きです。[#102378](https://github.com/ClickHouse/ClickHouse/pull/102378) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `restore_replace_external_engines_to_null` 設定により、失敗したり外部接続を開始したりする代わりに、外部エンジン (例: `DataLakeCatalog`、`MySQL`、`PostgreSQL`、`S3`) を使用するデータベースの復元もスキップするようになりました。[#102400](https://github.com/ClickHouse/ClickHouse/pull/102400) ([Nikita Fomichev](https://github.com/fm4v)) 。
* `hasPhrase` 関数で、`HINT` モードによるテキスト索引解析をサポートしました。[#102438](https://github.com/ClickHouse/ClickHouse/pull/102438) ([Elmi Ahmadov](https://github.com/ahmadov)) 。
* MATERIALIZE STATISTICS ALL 実行時の LOGICAL\_ERROR を修正するため、ColumnDependency で STATISTICS を読み取り専用として扱うようにした。 [#102627](https://github.com/ClickHouse/ClickHouse/pull/102627) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* keeper-as-serverモードで `system.asynchronous_metric_log` を作成し、データを格納します。 [#102664](https://github.com/ClickHouse/ClickHouse/pull/102664) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `default_system_log_flush_policy.skip_alias_columns` 設定オプションを追加し、システムログテーブルで ALIAS カラムを省略できるようにしました。これにより、ALIAS カラムを受け付けない S3 バックエンドのシステムログの問題を修正しました。[#102669](https://github.com/ClickHouse/ClickHouse/pull/102669) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* システムテーブルでは自動統計を有効にしないでください。利用されることはほとんどありません。 [#102862](https://github.com/ClickHouse/ClickHouse/pull/102862) ([Han Fei](https://github.com/hanfei1991)).
* LIKE 最適化で `array` トークナイザーをサポート。[#102880](https://github.com/ClickHouse/ClickHouse/pull/102880) ([Elmi Ahmadov](https://github.com/ahmadov)) 。
* リリースビルドでも MemoryAllocatedWithoutCheck を送信するようにしました。 [#103064](https://github.com/ClickHouse/ClickHouse/pull/103064) ([Azat Khuzhin](https://github.com/azat)).
* system.stack\_trace でスレッドごとの untracked\_memory を表示。 [#103065](https://github.com/ClickHouse/ClickHouse/pull/103065) ([Azat Khuzhin](https://github.com/azat)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* 遅延マテリアライゼーションで返される不要なカラムが原因で発生する `Block structure mismatch in stream` エラーを修正しました。[#95191](https://github.com/ClickHouse/ClickHouse/issues/95191) を修正。[#96682](https://github.com/ClickHouse/ClickHouse/pull/96682) ([Nikolai Kochetov](https://github.com/KochetovNicolai))。
* データマスキングポリシーに対する `ON CLUSTER` クエリの論理エラーを修正しました。[#97594](https://github.com/ClickHouse/ClickHouse/pull/97594) ([Bharat Nallan](https://github.com/bharatnc)).
* GCS上で Unity Catalog を使用する際のバグを修正しました。[#98456](https://github.com/ClickHouse/ClickHouse/pull/98456) ([Melvyn Peignon](https://github.com/melvynator)) 。
* `DataLakeCatalog` は、`auth_header` 設定を検証する際に、サーバーの `http_forbid_headers` 設定を考慮するようになりました。[#98827](https://github.com/ClickHouse/ClickHouse/pull/98827) ([Michael Anastasakis](https://github.com/michael-anastasakis)).
* S3 のブレース展開グロブにおける N+1 件の `HeadObject` 呼び出しを修正しました。[#99219](https://github.com/ClickHouse/ClickHouse/pull/99219) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* エンジン自体も設定をサポートしている場合、CREATEクエリ内の設定変更を検証する。 [#99279](https://github.com/ClickHouse/ClickHouse/pull/99279) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* `ALTER TABLE UPDATE/DELETE` が、式が EPHEMERAL カラムに依存する MATERIALIZED カラムを持つテーブルで `Missing columns` エラーにより失敗する問題を修正しました。[#99281](https://github.com/ClickHouse/ClickHouse/pull/99281) ([Yash ](https://github.com/Onyx2406)).
* JDBC、ODBC、NATS の接続文字列に含まれる認証情報は、クエリログと `SHOW CREATE` の出力でマスクされるようになり、機密情報の意図しない露出を防げるようになりました。URI 形式の接続文字列 (例: `{scheme}://{user}:{password}@{host}`) では、パスワード部分のみがマスクされ、それ以外はデバッグしやすいよう引き続き表示されます。`nats_token` 設定もマスクされるようになりました。[#99344](https://github.com/ClickHouse/ClickHouse/pull/99344) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* DD-month-YYYY フォーマットで、月名のプレフィックスで始まる単語を `parseDateTimeBestEffort` が誤ってパースしてしまう問題を修正しました。[#99345](https://github.com/ClickHouse/ClickHouse/issues/99345#event-23517658314) をクローズしました。[#99350](https://github.com/ClickHouse/ClickHouse/pull/99350) ([Pavel Kruglov](https://github.com/Avogar)).
* アナライザ非使用時に TABLE\_UUID\_MISMATCH が無視されていた問題を修正しました。[#99380](https://github.com/ClickHouse/ClickHouse/pull/99380) ([Azat Khuzhin](https://github.com/azat)) 。
* 同じリクエスト内で `compatibility` と一緒に送信された明示的な設定が、その値がサーバーのデフォルト値と一致している場合に、気付かれないまま無視されることがある不具合を修正しました。[#99402](https://github.com/ClickHouse/ClickHouse/pull/99402) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Hive パーティションパス内で先頭にゼロが付いた数値が原因でエラーが発生していたケースを修正しました。 [#98801](https://github.com/ClickHouse/ClickHouse/issues/98801)。 [#99458](https://github.com/ClickHouse/ClickHouse/pull/99458) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 実行中の読み取りクエリと同時にテーブルが削除された際に発生する heap-use-after-free を修正 (過去90日間のCIで19件発生) 。 [#99483](https://github.com/ClickHouse/ClickHouse/pull/99483) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Keeper で、同じサーバー上の別の無関係なセッションがちょうど悪いタイミングで閉じられると、read request がハングし (その結果セッションがタイムアウトする) 得る不具合を修正しました。 [#99484](https://github.com/ClickHouse/ClickHouse/pull/99484) ([Michael Kolupaev](https://github.com/al13n321)).
* パッチを適用する前に、カラム構造を検証するようにしました。 [#99531](https://github.com/ClickHouse/ClickHouse/pull/99531) ([Seva Potapov](https://github.com/seva-potapov)).
* `Dynamic` カラムを持つテーブルのマージ中に、`SYSTEM STOP/START MERGES` を短時間で繰り返し切り替えた際に発生する、vertical merge の `rows_sources` アサーション失敗を修正しました。[#99532](https://github.com/ClickHouse/ClickHouse/pull/99532) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `toWeek()` における誤ったパーティションプルーニングを修正し、`toYYYYMM(date)` でパーティション化されたテーブルで `WHERE toWeek(date, mode) = N` を含むクエリが第49〜52週で空の結果を返していた問題を解消しました。[#99542](https://github.com/ClickHouse/ClickHouse/pull/99542) ([Takumi Hara](https://github.com/takumihara)).
* JOIN によって生成された未参照の行がある ColumnReplicated を扱う関数で発生する例外を修正しました。[#99564](https://github.com/ClickHouse/ClickHouse/pull/99564) ([Hechem Selmi](https://github.com/m-selmi)).
* `CLEAR COLUMN` 実行時にプロジェクションが再構築されず、またクリアしたカラムに依存するマテリアライズドカラムが再評価されない問題を修正しました。この問題により、その後のマージで例外やデータ破損が発生する可能性がありました。 [#99565](https://github.com/ClickHouse/ClickHouse/pull/99565) ([Desel72](https://github.com/Desel72)).
* `ConditionSelectivityEstimator` において、クエリが単一のスカラー クエリパラメータを指定した IN を使用し (例: `WHERE col IN ({p:String})`) 、対象のテーブルにカラム STATISTICS があり、`use_statistics` が有効になっている場合に発生していた例外 (`Bad get: has Tuple, actual type String`) を修正しました。[#99614](https://github.com/ClickHouse/ClickHouse/pull/99614) ([Ilya Yatsishin](https://github.com/qoega)) 。
* 不明なプロジェクションを含むパートは、永久に失われたものとしてマークすべきではありません。 [#99623](https://github.com/ClickHouse/ClickHouse/pull/99623) ([Sema Checherinda](https://github.com/CheSema)).
* `SYSTEM STOP MERGES` と `SYSTEM START MERGES` が同時実行された際に、vertical merge 中にまれに発生していた論理エラー例外を修正しました。 [#99628](https://github.com/ClickHouse/ClickHouse/pull/99628) ([Desel72](https://github.com/Desel72)).
* マージ時にクラッシュを引き起こしていた injectRequiredColumns のダングリング参照を修正しました。 [#99679](https://github.com/ClickHouse/ClickHouse/pull/99679) ([Tuan Pham Anh](https://github.com/tuanpach)).
* 対象カラム型の範囲を超える数値を読み取る際に発生していた、Avro フォーマットリーダーの未定義動作を修正しました。これにより、オーバーフロー時には誤った値を黙って生成するのではなく、クエリが失敗するようになりました。[#99697](https://github.com/ClickHouse/ClickHouse/pull/99697) ([asyablue22](https://github.com/asyablue22)).
* `executable` テーブル関数の引数内にあるシェル形式のクォートのパースを修正しました。[#99794](https://github.com/ClickHouse/ClickHouse/pull/99794) ([Nikita Semenov](https://github.com/leftmain)) 。
* `NativeReader` で、行数が一致しない Native format ストリームをデシリアライズする際に、abort が誤って発生する問題を修正しました。`LOGICAL_ERROR` を `INCORRECT_DATA` に変更し、sanitizer/debug builds で `abort()` がトリガーされるのではなく、エラーがデータエラーとして処理されるようにしました。[#99822](https://github.com/ClickHouse/ClickHouse/pull/99822) ([Rahul Nair](https://github.com/motsc)).
* `Tuple` カラムのデシリアライゼーション中に、バイナリストリーム内のシリアライゼーション種別が `DETACHED` の場合に発生するプロセスの異常終了を修正しました。[#99823](https://github.com/ClickHouse/ClickHouse/pull/99823) ([Rahul Nair](https://github.com/motsc)).
* SLRU sub-queue promotion における競合状態が原因で、ファイルシステムキャッシュの動的リサイズ中に `LOGICAL_ERROR` 例外が誤って発生する問題を修正しました。 [#99850](https://github.com/ClickHouse/ClickHouse/pull/99850) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `query_log` とクライアント出力で、非同期 INSERT クエリの `written_rows`、`read_rows`、`result_rows` が 0 と表示される問題を修正しました。[#99879](https://github.com/ClickHouse/ClickHouse/pull/99879) ([Sema Checherinda](https://github.com/CheSema)).
* システムテーブルに対する内部クエリが `ColumnConst` でラップされたカラムを返す場合に、`KILL QUERY` で発生する例外 "Bad cast from type X to Y" を修正しました。[#99881](https://github.com/ClickHouse/ClickHouse/pull/99881) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* untuple 引数内の相関サブクエリにおける論理エラーを修正しました。[#99917](https://github.com/ClickHouse/ClickHouse/pull/99917) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* `right`、`rightUTF8`、またはその他の substring 関数を長さ INT64\_MIN (-9223372036854775808) で呼び出した際に発生していた例外を修正しました。従来は整数オーバーフローにより未定義の動作を引き起こしていましたが、現在はこれらの関数が ARGUMENT\_OUT\_OF\_BOUND error を正しく返すようになりました。[#99934](https://github.com/ClickHouse/ClickHouse/pull/99934) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* これで ClickHouse は、Spark スタイルのテーブル (各ファイルが完全な絶対パスを持つ、または共通のテーブルパスからの相対パスを持つ場合) を適切に処理できるようになりました。 [#92348](https://github.com/ClickHouse/ClickHouse/issues/92348) を修正しました。 [#99935](https://github.com/ClickHouse/ClickHouse/pull/99935) ([alesapin](https://github.com/alesapin)).
* `ALTER TABLE ... MODIFY QUERY` で、ネストされたサブクエリに `SETTINGS` が含まれ、かつ `ALTER` 自体にも `SETTINGS` がある場合に発生する "Inconsistent AST formatting" 例外を修正しました。[#99938](https://github.com/ClickHouse/ClickHouse/pull/99938) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)) 。
* パフォーマンス退行が疑われるため、[#97114](https://github.com/ClickHouse/ClickHouse/issues/97114) "子が 1 つの場合のチェックより前に join step の行数推定を移動" を元に戻しました。[#99957](https://github.com/ClickHouse/ClickHouse/pull/99957) ([Alexander Gololobov](https://github.com/davenger)).
* HEAD リクエストのレスポンスに `Content-Length` ヘッダーがない場合 (たとえば、GCS の展開的トランスコーディングが原因の場合) に、ClickHouse がファイルをスキップしてしまうことがある不具合を修正しました。[#99971](https://github.com/ClickHouse/ClickHouse/pull/99971) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `NumericIndexedVector` の aggregate states に偶数の整数定数を掛けた際に発生していたアサーション失敗 (デバッグビルドでは例外、リリースビルドでは誤った結果) を修正しました。原因は、`pointwiseAddInplace` 内でエイリアスされた Roaring bitmap に対して自己 XOR が行われていたことです。[#99976](https://github.com/ClickHouse/ClickHouse/pull/99976) ([Desel72](https://github.com/Desel72)).
* join 変換後にキーの型が変わる場合でも、連鎖した `JOIN USING` を介する従来の filter pushdown で `Unexpected return type` 例外が発生しないようにしました。[#99999](https://github.com/ClickHouse/ClickHouse/pull/99999) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* スカラー サブクエリが未解決のテーブル関数引数内で使用された際に発生する `LOGICAL_ERROR` 例外 "Unexpected node type for table expression ... Actual IDENTIFIER" を修正しました。例: `SELECT * FROM remote('localhost', view(SELECT 2 AS x), concat(x, (SELECT 1)))`。[#100014](https://github.com/ClickHouse/ClickHouse/pull/100014) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `VALUES` を伴う `INSERT` で、データの次の行に末尾SQLコメント (`--` または `/* */`) があると失敗する問題を修正しました。コメントは別の行として解析されず、スキップされるようになりました。[#100016](https://github.com/ClickHouse/ClickHouse/pull/100016) ([Pratima Patel](https://github.com/pratimapatel2008)).
* NULL の部分を含むタプルの比較時に `arrayRemove` で発生する例外を修正しました。[#100017](https://github.com/ClickHouse/ClickHouse/pull/100017) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `system.asynchronous_inserts` におけるユーザー間のデータ漏えいを修正しました。これまでは、テーブルに対する `SELECT` 権限を持つユーザーであれば、他のユーザーに属する保留中の非同期 INSERT エントリも閲覧できていました。現在は、`SHOW_USERS` 権限を持つユーザーを除き、エントリは現在のユーザーに基づいて絞り込まれます。[#100024](https://github.com/ClickHouse/ClickHouse/pull/100024) ([Shaohua Wang](https://github.com/tiandiwonder)).
* Time64 から UInt64 への CAST で、値が 24 時間に丸め込まれてしまうことがある問題を修正しました。[#100025](https://github.com/ClickHouse/ClickHouse/pull/100025) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* CREATE DICTIONARY の定義に、存在しない関数を含むリスト値がある場合にローカルサーバーがクラッシュする問題を修正しました。[#100036](https://github.com/ClickHouse/ClickHouse/pull/100036) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)) 。
* `CSV`、`MsgPack` フォーマットで `Nullable(Tuple)` を正しく解析できない問題を修正しました。[#99753](https://github.com/ClickHouse/ClickHouse/issues/99753) をクローズ。[#100038](https://github.com/ClickHouse/ClickHouse/pull/100038) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `IN` の右辺に WITH の関数式エイリアス (例: `tuple(...)`) を使用した際に、`UNKNOWN_IDENTIFIER` により `CREATE VIEW` が失敗する不具合を修正しました。[#100042](https://github.com/ClickHouse/ClickHouse/pull/100042) ([Peng](https://github.com/fastio)).
* 並列レプリカ使用時に、`initializeAggregation` または `AggregatingMergeTree` と併用すると時系列集約関数 (例: `timeSeriesResampleToGridWithStaleness`) が `ILLEGAL_TYPE_OF_ARGUMENT` で失敗する問題を修正しました。[#100053](https://github.com/ClickHouse/ClickHouse/pull/100053) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* NumericIndexedVectorDataBSI 内部での負の値の処理を正しく行うようにしました。 [#100086](https://github.com/ClickHouse/ClickHouse/pull/100086) ([Daniil Ivanik](https://github.com/divanik)).
* `accurateCastOrDefault` および `to*OrDefault` 関数で、定数入力時に Const カラム型が保持されない問題を修正しました。[#100132](https://github.com/ClickHouse/ClickHouse/pull/100132) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 省略された`LowCardinality(Nullable(T))`型のクエリパラメータは、`Nullable(T)`と同様に、正しくNULLがデフォルト値として扱われるようになりました。[#100144](https://github.com/ClickHouse/ClickHouse/pull/100144) ([Denys Melnyk](https://github.com/germiBest)).
* StringSearcher.h での未初期化値の使用を修正しました。[#100225](https://github.com/ClickHouse/ClickHouse/pull/100225) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* Ctrl+C で、スカラー サブクエリやその他の解析時パイプラインをキャンセルできるようにしました。以前は、長時間実行されるスカラー サブクエリの実行中に Ctrl+C を押しても、サブクエリが完了するまで中断できませんでした。また、`clickhouse-client` と `clickhouse-local` の両方で、スカラー サブクエリの実行中に読み取られた行数が、進行状況バーと JSON 統計に正しく表示されるよう修正しました。@YjyJeff との共同作業です。[#100230](https://github.com/ClickHouse/ClickHouse/pull/100230) ([Raúl Marín](https://github.com/Algunenano)) 。
* クロス結合およびランタイムフィルタを含む `Dynamic` カラム関連のクエリで発生していた `LOGICAL_ERROR` 例外を修正しました。原因は、`hasOnlyNulls` 最適化パスで `ColumnVariant::filter` が Variant カラムのポインタをクローンせずに共有していたことにありました。Closes [https://github.com/ClickHouse/ClickHouse/pull/100147](https://github.com/ClickHouse/ClickHouse/pull/100147). [#100234](https://github.com/ClickHouse/ClickHouse/pull/100234) ([Pavel Kruglov](https://github.com/Avogar)).
* `arrayFirst`/`arrayLast` 関数の呼び出し時にデータ型が誤って再解釈されることがある、Variant を含む Array の不具合を修正しました。たとえば以前は、実際の Variant 型が `Date` である場合でも、`Array(Variant(Date, Bool))` が `Bool` に変換されていました。[#100255](https://github.com/ClickHouse/ClickHouse/pull/100255) ([timothygk](https://github.com/timothygk)).
* 関数に関する軽微な変更がいくつかあります。h3 関数は境界の検証がより適切になりました。readWKB はサイズ制限 (新しい設定 `max_wkb_geometry_elements`) を確認します。乱数生成関数では、計算時の最大反復回数が制限されます。[#93543](https://github.com/ClickHouse/ClickHouse/issues/93543) のフォローアップです。[#100270](https://github.com/ClickHouse/ClickHouse/pull/100270) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* cutURLParameter が、他のパラメータ名の部分文字列として含まれているパラメータを誤ってスキップしてしまうことがある問題を修正しました。 [#100280](https://github.com/ClickHouse/ClickHouse/pull/100280) ([Nikita Semenov](https://github.com/leftmain)).
* Iceberg のメタデータファイルパス設定に null byte が含まれている場合に発生する例外を修正しました。 [#100283](https://github.com/ClickHouse/ClickHouse/pull/100283) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `distributed_index_analysis` を `IN` サブクエリを含む条件とともに使用した際に、実行されるクエリ数が二乗オーダーで増えてしまう問題を修正しました。[#100287](https://github.com/ClickHouse/ClickHouse/pull/100287) ([Anton Popov](https://github.com/CurtizJ)).
* `GROUP BY ... WITH TOTALS HAVING` と `UNION DISTINCT` を Nullable式と組み合わせて使用した際に発生する "Block structure mismatch" 例外を修正しました。 [#100293](https://github.com/ClickHouse/ClickHouse/pull/100293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `block_size_bytes` パラメータが極端に大きい場合に `estimateCompressionRatio` で発生する LOGICAL\_ERROR 例外を修正。 [#100298](https://github.com/ClickHouse/ClickHouse/pull/100298) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `GROUP BY CUBE(...) WITH ROLLUP` や同様の組み合わせを使用した場合に、デバッグビルドで発生する "Inconsistent AST formatting" 例外を修正しました。[#100376](https://github.com/ClickHouse/ClickHouse/pull/100376) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* カラムの別名を使用した、`SELECT *` または `EXCEPT`/`INTERSECT` クエリを含むビューの作成時に発生していた例外を修正しました。[#100386](https://github.com/ClickHouse/ClickHouse/pull/100386) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* ハートビートエラー後のリバランスでコンシューマーがスタックした際、Kafkaエンジンのテーブルで `DROP TABLE` がいつまでも完了しない問題を修正しました。[#100388](https://github.com/ClickHouse/ClickHouse/pull/100388) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* zipアーカイブを使ったバックアップ/リストア操作で発生していた `ReadBuffer is canceled. Can't read from it.` 例外を修正しました。[#100400](https://github.com/ClickHouse/ClickHouse/pull/100400) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* granule 境界が揃っていない複数のパーツにデータが分割されている場合に、`max_rows_to_read` / `force_primary_key` 使用時の `SELECT count()` クエリで発生する `TOO_MANY_ROWS` 例外を修正しました。[#100408](https://github.com/ClickHouse/ClickHouse/pull/100408) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.completions` が、テーブル単位、DB単位、およびカラム単位の権限取り消しを含む、あらゆる権限付与の組み合わせで、データベース、テーブル、カラムをアクセス権に応じて正しくフィルタリングするよう修正しました。 [#100432](https://github.com/ClickHouse/ClickHouse/pull/100432) ([Shaohua Wang](https://github.com/tiandiwonder)).
* race condition に起因する NuRaft の SEGFAULT を修正しました。[#100444](https://github.com/ClickHouse/ClickHouse/pull/100444) ([Pablo Marcos](https://github.com/pamarcos)) 。
* `min`/`max`/`argMin`/`argMax` での NaN の扱いが `ORDER BY` と一貫するようになりました。NaN は常にスキップされ、返されるのはすべての値が NaN の場合のみです。従来は、IEEE 754 の順序なし比較セマンティクスにより、結果がデータ内の NaN の位置に依存していました。[#100448](https://github.com/ClickHouse/ClickHouse/pull/100448) ([Raúl Marín](https://github.com/Algunenano)).
* `delta_lake_snapshot_start_version` を設定せずに `delta_lake_snapshot_end_version` を設定した場合、本来は `BAD_ARGUMENTS` error が発生すべきところ、黙って無視されていたコピーペースト由来のバグを修正しました。[#100454](https://github.com/ClickHouse/ClickHouse/pull/100454) ([Mohammad Lareb Zafar](https://github.com/zlareb1)).
* `StorageRabbitMQ::shutdown` は冪等ではありませんでした (weak pointer に無条件にアクセスしたうえで、対応する shared pointer を破棄していました) が、現在は `StreamingStorageRegistry` で1回、その後 `DatabaseCatalog` でさらに1回、計2回呼び出されるようになっています。この修正により、このメソッドは冪等になり、予防的な null チェックも追加されました。[#100455](https://github.com/ClickHouse/ClickHouse/pull/100455) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* `QBit` をターゲット型として `accurateCastOrNull` を使用した際に発生する `LOGICAL_ERROR` 例外を修正しました。[#100470](https://github.com/ClickHouse/ClickHouse/pull/100470) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `optimize_on_insert=0` の wide パーツで、ネストされた `Array(JSON)` カラムを持つテーブルへの insert 時に発生する LOGICAL\_ERROR 例外 "Stream ... not found" を修正しました。[#100475](https://github.com/ClickHouse/ClickHouse/pull/100475) ([Pavel Kruglov](https://github.com/Avogar)) 。
* バックアップメタデータ内のファイルエントリのパスを検証し、`RESTORE` 時にパストラバーサル、絶対パス、および空の名前を拒否するようにしました。[#100483](https://github.com/ClickHouse/ClickHouse/pull/100483) ([Pablo Marcos](https://github.com/pamarcos)) 。
* 動作しなかった `LIMIT m OFFSET n WITH TIES` 構文を修正しました。この構文は、すでに動作していた `LIMIT n, m WITH TIES` と等価です。[#100491](https://github.com/ClickHouse/ClickHouse/pull/100491) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 名前付きフィールドと`LowCardinality`要素を持つ`Nullable(Tuple)`カラムで`IN`を使用した際に発生する例外 "No set is registered for key" を修正しました。 [#100523](https://github.com/ClickHouse/ClickHouse/pull/100523) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ベクトル類似度検索時にクラッシュや検知されないメモリ破損を引き起こすおそれがあった、usearch の `sorted_buffer_gt::insert()` における heap-buffer-overflow を修正しました。[#100537](https://github.com/ClickHouse/ClickHouse/pull/100537) ([Dustin Healy](https://github.com/dustinhealy)) 。
* クエリで指定した `FORMAT` 句および `INTO OUTFILE` 句が `EXECUTE AS` で無視される問題を修正しました。[#100538](https://github.com/ClickHouse/ClickHouse/pull/100538) ([pufit](https://github.com/pufit)).
* クエリレベルの OFFSET を伴う SAMPLE で発生していた AST のフォーマットの不整合を修正しました。[#100576](https://github.com/ClickHouse/ClickHouse/issues/100576) をクローズしました。[#100579](https://github.com/ClickHouse/ClickHouse/pull/100579) ([Pavel Kruglov](https://github.com/Avogar)) 。
* Azure の polaris カタログを修正しました。25.12 以降、このカタログでは Azure 使用時に path の先頭へ bucket が追加されるようになっていました。たとえば、`abfss://polaris-polaris@<some_url>.windows.net/<other-path>` ではなく、`abfss://polaris-polaris@<some_url>.windows.net/polaris-polaris/<other-path>` となっていました。この PR では、path から bucket を取り除きます。[#100583](https://github.com/ClickHouse/ClickHouse/pull/100583) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 一部のブロックでデフォルトカラムが const の場合に、transform で発生していた型不一致の例外を修正しました。[#100574](https://github.com/ClickHouse/ClickHouse/issues/100574) をクローズします。[#100616](https://github.com/ClickHouse/ClickHouse/pull/100616) ([Pavel Kruglov](https://github.com/Avogar)).
* クエリの元の SELECT 部分に存在しないカラムが projection の SELECT 部分に含まれている場合に発生する NOT\_FOUND\_COLUMN\_IN\_BLOCK を修正しました。[#100194](https://github.com/ClickHouse/ClickHouse/issues/100194) をクローズしました。[#100623](https://github.com/ClickHouse/ClickHouse/pull/100623) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 過大な次元を持つように細工された `.npy` ファイルによるサービス拒否攻撃を防ぐため、Npy フォーマットの shape をファイルサイズとオーバーフロー制限に照らして検証します。また、空の shape を拒否し、1行あたりのメモリ使用量を 2 GiB に制限します。[#100625](https://github.com/ClickHouse/ClickHouse/pull/100625) ([Raúl Marín](https://github.com/Algunenano)).
* 非同期 INSERT (TCP) 時および HTTP 経由のすべての INSERT で `DateTime` 値をパースする際に、`session_timezone` が無視される問題を修正しました。 [#100647](https://github.com/ClickHouse/ClickHouse/pull/100647) ([Sema Checherinda](https://github.com/CheSema)).
* ソースとしてテーブル関数を使用する場合に、`cluster()` および `clusterAllReplicas()` テーブル関数へ分片キーを渡せるようになりました (例: `cluster('name', view(...), sharding_key)`) 。[#100665](https://github.com/ClickHouse/ClickHouse/pull/100665) ([Sergey Veletskiy](https://github.com/velom)) 。
* `quantileIfArrayArray(0.5)([[NULL]], [[1]])` のように、Array コンビネータと NULL 引数を伴うパラメトリック集計関数の使用時に発生していたサーバークラッシュ (アサーション失敗) を修正しました。[#100679](https://github.com/ClickHouse/ClickHouse/pull/100679) ([nerve-bot](https://github.com/nerve-bot)) 。
* `use_variant_as_common_type` が有効な場合に、空のタプルと空でないタプルの共通スーパータイプの計算中に発生していた例外を修正しました。[#100699](https://github.com/ClickHouse/ClickHouse/pull/100699) ([Antonio Andelic](https://github.com/antonio2368)) 。
* Azure blob storage ディスクが設定されている場合でも、エンドポイントに一時的に到達できないとき (例: DNS 障害) にサーバーの起動が失敗しなくなりました。[#100701](https://github.com/ClickHouse/ClickHouse/pull/100701) ([Raúl Marín](https://github.com/Algunenano)) 。
* 符号なしの除数が符号付きの結果型に収まらない場合に発生する、`positiveModulo` の未定義動作を修正しました。[#100705](https://github.com/ClickHouse/ClickHouse/pull/100705) ([Raúl Marín](https://github.com/Algunenano)) 。
* `use_top_k_dynamic_filtering` が有効で、`ORDER BY` カラムの型が `Dynamic` または `Variant` の場合に発生していた、サーバーのクラッシュ (論理エラー "Unexpected return type from \_\_topKFilter") を修正しました。 [#100742](https://github.com/ClickHouse/ClickHouse/pull/100742) ([Groene AI](https://github.com/groeneai)) 。
* LowCardinality 要素を含む Tuple キーに対して PREWHERE/WHERE で `has()` 関数を使用した際に、server がクラッシュする問題を修正しました。[#100760](https://github.com/ClickHouse/ClickHouse/pull/100760) ([Groene AI](https://github.com/groeneai)).
* S3オブジェクトストレージ上の `Log` または `StripeLog` テーブルで、同時書き込み中に読み取る際に発生していた `file_offset_of_buffer_end <= getFileSize()` アサーション失敗 (デバッグビルドでは例外) を修正しました。 [#100763](https://github.com/ClickHouse/ClickHouse/pull/100763) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 統計が有効なテーブルで、WHERE句に関数式 (例: `toDecimal64(col, 3)`) が含まれている場合に、統計の選択率推定器で発生していた例外を修正しました。これにより、推定器は無効な型変換を試みる代わりに、そのような述語をスキップするようになりました。[#100764](https://github.com/ClickHouse/ClickHouse/pull/100764) ([Han Fei](https://github.com/hanfei1991)) 。
* 並べ替えを伴う join が誤った結果になることがあるまれなケースを修正しました。[#100790](https://github.com/ClickHouse/ClickHouse/pull/100790) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* 最適化された単純な count で `AggregateFunction` の引数型が誤っていた問題を修正しました。この問題により、分散テーブルで `count(v0 + v1)` のような式をクエリすると、`NUMBER_OF_ARGUMENTS_DOESNT_MATCH` 例外が発生していました。 [#100794](https://github.com/ClickHouse/ClickHouse/pull/100794) ([YjyJeff](https://github.com/YjyJeff)).
* 一部のカタログでは、`select * from system.databases` クエリの結果の `SETTINGS` セクションに、一部のシークレットが表示されることがあります。このPRでは、そのような挙動を防止します。[#100800](https://github.com/ClickHouse/ClickHouse/pull/100800) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `toStartOfInterval` で、origin 引数を指定し、かつ Week、Quarter、または Year のインターバルに極端な値を使用した場合に発生する未定義動作 (符号付き整数オーバーフロー) を修正しました。[#100817](https://github.com/ClickHouse/ClickHouse/pull/100817) ([Raúl Marín](https://github.com/Algunenano)) 。
* `Tuple` 戻り値型と、1 つ以上の `Nullable` な引数を持つ `If`、`Distinct`、`DistinctIf`、`IfState ` 集約関数コンビネータで、`Nullable(Tuple)` の導入後に古いシリアライズ済み状態を読み取れなくなっていた問題を修正しました。[#98917](https://github.com/ClickHouse/ClickHouse/issues/98917) をクローズします。[#100826](https://github.com/ClickHouse/ClickHouse/pull/100826) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* s3Cluster と分散クエリにおいて、接続プールの use-after-free が原因で発生していたセグメンテーションフォールトを修正しました。 [#100837](https://github.com/ClickHouse/ClickHouse/pull/100837) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* サーバーのシャットダウン中に Dictionary を読み込む際、null ポインタのデリファレンスによるセグメンテーション違反が発生する不具合を修正しました。`Context::getUserDefinedSQLObjectsStorage` (`user_defined_sql_objects_storage` をデリファレンスする) は、メインスレッドが `Context::shutdown` (`user_defined_sql_objects_storage` を null に設定する) を呼び出すのと同時に、Dictionary のスレッドからも呼び出されます。`Context::shutdown` を実行する前に、Dictionary ローダーで今後の更新を無効にし、現在実行中の Dictionary クエリを停止し、Dictionary の読み込みスレッドを join しておく必要があります。これは通常のクエリに対して行っている処理と同様です。[#100839](https://github.com/ClickHouse/ClickHouse/pull/100839) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 入力に非ASCIIバイトが含まれている場合に`ULIDStringToDateTime`で発生するバッファオーバーフローを修正しました。[#100843](https://github.com/ClickHouse/ClickHouse/pull/100843) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* 複数のテーブル (`Distributed` テーブルを含む) を束ねる `Merge` テーブル (または `merge()` テーブル関数) に対して、`distributed_group_by_no_merge=1` が有効な状態でクエリを実行すると発生していたクラッシュ (`LOGICAL_ERROR`) を修正しました。[#100859](https://github.com/ClickHouse/ClickHouse/pull/100859) ([Groene AI](https://github.com/groeneai)).
* Cast\_keep\_nullable が有効な場合、dynamic null を Variant にキャストしても例外が発生しなくなりました。 [#100864](https://github.com/ClickHouse/ClickHouse/pull/100864) ([Seva Potapov](https://github.com/seva-potapov)).
* `clickhouse-keeper-client` の `get`、`exists`、`ls` コマンドで、重複した `watch_id` エラーメッセージが stderr ではなく stdout に出力される問題を修正しました。[#100893](https://github.com/ClickHouse/ClickHouse/pull/100893) ([Mohammad Lareb Zafar](https://github.com/zlareb1)).
* `intDiv`/`intDivOrZero` で、Nullable なタプルの配列に対して発生していた例外を修正しました。例: `SELECT intDiv([divide((1, 2), ... AND NULL)], 2)`. [#100895](https://github.com/ClickHouse/ClickHouse/pull/100895) ([Raúl Marín](https://github.com/Algunenano)).
* 定義を保存する前に `StorageAlias` のエンジン引数を評価し、`currentDatabase()` のような式がデータベースに保存される前にリテラル値に解決されるようにしました。[#100902](https://github.com/ClickHouse/ClickHouse/pull/100902) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* `query_plan_merge_expressions = 0` のときに、`ExpressionStep` が `ReadFromMergeTree` の直上にある場合の `processAndOptimizeTextIndexFunctions` を修正しました。[#100879](https://github.com/ClickHouse/ClickHouse/issues/100879) の修正です。[#100909](https://github.com/ClickHouse/ClickHouse/pull/100909) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* do\_complete\_line の範囲外アクセスを修正した replxx に更新しました。 [#100925](https://github.com/ClickHouse/ClickHouse/pull/100925) ([Azat Khuzhin](https://github.com/azat)).
* shard-by-PK 最適化を使用する JOIN でクエリ条件キャッシュが使われ、一部のパーツがキャッシュされた条件によって除外される場合に、誤った結果が返される問題を修正しました。 [#100926](https://github.com/ClickHouse/ClickHouse/pull/100926) ([Groene AI](https://github.com/groeneai)).
* 一部のケースで、索引解析中にフィルタ式で `divide` と `intDiv` を使用すると `ILLEGAL_DIVISION` が返されていた問題を修正しました。[#100928](https://github.com/ClickHouse/ClickHouse/pull/100928) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* 非同期起動時に、起動時の依存関係の順序が誤っていたため、内部テーブルを持つmaterialized viewで発生していた"ターゲットテーブルが存在しない"エラーを修正しました。 [#100946](https://github.com/ClickHouse/ClickHouse/pull/100946) ([Nikolay Degterinsky](https://github.com/evillique)).
* parseDateTimeBestEffortで、小数点以下が19桁以上ある日時文字列をパースする際に発生する未定義動作 (符号付き整数オーバーフロー) を修正しました。 [#100948](https://github.com/ClickHouse/ClickHouse/pull/100948) ([Vasily Chekalkin](https://github.com/bacek)).
* `IN` 句にタプルのサブクエリを含む場合 (例: `WHERE (id, str) IN (SELECT (id, str) FROM ...)`) にテキスト検索索引を使用すると発生していたクラッシュ、またはサブクエリ内のカラム数が `IN` の左辺のタプルと一致しない場合に発生していたクラッシュを修正しました。[#100959](https://github.com/ClickHouse/ClickHouse/pull/100959) ([Anton Popov](https://github.com/CurtizJ)).
* スパースカラムのシリアライゼーションを使用する`MergeTree`テーブルからポリゴン Dictionary を構築する際に発生していたクラッシュを修正しました。[#100964](https://github.com/ClickHouse/ClickHouse/pull/100964) ([Anton Popov](https://github.com/CurtizJ)) 。
* 定数畳み込みされた式に対して `INTERSECT ALL` / `UNION ALL` を使用した際に発生する論理エラー "Invalid action query tree node" を修正しました。[#100977](https://github.com/ClickHouse/ClickHouse/pull/100977) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Nullable(Tuple)` の導入後、1 つ以上の `Nullable` 引数を持つ `sumCountOrDefault` aggregate function が、古いシリアライズ済みの状態を読み取れなくなっていた問題を修正しました。[#100882](https://github.com/ClickHouse/ClickHouse/issues/100882) をクローズしました。[#101021](https://github.com/ClickHouse/ClickHouse/pull/101021) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* 遅延カラムレプリケーション (`enable_lazy_columns_replication`) によって生成された `ColumnReplicated` カラムが、入力の到着が遅れるマージソートパイプラインに流れ込む場合に、マージアルゴリズムで発生するクラッシュ (`Logical error: isConst/isSparse/isReplicated assertTypeEquality`) を修正しました。[#101036](https://github.com/ClickHouse/ClickHouse/pull/101036) ([Groene AI](https://github.com/groeneai)).
* `SELECT` で同じエイリアスが複数の式に使われている場合に、誤った `UNKNOWN_IDENTIFIER` エラーではなく、正しい `MULTIPLE_EXPRESSIONS_FOR_ALIAS` エラーが報告されるよう修正しました。[#101040](https://github.com/ClickHouse/ClickHouse/pull/101040) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 宣言されたタイムゾーンが式のタイムゾーンと異なる場合に、`DateTime`/`DateTime64` 型の ALIAS カラムでタイムゾーン変換が適用されない不具合を修正しました。 [#101043](https://github.com/ClickHouse/ClickHouse/pull/101043) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ビュー、サブクエリ、および `INSERT ... SELECT` で、`query_log` に行ポリシーが記録されない問題を修正しました。クエリプランニング中には行ポリシーが適用されていたものの、ログ記録のためにサブプランナーから親プランナーへ引き継がれていませんでした。行ポリシー (ログ記録専用) は、プランナーとサブプランナーの双方が設定できるよう、`QueryAccessInfo` に保持されるようになりました。[#101044](https://github.com/ClickHouse/ClickHouse/pull/101044) ([Narasimha Pakeer](https://github.com/npakeer)).
* パイプラインブロックに通常のカラムとマージされる `ColumnConst` カラムが含まれている場合に `DirectJoinMergeTreeEntity` で発生する例外を修正しました。 [#101046](https://github.com/ClickHouse/ClickHouse/pull/101046) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* CTE のカラム別名のフォーマットにおける不要なスペースを修正しました (`WITH t (a, b)` → `WITH t(a, b)`) 。[#101049](https://github.com/ClickHouse/ClickHouse/pull/101049) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* アナライザが有効な場合に、`merge` のようなネストされたテーブル関数を使用すると `remote`/`cluster` テーブル関数が失敗する問題を修正しました。[#101055](https://github.com/ClickHouse/ClickHouse/pull/101055) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `prefer_localhost_replica=1` の場合に分散クエリで `OFFSET` が二重に適用され、想定より少ない行が返される不具合を修正しました。[#101071](https://github.com/ClickHouse/ClickHouse/pull/101071)  ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* `format_regexp` 設定に無効な正規表現を指定して `Regexp` フォーマットを使用した際に発生するクラッシュを修正。 [#101074](https://github.com/ClickHouse/ClickHouse/pull/101074) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 並列レプリカで `serialize_query_plan=1` を使用した際に、時系列集約関数で発生していた "Illegal type Decimal64 of start parameter" エラーを修正しました。[#101083](https://github.com/ClickHouse/ClickHouse/pull/101083) ([Groene AI](https://github.com/groeneai)).
* PREWHERE を含むプロジェクションを `ORDER BY ... LIMIT` と併用した際に `optimizeLazyMaterialization` で発生する例外を修正しました。 [#101115](https://github.com/ClickHouse/ClickHouse/pull/101115) ([Anton Popov](https://github.com/CurtizJ)).
* 内部専用の `Null` combinator (例: `sumNull`, `avgNull`) を使用する aggregate functions で、`aggregate_functions_null_for_empty = 1` 設定が有効な場合に発生していた server のクラッシュ (SIGABRT) を修正しました。[#101147](https://github.com/ClickHouse/ClickHouse/pull/101147) ([Groene AI](https://github.com/groeneai)) 。
* 完了したファイルセグメントのログ記録時に解放済みメモリを読み取ってしまう可能性があった、ファイルシステムキャッシュの書き込みパスでの use-after-free を修正しました (BuzzHouse の MemorySanitizer により検出) 。[#101161](https://github.com/ClickHouse/ClickHouse/pull/101161) ([Groene AI](https://github.com/groeneai)).
* 分散索引解析で、明示的な要素なしに構築された set を持つ `GLOBAL IN` 述語に遭遇した際、"明示的な要素なしで外部テーブルを準備済みの set にアタッチしようとしています" というエラーでサーバーがクラッシュする不具合を修正しました。[#101178](https://github.com/ClickHouse/ClickHouse/pull/101178) ([Groene AI](https://github.com/groeneai)).
* JIT コンパイルが有効な場合 (コンパイル閾値に達した後) 、`Decimal` カラムに対する `MAX`/`MIN` 集約関数が誤った結果を返す不具合を修正しました。 [#101203](https://github.com/ClickHouse/ClickHouse/pull/101203) ([Raúl Marín](https://github.com/Algunenano)).
* 論理削除後、論理削除のマスクが付いたすべてのパーツがマージで解消された後も、`minmax_count_projection` と単純な `COUNT(*)` の最適化が恒久的に無効のままになる問題を修正しました。[#101212](https://github.com/ClickHouse/ClickHouse/pull/101212) ([Anton Popov](https://github.com/CurtizJ)).
* `list` と `read` の間にリモート object が上書きされると、以前は stale な object メタデータが生成され、その結果 cache から `Having zero bytes, ...` という論理 error が発生し得たケースを修正しました。[#101219](https://github.com/ClickHouse/ClickHouse/pull/101219) ([Kseniia Sumarokova](https://github.com/kssenii)).
* LowCardinality 型の `lc_column` を持つ MergeTree テーブルに対して `ORDER BY CAST(lc_column, 'Type')` でクエリを実行した際に発生していたサーバークラッシュ (LOGICAL\_ERROR: Bad cast from ColumnVector to ColumnLowCardinality) を修正しました。 [#101220](https://github.com/ClickHouse/ClickHouse/pull/101220) ([Groene AI](https://github.com/groeneai)).
* `S3Queue` における期限切れの処理中ノードのクリーンアップを修正しました。[#101230](https://github.com/ClickHouse/ClickHouse/pull/101230) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* 無効な `optimizations` 引数が指定された場合の mergeTreeAnalyzeIndexes() における UB を修正しました。[#101253](https://github.com/ClickHouse/ClickHouse/pull/101253) ([Azat Khuzhin](https://github.com/azat)).
* パーティション化された Iceberg テーブルで `ALTER TABLE UPDATE` を連続実行した際に発生する `Logical error: 'partitions_count > 0'` 例外を修正しました。[#101278](https://github.com/ClickHouse/ClickHouse/pull/101278) ([Desel72](https://github.com/Desel72)).
* 大きな整数定数 (例: 256、2147483648) を、MergeTreeテーブルに対する AND を含む WHERE 句でブール述語として使用した場合に、クエリ結果が誤っていた問題を修正しました。たとえば、`SELECT count() FROM t WHERE (2147483648 > b) AND 2147483648` は、本来はすべての行に一致するべきところ、誤って 0 を返していました。[#101287](https://github.com/ClickHouse/ClickHouse/pull/101287) ([Groene AI](https://github.com/groeneai)).
* Replicated MergeTree を使用する Delta Lake クラスターからの insert-select を修正しました。 [#101299](https://github.com/ClickHouse/ClickHouse/pull/101299) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* スカラー サブクエリが、依存関係にあるマテリアライズド CTE の連鎖を参照したときに、"Logical error: Reading from materialized CTE before materialization" でクラッシュする問題を修正しました。 [#101305](https://github.com/ClickHouse/ClickHouse/pull/101305) ([Groene AI](https://github.com/groeneai)).
* `IStorage::getDependentViewsByColumn` における `storage_id` のデータ競合を修正しました。[#101385](https://github.com/ClickHouse/ClickHouse/pull/101385) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* BACKUP FROM SNAPSHOT AST のフォーマット処理とクローン作成を修正しました。[#101405](https://github.com/ClickHouse/ClickHouse/pull/101405) ([Pablo Marcos](https://github.com/pamarcos)) 。
* `enforce_keeper_component_tracking` 有効時に `system.part_moves_between_shards` をクエリすると発生していた、LOGICAL\_ERROR クラッシュ "Current component is empty" を修正しました。[#101462](https://github.com/ClickHouse/ClickHouse/pull/101462) ([Groene AI](https://github.com/groeneai)).
* fuzzer が不正な Dynamic 型の AST を生成した際に発生する DataTypeDynamic::create() のセグメンテーションフォールトを修正しました。 [#101464](https://github.com/ClickHouse/ClickHouse/pull/101464) ([Groene AI](https://github.com/groeneai)) 。
* DeltaKernel が有効でない状態で `delta_lake_snapshot_version` または CDF version の設定を使用した場合、誤ったデータを黙って返すのではなく、エラーを返すようにしました。[#101489](https://github.com/ClickHouse/ClickHouse/pull/101489) ([Desel72](https://github.com/Desel72)).
* ARRAY JOIN を JOIN USING とともに使用し、`analyzer_compatibility_join_using_top_level_identifier` 設定が有効な場合に発生していた `NOT_FOUND_COLUMN_IN_BLOCK` 例外を修正しました。[#101240](https://github.com/ClickHouse/ClickHouse/issues/101240) をクローズしました。[#101507](https://github.com/ClickHouse/ClickHouse/pull/101507) ([Vladimir Cherkasov](https://github.com/vdimir)).
* テーブルが `iceberg_metadata_file_path` を使用して作成され、対象のメタデータバージョンがすでに存在する場合に、Iceberg INSERT の再試行ループが失敗する問題を修正しました。[#101548](https://github.com/ClickHouse/ClickHouse/pull/101548) ([Groene AI](https://github.com/groeneai)).
* シリアライゼーション/デシリアライゼーションの不整合を避けるため、arrayIntersect および関連関数の結果カラムから Nullable を削除しました。 [#101569](https://github.com/ClickHouse/ClickHouse/pull/101569) ([George Larionov](https://github.com/george-larionov)).
* IcebergLocal table engine を使用する materialized view に対して SELECT を実行した際に発生するサーバークラッシュ (LOGICAL\_ERROR) を修正しました。 [#101577](https://github.com/ClickHouse/ClickHouse/pull/101577) ([Groene AI](https://github.com/groeneai)).
* NaN 引数で `intExp10` を呼び出した際の誤ったエラーメッセージを修正しました。`intExp10` ではなく `intExp2` と表示されていました。[#101582](https://github.com/ClickHouse/ClickHouse/pull/101582) ([Krishna Chaitanya](https://github.com/Krishnachaitanyakc)).
* [#100288](https://github.com/ClickHouse/ClickHouse/issues/100288) のリファクタリング後、`allow_statistics=0` で `ALTER TABLE ADD STATISTICS` および `ALTER TABLE DROP STATISTICS` がブロックされなくなっていた問題を修正しました。[#101585](https://github.com/ClickHouse/ClickHouse/pull/101585) ([Krishna Chaitanya](https://github.com/Krishnachaitanyakc)) 。
* 25.1 より前の不完全な drop によって残った ZooKeeper ノードに `drop_lock_version` ノードがない場合に、`KeeperMap` の `CREATE TABLE` が "Cannot create metadata for table" で失敗する問題を修正しました。[#101623](https://github.com/ClickHouse/ClickHouse/pull/101623) ([Antonio Andelic](https://github.com/antonio2368)).
* Map のサブカラム読み取り時に発生する可能性がある論理エラーを修正しました。[#100769](https://github.com/ClickHouse/ClickHouse/issues/100769) をクローズ。[#101336](https://github.com/ClickHouse/ClickHouse/issues/101336) をクローズ。[#101641](https://github.com/ClickHouse/ClickHouse/pull/101641) ([Pavel Kruglov](https://github.com/Avogar)).
* `getSubcolumnData` で、プレフィックス一致よりもサブカラムの完全一致を優先するよう修正し、クラッシュの可能性を防止しました。[#101271](https://github.com/ClickHouse/ClickHouse/issues/101271) をクローズしました。[#101645](https://github.com/ClickHouse/ClickHouse/pull/101645) ([Pavel Kruglov](https://github.com/Avogar)).
* `use_variant_default_implementation_for_comparisons` が無効な場合に、`LowCardinality` カラムを `Variant` の NULL 定数と比較するとクラッシュする問題 (LOGICAL\_ERROR: "ColumnUnique can't contain null values") を修正しました。[#101690](https://github.com/ClickHouse/ClickHouse/pull/101690) ([Groene AI](https://github.com/groeneai)).
* 内容: Bzip2ReadBuffer に空ストリーム用のガードを追加し、内部ストリームが空の場合に UNEXPECTED\_END\_OF\_FILE を送出する代わりに EOF を返すようにしました。[#101691](https://github.com/ClickHouse/ClickHouse/pull/101691) ([ClickGap AI Bot](https://github.com/clickgapai)) 。
* 内容: `system.s3_queue_settings` および `system.azure_queue_settings` の `alterable` カラムで、説明文の内容が逆になっていた問題を修正しました。実際のコードの動作に合わせて、`0` と `1` の意味を入れ替えました。 [#101703](https://github.com/ClickHouse/ClickHouse/pull/101703) ([ClickGap AI Bot](https://github.com/clickgapai)).
* positiveModulo(tuple, number) が、剰余ではなく誤って除算にディスパッチされていた問題を修正しました。[#101709](https://github.com/ClickHouse/ClickHouse/pull/101709) ([ClickGap AI Bot](https://github.com/clickgapai)) 。
* cache でラップされたディスクで `thread_pool_size` が設定されている場合に発生していたクラッシュを修正しました。従来は、`FileCacheSettings::loadFromConfig()` が `thread_pool_size` を不明な設定として拒否していたため、server が起動できませんでした。この設定は有効な `IDisk` パラメータであり、バックグラウンドのパート移動中に行われるディスク間コピー処理で使用するスレッド数を制御します。[#101712](https://github.com/ClickHouse/ClickHouse/pull/101712) ([Francisco](https://github.com/Milias)).
* `RANGE_HASHED` Dictionary の作成時に、存在しない `MAX` 範囲属性を警告なしで受け入れてしまい、最小範囲属性と最大範囲属性の型が異なる場合に誤った型設定を使用していた不具合を修正しました。このバグは `buildRangeConfiguration` 内のコピー＆ペーストミスが原因で、最大属性に対して `max_attr_name` ではなく `min_attr_name` を参照していたことによるものです。[#101732](https://github.com/ClickHouse/ClickHouse/pull/101732) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* 待機タイマーが、参照先の `ProfileEvents::Counters` を持つワーカースレッドより長く生存する場合に CPU lease scheduler で発生する use-after-free クラッシュを修正しました。 [#101761](https://github.com/ClickHouse/ClickHouse/pull/101761) ([Antonio Andelic](https://github.com/antonio2368)) 。
* arrayLevenshteinDistanceWeighted 関数および arraySimilarity 関数の不具合を修正しました。[#101725](https://github.com/ClickHouse/ClickHouse/issues/101725) をクローズしました。[#101767](https://github.com/ClickHouse/ClickHouse/pull/101767) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* POSTフォームボディを無視していた Prometheus Query API の問題を修正しました。 [#101794](https://github.com/ClickHouse/ClickHouse/pull/101794) ([James Cunningham](https://github.com/JTCunning)).
* S3 `Client::~Client` デストラクタから例外が伝播し、server が終了してしまう問題を修正しました。[#101798](https://github.com/ClickHouse/ClickHouse/pull/101798) ([Gagan Dhakrey](https://github.com/gagandhakrey)).
* `Object` 型の動的パスの並列デシリアライゼーションにおける use-after-scope の問題を修正しました。これは、動的パスが多数あるテーブルの読み取り時にクラッシュを引き起こす可能性がありました。[#101823](https://github.com/ClickHouse/ClickHouse/pull/101823) ([Antonio Andelic](https://github.com/antonio2368)).
* 特定の (デフォルト以外の) フォーマット設定で、関数 `formatDateTime` のフォーマッタ`%W` が誤った出力を返す問題を修正しました。 [#101847](https://github.com/ClickHouse/ClickHouse/pull/101847) ([Robert Schulze](https://github.com/rschu1ze)).
* デマングルされたシンボル名のテンプレート引数内に検索文字列が最初に現れる場合に、`SYSTEM INSTRUMENT ADD` で `shouldPatchFunction` の偽陰性が発生する問題を修正しました。[#101885](https://github.com/ClickHouse/ClickHouse/pull/101885) ([Pablo Marcos](https://github.com/pamarcos)).
* 定期的なリフレッシュ中に ZooKeeper のセッションが期限切れになると UDF レジストリが失われる不具合を修正しました。この不具合により、完全なリフレッシュが成功するまで、すべてのユーザー定義関数が利用できなくなる可能性がありました。 [#101891](https://github.com/ClickHouse/ClickHouse/pull/101891) ([Nikita Fomichev](https://github.com/fm4v)).
* `AES_256_GCM_SIV` の `system.codecs` の説明を修正し、`AES-128` ではなく `AES-256` と表示されるようにしました。[#101917](https://github.com/ClickHouse/ClickHouse/pull/101917) ([Jimmy Aguilar Mena](https://github.com/Ergus)) 。
* JSON column 上に作成された min-max 索引で誤った極値が使われ、誤ったクエリ結果を引き起こす問題を修正しました。[#101700](https://github.com/ClickHouse/ClickHouse/issues/101700) をクローズします。[#101918](https://github.com/ClickHouse/ClickHouse/pull/101918) ([Pavel Kruglov](https://github.com/Avogar)) 。
* `splitByString` トークナイザーは、空の区切り文字列を受け入れなくなりました。[#101928](https://github.com/ClickHouse/ClickHouse/pull/101928) ([Robert Schulze](https://github.com/rschu1ze)).
* `materialize_skip_indexes_on_merge=false` で、マージ時にテキスト (全文) 索引が抑止されない不具合を修正しました。これまでは、テキスト以外のスキップ索引 (minmax、set、bloom\_filter) のみが抑止され、テキスト索引は引き続き構築されていたため、CPU と I/O を無駄に消費していました。[#101932](https://github.com/ClickHouse/ClickHouse/pull/101932) ([Groene AI](https://github.com/groeneai)) 。
* `sparseGrams` トークナイザーが、指定された最大長を超えるトークンを生成していました (これは実装内で `+2` がハードコードされていたためです) 。 [#101934](https://github.com/ClickHouse/ClickHouse/pull/101934) ([Elmi Ahmadov](https://github.com/ahmadov)).
* `addStreams` 中にストリームのコンストラクタが例外をスローし、`column_streams` に null エントリが残ることで発生する `MergeTreeDataPartWriterWide::cancel` の SIGSEGV を修正しました。 [#101936](https://github.com/ClickHouse/ClickHouse/pull/101936) ([Antonio Andelic](https://github.com/antonio2368)).
* `query_plan_direct_read_from_text_index` が有効な場合に、フルテキスト索引を持つ Merge または分散テーブルに対し、`has*Tokens` と LIKE が混在するフィルタ条件を含むクエリを実行すると例外が発生する問題を修正しました。 [#101939](https://github.com/ClickHouse/ClickHouse/pull/101939) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* 無効な `QueryProcessingStage` 値を含むネイティブプロトコルのクエリパケットのパース時に発生する未定義動作を修正しました。 [#101972](https://github.com/ClickHouse/ClickHouse/pull/101972) ([Raúl Marín](https://github.com/Algunenano)).
* 初期クエリのパース中に例外が発生した場合、同期ずれしたストリームから不正なデータを読み取るのを防ぐため、TCP接続を閉じるようにしました。[#101989](https://github.com/ClickHouse/ClickHouse/pull/101989) ([Raúl Marín](https://github.com/Algunenano)).
* 26.1+ のファイルシステムキャッシュにおける SLRU の競合バグを修正しました。この不具合により、領域予約に関する論理エラーが発生する可能性があります。デバッグビルドでは、アサーション失敗 `'Previous state is Evicting, but expected state to be Active while setting Evicting flag for 2c1e3484ecdc6b78a8978fa5b17c5097:0:339 (state: Evicting)'.` が発生することもあります。[#101991](https://github.com/ClickHouse/ClickHouse/pull/101991) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 末尾に余分なデータが付いた文字列を空の `Tuple()` 型にキャストする際に発生する例外を修正しました。[#102011](https://github.com/ClickHouse/ClickHouse/pull/102011) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ORDER BY と grace\_hash join アルゴリズムを使用するクエリで、行の並び順が誤る問題を修正しました。影響を受けるクエリでは、結果が誤った順序で返されることで、気付かないうちに不正確な出力が生成される可能性がありました。 [#102036](https://github.com/ClickHouse/ClickHouse/pull/102036) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* `max_bytes_in_join` 設定が構成されている場合に、RIGHT JOIN および FULL JOIN クエリで発生する可能性があった LOGICAL ERROR (Unexpected size of index type) を修正しました。[#102042](https://github.com/ClickHouse/ClickHouse/pull/102042) ([Jimmy Aguilar Mena](https://github.com/Ergus)) 。
* 負の値を持つ Time を DateTime と比較した際に、誤った結果が返されるケースを修正しました。[#101670](https://github.com/ClickHouse/ClickHouse/issues/101670) をクローズしました。[#102056](https://github.com/ClickHouse/ClickHouse/pull/102056) ([Yarik Briukhovetskyi](https://github.com/yariks5s))。
* `ZooKeeperRetriesControl` が古い (期限切れの) ZooKeeperセッションを更新せずに再試行していたことが原因で発生していた、UDF refresh のクラッシュを修正しました。 [#102059](https://github.com/ClickHouse/ClickHouse/pull/102059) ([Nikita Fomichev](https://github.com/fm4v)).
* unlock snapshot のフォーマット時に欠けていたスペースを修正。[https://github.com/clickhouse/clickhouse/issues/101723](https://github.com/clickhouse/clickhouse/issues/101723) をクローズ。[#102063](https://github.com/ClickHouse/ClickHouse/pull/102063) ([Han Fei](https://github.com/hanfei1991)).
* WHERE 句を含むビューに対するクエリで、内部クエリがビューのメタデータと異なる型のカラム (たとえば、`join_use_nulls` を指定した LEFT JOIN による Nullable) を生成した場合にクラッシュ (SIGSEGV) する問題を修正しました。[#102085](https://github.com/ClickHouse/ClickHouse/pull/102085) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* cache キーの不一致により、パート削除後も `VectorSimilarityIndexCache` のエントリが追い出されない不具合を修正しました。[#102152](https://github.com/ClickHouse/ClickHouse/pull/102152) ([Seva Potapov](https://github.com/seva-potapov)).
* rabbitmq ストレージの使用時に、破損したメッセージを NACK するようにしました。 [#102157](https://github.com/ClickHouse/ClickHouse/pull/102157) ([Seva Potapov](https://github.com/seva-potapov)).
* 不正な空のタプル文字列のパース時に発生する論理エラーを修正しました。[#102289](https://github.com/ClickHouse/ClickHouse/pull/102289) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* GROUP BY のカラムの順序がテーブルのソートキーと異なる場合に `optimize_aggregation_in_order=1` を使用すると、誤った集計結果 (行の重複) が生じる問題を修正しました。 [#102299](https://github.com/ClickHouse/ClickHouse/pull/102299) ([Groene AI](https://github.com/groeneai)).
* Avro フォーマットの使用時に `IcebergLocal` の `ALTER TABLE ... UPDATE` で発生していたクラッシュを修正しました。原因は、`LowCardinality`/`Nullable` のラッパー型がシリアライゼーション前にアンラップされていなかったことです。 [#102337](https://github.com/ClickHouse/ClickHouse/pull/102337) ([Desel72](https://github.com/Desel72)).
* 式が定義されていないマテリアライズドカラムに対するミューテーションで発生していたセグメンテーションフォルトを修正しました。[#102185](https://github.com/ClickHouse/ClickHouse/issues/102185) をクローズします。[#102342](https://github.com/ClickHouse/ClickHouse/pull/102342) ([zoomxi](https://github.com/zoomxi)).
* Array型における Coalescing merge tree の修正です。これにより [#89509](https://github.com/ClickHouse/ClickHouse/issues/89509) をクローズします。[#102384](https://github.com/ClickHouse/ClickHouse/pull/102384) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* ブルームフィルタのプッシュダウンが有効で、WHERE句に等値／不等値条件がある Parquet ファイルの読み取り時に発生する segfault (またはデバッグビルドでの LOGICAL\_ERROR) を修正しました。このクラッシュは、Parquet の prefetcher におけるブルームフィルタデータ取得処理で範囲外のメモリアクセスが発生することが原因で、非決定論的に誤ったクエリ結果を引き起こす可能性もありました。[#102385](https://github.com/ClickHouse/ClickHouse/pull/102385) ([Groene AI](https://github.com/groeneai)).
* サブキュー間でエビクション統計が共有されていたことと、失敗した候補に対するリカバリパスが誤っていたことが原因で、SLRU ファイルシステムキャッシュの動的リサイズ中に `LOGICAL_ERROR` で中断する問題を修正しました。[#102396](https://github.com/ClickHouse/ClickHouse/pull/102396) ([Antonio Andelic](https://github.com/antonio2368)).
* Database Replicated の新しいレプリカ上で、ターゲットテーブルのない Alias tables の初期化に失敗する問題を修正しました。[#101320](https://github.com/ClickHouse/ClickHouse/issues/101320) をクローズしました。[#102397](https://github.com/ClickHouse/ClickHouse/pull/102397) ([Nikolay Degterinsky](https://github.com/evillique)).
* ヌルバイトのみで構成された needle を検索する際に、文字列検索関数 (`countSubstrings`、`position` など) で範囲外読み取りが発生する問題を修正しました。[#102401](https://github.com/ClickHouse/ClickHouse/pull/102401) ([Raúl Marín](https://github.com/Algunenano)) 。
* 全文テキスト索引の設定 (`enable_full_text_index`、`allow_experimental_full_text_index`、`use_skip_indexes_on_data_read`) は、`compatibility` 設定が 26.1 より前のバージョンを指している場合でも、無効化されなくなりました。以前は、そのため `SharedDatabaseCatalog` がテキスト索引付きのテーブルを作成できないことがありました。[#102422](https://github.com/ClickHouse/ClickHouse/pull/102422) ([Nikita Fomichev](https://github.com/fm4v)) 。
* 末尾が `%` の `printf` における境界外読み取りを修正しました。[#102472](https://github.com/ClickHouse/ClickHouse/pull/102472) ([Raúl Marín](https://github.com/Algunenano)) 。
* AsynchronousMetrics において、rewind でバッファのキャンセルフラグがリセットされないことが原因で、debug builds で発生していた `ReadBuffer is canceled` という chassert 例外を修正しました。 [#102524](https://github.com/ClickHouse/ClickHouse/pull/102524) ([Yuri Fedoseev](https://github.com/yurifedoseev)) 。
* 区切り文字だけからなる needle (例: `'()'`、`'!!!'`) を指定した `hasToken` / `hasTokenOrNull` について、テキスト索引を持つカラムでの動作を修正しました。従来は、`BAD_ARGUMENTS` をスローすべき場合 (`hasToken`) や `NULL` を返すべき場合 (`hasTokenOrNull`) に、索引がすべてのグラニュールを黙ってスキップしていました。[#102544](https://github.com/ClickHouse/ClickHouse/pull/102544) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Keeper における巨大な multi リクエストでの OOM を修正しました。OpenTelemetry のトレーシングでは、`ZooKeeperRequest` オブジェクト内の OpenTelemetry spans 用に無条件で >1 KiB を割り当てていたため、非常に巨大な multi リクエストでは追加で >10 GiB のメモリを確保しようとしていました。これを修正するため、共有データを静的メモリに保持するようにし、`ZooKeeperOpentelemetrySpans` では `std::optional` ではなく `std::unique_ptr` を使うようにしました。 [#102586](https://github.com/ClickHouse/ClickHouse/pull/102586) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 既存のコレクションに対して `CREATE NAMED COLLECTION IF NOT EXISTS` を実行すると `NamedCollection` の CurrentMetric が過大に計上される問題と、起動時に config または SQL ストレージから読み込まれたコレクションでこれが初期化されない問題を修正しました。[#102507](https://github.com/ClickHouse/ClickHouse/issues/102507) をクローズします。[#102598](https://github.com/ClickHouse/ClickHouse/pull/102598) ([Pablo Marcos](https://github.com/pamarcos)).
* 同時実行DDLによりローカル分片が空のカラムを返す場合に、`getStructureOfRemoteTable` で発生する例外を修正しました。 [#102604](https://github.com/ClickHouse/ClickHouse/pull/102604) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複数の同時実行 `CREATE TABLE IF NOT EXISTS` クエリが Shared データベース上の同じ `S3Queue` テーブルを対象とした際に発生する `LOGICAL_ERROR` 例外を修正しました。 [#102610](https://github.com/ClickHouse/ClickHouse/pull/102610) ([Nikita Taranov](https://github.com/nickitat)).
* WHERE フィルタ使用時に Nullable カラムを読み込む際、ネイティブ Parquet V3 リーダーで発生する LOGICAL\_ERROR クラッシュ "Unexpected number of rows in column subchunk" を修正しました。 [#102628](https://github.com/ClickHouse/ClickHouse/pull/102628) ([Groene AI](https://github.com/groeneai)).
* `AzureWriteMicroseconds` profile event の説明が、"write" ではなく "read" になっていた問題を修正しました。[#102639](https://github.com/ClickHouse/ClickHouse/pull/102639) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 一部の特殊なケースで、行ポリシーによって 'Not found column in block' 例外が発生する不具合。[#102648](https://github.com/ClickHouse/ClickHouse/pull/102648) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 設定で定義された静的クラスターで、一時的に稼働中のノードが1つもない場合に ClusterDiscovery で発生していたサーバー例外を修正しました。 [#102661](https://github.com/ClickHouse/ClickHouse/pull/102661) ([Kseniia Sumarokova](https://github.com/kssenii)).
* タイムゾーン調整後にオーバーフローが発生した場合、誤った日付データ型が推論される問題を修正しました。[#102601](https://github.com/ClickHouse/ClickHouse/issues/102601) をクローズしました。[#102674](https://github.com/ClickHouse/ClickHouse/pull/102674) ([Pavel Kruglov](https://github.com/Avogar)).
* リフレッシャブルmaterialized view が待機中に削除された場合に、`SYSTEM WAIT VIEW` がいつまでもハングしたままになる問題を修正しました。[#102681](https://github.com/ClickHouse/ClickHouse/pull/102681) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* すべての行で ELSE が返されてしまう Dynamic expression を含む CASE を修正。[#102511](https://github.com/ClickHouse/ClickHouse/issues/102511) をクローズ。[#102684](https://github.com/ClickHouse/ClickHouse/pull/102684) ([Pavel Kruglov](https://github.com/Avogar)).
* バイナリエンコードされたデータ型で発生していた、フラット化されたDynamic型のシリアライゼーションの不具合を修正しました。[#101911](https://github.com/ClickHouse/ClickHouse/issues/101911) をクローズします。[#102692](https://github.com/ClickHouse/ClickHouse/pull/102692) ([Pavel Kruglov](https://github.com/Avogar)) 。
* format\_schema\_source='query' が複数行の結果を暗黙に無視してしまう問題を修正しました。[#101905](https://github.com/ClickHouse/ClickHouse/issues/101905) をクローズしました。[#102698](https://github.com/ClickHouse/ClickHouse/pull/102698) ([Pavel Kruglov](https://github.com/Avogar)).
* すべてのエラーを `1` にマッピングするのではなく、SSHクライアント経由で実際の終了コードを報告するようにしました。[#101741](https://github.com/ClickHouse/ClickHouse/issues/101741) を修正しました。[#102700](https://github.com/ClickHouse/ClickHouse/pull/102700) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* 動的/定義済みクエリハンドラーで HTTP ヘッダーが失われる問題を修正しました。[#101846](https://github.com/ClickHouse/ClickHouse/issues/101846) をクローズします。[#102706](https://github.com/ClickHouse/ClickHouse/pull/102706) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* 折りたたまれた jemalloc ヒーププロファイルにポアソン・サンプリング補正を適用し、jeprof の出力と一致するようにしました。以前は、collapsed フォーマットでサンプリング確率が考慮されていなかったため、実際の割り当てサイズが過小評価されていました。[#102759](https://github.com/ClickHouse/ClickHouse/pull/102759) ([Antonio Andelic](https://github.com/antonio2368)).
* 関数 `hasPhrase` に `NULL` 引数を渡した場合のクラッシュを修正しました。[#102802](https://github.com/ClickHouse/ClickHouse/pull/102802) ([Nikita Taranov](https://github.com/nickitat)) 。
* 循環するシンボリック型参照を含む再帰的なスキーマを持つ Avro ファイルの読み取り時に発生していたサーバーのクラッシュ (SIGSEGV) を修正しました。今後は、このようなスキーマはクラッシュを引き起こす代わりに検出され、明確なエラーメッセージとともに拒否されます。[#102853](https://github.com/ClickHouse/ClickHouse/pull/102853) ([Groene AI](https://github.com/groeneai)).
* `FunctionVariantAdaptor` で結果をキャストする際、`Variant` カラムに対する関数がメモリ制限に達するか、型変換以外の例外が発生した場合に起きていたサーバークラッシュ (`LOGICAL&#95;ERROR` アサーション) を修正しました。この例外は、内部エラーとして誤分類されるのではなく、正しく伝播されるようになりました。[#102855](https://github.com/ClickHouse/ClickHouse/pull/102855) ([Groene AI](https://github.com/groeneai)).
* スキーマ推論中に `std::length_error` がスローされた場合 (たとえば、`input_format_msgpack_number_of_columns` に極端な値が設定されている場合や、入力データが不正な場合) に、debug/sanitizer ビルドでサーバーがクラッシュする問題を修正しました。[#102859](https://github.com/ClickHouse/ClickHouse/pull/102859) ([Groene AI](https://github.com/groeneai)).
* レプリケートされたカラムおよびスパースなカラムのシリアライゼーションにおける NULL 表現が、設定 (例: `format&#95;tsv&#95;null&#95;representation`) に従うようにしました。 [#102888](https://github.com/ClickHouse/ClickHouse/pull/102888) ([Hechem Selmi](https://github.com/m-selmi)).
* [#103499](https://github.com/ClickHouse/ClickHouse/issues/103499) にバックポート: Poco の `BufferedStreamBuf::flushBuffer` がソケット層からの短い書き込みを適切に処理していなかったため、`ios_base::clear: unspecified iostream_category error` が発生した S3 リクエストが再試行されずに失敗していた問題を修正しました。[#102894](https://github.com/ClickHouse/ClickHouse/pull/102894) ([Sema Checherinda](https://github.com/CheSema)).
* 論理削除の後、論理削除マスク付きのパーツがすべてマージされて消えた後も、`minmax_count_projection` と単純な `COUNT(*)` の最適化が恒久的に無効のままになる不具合を修正しました。[#102900](https://github.com/ClickHouse/ClickHouse/pull/102900) ([Anton Popov](https://github.com/CurtizJ)).
* LTO に起因する jemalloc の散発的なクラッシュを修正しました。[#102913](https://github.com/ClickHouse/ClickHouse/pull/102913) ([Azat Khuzhin](https://github.com/azat)) 。
* 新しいアナライザで、行ポリシーの OR チェーンを IN に最適化しました。[#102915](https://github.com/ClickHouse/ClickHouse/pull/102915) ([Azat Khuzhin](https://github.com/azat)) 。
* 誤ったアラインメントで page cache を解放することで発生し、クラッシュにつながる可能性がある jemalloc のメタデータ破損を修正しました。 [#102918](https://github.com/ClickHouse/ClickHouse/pull/102918) ([Azat Khuzhin](https://github.com/azat)).
* materialized view を伴わない通常の INSERT では、過剰な ConcurrencyControl のスロットやスレッド (`max_insert_threads` ではなく `max_threads`) を要求しなくなり、INSERT スループットが高いクラスターでの CC スロットの枯渇やスレッド数の急増を防げるようになりました。 [#102961](https://github.com/ClickHouse/ClickHouse/pull/102961) ([Sema Checherinda](https://github.com/CheSema)).
* カーネル OOM を回避するため、MEMORY\_LIMIT\_EXCEEDED を発生させられるように ArrowMemoryPool を再導入しました。[#102999](https://github.com/ClickHouse/ClickHouse/pull/102999) ([Azat Khuzhin](https://github.com/azat)) 。
* `cast_string_to_date_time_mode` が `Nullable(DateTime)` への `CAST` で無視されていた問題を修正しました。[#101840](https://github.com/ClickHouse/ClickHouse/issues/101840) をクローズしました。[#103035](https://github.com/ClickHouse/ClickHouse/pull/103035) ([Pavel Kruglov](https://github.com/Avogar)).
* テキスト索引の direct read 最適化で、`ALIAS` カラムがサポートされるようになりました。[#103037](https://github.com/ClickHouse/ClickHouse/pull/103037) ([Anton Popov](https://github.com/CurtizJ)).
* [#103454](https://github.com/ClickHouse/ClickHouse/issues/103454) にバックポート: 集約プロジェクションがクエリに一致し、かつテーブルの一部のパーツにプロジェクションデータが存在しない場合 (たとえば、すでにデータが入っているテーブルにプロジェクションを追加したものの、`MATERIALIZE PROJECTION` を実行していない場合) に、`SELECT DISTINCT` が不完全な結果を何も通知せず返してしまう問題を修正しました。[#102951](https://github.com/ClickHouse/ClickHouse/issues/102951) をクローズしました。[#103052](https://github.com/ClickHouse/ClickHouse/pull/103052) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `MergeTree` テーブルで、`N` が `UInt8` より大きい整数型 (例: `256`、`65535`、`2147483648`、または任意の負の整数) の場合に、`WHERE x AND toNullable(N)` が誤った結果を返す問題を修正しました。これは、`splitFilterNodeForAllowedInputs` が、簡約された `AND` の `Nullable` な残り部分を boolean に変換する際に `NULL` のゼロ値を使っていたため、三値論理のもとで比較結果が `NULL` となり、filter がすべての行を誤って除外していたためです。[#103077](https://github.com/ClickHouse/ClickHouse/pull/103077) ([Groene AI](https://github.com/groeneai)).
* 文字列検索関数 (`locate`、`position` など) で、引数を逆順 (`function_locate_has_mysql_compatible_argument_order = 1` の場合の `locate(needle, haystack)`) で渡した際に、エラーメッセージで誤った引数型が表示される不具合を修正しました。[#103102](https://github.com/ClickHouse/ClickHouse/pull/103102) ([Alex Kuleshov](https://github.com/0xAX)) 。
* `disableFailPoint` が、フェイルポイントで一時停止しているスレッドがない状態で呼び出された際に、`waitForPause` が無限にハングし続ける問題を修正しました。[#103119](https://github.com/ClickHouse/ClickHouse/pull/103119) ([Shaohua Wang](https://github.com/tiandiwonder)) 。
* 事前認証時の TCP Hello パケット内の文字列長を 64 KB に制限し、ハンドシェイク全体の時間を制限する `handshake_timeout_milliseconds` サーバー設定を追加しました。これにより、未認証のクライアントが過剰なメモリを消費したり、スレッドを無期限に占有したりすることを防ぎます。 [#103284](https://github.com/ClickHouse/ClickHouse/pull/103284) ([Sema Checherinda](https://github.com/CheSema)).
* Parquet ColumnIndex の統計情報で、String カラムにおいて min\_value > max\_value となる問題を修正しました。 [#103334](https://github.com/ClickHouse/ClickHouse/pull/103334) ([Saurabh Kumar Ojha](https://github.com/saurabhojha)).
* Native format のフラット化された Dynamic データの不正な形式をチェックするようにしました。 [#103392](https://github.com/ClickHouse/ClickHouse/pull/103392) ([Pavel Kruglov](https://github.com/Avogar)).
* `url` テーブル関数から `_time` カラムを設定するようにしました。[#103437](https://github.com/ClickHouse/ClickHouse/pull/103437) ([Nikita Taranov](https://github.com/nickitat)) 。
* SVE 命令が利用できない環境でも SVE 命令を使ってしまっていた SVE 検出を修正しました。[#103568](https://github.com/ClickHouse/ClickHouse/pull/103568) ([Raúl Marín](https://github.com/Algunenano)) 。

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* Libstemmer (Snowball) の依存関係で、より新しい v3.0.1 を使用するようになりました。[#99256](https://github.com/ClickHouse/ClickHouse/pull/99256) ([Jimmy Aguilar Mena](https://github.com/Ergus)) 。
* clickhouse-test で `use_skip_indexes_for_top_k`、`use_top_k_dynamic_filtering`、`query_plan_max_limit_for_top_k_optimization` の設定をランダム化。 [#91782](https://github.com/ClickHouse/ClickHouse/pull/91782) ([Nikita Fomichev](https://github.com/fm4v)).
* 関数向けのストレステストを実装し、そのさまざまな特性の妥当性を検証するようにしました。 [#93543](https://github.com/ClickHouse/ClickHouse/pull/93543) ([Michael Kolupaev](https://github.com/al13n321)).
* `llvm-project` について、upstream の設定を取り込む代わりに、独自の CMake 構成を提供。 [#97453](https://github.com/ClickHouse/ClickHouse/pull/97453) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* クエリ最適化パスのカバレッジを高めるため、テストインフラストラクチャ内で `optimize_*` 設定のランダム化対象を増やしました。[#97547](https://github.com/ClickHouse/ClickHouse/pull/97547) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* Rust ツールチェーン nightly-2026-03-22 を使用。[#98602](https://github.com/ClickHouse/ClickHouse/pull/98602) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `wasmtime` v42.0.1 を使用しました。 [#98603](https://github.com/ClickHouse/ClickHouse/pull/98603) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `llvm-project` 22.1.1 を使用。 [#98882](https://github.com/ClickHouse/ClickHouse/pull/98882) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* nightly のテスト単位カバレッジパイプラインで、`SANITIZE_COVERAGE` (カスタムサニタイザーコールバック、シンボル単位の粒度) を LLVM のソースベースカバレッジ (`WITH_COVERAGE`, `-fprofile-instr-generate -fcoverage-mapping`) に置き換えました。サーバーは起動時に ELF セクションから自身のカバレッジマッピングを読み込み、新しい `SYSTEM SET COVERAGE TEST 'name'` コマンドを通じて、テストごとに `(file, line_start, line_end)` タプルを収集するようになりました。対象を絞った CIチェックでのテスト選定では、新しい CIDB テーブル `checks_coverage_lines` に対する行範囲クエリを使用し、変更された差分行のうちどれだけをカバーしているかに基づいて候補テストをランク付けします。[#99513](https://github.com/ClickHouse/ClickHouse/pull/99513) ([Nikita Fomichev](https://github.com/fm4v)).
* -O0 ビルドで発生する llvm-libc のリンクエラーを修正。 [#100023](https://github.com/ClickHouse/ClickHouse/pull/100023) ([Zheguang Zhao](https://github.com/zheguang)).
* 設定に `logger.log` と `logger.errorlog` の設定が含まれていない場合 (たとえば、すべてのログメッセージを STDOUT/STDERR に出力する想定のとき) に、コンテナ起動時に発生していた 2 件のエラーメッセージを修正しました。 [#100239](https://github.com/ClickHouse/ClickHouse/pull/100239) ([Simon](https://github.com/simonhammes)).
* macOS ビルドでは、Apple の `ld` (cctools-port ld64) より `ld64.lld` を優先するようにしました。これにより、Darwin でのリンク時間が大幅に短縮されるはずです。cctools-port の ld64 は、`-ffunction-sections` と `-dead_strip` を使用すると非常に遅いためです。`ld64.lld` が利用できない場合は、`ld` にフォールバックします。 [#100275](https://github.com/ClickHouse/ClickHouse/pull/100275) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ディレクトリに機密情報が一切登録されないことを確認するテスト (REST + Glue) 。[#100307](https://github.com/ClickHouse/ClickHouse/pull/100307) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 最近変更されたテストを、異なるランダム化設定で繰り返し実行するようにしました。[#100385](https://github.com/ClickHouse/ClickHouse/pull/100385) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* CMake で `#embed` ファイルの依存関係を追跡し、正しく再ビルドできるように ccache の depend mode を有効にしました。[#100411](https://github.com/ClickHouse/ClickHouse/pull/100411) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* TPC-Hクエリの正しさを検証するテストを追加しました。[#100580](https://github.com/ClickHouse/ClickHouse/pull/100580) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* `aws-sdk-cpp` 1.11.771 を使用するようになりました。 [#100582](https://github.com/ClickHouse/ClickHouse/pull/100582) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* 性能テスト用XMLから、`file` 属性を使って外部のSQLクエリファイルや設定を参照できるようになりました。[#100747](https://github.com/ClickHouse/ClickHouse/pull/100747) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `LowerUpperImpl.h` に不足していた `TargetSpecific.h` の include を追加し、`-march=x86-64-v4` でのコンパイルが通るようにしました。[#100932](https://github.com/ClickHouse/ClickHouse/pull/100932) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* cxxflags に --no-default-config を追加し、Gentoo でのビルドを修正しました。[#100973](https://github.com/ClickHouse/ClickHouse/pull/100973) ([Isak Ellmer](https://github.com/spinojara)).
* `utils/auto-bisect/` を追加しました。これはシェルベースの二分探索フレームワークで、ローカルでビルドしなくても、事前ビルド済みの CI バイナリをダウンロードし、ユーザー指定のテストスクリプトを実行して、リグレッションを引き起こした最初のコミットを特定できます。[#100989](https://github.com/ClickHouse/ClickHouse/pull/100989) ([Nikita Fomichev](https://github.com/fm4v)) 。
* CMake では ThinLTO をデフォルトで無効化し、ローカルの開発者向けビルドで暗黙的に有効にならないようにしました。CI のリリースビルドは `-DENABLE_THINLTO=1` を明示的に指定しているため、影響を受けません。[#101041](https://github.com/ClickHouse/ClickHouse/pull/101041) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 性能テストにTPC-DS SF1ベンチマークを追加。[#101209](https://github.com/ClickHouse/ClickHouse/pull/101209) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 以下を対象とする、MergeTree の論理削除向けステートレステストが追加されました: `has_lightweight_delete` フラグのライフサイクル、`optimize_trivial_count_query` における `COUNT(*)` の正確性、`MATERIALIZED`/`DEFAULT` カラムの整合性、`ReplicatedMergeTree` フラグの復元、削除済みの行に対する `read_in_order`、複数回の delete/merge サイクル、`_row_exists` カラムの隠蔽、さまざまな predicate、`ALTER DELETE` に対する RBAC の適用。[#101792](https://github.com/ClickHouse/ClickHouse/pull/101792) ([Nikita Fomichev](https://github.com/fm4v)).
* タグ付きリリース向けに、ubuntu および alpine バリアントの Distroless Dockerイメージが公開されるようになりました。[#101941](https://github.com/ClickHouse/ClickHouse/pull/101941) ([Rahul Nair](https://github.com/motsc)).
* スタックトレースには、ビルドディレクトリを含む煩雑なパス (例: `./ci/tmp/fast_build/./src/Common/Exception.cpp`) ではなく、クリーンな相対パス (例: `src/Common/Exception.cpp`) が表示されるようになりました。 [#102000](https://github.com/ClickHouse/ClickHouse/pull/102000) ([Raúl Marín](https://github.com/Algunenano)).
* リポジトリにコミットされた 5 MB 超のファイルを拒否する CI の Style check を追加し、既存の正規のテストデータについてはホワイトリストで許可するようにしました。未使用の 14 MB の `zookeeper_log.parquet` を削除しました。 [#102080](https://github.com/ClickHouse/ClickHouse/pull/102080) ([Raúl Marín](https://github.com/Algunenano)) 。
* コンパイル時間を短縮するため、ヘッダファイルから未使用の `#include` ディレクティブを約400件削除しました。[#102585](https://github.com/ClickHouse/ClickHouse/pull/102585) ([Raúl Marín](https://github.com/Algunenano)) 。
* `wasmtime` v43.0.1 を使用するようにしました。 [#102603](https://github.com/ClickHouse/ClickHouse/pull/102603) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `openssl` 3.5.6 を使用するようにしました。 [#102606](https://github.com/ClickHouse/ClickHouse/pull/102606) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `xz` 5.8.3 を使用。 [#102607](https://github.com/ClickHouse/ClickHouse/pull/102607) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* distroless Docker image のベースを Debian 12 (glibc 2.36、OpenSSL 3.0) から Debian 13 (glibc 2.41、OpenSSL 3.5) へアップグレードし、CVE の影響範囲を縮小して、到達可能な脆弱性をゼロにしました。[#101678](https://github.com/ClickHouse/ClickHouse/pull/101678) ([Rahul Nair](https://github.com/motsc)) 。

<div id="263">
  ### ClickHouse 26.3 LTS リリース、2026-03-26。 [プレゼンテーション](https://presentations.clickhouse.com/), [ビデオ](https://www.youtube.com/watch?v=_bY0ucNB1lQ)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* アップグレード後にダウングレードすると、データが失われる可能性があります。データ型のシリアル化バージョンが、ネストされたデータ型にも伝播されるようになりました。たとえば、これまで String のシリアル化バージョン `with_size_stream` は、最上位レベルの String カラムと Tuple の要素にのみ適用されていました。現在は、`Array`/`Map`/`Variant`/`JSON`/etc. など、任意のネストされた型の中にあるあらゆる String 型に適用されます。この動作は、現在デフォルトで有効になっている MergeTree setting `propagate_types_serialization_versions_to_nested_types` によって制御されます。この変更により、新しく作成されたデータパーツは古いバージョンでは読み取れなくなりますが、古いパーツは新しいバージョンでも問題なく読み取れます。**アップグレードは安全ですが、ダウングレードは安全ではありません。26.3 へのアップグレード後にロールバックが必要になった場合、ネストされた型を持つカラムに 26.3 が書き込んだデータは読み取れなくなります！** 詳細については [#101429](https://github.com/ClickHouse/ClickHouse/issues/101429) を参照してください。[#94859](https://github.com/ClickHouse/ClickHouse/pull/94859) ([Pavel Kruglov](https://github.com/Avogar)).
* `hypothesis` スキップ索引タイプを削除しました。これは実用性が低く、実験的でわかりにくい機能でした。`INDEX ... TYPE hypothesis` を指定してテーブルを作成すると、今後はエラーになります。[#96874](https://github.com/ClickHouse/ClickHouse/pull/96874) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 実験的な`detectProgrammingLanguage`関数を削除。[#99567](https://github.com/ClickHouse/ClickHouse/pull/99567) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* SQL 標準に合わせて `NOT` 演算子の優先順位を修正しました。これにより、`NOT` は `IS NULL`、`BETWEEN`、`LIKE`、および算術演算子よりも低い優先順位で結合されるようになりました。たとえば、`NOT (x) IS NULL` は、従来の `(NOT x) IS NULL` ではなく、`NOT (x IS NULL)` として解析されるようになりました。これにより、従来の (標準に準拠していない) 動作に依存していたクエリの結果が変わる可能性があります。[#97680](https://github.com/ClickHouse/ClickHouse/pull/97680) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 通常のプロジェクションのメタデータを修正し、複数カラムのソートキーを持つプロジェクションが正しく認識されるようにしました。[#90429](https://github.com/ClickHouse/ClickHouse/issues/90429) を踏まえた修正です。[#91352](https://github.com/ClickHouse/ClickHouse/pull/91352) ([Amos Bird](https://github.com/amosbird)).
* replace\_long\_file\_name\_to\_hash 設定がスキップ索引ファイルで考慮されておらず、"File name too long" エラーが発生したり、長い名前の索引で索引の読み取りができなくなったりする問題を修正しました。スキップ索引のファイル名は、カラムファイルと同様に、max\_file\_name\_length を超える場合にハッシュ化されるようになりました。この変更には後方互換性があります (新しいサーバーは古いパーツを読み取れます) が、ダウングレード時 (またはローリングアップグレード中の古いサーバー) には、長い名前の索引が無視される可能性があります。[#97128](https://github.com/ClickHouse/ClickHouse/pull/97128) ([Raúl Marín](https://github.com/Algunenano)).
* デフォルトで非同期 INSERT が有効になりました。ClickHouse では今後、すべての小さな insert がデフォルトでバッチ処理されます。この設定は compatibility で指定します。`compatibility=<version less than 26.2>` を設定した場合、デフォルト値は以前と同じ `false` になります。非同期 INSERT は、users profiles の設定、session、query、または MergeTree table について、複数のレベルでオン/オフを切り替えられます。 [#97590](https://github.com/ClickHouse/ClickHouse/pull/97590) ([Sema Checherinda](https://github.com/CheSema)).
* `mysql_datatypes_support_level` のデフォルト値が空から `decimal,datetime64,date2Date32` に変更され、MySQL の `DATE` は `Date32`、`DECIMAL`/`NUMERIC` は `Decimal`、精度付きの `DATETIME`/`TIMESTAMP` は `DateTime64` に、デフォルトで適切にマッピングされるようになりました。従来、MySQL の `DATE` カラムは `Date` にマッピングされていましたが、`Date` は 1970-01-01 より前の日付を表現できないため、データ破損を引き起こしていました。[#97716](https://github.com/ClickHouse/ClickHouse/pull/97716) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `mergeTreeAnalyzeIndexes{,UUID}` では、低速な `regexp` の代わりに、part 名の配列を受け付けるようになりました (*実験的機能*) 。[#98474](https://github.com/ClickHouse/ClickHouse/pull/98474) ([Azat Khuzhin](https://github.com/azat)) 。
* 実行可能 UDF のデフォルトの `stderr_reaction` を `throw` から `log_last` に変更しました。stderr に警告を出力する UDF は、終了コードが 0 の場合は失敗しなくなりました。終了コードに関する例外には、stderr の内容が含まれるようになりました。[#99232](https://github.com/ClickHouse/ClickHouse/pull/99232) ([Xu Jia](https://github.com/XuJia0210)) 。

<div id="267-new-feature">
  #### 新機能
</div>

* MergeTree の Map カラム向けに、バケット化シリアライゼーションが追加されました (`map_serialization_version = 'with_buckets'`) 。キーはハッシュベースのバケットに分割されるため、単一のキー (`m['key']`) を読み取る際には、カラム全体ではなく 1 つのバケットだけを読めばよくなり、Map のサイズに応じて単一キーのルックアップが 2〜49 倍高速化されます。バケット数とバケット化の戦略は、新しい MergeTree 設定 `map_serialization_version`、`max_buckets_in_map`、`map_buckets_strategy`、`map_buckets_coefficient`、`map_buckets_min_avg_size` で制御できます。[#99200](https://github.com/ClickHouse/ClickHouse/pull/99200) ([Pavel Kruglov](https://github.com/Avogar)) 。
* マテリアライズド CTE をサポートしました。クエリ実行中に CTE を一度だけ評価し、その結果を一時テーブルに格納できるようになりました。[#53449](https://github.com/ClickHouse/ClickHouse/issues/53449) をクローズしました。 [#94849](https://github.com/ClickHouse/ClickHouse/pull/94849) ([Dmitry Novik](https://github.com/novikd)).
* 互換性のため、`NOW` などの一部の SQL 標準関数を括弧なしで使えるようにしました。[#52102](https://github.com/ClickHouse/ClickHouse/issues/52102) をクローズしました。[#95949](https://github.com/ClickHouse/ClickHouse/pull/95949) ([Aly Kafoury](https://github.com/AlyHKafoury)).
* 自然順ソートキー関数は `naturalSortKey(s)` として使えるようになりました。[#90322](https://github.com/ClickHouse/ClickHouse/pull/90322) ([Nazarii Piontko](https://github.com/nazarii-piontko)) 。
* JSONExtract関数で、ネイティブのJSON/Object入力を使用できるようになりました。[#88370](https://github.com/ClickHouse/ClickHouse/issues/88370) をクローズ。[#96711](https://github.com/ClickHouse/ClickHouse/pull/96711) ([Fisnik Kastrati](https://github.com/fkastrati)) 。
* クエリパラメータの型が `Nullable` で、かつ指定されていない場合は、その値を `NULL` とみなします。 [#93869](https://github.com/ClickHouse/ClickHouse/pull/93869) ([Vikash Kumar](https://github.com/vikashkumar2020)).
* `Replicated` database で補助的な ZooKeeper をサポート。 [#95590](https://github.com/ClickHouse/ClickHouse/pull/95590) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Map と同様に、JSON type でパスの存在を確認する `has` 関数をサポートしました。[#96927](https://github.com/ClickHouse/ClickHouse/pull/96927) ([DQ](https://github.com/il9ue)).
* `mergeTreeTextIndex(database, table, index)` テーブル関数が追加され、テキスト索引からデータを直接読み取れるようになりました。この関数は、内部情報の確認や、テキスト索引データに対する集計の実行に使用できます。[#97003](https://github.com/ClickHouse/ClickHouse/pull/97003) ([Anton Popov](https://github.com/CurtizJ)).
* `table_readonly` MergeTree setting を追加し、テーブルを読み取り専用としてマークすることで、insert や変更を防止できるようにしました。[#97652](https://github.com/ClickHouse/ClickHouse/pull/97652) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 新しい設定 `use_partition_pruning` と、そのエイリアスである `use_partition_key` を追加しました。これを `false` に設定すると、パーティションキーに基づくパーティションプルーニングが無効になります。 [#97888](https://github.com/ClickHouse/ClickHouse/pull/97888) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Icebergテーブルで`ALTER TABLE ... EXECUTE expire_snapshots('<timestamp>')`を実装しました。[#97904](https://github.com/ClickHouse/ClickHouse/pull/97904) ([murphy-4o](https://github.com/murphy-4o)) 。[#99130](https://github.com/ClickHouse/ClickHouse/pull/99130)
* `<protocols>` 内の各 `type=http` エントリで、別個の `<http_handlers_*>` 設定セクションを参照するカスタム `<handlers>` キーを指定できるようになり、ポートごとに異なる HTTP ルーティングルールを設定できるようになりました。[#98414](https://github.com/ClickHouse/ClickHouse/pull/98414) ([Amos Bird](https://github.com/amosbird)) 。
* `EXPLAIN` に `pretty=1` オプションを追加し、ツリー形式のインデント付き出力を可能にするとともに、`compact=1` で `Expression` ステップを折りたたんで、クエリプランをより読みやすくしました。[#98500](https://github.com/ClickHouse/ClickHouse/pull/98500) ([Kirill Kopnev](https://github.com/Fgrtue)) 。
* `restore_access_entities_with_current_grants` サーバー設定を追加しました。有効にすると、バックアップから復元されたユーザー/ロールの権限は、復元を実行するユーザーが付与できる範囲に制限されるため、`ACCESS_DENIED` で失敗せずに済みます (`GRANT CURRENT GRANTS` と同じセマンティクス) 。[#98795](https://github.com/ClickHouse/ClickHouse/pull/98795) ([pufit](https://github.com/pufit)).
* Unicodeのケースフォールディングおよび発音区別符号の削除のための`caseFoldUTF8`関数と`removeDiacriticsUTF8`関数を追加しました。[#98973](https://github.com/ClickHouse/ClickHouse/pull/98973) ([George Larionov](https://github.com/george-larionov)) 。
* NFKC 正規化とケースフォールディングを組み合わせた NFKC\_Casefold Unicode 正規化用の文字列関数 `normalizeUTF8NFKCCasefold` を追加しました。[#99276](https://github.com/ClickHouse/ClickHouse/pull/99276) ([George Larionov](https://github.com/george-larionov)) 。
* 全文検索用索引および `tokens` 関数向けに、`unicode_word` トークナイザーを追加しました。これは Unicode の単語境界規則に基づいてテキストを分割します。ASCII の単語は接続文字 (アンダースコア、コロン、ドット、シングルクォート) を含めて構成され、非 ASCII の Unicode 文字はそれぞれ 1 文字のトークンになります。注: 26.3 ではこのトークナイザーは `unicode_word` という名前でのみ受け付けられます。26.4 では `asciiCJK` にリネームされました。[#99357](https://github.com/ClickHouse/ClickHouse/pull/99357)  ([Amos Bird](https://github.com/amosbird)) 。
* `skip_unavailable_shards` が有効な場合に、通知なしでスキップできる利用不能な分片の数を制限するため、`max_skip_unavailable_shards_num` および `max_skip_unavailable_shards_ratio` 設定が追加されました。利用不能な分片の数または比率が設定したしきい値を超えた場合、不完全な結果をそのまま返す代わりに例外が発生します。[#99369](https://github.com/ClickHouse/ClickHouse/pull/99369) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ユーザーはサブクエリ式で `SOME` キーワードを使えるようになりました。動作は `ANY` と同一です。[#99842](https://github.com/ClickHouse/ClickHouse/pull/99842) ([Artem Kytkin](https://github.com/Vinceent)).
* テキスト出力フォーマットで `FixedString` 値の末尾にあるヌルバイトを取り除くための `output_format_trim_fixed_string` 設定を追加しました。[#97558](https://github.com/ClickHouse/ClickHouse/pull/97558) ([NeedmeFordev](https://github.com/spider-yamet)).
* FROM句で、括弧で囲まれたテーブルJOIN式 (例: `SELECT * FROM (t1 CROSS JOIN t2)`) をサポートしました。[#97650](https://github.com/ClickHouse/ClickHouse/pull/97650) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 関数 `toDaysInMonth` を実装しました。指定した日付が属する月の日数を返します。[#99227](https://github.com/ClickHouse/ClickHouse/pull/99227) ([Vitaly Baranov](https://github.com/vitlibar)) 。

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* WebAssembly ベースのユーザー定義関数 (UDFs) の実験的サポートを追加し、カスタム関数ロジックを WebAssembly で実装して ClickHouse 内で実行できるようになりました。Wasmtime バックエンドサポートへの貢献に対し、[Alexey Smirnov](https://github.com/lioshik) に特別な謝意を表します。[#88747](https://github.com/ClickHouse/ClickHouse/pull/88747) ([Vladimir Cherkasov](https://github.com/vdimir))。あわせて、WASM UDF サポートも段階的に改善されました。[#99373](https://github.com/ClickHouse/ClickHouse/pull/99373) ([Vasily Chekalkin](https://github.com/bacek))。
* `polyglot` ライブラリを使用した外部 SQL ダイアレクト のサポートを追加しました。[#99496](https://github.com/ClickHouse/ClickHouse/pull/99496) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* `ALP` 浮動小数点圧縮コーデックを追加しました (圧縮できない double に対する ALP\_rd fallback はありません) 。[#91362](https://github.com/ClickHouse/ClickHouse/pull/91362) ([Nazarii Piontko](https://github.com/nazarii-piontko))。
* `JSON` カラム向けの実験的な lazy 型ヒントを追加しました。`allow_experimental_json_lazy_type_hints` で有効にすると、型ヒントの追加または変更のみを行う `ALTER TABLE ... MODIFY COLUMN json JSON(path TypeName)` は、過去のデータを書き換えることなく、メタデータのみの操作として即座に完了します。型ヒントは古いパーツにはクエリ時に適用され、INSERT 時およびバックグラウンドマージ中に実体化されます。[#97412](https://github.com/ClickHouse/ClickHouse/pull/97412) ([tanner-bruce](https://github.com/tanner-bruce))。
* YTsaurus テーブルエンジンからの並列読み取りを有効化しました。[#97343](https://github.com/ClickHouse/ClickHouse/pull/97343) ([MikhailBurdukov](https://github.com/MikhailBurdukov))。

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* データレイクのパフォーマンスを改善しました。以前のバージョンでは、オブジェクトストレージからの読み取り時に、処理スレッド数に応じてパイプラインのサイズが調整されていませんでした。これにより、マルチコアマシンで大幅な性能向上 (約40倍) が得られます。[#99548](https://github.com/ClickHouse/ClickHouse/pull/99548) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 現在、`enable_parallel_replicas` と `automatic_parallel_replicas_mode` の関係は次のとおりです。クエリで並列レプリカを使用できるのは、`enable_parallel_replicas > 0` の場合に限られます。さらに、`automatic_parallel_replicas_mode=1` の場合、並列レプリカを使用するかどうかは、あらかじめ収集された統計情報に基づいてプランニング時に決定されます。`automatic_parallel_replicas_mode=0` の場合は、統計情報に関係なく、サポートされているすべてのクエリで並列レプリカが使用されます。特筆すべき例外として、並列レプリカを使う分散 insert-select があります。この場合、クエリは常に `automatic_parallel_replicas_mode=0` であるかのように実行されます。[#97517](https://github.com/ClickHouse/ClickHouse/pull/97517) ([Nikita Taranov](https://github.com/nickitat)).
* 述語に任意の比較演算子 (`=`, `<`, `>`, `!=`) が含まれ、かつパーティションキーが決定論的な関数チェーンで包まれている場合に、パーティションプルーニングを行えるようにしました (たとえば、`PARTITION BY x` で `cityHash64(x) % 5 > 2`、`toYYYYMM(x) < 2026`、`toYYYYMM(x) = 2026`、`toYYYYMM(x) != 2026` のような述語はいずれも、プルーニングにパーティションキーを使用します) 。[#28800](https://github.com/ClickHouse/ClickHouse/issues/28800) をクローズしました。[#98432](https://github.com/ClickHouse/ClickHouse/pull/98432) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* `CAST` の変換先の型が `Nullable` で、かつ変換が単調である場合に、read-in-order 最適化と主キーのプルーニングを利用できるようになりました。たとえば、`PRIMARY KEY x` の場合、ClickHouse は `ORDER BY x::Nullable(UInt64)` に対して read-in-order 最適化を使用でき、`WHERE x::Nullable(UInt64) > 500000` のような条件に対して主キーのプルーニングを適用できます。[#98482](https://github.com/ClickHouse/ClickHouse/pull/98482) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 整数型カラムが浮動小数点リテラルと比較される場合に、索引のプルーニングとフィルタのプッシュダウンが可能になりました。たとえば、`WHERE x < 10.5` のような条件では主キーを使ったプルーニングが可能になり、`prime < 1e9` や `number < 1e5` のようなフィルタも、無制限に実行される代わりに、`primes()` および `numbers()` テーブル関数にプッシュダウンされるようになりました。[#85167](https://github.com/ClickHouse/ClickHouse/issues/85167) をクローズしました。 [#98516](https://github.com/ClickHouse/ClickHouse/pull/98516) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* メタデータの読み取りだけのためにファイルを再ダウンロードする必要をなくし、読み取り性能を向上させるため、Parquet メタデータ用の新しい SLRU cache が追加されました。[#98140](https://github.com/ClickHouse/ClickHouse/pull/98140) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* オプティマイザの統計情報に基づき、ANTI、SEMI、FULL JOIN の左右を入れ替えられるようになりました。[#97498](https://github.com/ClickHouse/ClickHouse/pull/97498) ([Hechem Selmi](https://github.com/m-selmi)) 。
* 大きな Polygon に対する `pointInPolygon` の granule スキップを最適化し、主キーのプルーニング中に `pointInPolygon` の索引解析で例外が発生する問題を修正しました。[#91633](https://github.com/ClickHouse/ClickHouse/pull/91633) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* `levenshteinDistance` 関数の性能を改善。 [#94543](https://github.com/ClickHouse/ClickHouse/pull/94543) ([Joanna Hulboj](https://github.com/jh0x)).
* 要素ごとの関数呼び出しを避けることで、バッチの Decimal 型変換を最適化しました。 [#95923](https://github.com/ClickHouse/ClickHouse/pull/95923) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Icebergテーブルで、`iceberg_metadata_async_prefetch_period_ms` テーブル設定による非同期のメタデータプリフェッチがサポートされ、メタデータキャッシュを定期的に事前拡充できるようになりました。さらに、`iceberg_metadata_staleness_ms` クエリ設定により、指定した古さのしきい値より新しい場合は、SELECTクエリでキャッシュ済みのメタデータを使用できるため、リクエスト処理中に Iceberg カタログを呼び出す必要がなくなります。[#96191](https://github.com/ClickHouse/ClickHouse/pull/96191) ([Arsen Muk](https://github.com/arsenmuk)).
* `S3Queue` の ordered mode では、プレフィックス全体の履歴を再度一覧取得するのを避けるために S3 ListObjectsV2 StartAfter を使用し、ListObjects の呼び出し回数を削減します。 [#96370](https://github.com/ClickHouse/ClickHouse/pull/96370) ([Venkata  Vineel ](https://github.com/vyalamar)).
* insert の deduplication におけるメモリ使用量を削減。通常、deduplication には元の block が必要ですが、同期 insert ではこれを省略できるため、メモリを大幅に節約できます。 [#96661](https://github.com/ClickHouse/ClickHouse/pull/96661) ([Sema Checherinda](https://github.com/CheSema)).
* ハードコードされた 64 ではなく、cache line size にはアーキテクチャ固有の値を使用するようにしました。[#97357](https://github.com/ClickHouse/ClickHouse/pull/97357) ([Nikita Taranov](https://github.com/nickitat)).
* テキスト索引のDictionaryからの読み取りをわずかに最適化し、テキスト索引解析全体のパフォーマンスを改善しました。 [#97519](https://github.com/ClickHouse/ClickHouse/pull/97519) ([Anton Popov](https://github.com/CurtizJ)).
* ARM での 16 バイトブロックの `LZ4` 解凍を高速化しました。[#97774](https://github.com/ClickHouse/ClickHouse/pull/97774) ([Raúl Marín](https://github.com/Algunenano)) 。
* SIMD と状態保持型トークナイザーをサポートするため、従来のイテレータースタイルの API を新しい高性能なインターフェイスに置き換え、トークン化処理をリファクタリングしました。[#90268](https://github.com/ClickHouse/ClickHouse/issues/90268) の一部です。[#97871](https://github.com/ClickHouse/ClickHouse/pull/97871) ([Amos Bird](https://github.com/amosbird))。
* 索引付きカラムと非索引カラムの両方を含む複合条件を持つクエリにおける、テキスト索引の索引解析のパフォーマンスを改善しました。従来、このようなケースでは、索引解析中の早期終了最適化が誤って無効になっていました。[#98096](https://github.com/ClickHouse/ClickHouse/pull/98096) ([Anton Popov](https://github.com/CurtizJ)).
* 非常に長い Array や map を生成する定数式を含むクエリのパフォーマンスを改善しました。 [#98287](https://github.com/ClickHouse/ClickHouse/pull/98287) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 整数定数との比較時における `DateTime64` 主キーのキー条件解析を修正し、これまでグラニュールのプルーニングが行われなかった問題を解消しました。[#98410](https://github.com/ClickHouse/ClickHouse/pull/98410) ([Amos Bird](https://github.com/amosbird)).
* 設定 `optimize_syntax_fuse_functions` はデフォルトで有効になっています。[#98424](https://github.com/ClickHouse/ClickHouse/pull/98424) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 集約状態を介した行ごとのストアフォワーディングではなくローカルアキュムレータを使用するように `avgWeighted` aggregate function を最適化し、Nullable 入力で最大 27% の性能向上を実現しました。 [#98793](https://github.com/ClickHouse/ClickHouse/pull/98793) ([Antonio Andelic](https://github.com/antonio2368)) 。
* 特定の状況における並列ウィンドウ関数や、大きな配列を扱う`arrayFold`ワークロードで、性能を向上させ、メモリ使用量を削減します。これにより、影響を受けるクエリにおけるページフォールトの負荷が軽減され、厳しいメモリ制限下での安定性も向上する場合があります。[#98892](https://github.com/ClickHouse/ClickHouse/pull/98892) ([filimonov](https://github.com/filimonov)) 。
* ソート済みのマージ処理のパフォーマンスを改善しました。[#99013](https://github.com/ClickHouse/ClickHouse/pull/99013) ([Artem Zuikov](https://github.com/4ertus2)) 。
* `INTERSECT ALL` と `EXCEPT ALL` を最適化。[#99097](https://github.com/ClickHouse/ClickHouse/pull/99097) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 逆順読み取りでの `read_in_order_use_virtual_row` 最適化をサポートしました。[#99198](https://github.com/ClickHouse/ClickHouse/pull/99198) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* 書き込み前に JoinUsedFlags が設定されているかどうかを確認することで、`RIGHT` および `FULL` JOIN における cache の競合を低減しました。 [#99274](https://github.com/ClickHouse/ClickHouse/pull/99274) ([Hechem Selmi](https://github.com/m-selmi)).
* 浮動小数点演算を純粋な整数演算に置き換えることで `PrefetchingHelper::calcPrefetchLookAhead` を最適化し、命令 cache のレイアウトを改善するとともに、集計ループ中のサイクルオーバーヘッドを削減しました。[#99327](https://github.com/ClickHouse/ClickHouse/pull/99327) ([Riyane El Qoqui](https://github.com/riyaneel)).
* ノードの子の保存に使用する `absl::flat_hash_set` を `CompactChildrenSet` に置き換えることで、Keeper のメモリ消費量を削減しました。新しいコンテナーは、ヒープ割り当てなしで 0～1 個の子をインラインに格納でき、Keeper ノードの大半をこれでカバーできます。これにより、`KeeperMemNode` のサイズは 144 バイトから 128 バイトに削減されます。 [#99860](https://github.com/ClickHouse/ClickHouse/pull/99860) ([Antonio Andelic](https://github.com/antonio2368)).
* 集約プロジェクションがビューでも正しくサポートされるようになりました。[#32753](https://github.com/ClickHouse/ClickHouse/issues/32753) を修正しました。[#88798](https://github.com/ClickHouse/ClickHouse/pull/88798) ([Amos Bird](https://github.com/amosbird)) 。
* `join_use_nulls` による OUTER から INNER への join 変換の最適化をサポートしました。[#90978](https://github.com/ClickHouse/ClickHouse/issues/90978) をクローズしました。[#95968](https://github.com/ClickHouse/ClickHouse/pull/95968) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* 読み取り前にサイズを正しく計算することで、サブカラムの読み取りを改善しました。これにより、メモリ使用量が削減され、サブカラムの読み取りが高速化されます。[#96251](https://github.com/ClickHouse/ClickHouse/pull/96251) ([Pavel Kruglov](https://github.com/Avogar)).
* 短命な割り当て、つまりクエリやリクエスト向けの割り当てと、cache 向けのより長寿命な割り当てが混在した際のメモリ断片化を防ぐため、mark cache、非圧縮 cache、ページキャッシュがそれぞれ別個の jemalloc アリーナを使用するようにしました。[#96812](https://github.com/ClickHouse/ClickHouse/pull/96812) ([Seva Potapov](https://github.com/seva-potapov)). [#98812](https://github.com/ClickHouse/ClickHouse/pull/98812). [#99021](https://github.com/ClickHouse/ClickHouse/pull/99021)
* `DELETE TTL` ルールが設定されたテーブルで、Vertical merge アルゴリズムを使用できるようになりました。[#97332](https://github.com/ClickHouse/ClickHouse/pull/97332) ([murphy-4o](https://github.com/murphy-4o)) 。
* 分散索引解析時にデータスキッピングインデックスを適用します。 [#97767](https://github.com/ClickHouse/ClickHouse/pull/97767) ([Azat Khuzhin](https://github.com/azat)).
* セカンダリ索引のマークは、`prewarm_mark_cache` 設定が有効な場合にプリウォームされるようになりました (data part のフェッチ時およびテーブル起動時に、index mark cache に読み込まれます) 。[#97772](https://github.com/ClickHouse/ClickHouse/pull/97772) ([Anton Popov](https://github.com/CurtizJ)).
* アクセス制御におけるロックを削減しました。 [#97894](https://github.com/ClickHouse/ClickHouse/pull/97894) ([Nikita Taranov](https://github.com/nickitat)).
* apply\_row\_policy\_after\_final または apply\_prewhere\_after\_final が有効な場合、行ポリシーおよび PREWHERE の複合 AND 条件が分解され、主キーの索引解析のためにソートキーの各要素を抽出できるようになりました。以前は、遅延されたフィルタにソートキーに関する条件とソートキーに関係しない条件が混在している場合 (たとえば x > 1 AND y != 'foo') 、式全体が索引解析の対象外となっていました。現在は、ネストした AND 式であっても、ソートキーの条件 (x > 1 など) を抽出して Granule pruning に利用できるようになりました。[#98513](https://github.com/ClickHouse/ClickHouse/pull/98513) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* ロックを取得せずにタスクのリソースを解放できるようにし、MergeTreeBackgroundExecutor におけるロック競合を軽減しました。[#93620](https://github.com/ClickHouse/ClickHouse/issues/93620) をクローズ。[#98604](https://github.com/ClickHouse/ClickHouse/pull/98604) ([Dmitry Novik](https://github.com/novikd)).
* ArrowStream リーダーが先頭のバイト列を非常に大きなメタデータ長と誤認していたことにより、Arrow 以外のデータ (例: フォーマットを明示せずに `url` または `file` から読み込む JSON) の読み込み時に、フォーマット自動検出で過剰なメモリ (約 514 MiB) を消費していた問題を修正しました。[#98893](https://github.com/ClickHouse/ClickHouse/pull/98893) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。

<div id="267-improvement">
  #### 改善
</div>

* 同じカラム内に異なるGeo型が含まれているGeoParquetファイルを解析できるようになりました。 [#97851](https://github.com/ClickHouse/ClickHouse/pull/97851) ([Mark Needham](https://github.com/mneedham)).
* ワイルドカードの意味を考慮しつつ LIKE パターンをトークン化する `tokensForLikePattern` SQL 関数を導入しました。`%` と `_` はワイルドカードとして扱い、エスケープされたワイルドカード (`\%`、`\_`) はリテラルとして扱い、エスケープされていないワイルドカードに隣接する token は破棄します。[#97872](https://github.com/ClickHouse/ClickHouse/pull/97872) ([Amos Bird](https://github.com/amosbird)).
* S3 テーブルエンジンに `{_schema_hash}` プレースホルダーを追加し、table のカラム定義のハッシュを S3 の path に挿入できるようにしました。 [#98265](https://github.com/ClickHouse/ClickHouse/pull/98265) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `SymbolIndex`、`addressToSymbol`、`system.symbols`、および `buildId` は、Mach-O のシンボルテーブルをパースすることで、macOS でも利用できるようになりました。[#99014](https://github.com/ClickHouse/ClickHouse/pull/99014) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `system.stack_trace` テーブルが macOS でも利用可能になり、サーバーのすべてのスレッドのスタックトレースを調査できるようになりました。[#98982](https://github.com/ClickHouse/ClickHouse/pull/98982) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* LDAP クライアントがリファラルをたどるかどうかを制御する、サーバーごとの LDAP 設定オプション `<follow_referrals>` (デフォルトは `false`) を追加しました。リファラル追跡を無効にすると、Active Directory のドメインルートのベース DN から検索する際に発生するタイムアウトやハングを回避できます。リファラル関連のログメッセージは `warn` から `trace` に変更されました。[#96765](https://github.com/ClickHouse/ClickHouse/pull/96765) ([paf91](https://github.com/paf91)).
* クエリ実行時に使用されたデータスキッピングインデックスを、query\_log テーブルの `skip_indices` という新しいカラムで追跡するようになりました。[#78676](https://github.com/ClickHouse/ClickHouse/issues/78676) を修正しました。元の著者は @pheepa です。[#87862](https://github.com/ClickHouse/ClickHouse/pull/87862) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* ACCESS\_DENIED のヒントでは、ユーザーに必要なすべてのカラムを表示する権限がある場合を除き、カラム名は表示されなくなりました。データベース名とテーブル名は引き続きヒントに表示されます。 [#91067](https://github.com/ClickHouse/ClickHouse/pull/91067) ([filimonov](https://github.com/filimonov)).
* マージ負荷が高い場合のクリーンアップ遅延を防ぐため、MergeTree に専用のクリーンアップスレッドを追加しました。これにより [#86181](https://github.com/ClickHouse/ClickHouse/issues/86181) が解決されます。[#91574](https://github.com/ClickHouse/ClickHouse/pull/91574) ([Amos Bird](https://github.com/amosbird)) 。
* いずれかのホストのIPではなく、ローカルサーバーのホスト名に対応するIPが変更された場合にクラスター設定を再読み込みするようにしました。これにより、[#81215](https://github.com/ClickHouse/ClickHouse/issues/81215)、[#70156](https://github.com/ClickHouse/ClickHouse/issues/70156)、および[#65268](https://github.com/ClickHouse/ClickHouse/issues/65268)を修正します。[#93726](https://github.com/ClickHouse/ClickHouse/pull/93726) ([Zhigao Hong](https://github.com/zghong)) 。
* optimize\_aggregators\_of\_group\_by\_keys により、GROUPING SETS クエリ内の集約関数を正しく最適化できるようになりました。[#93935](https://github.com/ClickHouse/ClickHouse/pull/93935) ([Xiaozhe Yu](https://github.com/wudidapaopao)) 。
* Keeper-bench: メトリクスでエラーを報告し、--input-request-log モード用の JSON メトリクスファイルを生成します。[#95748](https://github.com/ClickHouse/ClickHouse/pull/95748) ([Mohammad Lareb Zafar](https://github.com/zlareb1)).
* CREATE USER に新しい ROLE 句を追加しました。[#97074](https://github.com/ClickHouse/ClickHouse/pull/97074) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* Replicated database で作成されたクラスターに対して、internal\_replication 設定を行えるようになりました。[#97228](https://github.com/ClickHouse/ClickHouse/pull/97228) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)) 。
* 新しい設定 `allow_nullable_tuple_in_extracted_subcolumns` は、`Tuple`、`Variant`、`Dynamic`、`JSON` から抽出された `Tuple(...)` サブカラムを `Nullable(Tuple(...))` (欠落した行では `NULL`) として返すか、`Tuple(...)` (欠落した行ではデフォルトのタプル値) として返すかを制御します。デフォルトでは無効で、この設定を変更するにはサーバーの再起動が必要です。 [#97299](https://github.com/ClickHouse/ClickHouse/pull/97299) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 遅延フィルターに関する情報を、EXPLAINクエリの出力に別項目として追加 (Row Policies/PREWHERE とともに FINAL を使用する場合) 。関連: [#91065](https://github.com/ClickHouse/ClickHouse/pull/91065)。[#97374](https://github.com/ClickHouse/ClickHouse/pull/97374) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* `type_json_allow_duplicated_key_with_literal_and_nested_object` をデフォルトで有効にしました。これにより、元の JSON データ `{"a" : 42, "a.b" : 42}` を ClickHouse が `{"a" : 42, "a" : {"b" : 42}}` のような JSON に整形する場合でも、その JSON のパース時に重複キーに関するエラーを回避できます。[#97423](https://github.com/ClickHouse/ClickHouse/pull/97423) ([Pavel Kruglov](https://github.com/Avogar)).
* Keeper の改善: `find_super_nodes` は、Keeper でノード数が想定外に増加した際のデバッグに非常に役立つコマンドです。残念ながら、スーパーノードが複数ある場合、最初に見つかったスーパーノードの子ノードをたどるところでコマンドが無限に停止してしまうため、2 つ目以降を見つけるのはほぼ不可能でした。この PR では、スーパーノードの子ノードをたどれないようにしました。[#97819](https://github.com/ClickHouse/ClickHouse/pull/97819) ([pufit](https://github.com/pufit)).
* `clickhouse-keeper-client` の補完機能のサポートを開始。 [#97828](https://github.com/ClickHouse/ClickHouse/pull/97828) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* クラッシュ時に、非同期ログバッファをフラッシュするようにしました。 [#97836](https://github.com/ClickHouse/ClickHouse/pull/97836) ([Azat Khuzhin](https://github.com/azat)).
* `impersonate` 機能がデフォルトで有効になりました ([EXECUTE AS target\_user](https://clickhouse.com/docs/sql-reference/statements/execute_as)を参照) 。[#97870](https://github.com/ClickHouse/ClickHouse/pull/97870) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* SQLite table engine におけるクエリのキャンセルについて、KILL QUERY および clickhouse-client でのクエリキャンセル (Ctrl+C) を改善しました。[#97944](https://github.com/ClickHouse/ClickHouse/pull/97944) ([Roman Vasin](https://github.com/rvasin)).
* サーバー設定 `jemalloc_profiler_sampling_rate` を追加し、jemalloc の `lg_prof_sample` を制御できるようにするとともに、非同期メトリクス `jemalloc.prof.lg_sample` として公開しました。[#97945](https://github.com/ClickHouse/ClickHouse/pull/97945) ([Antonio Andelic](https://github.com/antonio2368)).
* 同時実行の有界キュー実装で、重みのサポートを追加しました。[#97962](https://github.com/ClickHouse/ClickHouse/pull/97962) ([Daniil Ivanik](https://github.com/divanik)).
* PostgreSQL の Dictionary ソースで、許可されるキーに `sslmode` を追加しました。これまで `sslmode` は PostgreSQLDictionarySource.cpp の `dictionary&#95;allowed&#95;keys` 許可リストに含まれていなかったため、PostgreSQL の Dictionary 接続で SSL モードを設定できませんでした。その結果、SSL を必須とする PostgreSQL サーバー (たとえば、デフォルトで SSL を強制する AWS RDS) に Dictionary から接続できず、接続時の TLS ネゴシエーションが失敗し、サーバーは暗号化されていないフォールバック接続を拒否していました。[#98014](https://github.com/ClickHouse/ClickHouse/pull/98014) ([mcalfin](https://github.com/mcalfin)).
* 紛らわしい一般的なメッセージではなく、存在しないファイルパスを `clickhouse` または `clickhouse-local` に渡したときに、明確な「そのようなファイルはありません」エラーを表示するようにしました。[#98048](https://github.com/ClickHouse/ClickHouse/pull/98048) ([Raúl Marín](https://github.com/Algunenano)).
* テキスト索引を `Nullable([Fixed]String)` および `Array(Nullable([Fixed]String))` カラムに対して構築できるようになりました。[#98118](https://github.com/ClickHouse/ClickHouse/pull/98118) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Dictionary ソースの依存先である named collections が削除されないようにしました。[#98127](https://github.com/ClickHouse/ClickHouse/pull/98127) ([Pablo Marcos](https://github.com/pamarcos)) 。
* totals を伴うクエリで `grace_hash` join アルゴリズムを有効にしました。[#98144](https://github.com/ClickHouse/ClickHouse/pull/98144) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* 通常の shared merge tree における DROP DATABASE で、バックグラウンドマージを早い段階でキャンセルするようにしました。 [#98161](https://github.com/ClickHouse/ClickHouse/pull/98161) ([Shaohua Wang](https://github.com/tiandiwonder)).
* MongoDB と MySQL のクエリのキャンセルが、clickhouse-client での KILL QUERY とクエリのキャンセル (Ctrl+C) によって改善されました。[#98187](https://github.com/ClickHouse/ClickHouse/pull/98187) ([Roman Vasin](https://github.com/rvasin)) 。
* NetlinkMetricsProvider を削除し、スレッドごとの taskstats メトリクス収集には procfs のみを使用するようにしました。Netlink ベースの収集はコンテナー化環境では問題があり、競合時のテールレイテンシも悪化します。[#98229](https://github.com/ClickHouse/ClickHouse/pull/98229) ([Amos Bird](https://github.com/amosbird)).
* マニフェストファイルのキャッシュに関する問題を修正するため、Iceberg マニフェストファイルの処理をリファクタリングしました。 [#98231](https://github.com/ClickHouse/ClickHouse/pull/98231) ([Daniil Ivanik](https://github.com/divanik)) 。
* これにより、テーブルのソートキーが `toDate(time)` のような式である場合も考慮されるようになり、そのような式がフィルタの一部であれば、評価を遅延させないように判断できるようになりました。 [#98237](https://github.com/ClickHouse/ClickHouse/pull/98237) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* ZooKeeper の ephemeral lock znode に割り当てられた sequential 番号の最大値を示す、新しい `MaxAllocatedEphemeralLockSequentialNumber` メトリクスを追加しました。[#98243](https://github.com/ClickHouse/ClickHouse/pull/98243) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* ClickStackをバージョン 2.20.0 に更新。 [#98252](https://github.com/ClickHouse/ClickHouse/pull/98252) ([Aaron Knudtson](https://github.com/knudtty)).
* マルチリクエスト内の各サブリクエストを個別にカウントする新しいプロファイルイベント `KeeperRequestTotalWithSubrequests` が追加され、実際の Keeper ワークロードの可視性が向上しました。既存の `KeeperRequestTotal` イベントは、引き続き各マルチリクエストを1件のリクエストとしてカウントします。[#98348](https://github.com/ClickHouse/ClickHouse/pull/98348) ([Antonio Andelic](https://github.com/antonio2368)) 。
* `SYSTEM RELOAD DICTIONARIES` は、ほかのディクショナリをソースとするディクショナリが、再読み込み後に最新のデータを参照できるよう、ディクショナリをトポロジカル順序で再読み込みするようになりました。 [#98356](https://github.com/ClickHouse/ClickHouse/pull/98356) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* MergeTree setting の変更後に、統計 cache を再起動するようにしました。[#98520](https://github.com/ClickHouse/ClickHouse/pull/98520) ([Han Fei](https://github.com/hanfei1991)) 。
* 接続可能な"alive"レプリカのみが分散索引解析に参加します。 [#98521](https://github.com/ClickHouse/ClickHouse/pull/98521) ([Azat Khuzhin](https://github.com/azat)) 。
* SQL で定義されたユーザーに対して、config で定義された設定プロファイル (`default` プロファイルを除く) の使用を禁止する設定 `access_control_improvements.disallow_config_defined_profiles_for_sql_defined_users` を追加しました (デフォルトでは無効) 。 [#98662](https://github.com/ClickHouse/ClickHouse/pull/98662) ([Alexander Tokmakov](https://github.com/tavplubix)).
* 自動並列レプリカのヒューリスティックで使用するノード数の上限を、`max_parallel_replicas` 設定だけでなく、クラスター内の実際のノード数にも合わせるようにしました。 [#98668](https://github.com/ClickHouse/ClickHouse/pull/98668) ([Nikita Taranov](https://github.com/nickitat)).
* 分散索引解析向けに、ヘッジリクエストと非同期読み取りを実装。 [#98724](https://github.com/ClickHouse/ClickHouse/pull/98724) ([Azat Khuzhin](https://github.com/azat)).
* バイナリの`AggregateFunction`状態のデシリアライゼーションでは、入力全体を最後まで消費することが必要になりました。余分な不要バイトが末尾に存在する場合、ClickHouse は不正な状態データを受け入れるのではなく、例外をスローするようになりました。[#98786](https://github.com/ClickHouse/ClickHouse/pull/98786) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* TRUNCATE DATABASE がクエリのキャンセルに対応するようになりました。[#98828](https://github.com/ClickHouse/ClickHouse/pull/98828) ([Shaohua Wang](https://github.com/tiandiwonder)) 。
* `keeper-bench` に、リクエストのパイプライン化、ウォームアップ期間、操作ごとの統計、再現性のあるシード、より適切なエラー処理を追加して改善しました。[#98906](https://github.com/ClickHouse/ClickHouse/pull/98906) ([Antonio Andelic](https://github.com/antonio2368)).
* 分散索引解析でのSAMPLE句をサポート。 [#98931](https://github.com/ClickHouse/ClickHouse/pull/98931) ([Azat Khuzhin](https://github.com/azat)).
* クエリが空の結果を返した場合やエラーが発生した場合でも、ダッシュボードにチャートのタイトルを表示するようにしました。 [#98975](https://github.com/ClickHouse/ClickHouse/pull/98975) ([Yash ](https://github.com/Onyx2406)).
* アナライザのエラーメッセージで、テーブルのすべてのカラムを出力しないようになりました (これにより 150KB 超の例外が発生する可能性がありました) 。カラム一覧は現在 10 エントリまでに制限されています。[#99002](https://github.com/ClickHouse/ClickHouse/pull/99002) ([Yash ](https://github.com/Onyx2406)).
* JOIN を含むサブクエリからカラム統計を適切に返すようにし、親クエリがそれを JOIN の並べ替えに利用できるようにしました。 [#99096](https://github.com/ClickHouse/ClickHouse/pull/99096) ([Alexander Gololobov](https://github.com/davenger)).
* 終了処理の開始時に、送信スレッドの終了を待たず、ZooKeeper セッションを即座に期限切れとしてマークするようにしました。これにより、ほかのスレッドは遅滞なく新しいセッションを確立できます。 [#99102](https://github.com/ClickHouse/ClickHouse/pull/99102) ([Raúl Marín](https://github.com/Algunenano)).
* LLVM-libc の数学関数の利用範囲を拡大しました: `exp`, `exp2`, `expm1`, `fabs`, `fabsl`, `floor`, `fmodl`, `log`, `log2`, `logf`, `pow`, `scalbn`, `scalbnl`, `copysignl`, `nan`, `nanf`, `nanl`、および `explogxf` の共有定数。 [#99118](https://github.com/ClickHouse/ClickHouse/pull/99118) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `system.jemalloc_profile_text` の collapsed フォーマットにおけるメモリ使用量を削減し、出力が重複する可能性がある問題を修正しました。 [#99121](https://github.com/ClickHouse/ClickHouse/pull/99121) ([Antonio Andelic](https://github.com/antonio2368)).
* `system.aggregated_zookeeper_log` に `is_subrequest` カラムを追加し、スタンドアロンのリクエストと Multi/MultiRead リクエスト内のサブリクエストを区別できるようにしました。これまでは、サブリクエストはスタンドアロンのリクエストと同じバケットに集計されており、各サブ操作が multi-request 全体の所要時間で記録されていたため、平均レイテンシが実態を反映しないものになっていました。現在、サブリクエストのレイテンシは 0 になります。[#99169](https://github.com/ClickHouse/ClickHouse/pull/99169) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* カラムの型を指定しなくても `ALTER TABLE MODIFY COLUMN x TTL ...` コマンドを実行できるようになりました。[#99208](https://github.com/ClickHouse/ClickHouse/pull/99208) ([Nikolay Degterinsky](https://github.com/evillique)).
* すでに切断されたセッションに対する古い Keeper リクエストをスキップし、不要な Raft のラウンドトリップを回避します。追跡する完了済みセッション数の上限は、協調設定 `max_finished_sessions_cache_size` で定められます。[#99246](https://github.com/ClickHouse/ClickHouse/pull/99246) ([Antonio Andelic](https://github.com/antonio2368)) 。
* `IN` 演算子で、`mapValues(map)` に基づくテキスト索引をサポート。 [#99286](https://github.com/ClickHouse/ClickHouse/pull/99286) ([Anton Popov](https://github.com/CurtizJ)).
* clickhouse keeper-client でシェル風補完をサポート (引用符付き引数、つまり `'foo ba'` の補完や、エスケープされた引数、つまり `foo\ ba` の処理に対応し、空白を含むノードは `ls` で引用符付きで出力するようにしました) 。 [#99312](https://github.com/ClickHouse/ClickHouse/pull/99312) ([Azat Khuzhin](https://github.com/azat)).
* ロック競合により Keeper の `mntr` コマンドがハングするのを防ぐようにしました。[#99472](https://github.com/ClickHouse/ClickHouse/pull/99472) ([Antonio Andelic](https://github.com/antonio2368)) 。
* mutex のスコープ外でコールバックの呼び出しと読み取りリクエストのディスパッチを行うことで、Keeper ディスパッチャのロック競合を低減し、オブザーバビリティ向けにプロファイル対応のロックガードを追加しました。[#99751](https://github.com/ClickHouse/ClickHouse/pull/99751) ([Antonio Andelic](https://github.com/antonio2368)).
* Parquetファイルの最後のblockの末尾でパディングが欠けていても許容する。 [#99857](https://github.com/ClickHouse/ClickHouse/pull/99857) ([Seva Potapov](https://github.com/seva-potapov)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* 完全修飾されていない場合に、Alias table のターゲットが DDL 依存関係として保存される際の扱いを修正しました。これにより、session database ではなく Alias table の database に保存されるようになりました。 [#95175](https://github.com/ClickHouse/ClickHouse/pull/95175) ([Enric Calabuig](https://github.com/eclbg)).
* ALIASカラムのサブカラムの読み取り時に発生する誤った結果や例外を修正しました。[#95408](https://github.com/ClickHouse/ClickHouse/pull/95408) ([Pavel Kruglov](https://github.com/Avogar)) 。
* 旧アナライザで、JOIN に非標準の識別子エイリアスを使用した場合にカラムが見つからない問題を修正。 [#25594](https://github.com/ClickHouse/ClickHouse/issues/25594)、[#47288](https://github.com/ClickHouse/ClickHouse/issues/47288)、および [#53263](https://github.com/ClickHouse/ClickHouse/issues/53263) を修正。 [#95679](https://github.com/ClickHouse/ClickHouse/pull/95679) ([Zhigao Hong](https://github.com/zghong)).
* 空の引数が渡された際に、Kusto dialect の関数 `bin()`, `bin_at()`, `extract()`, `indexof()` で発生するクラッシュを修正しました。[#95736](https://github.com/ClickHouse/ClickHouse/pull/95736) ([NeedmeFordev](https://github.com/spider-yamet)) 。
* clickhouse-client で、local filesystem 上のデータレイクや LocalDisk で使用される可能性がある local\_object\_storage を、user\_files\_path 以外の場所にマウントすることを禁止しました。 [#96201](https://github.com/ClickHouse/ClickHouse/pull/96201) ([Daniil Ivanik](https://github.com/divanik)).
* `DeltaLake` テーブルエンジンで、snapshot version の変更時に発生する論理的なレースコンディションを修正し、冗長で負荷の高い snapshot の再読み込みを削除しました。[#96226](https://github.com/ClickHouse/ClickHouse/pull/96226) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* Detach と Attach の間に複数回のリネームが連鎖的に行われた場合に、MergeTree でパートを Attach する際に発生する論理エラーを修正しました。 [#96351](https://github.com/ClickHouse/ClickHouse/pull/96351) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同一のリクエストで `compatibility` とともに送信された明示的な設定が、その値が server のデフォルト値と一致している場合に、黙って無視されることがあった不具合を修正しました。[#97078](https://github.com/ClickHouse/ClickHouse/pull/97078) ([Raufs Dunamalijevs](https://github.com/rienath)).
* 並列パースを伴う `INSERT` で無効なデータに遭遇した際、実際のパースエラー (正しい行番号付き) ではなく `NETWORK_ERROR` を報告してしまうクライアントの問題を修正しました。 [#97339](https://github.com/ClickHouse/ClickHouse/pull/97339) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Nullable(Tuple)` の導入後、`sumCount` 集約関数が古いシリアライズ済み状態を読み取れなくなっていた問題を修正しました。[#97370](https://github.com/ClickHouse/ClickHouse/issues/97370) をクローズします。[#97502](https://github.com/ClickHouse/ClickHouse/pull/97502) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `Nothing` 型の要素 (例: `NULL` のタプル要素との比較) を含むタプル比較を `GROUPING SETS` および `ORDER BY` と併用した際に発生する例外を修正しました。 [#97509](https://github.com/ClickHouse/ClickHouse/pull/97509) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複数の圧縮コーデック使用時に Compact MergeTree パーツで `uncompressed_hash` が非決定論的に計算される問題を修正しました。これにより、重複排除が誤動作する可能性がありました。 [#97522](https://github.com/ClickHouse/ClickHouse/pull/97522) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* shared data 内で JSON と buckets を使用した INSERT SELECT の際に stream が欠落する論理エラーを修正しました。[#97331](https://github.com/ClickHouse/ClickHouse/issues/97331) をクローズしました。 [#97523](https://github.com/ClickHouse/ClickHouse/pull/97523) ([Pavel Kruglov](https://github.com/Avogar)).
* SummingMergeTree および CoalescingMergeTree のマージ時に、`MEMORY_LIMIT_EXCEEDED` 例外が誤って `CORRUPTED_DATA` として報告される不具合を修正しました。[#97537](https://github.com/ClickHouse/ClickHouse/pull/97537) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* `url()` のようなテーブル関数を含む相関サブクエリで発生する "Context has expired" 例外を修正しました。[#97544](https://github.com/ClickHouse/ClickHouse/pull/97544) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 集約プロジェクション、Date型、およびカラム名の保持に関する `optimize_syntax_fuse_functions` の例外と誤動作を修正しました。[#97545](https://github.com/ClickHouse/ClickHouse/pull/97545) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* regexp が一致しない場合に誤った結果を返していた、`replaceRegexpOne` から `extract` への誤ったクエリの書き換えを削除しました。あわせて、`replaceRegexpOne` を `GROUP BY ... WITH CUBE` および `group_by_use_nulls=1` と併用した場合に発生する例外も修正しました。[#97546](https://github.com/ClickHouse/ClickHouse/pull/97546) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリが強制終了された際に、`database_atomic_wait_for_drop_and_detach_synchronously` を指定した `DROP DATABASE` が無期限にハングする問題を修正しました。[#97586](https://github.com/ClickHouse/ClickHouse/pull/97586) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `KILL QUERY` で、`WITH FILL` の生成処理、`dictGet` による Dictionary の読み込み、または `ReplicatedMergeTree` で `mutations_sync=1` を指定した `ALTER DELETE` で処理が止まったクエリを終了できない問題を修正しました。[#97589](https://github.com/ClickHouse/ClickHouse/pull/97589) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `loop` テーブル関数は `inner_storage->read()` を直接呼び出していたため、行ポリシー、カラムレベルの権限、その他のセキュリティチェックが適用されるインタープリタ層をバイパスしていました。その結果、行ポリシーで制限されているユーザーでも、直接 SELECT を実行すると 0 行しか返らない場合であっても、`loop(table)` 経由ですべての行を読み取ることができていました。[#97682](https://github.com/ClickHouse/ClickHouse/pull/97682) ([pufit](https://github.com/pufit)).
* `toDate()` 関数の使用時に、epoch以前の DateTime64 に対するパーティションプルーニングが正しく行われない問題を修正しました。[#97746](https://github.com/ClickHouse/ClickHouse/pull/97746) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* このパッチ適用後は、data part set 内により大きいパーティション ID を持つ別のパーティションが存在する場合、`hasPartitionId` は false を返すようになります。[#97748](https://github.com/ClickHouse/ClickHouse/pull/97748) ([Mikhail Artemenko](https://github.com/Michicosun)).
* JSON の高度な共有データにおいて、空のグラニュールの読み取り時に発生し得るクラッシュを修正しました。[#97563](https://github.com/ClickHouse/ClickHouse/issues/97563) をクローズします。[#97778](https://github.com/ClickHouse/ClickHouse/pull/97778) ([Pavel Kruglov](https://github.com/Avogar)).
* `DROP` と `INSERT` の競合によって、`Distributed` への `INSERT` 時に発生する `Cannot schedule a file` `LOGICAL_ERROR` を修正しました。[#97822](https://github.com/ClickHouse/ClickHouse/pull/97822) ([Azat Khuzhin](https://github.com/azat)).
* `tokenbf_v1` スキップ索引を使用した `mapContainsKey/mapContainsKeyLike` の呼び出し時に発生する ClickHouse server のクラッシュやアサートを修正しました。[#97826](https://github.com/ClickHouse/ClickHouse/pull/97826) ([Shankar Iyer](https://github.com/shankar-iyer)) 。
* `concatWithSeparator`、`format`、`IN` サブクエリ、`GLOBAL IN`、およびランタイムフィルタを使用する JOIN において、複合型 (`Variant`、`Dynamic`、`Tuple`) 内の `LowCardinality` が原因で発生する `LOGICAL_ERROR` 例外を修正。 [#97831](https://github.com/ClickHouse/ClickHouse/pull/97831) ([Raúl Marín](https://github.com/Algunenano)).
* `GROUP BY` と組み合わせて、複数の分散テーブルに対する `merge()` テーブル関数で `ARRAY JOIN` を使用した際に発生する `LOGICAL_ERROR` 例外 `Chunk info was not set for chunk in MergingAggregatedTransform` を修正しました。[#97838](https://github.com/ClickHouse/ClickHouse/pull/97838) ([Raúl Marín](https://github.com/Algunenano)).
* 高い並行性で接続グループのハード上限に達した際に、HTTP 接続プールのデストラクタ内で未捕捉例外が発生し、サーバーがクラッシュ (`std::terminate`) する問題を修正しました。接続を接続プールに戻す際に、例外 `HTTP_CONNECTION_LIMIT_REACHED` が `~PooledConnection` から外に漏れ、`SIGABRT` を引き起こす可能性がありました。 [#97850](https://github.com/ClickHouse/ClickHouse/pull/97850) ([Antonio Andelic](https://github.com/antonio2368)).
* `grace_hash` アルゴリズムを非等値 JOIN で使用し、JOIN 結果のサイズ制約により左側の block を最後まで処理できない場合に、誤った結果が返される不具合を修正しました。 [#97866](https://github.com/ClickHouse/ClickHouse/pull/97866) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* [#96686](https://github.com/ClickHouse/ClickHouse/pull/96686) で導入された Delta Lake メタデータのスキャンにおけるパフォーマンス上の非効率を修正しました。[#97880](https://github.com/ClickHouse/ClickHouse/pull/97880) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ZooKeeperクライアントの sendThread と receiveThread 間のデータ競合を修正しました。[#97887](https://github.com/ClickHouse/ClickHouse/pull/97887) ([Pablo Marcos](https://github.com/pamarcos)) 。
* distributed insert select で CTE を使用できない不具合を修正しました。[https://github.com/ClickHouse/ClickHouse/pull/87789](https://github.com/ClickHouse/ClickHouse/pull/87789) の続きです。[#95837](https://github.com/ClickHouse/ClickHouse/issues/95837) をクローズしました。[#97889](https://github.com/ClickHouse/ClickHouse/pull/97889) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `CachedOnDiskReadBufferFromFile::readBigAt` で発生する例外を修正しました。[#97325](https://github.com/ClickHouse/ClickHouse/issues/97325) をクローズしました。[#97890](https://github.com/ClickHouse/ClickHouse/pull/97890) ([Kseniia Sumarokova](https://github.com/kssenii)).
* カラムの不一致により、`Alias` エンジンでマテリアライズドカラムを使用した際に発生する `LOGICAL_ERROR` 例外を修正しました。[#97907](https://github.com/ClickHouse/ClickHouse/issues/97907) をクローズしました。[#97921](https://github.com/ClickHouse/ClickHouse/pull/97921) ([Kai Zhu](https://github.com/nauu)).
* ログストレージに `s3_plain` メタデータを使用して Azure Blob Storage を利用する際、再起動後に Keeper のデータが失われる問題を修正しました。[#97987](https://github.com/ClickHouse/ClickHouse/pull/97987) ([Antonio Andelic](https://github.com/antonio2368)).
* `sign` 関数で、`Int8` よりビット幅の大きい整数型に対する JIT の誤コンパイルを修正しました。これにより、-128..127 の範囲外の値で誤った符号を返す可能性がありました。[#98012](https://github.com/ClickHouse/ClickHouse/pull/98012) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 列名にドットを含む struct フィールド (例: ``STRUCT<`a.foo`: STRING, `b.foo`: STRING>``) を持つ Delta Lake テーブルを、カラムマッピング "name" モードで読み取る際に発生していた `DUPLICATE_COLUMN` 例外と、NULL が黙って返される問題を修正しました。 [#98013](https://github.com/ClickHouse/ClickHouse/pull/98013) ([Caio Ishizaka Costa](https://github.com/ch-caioishizaka)).
* 論理更新およびセカンダリ索引の後に実行される mutation の不具合を修正しました。 [#98044](https://github.com/ClickHouse/ClickHouse/pull/98044) ([Raúl Marín](https://github.com/Algunenano)).
* 主キーと非主キーのスキップ索引を混在させた場合に、FINALクエリで誤った結果が返される問題を修正しました。 [#98097](https://github.com/ClickHouse/ClickHouse/pull/98097) ([Raúl Marín](https://github.com/Algunenano)).
* scalar file() および DESCRIBE TABLE file() に対して、READ ON FILE チェックを適用。 [#98115](https://github.com/ClickHouse/ClickHouse/pull/98115) ([Nikolay Degterinsky](https://github.com/evillique)).
* glob パターンを使ってファイルをクエリした際 (例: `file('dir/**', 'LineAsString')`) 、ディレクトリにダングリングシンボリックリンクが含まれていると、未処理のファイルシステム例外 (`STD_EXCEPTION`) が発生してクラッシュしていた問題を修正しました。現在はダングリングシンボリックリンクを黙ってスキップし、有効なすべてのファイルから結果を返すようになりました。[#98143](https://github.com/ClickHouse/ClickHouse/pull/98143) ([Mark Andreev](https://github.com/mrk-andreev)).
* フィルタ式で `arrayJoin` を使用して outer join を inner join に変換する際に、クエリプランの最適化で発生するセグメンテーションフォルトを修正しました。[#98147](https://github.com/ClickHouse/ClickHouse/pull/98147) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* メッセージ間で読み取り状態がリセットされないことにより、`ProtobufList` フォーマットが Kafka エンジンで動作しない問題を修正しました。 [#98151](https://github.com/ClickHouse/ClickHouse/pull/98151) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* analyzer\_compatibility\_join\_using\_top\_level\_identifier および ARRAY JOIN に関する論理エラーを修正し、[#98164](https://github.com/ClickHouse/ClickHouse/issues/98164) をクローズしました。[#98179](https://github.com/ClickHouse/ClickHouse/pull/98179) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* `aggregated_zookeeper_log` で、空のままになっていた watch レスポンス用の `Watch` 部分を設定しました。[#98202](https://github.com/ClickHouse/ClickHouse/pull/98202) ([Antonio Andelic](https://github.com/antonio2368)).
* パーティションキーのキーカラムがソートキーに含まれていない場合、パーティションプルーニングによって、FINAL での重複排除時に本来"勝つ"べき行を含むパーティションが誤ってスキップされる可能性がありました。 [#98242](https://github.com/ClickHouse/ClickHouse/pull/98242) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 定数 Array 引数を指定して `kql_array_sort_asc`/`kql_array_sort_desc` を呼び出した際に発生していた論理エラー "Bad cast from type DB::ColumnConst to DB::ColumnArray" を修正しました。[#98251](https://github.com/ClickHouse/ClickHouse/pull/98251) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `extremes = 1` が有効な場合にクラッシュを引き起こす可能性があった `ColumnConst::getExtremes` の範囲外アクセスを修正しました。 [#98263](https://github.com/ClickHouse/ClickHouse/pull/98263) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同じ一対のテーブル間で逆方向に実行される 2 つの同時実行 `MOVE PARTITION` 操作で発生する可能性があるデッドロックを修正しました。 [#98264](https://github.com/ClickHouse/ClickHouse/pull/98264) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* HTTPサーバーは、不正なヘッダーが原因で発生する 400 Bad Request レスポンスに対して、空のボディではなくレスポンスボディにエラーメッセージを返すようになりました。[#98268](https://github.com/ClickHouse/ClickHouse/pull/98268) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 分散索引解析 (実験的機能) およびクエリ条件キャッシュで誤った結果が返される問題を修正しました。[#98269](https://github.com/ClickHouse/ClickHouse/pull/98269) ([Azat Khuzhin](https://github.com/azat)).
* 65535 の境界をまたぐデータを含むキーカラムに対する `toDate` 変換で発生していた LOGICAL\_ERROR 例外 "Invalid binary search result in `MergeTreeSetIndex`" を修正しました。[#98276](https://github.com/ClickHouse/ClickHouse/pull/98276) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `query_plan_join_swap_table` 最適化により、CROSS JOIN で囲まれた RIGHT JOIN がレガシー join step のコードパスで入れ替えられた際に発生する `LOGICAL_ERROR` 例外を修正しました。[#98279](https://github.com/ClickHouse/ClickHouse/pull/98279) ([Alexey Milovidov](https://github.com/alexey-milovidov))。
* 破損した`quantilesDD`集約関数の状態の読み取り時に、セグメンテーション違反、例外、無限ループ、OOMを防ぐため、`DDSketch`のデシリアライズ時に破損データを検証するようにしました。 [#98284](https://github.com/ClickHouse/ClickHouse/pull/98284) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 外側のクエリの相関カラムが `arrayMap` などのラムダ関数内で参照された際に発生する LOGICAL\_ERROR "Trying to execute PLACEHOLDER action" を修正しました。 [#98285](https://github.com/ClickHouse/ClickHouse/pull/98285) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CASE` 式に `materialize(NULL)` またはその他の `Nullable(Nothing)` 型の引数が含まれる場合に、`caseWithExpression` で発生していた論理エラー例外を修正しました。[#98290](https://github.com/ClickHouse/ClickHouse/pull/98290) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `merge` テーブル関数で `_table` 仮想カラムをフィルタリングする際に発生する bad cast 例外を修正しました。[#98291](https://github.com/ClickHouse/ClickHouse/pull/98291) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `blocks/` と `deduplication_hashes/` の ZooKeeper ディレクトリ間でクリーンアップ順序に不整合があったため、再挿入が誤って重複排除されてしまう散発的な重複排除の不具合を修正しました。 [#98293](https://github.com/ClickHouse/ClickHouse/pull/98293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ORDER BY ... WITH FILL` を `LIMIT BY` と併用した場合に発生する例外を修正しました。[#98361](https://github.com/ClickHouse/ClickHouse/pull/98361) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* Parquet/Arrow の `Date` カラムを `Enum` カラムに挿入した際に発生していた、検知しにくいデータ破損を修正しました。これにより、不正な enum 値を保存する代わりに、互換性のない型変換を適切に拒否するようになりました。[#98364](https://github.com/ClickHouse/ClickHouse/pull/98364) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Array` カラムを含む Arrow ファイルを、`Nested` カラムを持つテーブルに読み込む際に発生する例外を修正しました。[#98365](https://github.com/ClickHouse/ClickHouse/pull/98365) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 索引またはプロジェクションがミューテーションの完了前に削除された場合に、`MATERIALIZE INDEX` および `MATERIALIZE PROJECTION` のミューテーションが停止したままになる問題を修正しました。[#98369](https://github.com/ClickHouse/ClickHouse/pull/98369) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Tuple 要素名が Nullable の `null` サブカラムと衝突する場合に、`Nullable(Tuple(...))` の読み取り時に発生する例外を修正しました。[#98372](https://github.com/ClickHouse/ClickHouse/pull/98372) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Merge` テーブル (`Distributed` テーブルをラップしたもの) を別のテーブルと結合する際に発生する例外 "Column ... query tree node does not have valid source node" を修正しました。[#98376](https://github.com/ClickHouse/ClickHouse/pull/98376) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 文字列表現ではなく生のバイト列を生成していた、native V3 リーダーでの Parquet `Bool` から `FixedString` への誤った変換を修正しました。[#98378](https://github.com/ClickHouse/ClickHouse/pull/98378) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `tryGetColumnDescription` を修正し、他のカラムのルックアップメソッドとの整合性が取れるよう、親カラムの種類に基づいてサブカラムを絞り込むようにしました。[#98391](https://github.com/ClickHouse/ClickHouse/pull/98391) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* HTTP Basic認証で、パディングなしのBase64認証情報を受け入れるようにしました。一部のHTTPクライアントは `Authorization: Basic` ヘッダーの末尾の `=` パディングを省略するため、これまでは認証に失敗していました。[#98392](https://github.com/ClickHouse/ClickHouse/pull/98392) ([Amos Bird](https://github.com/amosbird)).
* 誤った min-max 索引の境界値が原因で、`Nullable` なパーティションキーカラムを含むパーツのマージ後にパーティションプルーニング結果が誤る問題を修正しました。[#98405](https://github.com/ClickHouse/ClickHouse/pull/98405) ([Amos Bird](https://github.com/amosbird)).
* パイプラインエグゼキュータでまれに発生する例外を修正しました。この例外は、パイプラインの拡張とクエリのキャンセルが競合した際に、`Received signal 6` として現れることがありました (デバッグビルド時のみ) 。[#98428](https://github.com/ClickHouse/ClickHouse/pull/98428) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `count_distinct_optimization` を `QUALIFY` 句とともに使用した際に発生する例外 "Column identifier is already registered" を修正しました。 [#98433](https://github.com/ClickHouse/ClickHouse/pull/98433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `IN`/`NOT IN` で `LowCardinality` カラム引数を使用した際に発生する例外 "cannot be inside Nullable type" を修正しました (例: `a` が `LowCardinality(String)` の場合の `a NOT IN (b)`) 。[#98443](https://github.com/ClickHouse/ClickHouse/pull/98443) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `FilterBySetOnTheFly` 最適化によって `MergeJoinTransform` との循環依存が生じた際、`PingPongProcessor` でデッドロックが発生し、`full_sorting_merge` JOIN で "Pipeline stuck" 例外が発生する不具合を修正しました。 [#98454](https://github.com/ClickHouse/ClickHouse/pull/98454) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 有効期限 (TTL) によってすべての行が削除されるパーツのマージ時に、定数の `GROUP BY` キーを持つ集計プロジェクションで発生する `LOGICAL_ERROR` 例外 "Projection cannot increase the number of rows in a block" を修正しました。[#98458](https://github.com/ClickHouse/ClickHouse/pull/98458) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CROSS JOIN` を `INNER JOIN USING` と併用した際に発生する logical error 例外を修正しました。[#98459](https://github.com/ClickHouse/ClickHouse/pull/98459) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* キー引数が `Nullable` の場合に `dictGetOrDefault` で発生するヌルポインタ逆参照を修正しました。 [#98460](https://github.com/ClickHouse/ClickHouse/pull/98460) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 集約プロジェクション使用時に、`materialize` によりクエリとプロジェクションで `LowCardinality` 型の違いが生じる場合に発生していた `DISTINCT` クエリの例外を修正しました。[#98462](https://github.com/ClickHouse/ClickHouse/pull/98462) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* OUTER JOIN と `join_use_nulls` が有効な場合に、`arrayJoin` をフィルタ式内で使用すると発生する LOGICAL\_ERROR 例外を修正しました。[#98464](https://github.com/ClickHouse/ClickHouse/pull/98464) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `optimize_aggregation_in_order` と並列レプリカを併用した際に発生する論理エラー例外 "Replica decided to read in WithOrder mode, not in ReverseOrder" を修正しました。[#98467](https://github.com/ClickHouse/ClickHouse/pull/98467) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `addWatch` リクエスト後に ClickHouse Keeper が Java ZooKeeper クライアントを切断してしまう問題を修正しました。Java クライアントは `addWatch` レスポンスに 4 バイトの `ErrorResponse` ボディが含まれることを想定していますが、Keeper は空のボディを返していたため、`EOFException` とセッション切断が発生していました。これにより、Apache Curator の `CuratorCache` や永続ウォッチを使用するあらゆる Java アプリケーションが正常に動作しなくなっていました。[#98079](https://github.com/ClickHouse/ClickHouse/issues/98079) を修正しました。 [#98499](https://github.com/ClickHouse/ClickHouse/pull/98499) ([Antonio Andelic](https://github.com/antonio2368)).
* フォロワーがダウンした際に、`zk_followers` および `zk_synced_followers` の Keeper メトリクスが減少しない問題を修正しました。`mntr` four-letter-word コマンドに、新たに `zk_learners` および `zk_synced_non_voting_followers` メトリクスを追加しました。[#54173](https://github.com/ClickHouse/ClickHouse/issues/54173) を修正。[#98504](https://github.com/ClickHouse/ClickHouse/pull/98504) ([Antonio Andelic](https://github.com/antonio2368)) 。
* MergeTreeトランザクション利用時に、`TRUNCATE TABLE` と `OPTIMIZE TABLE` が同時実行された際に発生する可能性があった `renameAndCommitEmptyParts` の LOGICAL\_ERROR 例外を修正しました。 [#98508](https://github.com/ClickHouse/ClickHouse/pull/98508) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Keeper のセキュアな raft ポートが `openSSL` 設定の `cipherList` と `dhParamsFile` を無視し、ユーザー指定の値ではなく常にデフォルト値を使用していた問題を修正しました。[#51188](https://github.com/ClickHouse/ClickHouse/issues/51188) をクローズしました。[#98509](https://github.com/ClickHouse/ClickHouse/pull/98509) ([Antonio Andelic](https://github.com/antonio2368)).
* 「Receiving request for session X took 9963 ms」のような誤解を招く Keeper のログメッセージを修正しました。ここで報告されていた時間は、実際に処理にかかった時間ではなく、ハートビートの合間に `poll()` 内で idle のまま待機していた時間でした。[#79026](https://github.com/ClickHouse/ClickHouse/issues/79026) を修正しました。[#98510](https://github.com/ClickHouse/ClickHouse/pull/98510) ([Antonio Andelic](https://github.com/antonio2368)).
* read\_in\_order\_use\_virtual\_row と単調関数で予期しない結果を返す問題を修正し、[#97837](https://github.com/ClickHouse/ClickHouse/issues/97837) をクローズしました。[#98514](https://github.com/ClickHouse/ClickHouse/pull/98514) ([Vladimir Cherkasov](https://github.com/vdimir)).
* MergeTree テーブルで `IN` サブクエリとともに `PREWHERE` を使用した際に発生していた `LOGICAL_ERROR: Not-ready Set is passed as the second argument for function 'in'` を修正しました。[#98522](https://github.com/ClickHouse/ClickHouse/pull/98522) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* シャットダウンシグナルに応答せず、サーバーの正常なシャットダウンを妨げていた Keeper の TCP 接続を修正しました。 [#98525](https://github.com/ClickHouse/ClickHouse/pull/98525) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `query_plan_merge_expressions = 0` で `query_plan_convert_join_to_in` が有効な場合に発生する例外 "Sorting column wasn't found in the ActionsDAG's outputs" を修正しました。[#98526](https://github.com/ClickHouse/ClickHouse/pull/98526) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* named collections 使用時に失敗する MongoDB Dictionary ソースを修正しました。[#97840](https://github.com/ClickHouse/ClickHouse/issues/97840) をクローズしました。[#98528](https://github.com/ClickHouse/ClickHouse/pull/98528) ([Pablo Marcos](https://github.com/pamarcos)) 。
* パラメータ置換後に Identifier が空になった場合に発生していた LOGICAL\_ERROR を修正しました。[#98530](https://github.com/ClickHouse/ClickHouse/pull/98530) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* ウィンドウ関数と組み合わせて `sort_overflow_mode = 'break'` を使用した際に発生するパイプラインのデッドロックを修正しました。[#98543](https://github.com/ClickHouse/ClickHouse/pull/98543) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 新しいブロックの追加中に例外が発生した際の、Bufferエンジンにおけるカラムのロールバック処理を修正しました。従来のロジックでは、カラムのインメモリ状態が破損するおそれがありました。[#98551](https://github.com/ClickHouse/ClickHouse/pull/98551) ([Pavel Kruglov](https://github.com/Avogar)).
* const の `Dynamic` または `Variant` カラムと `NULL` を用いた null-safe 比較 (`<=>` / `IS NOT DISTINCT FROM`) で発生していた例外 `Bad cast from type ColumnConst to ColumnDynamic` を修正しました。あわせて、`Dynamic`/`Variant` と `NULL` の比較で `IS DISTINCT FROM` が常に誤って 0 を返していた問題も修正しました。[#98553](https://github.com/ClickHouse/ClickHouse/pull/98553) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* テキスト索引を他のスキップ索引と併用した場合の不具合を修正しました。以前は、クエリのフィルターでテキスト索引と通常のスキップ索引を同時に使用すると、"Trying to get non-existing mark" のような論理エラーが発生することがありました。[#98555](https://github.com/ClickHouse/ClickHouse/pull/98555) ([Anton Popov](https://github.com/CurtizJ)).
* 同じクエリスコープ内でエイリアス付きの table function が複数回出現する場合 (たとえば `PREWHERE` 句と `QUALIFY` 句の両方) に発生する論理エラー "TABLE\_FUNCTION is not allowed in expression context" を修正しました。 [#98557](https://github.com/ClickHouse/ClickHouse/pull/98557) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PK 内の式 (カラムだけでなく) に対する分散索引解析を修正 (これにより、リモートレプリカ上の冗長なグラニュールがまったくフィルタリングされない状態になっていた) 。 [#98561](https://github.com/ClickHouse/ClickHouse/pull/98561) ([Azat Khuzhin](https://github.com/azat)).
* サブカラムが他のカラムの default/alias 式で使用されている場合、そのカラムの削除を禁止し、ALTER DROP COLUMN のデフォルト式でアナライザを使用するようにしました。[#98569](https://github.com/ClickHouse/ClickHouse/pull/98569) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* HTTP クライアントで、再試行できないエラー (`HTTP_CONNECTION_LIMIT_REACHED` を含む) でも S3 リクエストが誤って再試行されていた問題を修正しました。[#98598](https://github.com/ClickHouse/ClickHouse/pull/98598) ([Sema Checherinda](https://github.com/CheSema)) 。
* DateTime64 でパーティションプルーニングを行う際に発生する decimal のオーバーフローを修正しました。[#98628](https://github.com/ClickHouse/ClickHouse/pull/98628) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* JIT 式コンパイルにおける 2 件の不具合を修正しました。1 件目は、`nativeCast` の型チェックにあったコピー＆ペーストミスにより、整数から整数、および浮動小数点数から浮動小数点数への cast の分岐が到達不能になっていた問題です。2 件目は、LLVM `PassBuilder` に誤って `nullptr` の TargetMachine が渡されていたため、ターゲット固有の最適化パスが登録されなかった問題です。[#98660](https://github.com/ClickHouse/ClickHouse/pull/98660) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `SHOW_COLUMNS` 権限がなくても、localhost を指す `remote()`、`remoteSecure()`、`cluster()`、または `clusterAllReplicas()` を介して任意のテーブルに対して DESCRIBE を実行できてしまう RBAC バイパスを修正しました。[#98669](https://github.com/ClickHouse/ClickHouse/pull/98669) ([pufit](https://github.com/pufit)).
* フィルタープッシュダウン最適化によって共有 DAG ノードが破損し、非ブール式 (例: `sin(col)`) を JOIN を伴う WHERE と SELECT の両方で使用した際に `BAD_GET` 例外や誤ったクエリ結果が発生する問題を修正しました。[#98681](https://github.com/ClickHouse/ClickHouse/pull/98681) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 並列レプリカ使用時に `read_in_order_through_join` を使うと発生する LOGICAL\_ERROR "Replica decided to read in Default mode, not in WithOrder" を修正しました。[#98685](https://github.com/ClickHouse/ClickHouse/pull/98685) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `remote` の引数として `input` テーブル関数を使用したときに発生する例外 "Bad cast from type `DB::TableFunctionNode` to `DB::QueryNode`" を修正しました。[#98694](https://github.com/ClickHouse/ClickHouse/pull/98694) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 空の covering parts を誤ってクリーンアップしたことが原因で発生していた、古い data parts の復活を修正しました。 [#98698](https://github.com/ClickHouse/ClickHouse/pull/98698) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `equals` 比較でブール関数が `Variant` 型を返す場合に、`LogicalExpressionOptimizerPass` で例外が発生する不具合を修正しました。[#98712](https://github.com/ClickHouse/ClickHouse/pull/98712) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `parseDateTimeBestEffort` が、月名/曜日のプレフィックスで始まる単語を誤ってパースする不具合を修正しました。[#97965](https://github.com/ClickHouse/ClickHouse/issues/97965) をクローズします。[#98742](https://github.com/ClickHouse/ClickHouse/pull/98742) ([Pavel Kruglov](https://github.com/Avogar)).
* 新しいアナライザを有効にした状態で、異なるパラメータ (例: 異なる `SKIP` フィールド) を持ち、JSON のサブパスを参照する ALIAS カラムを含む JSON カラムを持つテーブルに対して、`merge()` テーブル関数または `Merge` エンジンでクエリを実行した際に発生する `UNKNOWN_IDENTIFIER` 例外を修正しました。[#97812](https://github.com/ClickHouse/ClickHouse/issues/97812) をクローズします。[#98753](https://github.com/ClickHouse/ClickHouse/pull/98753) ([Pavel Kruglov](https://github.com/Avogar)).
* `View` 内で `Distributed` ストレージが使用されている場合の、アナライザでの `optimize_skip_unused_shards` 最適化を修正しました。[#98754](https://github.com/ClickHouse/ClickHouse/pull/98754) ([Nikolai Kochetov](https://github.com/KochetovNicolai)) 。
* `clickhouse-client` の `--external` で渡される外部テーブルについて、名前指定によるタプルのサブカラムアクセス (例: `Tuple(a UUID, b Int32)` に対する `SELECT x.a`) を修正しました。[#96925](https://github.com/ClickHouse/ClickHouse/issues/96925) をクローズしました。[#98755](https://github.com/ClickHouse/ClickHouse/pull/98755) ([Pavel Kruglov](https://github.com/Avogar)) 。
* 不正な (途中で切れた) UTF-8入力に対して `reverseUTF8` が例外を発生させる問題を修正しました。 [#98770](https://github.com/ClickHouse/ClickHouse/pull/98770) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 偽値との OR (すなわち or(x, 0)) 述語がある場合に、set スキップ索引の有用性を正しく検出できない問題を修正しました。[#98776](https://github.com/ClickHouse/ClickHouse/pull/98776) ([Azat Khuzhin](https://github.com/azat)) 。
* `FINAL` + `PREWHERE` + 定数の `WHERE` 式 + `count()` のようなカラムに依存しない集約関数の組み合わせで発生しうる `LOGICAL_ERROR` 例外 (`removeUnusedColumns` での `Block structure mismatch`) を修正しました。[#98778](https://github.com/ClickHouse/ClickHouse/pull/98778) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* ClickHouse辞書の自動再読み込みに関する `system.trace_log` エントリで、クエリIDが空にならないようにしました。[#98784](https://github.com/ClickHouse/ClickHouse/pull/98784) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `IDatabaseTablesIterator::table()` 呼び出しでテーブルのスナップショットを取得してから、その後の反復処理中に別スレッドでテーブルが変更されるまでの間に作成されたシステムテーブルで、null ポインタを逆参照してクラッシュする問題を修正しました。[#98792](https://github.com/ClickHouse/ClickHouse/pull/98792) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* `SYSTEM START REPLICATED VIEW` でリフレッシュタスクが起動しない問題を修正しました。[#98797](https://github.com/ClickHouse/ClickHouse/pull/98797) ([Pablo Marcos](https://github.com/pamarcos)) 。
* 別の JOIN 内で JOIN を含む `view()` テーブル関数を使用した際に発生する例外 "Inconsistent table names" を修正 (旧アナライザ使用時のみ) 。 [#98809](https://github.com/ClickHouse/ClickHouse/pull/98809) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* pending\_signals 経由での RLIMIT\_SIGPENDING の調整に関する不具合を修正しました。 [#98829](https://github.com/ClickHouse/ClickHouse/pull/98829) ([Azat Khuzhin](https://github.com/azat)).
* `loop` をクラスターテーブル関数と組み合わせた際に発生する例外を修正しました。[#98860](https://github.com/ClickHouse/ClickHouse/pull/98860) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* 複数の結合キーカラムを使用する LEFT ANTI JOIN で、`enable_join_runtime_filters=1` (デフォルト) の場合に誤った結果が返されていました。[#98871](https://github.com/ClickHouse/ClickHouse/pull/98871) ([Alexander Gololobov](https://github.com/davenger)).
* データが複数のchunkに分けて読み込まれる場合 (たとえば `index_granularity` が小さい場合) に、`WITH FILL STALENESS` が余分な補完行を生成する不具合を修正しました。[#98895](https://github.com/ClickHouse/ClickHouse/pull/98895) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* "RPNBuilderFunctionTreeNode has A arguments, attempted to get argument at index B" という LOGICAL\_ERROR を修正しました。[#98900](https://github.com/ClickHouse/ClickHouse/pull/98900) ([Azat Khuzhin](https://github.com/azat)) 。
* 失敗した割り当てがロールバックされないこと、`nallocx(0)` の未定義動作、ならびにグローバルピーク追跡におけるオフバイワンによって生じるメモリ追跡のずれを修正。追跡対象を `io_uring` のリングバッファにも拡張。 [#98915](https://github.com/ClickHouse/ClickHouse/pull/98915) ([Antonio Andelic](https://github.com/antonio2368)).
* ユーザーパス外にあるローカルのデータレイクテーブルについて、作成だけでなくアタッチも禁止しました。[#98936](https://github.com/ClickHouse/ClickHouse/pull/98936) ([Daniil Ivanik](https://github.com/divanik)) 。
* `urlCluster` または同様のクラスターテーブル関数を使用するクエリで、"ReadBuffer is canceled" 例外を引き起こす可能性があったレースコンディションを修正しました。 [#98955](https://github.com/ClickHouse/ClickHouse/pull/98955) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `BFloat16` 型の引数を渡した際に金融関数 (`financialNetPresentValue`、`financialInternalRateOfReturn` など) で発生していた `LOGICAL_ERROR` 例外を修正しました。[#98958](https://github.com/ClickHouse/ClickHouse/pull/98958) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* クエリプランの式マージが無効な場合 (query\_plan\_merge\_expressions = 0 または query\_plan\_enable\_optimizations = 0) に、ALIAS カラムに対してスキップ索引 (および主キー条件) が適用されない問題を修正しました。[#98960](https://github.com/ClickHouse/ClickHouse/pull/98960) ([Peng](https://github.com/fastio)).
* 非同期 INSERT で `InsertQuery` ProfileEvent が増加するようにしました。[#98626](https://github.com/ClickHouse/ClickHouse/issues/98626) をクローズしました。[#98962](https://github.com/ClickHouse/ClickHouse/pull/98962) ([Narasimha Pakeer](https://github.com/npakeer))。
* 主キーに NaN の浮動小数点値が含まれる場合にデバッグビルドで発生する例外 "Inconsistent KeyCondition behavior" を、`accurateLess` と `accurateEquals` が ClickHouse のソート順に従って NaN を一貫して処理するようにすることで修正しました。[#98075](https://github.com/ClickHouse/ClickHouse/issues/98075) をクローズします。[#98964](https://github.com/ClickHouse/ClickHouse/pull/98964) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SummingMergeTree では、Bool (およびその他の domain 型) のカラムは合計されなくなりました。Bool の値は算術的に合計されず、そのまま保持されます。[#98976](https://github.com/ClickHouse/ClickHouse/pull/98976) ([Yash ](https://github.com/Onyx2406)).
* `optimize_const_name_size` が有効で、`enable_scalar_subquery_optimization` = 0 の状態でリモート分片にクエリを実行した際に発生していた `Scalar doesn&#39;t exist` 例外を修正しました。リモートクエリ内で大きな定数が `__getScalar` 参照に置き換えられていたにもかかわらず、それらが分片に送信されていなかったため、クエリが失敗していました。[#98979](https://github.com/ClickHouse/ClickHouse/pull/98979) ([andriibeee](https://github.com/andriibeee)).
* `GROUP BY` と、Dictionary の逆引きルックアップ、`Date/DateTime` 変換の比較、タプル比較を含む式を使用する一部のクエリで発生していた `NOT_FOUND_COLUMN_IN_BLOCK` を修正しました。[#98888](https://github.com/ClickHouse/ClickHouse/issues/98888) をクローズします。[#98980](https://github.com/ClickHouse/ClickHouse/pull/98980) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* MergeTreeエンジンで、version/sign/is\_deletedカラムを`EPHEMERAL`または`ALIAS`に変更した際に発生する未定義動作 (nullポインタの逆参照) を修正しました。こうした変更は、現在は適切に拒否されるようになりました。[#98985](https://github.com/ClickHouse/ClickHouse/pull/98985) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.grants` の `access_object` カラムで、`URL` および `S3` の権限に対する正規表現パラメータが省略されていた問題を修正しました。 [#98987](https://github.com/ClickHouse/ClickHouse/pull/98987) ([DQ](https://github.com/il9ue)).
* Iceberg BigLake の読み取りを修正しました。ADC 認証情報が GCS S3 クライアントに転送されるようになり (403 エラーを解消) 、OAuth2 認証情報は送信前に URL エンコードされるようになったため (特殊文字を含むトークンでの認証失敗を解消) 、ネームスペースの走査処理も BigLake の HTTP 400 レスポンスで中断しなくなりました。[#98998](https://github.com/ClickHouse/ClickHouse/pull/98998) ([Nikita Fomichev](https://github.com/fm4v)) 。
* `TZ` 環境変数で POSIX のファイルパス構文 (例: `TZ=:/etc/localtime`) を使用している場合に、`clickhouse-client` がタイムゾーンを切り替えられない問題を修正しました。[#99000](https://github.com/ClickHouse/ClickHouse/pull/99000) ([Yash ](https://github.com/Onyx2406)).
* `startsWith`、`LIKE`、`NOT LIKE` を `FixedString` カラムに対して使用した際に、プルーニングが誤って行われる、または十分に行われない問題を修正しました。さらに、キー・カラムを `FixedString` から `String` にキャストした場合に、グラニュールのプルーニングができるようになりました。[#98940](https://github.com/ClickHouse/ClickHouse/issues/98940)。[#99001](https://github.com/ClickHouse/ClickHouse/pull/99001) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 重複イベントが検出された際に `strict_deduplication` で誤ったレベルが返されることがあった `windowFunnel` を修正しました。[#99003](https://github.com/ClickHouse/ClickHouse/pull/99003) ([Yash ](https://github.com/Onyx2406)).
* サブクエリ内の LIMIT 句と OFFSET 句が EXISTS によって無視され、オフセットまたは LIMIT が 0 のためにサブクエリが行を返さない場合に誤った結果となっていた不具合を修正しました。[#88722](https://github.com/ClickHouse/ClickHouse/issues/88722) をクローズします。[#99005](https://github.com/ClickHouse/ClickHouse/pull/99005) ([andriibeee](https://github.com/andriibeee)).
* `GROUPING SETS` 使用時に、フィルターのプッシュダウン最適化で、定数に短絡評価される `AND` 式に遭遇した際に発生する "Block structure mismatch" 例外を修正しました。[#99010](https://github.com/ClickHouse/ClickHouse/pull/99010) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* クエリプランに`_part_offset`カラムがない場合に、パッチパート (論理更新) の読み取り時に発生する例外を修正しました。 [#99023](https://github.com/ClickHouse/ClickHouse/pull/99023) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `pk_id` が主キーで `String` 型の場合、`SELECT * FROM table WHERE pk_id = ''` のようなクエリでも、グラニュールの絞り込みに主キー索引が正しく使われるようになりました。[#99027](https://github.com/ClickHouse/ClickHouse/pull/99027) ([Shankar Iyer](https://github.com/shankar-iyer)).
* バックグラウンドスレッドがデータをストリーミング中に materialized view がデタッチされた場合に発生する、Kafkaエンジンの`DEPENDENCIES_NOT_FOUND`例外を修正しました。[#99028](https://github.com/ClickHouse/ClickHouse/pull/99028) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 仮想カラム (例: `_part_offset`) と同じ名前の`EPHEMERAL`カラムを持つテーブルの作成時に発生する例外を修正しました。[#99031](https://github.com/ClickHouse/ClickHouse/pull/99031) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 存在しない圧縮ファイルを glob パターン付きの `url()` テーブル関数で読み込む際に、誤解を招く "inflate failed: buffer error" が表示される問題を修正しました。`http_skip_not_found_url_for_globs` が有効な場合は、想定どおり空の結果を返すようになりました。[#99034](https://github.com/ClickHouse/ClickHouse/pull/99034) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* スキーマ変更 (例: ADD COLUMN) 後、パッチパートに対して `ALTER TABLE ... DROP PART` を実行するとサーバーがクラッシュ (std::terminate) する問題を修正しました。原因は、空のカバレッジパートのメタデータにシステムカラム (`_part`) が欠けていたことで、NOEXCEPT\_SCOPE 内で例外が捕捉されずに発生していたことです。[#99036](https://github.com/ClickHouse/ClickHouse/pull/99036) ([Peng](https://github.com/fastio)).
* ClickHouse server process は、*cached disk read* 中にメモリ制限超過例外が発生した場合、クラッシュする可能性がありました。これは修正されました。[#99042](https://github.com/ClickHouse/ClickHouse/pull/99042) ([Shankar Iyer](https://github.com/shankar-iyer)) 。
* `dictGet` を使用して ROW POLICY と ALIAS カラムの両方を持つテーブルにクエリを実行した際に発生する `LOGICAL_ERROR` を修正しました。この問題は、新しいアナライザで ALIAS カラムを解決する際、テーブル式に早い段階でアクセスしていたことが原因でした。[#99065](https://github.com/ClickHouse/ClickHouse/pull/99065) ([Peng](https://github.com/fastio)).
* データ形式に Avro フォーマットを使用する Iceberg テーブルで、仮想カラムのみをクエリしようとした際に発生する範囲外エラーを修正しました。非常にまれなケースのため、クリティカルとはしていません。[#88238](https://github.com/ClickHouse/ClickHouse/issues/88238) を修正しました。 [#99080](https://github.com/ClickHouse/ClickHouse/pull/99080) ([alesapin](https://github.com/alesapin)).
* `remote()` + `view()` を使用する再帰CTEで発生するセグメンテーションフォルトを修正しました。[#99081](https://github.com/ClickHouse/ClickHouse/pull/99081) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* read-in-order 最適化が適用されている場合、不要な追加の索引解析をスキップします。[#99084](https://github.com/ClickHouse/ClickHouse/pull/99084) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* パッチパートの適用中にメモリ制限例外が発生した際に引き起こされるクラッシュを修正しました。 [#99086](https://github.com/ClickHouse/ClickHouse/pull/99086) ([Anton Popov](https://github.com/CurtizJ)).
* 再初期化リカバリ中に ZooKeeper のエントリが削除された際、古くなった `first_failed_task_name` が残ることで発生していた `DDLWorker` のデバッグアサーションを修正しました。[#99099](https://github.com/ClickHouse/ClickHouse/pull/99099) ([Antonio Andelic](https://github.com/antonio2368)) 。
* 有効期限 (TTL) を伴うマージ時のテキスト索引の再構築を修正しました。[#99107](https://github.com/ClickHouse/ClickHouse/pull/99107) ([Anton Popov](https://github.com/CurtizJ)).
* Iceberg テーブルエンジンの `ALTER TABLE ... REMOVE SETTINGS` クエリで発生するクラッシュを修正しました。[#86330](https://github.com/ClickHouse/ClickHouse/issues/86330) を修正しました。[#99108](https://github.com/ClickHouse/ClickHouse/pull/99108) ([alesapin](https://github.com/alesapin)).
* `query_plan_convert_any_join_to_semi_or_anti_join` 最適化のバグを修正し、一致しない行に対して誤った結果が返される問題を解消しました。関連: [https://github.com/ClickHouse/ClickHouse/pull/95995](https://github.com/ClickHouse/ClickHouse/pull/95995). [#99112](https://github.com/ClickHouse/ClickHouse/pull/99112) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `ASTColumnsExceptTransformer::transform` で発生する LOGICAL\_ERROR 例外を修正しました。[#99119](https://github.com/ClickHouse/ClickHouse/pull/99119) ([Pablo Marcos](https://github.com/pamarcos)) 。
* 必要なソースアクセス権限がないユーザーでも、テーブル関数 (`mysql()`, `postgresql()`, `sqlite()`, `arrowFlight()`, `jdbc()`, `odbc()`, など) に対して `DESCRIBE TABLE` または `CREATE TABLE AS` を実行することでテーブル構造を取得できてしまう RBAC のバイパスを修正しました。リモートサーバーからスキーマを推論する関数では、これにより認可なしで外向き接続 (SSRF) をトリガーできる状態にもなっていました。[#99122](https://github.com/ClickHouse/ClickHouse/pull/99122) ([pufit](https://github.com/pufit)).
* 動的再構成およびリーダー移譲中に発生する Keeper のクラッシュ (NuRaft でのセグメンテーションフォルト) を修正。 [#99133](https://github.com/ClickHouse/ClickHouse/pull/99133) ([JIaQi Tang](https://github.com/JiaQiTang98)).
* 宛先が `SAMPLE` に対応していない場合に Buffer table を使用するとクラッシュする問題を修正しました。 [#99141](https://github.com/ClickHouse/ClickHouse/pull/99141) ([Kseniia Sumarokova](https://github.com/kssenii)).
* パッチパートのカラム順の不一致による LOGICAL\_ERROR を修正。 [#99164](https://github.com/ClickHouse/ClickHouse/pull/99164) ([Pablo Marcos](https://github.com/pamarcos)).
* Icebergテーブルに異なるフォーマット (ORC と Parquet) のファイルが混在している場合に、ごくまれに発生するクラッシュを修正しました。[#88126](https://github.com/ClickHouse/ClickHouse/issues/88126)。[#99168](https://github.com/ClickHouse/ClickHouse/pull/99168) ([alesapin](https://github.com/alesapin)).
* backup/restore で max\_execution\_time が適用されない問題を修正しました。 [#99205](https://github.com/ClickHouse/ClickHouse/pull/99205) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `ORDER BY ALL` のない `INSERT SELECT` クエリで、`insert_deduplication_token` が黙って無視される問題を修正しました。従来は、明示的にユーザーのトークンを指定していても、ソートされていない `INSERT SELECT` では重複排除が完全に無効になっていました。現在は、`insert_deduplication_token` を指定するだけで、`ORDER BY ALL` の有無にかかわらず重複排除が有効になります。[#99206](https://github.com/ClickHouse/ClickHouse/pull/99206) ([Desel72](https://github.com/Desel72)).
* `InverseDictionaryLookupPass` の最適化中に発生していた過剰なアクセスチェックを修正しました。各訪問ノードごとではなく、パスの実行前に `CREATE_TEMPORARY_TABLE` 権限を一度だけチェックするようにしました。[#99210](https://github.com/ClickHouse/ClickHouse/pull/99210) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `clickhouse format --obfuscate` が、スキップ索引の型、圧縮コーデック名、データベースエンジン名、Dictionary のレイアウト/ソース定義を難読化することで無効な SQL を生成していた問題を修正しました。 [#99260](https://github.com/ClickHouse/ClickHouse/pull/99260) ([Raúl Marín](https://github.com/Algunenano)).
* 一部のケースで Time\[64] 型と DateTime\[64] 型の比較がわかりにくくなっていた不具合を修正しました。現在は、このような場合、日付部分として `1970-01-01` を追加して Time\[64] の値を DateTime\[64] に昇格させます。 [#99267](https://github.com/ClickHouse/ClickHouse/pull/99267) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* distributed DDLクエリに対して、DDL workerで設定の制約内に収めるようにしました。 [#99317](https://github.com/ClickHouse/ClickHouse/pull/99317) ([Pablo Marcos](https://github.com/pamarcos)).
* TOTP認証に関する軽微な問題を修正: パスワードが空の場合の `--one-time-password` CLIオプション、および `<digits>` と `<period>` の設定値の検証。 [#99322](https://github.com/ClickHouse/ClickHouse/pull/99322) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Avroの出力フォーマットで、enumの定義に含まれない値を持つ`Enum8`/`Enum16`カラムのシリアライズ時に発生するロジックエラー`unordered_map::at: key not found`を修正しました。[#99332](https://github.com/ClickHouse/ClickHouse/pull/99332) ([Desel72](https://github.com/Desel72)).
* Dynamic を含む Tuple 内でスパース シリアライゼーションを使用した CHECK TABLE の不具合を修正しました。[#96588](https://github.com/ClickHouse/ClickHouse/issues/96588) をクローズしました。[#99351](https://github.com/ClickHouse/ClickHouse/pull/99351) ([Pavel Kruglov](https://github.com/Avogar)).
* テキスト索引のプリプロセッサに対する厳しすぎるバリデーションを修正した。[#99359](https://github.com/ClickHouse/ClickHouse/pull/99359) ([Anton Popov](https://github.com/CurtizJ)).
* 25.10 からそれ以降のバージョンへ、暗黙的な minmax インデックスを持つレプリケートテーブルをアップグレードする際の互換性を修正しました。[#99392](https://github.com/ClickHouse/ClickHouse/pull/99392) ([Raúl Marín](https://github.com/Algunenano)) 。
* テキスト索引解析における否定形の関数 (`notEquals`、`notLike`、`notIn`) のサポートを削除しました。これらの関数ではグラニュールをまったくスキップできなかったため、それらに対して索引解析を行っても、利点はなくオーバーヘッドが増えるだけでした。[#99393](https://github.com/ClickHouse/ClickHouse/pull/99393) ([Anton Popov](https://github.com/CurtizJ)) 。
* `IN`サブクエリ内で`Distributed`テーブルが使用された場合に、新しいアナライザで`optimize_skip_unused_shards`を修正しました。[#99436](https://github.com/ClickHouse/ClickHouse/pull/99436) ([Nikolai Kochetov](https://github.com/KochetovNicolai)) 。
* クエリの結果でカラム名が重複した場合に`INTERSECT`/`EXCEPT`で発生する heap-use-after-free を修正しました。[#99471](https://github.com/ClickHouse/ClickHouse/pull/99471) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* part名に型付きのクエリパラメータを使用した場合に発生する `ALTER TABLE ... DROP PART` の論理エラーを修正しました。[#99489](https://github.com/ClickHouse/ClickHouse/pull/99489) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* テキスト索引の述語 (例: `hasAllTokens`) がエイリアス経由で `SELECT` 句と `WHERE` 句の両方から参照されている場合に発生していた `NOT_FOUND_COLUMN_IN_BLOCK` 例外を修正しました。[#99504](https://github.com/ClickHouse/ClickHouse/pull/99504) ([Anton Popov](https://github.com/CurtizJ)) 。
* 個別のテキスト索引を持つ複数のカラムにまたがって OR 条件で `hasAllTokens` を使用した際に、誤った結果が返される問題を修正しました。[#99505](https://github.com/ClickHouse/ClickHouse/pull/99505) ([Anton Popov](https://github.com/CurtizJ)).
* `clickhouse-local` でページキャッシュを初期化し、`page_cache_max_size` 設定が反映されるようにしました。[#99510](https://github.com/ClickHouse/ClickHouse/pull/99510) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* まれに、`DETACH/ATTACH TABLE`クエリの後に data part が誤って破損扱いとされ、デタッチされる不具合を修正しました。[#99529](https://github.com/ClickHouse/ClickHouse/pull/99529) ([Anton Popov](https://github.com/CurtizJ)).
* HTTPインターフェイス経由でPrettyフォーマットを使って空のシステムテーブルにクエリを実行した際の `std::length_error` 例外を修正しました。[#99541](https://github.com/ClickHouse/ClickHouse/pull/99541) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `ALTER TABLE ADD COLUMN` を使用して、仮想カラムと同名の `EPHEMERAL` カラム (例: `_part_offset`) を作成する際に発生していた `LOGICAL_ERROR` を修正しました。[#99549](https://github.com/ClickHouse/ClickHouse/pull/99549) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* キャッシュキーの不一致が原因で、part の削除後も `VectorSimilarityIndexCache` のエントリが追い出されない問題を修正しました。 [#99575](https://github.com/ClickHouse/ClickHouse/pull/99575) ([Seva Potapov](https://github.com/seva-potapov)).
* ローカルファイルから Google の認証情報を読み取ることを禁止しました。ファイルパスが判明しているとほかの認証情報まで読み取れてしまうため、この設定は安全ではありません。 [#99584](https://github.com/ClickHouse/ClickHouse/pull/99584) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* アナライザで発生していた性能低下を修正しました。ARRAY JOINから未使用のカラムを除外するようにしました。[#99587](https://github.com/ClickHouse/ClickHouse/pull/99587) ([Dmitry Novik](https://github.com/novikd)) 。
* 既存の論理削除と行ポリシーが設定されたテーブルにおける、テキスト索引の読み取りを修正しました。 [#99661](https://github.com/ClickHouse/ClickHouse/pull/99661) ([Anton Popov](https://github.com/CurtizJ)).
* filter-in-decoder パスでフィルタリング除外されたページに遭遇した際に、Parquet リーダーで発生する nullptr のデリファレンスを修正。 [#99676](https://github.com/ClickHouse/ClickHouse/issues/99676) をクローズ。 [#99677](https://github.com/ClickHouse/ClickHouse/pull/99677) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* O\_DIRECT 使用時の AsynchronousReadBufferFromFileDescriptor における誤ったシークを修正しました。[#99358](https://github.com/ClickHouse/ClickHouse/issues/99358) をクローズします。[#99678](https://github.com/ClickHouse/ClickHouse/pull/99678) ([Pavel Kruglov](https://github.com/Avogar)) 。
* 不正な圧縮データの展開時に `CompressionCodecT64` で発生するヒープバッファオーバーフローと、`CompressionCodecMultiple` で発生するプロセスの異常終了を修正しました。いずれの問題も、新しい libFuzzer ターゲットによって発見されました。これらのコーデックは、クラッシュする代わりに例外を送出するようになりました。[#99680](https://github.com/ClickHouse/ClickHouse/pull/99680) ([Rahul](https://github.com/motsc)).
* サーバーがすべてのテーブルの読み込みを完了するまで、処理を遅らせる。[#99700](https://github.com/ClickHouse/ClickHouse/pull/99700) ([Seva Potapov](https://github.com/seva-potapov)) 。
* インライン DDL パラメータで `RemoteHostFilter` をバイパスしていた MySQL Dictionary ソースの問題を修正しました。[#99720](https://github.com/ClickHouse/ClickHouse/pull/99720) ([Shaohua Wang](https://github.com/tiandiwonder)) 。
* `system.tables` 内のデータレイクテーブルの反復処理時に発生する論理エラーを修正しました。[#99739](https://github.com/ClickHouse/ClickHouse/pull/99739) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* プリプロセッサ付きのテキスト索引における、`IN`関数を含む述語の解析を修正しました。あわせて、テキスト索引で検索対象のトークンが衝突し、不正確な結果を招く可能性がある問題を修正しました。 [#99755](https://github.com/ClickHouse/ClickHouse/pull/99755) ([Anton Popov](https://github.com/CurtizJ)).
* 負の次元を持つ `Npy` フォーマットのファイルを読み込む際に発生する無限ループを修正しました。[#99812](https://github.com/ClickHouse/ClickHouse/pull/99812) ([Desel72](https://github.com/Desel72)).
* クエリプランのヘッダー計算時に、`FixedString` 引数に対する `CRC32` 関数を行数ゼロで評価すると発生する global-buffer-overflow を修正しました。[#99835](https://github.com/ClickHouse/ClickHouse/pull/99835) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Iceberg テーブルに対して `ALTER TABLE ... MODIFY COLUMN ... COMMENT` を実行した際に発生するクラッシュ (ヌルポインタ逆参照) を修正しました。[#99838](https://github.com/ClickHouse/ClickHouse/pull/99838) ([Desel72](https://github.com/Desel72)) 。
* `aggregate_functions_null_for_empty` 設定を修正し、`Array` や `Map` などの非`Nullable`型を返す集約関数 (例: `groupArray`、`sumMap`) でも正しく動作するようにしました。[#99839](https://github.com/ClickHouse/ClickHouse/pull/99839) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 符号付き/符号なし整数型が混在する引数で呼び出した際に `midpoint` 関数で発生する LOGICAL\_ERROR 例外を修正しました。[#99867](https://github.com/ClickHouse/ClickHouse/pull/99867) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* フィルタ式に、NULL を生成する関数でラップされた集計と `materialize(0)` の両方が含まれる HAVING 句を持つクエリで発生していた「Block structure mismatch」例外を修正しました。[#99915](https://github.com/ClickHouse/ClickHouse/pull/99915) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* データ引数が、キーが配列である Map やその他のネストされた配列型である場合に、`sipHash128Keyed` (および同様のキー付きハッシュ関数) で発生するアサーション失敗を修正しました。[#99921](https://github.com/ClickHouse/ClickHouse/pull/99921) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `convertAnyJoinToSemiOrAntiJoin` によるクエリプラン最適化中に `IN` 関数で発生する `LOGICAL_ERROR` 例外 "Not-ready Set" を修正しました。 [#99939](https://github.com/ClickHouse/ClickHouse/pull/99939) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* 重いヘッダーのインクルードを削減し、高コストなテンプレートのインスタンス化をヘッダーから切り出すことで、コンパイル時間を短縮しました。 [#97893](https://github.com/ClickHouse/ClickHouse/pull/97893) ([Raúl Marín](https://github.com/Algunenano)).
* テンプレートのディスパッチマトリクスを縮小し、重いインクルードを削減することで、算術関数と関連ヘッダーのコンパイル時間を短縮しました。 [#98204](https://github.com/ClickHouse/ClickHouse/pull/98204) ([Raúl Marín](https://github.com/Algunenano)).
* `mongo-c-driver` 2.2.2 を採用しました。 [#98304](https://github.com/ClickHouse/ClickHouse/pull/98304) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `postgres` REL\_18\_3 を採用しました。 [#98306](https://github.com/ClickHouse/ClickHouse/pull/98306) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* glibc malloc のメモリ回収効率の低さによる RSS の蓄積を避けるため、UBSan ビルドで jemalloc アロケータを有効化しました。 [#98444](https://github.com/ClickHouse/ClickHouse/pull/98444) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* パーサーコンビネータライブラリによるシンボル名の肥大化を抑えるため、Rust v0 のシンボルマングリングを採用し、PRQL ライブラリから内部シンボルを削除しました。 [#98446](https://github.com/ClickHouse/ClickHouse/pull/98446) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `tests/benchmarks` に TPC-H ベンチマークスイートと TPC-DS README を追加しました。 [#98495](https://github.com/ClickHouse/ClickHouse/pull/98495) ([Raufs Dunamalijevs](https://github.com/rienath)).
* TPC-DS の 99 個すべてのクエリに対する正当性テストを追加しました。 [#99204](https://github.com/ClickHouse/ClickHouse/pull/99204) ([Raufs Dunamalijevs](https://github.com/rienath)).
* オフラインレプリカで発生する DDL CREATE TABLE + ALTER のバグ ([#44070](https://github.com/ClickHouse/ClickHouse/issues/44070)) を再現するインテグレーションテストを追加し、想定される失敗としてマークしました。 [#99259](https://github.com/ClickHouse/ClickHouse/pull/99259) ([Raufs Dunamalijevs](https://github.com/rienath)).
* jemalloc を `je_` プレフィックス付きで統合し、リンカーの --wrap の使用を廃止しました。 [#99342](https://github.com/ClickHouse/ClickHouse/pull/99342) ([Azat Khuzhin](https://github.com/azat)).

<div id="262">
  ### ClickHouse リリース 26.2、2026-02-26。 [プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.2/), [ビデオ](https://www.youtube.com/watch?v=7qHba08vNfo)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* デフォルトで、すべての insert に対して重複排除が ON になりました。以前は、非同期 INSERT と MV では OFF でしたが、同期 insert では ON でした。これは、どちらの insert 方法でもデフォルト設定を統一するためです。クラスターで重複排除を明示的に無効化している場合、従来の動作を維持するには `deduplicate_insert='backward_compatible_choice'` を明示的に設定する必要があります。`deduplicate_blocks_in_dependent_materialized_views` についても同様です。[#95970](https://github.com/ClickHouse/ClickHouse/pull/95970) ([Sema Checherinda](https://github.com/CheSema)).
* 統計情報の保存フォーマットが改善され、すべての統計情報が1つのファイルに保存されるようになりました。[#93414](https://github.com/ClickHouse/ClickHouse/pull/93414) ([Anton Popov](https://github.com/CurtizJ))。`table statistics` を明示的に有効にしていない場合は、この項目は無視して構いません。
* S3(Azure)Queue のインメモリメタデータに制限を導入。システムテーブルの名称が `azure_queue` から `azure_queue_metadata_cache` に、`system.s3queue` から `s3queue_metadata_cache` に変更されました。[#95809](https://github.com/ClickHouse/ClickHouse/pull/95809) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* 以前は、`Variant` カラムに関数を適用した際、バリアントのサブタイプがその関数に適合しない場合でも暗黙的に NULL が返されていましたが、現在は例外がスローされるようになったため、この暗黙的な NULL の挙動に依存していたクエリが動作しなくなる可能性があります。 [#95811](https://github.com/ClickHouse/ClickHouse/pull/95811) ([Bharat Nallan](https://github.com/bharatnc)).
* PostgreSQL の `DATE` カラムは、ClickHouse で `Date32` と推論されるようになりました (以前のバージョンでは `Date` と推論されていましたが、その結果、狭い範囲を超える値でオーバーフローが発生していました) 。`Date32` の値を PostgreSQL に再度挿入できるようになりました。[#73084](https://github.com/ClickHouse/ClickHouse/issues/73084) をクローズしました。[#95999](https://github.com/ClickHouse/ClickHouse/pull/95999) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `do_not_merge_across_partitions_select_final` 設定の意味が、より明確になりました。以前は、構成ファイルでこの設定を明示的に指定していない場合でも、この機能が自動的に有効になることがありました。そのためたびたび混乱を招き、残念ながら本番環境でいくつかの問題も引き起こしていました。現在はルールがよりシンプルになっています。`do_not_merge_across_partitions_select_final=1` を指定すると、この機能は無条件で有効になります。`do_not_merge_across_partitions_select_final=0` の場合、自動判定が使われるのは、新しい設定 `enable_automatic_decision_for_merging_across_partitions_for_final=1` のときだけで、それ以外では使われません。従来の動作をできるだけ維持するため、デフォルト値は `do_not_merge_across_partitions_select_final=0` および `enable_automatic_decision_for_merging_across_partitions_for_final=1` に設定されました。[#96110](https://github.com/ClickHouse/ClickHouse/pull/96110) ([Nikita Taranov](https://github.com/nickitat)).
* 明示的にカラムを指定して S3テーブルを作成する際、ClickHouse はそれらのカラム名が実際にリモートファイルのスキーマに存在するかを検証するようになりました。以前はカラム名が一致していなくても動作していたクエリは、今後はテーブル作成時に失敗します。これにより [#96089](https://github.com/ClickHouse/ClickHouse/issues/96089) が修正されます。 [#96194](https://github.com/ClickHouse/ClickHouse/pull/96194) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* ORDER BY およびその他のテーブルのキー式でサブクエリを使用することを禁止しました。[#96847](https://github.com/ClickHouse/ClickHouse/pull/96847) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* デフォルトで `apply_row_policy_after_final` を有効化しました。もともと `optimize_move_to_prewhere_if_final=0` の場合、ROW POLICY と PREWHERE はどちらも FINAL を考慮し、FINAL の後に適用されていました。[#87303](https://github.com/ClickHouse/ClickHouse/issues/87303) によりこの挙動が壊れ、ROW POLICY フィルターでは `optimize_move_to_prewhere_if_final` が無視されるようになっていました。これを修正するため、この PR では [#91065](https://github.com/ClickHouse/ClickHouse/issues/91065) で導入された設定 `apply_row_policy_after_final` を有効にしています。`apply_row_policy_after_final` を有効にすると、従来どおり、ROW POLICY はデフォルトで引き続き FINAL を考慮します。この PR は `optimize_move_to_prewhere_if_final=1` の場合の挙動を変更するため、後方互換性のない変更です。今後、ROW POLICY を FINAL の前に適用するには、`optimize_move_to_prewhere_if_final` ではなく `apply_row_policy_after_final` を使用する必要があります。[#97279](https://github.com/ClickHouse/ClickHouse/pull/97279) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `Date` 型は、Arrow/ArrowStream フォーマットで `uint16` ではなく、Arrow ネイティブの `date32` 型としてシリアライズされるようになりました。これにより、PyArrow などのツールでこのカラムが日付型として正しく認識されるようになります。従来の動作は、`output_format_arrow_date_as_uint16` 設定で復元できます。`Date` カラムに `uint16` を使用していた古い Arrow ファイルの読み取りも引き続きサポートされます。[#96860](https://github.com/ClickHouse/ClickHouse/pull/96860) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="267-new-feature">
  #### 新機能
</div>

* ユーザーは ClickHouse から直接 ClickStack (オブザーバビリティ UI) を使えるようになり、デバッグやローカル開発に便利になりました。[#96597](https://github.com/ClickHouse/ClickHouse/pull/96597) ([Aaron Knudtson](https://github.com/knudtty)).
* 認証方式として、時間ベースのワンタイムパスワード (TOTP) をサポート。 [#71273](https://github.com/ClickHouse/ClickHouse/pull/71273) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `lazy_load_tables` データベース設定を追加しました。有効にすると、データベースの起動時にテーブルは読み込まれず、代わりに軽量な `StorageTableProxy` が作成され、実際のテーブルエンジンは初回アクセス時に実体化されます。[#96283](https://github.com/ClickHouse/ClickHouse/pull/96283) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* `input_format_max_block_wait_ms` 設定を追加し、タイムアウト時にデータブロックを出力できるようにするとともに、HTTP connection が予期せず閉じられた場合でも残りのデータを処理できるようにしました。[#94509](https://github.com/ClickHouse/ClickHouse/pull/94509) ([Mostafa Mohamed Salah](https://github.com/Sasao4o)).
* Google BigLake カタログのインテグレーション。[#95339](https://github.com/ClickHouse/ClickHouse/issues/95339) をクローズします。[#97104](https://github.com/ClickHouse/ClickHouse/pull/97104) ([Konstantin Vedernikov](https://github.com/scanhex12))。
* 利用可能なすべてのトークナイザーを表示する system table `system.tokenizers` を追加しました。 [#96753](https://github.com/ClickHouse/ClickHouse/pull/96753) ([Robert Schulze](https://github.com/rschu1ze)) 。
* UDF のロード状況と設定を監視できるように、新しいシステムテーブル `system.user_defined_functions` を追加しました。[#90340](https://github.com/ClickHouse/ClickHouse/pull/90340) ([Xu Jia](https://github.com/XuJia0210)).
* jemalloc でビルドされたサーバーのメモリ使用量を診断するため、jemalloc メモリアロケータの統計情報 (`malloc_stats_print` 経由) を公開する `system.jemalloc_stats` テーブルを追加しました。あわせて、これらの統計情報をインタラクティブに可視化するための `/jemalloc.html` HTTP エンドポイントを ClickHouse HTTP インターフェイスに追加しました。[#97077](https://github.com/ClickHouse/ClickHouse/pull/97077) ([Antonio Andelic](https://github.com/antonio2368)).
* jemalloc のヒーププロファイルを読み取って分析するための `system.jemalloc_profile_text` テーブルを追加しました。出力フォーマットは `jemalloc_profile_text_output_format` 設定で制御されます (raw、symbolized、collapsed。デフォルトは collapsed) 。インラインフレームの解決は `jemalloc_profile_text_symbolize_with_inline` で制御されます (有効な場合、シンボル化は遅くなりますがインラインフレームが含まれます。無効な場合、より高速に出力するためインラインフレームはスキップされます) 。collapsed フォーマットでは、`jemalloc_profile_text_collapsed_use_count` によって、スタックの重み付けに live allocation count (true) を使うか、live bytes (false、デフォルト) を使うかを制御します。これにより、jemalloc ヒーププロファイルのメモリプロファイリングや flame graph による可視化が容易になります。[#93248](https://github.com/ClickHouse/ClickHouse/issues/93248) を修正しました。[#97218](https://github.com/ClickHouse/ClickHouse/pull/97218) ([Antonio Andelic](https://github.com/antonio2368)).
* `default_dictionary_database` 設定を追加しました。これにより、ClickHouse は、database 修飾子を付けずに参照された external dictionaries を、指定したデフォルトの database 内で解決できるようになります。これにより、XML で定義されたグローバル Dictionary から、SQL で定義された database 単位の Dictionary への移行が容易になり、既存の dictionary クエリ (例: dictGet('name', …)) も変更せずにそのまま動作させることができます。[#91412](https://github.com/ClickHouse/ClickHouse/pull/91412) ([Dmitrii Plotnikov](https://github.com/dimbo4ka)).
* `DatabaseReplicated` で補助 ZooKeeper のサポートを追加しました。[#91683](https://github.com/ClickHouse/ClickHouse/pull/91683) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* 昇順の素数を提供する新しいテーブル関数 `primes` と、新しいシステムテーブル `system.primes` を実装しました。[#90839](https://github.com/ClickHouse/ClickHouse/issues/90839) をクローズしました。[#92776](https://github.com/ClickHouse/ClickHouse/pull/92776) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 非同期 INSERT は並列クォーラムに対応しました。挿入されたデータはクォーラムまでレプリケートされます。重複が見つかった場合、クエリは先に挿入されたデータのレプリケーションも完了するまで待機します。[#93356](https://github.com/ClickHouse/ClickHouse/pull/93356) ([Sema Checherinda](https://github.com/CheSema)).
* 色の値を sRGB から OKLAB へ、またその逆方向に変換する関数 `colorOKLABToSRGB`、`colorSRGBToOKLAB` を追加しました。[#93361](https://github.com/ClickHouse/ClickHouse/pull/93361) ([Pranav Tiwari](https://github.com/pranavt84)) 。
* 新たに、`insert_deduplicate` および `async_insert_deduplicate` をオーバーライドする `deduplicate_insert` 設定を追加しました。 [#94413](https://github.com/ClickHouse/ClickHouse/pull/94413) ([Sema Checherinda](https://github.com/CheSema)).
* サーバー設定 `insert_deduplication_version` により、共通の重複排除ハッシュへの移行が可能になりました。 [#95409](https://github.com/ClickHouse/ClickHouse/pull/95409) ([Sema Checherinda](https://github.com/CheSema)).
* `xxh3_128` ハッシュ関数が追加されました。[#96055](https://github.com/ClickHouse/ClickHouse/pull/96055) ([Raúl Marín](https://github.com/Algunenano)) 。
* 結果パーツをコミットせずにマージをシミュレートできる`OPTIMIZE <table> DRY RUN PARTS <part names>`クエリを追加しました。これはテスト用途、つまり新しいバージョンでマージの正しさを検証したり、マージ関連の不具合を決定論的に再現したり、マージ性能を確実にベンチマークしたりするのに役立ちます。[#96122](https://github.com/ClickHouse/ClickHouse/pull/96122) ([Anton Popov](https://github.com/CurtizJ)).
* テーブルで使用されている named collections が削除されるのを防ぐため、設定 `check_named_collection_dependencies` によってデフォルトで有効になる新しいチェックを追加しました。[#96181](https://github.com/ClickHouse/ClickHouse/pull/96181) ([Pablo Marcos](https://github.com/pamarcos)).
* サーバー内の既存のフェイルポイントと、それらが有効かどうかを確認するための `system.fail_points` が追加されました。これにより、テストの自動化がしやすくなります。[#96762](https://github.com/ClickHouse/ClickHouse/pull/96762) ([Pedro Ferreira](https://github.com/PedroTadim)).
* Glue カタログへのロールベースアクセスを追加。設定 `aws_role_arn` と、必要に応じて `aws_role_session_name` を使用します。[#90825](https://github.com/ClickHouse/ClickHouse/pull/90825) ([Antonio Andelic](https://github.com/antonio2368)).
* 有効にすると、すべての `Date`、`Date32`、`Time`、`Time64`、`DateTime`、`DateTime64` カラムに対して minmax 索引を自動的に作成する設定 `add_minmax_index_for_temporal_columns` が追加されました。[#93355](https://github.com/ClickHouse/ClickHouse/pull/93355) ([Michael Jarrett](https://github.com/EmeraldShift)) 。
* JOINでの拡張テーブル別名をサポートしました (`SELECT * FROM (SELECT 1) AS t(a) JOIN (SELECT 1) AS u(b) ON a = b` のようなクエリ) 。[#95131](https://github.com/ClickHouse/ClickHouse/issues/95131) をクローズしました。[#95331](https://github.com/ClickHouse/ClickHouse/pull/95331) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* Icebergテーブルで `ALTER TABLE RENAME COLUMN` がサポートされました。これまでは `ADD COLUMN, DROP COLUMN, and MODIFY COLUMN` のみがサポートされていました。[#97455](https://github.com/ClickHouse/ClickHouse/pull/97455) ([murphy-4o](https://github.com/murphy-4o)).

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* テキスト索引が GA になりました。 [#96794](https://github.com/ClickHouse/ClickHouse/pull/96794) ([Robert Schulze](https://github.com/rschu1ze)).
* 量子化されたビットパック形式のベクトル格納 (近似最近傍探索で使用) 向けの `QBit` データ型が一般提供となり、実験的な設定を有効にする必要がなくなりました。 [#95358](https://github.com/ClickHouse/ClickHouse/pull/95358) ([Raufs Dunamalijevs](https://github.com/rienath)).
* ClickHouse のベクトル検索で、クラスター内のレプリカを使ってベクトル索引パーツの検索負荷を\_分散\_できるようになりました。これにより、ClickHouse は単一の VM のメモリ容量を超える大規模なベクトル索引をサポートできます。 [#95876](https://github.com/ClickHouse/ClickHouse/pull/95876) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `ast_fuzzer_runs` および `ast_fuzzer_any_query` 設定で制御されるサーバー側 AST fuzzer を追加しました。有効にすると、サーバーは各クエリの通常実行後に、そのランダム化した改変版を実行し、結果は破棄します。 [#97568](https://github.com/ClickHouse/ClickHouse/pull/97568) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 実験的な KQL ダイアレクトに `iif` 関数を追加しました。 [#94790](https://github.com/ClickHouse/ClickHouse/pull/94790) ([happyso](https://github.com/sunyeongchoi)).
* スキーマ推論で `allow_experimental_nullable_tuple_type` が考慮されるようになりました。有効にすると、推論された Tuple 型で `Nullable(Tuple(...))` を使えるようになるため、欠落したネストされたオブジェクトを `NULL` 要素の Tuple ではなく `NULL` として扱えます。 [#95525](https://github.com/ClickHouse/ClickHouse/pull/95525) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `use_statistics_cache` 設定がデフォルトで有効になり、カラム STATISTICS がメモリに cache されるようになりました。これにより、各パーツから毎回再読み込みしなくてもクエリ最適化を高速化できます。 [#95950](https://github.com/ClickHouse/ClickHouse/pull/95950) ([Han Fei](https://github.com/hanfei1991)).

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* 主キー内の任意の決定論的な式をデータスキップに使用できるようになりました (例: `ORDER BY cityHash64(user_id)`/ `ORDER BY length(user_id)`) 。決定論的な式については、ClickHouse はその式をクエリ定数に適用し、その結果を主キー索引で `=`, `IN`, `has` などの述語に利用できます。さらに、その式が単射でもある場合 (例: `ORDER BY hex(p)` または `ORDER BY reverse(tuple(reverse(p), hex(p)))`) 、否定形である `!=`, `NOT IN`, `NOT has` でも索引を効果的に利用できます。[#10685](https://github.com/ClickHouse/ClickHouse/issues/10685) を解決。[#82161](https://github.com/ClickHouse/ClickHouse/issues/82161) を解決。[#92952](https://github.com/ClickHouse/ClickHouse/pull/92952) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 統計情報の保存フォーマットが改善され、すべての統計情報が単一のファイルに保存されるようになりました。[#93414](https://github.com/ClickHouse/ClickHouse/pull/93414) ([Anton Popov](https://github.com/CurtizJ)).
* ファイルシステムキャッシュで、リモートテーブルエンジン/関数の並列読み込みに対応しました。[#71781](https://github.com/ClickHouse/ClickHouse/pull/71781) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ローカルファイルおよびオブジェクトストレージのテーブル関数で、ユーザー空間ページキャッシュを使用できるようになりました。[#77874](https://github.com/ClickHouse/ClickHouse/pull/77874) ([Michael Kolupaev](https://github.com/al13n321)).
* ユーザー空間のページキャッシュで不要な memcpy を回避。[#77884](https://github.com/ClickHouse/ClickHouse/pull/77884) ([Michael Kolupaev](https://github.com/al13n321)).
* `concurrent_threads_scheduler` のデフォルトが、`fair_round_robin` から `max_min_fair` に変更されました。これにより、高負荷時には割り当てスロット数の少ないクエリが優先されるようになり、公平性が向上します。その結果、短時間で終わるクエリが長時間実行されるクエリのせいで不利になることがなくなります。[#95300](https://github.com/ClickHouse/ClickHouse/pull/95300) ([Sergei Trifonov](https://github.com/serxa)).
* `FINAL` クエリで、フィルタリングに主キーの条件を使用し、ほかの条件にはスキップ索引を使用した場合、`PrimaryKeyExpand` の処理ステップでは、最初に絞り込まれた主キー範囲についてのみ交差を確認するようになりました。[#94903](https://github.com/ClickHouse/ClickHouse/pull/94903) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `s3(...)` のようなテーブル関数で並列レプリカを使用する場合、テーブル関数を単一のサブクエリでラップしたクエリも、以前はテーブル関数への直接参照のみが並列化の対象だったのに対し、現在ではレプリカ間で自動的に並列化されるようになりました。[#92264](https://github.com/ClickHouse/ClickHouse/issues/92264) をクローズしました。[#96332](https://github.com/ClickHouse/ClickHouse/pull/96332) ([phulv94](https://github.com/phulv94))。
* cache内のデータファイルとシステムファイルを、それぞれ別のセグメントに分割できるようにしました。 [#87834](https://github.com/ClickHouse/ClickHouse/pull/87834) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* `ColumnVector::replicate` の動的ディスパッチを実装し、一部のハッシュ結合処理を高速化しました。[#79573](https://github.com/ClickHouse/ClickHouse/pull/79573) ([Raúl Marín](https://github.com/Algunenano)) 。
* 複雑な述語条件がある場合の並列ハッシュ結合の性能を改善しました。従来は結合されなかった行を1つのスレッドで処理していましたが、これは最適ではなかったため、この最適化ではそれらの行の処理を複数のスレッドに並列化します。`parallel_non_joined_rows_processing` 設定で切り替えできます。デフォルトで有効です。[#92068](https://github.com/ClickHouse/ClickHouse/pull/92068) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* JSON型のパースを若干最適化しました。[#93614](https://github.com/ClickHouse/ClickHouse/pull/93614) ([Pavel Kruglov](https://github.com/Avogar)).
* AST のメモリ使用量を削減。ハイライト表示が使われず、VALUES のパースも行われない場合はフィールドが使用されないため、この最適化は有効です。[#93974](https://github.com/ClickHouse/ClickHouse/pull/93974) ([Ilya Yatsishin](https://github.com/qoega)).
* named Tuple ASTオブジェクトのメモリ消費を最適化しました。カラム名を汎用的なASTリテラルノードに保持するのではなく、tupleオブジェクト内に文字列として格納するようにしました。[#94704](https://github.com/ClickHouse/ClickHouse/pull/94704) ([Ilya Yatsishin](https://github.com/qoega)).
* 追加のリンカオプションにより、デバーチャライゼーションが向上しました。 [#94737](https://github.com/ClickHouse/ClickHouse/pull/94737) ([Nikita Taranov](https://github.com/nickitat)).
* ZooKeeper リクエストをバッチ化することで、多数のパーツを持つ ReplicatedMergeTree テーブルのレプリカのクローン作成時の性能を改善。 [#94847](https://github.com/ClickHouse/ClickHouse/pull/94847) ([c-end](https://github.com/c-end)).
* read step にすでに PREWHERE フィルタがある場合、新しいフィルタは追加できませんでした。この変更により、PREWHERE の最適化は JOIN ランタイムフィルタ最適化の後まで延期され、ランタイムフィルタも PREWHERE にプッシュできるようになりました。 [#95838](https://github.com/ClickHouse/ClickHouse/pull/95838) ([Alexander Gololobov](https://github.com/davenger)).
* x86で動的ディスパッチを用いることで、`T64` codecの圧縮を高速化。[#95881](https://github.com/ClickHouse/ClickHouse/pull/95881) ([Raúl Marín](https://github.com/Algunenano)).
* 可能な場合 (`NULL`不可、`-If` ではない、GROUP BY なし、IPv6 または String ではない) に、insert のバッチ化によって数値型に対する `uniq` を高速化しました。[#95904](https://github.com/ClickHouse/ClickHouse/pull/95904) ([Raúl Marín](https://github.com/Algunenano)) 。
* Keeper 向けの低レベル最適化: `ZooKeeper::observeOperations` が、ZooKeeper の受信スレッドにおける CPU 使用量の 20% 超を占めていることが判明しました。この変更では、次の点に対応しています。1. `AggregatedZooKeeperLog::stats` では、`SipHash` の代わりに 10 倍以上高速な `CityHash64` を使用します。2. `Coordination::ErrorCounter` では、`std::unordered_map` と `std::mutex` の代わりに `std::array<std::atomic<UInt32>, N>` を使用します。[#95962](https://github.com/ClickHouse/ClickHouse/pull/95962) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* メモリを節約するため、ProfileEvents::Counter の 64 バイト境界へのアラインメントを廃止しました。[#96097](https://github.com/ClickHouse/ClickHouse/pull/96097) ([Azat Khuzhin](https://github.com/azat)) 。
* メモリ最適化: `CachedOnDiskReadBufferFromFile` 構造体のサイズを50分の1に削減しました。[#96098](https://github.com/ClickHouse/ClickHouse/pull/96098) ([Azat Khuzhin](https://github.com/azat)).
* 空のハッシュテーブルをリサイズする際に、古いデータをコピーしないようにしました。[#96180](https://github.com/ClickHouse/ClickHouse/pull/96180) ([Raúl Marín](https://github.com/Algunenano)) 。
* `RIGHT OUTER` JOIN での JOIN ランタイムフィルタをサポート。 [#96183](https://github.com/ClickHouse/ClickHouse/pull/96183) ([Hechem Selmi](https://github.com/m-selmi)).
* 最適化設定 `enable_join_runtime_filters` がデフォルトで有効になりました。[#89314](https://github.com/ClickHouse/ClickHouse/pull/89314) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 従来、テキスト索引の direct read 最適化は、すべてのパーツにマテリアライズ済みのテキスト索引がある場合にのみ適用されていました。この PR では部分的なサポートが追加され、一部のパーツにマテリアライズ済みのテキスト索引がある場合はそれらのパーツでそれが使用され、マテリアライズ済みのテキスト索引がないパーツでは元のフィルタ式を実行する形にフォールバックします。[#96411](https://github.com/ClickHouse/ClickHouse/pull/96411) ([Anton Popov](https://github.com/CurtizJ)).
* フィルタリングを高速化するため、systemログテーブルの時間カラムに `minmax` セカンダリ索引を、`query_id`/`initial_query_id` カラムに `bloom_filter` 索引を追加しました。 [#96712](https://github.com/ClickHouse/ClickHouse/pull/96712) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 遅延マテリアライゼーションの最適化が、`UNION ALL` クエリの最初の分岐だけでなく、すべての分岐に適用されるようになりました。これにより、異なる `MergeTree` テーブルからの複数のソート済み・件数制限付きの読み取りを `UNION ALL` で組み合わせるクエリでは、すべての分岐で必要になるまでカラムの読み取りが遅延され、I/O が削減されます。[#96832](https://github.com/ClickHouse/ClickHouse/pull/96832) ([Federico Ginosa](https://github.com/menxit)).
* 不要なデータコピーをなくし、数値カラムでベクトル化された最小値/最大値計算を有効にすることで、INSERT 時の minmax スキップ索引の計算を最適化しました。 [#97392](https://github.com/ClickHouse/ClickHouse/pull/97392) ([Raúl Marín](https://github.com/Algunenano)).
* ストレージ `DeltaLake` は、Delta Lake のメタデータから `count()` の結果を取得するようになり、system.tables に正しいテーブル統計情報 (合計バイト数/行数) が表示されるようになりました。 [#96190](https://github.com/ClickHouse/ClickHouse/pull/96190) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 未使用のカラムは、MergeTree から読み取る場合、読み取りステップからも除外されます。特に、フィルタが `PREWHERE` にプッシュダウンされる場合に有効です。[#89982](https://github.com/ClickHouse/ClickHouse/pull/89982) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* テーブル名のみを取得することで`SHOW TABLES`クエリの処理を改善し、getLightweightTablesIteratorがテーブル名のみを含む構造を返すようにしました。[#93835](https://github.com/ClickHouse/ClickHouse/issues/93835) を解決しました。[#94467](https://github.com/ClickHouse/ClickHouse/pull/94467) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* キーカラムがこれらの関数でラップされている場合でも、範囲述語に対して主キーおよびスキップ索引のプルーニングを有効にできるよう、`assumeNotNull`、`coalesce`、`ifNull` を改善しました。[#94689](https://github.com/ClickHouse/ClickHouse/issues/94689) をクローズしました。[#94754](https://github.com/ClickHouse/ClickHouse/pull/94754) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* getChildren Keeper リクエストに with\_data と with\_stat を追加しました。これにより、子の一覧だけでなく、その `stat` や `data` も 1 回の操作でまとめて取得できるようになります。[#94826](https://github.com/ClickHouse/ClickHouse/pull/94826) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* 最終的にローカルプランを実行する場合でも、並列レプリカを使用するプランを実行する場合でも、索引解析は (ほとんどの場合) 一度しか行われません。 [#94854](https://github.com/ClickHouse/ClickHouse/pull/94854) ([Nikita Taranov](https://github.com/nickitat)).
* パーツ数 (`distributed_index_analysis_min_parts_to_activate`) と索引のサイズ (`distributed_index_analysis_min_indexes_size_to_activate`) に応じて、分散索引解析を有効化できるようにしました。[#95216](https://github.com/ClickHouse/ClickHouse/pull/95216) ([Azat Khuzhin](https://github.com/azat)) 。
* IcebergテーブルでのPREWHERE最適化を有効化。 [#95476](https://github.com/ClickHouse/ClickHouse/pull/95476) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* 一部のASTクラスのメモリ消費量を削減しました。[#95514](https://github.com/ClickHouse/ClickHouse/pull/95514) ([Raúl Marín](https://github.com/Algunenano)) 。
* `split_intersecting_parts_ranges_into_layers` を有効にした際に生成されるパイプラインストリームの数を制限します。これにより、メモリの過剰な消費を防ぐことができます。[#96478](https://github.com/ClickHouse/ClickHouse/pull/96478) ([Nikita Taranov](https://github.com/nickitat)).
* 複数の JOIN に対する等価集合最適化を実装しました。複数の `INNER JOIN` を連続して含むクエリで、filter pushdown 最適化が強化されました。テーブルが等価なカラム同士で結合されている場合 (例: `t1 JOIN t2 ON t1.id = t2.id JOIN t3 ON t2.id = t3.id WHERE t1.id > 10`) 、この chain 内のいずれかのテーブルに適用されたフィルタは、自動的にすべてのテーブルにプッシュダウンされます。[#96550](https://github.com/ClickHouse/ClickHouse/issues/96550) をクローズしました。[#96596](https://github.com/ClickHouse/ClickHouse/pull/96596) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* Delta Lake のメタデータスキャンを最適化しました。delta-kernel の PR [https://github.com/delta-io/delta-kernel-rs/pull/1827](https://github.com/delta-io/delta-kernel-rs/pull/1827) の変更を利用しています。 [#96686](https://github.com/ClickHouse/ClickHouse/pull/96686) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Replicated database では、ダミークエリのたびにキャッシュされたクラスターを更新しないようにしました。[#96897](https://github.com/ClickHouse/ClickHouse/pull/96897)  ([Tuan Pham Anh](https://github.com/tuanpach)) 。
* プレフィックスが ASCII 文字のみで構成されている場合、`startsWithUTF8` によるフィルタリングで主キー索引を使用します。[#97055](https://github.com/ClickHouse/ClickHouse/pull/97055) ([vkcku](https://github.com/vkcku)).

<div id="267-improvement">
  #### 改善
</div>

* Keeper へのリクエストに対する OpenTelemetry トレーシングを追加しました。 [#91332](https://github.com/ClickHouse/ClickHouse/pull/91332) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 新しい設定オプション: `logger.startup_console_level` と `logger.shutdown_console_level` が追加され、それぞれ ClickHouse の起動時および停止時のコンソールログレベルを上書きできるようになりました。[#95919](https://github.com/ClickHouse/ClickHouse/pull/95919) ([Garrett Thomas](https://github.com/garrettthomaskth)).
* 設定の再読み込み時に、コマンドラインで指定したオーバーライドを尊重するようにしました。[#80294](https://github.com/ClickHouse/ClickHouse/issues/80294) をクローズ。[#80295](https://github.com/ClickHouse/ClickHouse/pull/80295) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `mongodb` テーブル関数で、名前付きコレクションのパラメーターに対するキー・バリューによる上書きを許可しました。[#89616](https://github.com/ClickHouse/ClickHouse/pull/89616) ([vanchaklar](https://github.com/vanchaklar)).
* Iceberg テーブル向けの read-in-order 最適化で、単純なカラム参照だけでなく、`icebergBucket` や `icebergTruncate` のような複雑なソート関数も利用できるようになりました。[#90256](https://github.com/ClickHouse/ClickHouse/pull/90256) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 診断機能を向上させるため、system.mutations に parts\_postpone\_reasons という新しいカラムを追加しました。これにより、パーツが延期された理由を確認できます。[#92206](https://github.com/ClickHouse/ClickHouse/pull/92206) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `DataflowStatisticsCache` で、読み取る行数の変化 (insert/delete や query condition cache の使用によるもの) を追跡できるようになりました。 [#93636](https://github.com/ClickHouse/ClickHouse/pull/93636) ([Nikita Taranov](https://github.com/nickitat)).
* SYSTEM RESET DDL WORKER \[ON CLUSTER] クエリに対応しました。このクエリは、メインスレッド内の DDLWorker の状態をリセットします。ホスト ID が更新された際に、レプリカの active 状態を更新するのに役立ちます。[#93780](https://github.com/ClickHouse/ClickHouse/pull/93780) ([Tuan Pham Anh](https://github.com/tuanpach)) 。
* イベントタイプ `MUTATE_PART` および `MUTATE_PART_START` について、`system.part_log` で `mutation_ids` をサポートしました。[#93811](https://github.com/ClickHouse/ClickHouse/pull/93811) ([Shaohua Wang](https://github.com/tiandiwonder)).
* バックグラウンド操作 (Mutate、Merge) を 'background' プロファイルで個別に設定できるようになりました。従来、これらの操作は 'default' プロファイルを介して通常のクエリと同じ設定を共有していました。[#93905](https://github.com/ClickHouse/ClickHouse/pull/93905) ([Arsen Muk](https://github.com/arsenmuk)).
* `system.crash_log` に、さらに多くの情報を追加しました。[#94112](https://github.com/ClickHouse/ClickHouse/pull/94112) [#95857](https://github.com/ClickHouse/ClickHouse/pull/95857) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 実行中の非内部クエリ数を追跡するため、新しい`QueryNonInternal`メトリクスを追加しました。このメトリクスは`ClickHouseMetrics_QueryNonInternal`として公開され、非内部クエリにのみ適用される`max_concurrent_queries`制限に対して、運用担当者がクエリの同時実行数を監視するのに役立ちます。[#94284](https://github.com/ClickHouse/ClickHouse/pull/94284) ([Ashwath Singh](https://github.com/ashwath)).
* `RuntimeDataflowStatisticsCacheUpdater` で、compact パーツ内のカラムに対する入力バイトの統計情報収集をサポートしました。[#94626](https://github.com/ClickHouse/ClickHouse/pull/94626) ([Nikita Taranov](https://github.com/nickitat)).
* Keeper の設定不備によってクラスターの構築に失敗するケースを検出するチェックを追加しました。[#60932](https://github.com/ClickHouse/ClickHouse/issues/60932) をクローズします。[#94682](https://github.com/ClickHouse/ClickHouse/pull/94682) ([Konstantin Bogdanov](https://github.com/thevar1able))。
* partの読み込み時におけるJSONプレフィックスのデシリアライゼーションを改善しました。[#94848](https://github.com/ClickHouse/ClickHouse/pull/94848) ([Pavel Kruglov](https://github.com/Avogar)) 。
* 書き込み処理を完全なINSERTパイプラインを使用するようにリファクタリングし、ターゲットテーブル上のmaterialized viewがトリガーされるようにしました。 [#94890](https://github.com/ClickHouse/ClickHouse/pull/94890) ([Kai Zhu](https://github.com/nauu)) 。
* 検索対象のカラムに索引がある場合にのみ、ベクトル類似度検索のプラン最適化を適用するようにしました。 [#94998](https://github.com/ClickHouse/ClickHouse/pull/94998) ([Eduard Karacharov](https://github.com/korowa)).
* ユーザー認証の前に合計メモリ制限を確認し、合計制限が許容値を超えている場合は `(total) memory limit exceeded` をスローします。[#95003](https://github.com/ClickHouse/ClickHouse/pull/95003) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `throw_on_unmatched_row_policies` 設定オプションが追加されました。このオプションを有効にすると、ユーザーが行ポリシーの設定されたテーブルにクエリを実行した際、そのユーザーに適用される行ポリシーが1つもない場合に例外がスローされます。これにより、アクセス制御の設定ミスによって全行が返されるという曖昧な挙動を防げます。[#95014](https://github.com/ClickHouse/ClickHouse/pull/95014) ([Vitaly Baranov](https://github.com/vitlibar)).
* Unity Catalog を使用する長時間実行されるクエリで、S3 アクセストークンを動的に更新できるようになりました。これにより [#93981](https://github.com/ClickHouse/ClickHouse/issues/93981) がクローズされました。[#95069](https://github.com/ClickHouse/ClickHouse/pull/95069) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* ClickHouse が `memory_worker_decay_adjustment_period_ms` ミリ秒の間、継続的にメモリ逼迫状態にある場合、jemalloc のダーティページ減衰を無効にします。ClickHouse が同じ時間だけ通常状態で動作している場合は、jemalloc のダーティページ減衰を再度有効にします。[#95145](https://github.com/ClickHouse/ClickHouse/pull/95145) ([Antonio Andelic](https://github.com/antonio2368)).
* S3Queue で、s3Queue の `keeper_path` 設定を使用する補助的な Zookeeper サポートを追加。[#95203](https://github.com/ClickHouse/ClickHouse/pull/95203) ([Diego Nieto](https://github.com/lesandie)) 。
* TTL の drop パーツマージで `max_parts_to_merge_at_once` を適用するようにしました。 [#95315](https://github.com/ClickHouse/ClickHouse/pull/95315) ([Kseniia Sumarokova](https://github.com/kssenii))。
* 物理的な接続を反映するため、query\_log に `connection_address` と `connection_port` を追加しました (proxy 経由で接続され、auth\_use\_forwarded\_address=1 の場合、`address` と `port` は置き換えられます) 。[#95471](https://github.com/ClickHouse/ClickHouse/pull/95471) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)) 。
* クエリ条件cacheにおける誤ったメモリ使用量の計上を修正しました。主な問題は、複数の文字列 (part\_name、テーブルID、SQL条件全体など) で構成されるcacheキーが考慮されていなかったことです。 [#95478](https://github.com/ClickHouse/ClickHouse/pull/95478) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* 埋め込み configuration で起動したサーバーでは、通常の設定と同様に、Users と grants を操作し、それらを `access` directory に保存できるようになりました。これにより、テストがしやすくなります。さらに、埋め込み configuration と clickhouse-local で access\_control\_improvements がすべて有効になりました。 [#95481](https://github.com/ClickHouse/ClickHouse/pull/95481) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* S3 認証のエラーメッセージを改善し、アクセス拒否時に credentials を確認するよう促すヒントを含めました。[#95648](https://github.com/ClickHouse/ClickHouse/pull/95648) ([Gerald Latkovic](https://github.com/batkovic75)).
* 統計キャッシュを有効にし、キャッシュの更新間隔を300秒に設定しました。[#95841](https://github.com/ClickHouse/ClickHouse/pull/95841) ([Han Fei](https://github.com/hanfei1991)) 。
* `system.aggregated_zookeeper_log` にコンポーネント名を追加しました。[#95882](https://github.com/ClickHouse/ClickHouse/pull/95882) ([Antonio Andelic](https://github.com/antonio2368)) 。
* `system.tables` から `DeltaLake` テーブルをクエリする際、オブジェクトストレージの読み取りをスキップするようにしました。 [#95899](https://github.com/ClickHouse/ClickHouse/pull/95899) ([Antonio Andelic](https://github.com/antonio2368)).
* `compatibility` 設定が `26.2` 以上の場合、デフォルトで `enable_max_bytes_limit_for_min_age_to_force_merge` を有効化しました。[#95917](https://github.com/ClickHouse/ClickHouse/pull/95917) ([Christoph Wurm](https://github.com/cwurm)).
* Delta Lake が macOS で利用可能になりました。#95979 を解決しました。[#95985](https://github.com/ClickHouse/ClickHouse/pull/95985) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 以前のバージョンでは、UPDATE および RENAME COLUMN を含む競合する ALTER 式を組み合わせると、適切な例外ではなく論理エラーがスローされていました。[#70678](https://github.com/ClickHouse/ClickHouse/issues/70678) を修正しました。[#96022](https://github.com/ClickHouse/ClickHouse/pull/96022) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* すべての ClickHouse アプリケーションのヘルプ出力を改善し、いくつかの修正を加えるとともに `--no-sudo` オプションを追加しました。これは、[Ilya Yatsishin](https://github.com/qoega) による [#58244](https://github.com/ClickHouse/ClickHouse/issues/58244) の続きです。[#96025](https://github.com/ClickHouse/ClickHouse/pull/96025) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 他のすべての距離関数にはすでにこの形式のエイリアスがあるため、`cosineDistance` のエイリアスとして `distanceCosine` を追加しました。[#96065](https://github.com/ClickHouse/ClickHouse/pull/96065) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* `with_data` Keeper 拡張機能のサポートを追加し、Database Replicated におけるテーブルのフェッチを改善しました。[#96090](https://github.com/ClickHouse/ClickHouse/pull/96090) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* chdig を [v26.2.1](https://github.com/azat/chdig/releases/tag/v26.2.1) に更新 (新機能の追加および MacOS 対応) 。[#96113](https://github.com/ClickHouse/ClickHouse/pull/96113) ([Azat Khuzhin](https://github.com/azat)) 。
* `numbers` と `primes` の filter pushdown を改善しました。ClickHouse は、正確な境界を導き出せない場合でも `WHERE` 条件から保守的な値の範囲を導き出し、それに応じてシーケンス生成を制限できるようになりました (たとえば `WHERE number % 5 < 2 AND number > 100 AND number < 300` の場合、ClickHouse は 100 から 300 までの数値だけを生成してから predicate を適用します) 。これにより、範囲が限定されないスキャンを回避できます。[#84853](https://github.com/ClickHouse/ClickHouse/issues/84853) をクローズ。[#93913](https://github.com/ClickHouse/ClickHouse/issues/93913) をクローズ。[#96115](https://github.com/ClickHouse/ClickHouse/pull/96115) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* 以前は、パース時の曖昧さを避けるため、`COMMENT` 句がある場合、フォーマッタは `SELECT` を括弧で囲んでいました。代わりに、`COMMENT` を `AS SELECT` の前に出力することで、括弧を使わずに曖昧さを解消するようになりました。 [#96293](https://github.com/ClickHouse/ClickHouse/pull/96293) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `allow_impersonate_user` 設定は、単独のサーバー設定ではなく、`access_control_improvements` セクション内に配置されるようになりました。[#96451](https://github.com/ClickHouse/ClickHouse/pull/96451)  ([Vitaly Baranov](https://github.com/vitlibar)) 。
* `core_dump.size_limit` 設定をホットリロード可能にし、設定変更を反映するためにサーバーを再起動しなくても済むようにしました。[#96524](https://github.com/ClickHouse/ClickHouse/pull/96524) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* ソケットタイムアウト時の CPU およびリアルタイムプロファイラの相互運用性を改善しました。[#96601](https://github.com/ClickHouse/ClickHouse/pull/96601) ([Sergei Trifonov](https://github.com/serxa)).
* DROP COLUMN mutation の直後に ADD COLUMN を短時間で実行した場合に、削除済みデータが復活するのを防ぎます。 [#96713](https://github.com/ClickHouse/ClickHouse/pull/96713) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.instrumentation` の `function_id` の型を LowCardinality(Int32) から Int32 に変更。[#96726](https://github.com/ClickHouse/ClickHouse/pull/96726) (Copilot)。
* ミューテーションの同期的な待機で、クエリのキャンセルや時間制限が反映されるようになりました。[#96756](https://github.com/ClickHouse/ClickHouse/pull/96756) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* delta-kernel のログを変更できるようにするシステムコマンド `SYSTEM RELOAD DELTA KERNEL TRACING <level>` を追加しました。これはデバッグ時に役立つ場合があります。[#96763](https://github.com/ClickHouse/ClickHouse/pull/96763) ([Kseniia Sumarokova](https://github.com/kssenii)).
* IP アドレスファミリーに基づくフィルタリング、つまり `dns_allow_resolve_names_to_ipv4/ipv6` 設定は、DNS cache が無効になっている場合でも適用されます。 [#96810](https://github.com/ClickHouse/ClickHouse/pull/96810) ([c-end](https://github.com/c-end)).
* jemalloc のイントロスペクションを改善。 [#96840](https://github.com/ClickHouse/ClickHouse/pull/96840) ([Azat Khuzhin](https://github.com/azat)).
* システムテーブルにクエリを実行した際に、`/play` Web UI で `QUERY_CACHE_USED_WITH_SYSTEM_TABLE` がスローされる問題を修正しました。[#96869](https://github.com/ClickHouse/ClickHouse/pull/96869) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Web UI を改善: 実行中のクエリであることがわかるように favicon を変更し、補助クエリ (database と table の読み込み) で発生した error を黙って無視せず表示するようにしました。Closes [#85055](https://github.com/ClickHouse/ClickHouse/issues/85055). [#96883](https://github.com/ClickHouse/ClickHouse/pull/96883) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `/play` UI の左パネルをクリックして、データベース一覧の表示/非表示を切り替えられるようにしました。[#96884](https://github.com/ClickHouse/ClickHouse/pull/96884) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `DROP DATABASE` は、データベースにロード時の依存関係を持つテーブル (例: `joinGet` を使用する `Distributed` テーブル) が含まれている場合に、依存関係の逆順でテーブルを削除するようになり、クラッシュ安全性が向上しました。[#97057](https://github.com/ClickHouse/ClickHouse/pull/97057) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 無効な YAML がスキップされないよう、yaml-cpp を更新しました。[#97333](https://github.com/ClickHouse/ClickHouse/pull/97333) ([Azat Khuzhin](https://github.com/azat)) 。
* `play.html` のサイドバーでテーブルの取得中に読み込みインジケーターを表示するようにしました。[#97531](https://github.com/ClickHouse/ClickHouse/pull/97531) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 組み込みの Web UI (play.html) に、生のクエリ結果をクリップボードにコピーするボタンを追加しました。 [#97532](https://github.com/ClickHouse/ClickHouse/pull/97532) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリ難読化ツール (`clickhouse-format --obfuscate`) を修正し、より多くのケースで解析可能な SQL を生成できるようにしました。[#97584](https://github.com/ClickHouse/ClickHouse/pull/97584) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* Enum の要素を拡張するなどのメタデータのみの ALTER の後、プロジェクションを用いた集約の最適化で例外が発生する場合があります。[#84143](https://github.com/ClickHouse/ClickHouse/pull/84143) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* materialized view は、作成されたデータベースを実行コンテキストとして使用するようになりました。これは次のことを意味します。 - view の SELECT クエリで参照される名前については、明示的なデータベース修飾を省略できます - 明示的なデータベース修飾が指定されていない場合は、materialized view が作成されたのと同じデータベースが使用されます。 [#88193](https://github.com/ClickHouse/ClickHouse/pull/88193) ([Dmitry Kovalev](https://github.com/dk-github)).
* ON CLUSTER 使用時の CREATE USER の認証方法におけるクエリパラメータの置換を修正しました。認証方法内のクエリパラメータ (例: password) が置換されず、リモートノードで UNKNOWN\_QUERY\_PARAMETER エラーが発生していました。[#92777](https://github.com/ClickHouse/ClickHouse/pull/92777) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* `has`、`mapContainsKey`、`mapContainsValue` 関数におけるテキスト索引解析の不整合を修正しました。これまでは、これらの関数を使用するクエリで、式がテキスト索引を使って評価されるかどうかによって、結果が異なることがありました。 [#93578](https://github.com/ClickHouse/ClickHouse/pull/93578) ([Anton Popov](https://github.com/CurtizJ)).
* スタックのアンワインド中に `dropReplicationSlot` が例外を送出した場合、`MaterializedPostgreSQL` データベースにテーブルをアタッチするとクラッシュする問題を修正しました。[#96871](https://github.com/ClickHouse/ClickHouse/pull/96871) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同じファイルを巡って競合するバックアップを多数同時実行すると、サーバーがクラッシュする可能性がありました。[#93659](https://github.com/ClickHouse/ClickHouse/pull/93659) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 並列レプリカを使用するクエリおよび non-MT テーブルとの JOIN に関する問題を修正しました。[#92056](https://github.com/ClickHouse/ClickHouse/issues/92056) をクローズします。[#93902](https://github.com/ClickHouse/ClickHouse/pull/93902) ([Igor Nikonov](https://github.com/devcrafter)).
* 名前にドットを含む Iceberg のカラムで、値が NULL として返される問題を修正しました。[#94335](https://github.com/ClickHouse/ClickHouse/pull/94335) ([Mikhail Koviazin](https://github.com/mkmkme)) 。
* `stringJaccardIndexUTF8` における UTF8 文字列の処理を修正し、パフォーマンスを改善しました。[#94613](https://github.com/ClickHouse/ClickHouse/pull/94613) ([Joanna Hulboj](https://github.com/jh0x)) 。
* `WITH FILL STALENESS` で発生しうるオーバーフロー (UB や無限ループの原因となるもの) を修正しました。大きな値の飛びによって発生しうる無限ループを修正しました。旧アナライザのサポートを追加しました (主にストレステスト向け) 。[#94663](https://github.com/ClickHouse/ClickHouse/pull/94663) ([Azat Khuzhin](https://github.com/azat)).
* ホスト名が複数のアドレスに解決され、リモートのレプリカがフリーズした際に、分散クエリがハングする可能性がある問題を修正しました。 [#94726](https://github.com/ClickHouse/ClickHouse/pull/94726) ([c-end](https://github.com/c-end)).
* 複数のテーブル式を結合する際に、左端のテーブル式が`-Cluster`テーブル関数である場合に不正な結果が返される問題を修正しました。[#89996](https://github.com/ClickHouse/ClickHouse/issues/89996) を解決しました。[#94748](https://github.com/ClickHouse/ClickHouse/pull/94748) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* `toWeek`、`toYearWeek`、`toStartOfWeek`、`toLastDayOfWeek`、`toDayOfWeek` を含む述語における主キーおよびスキップ索引のプルーニングの不具合を修正し、`LowCardinality(String)` を使用した有効なクエリでこれらの関数の一部が例外を発生させる問題も修正しました。[#94816](https://github.com/ClickHouse/ClickHouse/pull/94816) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* SQL Security を持つビューに対する `ATTACH` クエリで、不要に権限チェックをスキップしていた処理を削除しました。これにより、必要なアクセス権を検証せずに definer 付きのビューをアタッチした場合に起こり得る権限昇格を防止します。[#94865](https://github.com/ClickHouse/ClickHouse/pull/94865) ([pufit](https://github.com/pufit)).
* `ReplicatedMergeTree` の起動時に、`delete_tmp_*` ディレクトリが並行して削除されることで発生していたクラッシュを修正しました。[#94892](https://github.com/ClickHouse/ClickHouse/pull/94892) ([myeongjun](https://github.com/myeongjjun)).
* materialized view を持つ Iceberg table への `INSERT` で deduplication 情報が失われて例外が発生していた問題を修正しました。[#94938](https://github.com/ClickHouse/ClickHouse/pull/94938) ([Daniil Ivanik](https://github.com/divanik)) 。
* `SYSTEM DROP QUERY CACHE TAG 'TAGNAME' ON CLUSTER <CLUSTERNAME>` を実行すると、クラスター上のcache全体が削除されてしまう不具合を修正しました。[#94978](https://github.com/ClickHouse/ClickHouse/pull/94978) ([Rory Crispin](https://github.com/RoryCrispin)).
* Vertical merges 後も一定の索引粒度 (use\_const\_adaptive\_granularity) を維持するようにしました (Nested の修正を含む v2 および一般的なケース) 。 [#95013](https://github.com/ClickHouse/ClickHouse/pull/95013) ([Azat Khuzhin](https://github.com/azat)).
* \[ClickHouse/ClickHouse[#82764](https://github.com/ClickHouse/ClickHouse/issues/82764)]\([https://github.com/ClickHouse/ClickHouse/pull/82764](https://github.com/ClickHouse/ClickHouse/pull/82764)) の後、バージョン26.1におけるファイルシステムキャッシュの競合状態を修正しました。[#95042](https://github.com/ClickHouse/ClickHouse/pull/95042) ([Kseniia Sumarokova](https://github.com/kssenii)).
* clickhouse-client での KILL QUERY およびクエリのキャンセル (Ctrl+C) による postgresql() テーブル関数のキャンセル処理を修正しました。 [#95136](https://github.com/ClickHouse/ClickHouse/pull/95136) ([Roman Vasin](https://github.com/rvasin)).
* 複数の JOIN で `USING` 句を使用した場合の、ソーステーブル由来の修飾付きカラムに対する型推論を修正しました。以前は、そのカラムが後続の JOIN に関与していない場合でも、基になるソースカラムの型が誤って共通スーパータイプに更新されていました (たとえば `SELECT t2.a FROM t1 LEFT JOIN t2 USING (a) LEFT JOIN t3 USING (a)` では、`t2.a` カラムが使われるのは最初の JOIN のみなので、その型は `t1.a` と `t2.a` のスーパータイプであるべきであり、`t3.a` は含まれません) 。この問題により、関数が実際の実行プランに現れるカラム型とは異なる型を想定した場合、論理エラーやクラッシュが発生する可能性がありました。[#95157](https://github.com/ClickHouse/ClickHouse/pull/95157) ([Vladimir Cherkasov](https://github.com/vdimir)).
* manifest の .avro リストおよびファイルの内容を取得する際、カラム変換が 1 回だけ行われるようにしました。[#95164](https://github.com/ClickHouse/ClickHouse/pull/95164) ([Daniil Ivanik](https://github.com/divanik)).
* 過剰なメモリ使用量や誤ったカラム STATISTICS を招く可能性があった、JSONカラムサイズの誤計算を修正しました。 [#95207](https://github.com/ClickHouse/ClickHouse/pull/95207) ([Azat Khuzhin](https://github.com/azat)).
* 論理更新後に大きなパッチパートを適用する際、メモリ使用量の計上が不正確になる問題を修正しました。従来は、大きなパッチパートを適用するとメモリ使用量が過大になり、OOMキラーによってサーバープロセスが強制終了されることがありました。 [#95231](https://github.com/ClickHouse/ClickHouse/pull/95231) ([Anton Popov](https://github.com/CurtizJ)).
* `max_parallel_replicas` を使用する分散クエリが、索引解析中にローカルレプリカへフォールバックした際に、誤った結果を返したり例外が発生したりする可能性のある未定義動作を修正しました。[#95263](https://github.com/ClickHouse/ClickHouse/pull/95263) ([Azat Khuzhin](https://github.com/azat)).
* `group_by_overflow_mode` が `any` に設定されている場合の、`sum` および時系列におけるスパースなカラムの集約を修正しました。 [#95301](https://github.com/ClickHouse/ClickHouse/pull/95301) ([Mikhail Koviazin](https://github.com/mkmkme)).
* `plain_rewritable` ディスクポリシーで、メタデータファイルの unlink の途中にネットワークエラーが発生するとストレージが不整合な状態に陥る可能性があった、信頼性の問題を修正しました。[#95302](https://github.com/ClickHouse/ClickHouse/pull/95302) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Iceberg では Date を Date32 に置き換えました。 [#95322](https://github.com/ClickHouse/ClickHouse/pull/95322) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `redis` テーブル関数の password 引数は、今後、logs およびシステムテーブル (例: `query_log`) でマスクされるようになりました。[#95325](https://github.com/ClickHouse/ClickHouse/pull/95325) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* テーブルに対する分散クエリの実行中に、そのテーブルが削除または変更され、例外や誤った結果を引き起こす可能性があった不具合を修正しました。 [#95356](https://github.com/ClickHouse/ClickHouse/pull/95356) ([Azat Khuzhin](https://github.com/azat)) 。
* 分散クエリで負の `LIMIT/OFFSET` を使用した一部のケースで発生していた論理エラーを修正しました。[#95357](https://github.com/ClickHouse/ClickHouse/pull/95357) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* ssh を使用して接続する際に、clickhouse-client がパスワードを 2 回求める不具合を修正しました。[#95372](https://github.com/ClickHouse/ClickHouse/pull/95372) ([Isak Ellmer](https://github.com/spinojara)) 。
* ストレージ S3(Azure)Queue におけるデータ競合を修正。[#95385](https://github.com/ClickHouse/ClickHouse/pull/95385) ([Kseniia Sumarokova](https://github.com/kssenii)).
* prewhere 内のラムダ式が原因で発生していた prewhere フィルタのエラーを修正しました。[#95395](https://github.com/ClickHouse/ClickHouse/pull/95395) ([Xiaozhe Yu](https://github.com/wudidapaopao)) 。
* `optimize_syntax_fuse_functions` を修正し、集約引数が `Nullable` の場合は `sum/count/avg` を `sumCount()` に書き換えないようにしました。[#95390](https://github.com/ClickHouse/ClickHouse/issues/95390) を修正。[#95441](https://github.com/ClickHouse/ClickHouse/pull/95441) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* キャンセル時に分散クエリでクラッシュする可能性を回避しました。[#95466](https://github.com/ClickHouse/ClickHouse/pull/95466) ([Aleksandr Musorin](https://github.com/AVMusorin)) 。
* S3(Azure)Queue engine からのストリーミングにおける重複排除の問題を修正しました。[#95467](https://github.com/ClickHouse/ClickHouse/pull/95467) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 分散クエリにおいて、初期ユーザーに割り当てられた行ポリシーの更新に関する不具合を修正しました。[#95469](https://github.com/ClickHouse/ClickHouse/pull/95469) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* plain\_rewritable 上の暗号化ディスクに対する判定を修正 (`It is not possible to register multiple plain-rewritable disks with the same object storage prefix` が発生する可能性がある問題を修正) 。 [#95470](https://github.com/ClickHouse/ClickHouse/pull/95470) ([Azat Khuzhin](https://github.com/azat)).
* `mergeTreeProjection` テーブル関数ではアクセスチェックが抜けていたため、テーブルに対する SELECT 権限を持たないユーザーでも (テーブル関数に対する権限があれば) 、そのプロジェクションからデータを読み取れていました。この修正では、`mergeTreeIndex` と `mergeTreeAnalyzeIndexes` にすでに実装されているものと同じアクセスチェックが追加されます。[#95480](https://github.com/ClickHouse/ClickHouse/pull/95480) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* Dynamic/JSON 型の動的サブカラムから size サブカラムを読み取る際に発生する可能性のある論理エラーを修正しました。 [#95573](https://github.com/ClickHouse/ClickHouse/pull/95573) ([Pavel Kruglov](https://github.com/Avogar)) 。
* [#94262](https://github.com/ClickHouse/ClickHouse/issues/94262)で導入された (実験的な) ゼロコピー・レプリケーションの回帰不具合を修正しました。この不具合では、他のレプリカが共有パーツの取得を完了する前に、そのパーツが削除される可能性がありました。[#95597](https://github.com/ClickHouse/ClickHouse/pull/95597) ([filimonov](https://github.com/filimonov)) 。
* JSON 配列に `tupleElement` を適用した際に発生するクラッシュを修正しました。[#95581](https://github.com/ClickHouse/ClickHouse/issues/95581) をクローズ。[#95647](https://github.com/ClickHouse/ClickHouse/pull/95647) ([Pavel Kruglov](https://github.com/Avogar)).
* USING を伴う JOIN の VALUES 句内で、ラムダ関数の中でマッチャー (`*`) を使用した際に発生する論理エラー例外を修正しました。[#93675](https://github.com/ClickHouse/ClickHouse/issues/93675) をクローズしました。[#95661](https://github.com/ClickHouse/ClickHouse/pull/95661) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* 分散 DDL の完了待機中に Replicated database を同時に削除した場合に発生していた、`There was an error: Cannot obtain error message` という論理エラーを修正しました。[#95539](https://github.com/ClickHouse/ClickHouse/issues/95539)。[#95664](https://github.com/ClickHouse/ClickHouse/pull/95664) ([Alexander Tokmakov](https://github.com/tavplubix)).
* `transform_null_in` が有効な場合に、`IN` 関数が `NULL` 値に対して誤った結果を返す不具合を修正しました。[#65776](https://github.com/ClickHouse/ClickHouse/issues/65776) をクローズしました。[#95674](https://github.com/ClickHouse/ClickHouse/pull/95674) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 設定 `cast_keep_nullable` が有効な場合、`CAST` で LowCardinality Nullable 型が正しく処理されるようにしました。[#95670](https://github.com/ClickHouse/ClickHouse/issues/95670) を修正しました。[#95747](https://github.com/ClickHouse/ClickHouse/pull/95747) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* パーティション化された Delta Lake データのまとめ処理を修正。 [#95773](https://github.com/ClickHouse/ClickHouse/pull/95773) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ランタイムフィルタにおけるNullableなJOINカラムのレースコンディションを修正しました。 [#95775](https://github.com/ClickHouse/ClickHouse/pull/95775) ([Hechem Selmi](https://github.com/m-selmi)).
* `USING` カラムの型がテーブルと SELECT リストで異なる場合に、matcher (`*`、`table.*`) および `analyzer_compatibility_join_using_top_level_identifier` を含むクエリで発生する可能性のある論理エラーを修正しました。[#90477](https://github.com/ClickHouse/ClickHouse/issues/90477) をクローズしました。[#95808](https://github.com/ClickHouse/ClickHouse/pull/95808) ([Vladimir Cherkasov](https://github.com/vdimir)).
* タスクのスケジューリング中にエラーが発生した際に例外を引き起こす可能性があった、並列スレッドプール処理 (バックアップ、集約、分散クエリ) におけるメモリ安全性の不具合を修正しました。 [#95818](https://github.com/ClickHouse/ClickHouse/pull/95818) ([Raúl Marín](https://github.com/Algunenano)).
* 削除対象のワークロードを使用するクエリと同時実行中に DROP WORKLOAD を実行した際に発生するクラッシュを修正しました。[#95856](https://github.com/ClickHouse/ClickHouse/pull/95856) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 多数のデータベースに対して限られた権限しか持たないユーザーがシステムテーブルにクエリを実行した際の性能低下を修正しました。[#89371](https://github.com/ClickHouse/ClickHouse/issues/89371) をクローズしました。[#95874](https://github.com/ClickHouse/ClickHouse/pull/95874) ([pufit](https://github.com/pufit)).
* ネストしたパスを持つ JSON に対する tupleElement の実行を修正しました。これまでは誤ったクエリ結果につながる可能性がありました。 [#95907](https://github.com/ClickHouse/ClickHouse/pull/95907) ([Pavel Kruglov](https://github.com/Avogar)).
* 空のMergeTreeテーブルに対して`direct` JOINアルゴリズムを使用した際に発生する可能性のあった`NOT_SUPPORTED`エラーを修正しました。 [#95935](https://github.com/ClickHouse/ClickHouse/pull/95935) ([Vladimir Cherkasov](https://github.com/vdimir)).
* クライアントが設定の別名を候補表示したり自動補完したりしない問題を修正し、[#92190](https://github.com/ClickHouse/ClickHouse/issues/92190) をクローズしました。[#95945](https://github.com/ClickHouse/ClickHouse/pull/95945) ([phulv94](https://github.com/phulv94)).
* system.asynchronous\_metric\_log の event\_date を修正。[#95947](https://github.com/ClickHouse/ClickHouse/pull/95947) ([Raúl Marín](https://github.com/Algunenano)) 。
* JSON data type における skipping path を修正しました。従来は `JSON(SKIP path)` を使用すると、`path` をプレフィックスに持つすべての JSON キーがスキップされ、`"pathpath"` のようなキーまで対象になっていたため、`insert` 時にそれらのパスでデータが失われる可能性がありました。現在は修正され、`"path"` キーのみがスキップされます。 [#95948](https://github.com/ClickHouse/ClickHouse/pull/95948) ([Pavel Kruglov](https://github.com/Avogar)).
* 不明なプロジェクションを含むパートは、永久に失われたものとしてマークされるべきではありません。 [#95952](https://github.com/ClickHouse/ClickHouse/pull/95952) ([Mikhail Artemenko](https://github.com/Michicosun)).
* `Nullable(String)` キーを持つ `Join` table で、空文字列が `NULL` になってしまう問題を修正。[#71414](https://github.com/ClickHouse/ClickHouse/issues/71414) をクローズ。[#96002](https://github.com/ClickHouse/ClickHouse/pull/96002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* これで、PostgreSQLエンジンが `BOOLEAN[]` を正しく読み取れるようになりました。[#72754](https://github.com/ClickHouse/ClickHouse/issues/72754) を修正しました。[#96006](https://github.com/ClickHouse/ClickHouse/pull/96006) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 空のファイルを読み取る際の`ProtobufList`フォーマットを修正しました。[#70059](https://github.com/ClickHouse/ClickHouse/issues/70059) をクローズしました。[#96007](https://github.com/ClickHouse/ClickHouse/pull/96007) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 空のテーブルで `ProtobufList` フォーマットがゴーストレコードを生成してしまう問題を修正。[#72596](https://github.com/ClickHouse/ClickHouse/issues/72596) をクローズ。[#96010](https://github.com/ClickHouse/ClickHouse/pull/96010) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 型推論を伴う、分散クエリおよび PREWHERE の特殊なケースで発生する、`UInt64` と `Int32` 間の `if` 関数の型不一致を修正しました。[#70017](https://github.com/ClickHouse/ClickHouse/issues/70017) をクローズします。[#96012](https://github.com/ClickHouse/ClickHouse/pull/96012) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Bool` 型を含む `JIT` コンパイル済みクエリを修正しました。 [#96013](https://github.com/ClickHouse/ClickHouse/pull/96013) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SQLite の TEXT カラムから UUID カラムを読み取る際の論理エラーを修正しました。[#71263](https://github.com/ClickHouse/ClickHouse/issues/71263) をクローズしました。[#96016](https://github.com/ClickHouse/ClickHouse/pull/96016) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* SQLite engineにおける `DateTime`、`Date`、`UUID`、およびその他の型の変換を修正しました。[#73481](https://github.com/ClickHouse/ClickHouse/issues/73481) をクローズします。[#96017](https://github.com/ClickHouse/ClickHouse/pull/96017) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 外部データベース (SQLite および PostgreSQL) へのクエリで、`FixedString` の値が誤ってエスケープされていました。[#73519](https://github.com/ClickHouse/ClickHouse/issues/73519) をクローズします。@jh0x と共同で作成。[#96019](https://github.com/ClickHouse/ClickHouse/pull/96019) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PRECEDING オフセットが大きい場合に WindowTransform で発生するアサーション失敗を修正しました。[#75852](https://github.com/ClickHouse/ClickHouse/issues/75852) をクローズしました。[#96026](https://github.com/ClickHouse/ClickHouse/pull/96026) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同じパラメータ名を使用していても異なる値を含む同時実行の非同期 INSERT で、データ破損が発生する可能性がある不具合を修正しました。 [#96035](https://github.com/ClickHouse/ClickHouse/pull/96035) ([Seva Potapov](https://github.com/seva-potapov)) 。
* global profiler の周期 (`global_profiler_real_time_period_ns` および `global_profiler_cpu_time_period_ns` で制御) を修正しました。設定した値ではなく切り捨てられた値が使用されていたため、profiler が意図した以上に頻繁に起動していました。[#96048](https://github.com/ClickHouse/ClickHouse/pull/96048) ([Antonio Andelic](https://github.com/antonio2368)) 。
* 以前は、position delete 用の Iceberg マニフェストファイル内で、reference data file がエントリとして存在していても NULL の場合、対応する data files の正しい境界値を取得できませんでした。この PR でこのバグを修正しました。[#96061](https://github.com/ClickHouse/ClickHouse/pull/96061) ([Daniil Ivanik](https://github.com/divanik)) 。
* デフォルトロールの取り消しに関する不具合を修正しました。[#96103](https://github.com/ClickHouse/ClickHouse/pull/96103) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* `use_primary_key` が無効で、かつ索引を利用する条件の論理和が非常に多いというまれな条件の組み合わせで発生する、索引解析における use-after-free を修正しました。[#96112](https://github.com/ClickHouse/ClickHouse/pull/96112) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `Gorilla` コーデックで、明示的に指定されたサイズがデータ型のサイズと一致せず、かつバッファサイズが小さすぎる場合に発生するリグレッションを修正しました。以前のバージョンでは、伸長時に例外が発生していました。[#78253](https://github.com/ClickHouse/ClickHouse/issues/78253) をクローズします。[#96118](https://github.com/ClickHouse/ClickHouse/pull/96118) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* あるDictionaryが、それを再帰的に参照するMergeテーブルを参照している場合に、そのDictionaryの読み込み時に発生するデッドロックを回避しました。Closes [#78360](https://github.com/ClickHouse/ClickHouse/issues/78360). [#96120](https://github.com/ClickHouse/ClickHouse/pull/96120) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* MySQL や JODA スタイルなどの非固定幅フォーマッタを使用した `formatDateTime` での未初期化の値の使用を修正しました。[#96133](https://github.com/ClickHouse/ClickHouse/pull/96133) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `use_const_adaptive_granularity` と `index_granularity_bytes` の設定の組み合わせ (つまり「非適応粒度」) により、読み取る行数の計算が誤り、例外が発生していました。[#96143](https://github.com/ClickHouse/ClickHouse/pull/96143) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* S3 や Azure などのオブジェクトストレージ上のファイルライクなテーブルに対して無効な ALTER UPDATE mutation を実行すると、nullptr のデリファレンスが発生する可能性がありました。[#92994](https://github.com/ClickHouse/ClickHouse/issues/92994) をクローズしました。[#96162](https://github.com/ClickHouse/ClickHouse/pull/96162) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 部分的な権限取り消し時に `AccessRights::contains` が誤った結果を返す問題を修正しました。 [#96170](https://github.com/ClickHouse/ClickHouse/pull/96170) ([pufit](https://github.com/pufit)).
* 誤ったクエリ結果を引き起こす可能性があった、CTE の folded constants におけるクエリ条件 cache のハッシュ衝突を修正しました。[#96060](https://github.com/ClickHouse/ClickHouse/issues/96060) をクローズしました。[#96172](https://github.com/ClickHouse/ClickHouse/pull/96172) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ProcessList で発生する可能性のあるデッドロックを修正しました。これは、キャンセルチェッカーにタスクを追加しているタイミングでメモリオーバーコミットトラッカーが作動すると、ロック順序の逆転が起こり得るためです。 [#96182](https://github.com/ClickHouse/ClickHouse/pull/96182) ([Antonio Andelic](https://github.com/antonio2368)) 。
* 複数の INNER JOIN と組み合わせた外部結合 (LEFT、RIGHT、または FULL) を含むクエリで、無効な JOIN の並べ替えにより誤った結果が返される不具合を修正しました。外部結合の ON 条件が、先に結合された複数のテーブルのカラムを参照している場合、オプティマイザがすべてのテーブル依存関係を考慮できず、JOIN を誤った順序に並べ替えてしまい、その結果、一部の行が欠落することがありました。Close [#95972](https://github.com/ClickHouse/ClickHouse/issues/95972). [#96193](https://github.com/ClickHouse/ClickHouse/pull/96193) ([Vladimir Cherkasov](https://github.com/vdimir)).
* テーブルに統計情報が定義されていない場合、ClickHouse はそれらを読み込もうとしないようにしました。これにより、統計情報ファイルが存在するかどうかを確認するためのオーバーヘッド (100ms 超) を回避できます。 (issue [#96068](https://github.com/ClickHouse/ClickHouse/issues/96068)) 。[#96233](https://github.com/ClickHouse/ClickHouse/pull/96233) ([Han Fei](https://github.com/hanfei1991)) 。
* `optimize_syntax_fuse_functions` を修正し、集約引数が `LowCardinality(Nullable)` の場合は `sum/count/avg` を `sumCount()` に書き換えないようにしました。[#95390](https://github.com/ClickHouse/ClickHouse/issues/95390) をクローズ。[#96239](https://github.com/ClickHouse/ClickHouse/pull/96239) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* 一部のケースで、`not IN` および `not has` 関数で発生していた誤ったパーティションプルーニングを修正しました。[#96241](https://github.com/ClickHouse/ClickHouse/pull/96241) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* ベクトル類似度索引での `stack-use-after-scope` を修正しました。 [#96259](https://github.com/ClickHouse/ClickHouse/pull/96259) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリの前にSQLコメントがある場合に、テストランナーが error hint comments を認識しない問題を修正しました。[#96336](https://github.com/ClickHouse/ClickHouse/pull/96336) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* テーブルの主キーが Nullable で、クエリで第1引数が定数の `coalesce` 関数を使用している場合に発生する KeyCondition の論理エラーを修正しました。 [#96340](https://github.com/ClickHouse/ClickHouse/pull/96340) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `GROUPING SETS`、`group_by_use_nulls`、および内部に `LowCardinality` を含む `Tuple` データ型の組み合わせにより、クエリパイプライン内で予期しないブロック構造が生じ、論理エラーにつながる可能性がありました。これは `Nullable` `Tuple` の導入後に発生したものです。[#96358](https://github.com/ClickHouse/ClickHouse/pull/96358) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 空の式 `()` を索引とするテーブルを作成できてしまい、無効なメモリアクセスが発生していました。[#96363](https://github.com/ClickHouse/ClickHouse/pull/96363) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 古いアナライザで、JOIN と重複する別名がある場合に発生していたクラッシュを修正しました。 [#96405](https://github.com/ClickHouse/ClickHouse/pull/96405) ([Ilya Golshtein](https://github.com/ilejn)) 。
* Variant カラムに対する誤ったインプレースフィルタリング最適化により発生していた`Nested columns sizes are inconsistent with local_discriminators`エラーを修正。 [#96410](https://github.com/ClickHouse/ClickHouse/pull/96410) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CREATE TABLE ... CLONE AS ...` がソーステーブルの完全修飾名を無視する問題を修正しました。[#96415](https://github.com/ClickHouse/ClickHouse/pull/96415) ([Hasyimi Bahrudin](https://github.com/hasyimibhar)).
* `mysql` テーブル関数が、KILL QUERY や clickhouse-client でのクエリキャンセル (Ctrl+C) で正しくキャンセルされない問題を修正しました。[#96437](https://github.com/ClickHouse/ClickHouse/pull/96437) ([Roman Vasin](https://github.com/rvasin)).
* `max_execution_time` の値が大きいクエリで発生する、キャンセル確認スレッドのライブロックを修正しました。[#96450](https://github.com/ClickHouse/ClickHouse/pull/96450) ([Sergei Trifonov](https://github.com/serxa)).
* 分散クエリで小数の `LIMIT/OFFSET` を使用した際に、一部のケースで発生していた論理エラーを修正しました。[#96475](https://github.com/ClickHouse/ClickHouse/pull/96475) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* ラムダ関数を含む特定の式におけるヌルポインタの逆参照を修正しました。 [#96479](https://github.com/ClickHouse/ClickHouse/pull/96479) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LowCardinality` カラムが `Nullable` に変換された際に、誤った結果が返される不具合を修正しました。[#96483](https://github.com/ClickHouse/ClickHouse/pull/96483) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 存在しないカラムを参照する、または位置引数を使用する `ORDER BY` 句を含む Iceberg テーブルの作成時に発生するクラッシュを修正しました。[#93280](https://github.com/ClickHouse/ClickHouse/issues/93280) をクローズします。[#96484](https://github.com/ClickHouse/ClickHouse/pull/96484) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Nullable のサブフィールドを持つ Tuple カラムで発生するランタイムフィルタの例外を修正しました。 [#96509](https://github.com/ClickHouse/ClickHouse/pull/96509) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `PREWHERE` フィルターカラムにブール値ではない UInt8 値が含まれている場合に、Parquet V3 ネイティブリーダーで発生する `LOGICAL_ERROR` 例外を修正しました。[#96594](https://github.com/ClickHouse/ClickHouse/pull/96594) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* メタデータの変更時にレプリケートテーブルで暗黙的に索引が再生成される問題を修正。 [#96600](https://github.com/ClickHouse/ClickHouse/pull/96600) ([Raúl Marín](https://github.com/Algunenano)).
* DROP WORKLOAD のデータレースを修正しました。[#96614](https://github.com/ClickHouse/ClickHouse/pull/96614) ([Sergei Trifonov](https://github.com/serxa)).
* パーティション化された insert により、パーティションファイル間でデータが不正に分散されることがある Iceberg table への書き込みのバグを修正しました。 [#96620](https://github.com/ClickHouse/ClickHouse/pull/96620) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 制約付きの`CREATE TABLE`における`heap-use-after-free`を修正しました。[#96669](https://github.com/ClickHouse/ClickHouse/pull/96669) ([Nikita Taranov](https://github.com/nickitat)).
* バッファオーバーフローを防ぐため、bech32 の witness バージョンを検証するようにしました。 [#96671](https://github.com/ClickHouse/ClickHouse/pull/96671) ([Raúl Marín](https://github.com/Algunenano)).
* 無効な `auth_header` 設定でデータレイク REST カタログを作成した場合に、`system.tables` がエラーを返す問題を修正しました。[#96680](https://github.com/ClickHouse/ClickHouse/pull/96680) ([Han Fei](https://github.com/hanfei1991)) 。
* TTL マージ後、ブロック内のすべての行がフィルタで除外されると、`_minmax_count_projection` 経由で `min(timestamp)` が epoch (`1970-01-01`) を返してしまう問題を修正しました。 [#96703](https://github.com/ClickHouse/ClickHouse/pull/96703) ([Raquel Barbadillo](https://github.com/rbarbadillo)).
* パストラバーサルを防ぎ、指定されたメタデータファイルがテーブルディレクトリ内にあることを確実にするため、`iceberg_metadata_file_path` 設定の検証を改善しました。[#96754](https://github.com/ClickHouse/ClickHouse/pull/96754) ([Daniil Ivanik](https://github.com/divanik)) 。
* `GROUP BY` で使われる `Variant` 引数を取る `ifNull` のクラッシュを修正しました。[#96790](https://github.com/ClickHouse/ClickHouse/pull/96790) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `table_disk=1` 設定が有効なテーブル間で発生していたキャッシュキーの衝突を修正しました。[#96818](https://github.com/ClickHouse/ClickHouse/pull/96818) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 競合状態により MemoryWorker のパージ用スレッドが停止したままになる不具合を修正しました。[#96819](https://github.com/ClickHouse/ClickHouse/pull/96819) ([Antonio Andelic](https://github.com/antonio2368)) 。
* Iceberg カタログで認証情報を含むデータをログ出力しないようにしました。 [#96831](https://github.com/ClickHouse/ClickHouse/pull/96831) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* サーバーエラー発生後の clickhouse-client の終了ステータスを修正しました。[#96841](https://github.com/ClickHouse/ClickHouse/pull/96841) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* CROSS JOIN を含み、並列レプリカが有効なクエリで、誤った結果が返される可能性がありました。[#74337](https://github.com/ClickHouse/ClickHouse/issues/74337) を修正しました。[#96848](https://github.com/ClickHouse/ClickHouse/pull/96848) ([Igor Nikonov](https://github.com/devcrafter)).
* 以前に同じカラムに対して論理更新が行われていた場合、`ALTER TABLE DROP COLUMN` クエリが失敗する問題を修正しました。[#96861](https://github.com/ClickHouse/ClickHouse/pull/96861) ([Anton Popov](https://github.com/CurtizJ)).
* `plain_rewritable` オブジェクトストレージディスクへのアーカイブベースのバックアップ (`.zip`、`.tzst`) 作成時に発生するスタックオーバーフロー (クラッシュ) を修正しました。 [#96872](https://github.com/ClickHouse/ClickHouse/pull/96872) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 宛先のファイルシステムでディスクフルやその他のI/Oエラーが原因でバックアップに失敗した際に、サーバーがクラッシュする問題を修正しました。 [#96873](https://github.com/ClickHouse/ClickHouse/pull/96873) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `EXCEPT ALL` と `INTERSECT ALL` が行の重複回数を無視し、それぞれの `DISTINCT` 版と同様に動作してしまう問題を修正しました。[#96876](https://github.com/ClickHouse/ClickHouse/pull/96876) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 互換性のない型で `indexOfAssumeSorted` を呼び出したときに発生する `std::terminate` 例外を修正しました (例: `IPv4` 配列に対して整数の検索値を指定した場合) 。[#96877](https://github.com/ClickHouse/ClickHouse/pull/96877) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `group_by_use_nulls = 1` と CUBE/ROLLUP/GROUPING SETS を使用したウィンドウ関数で発生する例外 `Bad cast from type DB::ColumnNullable to DB::ColumnString` を修正しました。[#96878](https://github.com/ClickHouse/ClickHouse/pull/96878) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* JIT コンパイルされた式で `DateTime` から `DateTime64` への変換時に誤った結果になる問題を修正しました (たとえば、`CASE`/`if`/`multiIf` で `DateTime` 型が混在する場合) 。値が適切にスケーリングされずに再解釈されていたため、式のコンパイルが有効になると誤ったタイムスタンプが生成されていました。[#96879](https://github.com/ClickHouse/ClickHouse/pull/96879) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `CoalescingMergeTree` で、スキップ索引の式が定数カラムを生成する場合 (例: 整数カラムに対する `ifNotFinite(1, c0)` の `bloom_filter`) に発生する論理エラー例外を修正しました。 [#96880](https://github.com/ClickHouse/ClickHouse/pull/96880) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 誤って HTTP で TLS 対応のネイティブプロトコルポートに接続した場合に表示されるエラーメッセージ内の誤ったポート番号を修正しました。[#96881](https://github.com/ClickHouse/ClickHouse/pull/96881) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* CTEやサブクエリで、サブクエリごとの`SETTINGS`が`file`のようなテーブル関数に適用されない不具合を修正しました。[#96882](https://github.com/ClickHouse/ClickHouse/pull/96882) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* X509 証明書の読み取り時に発生する BIO オブジェクトのメモリリークを修正しました。 [#96885](https://github.com/ClickHouse/ClickHouse/pull/96885) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 具体的な値が必要な箇所 (たとえば `arrayFold` のアキュムレータ引数) にラムダ式が渡された場合に、クエリアナライザで `LOGICAL_ERROR` 例外が発生する問題を修正しました。 [#96892](https://github.com/ClickHouse/ClickHouse/pull/96892) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複雑にネストされた型 (Nullable Enum 値を持つ Map を含む Nullable Tuple の Array) をキャストする際に発生する `ColumnNullable is not compatible with original` 例外を修正しました。[#96924](https://github.com/ClickHouse/ClickHouse/pull/96924) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 分片化された `HASHED` Dictionary の並列ロードにおける race condition を修正し、まれに一部の行が読み込まれないことがある問題を解消しました。 [#96953](https://github.com/ClickHouse/ClickHouse/pull/96953) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `REPLACE PARTITION` とバックグラウンドミューテーションの間で発生する競合状態を修正し、置換後に古いデータと新しいデータの両方が見えてしまうことがある問題を解消しました。 [#96955](https://github.com/ClickHouse/ClickHouse/pull/96955) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* INNER JOIN および WHERE 句と組み合わせて使用した際に `arrayJoin` 関数が重複した行を生成する問題を修正しました。これは、部分的な述語プッシュダウン最適化によって、`arrayJoin` を含むフィルタが誤って JOIN の下にプッシュダウンされていたことが原因です。[#96989](https://github.com/ClickHouse/ClickHouse/pull/96989) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `BlockIO::operator=` が `query_metadata_cache` を move しないことが原因で発生していた `clearCaches` のクラッシュ (SEGFAULT) を修正しました。これにより、cache されたストレージスナップショットが早期に破棄され、`MergeTreeData` ストレージで use-after-free が発生していました。[#96995](https://github.com/ClickHouse/ClickHouse/pull/96995) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `if` または `transform` 関数が `Nullable(String)` を返す場合 (例: `GROUP BY ... WITH CUBE` で `group_by_use_nulls = true` のとき) に、`IfTransformStringsToEnumPass` で発生するアサーション失敗を修正しました。[#97002](https://github.com/ClickHouse/ClickHouse/pull/97002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `INSERT ... SELECT` で `UNION ALL` および `JOIN` を使用した際に、block をまとめる処理の後で定数文字列カラムに誤った値が入ることがあり、その結果不正なデータが書き込まれる問題を修正しました。[#97019](https://github.com/ClickHouse/ClickHouse/pull/97019)  ([Hasyimi Bahrudin](https://github.com/hasyimibhar)) 。
* `ALTER TABLE MODIFY COLUMN` によってカラムの型が変更された後、カラム STATISTICS の構築時に発生する `assert_cast` 例外 (またはリリースビルドでのサイレントなデータ破損) を修正しました。 [#97027](https://github.com/ClickHouse/ClickHouse/pull/97027) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Azure Blob Storage、SSHプロトコル、およびArrow Flightインターフェイスでの未初期化メモリの読み取りを修正しました。 [#97053](https://github.com/ClickHouse/ClickHouse/pull/97053) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 索引が、ROW POLICY/PREWHERE および FINAL を含むクエリの結果に影響していたケースを修正しました。[#97076](https://github.com/ClickHouse/ClickHouse/pull/97076) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `MergeTree` テーブルにおける `REPLACE PARTITION` とバックグラウンドミューテーションの間に残っていた race condition を修正し、古いデータが再び現れる可能性を解消しました。[#97105](https://github.com/ClickHouse/ClickHouse/pull/97105) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* エイリアスカラムを含む暗黙的インデックスを修正し、作成前に完全な検証を行うようにしました。 [#97115](https://github.com/ClickHouse/ClickHouse/pull/97115) ([Raúl Marín](https://github.com/Algunenano)).
* `arrayROCAUC` のように const 引数が必要な関数における `FunctionVariantAdaptor` の論理エラーを修正しました。[#97116](https://github.com/ClickHouse/ClickHouse/pull/97116) ([Bharat Nallan](https://github.com/bharatnc)).
* `PartCheckThread` が、すでにミューテーション適用済みのパーツに対する `GET_PART` を再度キューに追加し、`parts_to_do` に実体のないエントリが残ることでミューテーションが停滞する問題を修正しました。[#97162](https://github.com/ClickHouse/ClickHouse/pull/97162) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `ORDER BY ... LIMIT` を含むサブクエリのクエリプランにおける行数推定を修正しました。これにより、オプティマイザが最適でない JOIN 順序を選択する可能性がありました。 [#97193](https://github.com/ClickHouse/ClickHouse/pull/97193) ([Alexander Gololobov](https://github.com/davenger)).
* Variant カラムを扱う関数が `Nothing` 型を返した際に `FunctionVariantAdaptor` で発生する `LOGICAL_ERROR` 例外を修正しました。これは、`UNION ALL` クエリ内の空の配列で発生することがあります。[#97213](https://github.com/ClickHouse/ClickHouse/pull/97213) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 同時アクセス時に例外を引き起こす可能性があった、S3 のマルチパートコピー処理 (例: S3 への `BACKUP`/`RESTORE`) 中のデータ競合を修正しました。[#97227](https://github.com/ClickHouse/ClickHouse/pull/97227) ([Azat Khuzhin](https://github.com/azat)).
* `WHERE` 句内の `arrayJoin` が `JOIN` の両側のカラムを参照している場合に発生する `LOGICAL_ERROR` 例外を修正しました。[#97239](https://github.com/ClickHouse/ClickHouse/pull/97239) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PREWHERE を伴う Tuple 内のスパースな `Nullable(String)` で、`.size` サブカラムの読み取り時に発生する `LOGICAL_ERROR` 例外を修正しました。 [#97264](https://github.com/ClickHouse/ClickHouse/pull/97264) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LazyMaterializingTransform` で、非アダプティブインデックス粒度 (`index_granularity_bytes = 0`) のテーブルを `ORDER BY ... LIMIT` で読み取る際に発生する例外 "lazy chunk の行数が offsets の数と一致しない" を修正しました。[#97270](https://github.com/ClickHouse/ClickHouse/pull/97270) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `SYSTEM RESTART REPLICA` で、テーブルの再作成が ZooKeeper 以外の例外 (たとえばメモリ制限) で失敗した場合に、データベースからテーブルが消失し、`DatabaseReplicated` でメタデータダイジェストの不一致が発生する問題を修正しました。 [#97276](https://github.com/ClickHouse/ClickHouse/pull/97276) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `system.merge_tree_settings` のフィールド `readonly` が、特定の MergeTree 設定 (例: `index_granularity`) が無条件で readonly であることを正しく反映するようになりました。 [#97277](https://github.com/ClickHouse/ClickHouse/pull/97277) ([Robert Schulze](https://github.com/rschu1ze)).
* データなしでストレージのスナップショットが作成された場合に、`MergeTree` テーブルでの `count()` 最適化中にクラッシュする問題を修正しました。[#97281](https://github.com/ClickHouse/ClickHouse/pull/97281) ([Pablo Marcos](https://github.com/pamarcos)).
* スタックトレースのデバッグ情報から関数名を解決する際に発生する可能性のあるクラッシュを修正しました。 [#97294](https://github.com/ClickHouse/ClickHouse/pull/97294) ([Azat Khuzhin](https://github.com/azat)).
* analyzer\_compatibility\_join\_using\_top\_level\_identifier と ALIAS カラムに関する論理エラーを修正しました。[#96228](https://github.com/ClickHouse/ClickHouse/issues/96228) をクローズしました。[#97297](https://github.com/ClickHouse/ClickHouse/pull/97297) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `QUALIFY` 句でテキスト索引付きのカラムを使用した際に `applyOrder` で発生する `LOGICAL_ERROR` 例外を修正しました。[#97313](https://github.com/ClickHouse/ClickHouse/pull/97313) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* システムテーブル `system.functions` で、内部関数の `categories` が `''` ではなく `'Internal'` と表示されるようになりました。[#97315](https://github.com/ClickHouse/ClickHouse/pull/97315) ([Robert Schulze](https://github.com/rschu1ze)).
* RIGHT JOIN の連鎖と有効化された並列レプリカを使用するクエリで、誤った結果が返される可能性がありました。この問題を修正しました。[#74341](https://github.com/ClickHouse/ClickHouse/issues/74341)。[#97316](https://github.com/ClickHouse/ClickHouse/pull/97316) ([Igor Nikonov](https://github.com/devcrafter)).
* テーブル名が変更された場合に、リフレッシャブルmaterialized viewやその他のシナリオで発生することがあった、誤った `TABLE_UUID_MISMATCH` エラーを修正しました。 [#97323](https://github.com/ClickHouse/ClickHouse/pull/97323) ([Azat Khuzhin](https://github.com/azat)).
* 遅延バックアップのバッチ処理で、ダングリングしたストレージポインタに対するuse-after-freeが原因で発生していた`StorageKeeperMap`バックアップのセグメンテーションフォルトを修正しました。 [#97336](https://github.com/ClickHouse/ClickHouse/pull/97336) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `mutations_execute_subqueries_on_initiator` が有効な場合の、`ALTER UPDATE/DELETE` 内でスカラー サブクエリを含む `exists` 関数を修正しました。スカラー サブクエリが誤って評価されていたため、エラーが発生したり、次回のサーバー再起動時にテーブルを読み込めなくなる破損した mutation コマンドが生成されたりする可能性がありました。[#97347](https://github.com/ClickHouse/ClickHouse/pull/97347)  ([Kirill Kopnev](https://github.com/Fgrtue)) 。
* LowCardinality 型を含む Variant カラムと NULL を比較した際に発生する論理例外 `Unexpected return type from equals. Expected Nullable(UInt8). Got Const(LowCardinality(Nullable(UInt8)))` を修正しました。[#97379](https://github.com/ClickHouse/ClickHouse/pull/97379) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 分片クエリキャッシュが有効な状態で `EXCHANGE TABLES` を並行実行した際に発生し得る競合状態を修正しました。 [#97411](https://github.com/ClickHouse/ClickHouse/pull/97411) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* 外側の`Tuple`ラッパーの`nullable_source`によって、変換後の配列カラムが不一致なカラム型に置き換えられた場合に発生する、Arrayから`QBit`への変換時の`LOGICAL_ERROR`例外を修正しました。[#97389](https://github.com/ClickHouse/ClickHouse/issues/97389) をクローズします。[#97413](https://github.com/ClickHouse/ClickHouse/pull/97413) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 括弧内のエイリアス付きタプルリテラルにおける AST フォーマットのラウンドトリップの不整合を修正しました。たとえば、`(('a', 'b') AS x)` が誤って `tuple(('a', 'b') AS x)` に再フォーマットされていました。[#97418](https://github.com/ClickHouse/ClickHouse/pull/97418) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* パースの失敗により 0 行の空ブロックが生成された場合に、重複排除を伴う非同期挿入中に発生していた例外を修正しました。[#97460](https://github.com/ClickHouse/ClickHouse/pull/97460) ([Sema Checherinda](https://github.com/CheSema)) 。
* 非アダプティブインデックス粒度 (`index_granularity_bytes = 0`) のテーブルを `ORDER BY ... LIMIT` で読み取る際に、`LazyMaterializingTransform` で発生する例外 "lazy chunk の行数が offsets の数と一致しない" を修正しました。[#97482](https://github.com/ClickHouse/ClickHouse/pull/97482) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* Iceberg への insert に関する設定を修正。`allow_experimental_insert_into_iceberg` 設定の別名を追加。[#97483](https://github.com/ClickHouse/ClickHouse/pull/97483) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `optimize_inverse_dictionary_lookup` 最適化が `dictGet(...)` の述語を書き換える際、`CREATE TEMPORARY TABLE` 権限を持たないユーザーで `ACCESS_DENIED` が発生する問題を修正しました。ClickHouse はこの書き換えをスキップし、元の式を実行するようになりました。[#97269](https://github.com/ClickHouse/ClickHouse/issues/97269) をクローズしました。[#97484](https://github.com/ClickHouse/ClickHouse/pull/97484) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 内部にスパースなサブカラムを持つカラム (例: スパースなシリアライゼーションプロファイルが異なる MergeTree パーツの `Tuple` カラム) の処理時に、`Set` と `MergeTreeIndexSet` で発生するアサーション失敗 (デバッグ/サニタイザービルドでは例外) を修正しました。 [#97493](https://github.com/ClickHouse/ClickHouse/pull/97493) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* StorageKafka2 における、use-after-free が発生する可能性のある不具合を修正しました。 [#97520](https://github.com/ClickHouse/ClickHouse/pull/97520) ([Bharat Nallan](https://github.com/bharatnc)).
* 出力パスにディレクトリが含まれる場合の、`TRUNCATE` および `into_outfile_create_parent_directories` 設定を使用した `INTO OUTFILE` の不具合を修正しました。[#97549](https://github.com/ClickHouse/ClickHouse/pull/97549) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* アナライザが有効な状態で、`merge()` テーブル関数を介して ALIAS カラム内にラムダ式を含むテーブルをクエリした際に発生する `BAD_ARGUMENTS` エラーを修正しました。[#97551](https://github.com/ClickHouse/ClickHouse/pull/97551) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Keeper の zxid が 0 のときに `system.zookeeper_info` で発生する例外を修正しました。[#97553](https://github.com/ClickHouse/ClickHouse/pull/97553) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* キーの型が String でない場合に `ip_trie` Dictionary で発生する可能性がある論理エラーを修正しました。 [#97555](https://github.com/ClickHouse/ClickHouse/pull/97555) ([Bharat Nallan](https://github.com/bharatnc)).
* ベースの `RestCatalog` で REST カタログの OAuth 認証が機能しない問題を修正しました (それまでは `OneLakeCatalog` のような派生カタログでしか機能していませんでした) 。この不具合により、BigLake カタログの導入後、デフォルトの REST カタログが使えない状態になっていました。[#97561](https://github.com/ClickHouse/ClickHouse/pull/97561) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* Geometry 関数 (`perimeterSpherical`、`areaSpherical` など) は、`Geometry` Variant 型に加えて、個別のジオメトリサブタイプ (`Polygon`、`Ring`、`Point` など) も受け付けるようになりました。[#97571](https://github.com/ClickHouse/ClickHouse/pull/97571) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `Nullable(Tuple(... Nullable(T) ...))` 型のサブカラムに対して `isNull`/`isNotNull` を使用した際に発生する `LOGICAL_ERROR` 例外を修正しました。[#97224](https://github.com/ClickHouse/ClickHouse/issues/97224) をクローズしました。[#97582](https://github.com/ClickHouse/ClickHouse/pull/97582) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 論理更新時にパッチパートを適用する際のヌルポインタの逆参照を修正しました。 [#97583](https://github.com/ClickHouse/ClickHouse/pull/97583) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `BaseSettings::readBinary` は、`accessor.find` が返したインデックスを、未検出を示す番兵値 (つまり `-1`) かどうか確認せずに `field_infos[]` に渡しており、その結果 `std::vector` の範囲外アクセスを引き起こす可能性があります。この問題は libcxx hardening によって発見されました。これはおそらく、新しいサーバーが古いサーバーに未知の設定を送信した際のクエリプランのデシリアライズ中に発生していました。文字列ベースの読み取りメソッドではすでにこれを正しく処理していましたが、`readBinary` には同じチェックが欠けていました。[#97585](https://github.com/ClickHouse/ClickHouse/pull/97585) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 一方のブランチに常に偽となる条件がある `UNION ALL` クエリで、本来は何も返さないはずのブランチが誤ってデータを読み込んでしまい、不正なクエリ結果を返していた問題を修正しました。 [#97620](https://github.com/ClickHouse/ClickHouse/pull/97620) ([Bharat Nallan](https://github.com/bharatnc)).
* 単一カラム参照を含む`IN (col)`が`UNSUPPORTED_METHOD`エラーで失敗する不具合を修正しました。[#97646](https://github.com/ClickHouse/ClickHouse/pull/97646) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `GROUP BY ... WITH ROLLUP/CUBE` 実行時に、キーに `Nullable(Tuple(...))` 内の `LowCardinality(Nullable(...))` が含まれる場合に発生していた logical error 例外を修正しました。[#97647](https://github.com/ClickHouse/ClickHouse/pull/97647) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `NOT (1, 1, 1)` に対する AST のフォーマットの不整合を修正し、デバッグビルドで `LOGICAL_ERROR` が発生する可能性がある問題を解消しました。 [#97653](https://github.com/ClickHouse/ClickHouse/pull/97653) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 空の ZooKeeper トランザクションログファイルを検出した際に発生する `keeper-converter` の例外を修正しました。 [#97673](https://github.com/ClickHouse/ClickHouse/pull/97673)  ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* ClickHouse を clang-23 (master) でビルドできるようになりました。[#95578](https://github.com/ClickHouse/ClickHouse/pull/95578) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 修正: `bind_host` が設定されている場合は `is_local` を強制的に false にし、これをインテグレーションテストに置き換えました。[#74741](https://github.com/ClickHouse/ClickHouse/pull/74741) のフォローアップです。[#93109](https://github.com/ClickHouse/ClickHouse/pull/93109) [#96018](https://github.com/ClickHouse/ClickHouse/pull/96018) ([Zhigao Hong](https://github.com/zghong)).
* ストレステスト: CI におけるストレステストとアップグレードテストを修正し、`no-{build}` タグを無視するようにしました。互換性のランダム化を追加しました。[#94693](https://github.com/ClickHouse/ClickHouse/pull/94693) ([Nikita Fomichev](https://github.com/fm4v)).
* ビルドから parser\_memory\_profiler バイナリを公開しました。AST のメモリ使用量を分析するために利用できるツールです。[#95826](https://github.com/ClickHouse/ClickHouse/pull/95826) ([Ilya Yatsishin](https://github.com/qoega)).
* 結果内のシンボルを解決した `.heap.sym` ファイルを生成する `parser_memory_profiler` ツールに、`--symbolize` フラグを追加しました。[#96477](https://github.com/ClickHouse/ClickHouse/pull/96477) ([Ilya Yatsishin](https://github.com/qoega)).
* 結合テストでサードパーティ製のDockerイメージを特定のバージョンに固定。 [#96500](https://github.com/ClickHouse/ClickHouse/pull/96500) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `OpenSSL` を動的にリンクできるようにするオプションを復活させました。これは推奨されておらず、どの本番ビルドでも使われていませんが、インターネット上の愛好家向けにこの選択肢は引き続き残されています。[#96506](https://github.com/ClickHouse/ClickHouse/pull/96506) ([Govind R Nair](https://github.com/Revertionist)).
* `Coordination::OpNum` 向けの型別特殊化を用いることで、`magic_enum` の範囲を \[-100, 1000] からデフォルトの \[-128, 127] に縮小し、ビルド時間を短縮しました。[#96632](https://github.com/ClickHouse/ClickHouse/pull/96632) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* ビルド時間を削減するため、Function クラスから不要な C++ テンプレートを削除しました。[#96646](https://github.com/ClickHouse/ClickHouse/pull/96646) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* ビルドの並列性を向上させるため、`StorageSystemLicenses` の生成を configure 時ではなく構成時に行うようにしました。[#96697](https://github.com/ClickHouse/ClickHouse/pull/96697) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ライセンススキャンの並列化。 [#96727](https://github.com/ClickHouse/ClickHouse/pull/96727) ([Raúl Marín](https://github.com/Algunenano)).
* SSH プロトコル対応のためのステートレスな機能テストを追加しました。 [#96996](https://github.com/ClickHouse/ClickHouse/pull/96996) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Kafka 3.9.0 をステートレス機能テスト用のインフラストラクチャに追加し、ClickHouse Keeper を ZooKeeper として使って Kafka および Kafka2 テーブルエンジンを直接テストできるようにしました。新たに追加された 6 件のステートレステストでは、基本的な produce/consume、仮想カラム、INSERT、複数のフォーマット、破損メッセージの処理、Keeper ベースのオフセット保存をカバーしています。[#96997](https://github.com/ClickHouse/ClickHouse/pull/96997) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PGO+BOLT で最適化した clang ツールチェーンをビルドする CI ワークフローを追加しました。 [#96991](https://github.com/ClickHouse/ClickHouse/pull/96991) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* CI では PGO 最適化済みの LLVM/Clang ビルドを使用し、ビルド速度が 20..30% 向上する見込みです。[#97031](https://github.com/ClickHouse/ClickHouse/pull/97031) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* glibc の数学関数を llvm-libc の実装へ置き換えました。[#90151](https://github.com/ClickHouse/ClickHouse/pull/90151) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* Boostを1.83から1.90に更新し、デバッグビルドで発生していた`devector`のアサーション失敗を修正しました。[#97037](https://github.com/ClickHouse/ClickHouse/pull/97037) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `postgres` を REL\_18\_1 に更新しました。[#95189](https://github.com/ClickHouse/ClickHouse/pull/95189) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* `libexpat` 2.7.3 を使用するようになりました。 [#95218](https://github.com/ClickHouse/ClickHouse/pull/95218) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `OpenSSL` 3.5.5 を使用します。 [#95345](https://github.com/ClickHouse/ClickHouse/pull/95345) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `simdjson` v4.2.4 を使用する。 [#97129](https://github.com/ClickHouse/ClickHouse/pull/97129) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `libarchive` 3.8.5 を使用。 [#97131](https://github.com/ClickHouse/ClickHouse/pull/97131) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* `fast_float` v8.2.3 を採用。[#97133](https://github.com/ClickHouse/ClickHouse/pull/97133) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* `abseil-cpp` 20260107.1 と `s2geometry` v0.13.1 を使用。[#97134](https://github.com/ClickHouse/ClickHouse/pull/97134) ([Konstantin Bogdanov](https://github.com/thevar1able)) 。
* `libxml2` を 2.15.1 にアップデート。 [#95574](https://github.com/ClickHouse/ClickHouse/pull/95574) ([Robert Schulze](https://github.com/rschu1ze)).
* EOL に達した、または削除されたベースイメージを使用していた 7 個の Tier-3 統合テスト用 Docker イメージを、現在サポートされているバージョンに更新しました。[#97314](https://github.com/ClickHouse/ClickHouse/pull/97314) ([Rahul](https://github.com/motsc)).
* TPC-DSベンチマーククエリを追加しました。[#97349](https://github.com/ClickHouse/ClickHouse/pull/97349) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 個別の x86 命令セット向けの cmake オプション (`ENABLE_SSSE3`、`ENABLE_AVX2`、`NO_SSE3_OR_HIGHER`、`ARCH_NATIVE` など) を、実行時ディスパッチシステムですでに使用されている標準的な x86-64 マイクロアーキテクチャレベルに合わせて、単一の数値オプション `X86_ARCH_LEVEL` (`1`/`2`/`3`/`4`) に置き換えました。[#97354](https://github.com/ClickHouse/ClickHouse/pull/97354) ([Raúl Marín](https://github.com/Algunenano)) 。
* `FunctionBinaryArithmetic` で、除算以外の演算については `division_by_nullable=true` のテンプレートバリアントをインスタンス化しないようにし、コンパイル時間とバイナリサイズを削減しました。[#97496](https://github.com/ClickHouse/ClickHouse/pull/97496) ([Raúl Marín](https://github.com/Algunenano)).
* `typeid_cast.h`、`assert_cast.h`、`Context_fwd.h`、`IDataType.h`、および各種 Column ヘッダーなどの広く参照されるヘッダーから `Exception.h` を हटし、include の影響範囲を縮小しました。[#97497](https://github.com/ClickHouse/ClickHouse/pull/97497) ([Raúl Marín](https://github.com/Algunenano)) 。
* ホストコンパイラのヘッダーではなく、常にバンドル版の`compiler-rt`ヘッダー (sanitizer および XRay インターフェイス) を使用し、デフォルトで`compiler-rt`ライブラリをソースコードからビルドするようにしました。[#97499](https://github.com/ClickHouse/ClickHouse/pull/97499) ([Raúl Marín](https://github.com/Algunenano)) 。
* `long double` を十分に利用できるプラットフォームでは、`wide_integer_impl.h` に `boost/multiprecision` のヘッダーを含めないようにし、ビルド時間を短縮しました。[#96633](https://github.com/ClickHouse/ClickHouse/pull/96633) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* LLVM コードカバレッジジョブを実装し、まずは master ブランチでのみ有効化しました。[#90952](https://github.com/ClickHouse/ClickHouse/pull/90952) ([Alexey Bakharew](https://github.com/alexbakharew)) 。
* リリースビルドで libcxx の高速ハードニングを有効にしました。これは主に範囲外アクセスのチェックに必要です。Performance tests の結果から、性能への目立った影響はないと見込まれます。[#94757](https://github.com/ClickHouse/ClickHouse/pull/94757) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).

<div id="261">
  ### ClickHouse リリース 26.1、2026-01-29。[プレゼンテーション](https://presentations.clickhouse.com/2026-release-26.1/), [ビデオ](https://www.youtube.com/watch?v=fWuYt4M0xE4)
</div>

<div id="267-backward-incompatible-change">
  #### 後方互換性を持たない変更
</div>

* フォーマッタ内での別名の誤った置換によって生じていたフォーマットの不整合を修正しました。これにより [#82833](https://github.com/ClickHouse/ClickHouse/issues/82833) をクローズします。これにより [#82832](https://github.com/ClickHouse/ClickHouse/issues/82832) をクローズします。これにより [#68296](https://github.com/ClickHouse/ClickHouse/issues/68296) をクローズします。この変更は後方互換性に影響する可能性があります: アナライザが無効な場合、別名を参照する IN を含む一部の CREATE VIEW クエリは処理できません。この非互換性を回避するには、アナライザを有効にしてください (24.3 以降はデフォルトで有効です) 。[#82838](https://github.com/ClickHouse/ClickHouse/pull/82838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* コーデック `DEFLATE_QPL` および `ZSTD_QAT` は削除されました。既存の `DEFLATE_QPL` または `ZSTD_QAT` で圧縮されたデータは、アップグレード前に別のコーデックへ変換しておくことを推奨します。なお、これらのコーデックを使用するには、設定 `enable_deflate_qpl_codec` および `enable_zstd_qat_codec` を有効にしておく必要がありました。 [#92150](https://github.com/ClickHouse/ClickHouse/pull/92150) ([Robert Schulze](https://github.com/rschu1ze)).
* `system.query_log.exception` で stderr のキャプチャを有効にし、UDF のデバッグを改善しました。これまで UDF の stderr はファイルにしか記録されず、クエリログには出力されなかったため、デバッグは事実上不可能でした。現在は stderr がデフォルトで例外をトリガーし、送出前に最大 1MB まで完全に蓄積されるようになったため、完全な Python トレースバックとエラーメッセージが `system.query_log.exception` に記録され、より効果的にトラブルシューティングできるようになりました。[#92209](https://github.com/ClickHouse/ClickHouse/pull/92209) ([Xu Jia](https://github.com/XuJia0210)).
* `JOIN USING ()` 句の空のカラムリストは、現在では構文エラーと見なされます。以前は、クエリ実行時に `INVALID_JOIN_ON_EXPRESSION` として扱われる想定でした。`Join` ストレージとの結合など一部のケースでは、`LOGICAL_ERROR` を引き起こしていました。これにより [#82502](https://github.com/ClickHouse/ClickHouse/issues/82502) をクローズします。[#92371](https://github.com/ClickHouse/ClickHouse/pull/92371) ([Vladimir Cherkasov](https://github.com/vdimir)).
* JSON型では、デフォルトで SKIP REGEXP に部分一致を使用するようになりました。[#79250](https://github.com/ClickHouse/ClickHouse/issues/79250) をクローズ。[#92847](https://github.com/ClickHouse/ClickHouse/pull/92847) ([Pavel Kruglov](https://github.com/Avogar)).
* "Allow INSERT into simple ALIAS columns" を元に戻しました (ClickHouse/ClickHouse[#84154](https://github.com/ClickHouse/ClickHouse/issues/84154) を差し戻し) 。カスタムフォーマットでは動作せず、設定でも制御されていません。[#92849](https://github.com/ClickHouse/ClickHouse/pull/92849) ([Azat Khuzhin](https://github.com/azat)).
* データレイクのカタログがオブジェクトストレージにアクセスできない場合に、エラーを発生させる設定。 [#93606](https://github.com/ClickHouse/ClickHouse/pull/93606) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `Lazy` データベースエンジンは削除され、現在は利用できません。[#91231](https://github.com/ClickHouse/ClickHouse/issues/91231) をクローズ。[#93627](https://github.com/ClickHouse/ClickHouse/pull/93627) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `metric_log` の `transposed_with_wide_view` モードは、バグのため使用できないことから削除されました。今後、このモードで `system.metric_log` を定義することはできなくなります。これは [#78412](https://github.com/ClickHouse/ClickHouse/issues/78412) を部分的に差し戻すものです。[#93867](https://github.com/ClickHouse/ClickHouse/pull/93867) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* ワークロード向けのCPUスケジューリングは、デフォルトでプリエンプティブ方式になりました。`cpu_slot_preemption` サーバー設定を参照してください。[#94060](https://github.com/ClickHouse/ClickHouse/pull/94060) ([Sergei Trifonov](https://github.com/serxa)) 。
* 破損したパーツを防ぐため、索引ファイル名をエスケープするようにしました。この変更により、以前のバージョンで作成され、名前に非 ASCII 文字を含む索引は ClickHouse で読み込めなくなります。これに対処するには、MergeTree の設定 `escape_index_filenames` を使用できます。[#94079](https://github.com/ClickHouse/ClickHouse/pull/94079) ([Raúl Marín](https://github.com/Algunenano)).
* フォーマット設定 `exact_rows_before_limit`、`rows_before_aggregation`、`cross_to_inner_join_rewrite`、`regexp_dict_allow_hyperscan`、`regexp_dict_flag_case_insensitive`、`regexp_dict_flag_dotall`、`dictionary_use_async_executor` は、通常の (フォーマット設定ではない) 設定に変更されました。これは完全に内部的な変更であり、Iceberg、Delta Lake、Kafka、S3、S3Queue、Azure、Hive、RabbitMQ、Set、FileLog、または NATS のテーブルエンジン定義でこれらの設定のいずれかを指定していた (可能性は低い) 場合を除き、ユーザーに見える副作用はありません。こうした場合、これらの設定は以前は無視されていましたが、現在はそのような定義でエラーになります。[#94106](https://github.com/ClickHouse/ClickHouse/pull/94106) ([Robert Schulze](https://github.com/rschu1ze)).
* `joinGet/joinGetOrNull` 関数では、基になる Join table に対して `SELECT` 権限が必要になりました。この変更により、`joinGet('db.table', 'column', key)` を実行するには、ユーザーに Join table で定義されたキーカラムと、取得する attribute カラムの両方に対する `SELECT` 権限が必要です。これらの権限がない queries は、`ACCESS_DENIED` で失敗します。移行するには、テーブル全体へのアクセスには `GRANT SELECT ON db.join_table TO user` を、カラム単位のアクセスには `GRANT SELECT(key_col, attr_col) ON db.join_table TO user` を使用して、必要な permissions を付与してください。この変更は、これまで明示的な `SELECT` grants を設定していなかった、`joinGet`/`joinGetOrNull` に依存するすべての users および applications に影響します。[#94307](https://github.com/ClickHouse/ClickHouse/pull/94307) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `CREATE TABLE ... AS ...` クエリでは `SHOW COLUMNS` をチェックするようになりました。以前は `SHOW TABLES` をチェックしていましたが、この種の権限チェックに必要な権限としては不適切でした。[#94556](https://github.com/ClickHouse/ClickHouse/pull/94556) ([pufit](https://github.com/pufit)).
* `Hash` 出力フォーマットがブロックサイズに依存しないようになりました。[#94503](https://github.com/ClickHouse/ClickHouse/pull/94503) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。この変更により、従来のバージョンと比べて出力されるハッシュ値が変わる点に注意してください。

<div id="267-new-feature">
  #### 新機能
</div>

* ClickHouse Keeper 向けの HTTP API と内蔵 Web UI。[#78181](https://github.com/ClickHouse/ClickHouse/pull/78181) ([pufit](https://github.com/pufit) と [speeedmaster](https://github.com/speeedmaster)) 。
* 非同期 INSERT の重複排除が、依存する materialized view でも機能するようになりました。block\_id の衝突が発生すると、元の block は block\_id に関連付けられた行を除外するようにフィルタリングされ、残りの行には関連するすべての materialized view の SELECT クエリが適用されて変換されます。これにより、競合する行を含まない元の block が再構築されます。[#89140](https://github.com/ClickHouse/ClickHouse/pull/89140) ([Sema Checherinda](https://github.com/CheSema))。materialized view が関係する場合でも、非同期 INSERT で重複排除を使用できるようになりました。[#93957](https://github.com/ClickHouse/ClickHouse/pull/93957) ([Sema Checherinda](https://github.com/CheSema))。
* projection索引機能を簡素化し、拡張するための新しい構文とフレームワークが導入されました。これは [https://github.com/ClickHouse/ClickHouse/pull/81021](https://github.com/ClickHouse/ClickHouse/pull/81021) のフォローアップです。[#91844](https://github.com/ClickHouse/ClickHouse/pull/91844) ([Amos Bird](https://github.com/amosbird)).
* `Array` カラムでのテキスト索引のサポートを追加しました。[#89895](https://github.com/ClickHouse/ClickHouse/pull/89895) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* デフォルトで `use_variant_as_common_type` が有効になり、`Array` 内、`UNION` クエリ内、および `if`/`multiIf`/`case` の分岐で互換性のない型を使用できるようになりました。[#90677](https://github.com/ClickHouse/ClickHouse/pull/90677) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 新しいシステムテーブル `zookeeper_info`。 [#88014](https://github.com/ClickHouse/ClickHouse/issues/88014) を実装しました。 [#90809](https://github.com/ClickHouse/ClickHouse/pull/90809) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)) 。
* すべての関数が `Variant` 型をサポート。 [#90900](https://github.com/ClickHouse/ClickHouse/pull/90900) ([Bharat Nallan](https://github.com/bharatnc)).
* Prometheus の `/metrics` エンドポイントに、主にバージョン情報を含む `ClickHouse_Info` メトリクスを追加し、詳細なバージョン情報を時系列で追跡するチャートを作成できるようにしました。 [#91125](https://github.com/ClickHouse/ClickHouse/pull/91125) ([Christoph Wurm](https://github.com/cwurm)).
* Keeper に、クラスター構成を変更できる新しい4文字コマンド `rcfg` を追加しました。このコマンドでは、標準の `reconfigure` リクエストよりも柔軟に構成を変更できます。引数には `json` 文字列を取ります。TCP インターフェイスに送信するバイト列全体は、`rcfg{json_string_length_big_endian}{json_string}` のようになります。コマンドの例: `{"preconditions": {"leaders": [1, 2], "members": [1, 2, 3, 4, 5]}, "actions": [{"transfer_leadership": [3]}, {"remove_members": [1, 2]}, {"set_priority": [{"id": 4, "priority": 100}, {"id": 5, "priority": 100}]}, {"transfer_leadership": [4, 5]}, {"set_priority": [{"id": 3, "priority": 0}]}]}`。[#91354](https://github.com/ClickHouse/ClickHouse/pull/91354) ([alesapin](https://github.com/alesapin)).
* 指定した区切り文字で区切られた文字列内の部分文字列の順序を反転する関数 `reverseBySeparator` を追加しました。[#91463](https://github.com/ClickHouse/ClickHouse/issues/91463) をクローズしました。[#91780](https://github.com/ClickHouse/ClickHouse/pull/91780) ([Xuewei Wang](https://github.com/Sallery-X)).
* 挿入時のブロック生成をより細かく制御できる新しい設定 `max_insert_block_size_bytes` を追加しました。 [#92833](https://github.com/ClickHouse/ClickHouse/pull/92833) ([Kirill Kopnev](https://github.com/Fgrtue)).
* `ignore_on_cluster_for_replicated_database` 設定が有効な場合、Replicatedデータベースに対して `ON CLUSTER` 句を付けた DDLクエリを実行できます。この場合、クラスター名は無視されます。[#92872](https://github.com/ClickHouse/ClickHouse/pull/92872) ([Kirill](https://github.com/kirillgarbar)).
* 関数 `mergeTreeAnalyzeIndexes` を実装。 [#92954](https://github.com/ClickHouse/ClickHouse/pull/92954) ([Azat Khuzhin](https://github.com/azat)).
* 新しい設定 `use_primary_key` を追加しました。`false` に設定すると、主キーに基づくグラニュールのプルーニングを無効にできます。[#93319](https://github.com/ClickHouse/ClickHouse/pull/93319) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* `icebergLocalCluster` テーブル関数が追加されました。[#93323](https://github.com/ClickHouse/ClickHouse/pull/93323) ([Anton Ivashkin](https://github.com/ianton-ru)) 。
* 2点間の[余弦距離](https://en.wikipedia.org/wiki/Cosine_similarity#Cosine_distance)を近似的に計算する`cosineDistanceTransposed`関数が追加されました。[#93621](https://github.com/ClickHouse/ClickHouse/pull/93621) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 各データパートに含まれるファイル数を表示する `files` カラムを system.parts テーブルに追加しました。[#94337](https://github.com/ClickHouse/ClickHouse/pull/94337) ([Match](https://github.com/gayanMatch)) 。
* 同時実行制御向けに、max-min fair スケジューラが追加されました。これは、多数のクエリが限られた CPU スロットをめぐって競合する高オーバーサブスクリプション環境で、より高い公平性を実現します。長時間実行クエリが時間の経過とともにより多くのスロットを蓄積していても、短時間実行クエリが不利になることはありません。`concurrent_threads_scheduler` サーバー設定を `max_min_fair` に設定することで有効になります。[#94732](https://github.com/ClickHouse/ClickHouse/pull/94732) ([Sergei Trifonov](https://github.com/serxa)) 。
* ClickHouse client で、サーバーへの接続時に TLS SNI を上書きできるようになりました。[#89761](https://github.com/ClickHouse/ClickHouse/pull/89761) ([Matt Klein](https://github.com/mattklein123)) 。
* `joinGet` 関数の呼び出しで一時テーブルをサポート。 [#92973](https://github.com/ClickHouse/ClickHouse/pull/92973) ([Eduard Karacharov](https://github.com/korowa)).
* `DeltaLake` table engine で削除ベクターをサポートするようになりました。 [#93852](https://github.com/ClickHouse/ClickHouse/pull/93852) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `deltaLakeCluster` が deletion vectors に対応しました。[#94365](https://github.com/ClickHouse/ClickHouse/pull/94365) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* データレイク向けの Google Cloud Storage のサポート。[#93866](https://github.com/ClickHouse/ClickHouse/pull/93866) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。

<div id="267-experimental-feature">
  #### 実験的機能
</div>

* `QBit` を Experimental から ベータに昇格しました。[#93816](https://github.com/ClickHouse/ClickHouse/pull/93816) ([Raufs Dunamalijevs](https://github.com/rienath)).
* `Nullable(Tuple)` のサポートを追加しました。有効にするには `allow_experimental_nullable_tuple_type = 1` を設定してください。[#89643](https://github.com/ClickHouse/ClickHouse/pull/89643) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* [https://github.com/ClickHouse/ClickHouse/pull/84423](https://github.com/ClickHouse/ClickHouse/pull/84423) に続き、Paimon REST カタログをサポートしました。[#92011](https://github.com/ClickHouse/ClickHouse/pull/92011) ([JIaQi Tang](https://github.com/JiaQiTang98)).

<div id="267-performance-improvement">
  #### パフォーマンス改善
</div>

* 設定 `use_skip_indexes_on_data_read` は、デフォルトで有効になりました。この設定により、読み込みと同時にストリーミング方式でフィルタリングできるようになり、クエリのパフォーマンスと起動時間が向上します。[#93407](https://github.com/ClickHouse/ClickHouse/pull/93407) ([Shankar Iyer](https://github.com/shankar-iyer)).
* `LowCardinality` カラムに対する `DISTINCT` のパフォーマンスを改善しました。[#5917](https://github.com/ClickHouse/ClickHouse/issues/5917) をクローズしました。[#91639](https://github.com/ClickHouse/ClickHouse/pull/91639) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* `distinctJSONPaths` 集約関数を最適化し、JSONカラム全体ではなく、データパーツから JSON パスのみを読み取るようにしました。[#92196](https://github.com/ClickHouse/ClickHouse/pull/92196) ([Pavel Kruglov](https://github.com/Avogar)) 。
* JOIN へのプッシュダウンに対応するフィルタが増えました。[#85556](https://github.com/ClickHouse/ClickHouse/pull/85556) ([Nikita Taranov](https://github.com/nickitat)).
* filter が片側の入力のみを使う場合に、join の ON 条件からの push down に対応するケースをさらに拡大しました。`ANY`、`SEMI`、`ANTI` join のサポートを追加しました。[#92584](https://github.com/ClickHouse/ClickHouse/pull/92584) ([Dmitry Novik](https://github.com/novikd)).
* `SEMI JOIN` のフィルタをプッシュダウンするために、同等の集合を使用できるようにしました。[#85239](https://github.com/ClickHouse/ClickHouse/issues/85239) をクローズしました。[#92837](https://github.com/ClickHouse/ClickHouse/pull/92837) ([Dmitry Novik](https://github.com/novikd)) 。
* 右側が空の場合、ハッシュ結合の左側の読み取りをスキップするようになりました。以前は、最初の空でないブロックに到達するまで左側を読み取っていたため、フィルタリングや集約の負荷が高い場合には多くの処理が発生する可能性がありました。[#94062](https://github.com/ClickHouse/ClickHouse/pull/94062) ([Alexander Gololobov](https://github.com/davenger)).
* クエリパイプライン内でデータをパーティション化するために、"fastrange" (Daniel Lemire) 方式を採用しました。これにより、並列ソートやJOINが改善される可能性があります。[#93080](https://github.com/ClickHouse/ClickHouse/pull/93080) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* PARTITION BY がソートキーと一致する場合、またはそのプレフィックスである場合のウィンドウ関数の性能を向上させました。 [#87299](https://github.com/ClickHouse/ClickHouse/pull/87299) ([Nikita Taranov](https://github.com/nickitat)).
* 外側のフィルタがビューにプッシュダウンされるようになり、ローカルノードとリモートノードの両方でPREWHEREを適用できるようになりました。[#88189](https://github.com/ClickHouse/ClickHouse/issues/88189) を解決しました。[#88316](https://github.com/ClickHouse/ClickHouse/pull/88316) ([Igor Nikonov](https://github.com/devcrafter)) 。
* より多くの関数でJITコンパイルを実装しました。[#73509](https://github.com/ClickHouse/ClickHouse/issues/73509) をクローズしました。[#88770](https://github.com/ClickHouse/ClickHouse/pull/88770) ([Alexey Milovidov](https://github.com/alexey-milovidov)、[Taiyang Li](https://github.com/taiyang-li) と共同) 。
* `FINAL` クエリで使用されるスキップ索引が主キーの一部であるカラム上にある場合、他のパーツで主キーの積集合を確認する追加ステップは不要となり、現在は実行されなくなりました。[#85897](https://github.com/ClickHouse/ClickHouse/issues/85897) を解消しました。[#93899](https://github.com/ClickHouse/ClickHouse/pull/93899) ([Shankar Iyer](https://github.com/shankar-iyer)) 。
* 小数値の `LIMIT` および `OFFSET` に対するパフォーマンスとメモリ使用量を最適化しました。[#91167](https://github.com/ClickHouse/ClickHouse/pull/91167) ([Ahmed Gouda](https://github.com/0xgouda)) 。
* Parquet リーダー V3 のプリフェッチャーで、より高速なランダム読み取りロジックを使用するように修正しました。[#90890](https://github.com/ClickHouse/ClickHouse/issues/90890) をクローズしました。[#91435](https://github.com/ClickHouse/ClickHouse/pull/91435) ([Arsen Muk](https://github.com/arsenmuk)) 。
* `icebergCluster` のパフォーマンスを改善。[#91462](https://github.com/ClickHouse/ClickHouse/issues/91462) をクローズ。[#91537](https://github.com/ClickHouse/ClickHouse/pull/91537) ([Yang Jiang](https://github.com/Ted-Jiang)).
* 定数フィルターでは仮想カラムで絞り込まない。[#91588](https://github.com/ClickHouse/ClickHouse/pull/91588) ([c-end](https://github.com/c-end)).
* adaptive write buffers を有効にすることで、非常に列数の多いテーブルにおける wide パーツでの INSERT/merges のメモリ使用量を削減します。暗号化ディスクに対する adaptive write buffers のサポートを追加しました。 [#92250](https://github.com/ClickHouse/ClickHouse/pull/92250) ([Azat Khuzhin](https://github.com/azat)).
* 索引内で検索するトークン数を削減し、テキスト索引と`sparseGrams`トークナイザーを用いた全文検索の性能を向上させました。[#93078](https://github.com/ClickHouse/ClickHouse/pull/93078) ([Anton Popov](https://github.com/CurtizJ)).
* Function `isValidASCII` は、すべてASCIIの入力値で有効になるケース向けに最適化されました。[#93347](https://github.com/ClickHouse/ClickHouse/pull/93347) ([Robert Schulze](https://github.com/rschu1ze)) 。
* read-in-order 最適化は、WHERE 条件によって ORDER BY カラムが定数になるケースを認識し、逆順での読み取りを効率的に実行できるようになりました。これにより、`WHERE tenant='42' ORDER BY tenant, event_time DESC` のようなマルチテナントクエリでは、フルソートを行わずに InReverseOrder を利用できるようになります。". [#94103](https://github.com/ClickHouse/ClickHouse/pull/94103) ([matanper](https://github.com/matanper)).
* メモリ使用量を最適化するため、値パラメータを ASTLiteral の子ノードではなく (string, integer) のペアとして格納する Enum AST 専用クラスを導入しました。 [#94178](https://github.com/ClickHouse/ClickHouse/pull/94178) ([Ilya Yatsishin](https://github.com/qoega)).
* 複数のレプリカでの分散索引解析。共有ストレージや、クラスター内の大量のデータで効果を発揮します。これは SharedMergeTree (ClickHouse Cloud) に適用でき、共有ストレージ上の他の種類の MergeTree テーブルにも適用可能になる場合があります。[#86786](https://github.com/ClickHouse/ClickHouse/pull/86786)  ([Azat Khuzhin](https://github.com/azat)) 。
* 以下の場合は joinランタイムフィルタを無効化してオーバーヘッドを削減: - bloom filter でセットされるビットが多すぎる場合 - 実行時に除外される行が少なすぎる場合。 [#91578](https://github.com/ClickHouse/ClickHouse/pull/91578) ([Alexander Gololobov](https://github.com/davenger)).
* 相関サブクエリの入力にインメモリバッファを使用し、複数回評価するのを防ぎます。[#79890](https://github.com/ClickHouse/ClickHouse/issues/79890) の一部。[#91205](https://github.com/ClickHouse/ClickHouse/pull/91205) ([Dmitry Novik](https://github.com/novikd)).
* すべてのレプリカが、並列レプリカ読み取り時に孤立した範囲を並行して引き取れるようになりました。これにより、負荷分散が改善され、ロングテールレイテンシが低減されます。[#91374](https://github.com/ClickHouse/ClickHouse/pull/91374) ([zoomxi](https://github.com/zoomxi)).
* 外部集約/ソート/結合で、あらゆるコンテキストでクエリ設定 `temporary_files_codec` が適用されるようになりました。Grace Hash Join のプロファイルイベントが欠落していた問題を修正しました。[#92388](https://github.com/ClickHouse/ClickHouse/pull/92388) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 集約/ソート時にディスクへスピルする際のクエリのメモリ使用量検出を、より堅牢にしました。[#92500](https://github.com/ClickHouse/ClickHouse/pull/92500) ([Azat Khuzhin](https://github.com/azat)) 。
* 集約キーカラムについて、総行数と NDV (異なる値の数) の統計を推定します。 [#92812](https://github.com/ClickHouse/ClickHouse/pull/92812) ([Alexander Gololobov](https://github.com/davenger)) 。
* simdcomp によりポスティングリストの圧縮を最適化しました。[#92871](https://github.com/ClickHouse/ClickHouse/pull/92871) ([Peng Jian](https://github.com/fastio)) 。
* バケットを用いて S3Queue Ordered モードの処理をリファクタリングしました。これにより、Keeper へのリクエスト数が減り、パフォーマンスの向上も見込まれます。[#92889](https://github.com/ClickHouse/ClickHouse/pull/92889) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* 関数 `mapContainsKeyLike` と `mapContainsValueLike` は、それぞれ `mapKeys()` または `mapValues()` に対するテキスト索引を利用できるようになりました。[#93049](https://github.com/ClickHouse/ClickHouse/pull/93049) ([Michael Jarrett](https://github.com/EmeraldShift)) 。
* Linux 以外のシステムでのメモリ使用量を削減しました (jemalloc のダーティページの即時パージを有効にしました) 。[#93360](https://github.com/ClickHouse/ClickHouse/pull/93360) ([Eduard Karacharov](https://github.com/korowa)) 。
* ダーティページサイズと`max_server_memory_usage`の比率が`memory_worker_purge_dirty_pages_threshold_ratio`を超えた場合、jemallocアリーナを強制的にパージするようになりました。 [#93500](https://github.com/ClickHouse/ClickHouse/pull/93500) ([Eduard Karacharov](https://github.com/korowa)).
* AST のメモリ使用量を削減。 [#93601](https://github.com/ClickHouse/ClickHouse/pull/93601) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* 一部のケースで、ClickHouse がテーブルの読み取り時にメモリ制限を守らないことが確認されていました。この動作は修正されました。[#93715](https://github.com/ClickHouse/ClickHouse/pull/93715) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Keeper 拡張機能 `CHECK_STAT` および `TRY_REMOVE` をデフォルトで有効にしました。[#93886](https://github.com/ClickHouse/ClickHouse/pull/93886) ([Mikhail Artemenko](https://github.com/Michicosun)).
* 対応するデータファイルをより適切に選択できるよう、Iceberg マニフェストファイルのエントリから position delete に対応するファイル名の下限・上限を解析するようにしました。 [#93980](https://github.com/ClickHouse/ClickHouse/pull/93980) ([Daniil Ivanik](https://github.com/divanik)).
* JSON カラム内の動的サブカラムの最大数を制御するための設定が、さらに 2 つ追加されました。1 つ目は MergeTree 設定 `merge_max_dynamic_subcolumns_in_compact_part` で (すでに追加されている `merge_max_dynamic_subcolumns_in_wide_part` と同様) 、compact パーツへのマージ時に作成される動的サブカラム数を制限します。2 つ目はクエリレベルの設定 `max_dynamic_subcolumns_in_json_type_parsing` で、JSON データのパース時に作成される動的サブカラム数を制限します。これにより、INSERT 時の上限を指定できるようになります。[#94184](https://github.com/ClickHouse/ClickHouse/pull/94184) ([Pavel Kruglov](https://github.com/Avogar)).
* 一部のケースでJSONカラムをまとめる処理をわずかに最適化しました。[#94247](https://github.com/ClickHouse/ClickHouse/pull/94247) ([Pavel Kruglov](https://github.com/Avogar)) 。
* 本番運用の経験に基づき、スレッドプールのキューサイズを引き下げました。MergeTreeからデータを読み込む前に、明示的なメモリ使用量チェックを追加しました。[#94692](https://github.com/ClickHouse/ClickHouse/pull/94692) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* CPU 枯渇時にスケジューラが MemoryWorker スレッドを優先するようにし、ClickHouse プロセスを致命的な脅威から保護します。 [#94864](https://github.com/ClickHouse/ClickHouse/pull/94864) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* jemalloc の dirty page のパージを、MemoryWorker のメインスレッドとは別のスレッドで実行するようにしました。パージに時間がかかると RSS 使用量の更新が遅れ、その結果、プロセスが OOM キルされる可能性があります。総メモリ使用量の割合に基づいて dirty page のパージを開始するための新しい設定 `memory_worker_purge_total_memory_threshold_ratio` を導入しました。 [#94902](https://github.com/ClickHouse/ClickHouse/pull/94902) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="267-improvement">
  #### 改善
</div>

* Azure Blob Storage で `system.blob_storage_log` を利用できるようになりました。[#93105](https://github.com/ClickHouse/ClickHouse/pull/93105) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* Local と HDFS 向けに `blob_storage_log` を実装しました。`S3Queue` が `blob_storage_log` へのログ出力でディスク名以外を使用していた場合に発生するエラーを修正しました。`blob_storage_log` に `error_code` カラムを追加しました。ローカルでのテストを簡単にするため、テスト用の設定ファイルを分割しました。 [#93106](https://github.com/ClickHouse/ClickHouse/pull/93106) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* `clickhouse-client` と `clickhouse-local` で、入力中の数値リテラル内の桁区切り (千、百万など) が強調表示されるようになりました。これにより [#93100](https://github.com/ClickHouse/ClickHouse/issues/93100) が解決されました。[#93108](https://github.com/ClickHouse/ClickHouse/pull/93108) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `clickhouse-client` で、等号の前後にスペースを含むコマンドライン引数をサポートしました。[#93077](https://github.com/ClickHouse/ClickHouse/issues/93077) をクローズしました。[#93174](https://github.com/ClickHouse/ClickHouse/pull/93174) ([Cole Smith](https://github.com/colesmith54)) 。
* `<interactive_history_legacy_keymap>true</interactive_history_legacy_keymap>` を使用すると、CLI クライアントで従来どおり Ctrl-R による通常検索に戻せるようになり、Ctrl-T ではあいまい検索を行えます。[#87785](https://github.com/ClickHouse/ClickHouse/pull/87785) ([Larry Snizek](https://github.com/larry-cdn77)) 。
* cache をクリアするためのステートメント `SYSTEM DROP [...] CACHE` は、そのステートメントが cache を無効にするかのような誤解を招いていました。ClickHouse は現在、より意味が明確なステートメント `SYSTEM CLEAR [...] CACHE` をサポートしています。古い構文も引き続き利用できます。[#93727](https://github.com/ClickHouse/ClickHouse/pull/93727) ([Pranav Tiwari](https://github.com/pranavt84)).
* `EmbeddedRocksDB` で、複数カラムの主キーをサポートしました。[#32819](https://github.com/ClickHouse/ClickHouse/issues/32819) をクローズ。[#33917](https://github.com/ClickHouse/ClickHouse/pull/33917) ([usurai](https://github.com/usurai)).
* スカラー値に対して非定数の IN を使用できるようになりました (`val1 NOT IN if(cond, val2, val3)` のようなクエリ) 。[#93495](https://github.com/ClickHouse/ClickHouse/pull/93495) ([Yarik Briukhovetskyi](https://github.com/yariks5s)) 。
* 未サポートのため、`x-amz-server-side-encryption` ヘッダーが `HeadObject`、`UploadPart`、`CompleteMultipartUpload` の S3 リクエストに伝播されないようにしました。[#64577](https://github.com/ClickHouse/ClickHouse/pull/64577) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)) 。
* S3Queue の ordered モードで Hive パーティション化の追跡に対応しました。[#71161](https://github.com/ClickHouse/ClickHouse/issues/71161) を解決しました。[#81040](https://github.com/ClickHouse/ClickHouse/pull/81040) ([Anton Ivashkin](https://github.com/ianton-ru)).
* ファイルシステムキャッシュの領域予約を最適化しました。`FileCache::collectCandidatesForEviction` は、unique lock を使用せずに実行されるようになりました。[#82764](https://github.com/ClickHouse/ClickHouse/pull/82764) ([Kseniia Sumarokova](https://github.com/kssenii)).
* サーバーログで複合ローテーション戦略 (サイズ + 時間) をサポートしました。 [#87620](https://github.com/ClickHouse/ClickHouse/pull/87620) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* CLI クライアントで、コマンドラインの `--no-warnings` の代わりに `<warnings>false</warnings>` を指定できるようになりました。[#87783](https://github.com/ClickHouse/ClickHouse/pull/87783) ([Larry Snizek](https://github.com/larry-cdn77)) 。
* `avg` 集約関数で、`Date`、`DateTime`、`Time` 型の値を引数としてサポートしました。[#82267](https://github.com/ClickHouse/ClickHouse/issues/82267) をクローズしました。[#87845](https://github.com/ClickHouse/ClickHouse/pull/87845) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 最適化 `use_join_disjunctions_push_down` は、デフォルトで有効になっています。[#89313](https://github.com/ClickHouse/ClickHouse/pull/89313) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 相関サブクエリで、より多くのテーブルエンジンとデータソースの種類をサポートしました。[#80775](https://github.com/ClickHouse/ClickHouse/issues/80775) をクローズしました。[#90175](https://github.com/ClickHouse/ClickHouse/pull/90175) ([Dmitry Novik](https://github.com/novikd)).
* パラメーター化ビューのスキーマが明示的に指定されている場合は、それが表示されます。[#88875](https://github.com/ClickHouse/ClickHouse/issues/88875)、[#81385](https://github.com/ClickHouse/ClickHouse/issues/81385) をクローズしました。[#90220](https://github.com/ClickHouse/ClickHouse/pull/90220) ([Grigorii Sokolik](https://github.com/GSokol)) 。
* ログが最後にコミットされた索引より前にある場合に、Keeper のログエントリの欠落を正しく処理します。 [#90403](https://github.com/ClickHouse/ClickHouse/pull/90403) ([Antonio Andelic](https://github.com/antonio2368)).
* JBODボリュームでも正しく動作するよう、`min_free_disk_bytes_to_perform_insert` 設定を改善しました。[#90878](https://github.com/ClickHouse/ClickHouse/pull/90878) ([Aleksandr Musorin](https://github.com/AVMusorin)) 。
* `S3` table engine と `s3` table function の named collections で `storage_class_name` 設定を指定できるようになりました。[#91926](https://github.com/ClickHouse/ClickHouse/pull/91926) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* `system.zookeeper` 経由で補助 ZooKeeper への insert をサポートしました。[#92092](https://github.com/ClickHouse/ClickHouse/pull/92092) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Keeper向けに、新たに `KeeperChangelogWrittenBytes`、`KeeperChangelogFileSyncMicroseconds`、`KeeperSnapshotWrittenBytes`、`KeeperSnapshotFileSyncMicroseconds` のプロファイルイベントと、`KeeperBatchSizeElements` および `KeeperBatchSizeBytes` のヒストグラムメトリクスを追加しました。 [#92149](https://github.com/ClickHouse/ClickHouse/pull/92149) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 新しい設定 `trace_profile_events_list` を追加し、`trace_profile_event` によるトレースを指定したイベント名のリストに限定できるようにしました。これにより、大規模なワークロードでも、より精密なデータ収集が可能になります。[#92298](https://github.com/ClickHouse/ClickHouse/pull/92298) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 一時停止可能な failpoint に対する SYSTEM NOTIFY FAILPOINT のサポートを追加しました。 - SYSTEM WAIT FAILPOINT fp PAUSE/RESUME のサポートを追加しました。 [#92368](https://github.com/ClickHouse/ClickHouse/pull/92368) ([Shaohua Wang](https://github.com/tiandiwonder)).
* `system.data_skipping_indices` に `creation` (暗黙／明示) カラムを追加しました。[#92378](https://github.com/ClickHouse/ClickHouse/pull/92378) ([Raúl Marín](https://github.com/Algunenano)) 。
* YTsaurus dyn tables のカラムの説明を Dictionary ソースに渡せるようになりました。[#92391](https://github.com/ClickHouse/ClickHouse/pull/92391) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* [#63985](https://github.com/ClickHouse/ClickHouse/pull/63985) では、TLS 設定に必要なすべてのパラメータをポート単位で指定できるようにし ([コンポーザブルプロトコル](https://clickhouse.com/docs/operations/settings/composable-protocols) を参照) 、グローバルな TLS 設定に依存しなくて済むようにしました。ところが、この実装では依然としてグローバルな `openSSL.server` 設定セクションが存在することを暗黙的に前提としており、ポートごとに異なる TLS 設定が必要な構成とは相性がよくありません。たとえば keeper-in-server デプロイメントでは、keeper 間の通信と clickhouse client 接続向けに、それぞれ別個の TLS 設定が必要です。 [#92457](https://github.com/ClickHouse/ClickHouse/pull/92457) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 悪意のあるペイロードへの対策として、バイナリフォーマットでデコードできる型ノードの総数を制限する新しい設定 `input_format_binary_max_type_complexity` を導入しました。 [#92519](https://github.com/ClickHouse/ClickHouse/pull/92519) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* `system.background_schedule_pool{,_log}` に実行中のタスクが反映されるようにしました。ドキュメントを追加。[#92587](https://github.com/ClickHouse/ClickHouse/pull/92587) ([Azat Khuzhin](https://github.com/azat)).
* 履歴に一致する項目が見つからない場合、クライアントの Ctrl+R 検索で現在のクエリを実行するようになりました。 [#92749](https://github.com/ClickHouse/ClickHouse/pull/92749) ([Azat Khuzhin](https://github.com/azat)).
* `EXPLAIN indices = 1` を `EXPLAIN indexes = 1` の alias としてサポートしました。[#92483](https://github.com/ClickHouse/ClickHouse/issues/92483) をクローズしました。[#92774](https://github.com/ClickHouse/ClickHouse/pull/92774) ([Pranav Tiwari](https://github.com/pranavt84)).
* Parquet リーダーで、Tuple または Map カラムを JSON として読み取れるようになりました。`select x from file(f.parquet, auto, 'x JSON')` は、`f.parquet` 内のカラム `x` の型が tuple または map であっても動作します。[#92864](https://github.com/ClickHouse/ClickHouse/pull/92864) ([Michael Kolupaev](https://github.com/al13n321))。
* Parquet リーダーで空のタプルをサポートしました。 [#92868](https://github.com/ClickHouse/ClickHouse/pull/92868) ([Michael Kolupaev](https://github.com/al13n321)).
* Azure Blob Storage で `native` copy が BadRequest (例：無効な block list) で失敗した場合、read-write copy にフォールバックするようにしました。これまでは、異なるストレージアカウント間でブロブをコピーする際に発生していた Unauthorized エラーに対してのみ、この処理を行っていました。しかし、"The specified block list is invalid" エラーが発生することもあります。そのため、すべての `native` copy の失敗で read & write にフォールバックするよう、条件を更新しました。[#92888](https://github.com/ClickHouse/ClickHouse/pull/92888) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* EC2 インスタンスプロファイルの認証情報を使用して多数の同時実行 S3 クエリを実行する際に発生する、EC2 メタデータエンドポイントのスロットリングを修正しました。以前は各クエリがそれぞれ独自の `AWSInstanceProfileCredentialsProvider` を作成していたため、EC2 メタデータサービスへの同時リクエストが発生し、その結果、タイムアウトや `HTTP response code: 403` エラーを引き起こすことがありました。現在は、認証情報プロバイダーがキャッシュされ、すべてのクエリで共有されます。 [#92891](https://github.com/ClickHouse/ClickHouse/pull/92891) ([Sav](https://github.com/sberss)).
* 後方互換性を維持できるよう、`insert_select_deduplicate` 設定を見直しました。[#92951](https://github.com/ClickHouse/ClickHouse/pull/92951) ([Sema Checherinda](https://github.com/CheSema)) 。
* タスクのログが過剰に出力されるのを防ぐため、平均より遅いバックグラウンドタスクのみをログに記録するようにしました (`background_schedule_pool_log.duration_threshold_milliseconds=30`) 。[#92965](https://github.com/ClickHouse/ClickHouse/pull/92965) ([Azat Khuzhin](https://github.com/azat)).
* 以前のバージョンでは、一部の C++ 関数名が `system.trace_log` および `system.symbols` で誤って (「mangled」のまま) 表示され、`demangle` 関数でもそれらをうまく処理できませんでした。[#93074](https://github.com/ClickHouse/ClickHouse/issues/93074) をクローズします。[#93075](https://github.com/ClickHouse/ClickHouse/pull/93075) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* リフレッシャブルmaterialized view のバックアップをスキップするためのバックアップ設定 `backup_data_from_refreshable_materialized_view_targets` が導入されました。APPEND リフレッシュ戦略の RMV は常にバックアップされます。 [#93076](https://github.com/ClickHouse/ClickHouse/pull/93076) ([Julia Kartseva](https://github.com/jkartseva)). [#93658](https://github.com/ClickHouse/ClickHouse/pull/93658) ([Julia Kartseva](https://github.com/jkartseva))
* 関数のような負荷の高い翻訳単位では、デバッグ情報をなくすのではなく、最小限のデバッグ情報を使用するようにしました。[#93079](https://github.com/ClickHouse/ClickHouse/pull/93079) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* MinIO 固有のエラーに対応するエラーコードマッピングを実装し、AWS S3 C++ SDK に MinIO 互換性のサポートを追加しました。この変更により、AWS S3 ではなく MinIO デプロイメントを使用する場合でも、ClickHouse が MinIO サーバーのエラーを適切に処理して再試行できるようになり、セルフホストの MinIO クラスター上でオブジェクトストレージを運用するユーザーの信頼性が向上します。 [#93082](https://github.com/ClickHouse/ClickHouse/pull/93082) ([XiaoBinMu](https://github.com/Binnn-MX)).
* シンボル化済みの jemalloc プロファイルを出力できるようになり、heap profile の生成時にバイナリが不要になりました。[#93099](https://github.com/ClickHouse/ClickHouse/pull/93099) ([Azat Khuzhin](https://github.com/azat)) 。
* `clickhouse git-import` ツールを復活させました。大きなコミットや不正なコミットで正常に動作しなくなっていたためです。[https://presentations.clickhouse.com/2020-matemarketing/](https://presentations.clickhouse.com/2020-matemarketing/) を参照してください。 [#93202](https://github.com/ClickHouse/ClickHouse/pull/93202) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* クエリログに、URLストレージのパスワードを表示しないようにしました。 [#93245](https://github.com/ClickHouse/ClickHouse/pull/93245) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* `flipCoordinates` で `Geometry` 型をサポートしました。[#93303](https://github.com/ClickHouse/ClickHouse/pull/93303) ([Bharat Nallan](https://github.com/bharatnc)) 。
* SYSTEM INSTRUMENT ADD/REMOVE の UX を改善: 関数名に String リテラルを使用し、一致するすべての関数にパッチを適用できるようにし、`REMOVE` で function\_name を使えるようにしました。[#93345](https://github.com/ClickHouse/ClickHouse/pull/93345) ([Pablo Marcos](https://github.com/pamarcos)).
* マージ時の統計情報のマテリアライズを有効/無効にする新しい設定 `materialize_statistics_on_merge` を追加しました。デフォルト値は `1` です。[#93379](https://github.com/ClickHouse/ClickHouse/pull/93379) ([Han Fei](https://github.com/hanfei1991)) 。
* ClickHouse で、`DESCRIBE SELECT` クエリにおいて `SELECT` を括弧で囲まなくても解析できるようになりました。[#58382](https://github.com/ClickHouse/ClickHouse/issues/58382) を修正しました。[#93429](https://github.com/ClickHouse/ClickHouse/pull/93429) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 一定の確率で cache の正確性チェックをランダムに行うようにしました。[#93439](https://github.com/ClickHouse/ClickHouse/pull/93439) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* JSON において、一方がリテラルでもう一方がネストされたオブジェクトである場合に、重複したパスを許可する設定 `type_json_allow_duplicated_key_with_literal_and_nested_object` を追加しました。例: `{"a" : 42, "a" : {"b" : 42}}`。[https://github.com/ClickHouse/ClickHouse/pull/79317](https://github.com/ClickHouse/ClickHouse/pull/79317) で重複パスに対するこの制限が追加される前に作成されたデータが存在する可能性があり、現在ではそのようなデータをさらに操作するとエラーが発生することがあります。この設定を使用すると、そのような古いデータも引き続きエラーなく使用できます。[#93604](https://github.com/ClickHouse/ClickHouse/pull/93604) ([Pavel Kruglov](https://github.com/Avogar)).
* Pretty JSON では、単純型の値を個別の行に出力しないようにしました。[#93836](https://github.com/ClickHouse/ClickHouse/pull/93836) ([Pavel Kruglov](https://github.com/Avogar)) 。
* `alter table ... modify setting ...` ステートメントが多数ある場合、5秒間ロックを取得できないことがあります。`logical error` ではなく `timeout` を返すようにしたほうが適切です。 [#93856](https://github.com/ClickHouse/ClickHouse/pull/93856) ([Han Fei](https://github.com/hanfei1991)).
* 構文エラー時の過剰な出力を防止しました。この変更以前は SQL スクリプト全体が出力されており、多数のクエリが含まれている可能性がありました。[#93876](https://github.com/ClickHouse/ClickHouse/pull/93876) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Keeper において、統計情報付きの `check` リクエストのバイトサイズを正しく計算するようにしました。[#93907](https://github.com/ClickHouse/ClickHouse/pull/93907) ([Mikhail Artemenko](https://github.com/Michicosun)).
* join の並べ替えで実行時のハッシュテーブルサイズの統計を使用するかどうかを制御するため、`use_hash_table_stats_for_join_reordering` 設定が追加されました。この設定はデフォルトで有効になっており、`collect_hash_table_stats_during_joins` の既存の動作は維持されます。[#93912](https://github.com/ClickHouse/ClickHouse/pull/93912) ([Vladimir Cherkasov](https://github.com/vdimir)).
* ユーザーは、`system.server_settings` テーブルでネストされたグローバルなサーバー設定 (例: `logger.level`) を部分的に確認できるようになりました。これは、固定された構造を持つ設定 (リスト、列挙、繰り返しなどがないもの) のみを対象としています。[#94001](https://github.com/ClickHouse/ClickHouse/pull/94001) ([Hechem Selmi](https://github.com/m-selmi)).
* `QBit` が等価比較できるようになりました。[#94078](https://github.com/ClickHouse/ClickHouse/pull/94078) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* Keeper が破損したスナップショットや不整合な変更ログを検出した場合は、手動で中断したりファイルを自動的にクリーンアップしたりする代わりに、例外をスローするようになりました。これにより、手動での介入を前提とした、より安全な Keeper の動作が実現されます。[#94168](https://github.com/ClickHouse/ClickHouse/pull/94168) ([Antonio Andelic](https://github.com/antonio2368)).
* `CREATE TABLE` の失敗時に不要な残骸が残る可能性がある問題を修正しました。 [#94174](https://github.com/ClickHouse/ClickHouse/pull/94174) ([Azat Khuzhin](https://github.com/azat)).
* パスワードで保護された TLS 秘密鍵の使用時に発生する、未初期化メモリへのアクセス (OpenSSL のバグ) を修正しました。[#94182](https://github.com/ClickHouse/ClickHouse/pull/94182) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* chdig を [v26.1.1](https://github.com/azat/chdig/releases/tag/v26.1.1) に更新しました。[#94290](https://github.com/ClickHouse/ClickHouse/pull/94290) ([Azat Khuzhin](https://github.com/azat)) 。
* S3Queue ordered mode で、より汎用的なパーティション化をサポートしました。 [#94321](https://github.com/ClickHouse/ClickHouse/pull/94321) ([Bharat Nallan](https://github.com/bharatnc)).
* 設定 `allow_statistics_optimize` のエイリアスとして `use_statistics` を追加しました。これにより、既存の設定 `use_primary_key` および `use_skip_indexes` との整合性が高まります。[#94366](https://github.com/ClickHouse/ClickHouse/pull/94366) ([Robert Schulze](https://github.com/rschu1ze)).
* Numbers から Enums への変換時に要素が存在するかどうかを確認するための設定 `input_format_numbers_enum_on_conversion_error` を有効にしました。[#94384](https://github.com/ClickHouse/ClickHouse/pull/94384) ([Elmi Ahmadov](https://github.com/ahmadov)) 。
* S3(Azure)Queue の ordered mode で、追跡制限に基づいて失敗したノードをクリーンアップするようになりました (以前は、失敗済みノードと処理済みノードの両方について Unordered mode でのみ行われていましたが、今後は Ordered mode でも失敗したノードに限って行われます) 。 [#94412](https://github.com/ClickHouse/ClickHouse/pull/94412) ([Kseniia Sumarokova](https://github.com/kssenii)).
* clickhouse-local の `default` ユーザーでアクセス管理を有効にしました。`clickhouse-local` のデフォルトユーザーには access\_management 権限がなかったため、本来は無制限であるべきにもかかわらず、`DROP ROW POLICY IF EXISTS` のような操作が `ACCESS_DENIED` エラーで失敗していました。[#94501](https://github.com/ClickHouse/ClickHouse/pull/94501) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* YTsaurus の辞書およびテーブルで named collection を有効にしました。[#94582](https://github.com/ClickHouse/ClickHouse/pull/94582) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* S3 および Azure Blob Storage 向けの BACKUP/RESTORE で、SQL で定義した named collection をサポートしました。[#94604](https://github.com/ClickHouse/ClickHouse/issues/94604) をクローズします。[#94605](https://github.com/ClickHouse/ClickHouse/pull/94605) ([Pablo Marcos](https://github.com/pamarcos)) 。
* ordered モードの S3Queue で、パーティションキーに基づくバケット分けをサポートしました。[#94698](https://github.com/ClickHouse/ClickHouse/pull/94698) ([Bharat Nallan](https://github.com/bharatnc)) 。
* 最も長時間実行されているマージの経過時間を示す非同期メトリクスが追加されました。[#94825](https://github.com/ClickHouse/ClickHouse/pull/94825) ([Raúl Marín](https://github.com/Algunenano)) 。
* IcebergBitmapPositionDeleteTransform を使用して位置削除を適用する前に、対象ファイルの確認を追加しました。 [#94897](https://github.com/ClickHouse/ClickHouse/pull/94897) ([Yang Jiang](https://github.com/Ted-Jiang)).
* これで `view_duration_ms` は、グループ内の各スレッドの継続時間の合計ではなく、グループがアクティブだった時間を示すようになりました。 [#94966](https://github.com/ClickHouse/ClickHouse/pull/94966) ([Sema Checherinda](https://github.com/CheSema)).
* 64 個に制限されていた `hasAnyTokens` および `hasAllTokens` 関数の検索トークン数上限を削除しました。例: `SELECT count() FROM table WHERE hasAllTokens(text, ['token_1', 'token_2', [...], 'token_65']]);` 検索トークンが 65 個あるため、このクエリは `BAD_ARGUMENTS` エラーになっていました。この PR により、この上限は完全に撤廃され、同じクエリもエラーなしで実行できるようになりました。[#95152](https://github.com/ClickHouse/ClickHouse/pull/95152) ([Elmi Ahmadov](https://github.com/ahmadov)).
* 要素が存在するかどうかを確認するため、Numbers から Enums への変換に対する設定 `input_format_numbers_enum_on_conversion_error` を追加しました。Closes: [#56144](https://github.com/ClickHouse/ClickHouse/issues/56144)。[#56240](https://github.com/ClickHouse/ClickHouse/pull/56240) ([Nikolay Degterinsky](https://github.com/evillique)) 。
* Icebergテーブルでデータファイルと position delete file を読み込む際にフォーマットパーサーのリソースを共有することで、メモリ割り当てを削減しました。 [#94701](https://github.com/ClickHouse/ClickHouse/pull/94701) ([Yang Jiang](https://github.com/Ted-Jiang)).

<div id="267-bug-fix-user-visible-misbehavior-in-an-official-stable-release">
  #### バグ修正 (正式な安定版リリースでユーザーに影響する不具合)
</div>

* 事前定義されたクエリハンドラーで、insert時に末尾の空白がデータとして扱われてしまう不具合を修正しました。 [#83604](https://github.com/ClickHouse/ClickHouse/pull/83604) ([Fabian Ponce](https://github.com/FabianPonce)).
* Joinストレージに対し、outer join から inner join への最適化が適用された場合に発生する INCOMPATIBLE\_TYPE\_OF\_JOIN エラーを修正しました。[#80794](https://github.com/ClickHouse/ClickHouse/issues/80794) を解決します。[#84292](https://github.com/ClickHouse/ClickHouse/pull/84292) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* `allow_experimental_join_right_table_sorting` が有効な状態でハッシュ結合を使用した際に発生する例外 "Invalid number of rows in Chunk" を修正しました。 [#86440](https://github.com/ClickHouse/ClickHouse/pull/86440) ([yanglongwei](https://github.com/ylw510)).
* ファイルシステムが大文字・小文字を区別しない場合、MergeTree では常にファイル名をハッシュに置き換えるようにしました。従来は、大文字・小文字を区別しないファイルシステム (MacOS など) を使用している環境で、複数のカラム名/サブカラム名が大文字・小文字だけ異なる場合に、データ破損につながる可能性がありました。 [#86559](https://github.com/ClickHouse/ClickHouse/pull/86559) ([Pavel Kruglov](https://github.com/Avogar)).
* materialized view 内の元となるクエリに対し、作成時に完全な権限チェックを行うようにしました。[#89180](https://github.com/ClickHouse/ClickHouse/pull/89180) ([pufit](https://github.com/pufit)).
* 定数引数で `icebergHash` 関数がクラッシュする問題を修正しました。 [#90335](https://github.com/ClickHouse/ClickHouse/pull/90335) ([Michael Kolupaev](https://github.com/al13n321)).
* トランザクションを伴わない mutation がアクティブなトランザクション内のパーツを変更し、そのトランザクションが最終的にロールバックされる場合に発生する論理エラーを修正しました。[#90469](https://github.com/ClickHouse/ClickHouse/pull/90469) ([Shaohua Wang](https://github.com/tiandiwonder)) 。
* 通常のデータベースを atomic データベースに変換した後、`system.warnings` が正しく更新されるよう修正しました。 [#90473](https://github.com/ClickHouse/ClickHouse/pull/90473) ([sdk2](https://github.com/sdk2)).
* Parquet ファイルの読み取り時に、**prewhere** 式の一部がクエリ内の別の箇所でも使われている場合に発生していたアサーションを修正しました。[#90635](https://github.com/ClickHouse/ClickHouse/pull/90635) ([Max Kainov](https://github.com/maxknv)).
* Iceberg を split-by-buckets モードで読み取る際に、単一ノード構成のクラスターでクラッシュする問題を修正しました。これにより、[#90913](https://github.com/ClickHouse/ClickHouse/issues/90913#issue-3668583963) をクローズしました。[#91553](https://github.com/ClickHouse/ClickHouse/pull/91553) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* サブカラムの読み取り中に Log エンジンで発生する可能性がある論理エラーを修正しました。 [#91710](https://github.com/ClickHouse/ClickHouse/issues/91710) をクローズします。 [#91711](https://github.com/ClickHouse/ClickHouse/pull/91711) ([Pavel Kruglov](https://github.com/Avogar)).
* ATTACH AS REPLICATED 実行時に発生する論理エラー: 'Storage が transaction をサポートしていません' を修正しました。 [#91772](https://github.com/ClickHouse/ClickHouse/pull/91772) ([Shaohua Wang](https://github.com/tiandiwonder)).
* LEFT ANTI JOIN に追加の条件がある場合に、ランタイムフィルタが正しく機能しない問題を修正しました。[#91824](https://github.com/ClickHouse/ClickHouse/pull/91824) ([Alexander Gololobov](https://github.com/davenger)).
* Nothing 型を含む null-safe な比較で発生するエラーを修正しました。[#91834](https://github.com/ClickHouse/ClickHouse/issues/91834) をクローズしました。[#84870](https://github.com/ClickHouse/ClickHouse/issues/84870) をクローズしました。[#91821](https://github.com/ClickHouse/ClickHouse/issues/91821) をクローズしました。[#91884](https://github.com/ClickHouse/ClickHouse/pull/91884) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* 同じ文字列が大量に繰り返されるデータに影響する、ネイティブの Parquet リーダーにおける DELTA\_BYTE\_ARRAY のデコードの不具合を修正しました。 [#91929](https://github.com/ClickHouse/ClickHouse/pull/91929) ([Daniel Muino](https://github.com/dmuino)).
* スキーマ推論時に、globs 内のすべてのファイルではなく、推論元のファイルに対してのみスキーマを cache するようにしました。[#91745](https://github.com/ClickHouse/ClickHouse/issues/91745) をクローズしました。[#92006](https://github.com/ClickHouse/ClickHouse/pull/92006) ([Pavel Kruglov](https://github.com/Avogar)).
* 不正なアーカイブエントリサイズのヘッダーが原因で発生していた `Couldn't pack tar archive: Failed to write all bytes` エラーを修正しました。[#89075](https://github.com/ClickHouse/ClickHouse/issues/89075) の修正です。[#92122](https://github.com/ClickHouse/ClickHouse/pull/92122) ([Julia Kartseva](https://github.com/jkartseva)).
* HTTP接続が閉じられないようにするため、INSERT SELECT 内でリクエストストリームを解放しました。[#92175](https://github.com/ClickHouse/ClickHouse/pull/92175) ([Sema Checherinda](https://github.com/CheSema)).
* `USING` 句と `join_use_nulls` を使用する複数の JOIN を含むクエリで発生する論理エラーを修正しました。[#92251](https://github.com/ClickHouse/ClickHouse/pull/92251) ([Vladimir Cherkasov](https://github.com/vdimir)).
* join\_use\_nulls を使用した join の並べ替え時に発生する論理エラーを修正し、[https://github.com/clickhouse/clickhouse/issues/90795](https://github.com/clickhouse/clickhouse/issues/90795) をクローズしました。[#92289](https://github.com/ClickHouse/ClickHouse/pull/92289) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* negate リテラルを含む arrayElement の AST フォーマットの不整合を修正しました。[#92288](https://github.com/ClickHouse/ClickHouse/issues/92288) をクローズ。[#92212](https://github.com/ClickHouse/ClickHouse/issues/92212) をクローズ。[#91832](https://github.com/ClickHouse/ClickHouse/issues/91832) をクローズ。[#91789](https://github.com/ClickHouse/ClickHouse/issues/91789) をクローズ。[#91735](https://github.com/ClickHouse/ClickHouse/issues/91735) をクローズ。[#88495](https://github.com/ClickHouse/ClickHouse/issues/88495) をクローズ。[#92386](https://github.com/ClickHouse/ClickHouse/issues/92386) をクローズ。[#92293](https://github.com/ClickHouse/ClickHouse/pull/92293) ([Pavel Kruglov](https://github.com/Avogar)).
* `join_on_disk_max_files_to_merge` 設定で発生する可能性があるクラッシュを修正しました。[#92335](https://github.com/ClickHouse/ClickHouse/pull/92335) ([Bharat Nallan](https://github.com/bharatnc)) 。
* 関連 issue #[https://github.com/ClickHouse/support-escalation/issues/6365。](https://github.com/ClickHouse/support-escalation/issues/6365。) [#92339](https://github.com/ClickHouse/ClickHouse/pull/92339) ([Tuan Pham Anh](https://github.com/tuanpach)) 。
* `SYSTEM SYNC FILE CACHE` で不足していたアクセスチェックを修正しました。[#92101](https://github.com/ClickHouse/ClickHouse/issues/92101) をクローズします。[#92372](https://github.com/ClickHouse/ClickHouse/pull/92372) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ウィンドウ関数および複数引数に対する `count_distinct_optimization` パスの不具合を修正しました。[#92376](https://github.com/ClickHouse/ClickHouse/pull/92376) ([Raúl Marín](https://github.com/Algunenano)) 。
* ウィンドウ関数で特定の集約関数を使用した際に発生する "Cannot write to finalized buffer" エラーを修正しました。[#91415](https://github.com/ClickHouse/ClickHouse/issues/91415) をクローズ。[#92395](https://github.com/ClickHouse/ClickHouse/pull/92395) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* `CREATE TABLE ... AS urlCluster()` とデータベースエンジン `Replicated` に関する論理エラーを修正しました。[#92216](https://github.com/ClickHouse/ClickHouse/issues/92216) をクローズ。[#92418](https://github.com/ClickHouse/ClickHouse/pull/92418) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* MergeTree での mutation 中に、元のパートのシリアライゼーション情報設定を継承するようにしました。これにより、データ型のシリアライゼーションを変更した後に、mutation 済みパートに対するクエリで誤った結果が返る可能性がある問題を修正しました。 [#92419](https://github.com/ClickHouse/ClickHouse/pull/92419) ([Pavel Kruglov](https://github.com/Avogar)).
* 同名のカラムとサブカラムの競合により、誤ったシリアライゼーションが使われてクエリが失敗する可能性があった問題を修正しました。Closes [#90219](https://github.com/ClickHouse/ClickHouse/issues/90219)。Closes [#85161](https://github.com/ClickHouse/ClickHouse/issues/85161)。[#92453](https://github.com/ClickHouse/ClickHouse/pull/92453) ([Pavel Kruglov](https://github.com/Avogar)).
* outer join を inner join に変換する際、クエリプランが意図せず変更されることで `LOGICAL_ERROR` が発生していた問題を修正しました。あわせて、JOIN 時に集約キーへ単射関数が適用される場合にもこの最適化を適用できるよう、要件を緩和しました。[#92503](https://github.com/ClickHouse/ClickHouse/pull/92503) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)) 。
* 空のタプルカラムのソート中に発生する可能性があるエラー `SIZES_OF_COLUMNS_DOESNT_MATCH` を修正しました。[#92422](https://github.com/ClickHouse/ClickHouse/issues/92422) をクローズしました。[#92520](https://github.com/ClickHouse/ClickHouse/pull/92520) ([Pavel Kruglov](https://github.com/Avogar)).
* JSON type 内の互換性のない型付き path をチェック。 [#91577](https://github.com/ClickHouse/ClickHouse/issues/91577) をクローズ。 [#92539](https://github.com/ClickHouse/ClickHouse/pull/92539) ([Pavel Kruglov](https://github.com/Avogar)).
* Backup データベースでの SHOW CREATE DATABASE のデッドロックを修正しました。[#92541](https://github.com/ClickHouse/ClickHouse/pull/92541) ([Azat Khuzhin](https://github.com/azat)).
* hypothesis 索引の検証時に、適切なエラーコードを使用するようにしました。[#92559](https://github.com/ClickHouse/ClickHouse/pull/92559) ([Raúl Marín](https://github.com/Algunenano)).
* アナライザで、カラムの別名内にある動的サブカラムの解決を修正しました。以前は、カラムの別名内の動的サブカラムが `getSubcolumn` でラップされていたため、場合によってはまったく解決できないことがありました。[#91434](https://github.com/ClickHouse/ClickHouse/issues/91434) をクローズします。[#92583](https://github.com/ClickHouse/ClickHouse/pull/92583) ([Pavel Kruglov](https://github.com/Avogar)).
* 第2引数が NULL の場合に tokens() でクラッシュする問題を防止しました。[#92586](https://github.com/ClickHouse/ClickHouse/pull/92586) ([Raúl Marín](https://github.com/Algunenano)) 。
* 基盤となる const PREWHERE カラムへのインプレース mutation が原因で発生し得るクラッシュを修正しました。これは、カラムの縮小時 (`IColumn::shrinkToFit`) またはフィルタリング時 (`IColumn::filter`) に、複数のスレッドから同時にトリガーされることで発生する可能性がありました。[#92588](https://github.com/ClickHouse/ClickHouse/pull/92588) ([Arsen Muk](https://github.com/arsenmuk)).
* 大きなパーツ (4,294,967,295行超) を含むテーブルでは、テキスト索引の作成およびマテリアライズが一時的に無効化されています。現在の索引実装はこのような大きなパーツをまだサポートしていないため、この制限により誤ったクエリ結果が生じるのを防ぎます。 [#92644](https://github.com/ClickHouse/ClickHouse/pull/92644) ([Anton Popov](https://github.com/CurtizJ)).
* JOIN の実行中に発生する論理エラー `Too large size (A) passed to allocator` を修正しました。[#92043](https://github.com/ClickHouse/ClickHouse/issues/92043) をクローズしました。[#92667](https://github.com/ClickHouse/ClickHouse/pull/92667) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `ngrambf_v1` 索引で、ngram の長さ (第1パラメーター) が 8 を超えると例外が発生していた不具合を修正しました。[#92672](https://github.com/ClickHouse/ClickHouse/pull/92672) ([Robert Schulze](https://github.com/rschu1ze)) 。
* ZooKeeperストレージの使用時に、バックグラウンドで named collections を再読み込みすると発生する未捕捉例外を修正しました。[https://github.com/ClickHouse/clickhouse-private/issues/44180](https://github.com/ClickHouse/clickhouse-private/issues/44180) をクローズしました。[#92717](https://github.com/ClickHouse/ClickHouse/pull/92717) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ワイルドカード付きの grant に対するアクセス権チェックの誤ったロジックを修正しました。以前の修正 [https://github.com/ClickHouse/ClickHouse/pull/90928](https://github.com/ClickHouse/ClickHouse/pull/90928) では重大な脆弱性に対処したものの、制限が厳しすぎたため、無関係な権限の取り消しによって一部のワイルドカード `GRANT` 文が失敗していました。[#92725](https://github.com/ClickHouse/ClickHouse/pull/92725) ([pufit](https://github.com/pufit)).
* `WHERE` で `not match(...)` を使用した場合に誤った結果を招いていた、データスキップロジックのバグを修正しました。[#92492](https://github.com/ClickHouse/ClickHouse/issues/92492) をクローズしました。[#92726](https://github.com/ClickHouse/ClickHouse/pull/92726) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* MergeTree テーブルが読み取り専用ディスク上に作成されている場合、起動時に一時ディレクトリの削除を試行しないようにしました。 [#92748](https://github.com/ClickHouse/ClickHouse/pull/92748) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ALTER TABLE REWRITE PARTS (v2) での "Cannot add action to empty ExpressionActionsChain" エラーを修正しました。 [#92754](https://github.com/ClickHouse/ClickHouse/pull/92754) ([Azat Khuzhin](https://github.com/azat)).
* 切断された `Connection` の読み取り時にクラッシュする問題を回避しました。[#92807](https://github.com/ClickHouse/ClickHouse/pull/92807) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* `Ordered` モードの `S3Queue` ストレージにおける論理エラー ` Failed to set file processing within 100 retries` を修正し、このエラーは警告に置き換えられました。このエラーは、Keeper セッションの有効期限が切れた場合に 25.10 より前のバージョンで発生することがありましたが、`Ordered` モードで処理の並行度が高い場合には理論上このエラーが発生する可能性が依然としてあるため、25.10 以降のバージョンでも警告のままとなります。[#92814](https://github.com/ClickHouse/ClickHouse/pull/92814) ([Kseniia Sumarokova](https://github.com/kssenii)).
* 以前は、偽の条件で PK 分片を使用する一部のクエリが失敗していましたが、現在は失敗しなくなりました。[https://github.com/ClickHouse/ClickHouse/pull/89313](https://github.com/ClickHouse/ClickHouse/pull/89313) に必要です。[#92815](https://github.com/ClickHouse/ClickHouse/pull/92815) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `system.parts` テーブルにおけるテキスト索引の非圧縮サイズの計算を修正しました。 [#92832](https://github.com/ClickHouse/ClickHouse/pull/92832) ([Anton Popov](https://github.com/CurtizJ)).
* `WHERE`句の述語にサブクエリを含む`IN`句がある論理更新における、プライマリインデックスの使用を修正しました。[#92838](https://github.com/ClickHouse/ClickHouse/pull/92838) ([Anton Popov](https://github.com/CurtizJ)).
* JSON の path 'skip' に対する型ヒント生成を修正しました。[#92731](https://github.com/ClickHouse/ClickHouse/issues/92731) をクローズします。[#92842](https://github.com/ClickHouse/ClickHouse/pull/92842) ([Pavel Kruglov](https://github.com/Avogar)).
* S3テーブルエンジンでは、非決定論的関数が含まれる場合、パーティションキーをキャッシュしないようにしました。[#92844](https://github.com/ClickHouse/ClickHouse/pull/92844) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* `ratio_of_defaults_for_sparse_serialization=0.0` を指定したスパースカラムのミューテーション後に発生する可能性のあるエラー `FILE_DOESNT_EXIST` を修正しました。[#92633](https://github.com/ClickHouse/ClickHouse/issues/92633) をクローズしました。[#92860](https://github.com/ClickHouse/ClickHouse/pull/92860) ([Pavel Kruglov](https://github.com/Avogar)).
* JSON カラムが Tuple カラムの後に来る場合に、古い Parquet リーダー (デフォルトでは使用されません) での Parquet スキーマ推論を修正。空のタプルで失敗していた古い Parquet リーダー (デフォルトでは使用されません) を修正。 [#92867](https://github.com/ClickHouse/ClickHouse/pull/92867) ([Michael Kolupaev](https://github.com/al13n321)).
* 定数条件での複数の join と `join_use_nulls` に関する論理エラーを修正し、[#92640](https://github.com/ClickHouse/ClickHouse/issues/92640) をクローズしました。[#92892](https://github.com/ClickHouse/ClickHouse/pull/92892) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* パーティション式にサブカラムを含むテーブルへの insert 時に発生する可能性がある `NOT_FOUND_COLUMN_IN_BLOCK` エラーを修正しました。[#93210](https://github.com/ClickHouse/ClickHouse/issues/93210) をクローズ。[#83406](https://github.com/ClickHouse/ClickHouse/issues/83406) をクローズ。[#92905](https://github.com/ClickHouse/ClickHouse/pull/92905) ([Pavel Kruglov](https://github.com/Avogar)).
* 別名を持つテーブルに対する Merge エンジンで発生するエラー `NO_SUCH_COLUMN_IN_TABLE` を修正しました。[#88665](https://github.com/ClickHouse/ClickHouse/issues/88665) をクローズします。[#92910](https://github.com/ClickHouse/ClickHouse/pull/92910) ([Pavel Kruglov](https://github.com/Avogar)).
* LowCardinality(Nullable(T)) カラムに対する full\_sorting\_join で、NULL != NULL となるケースを修正しました。 [#92924](https://github.com/ClickHouse/ClickHouse/pull/92924) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `MergeTree` テーブルのテキスト索引のマージ処理中に発生していた複数のクラッシュを修正しました。[#92925](https://github.com/ClickHouse/ClickHouse/pull/92925) ([Anton Popov](https://github.com/CurtizJ)) 。
* 必要に応じて、TTL 集約時に SET 式の結果の LowCardinality ラッパーを復元し、テーブル最適化中の例外発生を防ぐようにしました。 [#92971](https://github.com/ClickHouse/ClickHouse/pull/92971) ([Seva Potapov](https://github.com/seva-potapov)).
* 空の配列を `has` 関数で使用した際に、索引解析中に発生する論理エラーを修正しました。[#92906](https://github.com/ClickHouse/ClickHouse/issues/92906) をクローズしました。[#92995](https://github.com/ClickHouse/ClickHouse/pull/92995) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 終了処理中のバックグラウンドスケジュールプールでハングする可能性がある問題を修正しました (シャットダウン時にサーバーがハングする原因となる場合があります) 。 [#93008](https://github.com/ClickHouse/ClickHouse/pull/93008) ([Azat Khuzhin](https://github.com/azat)).
* alter で設定 `ratio_of_defaults_for_sparse_serialization` を `1.0` に変更した後、スパースカラムの mutation 後に発生する可能性がある FILE\_DOESNT\_EXIST エラーを修正しました。[#93016](https://github.com/ClickHouse/ClickHouse/pull/93016) ([Pavel Kruglov](https://github.com/Avogar)) 。
* WHERE 句で `not materialize(...)` または `not CAST(...)` を使用した際に、誤った結果を引き起こしていたデータスキップロジックの不具合を修正しました。[#88536](https://github.com/ClickHouse/ClickHouse/issues/88536) をクローズします。[#93017](https://github.com/ClickHouse/ClickHouse/pull/93017) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 共有パーツでの TOCTOU 競合により、古いパーツが使用される可能性があった問題を修正しました。 [#93022](https://github.com/ClickHouse/ClickHouse/pull/93022) ([Azat Khuzhin](https://github.com/azat)).
* 範囲外のオフセットを含む不正な `groupConcat` 集約状態のデシリアライズ時に発生するクラッシュを修正しました。[#93028](https://github.com/ClickHouse/ClickHouse/pull/93028) ([Raufs Dunamalijevs](https://github.com/rienath)).
* 分散クエリの事前キャンセル後に、接続が壊れた状態のまま残る問題を修正しました。[#93029](https://github.com/ClickHouse/ClickHouse/pull/93029) ([Azat Khuzhin](https://github.com/azat)) 。
* 右側の join キーがスパースなカラムである場合の join 結果を修正しました。これにより [#92920](https://github.com/ClickHouse/ClickHouse/issues/92920) をクローズします。バグを再現できるのは `set compatibility='23.3'` の場合のみです。バックポートすべきかどうかは不明です。[#93038](https://github.com/ClickHouse/ClickHouse/pull/93038) ([Amos Bird](https://github.com/amosbird)).
* `estimateCompressionRatio()` で `Cannot finalize buffer after cancellation` が発生する可能性がある問題を修正しました。修正: [#87380](https://github.com/ClickHouse/ClickHouse/issues/87380)。 [#93068](https://github.com/ClickHouse/ClickHouse/pull/93068) ([Azat Khuzhin](https://github.com/azat)).
* 複雑な式 (`concat(col1, col2)` など) に基づいて構築されたテキスト索引のマージ不具合を修正しました。[#93073](https://github.com/ClickHouse/ClickHouse/pull/93073) ([Anton Popov](https://github.com/CurtizJ)).
* フィルターにサブカラムが含まれている場合のプロジェクションの適用を修正しました。[#92882](https://github.com/ClickHouse/ClickHouse/issues/92882) をクローズしました。[#93141](https://github.com/ClickHouse/ClickHouse/pull/93141) ([Pavel Kruglov](https://github.com/Avogar)).
* クエリプランに join ランタイムフィルタが追加されたときに一部のケースで発生していた論理エラーを修正しました。原因は、join の片側から重複した const カラムを誤って返していたことでした。[#93144](https://github.com/ClickHouse/ClickHouse/pull/93144) ([Alexander Gololobov](https://github.com/davenger)) 。
* JOIN ランタイムフィルタで使用される特別な関数 `__applyFilter` が、有効な一部のケースで ILLEGAL\_TYPE\_OF\_ARGUMENT を返していました。[#93187](https://github.com/ClickHouse/ClickHouse/pull/93187) ([Alexander Gololobov](https://github.com/davenger)) 。
* 補間されたカラムが実質的に同じカラムの別名である場合に、ブロック内で異なる補間済みカラムが同一カラムに集約されてしまうのを防止しました。[#93197](https://github.com/ClickHouse/ClickHouse/pull/93197) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)) 。
* すでに補完済みの右側テーブルとの結合時には、ランタイムフィルタを追加しないようにしました。[#93211](https://github.com/ClickHouse/ClickHouse/pull/93211) ([Alexander Gololobov](https://github.com/davenger)) 。
* 切断されたセッションの後に Keeper の永続ウォッチが適切にクリーンアップされない問題を修正しました。これにより [#92480](https://github.com/ClickHouse/ClickHouse/issues/92480) を解決します。[#93213](https://github.com/ClickHouse/ClickHouse/pull/93213) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* Iceberg の ORDER BY tuple を修正しました。これにより [#92977](https://github.com/ClickHouse/ClickHouse/issues/92977) をクローズしました。[#93225](https://github.com/ClickHouse/ClickHouse/pull/93225) ([Konstantin Vedernikov](https://github.com/scanhex12)).
* S3Queue 設定 `s3queue_migrate_old_metadata_to_buckets` のバグを修正しました。[#93392](https://github.com/ClickHouse/ClickHouse/issues/93392)、[#93196](https://github.com/ClickHouse/ClickHouse/issues/93196)、[#81739](https://github.com/ClickHouse/ClickHouse/issues/81739) をクローズしました。[#93232](https://github.com/ClickHouse/ClickHouse/pull/93232) ([Kseniia Sumarokova](https://github.com/kssenii)).
* マージ時にプロジェクションが再構築される際、未使用のカラムを削除するようにしました。これにより、メモリ使用量が減り、作成される一時パーツも少なくなります。 [#93233](https://github.com/ClickHouse/ClickHouse/pull/93233) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* スカラー相関サブクエリがある場合に、サブクエリから未使用のカラムが削除されてしまう問題を修正しました。修正前は、カラムが相関サブクエリ内でのみ使用されていると削除されることがあり、その結果クエリは `NOT_FOUND_COLUMN_IN_BLOCK` エラーで失敗していました。[#93273](https://github.com/ClickHouse/ClickHouse/pull/93273) ([Dmitry Novik](https://github.com/novikd)).
* ソーステーブルのALTER中に、MVでサブカラムが欠落する可能性がある不具合を修正しました。[#93231](https://github.com/ClickHouse/ClickHouse/issues/93231) をクローズしました。[#93276](https://github.com/ClickHouse/ClickHouse/pull/93276) ([Pavel Kruglov](https://github.com/Avogar)) 。
* ローカルおよびリモート/`Distributed` テーブルのマージ時に、`hostName()` に対して `ILLEGAL&#95;COLUMN` がスローされることがあった、アナライザによる `Merge` テーブルエンジンのクエリプランニングを修正しました。[#92059](https://github.com/ClickHouse/ClickHouse/issues/92059) をクローズしました。[#93286](https://github.com/ClickHouse/ClickHouse/pull/93286) ([Jinlin](https://github.com/withlin)).
* 非定数の配列引数を伴う `NOT IN` が誤った値を返す場合がある問題を修正し、非定数の Array 関数をサポートしました。[#14980](https://github.com/ClickHouse/ClickHouse/issues/14980) をクローズします。[#93314](https://github.com/ClickHouse/ClickHouse/pull/93314) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* `use_top_k_dynamic_filtering` 最適化で発生する `Not found column` を修正。 [#93186](https://github.com/ClickHouse/ClickHouse/issues/93186) を修正。 [#93316](https://github.com/ClickHouse/ClickHouse/pull/93316) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* サブカラム上に作成されたテキスト索引の再構築に関する不具合を修正しました。 [#93326](https://github.com/ClickHouse/ClickHouse/pull/93326) ([Anton Popov](https://github.com/CurtizJ)).
* `hasAllTokens` および `hasAnyTokens` 関数で、第2引数に空の配列を指定した場合の処理を修正しました。[#93328](https://github.com/ClickHouse/ClickHouse/pull/93328) ([Anton Popov](https://github.com/CurtizJ)).
* 右側テーブルに対する totals 付きクエリでランタイムフィルタ使用時に発生する論理エラーを修正しました。 [#93330](https://github.com/ClickHouse/ClickHouse/pull/93330) ([Alexander Gololobov](https://github.com/davenger)).
* 関数 `tokens` が非 const のトークナイザーパラメータ (第 2、第 3、第 4 パラメータ) で呼び出された場合でも、server がクラッシュしなくなりました。たとえば、`SELECT tokens(NULL, 1, materialize(1))`。[#93383](https://github.com/ClickHouse/ClickHouse/pull/93383) ([Robert Schulze](https://github.com/rschu1ze)) 。
* `groupConcat` 状態のデシリアライズにおける整数オーバーフローの脆弱性を修正しました。この脆弱性により、細工された集約状態によってメモリ安全性の問題が発生する可能性がありました。[#93426](https://github.com/ClickHouse/ClickHouse/pull/93426) ([Raufs Dunamalijevs](https://github.com/rienath)) 。
* 索引にトークンが含まれない場合 (すべての配列が空であるか、すべてのトークンがトークナイザーによってスキップされる場合) に、配列カラムに対するテキスト索引の索引解析が正しく行われない問題を修正しました。 [#93457](https://github.com/ClickHouse/ClickHouse/pull/93457) ([Anton Popov](https://github.com/CurtizJ)).
* 接続文字列にユーザー名/パスワードが含まれている場合に、ClickHouse Client で OAuth ログインを回避するようにしました。 [#93459](https://github.com/ClickHouse/ClickHouse/pull/93459) ([Krishna Mannem](https://github.com/kcmannem)).
* DataLakeCatalog における Azure ADLS Gen2 の払い出し認証情報のサポートを修正 - Iceberg REST カタログから `adls.sas-token.*` キーをパースし、ABFSS URL のパースを修正しました。 [#93477](https://github.com/ClickHouse/ClickHouse/pull/93477) ([Karun Anantharaman](https://github.com/karunmotorq)).
* アナライザにおける GLOBAL IN のサポートを修正しました (以前は Set がリモートノードで再度作成されていました) 。[#93507](https://github.com/ClickHouse/ClickHouse/pull/93507) ([Azat Khuzhin](https://github.com/azat)) 。
* デシリアライゼーション時に、サブカラムを直接スパースカラムに抽出する際の不具合を修正しました。 [#93512](https://github.com/ClickHouse/ClickHouse/pull/93512) ([Pavel Kruglov](https://github.com/Avogar)).
* 重複する検索クエリがある場合の、テキスト索引からの直接読み取りを修正しました。 [#93516](https://github.com/ClickHouse/ClickHouse/pull/93516) ([Anton Popov](https://github.com/CurtizJ)).
* ランタイムフィルタが有効な場合に、結合されたテーブルで同じカラムが複数回返されると発生する NOT\_FOUND\_COLUMN\_IN\_BLOCK エラーを修正しました (例: SELECT a, a, a FROM t) 。 [#93526](https://github.com/ClickHouse/ClickHouse/pull/93526) ([Alexander Gololobov](https://github.com/davenger)).
* ssh を使用して接続する際に、clickhouse-client がパスワードを 2 回要求する不具合を修正しました。 [#93547](https://github.com/ClickHouse/ClickHouse/pull/93547) ([Isak Ellmer](https://github.com/spinojara)).
* シャットダウン時に zookeeper の終了処理が確実に完了するようにしました (ごくまれにシャットダウン時にハングする可能性がある問題を修正) 。 [#93602](https://github.com/ClickHouse/ClickHouse/pull/93602) ([Azat Khuzhin](https://github.com/azat)).
* deduplication の競合により ReplicatedMergeTree の復元時に LOGICAL\_ERROR が発生する問題を修正しました。[#93612](https://github.com/ClickHouse/ClickHouse/pull/93612) ([Pablo Marcos](https://github.com/pamarcos)) 。
* 一部の入力フォーマットで、Sparse カラムに直接デシリアライズする際の有効期限 (TTL) 更新で Sparse カラムを使用する処理を修正しました。これにより、論理エラー `Unexpected type of result TTL column` が発生する可能性を解消しました。 [#93619](https://github.com/ClickHouse/ClickHouse/pull/93619) ([Pavel Kruglov](https://github.com/Avogar)).
* 無効な入力で呼び出された際に、クラッシュしたりハングしたりすることがあった h3 index 関数の問題を修正しました。[#93657](https://github.com/ClickHouse/ClickHouse/pull/93657) ([Michael Kolupaev](https://github.com/al13n321)) 。
* 非UTF-8データに対して`ngram_bf`索引を使用すると、未初期化メモリの読み取りが発生し、その値が結果として生成される索引構造に含まれる可能性がありました。[#92576](https://github.com/ClickHouse/ClickHouse/issues/92576) をクローズしました。[#93663](https://github.com/ClickHouse/ClickHouse/pull/93663) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 展開後のバッファサイズが想定どおりであることを確認します。[#93690](https://github.com/ClickHouse/ClickHouse/pull/93690) ([Raúl Marín](https://github.com/Algunenano)) 。
* `merge` table engine の使用時に、`SHOW COLUMNS` 権限を確認せずにユーザーがテーブルのカラム一覧を取得できないようにしました。[#93695](https://github.com/ClickHouse/ClickHouse/pull/93695) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* サブカラム上に作成されたスキップ索引のマテリアライズ処理を修正しました。[#93708](https://github.com/ClickHouse/ClickHouse/pull/93708) ([Anton Popov](https://github.com/CurtizJ)).
* `PipelineExecutor` の存続中に `IStorage` オブジェクトが破棄されないよう、storage の共有ポインタを `QueryPipeline::resources::storage_holders` に保持します。 [#93746](https://github.com/ClickHouse/ClickHouse/pull/93746) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* 再起動後に interserver host が変更された場合の Replicated DB のアタッチを修正しました。[#93779](https://github.com/ClickHouse/ClickHouse/pull/93779) ([Tuan Pham Anh](https://github.com/tuanpach)) 。
* cache が有効な際に発生していた `ReadBufferFromS3` の assert `!read_until_position` を修正しました。[#93809](https://github.com/ClickHouse/ClickHouse/pull/93809) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* `Map` カラムで空のタプルが使われるまれなケースで発生する論理エラーを修正しました。[#93784](https://github.com/ClickHouse/ClickHouse/issues/93784) をクローズしました。[#93814](https://github.com/ClickHouse/ClickHouse/pull/93814) ([Nihal Z. Miaji](https://github.com/nihalzp)) 。
* マージ中にプロジェクションが再構築される際に発生する`_part_offset`の破損を修正し、`_part_offset`カラムの不要な読み取りを避け、プロジェクション計算で不要なカラムをスキップすることで、プロジェクション処理を最適化しました。これは、[#93233](https://github.com/ClickHouse/ClickHouse/issues/93233)で導入された最適化をさらに発展させたものです。[#93827](https://github.com/ClickHouse/ClickHouse/pull/93827) ([Amos Bird](https://github.com/amosbird)) 。
* 'Bad version' の処理を削除しました。[#93843](https://github.com/ClickHouse/ClickHouse/pull/93843) ([Anton Ivashkin](https://github.com/ianton-ru)).
* キーが符号付き整数型の場合に、分散クエリで `optimize_inverse_dictionary_lookup` が機能しない問題を修正しました。[#93259](https://github.com/ClickHouse/ClickHouse/issues/93259) をクローズしました。[#93848](https://github.com/ClickHouse/ClickHouse/pull/93848) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* 分散 `remote()` クエリで `lag`/`lead` が動作しない不具合を修正しました。[#90014](https://github.com/ClickHouse/ClickHouse/issues/90014) をクローズしました。[#93858](https://github.com/ClickHouse/ClickHouse/pull/93858) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* system instrument のディスパッチに関するバグを修正。 [#93937](https://github.com/ClickHouse/ClickHouse/pull/93937) ([Pablo Marcos](https://github.com/pamarcos)).
* [https://github.com/ClickHouse/ClickHouse/pull/89173](https://github.com/ClickHouse/ClickHouse/pull/89173) では、`TraceSender` が内部パイプ経由で送信する構造にフィールドを 1 つ追加しました。しかし、バッファサイズが更新されていなかったため ([こちら](https://github.com/ClickHouse/ClickHouse/pull/89173/changes#diff-36ecfac5cde34c92c031652d8a77f0d12782cd5d43e68d6ef159e6d46a54224fL44)) 、`buffer_size` を超えるデータをバッファに書き込むことになり、その結果、フラッシュが複数回発生します。さらに、`TraceSender::send` は異なるスレッドから呼び出されるため、それぞれのスレッドによるフラッシュが途中で入り交じる可能性があり、受信側 (`TraceCollector`) が前提としている不変条件が崩れてしまいます。[#93966](https://github.com/ClickHouse/ClickHouse/pull/93966) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* `USING`句を使用したストレージ `Join` のJOIN演算における、上位型への型変換を修正しました。[#91672](https://github.com/ClickHouse/ClickHouse/issues/91672) を修正しました。[#78572](https://github.com/ClickHouse/ClickHouse/issues/78572) を修正しました。[#94000](https://github.com/ClickHouse/ClickHouse/pull/94000) ([Dmitry Novik](https://github.com/novikd)).
* JOIN ランタイムフィルタが Merge テーブルに適用された際に、FilterStep が適切に追加されない不具合を修正しました。[#94021](https://github.com/ClickHouse/ClickHouse/pull/94021) ([Alexander Gololobov](https://github.com/davenger)).
* 複数のカラムに対する述語を含み、bloom filter スキップ索引が設定され、かつ `OR` 条件と `NOT` 条件の両方を含む `SELECT` クエリでは、結果が不整合になることがありました。現在は修正されています。[#94026](https://github.com/ClickHouse/ClickHouse/pull/94026) ([Shankar Iyer](https://github.com/shankar-iyer)).
* 依存インデックスのあるカラムに対する CLEAR の不具合を修正しました。[#94057](https://github.com/ClickHouse/ClickHouse/pull/94057) ([Raúl Marín](https://github.com/Algunenano)) 。
* `ReadWriteBufferFromHTTP` における未初期化の値の使用を修正しました。[#94058](https://github.com/ClickHouse/ClickHouse/pull/94058) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* JSON 内の型付きパスに対する不適切なチェックを修正しました。このチェックは [https://github.com/ClickHouse/ClickHouse/pull/92842](https://github.com/ClickHouse/ClickHouse/pull/92842) で導入されたもので、既存のテーブルの起動時にエラーを引き起こす可能性がありました。[#94070](https://github.com/ClickHouse/ClickHouse/pull/94070) ([Pavel Kruglov](https://github.com/Avogar)).
* OUTER JOIN がある場合に、filter の解析中にクラッシュする問題を修正しました。[#90979](https://github.com/ClickHouse/ClickHouse/issues/90979)。[#94080](https://github.com/ClickHouse/ClickHouse/pull/94080) ([Dmitry Novik](https://github.com/novikd)).
* 並列実行時 (`max_threads` > 1、デフォルト) に UInt8 集約キーを使用した場合の `uniqTheta` の正確性を修正しました。[#94095](https://github.com/ClickHouse/ClickHouse/pull/94095) ([Azat Khuzhin](https://github.com/azat)) 。
* `SCOPE_EXIT` 内の `socket.setBlocking(true)` 呼び出しで例外が送出されてクラッシュしていた問題を修正しました。 [#94100](https://github.com/ClickHouse/ClickHouse/pull/94100) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* ReplicatedMergeTree で、`DROP PARTITION` によって後続のログエントリで作成されたパーツまで削除されてしまうことで発生するデータ損失を修正。 [#94123](https://github.com/ClickHouse/ClickHouse/pull/94123) ([Tuan Pham Anh](https://github.com/tuanpach)).
* ページ境界をまたぐ Array を Parquet リーダー v3 が誤って処理する問題を修正しました。これは、たとえばページ統計やページ索引を有効にせずに Arrow で書き込まれたファイルで発生します。影響を受けるのは Array データ型のカラムのみです。症状としては、約 1 MB ごとに 1 つの配列が途中で切り詰められる可能性があります。この修正前は、回避策として次の設定を使用してください: `input_format_parquet_use_native_reader_v3 = 0`。 [#94125](https://github.com/ClickHouse/ClickHouse/pull/94125) ([Michael Kolupaev](https://github.com/al13n321)).
* ログエントリ待機中の ReplicatedMergeTree におけるウォッチ過多の問題を修正しました。 [#94133](https://github.com/ClickHouse/ClickHouse/pull/94133) ([Azat Khuzhin](https://github.com/azat)).
* 関数 `arrayShuffle`、`arrayPartialShuffle`、`arrayRandomSample` が const カラムを実体化するようになり、異なる行で異なる結果が返るようになりました。[#94134](https://github.com/ClickHouse/ClickHouse/pull/94134) ([Joanna Hulboj](https://github.com/jh0x)).
* materialized view で table function を評価する際のデータ競合を修正。 [#94171](https://github.com/ClickHouse/ClickHouse/pull/94171) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* (クエリが不正な場合に発生する) `PostgreSQL` データベースエンジンでの nullptr の逆参照を修正しました。[#92887](https://github.com/ClickHouse/ClickHouse/issues/92887) をクローズしました。[#94180](https://github.com/ClickHouse/ClickHouse/pull/94180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 複数のサブクエリを含む `SELECT` クエリを使うリフレッシュ可能なマテリアライズドビューにおけるメモリリークを修正しました。 [#94200](https://github.com/ClickHouse/ClickHouse/pull/94200) ([Antonio Andelic](https://github.com/antonio2368)).
* `DataPartStorageOnDiskBase::remove` と `system.parts` 間のデータ競合を修正しました。[#49076](https://github.com/ClickHouse/ClickHouse/issues/49076) をクローズしました。[#94262](https://github.com/ClickHouse/ClickHouse/pull/94262) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* メモリ例外発生時にクラッシュ (`std::terminate`) を引き起こす可能性がある、HashTable のコピー代入における誤った `noexcept` 指定を削除しました。 [#94275](https://github.com/ClickHouse/ClickHouse/pull/94275) ([Nikita Taranov](https://github.com/nickitat)) 。
* 以前は、GROUP BY に重複したカラムを含む PROJECTION (例: `GROUP BY c0, c0`) を作成してデータを挿入すると、`optimize_row_order` が有効な場合に `std::length_error` が発生していました。[#94065](https://github.com/ClickHouse/ClickHouse/issues/94065) を修正しました。[#94277](https://github.com/ClickHouse/ClickHouse/pull/94277) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 接続時にZooKeeperクライアントで発生し、ハングやクラッシュを引き起こすわかりにくいバグを修正しました。[#94320](https://github.com/ClickHouse/ClickHouse/pull/94320) ([Azat Khuzhin](https://github.com/azat)).
* サブカラムに適用されていなかった function to subcolumns 最適化の問題を修正しました。[#94323](https://github.com/ClickHouse/ClickHouse/pull/94323) ([Pavel Kruglov](https://github.com/Avogar)).
* `enable_lazy_columns_replication` が有効な場合に、ネストされた RIGHT JOIN で誤った結果が返される可能性がある問題を修正しました。この不具合により、レプリケートされたカラム内のすべての行で、本来はそれぞれ異なる値が返されるべきところ、誤って同じ値が返されていました。[#93891](https://github.com/ClickHouse/ClickHouse/issues/93891) をクローズしました。[#94339](https://github.com/ClickHouse/ClickHouse/pull/94339) ([Vladimir Cherkasov](https://github.com/vdimir)).
* 等価集合を用いた SEMI JOIN の filter pushdown を修正しました。引数の型が変更されている場合は、filter pushdown を行わないようにしました。[#93264](https://github.com/ClickHouse/ClickHouse/issues/93264) を修正しました。[#94340](https://github.com/ClickHouse/ClickHouse/pull/94340) ([Dmitry Novik](https://github.com/novikd)) 。
* database DataLake データベースエンジン使用時の DeltaLake CDF の利用を修正しました (Delta Lake カタログのインテグレーション) 。[#94122](https://github.com/ClickHouse/ClickHouse/issues/94122) を修正しました。[#94342](https://github.com/ClickHouse/ClickHouse/pull/94342) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `SLRU` cacheポリシー使用時に、メトリクス `FilesystemCacheSizeLimit` の現在の値が誤っていた問題を修正しました。[#94363](https://github.com/ClickHouse/ClickHouse/pull/94363) ([Kseniia Sumarokova](https://github.com/kssenii)) 。
* 2 つ未満の引数で Backup データベースエンジンを作成した場合、返されるエラーメッセージがより分かりやすくなりました (`std::out_of_range: InlinedVector::at(size_type) const failed bounds check.` ではなく、`Wrong number of arguments` が返されます) 。[#94374](https://github.com/ClickHouse/ClickHouse/pull/94374) ([Robert Schulze](https://github.com/rschu1ze)) 。
* grant option を持つ権限について、データベースレベルでグローバル権限を取り消そうとする無効な操作を無視するようになりました。 [#94386](https://github.com/ClickHouse/ClickHouse/pull/94386) ([pufit](https://github.com/pufit)).
* compact パーツからスパース オフセットを読み取る際の不具合を修正しました。[#94385](https://github.com/ClickHouse/ClickHouse/issues/94385) をクローズしました。[#94399](https://github.com/ClickHouse/ClickHouse/pull/94399) ([Pavel Kruglov](https://github.com/Avogar)).
* `alter_column_secondary_index_mode` の `throw` モードを使用している場合でも、暗黙的な索引を使用するカラムに対する ALTER を妨げないようにしました。[#94425](https://github.com/ClickHouse/ClickHouse/pull/94425) ([Raúl Marín](https://github.com/Algunenano)).
* `Protocol::Client::IgnoredPartUUIDs` を複数の `receivePacketsExpectQuery` 呼び出しで読み取る際に発生する `TCPHandler` のクラッシュを修正しました。 [#94434](https://github.com/ClickHouse/ClickHouse/pull/94434) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* `system.functions` における機密データのマスキングの不具合を修正しました。[#94436](https://github.com/ClickHouse/ClickHouse/pull/94436) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* `send_profile_events` が無効な場合に発生する nullptr の逆参照を修正しました。この機能は最近、ClickHouse Python ドライバーに導入されました。[#92488](https://github.com/ClickHouse/ClickHouse/issues/92488) を解決します。[#94466](https://github.com/ClickHouse/ClickHouse/pull/94466) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* マージ中のテキスト索引 `.mrk` の非互換性を修正。 [#94494](https://github.com/ClickHouse/ClickHouse/pull/94494) ([Peng Jian](https://github.com/fastio)).
* `read_in_order_use_virtual_row` が有効な場合、索引が切り詰められているかどうかを確認せずに、主キー全体のサイズに基づいて索引カラムにアクセスしていたため、use-after-free / 未初期化メモリの使用が発生していました。[#85596](https://github.com/ClickHouse/ClickHouse/issues/85596) をクローズしました。[#94500](https://github.com/ClickHouse/ClickHouse/pull/94500) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 型がNullableの場合に、GLOBAL IN を含むサブクエリ用の外部テーブル送信時に、型不一致によって発生するerrorを修正しました。 [#94097](https://github.com/ClickHouse/ClickHouse/issues/94097) をクローズしました。 [#94511](https://github.com/ClickHouse/ClickHouse/pull/94511) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 以前のバージョンでは、同じ式に対する複数の索引条件を持つクエリで、誤って `Not found column` 例外がスローされることがありました。[#60660](https://github.com/ClickHouse/ClickHouse/issues/60660) を修正しました。[#94515](https://github.com/ClickHouse/ClickHouse/pull/94515) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* ランタイムフィルタにおける Nullable の JOIN カラムの誤った処理を修正しました。 [#94555](https://github.com/ClickHouse/ClickHouse/pull/94555) ([Alexander Gololobov](https://github.com/davenger)).
* 現在使用中の workload 内に別の workload を作成しても、クラッシュしなくなりました。[#94599](https://github.com/ClickHouse/ClickHouse/pull/94599) ([Sergei Trifonov](https://github.com/serxa)) 。
* 存在しないカラムに対して`isNotNull`が評価された際に、ANY LEFT JOIN の最適化中に発生するクラッシュを修正しました。[#94600](https://github.com/ClickHouse/ClickHouse/pull/94600) ([Molly](https://github.com/ggmolly)).
* 計算済みデフォルトを持つ他のカラムを参照する場合の、デフォルト式の評価を修正しました。[#94615](https://github.com/ClickHouse/ClickHouse/pull/94615) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* BACKUP/RESTORE 操作における権限の問題を修正しました。 [#94617](https://github.com/ClickHouse/ClickHouse/pull/94617) ([Pablo Marcos](https://github.com/pamarcos)) 。
* データ型が `Nullable(DateTime64)` の場合に、不正な型変換が原因で発生するクラッシュを修正しました。[#94627](https://github.com/ClickHouse/ClickHouse/pull/94627) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)) 。
* 特定の分散クエリで、`ORDER BY` 使用時に `ALIAS` カラムの値が入れ替わって返されることがある不具合を修正しました (つまり、カラム `a` にカラム `b` のデータが表示され、逆にカラム `b` にはカラム `a` のデータが表示される問題です) 。[#94644](https://github.com/ClickHouse/ClickHouse/pull/94644) ([filimonov](https://github.com/filimonov)) 。
* keeper-bench の結果をファイルに保存する際の不具合を修正しました。[#94654](https://github.com/ClickHouse/ClickHouse/pull/94654) ([Antonio Andelic](https://github.com/antonio2368)) 。
* 負の浮動小数点値を含むカラムで、MinMax 型統計による推定が誤る問題を修正しました。 [#94665](https://github.com/ClickHouse/ClickHouse/pull/94665) ([zoomxi](https://github.com/zoomxi)).
* map のキーが struct の場合に発生していた Parquet ファイル読み取りの問題を修正しました。[#94670](https://github.com/ClickHouse/ClickHouse/pull/94670) ([Konstantin Vedernikov](https://github.com/scanhex12)) 。
* 複雑な ON 条件を使用した場合に、RIGHT JOIN の結果が誤る可能性がある問題を修正しました。[#92913](https://github.com/ClickHouse/ClickHouse/issues/92913) をクローズしました。[#94680](https://github.com/ClickHouse/ClickHouse/pull/94680) ([Vladimir Cherkasov](https://github.com/vdimir)) 。
* Vertical merge後も、一定の索引粒度 (use\_const\_adaptive\_granularity) を維持する。 [#94725](https://github.com/ClickHouse/ClickHouse/pull/94725) ([Azat Khuzhin](https://github.com/azat)).
* スカラーサブクエリとテーブルの依存関係に関する mutation のバグを修正しました。テーブルのカラムに対して依存関係 (索引またはプロジェクション) がある場合、スカラーサブクエリがデータなしで評価・キャッシュされ、その結果、誤った変更が行われる可能性がありました。[#94731](https://github.com/ClickHouse/ClickHouse/pull/94731) ([Raúl Marín](https://github.com/Algunenano)).
* エラー発生時の AsynchronousMetrics cpu\_pressure フォールバックを修正しました。 [#94827](https://github.com/ClickHouse/ClickHouse/pull/94827) ([Raúl Marín](https://github.com/Algunenano)).
* `getURLHostRFC` 関数では、ポインタをデリファレンスする前の境界チェックが不足していました。空文字列が `domainRFC` に渡されると、未初期化メモリを読み取り、MSan error がトリガーされていました。[#94851](https://github.com/ClickHouse/ClickHouse/pull/94851) ([Alexey Milovidov](https://github.com/alexey-milovidov)) 。
* 暗号化ディスクが読み取り専用になる問題を修正しました。 [#94852](https://github.com/ClickHouse/ClickHouse/pull/94852) ([Azat Khuzhin](https://github.com/azat)).
* 分散テーブルで古いアナライザを使用した際に、小数の `LIMIT/OFFSET` で発生する論理エラーを修正しました。[#94712](https://github.com/ClickHouse/ClickHouse/issues/94712) をクローズしました。[#94999](https://github.com/ClickHouse/ClickHouse/pull/94999) ([Ahmed Gouda](https://github.com/0xgouda)).
* JOIN ランタイムフィルタがデフォルトで有効な場合に、一部の条件下で発生するクラッシュを修正しました。 [#95000](https://github.com/ClickHouse/ClickHouse/pull/95000) ([Alexander Gololobov](https://github.com/davenger)).
* テーブルエンジン `URL()` およびテーブル関数 `url()` で使用される URL 内のパスワードのマスキングを改善しました。[#95006](https://github.com/ClickHouse/ClickHouse/pull/95006) ([Vitaly Baranov](https://github.com/vitlibar)) 。
* 関数 `toStartOfInterval` は、`enable_extended_results_for_datetime_functions` が有効な場合、`X` が `Day, Week, Month, Quarter, Year` の `toStartOfX` と同様に動作するようになりました。[#95011](https://github.com/ClickHouse/ClickHouse/pull/95011) ([Kirill Kopnev](https://github.com/Fgrtue)) 。
* 定数文字列の比較で、設定 `cast_string_to_date_time_mode`、`bool_true_representation`、`bool_false_representation`、および `input_format_null_as_default` が正しく反映されない問題を修正しました。[#91681](https://github.com/ClickHouse/ClickHouse/issues/91681) をクローズしました。[#95040](https://github.com/ClickHouse/ClickHouse/pull/95040) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* ファイルシステムキャッシュで発生するデータ競合を修正しました。 [#95064](https://github.com/ClickHouse/ClickHouse/pull/95064) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Parquet リーダーでまれに発生するレースコンディションを修正しました。 [#95068](https://github.com/ClickHouse/ClickHouse/pull/95068) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `LIMIT` がゼロのときに top K 最適化で発生するクラッシュを修正しました。[#93893](https://github.com/ClickHouse/ClickHouse/issues/93893) を解決します。[#95072](https://github.com/ClickHouse/ClickHouse/pull/95072) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* DateTime/整数から Time64 への変換では、単調ではない `toTime` を使用して時刻部分を抽出しますが、`ToDateTimeMonotonicity` テンプレートがこの変換を誤って単調と見なしていました。その結果、デバッグビルドで "MergeTreeSetIndex における無効な二分探索結果" 例外が発生していました。[#95125](https://github.com/ClickHouse/ClickHouse/pull/95125) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* 必要な場合にのみマニフェストファイルのエントリ一覧を再作成するようにしました (以前は各イテレーションで行われていました) 。 [#95162](https://github.com/ClickHouse/ClickHouse/pull/95162) ([Daniil Ivanik](https://github.com/divanik)).

<div id="267-build-testing-packaging-improvement">
  #### ビルド/テスト/パッケージングの改善
</div>

* jemalloc のヒーププロファイリング機能を利用して、ClickHouse SQL パーサーにおけるメモリ割り当てをプロファイリングするためのツール群を追加しました。[#94072](https://github.com/ClickHouse/ClickHouse/pull/94072) ([Ilya Yatsishin](https://github.com/qoega)).
* パーサーでのメモリ割り当てのデバッグを簡単にするツールを追加しました。このツールは、クエリを AST 表現にパースする前後で jemalloc の `stats.allocated` メトリックを使い、何が割り当てられたかを表示します。さらに、前後でプロファイルをダンプして、どこで割り当てが発生したかを示すレポートを作成できるメモリプロファイリングモードにも対応しています。[#93523](https://github.com/ClickHouse/ClickHouse/pull/93523) ([Ilya Yatsishin](https://github.com/qoega)).
* 推移的な libc++ インクルードを削除しました。[#92523](https://github.com/ClickHouse/ClickHouse/pull/92523) ([Raúl Marín](https://github.com/Algunenano)).
* 一部の sequential テストを並列化しました: [https://github.com/ClickHouse/ClickHouse/pull/93030/changes#diff-c3a73510dae653c9bbfa24300b32f5d6ec663fd4e72cc4a3d5daa6e4342915df](https://github.com/ClickHouse/ClickHouse/pull/93030/changes#diff-c3a73510dae653c9bbfa24300b32f5d6ec663fd4e72cc4a3d5daa6e4342915df). [#93030](https://github.com/ClickHouse/ClickHouse/pull/93030) ([Nikita Fomichev](https://github.com/fm4v)).
* 一部のビルドフラグを整理しました。[#93679](https://github.com/ClickHouse/ClickHouse/pull/93679) ([Raúl Marín](https://github.com/Algunenano)).
* c-ares を v1.34.5 から v1.34.6 に更新しました。これにより、ClickHouse には影響しない c-ares の `CVE-2025-62408` に対応しています。[#94129](https://github.com/ClickHouse/ClickHouse/pull/94129) ([Govind R Nair](https://github.com/Revertionist)).
* `curl` 8.18.0 を使用するようにしました。[#94742](https://github.com/ClickHouse/ClickHouse/pull/94742) ([Konstantin Bogdanov](https://github.com/thevar1able)).
