メインコンテンツへスキップ

後方互換性を持たない変更

  • 関数 geoToH3() は、入力を (lat, lon,res) の順序 (幾何関数の標準的な順序) で受け取るようになりました。従来の結果順序 (lon, lat,res) を維持したいユーザーは、設定 geotoh3_lon_lat_input_order = true を指定できます。#78852 (Pratima Patel) 。
  • full_text 型の索引は gin に名称変更されました。これは PostgreSQL や他のデータベースでより一般的な用語に合わせたものです。既存の full_text 型の索引は引き続きロードできますが、検索で使用しようとすると例外が発生し (代わりに gin 索引を使うよう案内されます) 。#79024 (Robert Schulze) 。
  • ファイルシステムキャッシュを動的にリサイズできるようにするファイルシステムキャッシュ設定 allow_dynamic_cache_resize を追加しました。デフォルト値は false です。理由: 特定の環境 (ClickHouse Cloud) では、スケーリングイベントはすべてプロセスの再起動によって行われるため、動作をより細かく制御し、安全策とするために、この機能を明示的に無効化しておきたいためです。この PR は後方互換性を持たない変更として扱われます。これは、古いバージョンでは特別な設定がなくても動的なファイルシステムキャッシュのリサイズがデフォルトで有効だったためです。#79148 (Kseniia Sumarokova) 。
  • 従来の索引型 annoyusearch のサポートを削除しました。どちらも長い間スタブにすぎず、実際にはこれらの従来索引を使おうとしても常にエラーが返っていました。まだ annoy および usearch 索引がある場合は、削除してください。#79802 (Robert Schulze) 。 #* format_alter_commands_with_parentheses サーバー設定を削除しました。この設定は 24.2 で導入され、デフォルトでは無効でした。25.2 ではデフォルトで有効になりました。新しいフォーマットをサポートしない LTS バージョンは存在しないため、この設定は削除できます。#79970 (János Benjamin Antal) 。 #* 軽微: backup_threads および restore_threads サーバー設定が 0 以外になるように強制しました。#80224 (Raúl Marín) 。
  • String に対する bitNot() が、ゼロ終端文字列を返すよう修正しました。#80791 (Azat Khuzhin) 。

