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

Cloud 向け v25.6 の変更履歴

後方互換性のない変更

  • 関数 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 で、true に設定するとファイルシステムキャッシュの動的なリサイズを許可します。理由: 特定の環境(ClickHouse Cloud)では、すべてのスケーリングイベントがプロセスの再起動を通じて行われるため、この機能を明示的に無効化して挙動をより細かく制御したいこと、さらに安全対策としての目的があります。このPRは後方互換性のない変更としてマークされています。なぜなら、以前のバージョンでは動的キャッシュリサイズは特別な設定なしにデフォルトで有効だったためです。 #79148 (Kseniia Sumarokova).
  • レガシーインデックスタイプ annoy および usearch のサポートを削除しました。これらはいずれも長い間ダミー実装であり、レガシーインデックスを使用しようとするすべての試みは、結局はエラーを返していました。まだ annoyusearch インデックスを保持している場合は、削除してください。 #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>) を追加し、いくつかの基本的なキャスト関数および他のデータ型と相互運用するための関数を実装しました。また、キャスト関数で toTime 関数が必要になるため、既存の関数名 toTimetoTimeWithFixedDate に変更しました。#75735Yarik Briukhovetskyi)。
  • WHERE 句内の EXISTS 式の引数として相関サブクエリをサポートしました。#72459 をクローズしました。#76078Dmitry Novik)。
  • Merge テーブルエンジンへの書き込みを許可しました。 #77484 (Anton Ivashkin).
  • レプリケートされた MergeTree テーブル向けの分散 INSERT SELECT では、異なるノードで異なるデータを選択して独立に挿入することで、INSERT を並列化するために parallel replicas を効率的に利用するようになりました。 #78041 (Igor Nikonov)。
  • mapContainsValuesLike/mapContainsValues/mapExtractValuesLike 関数を追加し、map の値を対象としたフィルタリングと、bloom filter ベースのインデックスでのサポートを可能にしました。 #78171 (UnamedRus)。
  • system.iceberg_history テーブルを追加しました。 #78244 (Smita Kulkarni).
  • ワークロード用にクエリスロットのスケジューリング機能を追加しました。詳細は https://clickhouse.com/docs/operations/workload-scheduling#query_scheduling を参照してください。 #78415 (Sergei Trifonov).
  • getServerSetting 関数と getMergeTreeSetting 関数を追加し、https://github.com/clickhouse/clickhouse/issues/78318 をクローズ。 #78439NamNguyenHoai)。
  • 設定制約で許可されない値の指定をサポート。#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 でフォーマットの自動推論が有効になりました。#79085Alexey Milovidov)。
  • icebergHashicebergBucketTransform 関数を追加し、bucket transfom でパーティション分割された Iceberg テーブルにおけるデータファイルのプルーニングをサポートします。#79262 (Daniil Ivanik)。
  • CoalescingMergeTree のサポートを追加しました。これにより #78869 がクローズされました。#79344 (Konstantin Vedernikov)。
  • ランダムまたは暗号化されている可能性のあるデータを検索するための stringBytesUniq 関数および stringBytesEntropy 関数を追加しました。 #79350 (Sachin Kumar Singh)。
  • MergeTree ファミリーのテーブルで _part_starting_offset 仮想カラムをサポートしました。このカラムは、現在のパーツ一覧に基づいてクエリ時に計算される、すべての先行パーツの累積行数を表します。累積値はクエリ実行全体を通じて保持され、パーツのプルーニング後も有効なままです。この挙動をサポートするために、関連する内部ロジックがリファクタリングされました。 #79417 (Amos Bird)。
  • 単一のクエリ内に含まれるすべてのサブクエリで同じストレージスナップショットを共有できるようにする設定 enable_shared_storage_snapshot_in_query を追加しました。これにより、クエリ内で同じテーブルを複数回参照する場合でも、そのテーブルから一貫した読み取りが行えます。 #79471 (Amos Bird)。
  • CH JSON 列を Parquet 形式に書き出すことと、Parquet の JSON 列を CH JSON 列として直接読み込むことをサポートしました。 #79649 (Nihal Z. Miaji)。
  • chdig を ClickHouse に同梱しました。ClickHouse の一部として動作する、top 風の TUI インターフェイスです。#79666Azat Khuzhin)。
  • pointInPolygonMultiPolygon をサポートするようにしました。 #79773 (Nihal Z. Miaji).
  • Geo Parquet をサポートしました。これにより #75317 がクローズされます。 #79777 (Konstantin Vedernikov)。
  • ローカルファイルシステムにマウントされた Delta テーブルを deltaLakeLocal テーブル関数でクエリできるようにサポートを追加しました。 #79781 (roykim98).
  • Base32 のエンコード/デコード機能を追加しました。 #79809 (Joanna Hulboj).
  • ClickHouse ベクトル検索は、事前フィルタリングと事後フィルタリングの両方をサポートするようになり、より細かな制御のための関連設定も提供されます。(issue #78161)。#79854Shankar Iyer)。
  • WKB 形式の読み取りをサポートする関数を追加しました。これにより、#43941 が一部解決されます。 #80139 (Konstantin Vedernikov).
  • String 型から DateTime 型へのキャスト時に DateTime の解析モードを選択できる新しい設定 cast_string_to_date_time_mode を追加しました。 #80210 (Pavel Kruglov).
  • Bech32Bech32m のエンコードおよびデコード関数を追加しました (issue #40381)。 #80239 (George Larionov)。
  • Atomic および Ordinary データベースエンジンで disk 設定をサポートし、テーブルのメタデータファイルを保存するディスクを指定できるようにしました。 #80546 (Tuan Pham Anh)。
  • MergeTree パーツを展開および比較するためのサポート関数を追加。 #80573 (Mikhail Artemenko).
  • timeSeries* ヘルパー関数は、時系列データを扱う際の一部の処理を高速化するためのものです。具体的には次の機能を提供します: - 指定した開始タイムスタンプ、終了タイムスタンプ、およびステップに従って、データを時間グリッドに再サンプリングする - PromQL 互換の deltarateideltairate を計算する。 #80590 (Alexander Gololobov).
  • クエリ対象として選択されたパーツを、配置されているディスク単位でフィルタリングできるようにしました。 #80650 (tanner-bruce).
  • 埋め込み Web ツールの一覧を表示するランディングページを追加。ブラウザライクなユーザーエージェントから要求されたときに開きます。 #81129 (Alexey Milovidov).
  • arrayFirstarrayFirstIndexarrayLastarrayLastIndexNULL 値をフィルタリング可能にしました。 #81113 を修正。 #81197Lennard 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).
  • parallel_hash_join_threshold 設定で制御されるしきい値を導入し、右テーブルのサイズがこのしきい値未満の場合に hash アルゴリズムへフォールバックするようにしました。 #76185 (Nikita Taranov)。
  • 現在の Pipe::resize の実装では、パイプラインのトポロジーに単一の Resize または StrictResize ノードを挿入することで、それを作成し、このノードがすべての入力ストリーム(上流ノード)を統一された出力ストリーム集合(下流ノード)へと接続する中央ハブとして機能します。この設計により、特にコア数の多い環境では、パイプライングラフの実行中に ExecutingGraph::Node::status_mutex への競合が発生します。パイプラインが数十から数百のストリームにスケールすると、この競合により次のような結果が生じます。#77562 (Zhiguo Zhou).
  • S3Queue/AzureQueue のパフォーマンスを、INSERT の実行を並列化できるようにすることで改善しました(parallel_inserts=true キュー設定で有効化可能)。これまでは S3Queue/AzureQueue はパイプラインの最初の部分(ダウンロードとパース)だけを並列化でき、INSERT は単一スレッドでした。そして INSERT がボトルネックになることがほとんどです。今回の変更により、processing_threads_num に対してほぼ線形にスケールするようになります。 #77671 (Azat Khuzhin).
  • コンパクトパートの形式を変更し、各サブストリームのマークを保存して個々のサブカラムを読み取れるようにしました。従来のコンパクト形式は読み取りでは引き続きサポートされ、書き込みでは MergeTree 設定 write_marks_for_substreams_in_compact_parts を使用して有効化できます。コンパクトパートのストレージ形式が変わるため、より安全にアップグレードできるよう、デフォルトでは無効になっています。今後のいずれかのリリースでデフォルト有効化される予定です。 #77940 (Pavel Kruglov)。
  • 新しい設定 use_skip_indexes_in_final_exact_mode が導入されました。ReplacingMergeTree テーブルに対するクエリで FINAL 句が指定されている場合、スキップインデックスに基づいてテーブル範囲のみを読み取ると、誤った結果が返される可能性があります。この設定を使用すると、スキップインデックスによって返されたプライマリキー範囲と重複する、より新しいパーツをスキャンすることで、正しい結果が返されるようにできます。無効化するには 0、有効化するには 1 を設定します。#78350Shankar Iyer)。
  • これにより、並列レプリカを有効にした読み取り時のタスクサイズを、レプリカ数に基づいて決定するようになりました。これによって、読み取るデータ量がそれほど大きくない場合でも、レプリカ間の負荷分散が改善されます。 #78695 (Nikita Taranov).
  • 分散集約の最終段階で 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 が解決されました。#79907Alexey Milovidov)。
  • 単純な count の最適化によりクエリを高速化。 #79945 (Raúl Marín).
  • UniqExactSet::merge において、一方のセットが空の場合の高速な処理パスを導入しました。また、左辺のセットが2レベル構造で右辺が1レベル構造の場合でも、右辺を2レベル構造に変換しないようにしました。 #79971 (Nikita Taranov).
  • __attribute__((always_inline))convertDecimalsImpl に追加しました。 #79999 (Konstantin Bogdanov).
  • input_format_parquet_bloom_filter_push_down をデフォルトで true に設定しました。また、設定変更履歴の誤りを修正しました。 #80058 (Alexey Milovidov). #* ログ記録をデフォルトで非同期にしました。<logger> セクションで <async>false</async> を設定することで無効化できます。 #80125 (Raúl Marín).
  • 2 レベルのハッシュテーブル使用時におけるメモリ再利用効率を改善し、ページフォールトを削減しました。 #80245 (Jiebin Sun).
  • QueryConditionCache において不要な更新を避け、ロック競合を削減しました。 #80247 (Jiebin Sun).
  • 並列ハッシュ結合に役立つ可能性がある、concatenateBlocks の小規模な最適化。#80328李扬)。
  • 主キー範囲からマーク範囲を選択する際、主キーが関数でラップされていると二分探索は使用できませんでした。この PR ではこの制限を緩和し、主キーが常に単調な関数チェーンでラップされている場合、または RPN に常に真となる要素が含まれている場合でも、二分探索を適用できるようにしました。この PR は #45536 をクローズします。 #80597 (zoomxi)。
  • Kafka エンジンのシャットダウン速度を改善しました(複数の Kafka テーブルがある場合に発生していた追加の 3 秒の遅延を削除)。 #80796 (Azat Khuzhin).
  • 非同期挿入のメモリ使用量を削減し、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).
  • オブジェクトストレージ用クラスターテーブル関数(例: s3Cluster)は、キャッシュ局所性を向上させるため、一貫性ハッシュに基づいて読み取り用のファイルをレプリカに割り当てるようになりました。#77326Andrej Hoos)。
  • AuthenticationRequired エラー発生後に S3 認証情報を再取得するようにしました。 #77353 (Vitaly Baranov).
  • ビルダーを利用して、一部の HTTP バッファにプロキシ設定を埋め込めるようにしました。 #77693 (Arthur Passos).
  • system.asynchronous_metrics に辞書メトリクスを追加しました。DictionaryMaxUpdateDelay - 辞書更新の最大遅延時間(秒)。DictionaryTotalFailedUpdates - すべての辞書で、最後の正常な読み込み以降に発生したエラーの総数。 #78175 (Vlad).
  • 右側の引数がゼロの場合に NULL を返す関数 divideOrNull, moduloOrNull, intDivOrNull, positiveModuloOrNull を追加しました。 #78276 (kevinyhzou).
  • isIPAddressInRange 関数を String、IPv4、IPv6、Nullable(String)、Nullable(IPv4)、Nullable(IPv6) データ型にも対応させました。 #78364 (YjyJeff).
  • PostgreSQL エンジンの接続プーラー設定を動的に変更可能にしました。 #78414 (Samay Sharma).
  • 通常のプロジェクションで _part_offset を指定できるようにしました。これはプロジェクションインデックスを構築するための最初のステップです。#58224 と併用でき、https://github.com/ClickHouse/ClickHouse/pull/63207 の改善にも貢献します。#78429Amos Bird)。
  • 分散クエリにおけるシャーディングキーの最適化を強化しました。 #78452 (fhw12345).
  • system.named_collections に新しいカラム(create_querysource)を追加しました。 #78179 をクローズしました。 #78582MikhailBurdukov)。
  • システムテーブル system.query_condition_cache にフィールド condition を追加しました。このフィールドには、そのハッシュ値がクエリ条件キャッシュのキーとして使用されるプレーンテキストの条件が保存されます。 #78671 (Robert Schulze).
  • ClickHouse Keeper を使用して、StorageKafka2 向けに Kafka のリバランスに類似したロジックを実装します。各レプリカでは、恒久ロックと一時ロックという 2 種類のパーティションロックをサポートします。レプリカは可能な限り長く恒久ロックを保持しようとしますが、任意の時点でレプリカ上の恒久ロックの数は all_topic_partitions / active_replicas_count(ここで all_topic_partitions はすべてのパーティション数、active_replicas_count はアクティブなレプリカ数を表します)を超えません。もしそれより多くなった場合、レプリカはいくつかのパーティションを解放します。いくつかのパーティションは、レプリカによって一時的に保持されます。レプリカ上の一時ロックの最大数は、他のレプリカが一部のパーティションを恒久ロックとして取得できるように、動的に変化します。一時ロックを更新する際には、レプリカはそれらをすべて解放し、再度別のパーティションの取得を試みます。#78726Daria Fomina)。
  • Kafka テーブルエンジンに、SASL 設定および認証情報用のテーブル設定を追加しました。これにより、設定ファイルや名前付きコレクションを使用することなく、CREATE TABLE ステートメント内で直接、Kafka および Kafka 互換システムに対する SASL ベースの認証を設定できるようになります。 #78810 (Christoph Wurm)。
  • 破損したテーブルを保存するために作成された可能性のあるデータベースに関する警告を追加しました。 #78841 (János Benjamin Antal).
  • BFloat16 列に対してベクトル類似インデックスを作成できるようになりました。 #78850 (Robert Schulze).
  • ベストエフォートの DateTime64 パースで、小数部を含む Unix タイムスタンプをサポートします。 #78908 (Pavel Kruglov)。
  • DeltaLake ストレージの delta-kernel 実装において columnMappingMode.name を修正し、スキーマ進化に関するテストを追加しました。 #78921 (Kseniia Sumarokova)。
  • 値の変換を改善し、Values フォーマットでの Variant 列への挿入処理を改善しました。 #78923 (Pavel Kruglov).
  • S3Queue エンジンに _time 仮想カラムを追加しました。 #78926 (Anton Ivashkin).
  • tokens 関数は拡張され、追加の tokenizer 引数および tokenizer 固有の引数を受け取れるようになりました。 #79001 (Elmi Ahmadov)。
  • SHOW CLUSTER ステートメントは、引数内のマクロ(存在する場合)を展開するようになりました。 #79006 (arf42)。
  • ハッシュ関数で、配列、タプル、マップ内の NULL がサポートされるようになりました(issues #48365 および #48623)。#79008Michael 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 と同様に削除しました。#79113Nikita Mikhaylov)。
  • Parquet インデックスのプルーニングをプロファイルするために、ProfileEvents の ParquetReadRowGroups および ParquetPrunedRowGroups を追加。 #79180 (flynn)。
  • Azure Blob Storage 上のプレーンディスクについて、system.tables で報告されるデータパスにコンテナのプレフィックスを追加し、S3 および GCP と一貫した報告になるようにしました。 #79241 (Julia Kartseva).
  • クラスタ上のデータベースに対する ALTER をサポート。 #79242 (Tuan Pham Anh).
  • QueryMetricLog の統計収集で取りこぼした実行は、ログが現在時刻に追いつくまでに長い時間がかかってしまうため、明示的にスキップするようにしました。 #79257 (Mikhail Artemenko).
  • 設定 lightweight_deletes_sync = 0apply_mutations_on_fly = 1 の場合に、オンザフライで軽量削除を適用できる機能を追加しました。 #79281 (Anton Popov)。
  • すべての行が削除されるパーツに対する ALTER ... DELETE ミューテーションを最適化しました。これにより、そのような場合にはミューテーションを実行せずに、元のパーツの代わりに空のパーツが作成されるようになりました。 #79307 (Anton Popov).
  • CHColumnToArrowColumn に対するいくつかの細かな最適化。 #79308 (Bharat Nallan)。
  • 設定 allow_archive_path_syntax は誤って experimental としてマークされていました。experimental な設定がデフォルトで有効になってしまうのを防ぐテストを追加しました。 #79320 (Alexey Milovidov).
  • ページキャッシュ設定をクエリ単位で設定可能にしました。これは、高速な実験や、高スループットかつ低レイテンシーなクエリ向けにきめ細かくチューニングできるようにするために必要です。 #79337 (Alexey Milovidov).
  • 64-bit ハッシュの典型的な値のように見える数値に対しては、pretty フォーマットで number tips を出力しないようにしました。これにより #79334 がクローズされます。 #79338 (Alexey Milovidov).
  • ターミナルに Pretty フォーマットでデータが表示されており、後続のブロックも同じ列幅を持つ場合は、カーソルを上に移動して前のブロックに「貼り付け」、前のブロックの続きとして表示できるようになりました。これにより #79333 が解決されました。この機能は新しい設定 output_format_pretty_glue_chunks によって制御されます。#79339Alexey Milovidov)。
  • 高度なダッシュボード上のグラフの色は、対応するクエリのハッシュから計算されます。これにより、ダッシュボードをスクロールする際にグラフを識別・見つけやすくなります。 #79341 (Alexey Milovidov)。
  • 非同期メトリクス FilesystemCacheCapacity を追加しました。cache 仮想ファイルシステムの合計容量を表し、グローバルインフラストラクチャの監視に有用です。 #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 BLOB ストレージから BLOB を一覧取得中に発生し得る無限ループを修正しました。 #79425 (Alexander Gololobov).
  • 現在、ClickHouse ではクエリパラメータとして param_<name>(アンダースコア)に加えて param-<name>(ハイフン)も受け付けるようになりました。これにより、#63093 が解決されました。#79429Engel Danila)。
  • ローカルからリモートの S3 へチェックサムを有効にしてデータをコピーする際の帯域幅割引に関する詳細な警告メッセージを追加。 #79464 (VicoWu).
  • clickhouse-benchmark では、再接続の動作に応じて 0、1、または N を値として指定できるように、reconnect オプションを再構成しました。 #79465 (Sachin Kumar Singh)。
  • input_format_max_block_size_bytes 設定を追加し、入力フォーマットで作成されるブロックのサイズをバイト単位で制限できるようにしました。これにより、各行に大きな値が含まれている場合のデータインポート時のメモリ使用量の増加を抑えるのに役立ちます。 #79495 (Pavel Kruglov).
  • sparseGrams の速度とメモリ使用量を改善しました。 #79517 (Konstantin Vedernikov)。
  • 可能な場合には、Compact パートへの挿入時にブロックの不要なコピーを行わないようにしました。 #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 をクローズしました。#79600Dmitry Novik)。
  • 以前は input_format_parquet_max_block_size = 0 の場合に ClickHouse がハングしてしまう問題がありましたが、この挙動は修正されました。これにより #79394 がクローズされます。#79601abashkeev)。
  • 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#79836Andrei 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 より前のものを含むクラスタがある場合は、この設定をオフにすることを検討してください。#79842pufit)。
  • ASTSelectWithUnionQuery::clone() メソッドの実装で、is_normalized フィールドも考慮されるようになりました。これは #77569 の解決に役立つ可能性があります。#79909Nikita Mikhaylov)。
  • 簡単なケースでは、射影リスト内の相関サブクエリをサポートしました。 #79925 (Dmitry Novik).
  • EXCEPT 演算子を使用する一部のクエリにおけるフォーマットの不整合を修正しました。EXCEPT 演算子の左辺が * で終わる場合、フォーマット後のクエリから括弧が失われ、その結果 EXCEPT 修飾子付きの * としてパースされてしまいます。これらのクエリはファザーによって検出されたものであり、実際の利用環境で見つかる可能性は低いです。これにより #79950 がクローズされました。#79952Alexey Milovidov)。
  • 任意の種類の http_handlershttp_response_headers を追加できるようにしました。 #79975 (Andrey Zvonov).
  • variant のデシリアライズ順序のキャッシュを利用することで、JSON 型のパースをわずかに改善しました。 #79984 (Pavel Kruglov).
  • 適用可能な場合は GLOBAL [NOT] IN 述語を PREWHERE 句に移動できるようにしました。 #79996 (Eduard Karacharov)。
  • s3_slow_all_threads_after_network_error 設定を追加。 #80035 (Vitaly Baranov).
  • 選択されたパーツをマージする際のログレベルが誤っており、Information になっていました。 #80061 をクローズ。 #80062Alexey Milovidov)。
  • 関数 reverse が Tuple データ型をサポートしました。#80053 をクローズしました。#80083flynn)。
  • enble_url_encoding 設定のデフォルト値が False に変更されました。 #80088 (Shankar Iyer).
  • この小さなパッチは、system.zookeeper テーブルから auxiliary_zookeepers のデータを取得できるようにし、#75817 を解決します。 #80146Nikolay Govorov)。
  • ベクトル類似度インデックスを使用したベクトル検索機能は、従来の実験的ステータスからベータ版になりました。 #80164 (Robert Schulze).
  • サーバーの TCP ソケットに関する非同期メトリクスを追加しました。これによりオブザーバビリティが向上します。#80187 をクローズしました。#80188Alexey Milovidov)。
  • 関数 tokens に、トークナイザーとして string のサポートが追加されました。 #80195 (Robert Schulze).
  • Parallel replicas: すべての読み取りタスクが他のレプリカに割り当て済みの場合、未使用の低速レプリカを待機しないようにしました。 #80199 (Igor Nikonov).
  • simpleAggregateFunctionanylast_respect_nullsany_respect_nulls をサポートするようになりました。 #80219 (Diskein).
  • レプリケーテッドデータベースに対して不要な adjustCreateQueryForBackup() 呼び出しを削除しました。 #80282 (Vitaly Baranov). #* clickhouse-local で、-- --config.value='abc' のように -- の後に続く追加オプションを、等号(=)なしでも指定できるようにしました。 #80292 をクローズ。 #80293 (Alexey Milovidov).
  • SHOW ... LIKE クエリでメタ文字をハイライトするようにしました。これにより #80275 がクローズされます。#80297Alexey Milovidov)。
  • Time / Time64 間の比較のサポートを追加。#80327Yarik Briukhovetskyi)。
  • 事前の DISTINCT ステップに対する EXPLAIN プランの説明を修正。 #80330 (UnamedRus).
  • ODBC/JDBC で名前付きコレクションを使用できるようになりました。 #80334 (Andrey Zvonov).
  • 複数のプロジェクションを用いたフィルタリングをサポートし、パートレベルのフィルタリングで複数のプロジェクションを使用できるようにしました。これは #55525 への対応です。これは、#78429 に続く、プロジェクションインデックスを実装するための第 2 段階です。#80343Amos Bird)。
  • 読み取り専用ディスクおよび故障ディスクの数に関するメトリクス。DiskLocalCheckThread が開始されたときにログへ記録される指標。#80391VicoWu)。
  • s3_plain_rewritable ストレージでのプロジェクションサポートを実装しました。以前のバージョンでは、プロジェクションを参照する S3 内のメタデータオブジェクトは、移動しても更新されませんでした。#70258 をクローズしました。#80393Sav)。
  • Parallel replicas では専用の接続タイムアウトを使用するようになりました。parallel_replicas_connect_timeout_ms 設定を参照してください。以前は、connect_timeout_with_failover_ms / connect_timeout_with_failover_secure_ms 設定が parallel replicas クエリの接続タイムアウト値として使用されていました(デフォルトでは 1 秒)。#80421Igor Nikonov)。
  • SYSTEM UNFREEZE コマンドは、読み取り専用ディスクおよび一度きり書き込み可能なディスク上のパーツを検索しようとしなくなりました。これにより #80430 が解決されます。#80432Alexey Milovidov)。
  • マージ済みパーツに関するメッセージのログレベルを INFO から TRACE に変更しました。 #80476 (Hans Krutzer).
  • Dynamic と JSON に対するフラット化シリアル化を Native フォーマットで実装しました。これにより、Dynamic の shared variant や JSON の shared data といった特別な構造を使用せずに、Dynamic および JSON データをシリアル化/デシリアル化できます。このシリアル化方式は、output_format_native_use_flattened_dynamic_and_json_serialization を設定することで有効化できます。また、この方式は、さまざまな言語で実装されたクライアントにおける TCP プロトコルでの Dynamic および JSON のサポートを容易にするために利用できます。 #80499 (Pavel Kruglov).
  • Iceberg テーブルのパーティションプルーニングにおけるデフォルト動作を変更しました。 #80583 (Melvyn Peignon).
  • インデックス検索アルゴリズムの可観測性向上のため、2 つの新しい ProfileEvents IndexBinarySearchAlgorithmIndexGenericExclusionSearchAlgorithm を追加しました。#80679Pablo 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 ストレージはサポートされていませんでした。これは、セグメント ID がディスク上の (.gin_sid) ファイルの読み書きによってその場で更新されていたためです。packed ストレージでは、コミット前のファイルから値を読み出すことがサポートされておらず、そのため問題が発生していました。#80852Elmi Ahmadov)。
  • indexes = 1 を指定して EXPLAIN を使用する場合、出力に検索アルゴリズムのセクションを追加しました。ここには「binary search」または「generic exclusion search」のいずれかが表示されるようになりました。 #80881 (Pablo Marcos)。
  • 2024年初め、新しい analyzer がデフォルトで有効化されていなかったため、MySQL handler では prefer_column_name_to_alias が True にハードコードされていました。現在では、このハードコードは解除されています。#80916Yarik Briukhovetskyi)。
  • system.iceberg_history は、glue や iceberg rest といったカタログデータベースの履歴を表示するようになりました。また、一貫性を保つために、system.iceberg_history 内の table_name および database_name カラムを、それぞれ table および database にリネームしました。 #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 アプリで手動でログ出力された例外を logged としてマークし、二重にログが記録されないようにしました。 #81271 (Miсhael Stetsyuk).
  • use_skip_indexes_if_finaluse_skip_indexes_if_final_exact_mode の設定値のデフォルトは、現在 True になりました。FINAL 句を含むクエリは、(該当する場合には)スキップインデックスを使用してグラニュールを絞り込み、さらに一致するプライマリキー範囲に対応する追加のグラニュールも読み取るようになりました。以前と同様の近似的(厳密ではない)結果を必要とするユーザーは、慎重に評価したうえで use_skip_indexes_if_final_exact_modeFALSE に設定できます。 #81331 (Shankar Iyer). #* Web UI で複数のクエリがある場合、カーソル位置のクエリが実行されるようになりました。#80977 の継続対応です。 #81354 (Alexey Milovidov).
  • このPRでは、変換関数の単調性チェックにおける is_strict の実装上の問題に対処します。現在、toFloat64(UInt32) や toDate(UInt8) など一部の変換関数が、本来は true を返すべきにもかかわらず、誤って is_strict として false を返しています。#81359 (zoomxi). #* ジャーナル付きファイルシステムでは、mkdir はディスクに永続化されるファイルシステムのジャーナルに書き込まれます。ディスクが遅い場合、これには長い時間がかかる可能性があります。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). #* clickhouse/ch エイリアスは、--host または --port が指定されている場合、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)。
  • Analyzer: JOIN における列型昇格後の列プロジェクションの名前を修正。#63345 をクローズ。#63519Dmitry Novik)。
  • マテリアライズドビューが、(例えば、それにストリーミングする 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).
  • SELECT クエリの書き換えが、analyzer 有効時の VIEW 作成時に正しく行われない問題を修正。closes #75956. #76356 (Dmitry Novik).
  • allow_push_predicate_ast_for_distributed_subqueries が有効な場合の、プッシュダウンされた述語における CTE の扱いを修正。 #75647#79672 を修正。 #77316Dmitry Novik)。
  • サーバーからの async_insert の適用(apply_settings_from_server 経由)を修正しました(以前はクライアント側で Unknown packet 11 from server エラーの原因となっていました)。 #77578 (Azat Khuzhin).
  • レプリケートされたデータベースにおいて、新しく追加されたレプリカで refresh 可能なマテリアライズドビューが動作しない問題を修正しました。 #77774 (Michael Kolupaev).
  • バックアップを破損させていたリフレッシュ可能なマテリアライズドビューを修正しました。 #77893 (Michael Kolupaev).
  • transform の古い発火ロジックにあった論理エラーを修正。 #78247 (Yarik Briukhovetskyi).
  • SYSTEM SYNC REPLICA LIGHTWEIGHT 'foo' が、指定したレプリカが存在しない場合でも成功を報告していた問題を修正しました。コマンドは、同期を試行する前に Keeper 内にレプリカが存在するかを正しく検証するようになりました。 #78405 (Jayme Bird).
  • analyzer によってセカンダリインデックスが適用されないケースがいくつか存在していた問題を修正しました。#65607#69373 を解決します。#78485Nikolai Kochetov)。
  • HTTP プロトコルで圧縮が有効な場合に、プロファイルイベント(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).
  • ALIAS 列を含む JOIN ... USING を使用した際に LOGICAL_ERROR を発生させてしまっていた analyzer を修正し、代わりに適切なエラーを返すようにしました。 #78618 (Yakov Olkhovskiy).
  • アナライザーを修正: SELECT 句に位置指定引数が含まれている場合に CREATE VIEW ... ON CLUSTER が失敗する問題を修正しました。 #78663 (Yakov Olkhovskiy).
  • SELECT にスカラーサブクエリが含まれている場合に、スキーマ推論を行うテーブル関数宛ての INSERT SELECT 実行時に発生する Block structure mismatch エラーを修正。 #78677 (Pervakov Grigorii).
  • アナライザーを修正: Distributed テーブルに対する SELECT クエリで prefer_global_in_and_join=1 が設定されている場合、in 関数は globalIn に置き換えられるようにしました。 #78749 (Yakov Olkhovskiy)。
  • MongoDB エンジンを使用するテーブル、または mongodb テーブル関数から読み取る SELECT クエリのいくつかのパターンを修正しました。修正対象には、WHERE 句内で定数値が暗黙的に型変換されるクエリ(例: WHERE datetime = '2025-03-10 00:00:00')や、LIMITGROUP BY を含むクエリが含まれます。以前は、これらのクエリが誤った結果を返す可能性がありました。#78777Anton Popov)。
  • 異なる JSON 型間の変換処理を修正しました。現在は、いったん String 型に変換してから元の型に戻す単純なキャストとして実行されます。効率は低下しますが、結果は 100% 正確です。 #78807 (Pavel Kruglov)。
  • Dynamic 型から Interval 型への変換時の論理エラーを修正。 #78813 (Pavel Kruglov).
  • JSON パースエラー時のカラムロールバックの問題を修正。 #78836 (Pavel Kruglov).
  • 定数のエイリアス列を使った JOIN で発生していた「bad cast」エラーを修正。 #78848 (Vladimir Cherkasov)。
  • マテリアライズドビューにおいて、ビューとターゲットテーブルで型が異なる列に対する PREWHERE を許可しないようにしました。 #78889 (Pavel Kruglov).
  • Variant 列の不正なバイナリデータをパースする際に発生する論理エラーを修正。 #78982 (Pavel Kruglov).
  • Parquet バッチサイズが 0 に設定されている場合に例外をスローするようにしました。以前は output_format_parquet_batch_size = 0 の場合、ClickHouse がハングしていましたが、この動作は修正されました。 #78991 (daryawessely).
  • コンパクトパーツにおける basic フォーマットでの variant 判別子のデシリアライズを修正しました。この問題は https://github.com/ClickHouse/ClickHouse/pull/55518 で導入されました。#79000Pavel Kruglov)。
  • complex_key_ssd_cache 型の辞書は、block_size および write_buffer_size パラメータの値として 0 または負の値を受け付けなくなりました(issue #78314)。#79028Elmi Ahmadov)。
  • SummingMergeTree で非集約列に Field を使用することは避けてください。SummingMergeTree で使用される Dynamic/Variant 型で予期しないエラーを引き起こす可能性があります。 #79051 (Pavel Kruglov).
  • analyzer において、ヘッダーが異なる Distributed 宛先テーブルを使用するマテリアライズドビューからの読み取りを修正しました。 #79059 (Pavel Kruglov)。
  • ON CLUSTER クエリの CONSTRAINT セクションで currentDatabase 関数が使用された、ごく限定的な状況で発生していたクラッシュを修正しました。Closes #78100. #79070 (pufit).
  • バッチ挿入が行われたテーブルで arrayUnion() が余分な(誤った)値を返していた不具合を修正しました。#75057#79079Peter Nguyen)。 #* OpenSSLInitializer におけるセグメンテーションフォルトの不具合を修正しました。#79092 をクローズ。#79097Konstantin Bogdanov)。
  • サーバー間クエリにおける外部ロールの受け渡しを修正。 #79099 (Andrey Zvonov).
  • S3 の ListObject に対して常に prefix を設定するようにしました。 #79114 (Azat Khuzhin)。
  • バッチ挿入を行うテーブルに対して、arrayUnion() が余分な(誤った)値を返していたバグを修正しました。 #79157 を修正。 #79158Peter Nguyen)。
  • フィルターのプッシュダウン後に発生する論理エラーを修正。 #79164 (Pervakov Grigorii).
  • SingleValueDataGeneric では Field の代わりに IColumn を使用するようにしました。これにより、Dynamic/Variant/JSON 型に対する argMax などの一部の集約関数で発生していた誤った戻り値の問題を修正しました。 #79166 (Pavel Kruglov).
  • http ベースのエンドポイントと組み合わせて使用した場合に delta-kernel 実装の DeltaLake table engine が正しく動作しない問題と、NOSIGN の問題を修正しました。#78124 をクローズ。#79203Kseniia Sumarokova)。
  • Keeper の修正: マルチリクエスト失敗時にウォッチがトリガーされないようにしました。 #79247 (Antonio Andelic).
  • IN で Dynamic 型および JSON 型の使用を禁止しました。現在の IN の実装では、これらを許可すると結果が不正確になる可能性があります。IN におけるこれらの型の適切なサポートは複雑であり、将来的に対応される可能性があります。#79282Pavel Kruglov)。
  • JSON 型のパース時における重複パスの検査処理を修正。 #79317 (Pavel Kruglov).
  • SecureStreamSocket の接続に関する問題を修正。 #79383 (Konstantin Bogdanov).
  • データを含む plain_rewritable ディスクのロード処理を修正。 #79439 (Julia Kartseva).
  • MergeTree の Wide パーツにおける動的サブカラム検出時のクラッシュを修正。 #79466 (Pavel Kruglov).
  • テーブル名の長さは初回の作成クエリに対してのみ検証します。後方互換性の問題を避けるため、2回目以降の作成では検証を行わないでください。 #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 設定の適用方法を修正し、資格情報が一致する場合にのみネイティブコピーを使用するよう更新して、#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).
  • autodiscovery クラスター向けのマクロを解決できるようにしました。 #79696 (Anton Ivashkin).
  • このカラムが相関付けられているかを確認する際に、カラムの由来するスコープが不明な場合に発生していた論理エラーを修正しました。#78183 を修正。#79451 を修正。#79727Dmitry Novik)。
  • ColumnConst と Analyzer を含む 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)。
  • 遅延マテリアライゼーションにおいて、プロジェクションまでクエリ実行に列が一切使用されない場合に発生する 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 を修正しました。#79942Nikolai Kochetov)。
  • azure_blob_storage オブジェクトストレージで readonly 設定が尊重されるようになりました。 #79954 (Julia Kartseva).
  • match(column, '^…') をバックスラッシュでエスケープされた文字と共に使用した際に発生していた、誤ったクエリ結果およびメモリ不足によるクラッシュを修正しました。 #79969 (filimonov).
  • データレイクに対する Hive パーティショニングを無効化。この変更は次の Issue を部分的に解決します: https://github.com/issues/assigned?issue=ClickHouse%7CClickHouse%7C79937#80005Daniil Ivanik)。
  • ラムダ式を含む Skip インデックスが適用されない問題を修正しました。インデックス定義内の高レベル関数がクエリ内のものと完全に一致する場合にも、Skip インデックスが正しく適用されるようにしました。 #80025 (Nikolai Kochetov).
  • UNION を含むマテリアライズドビューが新しいレプリカでも正しく動作するようにしました。 #80037 (Samay Sharma).
  • レプリケーションログからの ATTACH_PART コマンドを実行するレプリカでパーツをアタッチする際のメタデータバージョンを修正しました。 #80038 (Aleksei Filatov).
  • SQL 関数 parseDateTime のフォーマット指定子 %e は、これまではスペースでパディングされた値(例: 3)のみを受け付けていましたが、現在は 1 桁の日(例: 3)も認識するようになりました。これにより、MySQL と互換性のある動作になります。以前の動作を維持したい場合は、設定 parsedatetime_e_requires_space_padding = 1 を指定してください。(issue #78243)。#80057Robert 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).
  • Arrow 形式における LowCardinality(FixedString) の論理エラーを修正。 #80156 (Pavel Kruglov).
  • Merge エンジンでのサブカラムの読み取りを修正。 #80158 (Pavel Kruglov).
  • KeyCondition における数値型同士の比較に関するバグを修正しました。 #80207 (Yarik Briukhovetskyi)。
  • プロジェクションを持つテーブルに lazy materialization が適用された際に発生するエラー AMBIGUOUS_COLUMN_NAME を修正。 #80251 (Igor Nikonov).
  • 暗黙のプロジェクションを使用している場合に、LIKE 'ab_c%' のような文字列プレフィックスフィルタに対する誤った COUNT の最適化を修正しました。これにより、#80250 が修正されます。#80261Amos Bird)。
  • MongoDB ドキュメント内で、ネストされた数値フィールドが文字列として不適切にシリアライズされる問題を修正しました。MongoDB ドキュメントに対する最大ネスト深度の制限を削除しました。 #80289 (Kirill Nikiforov).
  • Replicated データベースでの RMT に対するメタデータチェックをより緩やかにしました。#80296 をクローズします。#80298Nikolay Degterinsky)。
  • PostgreSQL ストレージ向けの DateTime および DateTime64 のテキスト表現を修正。 #80301 (Yakov Olkhovskiy).
  • StripeLog テーブルでタイムゾーン付きの DateTime 型を使用できるようにしました。これにより #44120 が解決されました。#80304Alexey Milovidov)。
  • クエリプランステップが行数を変更する場合、非決定的関数を含む述語に対するフィルタープッシュダウンを無効化しました。#40273 を修正しました。#80329Nikolai Kochetov)。
  • サブカラムを含むプロジェクションで発生する可能性のあった論理エラーやクラッシュを修正しました。 #80333 (Pavel Kruglov).
  • ON 式が自明な等価条件でない場合に、logical JOIN ステップのフィルタープッシュダウン最適化によって発生する NOT_FOUND_COLUMN_IN_BLOCK エラーを修正。#79647 および #77848 を修正。#80360Nikolai Kochetov)。
  • パーティション化されたテーブルでキーを逆順に読み取る際に誤った結果が返る問題を修正しました。これにより #79987 が解決されました。 #80448 (Amos Bird)。
  • NULL を許容するキーを持ち、optimize_read_in_order が有効になっているテーブルで、誤ったソート順になる問題を修正しました。 #80515 (Pervakov Grigorii).
  • SYSTEM STOP REPLICATED VIEW によってビューを一時停止した場合に、Fixed Refreshable マテリアライズドビューの DROP がハングしてしまう問題を修正しました。 #80543 (Michael Kolupaev).
  • 分散クエリで定数タプルを使用した場合に発生する 'Cannot find column' エラーを修正しました。 #80596 (Yakov Olkhovskiy).
  • Distributed テーブルにおける join_use_nulls 使用時の shardNum 関数の不具合を修正しました。 #80612 (János Benjamin Antal).
  • Merge エンジンにおいて、一部のテーブルにのみ存在するカラムの読み取り時に誤った結果が返される問題を修正しました。 #80643 (Pavel Kruglov).
  • これで iceberg_history テーブル内のタイムスタンプは正しくなっているはずです。 #80711 (Melvyn Peignon).
  • オブジェクトストレージ用テーブル関数における、単一要素 enum のグロブ処理を修正。 #80716 (Konstantin Bogdanov)。
  • Tuple(Dynamic) と String を用いる比較関数において誤った結果型が返され、論理エラーを引き起こしていた問題を修正しました。#80728 (Pavel Kruglov).
  • Unity Catalog 向けに不足していたサポート対象データ型 timestamp_ntz を追加。#79535#79875 を修正。#80740alesapin)。
  • IN cte を使用する分散クエリで発生する THERE_IS_NO_COLUMN エラーを修正。#75032 を解決。#80757Nikolai Kochetov)。
  • 外部 ORDER BY でファイル数が過剰になる問題(メモリ使用量の過大化につながる)を修正。 #80777 (Azat Khuzhin). #* この PR は #80742 をクローズする可能性があります。 #80783 (zoomxi). #* get_member_id() が NULL から std::string を生成していたことが原因で発生していた Kafka のクラッシュを修正(この問題は、ブローカーへの接続に失敗した場合にのみ発生していた可能性が高い)。 #80793 (Azat Khuzhin).
  • Kafka エンジンをシャットダウンする前にコンシューマを正しく await するようにしました(シャットダウン後もアクティブなコンシューマが残存していると、さまざまなデバッグアサーションが発火したり、テーブルが drop / detach されたあとでもバックグラウンドでブローカーからデータを読み取ってしまう可能性があります)。 #80795 (Azat Khuzhin).
  • predicate-push-down 最適化が原因で発生する NOT_FOUND_COLUMN_IN_BLOCK を修正し、#80443 を解決。 #80834Nikolai Kochetov)。
  • USING 付き JOIN で使用されるテーブル関数において、アスタリスク(*)マッチャーの解決処理に関する論理エラーを修正しました。 #80894 (Vladimir Cherkasov).
  • Iceberg メタデータファイルキャッシュのメモリ計上を修正。 #80904 (Azat Khuzhin).
  • NULL を許容するパーティションキーで誤ったパーティション分割が行われる問題を修正しました。 #80913 (Pervakov Grigorii).
  • ソーステーブルがイニシエータ上に存在しない場合に、プッシュダウンされた述語(allow_push_predicate_ast_for_distributed_subqueries=1)を伴う分散クエリで発生する Table does not exist エラーを修正しました。#77281 の問題を解決します。#80915Nikolai Kochetov)。
  • 名前付きウィンドウを用いた入れ子になった関数の論理エラーを修正しました。 #80926 (Pervakov Grigorii).
  • Nullable 列および浮動小数点列の極値の処理を修正。 #80970 (Pervakov Grigorii).
  • system.tables からのクエリ実行時に発生しうるクラッシュを修正しました(特にメモリプレッシャー下で発生しやすい問題)。#80976 (Azat Khuzhin).
  • ファイル拡張子から圧縮方式を推論するファイルに対して、truncate を伴うアトミックな rename 操作を修正しました。 #80979 (Pablo Marcos). #* ErrorCodes::getName を修正しました。 #81032 (RinChanNOW).
  • Unity Catalog で、すべてのテーブルに対する権限がないとユーザーがテーブルを一覧表示できないバグを修正しました。現在はすべてのテーブルが正しく一覧表示され、アクセス制限されたテーブルから読み取ろうとすると例外がスローされます。 #81044 (alesapin)。
  • これにより、ClickHouse は SHOW TABLES クエリにおいて、データレイクカタログからのエラーや予期しない応答を無視するようになりました。#79725 を修正しました。 #81046alesapin)。
  • JSONExtract および JSON 型のパース処理で、整数値からの DateTime64 のパースを修正しました。 #81050 (Pavel Kruglov).
  • 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が使用された場合に、そのUDF名が2つのカラム used_executable_user_defined_functions または used_sql_user_defined_functions のいずれかに追加されるようにしました。#81101 (Kyamran)。
  • HTTP プロトコル経由でテキスト形式(JSONValues など)を用いた挿入時に、Enum フィールドが省略されていた場合に発生する Too large size ... passed to allocator エラーや、クラッシュが起こり得る問題を修正しました。 #81145 (Anton Popov).
  • Sparse カラムを含む INSERT ブロックが non-MT のマテリアライズドビューにプッシュされた場合に発生する LOGICAL_ERROR を修正。 #81161 (Azat Khuzhin).
  • クロスレプリケーション環境で distributed_product_mode_local=local を使用した際に発生する Unknown table expression identifier エラーを修正。 #81162 (Nikolai Kochetov).
  • フィルタリング後の Parquet ファイルの行数を誤ってキャッシュしていた問題を修正しました。 #81184 (Michael Kolupaev)。
  • 相対キャッシュパス使用時の fs キャッシュ max_size_to_total_space 設定を修正。#81237 (Kseniia Sumarokova).
  • Parquet フォーマットで const のタプルまたはマップを出力する際にクラッシュしていた clickhouse-local の問題を修正しました。 #81249 (Michael Kolupaev).
  • ネットワーク経由で受信した配列オフセットを検証するようにしました。 #81269 (Azat Khuzhin).
  • 空のテーブルを結合し、かつウィンドウ関数を使用するクエリにおけるコーナーケースを修正しました。このバグにより並列ストリーム数が際限なく増加し、その結果 OOM を引き起こしていました。 #81299 (Alexander Gololobov).
  • datalake の Cluster 関数(deltaLakeClustericebergCluster など)に対する修正: (1) 古い analyzer で Cluster 関数を使用した際に DataLakeConfiguration でセグメンテーションフォルトが発生する可能性を修正; (2) 重複していたデータレイクのメタデータ更新(余分なオブジェクトストレージへのリクエスト)を削除; (3) フォーマットが明示的に指定されていない場合のオブジェクトストレージでの冗長な一覧取得を修正(非 Cluster のデータレイクエンジンでは既に対応済み)。#81300Kseniia Sumarokova)。
  • force_restore_data フラグで失われた Keeper メタデータを復元できるようにしました。 #81324 (Raúl Marín).
  • delta-kernel におけるリージョンエラーを修正。これにより #79914 を解決。#81353Kseniia Sumarokova)。
  • divideOrNull に対する誤った JIT 処理を無効化しました。 #81370 (Raúl Marín).
  • MergeTree テーブルのパーティション列名が長い場合に発生する INSERT エラーを修正。 #81390 (hy123q).
  • 複数のマニフェストファイルの内容をメモリ上に保持しないようにしました。 #81470 (Daniil Ivanik).
  • バックグラウンドプールのシャットダウン中に発生する可能性のあったクラッシュを修正しました(background_.*pool_size)。#81473Azat 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 でないことを保証するバリデーションを追加しました。 #81693 (Bharat Nallan).
  • DROP VIEW クエリがハングしてしまう clickhouse-local の問題を修正しました。 #81705 (Bharat Nallan)。
  • 一部のケースでの StorageRedis の join を修正。 #81736 (Pervakov Grigorii).
  • 空の USING () を使用し、旧アナライザーが有効な場合に発生する ConcurrentHashJoin のクラッシュを修正。 #81754 (Nikita Taranov)。
  • Keeper の修正: ログに無効なエントリが存在する場合は、新しいログのコミットをブロックするようにしました。以前は、リーダーが一部のログを誤って適用してしまっても、フォロワーがダイジェストの不一致を検出して処理を中断するにもかかわらず、新しいログのコミットを継続していました。 #81780 (Antonio Andelic).