新機能

  • 指定されたカラムに対して CREATE クエリで圧縮コーデックが明示的に定義されていない場合にデフォルトの圧縮コーデックを指定できる、新しいオプションを MergeTree SETTINGS に追加しました。これにより #42005 が解決されます。 #66394 (gvoelfin).
  • https://github.com/ClickHouse/ClickHouse/pull/71943 のフォローアップです。この PR では、Time/Time64 データ型を実装しています。新たに Time (HHH:MM:SS) と Time64 (HHH:MM:SS.<fractional>) のデータ型に加え、基本的な CAST 関数と、他のデータ型と連携するための関数も実装しました。また、CAST 関数で toTime 関数が必要になるため、既存の toTime 関数は toTimeWithFixedDate に名称変更しました。#75735 (Yarik Briukhovetskyi).
  • WHERE句内のEXISTS式の引数として、相関サブクエリをサポートしました。#72459 をクローズします。#76078 (Dmitry Novik) 。
  • Merge テーブルエンジンへの書き込みをサポートしました。#77484 (Anton Ivashkin).
  • replicated MergeTree テーブル向けの Distributed INSERT SELECT で、異なるノードで異なるデータを選択してそれぞれ独立に挿入することにより、並列レプリカを効率的に利用して INSERT を並列化できるようになりました。#78041 (Igor Nikonov) 。
  • map の値でフィルタリングするための mapContainsValuesLike/mapContainsValues/mapExtractValuesLike 関数と、bloomfilter ベースの索引でのサポートを追加しました。#78171 (UnamedRus).
  • system.iceberg_history テーブルを追加しました。#78244 (Smita Kulkarni) 。
  • ワークロードのクエリスロットスケジューリングを追加しました。詳細は https://clickhouse.com/docs/operations/workload-scheduling#query&#95;scheduling を参照してください。#78415 (Sergei Trifonov).
  • getServerSetting 関数と getMergeTreeSetting 関数を追加しました。https://github.com/clickhouse/clickhouse/issues/78318 をクローズしました。#78439 (NamNguyenHoai).
  • 設定の制約で、許可されない値を指定できるようになりました。#78499 (Bharat Nallan) 。
  • version-hint.text ファイルを活用するための新しい iceberg_enable_version_hint 設定を追加しました。#78594 (Arnaud Briche) 。
  • LIKE キーワードで絞り込んで、データベース内の特定のテーブルを TRUNCATE できるようになりました。#78597 (Yarik Briukhovetskyi) 。
  • 処理対象の入力データがある場合、clickhouse-local (およびその短縮エイリアスである ch) は暗黙的な FROM table を使用するようになりました。これにより #65023 がクローズされました。また、--input-format が指定されておらず、通常のファイルを処理する場合、clickhouse-local でフォーマット推論が有効になりました。#79085 (Alexey Milovidov) 。
  • icebergHash および icebergBucketTransform 関数を追加しました。bucket transfom でパーティション化された Iceberg テーブルにおけるデータファイルのプルーニングをサポートしました。#79262 (Daniil Ivanik) 。
  • Coalescing Merge Tree のサポートを追加しました。これにより #78869 はクローズされます。#79344 (Konstantin Vedernikov)。
  • stringBytesUniqstringBytesEntropy 関数を追加し、ランダムまたは暗号化されている可能性があるデータを検索できるようにしました。#79350 (Sachin Kumar Singh).
  • MergeTree ファミリーのテーブルで _part_starting_offset 仮想カラムをサポートしました。このカラムは、現在のパーツ一覧に基づいてクエリ実行時に計算される、それより前にあるすべてのパーツの累積行数を表します。累積値はクエリの実行中を通して保持され、パーツ剪枝の後も引き続き有効です。この動作をサポートするため、関連する内部ロジックもリファクタリングされました。 #79417 (Amos Bird).
  • 単一のクエリ内のすべてのサブクエリで同じストレージスナップショットを共有できるように、設定 enable_shared_storage_snapshot_in_query が追加されました。これにより、1 つのクエリ内で同じテーブルが複数回参照される場合でも、常に同じスナップショットに対して一貫した読み取りが保証されます。#79471 (Amos Bird).
  • CH JSONカラムをParquetに書き込めるようにし、Parquet JSONカラムをCH JSONカラムとして直接読み込めるようにしました。 #79649 (Nihal Z. Miaji) 。
  • chdig を ClickHouse の一部として同梱 — ClickHouse 向けの TUI インターフェイス (top 風) 。#79666 (Azat Khuzhin) 。
  • pointInPolygonMultiPolygon の対応を追加しました。#79773 (Nihal Z. Miaji) 。
  • Geo Parquet をサポートしました。これで #75317 をクローズします。 #79777 (Konstantin Vedernikov).
  • ローカルファイルシステムにマウントされた delta テーブルを deltaLakeLocal テーブル関数経由でクエリできるようになりました。#79781 (roykim98).
  • base32 のエンコード/デコード機能を追加しました。#79809 (Joanna Hulboj) 。
  • ClickHouse の vector search で、事前フィルタリングと事後フィルタリングの両方がサポートされるようになり、よりきめ細かく制御するための関連設定も追加されました。 (issue #78161) 。#79854 (Shankar Iyer) 。
  • WKB フォーマットを読み取る関数をサポートしました。これにより、#43941 に部分的に対応しました。#80139 (Konstantin Vedernikov) 。
  • String から DateTime へのキャスト時のパースモードを選択できる新しい設定 cast_string_to_date_time_mode を追加しました。#80210 (Pavel Kruglov) 。
  • Bech32 および Bech32m のエンコード/デコード関数を追加しました (issue #40381) 。#80239 (George Larionov)。
  • Atomic および Ordinary の DB エンジンで disk 設定がサポートされ、テーブルのメタデータファイルを保存するディスクを指定できるようになりました。#80546 (Tuan Pham Anh) 。
  • MergeTreeパーツを展開して比較する関数をサポートしました。 #80573 (Mikhail Artemenko).
  • 時系列データを扱う際の一部のユースケースを高速化する timeSeries* ヘルパー関数: - 開始タイムスタンプ、終了タイムスタンプ、step を指定した時間グリッドにデータを再サンプリング - PromQL ライクな deltarateideltairate を計算。#80590 (Alexander Gololobov).
  • クエリ対象として選択されるパーツを、配置先のディスクで絞り込めるようになりました。 #80650 (tanner-bruce).
  • 埋め込みWebツールの一覧を表示するランディングページを追加しました。ブラウザー系のユーザーエージェントからリクエストされると、このページが開きます。#81129 (Alexey Milovidov) 。
  • arrayFirstarrayFirstIndexarrayLastarrayLastIndexNULL 値のフィルタリングを可能にしました。#81113 を修正します。#81197 (Lennard Eijsackers).

実験的機能

  • Iceberg データレイク向けの Hive metastore カタログ。#77677 (Konstantin Vedernikov).
  • 明示的なパラメータをキー・バリューの組で指定できるようになりました。現在サポートされているパラメータは、必須の tokenizer と、任意の max_rows_per_postings_list および ngram_size の 2 つです。#80262 (Elmi Ahmadov).
  • 実験的な gin 型の索引は text に名称変更されました。既存の gin 型の索引は引き続き読み込み可能ですが、検索で使用しようとすると例外が発生し (代わりに text 索引を使用するよう案内されます) 。#80855 (Robert Schulze).

パフォーマンス改善

  • 複数のグラニュールに対して式をまとめて評価することで、セカンダリ索引を高速化。 #64109 (Alexey Milovidov).
  • 右テーブルのサイズがこの閾値を下回る場合は hash アルゴリズムにフォールバックするための閾値 (parallel_hash_join_threshold 設定で制御) を導入しました。#76185 (Nikita Taranov) 。
  • Pipe::resize の既存実装では、Resize または StrictResize ノードを 1 つ作成し、それをパイプラインのトポロジーに挿入します。このノードは、すべての入力ストリーム (upstream nodes) を統合された一連の出力ストリーム (downstream nodes) に接続する中央ハブとして機能します。この設計により、パイプライングラフの実行中、特にコア数の多い環境では、ExecutingGraph::Node::status_mutex をめぐる競合が発生します。パイプラインが数十から数百のストリームまでスケールすると、この競合により次のような結果になります。 #77562 (Zhiguo Zhou).
  • S3Queue/AzureQueueINSERT によるデータ挿入を並列に実行できるようにし、パフォーマンスを向上しました (parallel_inserts=true の queue 設定で有効化できます) 。これまで S3Queue/AzureQueue で並列実行できたのはパイプラインの最初の部分 (ダウンロード、パース) のみで、INSERT はシングルスレッドでした。しかも、INSERT はほぼ常にボトルネックになります。これにより、processing_threads_num に対してほぼ線形にスケールするようになりました。#77671 (Azat Khuzhin).
  • 個別のサブカラムを読み取れるよう、各サブストリームのマークを保存するように compact パーツのフォーマットが変更されました。従来の compact フォーマットも引き続き読み取りでサポートされており、書き込みでは MergeTree setting write_marks_for_substreams_in_compact_parts を使って有効化できます。これは compact パーツのストレージ形式を変更するため、より安全にアップグレードできるようデフォルトでは無効になっています。今後のリリースのいずれかで、デフォルトで有効になる予定です。 #77940 (Pavel Kruglov).
  • 新しい設定use_skip_indexes_in_final_exact_modeが導入されました。ReplacingMergeTreeテーブルに対するクエリにFINAL句が含まれる場合、スキップ索引に基づいてテーブルの範囲のみを読み取ると、誤った結果になる可能性があります。この設定を使用すると、スキップ索引が返した主キー範囲と重複する新しいパーツをスキャンすることで、正しい結果を返せるようになります。無効にするには 0、有効にするには 1 を設定します。#78350 (Shankar Iyer) 。
  • 現在は、並列レプリカを有効にした読み取りにおけるタスクサイズの決定に、レプリカ数を使用するようになりました。これにより、読み取るデータ量がそれほど多くない場合でも、レプリカ間での作業分散が改善されます。 #78695 (Nikita Taranov).
  • 分散aggregationの最終段階で、uniqExact の集約状態を並列にマージできるようにしました。#78703 (Nikita Taranov) 。
  • uniqExact 状態のキー付き集約における並列マージで発生する可能性がある性能低下を修正しました。#78724 (Nikita Taranov). #* DELETE FROM ... WHERE 1 クエリを TRUNCATE に置き換え。(取り消し済み)。#78739 (Konstantin Vedernikov).
  • Azure Storage への List Blobs API の呼び出し回数を削減。 #78860 (Julia Kartseva).
  • 可能であれば、フィルターのクエリプランのステップにある等価条件を JOIN 条件にマージし、ハッシュテーブルのキーとして使えるようにしました。#78877 (Dmitry Novik).
  • 正規表現の代わりに extractKeyValuePairs を使用して、Hiveパスのパース性能を向上させました。 #79067 (Arthur Passos).
  • 並列レプリカを使用する分散 INSERT SELECT のパフォーマンスを改善しました。#79441 (Azat Khuzhin).
  • サブカラムを含む条件を PREWHERE へ移動できるようになりました。#79489 (Pavel Kruglov).
  • すべての bloom filter タイプのパフォーマンスを改善しました。 #79800 (Delyan Kratunov).
  • LogSeriesLimiter がインスタンス生成のたびにクリーンアップを実行しないようにし、高並行時のロック競合やパフォーマンス低下を防止しました。#79864 (filimonov) 。
  • compile_expressions (通常の式の一部を対象とする JIT コンパイラ) をデフォルトで有効にしました。これにより #51264#56386、および #66486 をクローズしました。#79907 (Alexey Milovidov) 。
  • trivial count 最適化でクエリを高速化しました。 #79945 (Raúl Marín).
  • UniqExactSet::merge において、いずれかのセットが空の場合の高速パスを追加しました。さらに、LHS のセットが 2 レベルで RHS が 1 レベルの場合は、RHS を 2 レベルに変換しないようになりました。#79971 (Nikita Taranov) 。
  • convertDecimalsImpl__attribute__((always_inline)) を追加。#79999 (Konstantin Bogdanov) 。
  • デフォルトで input_format_parquet_bloom_filter_push_down を true に設定するようにしました。また、設定変更履歴の誤りを修正しました。#80058 (Alexey Milovidov). #* デフォルトでログを非同期化するようにしました。これは <logger> の下で <async>false</async> を設定すると無効にできます。#80125 (Raúl Marín).
  • 二段階ハッシュテーブルの使用時におけるメモリ再利用効率を改善し、ページフォールトを削減しました。#80245 (Jiebin Sun) 。
  • QueryConditionCache における不要な更新を回避し、ロック競合を軽減しました。#80247 (Jiebin Sun).
  • 並列ハッシュ結合に効果が見込める、concatenateBlocks の小規模な最適化。 #80328 (李扬).
  • 主キーの範囲から mark の範囲を選択する際、主キーが関数でラップされていると、binary search は使用できません。この PR では、この制限が改善されました。主キーが常に単調な関数 chain でラップされている場合や、RPN に常に true となる要素が含まれている場合でも、binary search を適用できます。この PR は #45536 をクローズします。#80597 (zoomxi).
  • Kafka エンジンのシャットダウン速度を改善 (複数の Kafka テーブルがある場合の余分な 3 秒の遅延を解消) 。#80796 (Azat Khuzhin) 。
  • 非同期 INSERT のメモリ使用量を削減し、INSERT クエリのパフォーマンスを向上させました。#80972 (Raúl Marín) 。
  • ログテーブルが無効な場合、プロセッサのプロファイリングを行わないようにしました。 #81256 (Raúl Marín).
  • toFixedString で、入力が要求どおりの内容と完全に一致する場合の処理を高速化しました。#81257 (Raúl Marín) 。
  • ユーザーに制限がない場合は、クォータ値を処理しないようにしました。#81549 (Raúl Marín).
  • ProcfsMetricsProvider を thread_local 化し、タスク間でファイルを開いたまま保持できるようにしました。 #81576 (Raúl Marín) 。
  • メモリ追跡におけるパフォーマンス低下を修正しました。#81694 (Michael Kolupaev) 。

改善

#* clickhouse-local は、コマンドライン引数 --path を指定すると、再起動後もデータベースを保持するようになりました。これにより #50647#49947 がクローズされます。#71722 (Alexey Milovidov).
  • EXPLAIN SYNTAX は新しいアナライザを使用するようになりました。クエリツリーから構築された抽象構文木 (AST) を返します。クエリツリーを AST に変換する前に実行するパス数を制御するオプション query_tree_passes が追加されました。#74536 (Vladimir Cherkasov). #* ファイルシステムキャッシュでは、デフォルトで SLRU キャッシュポリシーを使用するようになりました。#75072 (Kseniia Sumarokova).
  • ビューへの書き込みロジックをリファクタリングしました。#77309 (Sema Checherinda) 。
  • オブジェクトストレージ向けの cluster table function (例: s3Cluster) では、cache の局所性を向上させるため、読み取り時のファイルがコンシステントハッシュに基づいてレプリカに割り当てられるようになりました。#77326 (Andrej Hoos) 。
  • エラー AuthenticationRequired 発生後に S3 の認証情報を更新します。 #77353 (Vitaly Baranov).
  • ビルダーを使って、一部の HTTP バッファにプロキシ設定を埋め込めるようにしました。#77693 (Arthur Passos).
  • system.asynchronous_metrics に Dictionary のメトリクスを追加しました - DictionaryMaxUpdateDelay - Dictionary 更新の最大遅延 (秒) 。 - DictionaryTotalFailedUpdates - すべての Dictionary で最後に正常にロードされて以降に発生したエラー数。 #78175 (Vlad).
  • 右側の引数がゼロの場合にNULLを返す関数 divideOrNull,moduloOrNull, intDivOrNull,positiveModuloOrNull を追加しました。 #78276 (kevinyhzou).
  • isIPAddressInRange 関数を、String、IPv4、IPv6、Nullable(String)、Nullable(IPv4)、Nullable(IPv6) の各データ型に対応するよう拡張しました。#78364 (YjyJeff) 。
  • PostgreSQL engine の接続プーラーの設定を動的に変更できるようになりました。 #78414 (Samay Sharma) 。
  • 通常のプロジェクションで _part_offset を指定できるようになりました。これは、プロジェクション索引を構築するための最初の一歩です。#58224 と組み合わせて使用でき、https://github.com/ClickHouse/ClickHouse/pull/63207 の改善にもつながります。#78429 (Amos Bird) 。
  • 分散クエリにおけるシャーディングキーの最適化を強化しました。 #78452 (fhw12345).
  • system.named_collections に新しいカラム (create_querysource) を追加しました。#78179 をクローズしました。#78582 (MikhailBurdukov).
  • システムテーブル system.query_condition_cache にフィールド condition が追加されました。これは、query condition cache でキーとして使用されるハッシュに対応する平文の条件を格納します。#78671 (Robert Schulze).
  • ClickHouse Keeper を使用して、StorageKafka2 に Kafka のリバランスに似たロジックを実装しました。各レプリカでは、2 種類のパーティションロック (永続ロックと一時ロック) をサポートします。レプリカは可能な限り永続ロックを保持しようとしますが、任意の時点で 1 つのレプリカが保持する永続ロック数は all_topic_partitions / active_replicas_count を超えません (ここで all_topic_partitions はすべてのパーティション数、active_replicas_count はアクティブなレプリカ数です) 。これを超える場合、レプリカはいくつかのパーティションを解放します。一部のパーティションは、レプリカによって一時的に保持されます。1 つのレプリカが保持できる一時ロックの最大数は、他のレプリカにも一部のパーティションを永続ロックとして取得する機会を与えるため、動的に変化します。一時ロックを更新する際には、レプリカはそれらをすべて解放し、改めて別のロックの取得を試みます。#78726 (Daria Fomina).
  • Kafka テーブルエンジンに、SASL の設定と認証情報に関するテーブル設定が追加されました。これにより、設定ファイルや名前付きコレクションを使わなくても、Kafka および Kafka 互換システム向けの SASL ベースの認証を CREATE TABLE ステートメント内で直接設定できるようになります。#78810 (Christoph Wurm) 。
  • 破損したテーブルの保存用として作成された可能性のあるデータベースに関する警告を追加しました。#78841 (János Benjamin Antal) 。
  • BFloat16カラムに対してベクトル類似度索引を作成できるようになりました。#78850 (Robert Schulze) 。
  • best-effort の DateTime64 パースで、小数部を含む Unix timestamp をサポートしました。#78908 (Pavel Kruglov) 。
  • storage の Delta Lake delta-kernel 実装で columnMappingMode.name を修正し、スキーマ進化に関するテストを追加しました。#78921 (Kseniia Sumarokova).
  • 値の変換を改善し、Values フォーマットでの Variant カラムへの insert を改善しました。 #78923 (Pavel Kruglov).
  • S3Queue エンジンに仮想カラム _time を追加しました。#78926 (Anton Ivashkin) 。
  • tokens 関数が拡張され、追加の “tokenizer” 引数と、さらにトークナイザー固有の引数を受け取れるようになりました。#79001 (Elmi Ahmadov) 。
  • SHOW CLUSTER ステートメントで、引数内のマクロ (ある場合) が展開されるようになりました。 #79006 (arf42).
  • ハッシュ関数が、Array、Tuple、Map 内の NULL をサポートするようになりました。 (issue #48365 および #48623) 。#79008 (Michael Kolupaev) 。
  • 読み取り専用の MergeTree テーブルでのリフレッシュをサポート。 #79033 (Alexey Milovidov). #* cctz を 2025a に更新。 #79043 (Raúl Marín).
  • CPU が過負荷状態のときの接続切断を制御する設定をホットリロード可能にしました。#79052 (Alexey Katsman) 。
  • 使い勝手が向上します。 #79066 (Alexey Milovidov).
  • デフォルトでクエリ条件キャッシュを有効にしました。#79080 (Alexey Milovidov) 。 #* Web UIでタブを元に戻せるようにしました。これにより #71284 をクローズします。#79084 (Alexey Milovidov) 。
  • recoverLostReplica 中に、https://github.com/ClickHouse/ClickHouse/pull/78637 と同様に設定を削除。#79113 (Nikita Mikhaylov).
  • profile parquet 索引のプルーニングに関する ProfileEvents として、ParquetReadRowGroups と ParquetPrunedRowGroups を追加しました。#79180 (flynn).
  • Azure blob storage のプレーンディスクについて、system.tables で報告されるデータパスにコンテナーのプレフィックスを追加し、報告内容を S3 および GCP と統一しました。#79241 (Julia Kartseva).
  • クラスター上でのデータベース変更をサポート。 #79242 (Tuan Pham Anh).
  • QueryMetricLog の統計情報収集では、実行し損ねた回を明示的にスキップするようにしました。これにより、ログが現在時刻に追いつくまで長時間かかるのを防げます。 #79257 (Mikhail Artemenko).
  • 論理削除をその場で適用できるようになりました (設定 lightweight_deletes_sync = 0, apply_mutations_on_fly = 1 を使用) 。 #79281 (Anton Popov).
  • すべての行を削除する必要があるパーツに対する ALTER ... DELETE mutation を最適化しました。これにより、そのような場合は mutation を実行せず、元のパーツの代わりに空のパーツが作成されるようになりました。#79307 (Anton Popov) 。
  • CHColumnToArrowColumn の小規模な最適化。#79308 (Bharat Nallan) 。
  • 設定 allow_archive_path_syntax は、誤って実験的な設定として扱われていました。実験的な設定がデフォルトで有効化されないようにするテストを追加しました。#79320 (Alexey Milovidov).
  • page cache の設定をクエリ単位で調整可能にしました。これにより、より迅速に実験できるようになり、高スループット・低レイテンシのクエリに向けた細かなチューニングも可能になります。#79337 (Alexey Milovidov).
  • 大半の 64 ビットハッシュのように見える数値については、Pretty フォーマットで数値ヒントを表示しないようにしました。これで #79334 をクローズします。#79338 (Alexey Milovidov) 。
  • Prettyフォーマットのデータがターミナルに表示されていて、後続のブロックのカラム幅が同じ場合は、カーソルを上に移動して前のブロックに結合し、前のブロックから続けて表示できます。これにより、#79333 がクローズされます。この機能は、新しい設定 output_format_pretty_glue_chunks で制御されます。 #79339 (Alexey Milovidov).
  • 高度なダッシュボード上のグラフの色は、対応するクエリのハッシュに基づいて決定されます。これにより、ダッシュボードをスクロールしながらでもグラフを覚えたり見つけたりしやすくなります。#79341 (Alexey Milovidov).
  • 非同期メトリクス FilesystemCacheCapacity を追加しました。これは、cache 仮想filesystemの総容量を表します。インフラストラクチャ全体の監視に役立ちます。#79348 (Alexey Milovidov).
  • system.parts へのアクセスを最適化 (要求された場合にのみ、カラム/索引のサイズを読み取る) 。#79352 (Azat Khuzhin) 。
  • クエリ 'SHOW CLUSTER <name>' で、すべてのフィールドではなく重要なフィールドのみを選択するようにしました。#79368 (Tuan Pham Anh) 。
  • DatabaseCatalog のストレージ設定を指定できるようになりました。 #79407 (Kseniia Sumarokova).
  • delta kernel でローカルストレージをサポート。 #79416 (Kseniia Sumarokova).
  • delta-kernel-rs を有効にするためのクエリレベルの設定 allow_experimental_delta_kernel_rs を追加しました。 #79418 (Kseniia Sumarokova).
  • Azure/S3 ブロブストレージからブロブを列挙する際に発生する可能性がある無限ループを修正しました。 #79425 (Alexander Gololobov).
  • 現在、ClickHouse は param_<name> (アンダースコア) に加えて、param-<name> (ダッシュ) 形式のクエリパラメータも受け付けるようになりました。これで #63093 が解決しました。#79429 (Engel Danila) 。 #* ファイルシステムキャッシュの設定 max_size_ratio_to_total_space を追加しました。#79460 (Kseniia Sumarokova) 。
  • checksum を有効にしてローカルからリモート S3 にデータをコピーする際の帯域幅割引について、より詳細な警告メッセージを追加。#79464 (VicoWu) 。
  • clickhouse-benchmark で、reconnect オプションを再設定し、再接続回数として 0、1、または N を指定できるようにしました。#79465 (Sachin Kumar Singh).
  • 入力フォーマットで作成されるブロックのサイズをバイト単位で制限する設定 input_format_max_block_size_bytes を追加しました。これにより、行に大きな値が含まれる場合のデータ取り込み時に、メモリ使用量の増大を抑えることができます。 #79495 (Pavel Kruglov).
  • sparseGrams の速度とメモリ使用量を改善しました。#79517 (Konstantin Vedernikov) 。
  • 可能な場合、compact パーツへの挿入時に block の不要なコピーを回避します。#79536 (Pavel Kruglov) 。
  • デフォルトで DeltaLake ストレージの delta-kernel 実装を有効にしました。#79541 (Kseniia Sumarokova).
  • URL からの読み取りで複数回リダイレクトされる場合でも、設定 enable_url_encoding はリダイレクトチェーン全体にわたって正しく適用されます。 #79563 (Shankar Iyer).
  • 異なる plain_rewritable ディスク上のテーブルでも ALTER TABLE ... MOVE|REPLACE PARTITION を許可しました。#79566 (Julia Kartseva) 。
  • WHERE 句でスカラー相関サブクエリをサポート。#6697 をクローズ。#79600 (Dmitry Novik).
  • 以前は input_format_parquet_max_block_size = 0 の場合、ClickHouse が停止していました。現在はこの挙動は修正されています。これにより #79394 がクローズされました。#79601 (abashkeev).
  • startup_scripts に throw_on_error 設定を追加しました。throw_on_error が true の場合、すべてのクエリが正常に完了しない限り、サーバーは起動しません。デフォルトでは throw_on_error は false で、従来の動作が維持されます。#79732 (Aleksandr Musorin).
  • 参照ベクトルが Array(BFloat16) 型の場合でも、ベクトル類似度索引が使用されるようになりました。#79745 (Shankar Iyer) 。
  • system.error_log テーブルに last_error_messagelast_error_tracequery_id を追加しました。関連チケットは #75816 です。#79836 (Andrei Tinikov) 。 #* クラッシュレポートの送信をデフォルトで有効化しました。これはサーバーの設定ファイルで無効にできます。#79838 (Alexey Milovidov) 。
  • システムテーブル system.functions に、各関数が最初に導入された ClickHouse のバージョンが表示されるようになりました。#79839 (Robert Schulze) 。
  • access_control_improvements.enable_user_name_access_type 設定が追加されました。この設定により、https://github.com/ClickHouse/ClickHouse/pull/72246 で導入された、ユーザー/ロールに対する厳密な権限付与を有効化または無効化できます。25.1 より古いレプリカを含むクラスターがある場合は、この設定をオフにすることを検討してください。#79842 (pufit).
  • ASTSelectWithUnionQuery::clone() メソッドが適切に実装され、is_normalized フィールドも考慮されるようになりました。これにより、#77569 の解決に役立つ可能性があります。#79909 (Nikita Mikhaylov).
  • 単純なケースにおいて、SELECT リスト内の相関サブクエリをサポートしました。#79925 (Dmitry Novik) 。
  • EXCEPT 演算子を含む特定のクエリで発生していた不整合なフォーマットを修正しました。EXCEPT 演算子の左辺が * で終わる場合、整形後のクエリから括弧が失われ、結果として EXCEPT 修飾子付きの * としてパースされていました。これらのクエリはファザーによって見つかったもので、実際に見つかる可能性は低いと考えられます。これにより #79950 をクローズします。#79952 (Alexey Milovidov).
  • あらゆる種類の http_handlershttp_response_headers を追加できるようにしました。#79975 (Andrey Zvonov) 。
  • Variant のデシリアライズ順序の cache を利用することで、JSON type のパースをわずかに改善しました。 #79984 (Pavel Kruglov) 。
  • 該当する場合、GLOBAL [NOT] IN 述語を PREWHERE 句へ移動できるようにしました。#79996 (Eduard Karacharov) 。
  • 設定 s3_slow_all_threads_after_network_error を追加。#80035 (Vitaly Baranov) 。
  • マージ対象として選択されたパーツに関するログレベルが誤って Information になっていました。#80061 をクローズします。#80062 (Alexey Milovidov) 。
  • 関数 reverse で Tuple データ型をサポートしました。#80053 を解決します。#80083 (flynn) 。
  • enble_url_encoding のデフォルト値が False になりました。#80088 (Shankar Iyer) 。
  • この小さなパッチで #75817 が解決され、system.zookeeper table から auxiliary_zookeepers のデータを取得できるようになりました。#80146 (Nikolay Govorov).
  • ベクトル類似度索引を使用するベクトル検索が、ベータになりました (以前は実験的でした) 。#80164 (Robert Schulze) 。
  • サーバーのTCPソケットに関する非同期メトリクスを追加しました。これにより、オブザーバビリティが向上します。#80187 をクローズします。#80188 (Alexey Milovidov).
  • 関数 tokens が、トークナイザーとして string をサポートするようになりました。#80195 (Robert Schulze) 。
  • 並列レプリカ: すべての読み取りタスクが他のレプリカに割り当てられている場合、低速で使われていないレプリカを待たないようにしました。 #80199 (Igor Nikonov) 。
  • simpleAggregateFunctionanylast_respect_nullsany_respect_nulls をサポート。#80219 (Diskein) 。
  • Replicatedデータベースに対して不要な adjustCreateQueryForBackup() の呼び出しを削除しました。#80282 (Vitaly Baranov) 。 #* clickhouse-local で、追加オプション (-- --config.value='abc' のように -- の後ろに続くもの) を、等号なしでも許可しました。#80292 をクローズ。#80293 (Alexey Milovidov) 。
  • SHOW ... LIKE クエリでメタ文字を強調表示するようにしました。これにより #80275 をクローズします。#80297 (Alexey Milovidov). #* clickhouse-local で SQL UDF が永続化されるようにしました。以前に作成した関数は起動時に読み込まれます。これにより #80085 をクローズします。#80300 (Alexey Milovidov).
  • TimeTime64 の比較をサポートしました。#80327 (Yarik Briukhovetskyi).
  • 予備的な DISTINCT ステップに対する EXPLAIN プランの説明を修正しました。#80330 (UnamedRus) 。
  • ODBC/JDBC で named collections を使用できるようにしました。#80334 (Andrey Zvonov) 。
  • 複数のプロジェクションによるフィルタリングのサポートを追加し、パートレベルのフィルタリングで複数のプロジェクションを使用できるようにしました。これにより、#55525 に対応しています。これは、#78429 に続く、プロジェクション索引を実装するための第2段階です。 #80343 (Amos Bird) 。
  • readonly および破損したディスク数のメトリクス。DiskLocalCheckThread の開始時に、インジケータがログに記録されます。#80391 (VicoWu).
  • プロジェクション対応のs3_plain_rewritableストレージのサポートを実装しました。以前のバージョンでは、プロジェクションを参照するS3内のメタデータオブジェクトは、移動しても更新されませんでした。#70258 を修正しました。#80393 (Sav)。
  • 並列レプリカでは、別個の接続タイムアウトを使用します。parallel_replicas_connect_timeout_ms 設定を参照してください。以前は、connect_timeout_with_failover_ms/connect_timeout_with_failover_secure_ms 設定が、並列レプリカのクエリの接続タイムアウト値として使用されていました (デフォルトは 1 秒) 。#80421 (Igor Nikonov) 。
  • SYSTEM UNFREEZE コマンドは、読み取り専用および一度しか書き込めないディスク上のパーツを検索しようとしなくなりました。これにより #80430 が解決されます。#80432 (Alexey Milovidov).
  • マージ済みパーツに関するメッセージのログレベルを INFO から TRACE に変更しました。#80476 (Hans Krutzer).
  • Dynamic と JSON について、Dynamic の shared variant や JSON の shared data といった特別な構造を使わずにデータをシリアライズ/デシリアライズできる Native format の flattened シリアライゼーションを実装しました。このシリアライゼーションは、output_format_native_use_flattened_dynamic_and_json_serialization を設定することで有効にできます。これにより、異なる言語のクライアントでも、TCP プロトコルでの Dynamic と JSON のサポートをより容易に実装できます。#80499 (Pavel Kruglov) 。
  • Iceberg テーブルのパーティションプルーニングのデフォルト動作を変更しました。 #80583 (Melvyn Peignon).
  • 索引検索アルゴリズムのオブザーバビリティのため、IndexBinarySearchAlgorithmIndexGenericExclusionSearchAlgorithm という 2 つの新しい ProfileEvents を追加しました。#80679 (Pablo Marcos) 。
  • 古いカーネルで MADV_POPULATE_WRITE がサポートされていない場合でも、ログに警告を出さないようにしました (ログが煩雑になるのを防ぐため) 。#80704 (Robert Schulze).
  • 有効期限 (TTL) で Date32 および DateTime64 がサポートされるようになりました。#80710 (Andrey Zvonov) 。
  • max_merge_delayed_streams_for_parallel_write の互換性設定の値を調整しました。 #80760 (Azat Khuzhin).
  • クラッシュを修正しました: デストラクタ内で一時ファイルを削除しようとした際に例外が送出されると (これらのファイルは一時データをディスクに書き出すために使用されます) 、プログラムが異常終了する可能性がありました。#80776 (Alexey Milovidov).
  • SYSTEM SYNC REPLICAIF EXISTS 修飾子を追加。#80810 (Raúl Marín) 。
  • “Having zero bytes, but read range is not finished…” に関する例外メッセージを拡充し、system.filesystem_cache に finished_download_time カラムを追加しました。#80849 (Kseniia Sumarokova) 。
  • これまで、全文索引では packed ストレージはサポートされていませんでした。これは、ディスク上の (.gin_sid) ファイルを読み書きして segment id をその場で更新していたためです。packed ストレージでは、未コミットのファイルから値を読み取ることがサポートされておらず、これが問題の原因となっていました。#80852 (Elmi Ahmadov).
  • indexes = 1 を指定して EXPLAIN を使用すると、出力に検索アルゴリズムのセクションが追加されます。ここには、“binary search” または “汎用排除検索” のいずれかが表示されます。#80881 (Pablo Marcos).
  • 2024年初頭、新しいアナライザがデフォルトで有効になっていなかったため、MySQL ハンドラーでは prefer_column_name_to_alias が True に固定されていました。現在はこの固定が解除されています。#80916 (Yarik Briukhovetskyi).
  • これにより、system.iceberg_history で、glue や iceberg rest などのカタログを使用するデータベースの履歴が表示されるようになりました。また、一貫性を保つため、system.iceberg_historytable_name および database_name カラムは、それぞれ tabledatabase に名称変更されました。#80975 (alesapin).
  • merge テーブル関数で読み取り専用モードを利用できるようになり、使用時に CREATE TEMPORARY TABLE 権限が不要になりました。#80981 (Miсhael Stetsyuk).
  • インメモリキャッシュの内部診断を改善 (不完全な system.asynchronouse_metrics ではなく、system.metrics でキャッシュに関する情報を公開) 。dashboard.html にインメモリキャッシュのサイズ (バイト単位) を追加。VectorSimilarityIndexCacheSize/IcebergMetadataFilesCacheSizeVectorSimilarityIndexCacheBytes/IcebergMetadataFilesCacheBytes に名前が変更されました。#81023 (Azat Khuzhin).
  • system.rocksdb の読み取り時に、RocksDB テーブルを含むことができないエンジンのデータベースを無視するようにしました。#81083 (Pervakov Grigorii) 。
  • clickhouse-local の設定ファイルで filesystem_cachesnamed_collections が許可されるようになりました。#81105 (Alexey Milovidov).
  • INSERT クエリにおける PARTITION BY のハイライトを修正しました。以前のバージョンでは、PARTITION BY はキーワードとしてハイライトされていませんでした。#81106 (Alexey Milovidov). #* Web UI に 2 つの小さな改善を加えました。CREATEINSERT などの出力を伴わないクエリを正しく処理するようにしました (少し前までは、これらのクエリでスピナーが無限に表示されていました) 。- テーブルをダブルクリックしたときに、先頭までスクロールするようにしました。#81131 (Alexey Milovidov). #* c-aresv1.34.5 に更新しました。#81159 (Konstantin Bogdanov). #* CVE-2025-5025 および CVE-2025-4947 に対処するため、curl を 8.14 にアップグレードしました。#81171 (larryluogit). #* libarchive を 3.7.9 にアップグレードし、次の問題に対処しました: CVE-2024-20696 CVE-2025-25724 CVE-2024-48958 CVE-2024-57970 CVE-2025-1632 CVE-2024-48957 CVE-2024-48615。#81174 (larryluogit). #* libxml2 を 2.14.3 にアップグレードしました。#81187 (larryluogit).
  • MemoryResidentWithoutPageCache は、ユーザー空間のページキャッシュを除いた、サーバープロセスが使用する物理メモリ量をバイト単位で示します。これにより、ユーザー空間のページキャッシュが利用されている場合でも、実際のメモリ使用量をより正確に把握できます。ユーザー空間のページキャッシュが無効な場合、この値は MemoryResident と同じになります。 #81233 (Jayme Bird).
  • client、local server、keeper client、disks appで手動でログに記録された例外をログ記録済みとしてマークし、二重にログへ記録されないようにしました。 #81271 (Miсhael Stetsyuk).
  • use_skip_indexes_if_final および use_skip_indexes_if_final_exact_mode は、デフォルトで True になりました。FINAL 句を含むクエリでは、スキップ索引 (該当する場合) を使って候補となるグラニュールを絞り込み、さらに一致する主キー範囲に対応する追加のグラニュールも読み込むようになりました。従来の、近似的で不正確な結果になる動作が必要な場合は、十分に評価したうえで use_skip_indexes_if_final_exact_mode を FALSE に設定できます。 #81331 (Shankar Iyer). #* web UI で複数のクエリがある場合、カーソル位置のクエリが実行されるようになりました。#80977 の継続です。 #81354 (Alexey Milovidov).
  • この PR は、conversion functions の単調性チェックにおける is_strict の実装上の問題に対処するものです。現状では、toFloat64(UInt32) や toDate(UInt8) など一部の変換関数が、本来 true を返すべきところで、誤って is_strict に false を返しています。#81359 (zoomxi). #* ジャーナル付きの filesystem では、mkdir は filesystem のジャーナルに書き込まれ、その内容がディスクに永続化されます。ディスクが低速な場合、これには時間がかかることがあります。これを reserve lock のスコープ外に移すのは、明らかに理にかなっています。#81371 (Kseniia Sumarokova).
  • KeyCondition が連続した範囲に一致するかどうかを確認する際、キーが非厳密な関数チェーンでラップされている場合、Constraint::POINTConstraint::RANGE に変換する必要が生じることがあります。たとえば、toDate(event_time) = '2025-06-03'event_time に対して [‘2025-06-03 00:00:00’, ‘2025-06-04 00:00:00’) という範囲を意味します。この PR ではこの挙動を修正しました。#81400 (zoomxi). #* postgres 16.9 を使用。#81437 (Konstantin Bogdanov). #* openssl 3.2.4 を使用。#81438 (Konstantin Bogdanov). #* abseil-cpp 2025-01-27 を使用。#81440 (Konstantin Bogdanov). #* mongo-c-driver 1.30.4 を使用。#81449 (Konstantin Bogdanov). #* krb5 1.21.3-final を使用。#81453 (Konstantin Bogdanov). #* orc 2.1.2 を使用。#81455 (Konstantin Bogdanov). #* clickhouse-local--database 引数のサポートを追加しました。以前に作成したデータベースに切り替えられます。これにより #44115 をクローズします。#81465 (Alexey Milovidov). #* --host または --port が指定されている場合、clickhouse/ch 別名は clickhouse-local ではなく clickhouse-client を呼び出すようになりました。#79422 の続きです。#65252 をクローズします。#81509 (Alexey Milovidov).
  • これでKeeperの応答時間分布データが得られたので、ヒストグラムのバケットを調整できます。#81516 (Miсhael Stetsyuk) 。
  • Iceberg のマニフェストファイルの読み取りを、クエリで初めて読み取る時点まで遅らせるようにしました。 #81619 (Daniil Ivanik). #* grpc 1.73.0 を使用するようにしました。 #81629 (Konstantin Bogdanov). #* delta-kernel-rs v0.12.1 を使用するようにしました。 #81707 (Konstantin Bogdanov).
  • プロファイルイベント PageCacheReadBytes を追加しました。#81742 (Kseniia Sumarokova) 。

バグ修正 (正式な安定版リリースにおけるユーザーに影響する不具合)

  • SELECT EXCEPT クエリを使用するパラメーター化ビューの不具合を修正。 #49447 をクローズ。 #57380 (Nikolay Degterinsky).
  • アナライザ: join でカラム型を昇格した後のカラムプロジェクション名を修正しました。#63345 をクローズしました。#63519 (Dmitry Novik).
  • materialized view の起動が遅すぎて、たとえばその materialized view にストリーミングする Kafka テーブルより後に開始されることがあります。#72123 (Ilya Golshtein).
  • analyzer_compatibility_join_using_top_level_identifier が有効な場合に、カラム名が競合すると発生する論理エラーを修正しました。#75676 (Vladimir Cherkasov) 。
  • 複数の非同期 (alter_sync = 0) RENAME COLUMN および ADD COLUMN クエリ実行後に、MergeTree テーブルの読み取り中にまれに発生していたクラッシュを修正しました。#76346 (Anton Popov).
  • アナライザが有効な場合の VIEW 作成時における SELECT クエリの書き換えを修正しました。#75956 をクローズします。#76356 (Dmitry Novik).
  • allow_push_predicate_ast_for_distributed_subqueries が有効になっている場合の、プッシュダウンされた述語での CTE の使用を修正しました。#75647 を修正。#79672 を修正。#77316 (Dmitry Novik).
  • サーバーから async_insert を適用する際の処理 (apply_settings_from_server 経由) を修正しました (従来はクライアントで Unknown packet 11 from server エラーが発生していました) 。#77578 (Azat Khuzhin).
  • 新たに追加されたレプリカで、Replicatedデータベース内のリフレッシャブルmaterialized view が動作しない問題を修正しました。 #77774 (Michael Kolupaev) 。
  • リフレッシュ可能なマテリアライズドビューがバックアップを破損させる問題を修正しました。 #77893 (Michael Kolupaev).
  • transform における古い発火ロジックのエラーを修正しました。#78247 (Yarik Briukhovetskyi) 。
  • SYSTEM SYNC REPLICA LIGHTWEIGHT 'foo' で、指定したレプリカが存在しない場合でも成功と報告されていた問題を修正しました。このコマンドは今後、同期を試みる前に、そのレプリカが Keeper に存在することを適切に検証するようになりました。#78405 (Jayme Bird).
  • アナライザ使用時にセカンダリ索引が適用されない場合があった問題を修正。 #65607#69373 を修正。 #78485 (Nikolai Kochetov).
  • 圧縮が有効な HTTP プロトコルでの profile events (NetworkSendElapsedMicroseconds/NetworkSendBytes) の出力を修正しました (誤差はバッファサイズ (通常は約 1MiB) を超えないはずです) 。 #78516 (Azat Khuzhin). #* ```sql CREATE TABLE t0 ( key Int32, value Int32 ) ENGINE=MergeTree() PRIMARY KEY key PARTITION BY key % 2;. #78593 (Vlad).
  • JOIN ... USINGALIAS カラムが含まれる場合に、アナライザが LOGICAL_ERROR を出してしまう問題を修正しました。本来は適切なエラーを返すべきでした。 #78618 (Yakov Olkhovskiy).
  • アナライザを修正: CREATE VIEW ... ON CLUSTER で、SELECT に位置引数が含まれていると失敗する不具合を修正しました。#78663 (Yakov Olkhovskiy).
  • SELECT に scalar subqueries が含まれる場合、スキーマ推論を伴う table function への INSERT SELECT で発生する Block structure mismatch エラーを修正しました。#78677 (Pervakov Grigorii) 。
  • アナライザを修正: prefer_global_in_and_join=1 を指定した SELECT クエリで Distributed テーブルを対象とする場合、in 関数が globalIn に置き換えられるようにしました。 #78749 (Yakov Olkhovskiy).
  • MongoDB engine または mongodb table function を使用するテーブルを読み取る数種類の SELECT queries を修正しました。具体的には、WHERE clause で定数値の暗黙的な変換を行う queries (例: WHERE datetime = '2025-03-10 00:00:00') と、LIMIT および GROUP BY を含む queries です。これらは以前、誤った結果を返すことがありました。#78777 (Anton Popov).
  • 異なるJSON型間の変換を修正しました。現在は、String への変換および String からの変換を経由する単純なCASTで実行されます。効率はやや低下しますが、100%正確です。#78807 (Pavel Kruglov).
  • Dynamic型からInterval型への変換時の論理エラーを修正しました。 #78813 (Pavel Kruglov).
  • JSONのパースエラー発生時のカラムのロールバックを修正しました。 #78836 (Pavel Kruglov).
  • 定数エイリアスのカラムを使用してJOINする際の’bad cast’エラーを修正しました。#78848 (Vladimir Cherkasov) 。
  • ビューとターゲットテーブルでカラムの型が異なるmaterialized viewでは、PREWHERE を許可しないようにしました。#78889 (Pavel Kruglov).
  • Variant カラムの不正なバイナリデータをパースする際に発生する論理エラーを修正しました。 #78982 (Pavel Kruglov).
  • Parquet のバッチサイズが 0 に設定されている場合に例外を発生させるようにしました。以前は output_format_parquet_batch_size = 0 のとき、ClickHouse がハングしていましたが、この問題は修正されました。#78991 (daryawessely) 。
  • compact パーツ内の basic フォーマットにおける Variant の判別子のデシリアライズを修正しました。この問題は https://github.com/ClickHouse/ClickHouse/pull/55518 で導入されました。#79000 (Pavel Kruglov) 。
  • complex_key_ssd_cache 型の Dictionaries で、block_size および write_buffer_size パラメータに 0 以下の値を指定すると、拒否されるようになりました (issue #78314) 。#79028 (Elmi Ahmadov) 。
  • SummingMergeTree では、非集計カラムに Field を使用しないでください。SummingMergeTree で使用される Dynamic/Variant 型で、予期しないエラーが発生する可能性があります。#79051 (Pavel Kruglov).
  • アナライザで、Distributed 宛先テーブルのヘッダーが異なる場合に materialized view から読み取れない問題を修正しました。#79059 (Pavel Kruglov) 。
  • currentDatabase 関数が ON CLUSTER クエリの CONSTRAINT セクションで使われた非常に限定的な状況で発生していたクラッシュを修正しました。#78100 をクローズしました。#79070 (pufit) 。
  • arrayUnion() が、バッチ挿入が行われたテーブルで余分な (誤った) 値を返す不具合を修正しました。#75057 を修正。#79079 (Peter Nguyen) 。 #* OpenSSLInitializer で発生する segfault を修正しました。#79092 をクローズ。#79097 (Konstantin Bogdanov) 。
  • サーバー間クエリでの外部ロールの受け渡しを修正しました。#79099 (Andrey Zvonov) 。
  • S3 ListObject では常にプレフィックスを設定する。#79114 (Azat Khuzhin).
  • arrayUnion() が、一括 insert を行ったテーブルで余分な (誤った) 値を返すバグを修正しました。 #79157 を修正しました。 #79158 (Peter Nguyen) 。
  • フィルタのpushdown後に発生する論理エラーを修正しました。#79164 (Pervakov Grigorii) 。
  • SingleValueDataGeneric で Field の代わりに IColumn を使うようにしました。これにより、Dynamic/Variant/JSON 型における argMax など一部の集約関数の戻り値が誤っていた問題を修正しました。 #79166 (Pavel Kruglov).
  • HTTP ベースのエンドポイントで使用される delta-kernel 実装の Delta Lake テーブルエンジンと、NOSIGN を修正しました。#78124 をクローズしました。#79203 (Kseniia Sumarokova).
  • Keeperの修正: 失敗した multi リクエストでウォッチがトリガーされないようにしました。#79247 (Antonio Andelic) 。
  • IN で Dynamic 型と JSON 型を禁止しました。現在の IN の実装では、不正確な結果を招く可能性があります。これらの型を IN で適切にサポートするのは複雑なため、対応は今後行われる可能性があります。 #79282 (Pavel Kruglov).
  • JSON type のパース時に重複したパスをチェックする処理を修正しました。 #79317 (Pavel Kruglov).
  • SecureStreamSocket の接続に関する問題を修正しました。#79383 (Konstantin Bogdanov) 。
  • データを含む plain_rewritable ディスクの読み込みを修正しました。#79439 (Julia Kartseva) 。
  • MergeTree の wide パーツにおける動的サブカラム検出時のクラッシュを修正しました。 #79466 (Pavel Kruglov).
  • テーブル名の長さの検証は、初回のCREATEクエリでのみ行います。後方互換性の問題を避けるため、secondary CREATE では検証しません。 #79488 (Miсhael Stetsyuk).
  • スパースなカラムを持つテーブルで発生していた Block structure mismatch エラーを、いくつかのケースで修正しました。 #79491 (Anton Popov).
  • Logical Error: Can't set alias of * of Asterisk on alias が発生する2件のケースを修正しました。#79505 (Raúl Marín).
  • Azure blob storage に対する use_native_copy および allow_azure_native_copy 設定の適用を修正し、認証情報が一致する場合にのみ native copy を使用するように更新して、#78964 を解決しました。 #79561 (Smita Kulkarni).
  • Atomicデータベースの名前変更時に誤ったパスが使われる不具合を修正しました。 #79569 (Tuan Pham Anh).
  • JSONカラムと他のカラムを含むORDER BYを修正しました。#79591 (Pavel Kruglov) 。
  • use_hedged_requestsallow_experimental_parallel_reading_from_replicas の両方が無効な状態でリモートから読み取る際に、結果が重複する問題を修正しました。#79599 (Eduard Karacharov) 。
  • Unity Catalog 使用時に発生する delta-kernel 実装のクラッシュを修正しました。#79677 (Kseniia Sumarokova) 。
  • 自動検出クラスターのマクロが正しく解決されるよう修正。 #79696 (Anton Ivashkin).
  • このカラムが相関しているかどうかの確認時に発生する、カラムの始点スコープが不明であることに関する論理エラーを修正しました。#78183 を修正。#79451 を修正。#79727 (Dmitry Novik) 。
  • ColumnConst とアナライザを用いる grouping sets で、誤った結果が返される問題を修正しました。#79743 (Andrey Zvonov) 。
  • ローカルのレプリカが古い状態で分散テーブルから読み取る際に、ローカル分片の結果が重複する問題を修正しました。#79761 (Eduard Karacharov).
  • page_cache_limits の設定不備に適切に対処する。 #79805 (Bharat Nallan).
  • 可変長のフォーマッタ (例: %W。曜日名の MondayTuesday など) に続いて複合フォーマッタ (一度に複数の部分を出力するフォーマッタ。例: %D。米国式の日付 05/04/25) が使われた場合の SQL 関数 formatDateTime の結果を修正しました。#79835 (Robert Schulze).
  • IcebergS3 は count 最適化をサポートしていますが、IcebergS3Cluster はサポートしていません。そのため、クラスター モードで返される count() の結果は、レプリカ数の倍数になる可能性があります。#79844 (wxybear).
  • 負の符号ビットを持つ NaN のソート順を修正しました。#79847 (Pervakov Grigorii) 。
  • これにより、GROUP BY ALLGROUPING 部分を考慮しなくなりました。#79915 (Yarik Briukhovetskyi) 。
  • projection までクエリ実行にカラムがまったく使われない場合に、遅延マテリアライゼーションで AMBIGUOUS_COLUMN_NAME エラーが発生する問題を修正しました。例: SELECT * FROM t ORDER BY rand() LIMIT 5. #79926 (Igor Nikonov).
  • 容量を使い切っていない場合でも誤差値が過大になっていた、TopK / TopKWeighted 関数の状態マージ処理の不具合を修正しました。#79939 (Joel Höner).
  • クエリ CREATE DATABASE datalake ENGINE = DataLakeCatalog(\'http://catalog:8181\', \'admin\', \'password\') のパスワードを非表示にする。#79941 (Han Fei) 。
  • JOIN USING でエイリアスを指定できるようにしました。カラム名が変更されている場合 (たとえば `ARRAY JOIN` による場合) は、このエイリアスを指定してください。#73707 を修正しました。#79942 (Nikolai Kochetov).
  • azure_blob_storage オブジェクトストレージで readonly 設定が尊重されるようになりました。 #79954 (Julia Kartseva).
  • バックスラッシュでエスケープした文字を含む match(column, '^…') の使用時に発生していた、誤ったクエリ結果とメモリ不足によるクラッシュを修正しました。#79969 (filimonov) 。
  • データレイク向けの Hive パーティション化を無効化。https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937 に部分的に対応します。 #80005 (Daniil Ivanik).
  • ラムダ式を含むスキップ索引が適用されない問題を修正しました。索引定義内の高水準関数がクエリ内の関数と完全に一致する場合に適用されないケースを修正しました。#80025 (Nikolai Kochetov).
  • UNION を含む materialized view が、新しいレプリカでも正しく動作するようになりました。 #80037 (Samay Sharma).
  • レプリケーションログのATTACH_PARTコマンドを実行するレプリカで、データパートをアタッチする際のメタデータバージョンを修正しました。 #80038 (Aleksei Filatov).
  • SQL 関数 parseDateTime のフォーマット指定子 %e で、1 桁の日付 (例: 3) を認識できるようになりました。従来は空白で埋めた形式 (例: 3) が必要でした。これにより、動作が MySQL と互換になりました。以前の動作を維持するには、設定 parsedatetime_e_requires_space_padding = 1 を指定してください。 (issue #78243) 。#80057 (Robert Schulze) 。
  • Executable User Defined Functions (eUDF) の名前は、他の関数とは異なり、system.query_log テーブルの used_functions カラムには追加されません。この PR では、リクエストで eUDF が使用された場合に、その eUDF 名も追加されるようにしました。#80073 (Kyamran). #* ClickHouse のログに出力される警告 Cannot find 'kernel' in '[...]/memory.stat' を修正しました (issue #77410) 。#80129 (Robert Schulze).
  • LowCardinality(FixedString) を使用する Arrow format における論理エラーを修正しました。#80156 (Pavel Kruglov) 。
  • Mergeエンジンのサブカラムの読み取りを修正しました。 #80158 (Pavel Kruglov) 。
  • KeyCondition における数値型間の比較のバグを修正しました。#80207 (Yarik Briukhovetskyi).
  • プロジェクションを持つテーブルで遅延マテリアライゼーションが適用された際に発生する AMBIGUOUS_COLUMN_NAME を修正しました。#80251 (Igor Nikonov).
  • 暗黙的なプロジェクションの使用時に、LIKE ‘ab_c%’ のような文字列プレフィックスフィルターで count 最適化が正しく機能しない問題を修正しました。これにより #80250 が修正されます。#80261 (Amos Bird).
  • MongoDBドキュメント内で、ネストされた数値フィールドが文字列として不適切にシリアライズされる問題を修正。MongoDBから取得したドキュメントに対する最大深度の制限を削除。#80289 (Kirill Nikiforov).
  • Replicated database における RMT のメタデータチェックをより緩やかにしました。#80296 をクローズ。#80298 (Nikolay Degterinsky).
  • PostgreSQLストレージでの DateTime および DateTime64 のテキスト表現を修正しました。#80301 (Yakov Olkhovskiy).
  • StripeLog テーブルでタイムゾーン付きの DateTime を使えるようにしました。これにより #44120 は解決されます。#80304 (Alexey Milovidov) 。
  • クエリプランのステップによって行数が変わる場合、非決定論的関数を含むpredicateへのfilter-push-downを無効化しました。#40273 を修正しました。#80329 (Nikolai Kochetov)。
  • サブカラムを含むプロジェクションにおける潜在的な論理エラーとクラッシュを修正しました。#80333 (Pavel Kruglov) 。
  • ON 式が単純な等価条件ではない場合に、論理 JOIN sep の filter-push-down 最適化によって発生する NOT_FOUND_COLUMN_IN_BLOCK エラーを修正しました。修正: #79647 修正: #77848#80360 (Nikolai Kochetov).
  • パーティション化されたテーブルで、逆順のキーを読み取る際に誤った結果が返される問題を修正しました。これにより #79987 が修正されます。#80448 (Amos Bird) 。
  • Nullable なキーを持ち、optimize_read_in_order が有効になっているテーブルで、ソートが正しく行われない問題を修正しました。#80515 (Pervakov Grigorii) 。
  • SYSTEM STOP REPLICATED VIEW でビューを一時停止した場合に、リフレッシャブルmaterialized view の DROP がハングする問題を修正しました。 #80543 (Michael Kolupaev).
  • 定数タプルを含む分散クエリで発生する’Cannot find column’エラーを修正。 #80596 (Yakov Olkhovskiy).
  • join_use_nulls 使用時の分散テーブルにおける shardNum 関数を修正。 #80612 (János Benjamin Antal).
  • Merge engine で、一部のテーブルにのみ存在するカラムの読み取り時に誤った結果が返される問題を修正しました。 #80643 (Pavel Kruglov).
  • iceberg_history テーブルのタイムスタンプが正しくなりました。#80711 (Melvyn Peignon) 。
  • オブジェクトストレージのテーブル関数で、要素が 1 つだけの enum globs の処理を修正しました。#80716 (Konstantin Bogdanov).
  • 論理エラーの原因となっていた、Tuple(Dynamic) および String を用いた比較関数の誤った結果型を修正しました。#80728 (Pavel Kruglov) 。
  • Unity Catalog で不足していたデータ型 timestamp_ntz のサポートを追加。 #79535#79875 を修正。 #80740 (alesapin)。
  • IN cte を含む分散クエリで発生する THERE_IS_NO_COLUMN エラーを修正。 #75032 を修正。 #80757 (Nikolai Kochetov).
  • 外部 ORDER BY でファイル数が過剰に増える問題 (メモリ使用量の増大につながる) を修正しました。#80777 (Azat Khuzhin). #* この PR で #80742 がクローズされる可能性があります。#80783 (zoomxi). #* get&#95;member&#95;id() が NULL から std::string を生成していたことによる Kafka のクラッシュを修正しました (おそらく、broker への connection が Failed した場合にのみ発生していた問題です) 。#80793 (Azat Khuzhin).
  • シャットダウン前に Kafka エンジンのコンシューマーを適切に待機するようにしました (シャットダウン後もコンシューマーがアクティブなままだと、さまざまなデバッグアサーションがトリガーされる可能性があり、さらにテーブルが削除またはデタッチされた後でも、バックグラウンドでブローカーからデータを読み取ることがあります) 。#80795 (Azat Khuzhin) 。
  • predicate-push-down 最適化が原因で発生する NOT_FOUND_COLUMN_IN_BLOCK を修正しました。#80443 を修正。 #80834 (Nikolai Kochetov).
  • USING を伴う JOIN で、テーブル関数内のスター (*) マッチャーの解決時に発生する論理エラーを修正しました。#80894 (Vladimir Cherkasov).
  • Iceberg metadata files cache のメモリ使用量の計上を修正しました。#80904 (Azat Khuzhin).
  • Nullableなパーティションキーでの誤ったパーティション化を修正。 #80913 (Pervakov Grigorii).
  • ソーステーブルがイニシエータに存在しない場合に、プッシュダウンされた述語 (allow_push_predicate_ast_for_distributed_subqueries=1) を使用する分散クエリで発生する Table does not exist エラーを修正しました。#77281 を修正します。#80915 (Nikolai Kochetov).
  • 名前付きウィンドウを使ったネストされた関数の論理エラーを修正しました。#80926 (Pervakov Grigorii) 。
  • Nullable および浮動小数点カラムの極値に関する不具合を修正しました。#80970 (Pervakov Grigorii) 。
  • system.tables へのクエリ時に発生する可能性のあるクラッシュを修正 (メモリ逼迫時に発生する可能性が高い) 。#80976 (Azat Khuzhin) 。
  • ファイル拡張子から圧縮形式が推論されるファイルに対する、TRUNCATE を伴う atomic rename の不具合を修正しました。#80979 (Pablo Marcos). #* ErrorCodes::getName の不具合を修正しました。#81032 (RinChanNOW).
  • ユーザーが Unity Catalog 内のすべてのテーブルに対する権限を持っていない場合、テーブルを一覧表示できない不具合を修正しました。これにより、すべてのテーブルが正しく一覧表示されるようになり、制限されたテーブルを読み取ろうとすると例外が発生します。#81044 (alesapin).
  • これで、ClickHouse は SHOW TABLES クエリにおいて、データレイクカタログからのエラーや想定外の応答を無視するようになりました。#79725 を修正します。#81046 (alesapin).
  • JSONExtract および JSON 型のパースにおいて、整数から DateTime64 をパースする際の不具合を修正しました。#81050 (Pavel Kruglov).
  • スキーマ推論 cache にdate_time_input_format設定を反映するようにしました。#81052 (Pavel Kruglov) 。
  • クエリ開始後、カラム送信前にテーブルがDROPされた場合にINSERTでクラッシュする問題を修正しました。 #81053 (Azat Khuzhin).
  • quantileDeterministic における未初期化値の使用を修正しました。 #81062 (Azat Khuzhin).
  • metadatastoragefromdisk ディスクトランザクションにおけるハードリンク数の管理を修正。テストを追加。 #81066 (Sema Checherinda).
  • ユーザー定義関数 (UDF) の名前は、他の関数とは異なり、system.query_log テーブルには追加されません。このPRでは、リクエストでUDFが使用された場合に、2つのカラム used_executable_user_defined_functions または used_sql_user_defined_functions のいずれかにUDF名を追加するよう実装しました。#81101 (Kyamran).
  • テキストフォーマット (JSONValues、…) を使用し、Enum フィールドを省略した HTTP プロトコル経由の挿入で発生していた Too large size ... passed to allocator エラーやクラッシュの可能性を修正しました。#81145 (Anton Popov) 。
  • non-MT MV にプッシュされた INSERT ブロック内のスパース カラムで発生する LOGICAL_ERROR を修正。#81161 (Azat Khuzhin) 。
  • クロスレプリケーション時に distributed_product_mode_local=local で発生する Unknown table expression identifier を修正。#81162 (Nikolai Kochetov).
  • フィルタ適用後のParquetファイルの行数が誤ってキャッシュされる問題を修正しました。#81184 (Michael Kolupaev) 。
  • 相対 cache パス使用時の fs cache max_size_to_total_space 設定を修正しました。#81237 (Kseniia Sumarokova) 。
  • 定数のタプルまたはMapをParquetフォーマットで出力する際に、clickhouse-localがクラッシュする問題を修正しました。#81249 (Michael Kolupaev).
  • ネットワーク経由で受信した配列のオフセットを検証。 #81269 (Azat Khuzhin).
  • 空のテーブルを結合し、ウィンドウ関数を使用するクエリにおける特定のケースを修正しました。このバグにより並列ストリーム数が爆発的に増加し、OOM が発生していました。 #81299 (Alexander Gololobov).
  • データレイクの Cluster 関数 (deltaLakeClustericebergCluster など) に関する修正: (1) 古いアナライザで Cluster 関数を使用した際に DataLakeConfiguration で発生する可能性がある segfault を修正; (2) 重複したデータレイクメタデータ更新 (余分なオブジェクトストレージリクエスト) を削除; (3) フォーマットが明示的に指定されていない場合に発生する、オブジェクトストレージでの不要なリスト取得を修正 (これは非クラスターのデータレイクエンジンではすでに対応済み) 。#81300 (Kseniia Sumarokova).
  • force_restore_data フラグで、失われた Keeper メタデータを復旧できるようにしました。#81324 (Raúl Marín) 。
  • delta-kernel のリージョンエラーを修正。#79914 を修正。#81353 (Kseniia Sumarokova) 。
  • divideOrNull で誤って適用される JIT を無効化しました。 #81370 (Raúl Marín).
  • MergeTree テーブルでパーティションカラム名が長い場合に発生する insert エラーを修正しました。#81390 (hy123q) 。
  • 複数のマニフェストファイルの内容をメモリに保持しないようにしました。#81470 (Daniil Ivanik) 。
  • バックグラウンドプール (background_.*pool_size) の停止時に発生する可能性があるクラッシュを修正しました。 #81473 (Azat Khuzhin).
  • URL エンジンを使用するテーブルへの書き込み時に発生していた、Npy フォーマットでの範囲外読み取りを修正しました。これにより #81356 はクローズされます。#81502 (Alexey Milovidov) 。
  • Web UI に NaN% が表示されることがあります (JavaScript でよくある問題です) 。#81507 (Alexey Milovidov).
  • database_replicated_enforce_synchronous_settings=1 における DatabaseReplicated の問題を修正しました。#81564 (Azat Khuzhin).
  • LowCardinality(Nullable(…)) 型のソート順を修正。 #81583 (Pervakov Grigorii).
  • ソケットからリクエスト全体をまだ読み取っていない場合、サーバーは HTTP 接続を維持してはなりません。 #81595 (Sema Checherinda).
  • スカラーの相関サブクエリが、射影式の Nullable 型の結果を返すようにしました。相関サブクエリが空の結果セットを返す場合の問題を修正しました。#81632 (Dmitry Novik) 。
  • ReplicatedMergeTree への ATTACH 時に発生する Unexpected relative path for a deduplicated part を修正しました。#81647 (Azat Khuzhin) 。
  • クエリ設定 use_iceberg_partition_pruning は、クエリコンテキストではなくグローバルコンテキストを使用しているため、Icebergストレージでは反映されません。ただし、デフォルト値が true のため、重大な問題ではありません。この PR で修正できます。#81673 (Han Fei).
  • merge_max_block_size が 0 でないことを確認するため、merge tree 設定のバリデーションを追加しました。#81693 (Bharat Nallan).
  • clickhouse-local で、DROP VIEW クエリがハングする問題を修正しました。#81705 (Bharat Nallan) 。
  • 一部のケースで StorageRedis の JOIN を修正しました。#81736 (Pervakov Grigorii) 。
  • 空の USING () を使用し、旧アナライザが有効な場合に発生する ConcurrentHashJoin のクラッシュを修正しました。#81754 (Nikita Taranov).
  • Keeperの修正: ログ内に無効なエントリがある場合は、新しいログのコミットをブロックするようにしました。以前は、leaderが一部のログを誤って適用すると、followerはダイジェストの不一致を検出して中断するにもかかわらず、新しいログのコミットは継続されていました。 #81780 (Antonio Andelic).
最終更新日 2026年6月10日