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

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 で、ファイルシステムキャッシュの動的リサイズを許可するかどうかを制御します。理由: 特定の環境(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 をゼロ以外の値に強制します。#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 です。#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 が解決されました。#71722Alexey Milovidov)。

  • EXPLAIN SYNTAX は新しいアナライザを使用するようになりました。クエリツリーから構築された抽象構文木 (AST) を返します。クエリツリーを AST に変換する前に実行されるパス数を制御するためのオプション query_tree_passes を追加しました。 #74536 (Vladimir Cherkasov). #* デフォルトでファイルシステムキャッシュに SLRU キャッシュポリシーを使用するようにしました。 #75072 (Kseniia Sumarokova).
  • VIEW へのデータプッシュロジックをリファクタリングしました。 #77309 (Sema Checherinda).
  • オブジェクトストレージクラスターテーブル関数(例:s3Cluster)は、キャッシュの局所性を高めるため、一貫性ハッシュに基づいて読み取り対象のファイルを各レプリカに割り当てるようになりました。 #77326Andrej Hoos)。
  • エラー AuthenticationRequired が発生した後に S3 認証情報を更新するようにしました。 #77353 (Vitaly Baranov).
  • ビルダーを用いて、一部の HTTP バッファにプロキシ設定を埋め込めるようにしました。 #77693 (Arthur Passos).
  • system.asynchronous_metrics に Dictionary メトリクスを追加しました。- DictionaryMaxUpdateDelay - Dictionary の更新における最大遅延時間(秒)。- DictionaryTotalFailedUpdates - 直近の正常な読み込み以降、すべての Dictionary で発生したエラーの合計数。#78175 (Vlad)。
  • 右側の引数がゼロの場合に NULL を返す divideOrNullmoduloOrNullintDivOrNullpositiveModuloOrNull 関数を追加。 #78276 (kevinyhzou)。
  • isIPAddressInRange 関数を String、IPv4、IPv6、Nullable(String)、Nullable(IPv4)、Nullable(IPv6) の各データ型にも対応させました。 #78364 (YjyJeff)。
  • PostgreSQL エンジンの接続プーラー設定を動的に変更可能にしました。 #78414 (Samay Sharma).
  • 通常の PROJECTION で _part_offset を指定可能にしました。これは PROJECTION 索引を構築するための最初のステップとなります。 #58224 と併用でき、https://github.com/ClickHouse/ClickHouse/pull/63207 の改善に役立ちます。 #78429 (Amos Bird)。
  • 分散クエリに対するシャーディングキーの最適化を改善しました。 #78452 (fhw12345).
  • system.named_collectionscreate_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 中の settings を、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 を設定することで、論理削除をオンザフライで適用できるようにしました。#79281Anton Popov)。
  • すべての行を削除する必要があるパーツに対する ALTER ... DELETE の mutation を最適化しました。このような場合、mutation を実行して元のパーツを処理するのではなく、元のパーツの代わりに空のパーツが作成されるようになりました。 #79307 (Anton Popov).
  • CHColumnToArrowColumn に対する細かな最適化をいくつか実施。 #79308 (Bharat Nallan).
  • allow_archive_path_syntax 設定は誤って experimental としてマークされていました。experimental な setting がデフォルトで有効にならないことを確認するテストを追加しました。 #79320 (Alexey Milovidov)。
  • ページキャッシュ設定をクエリ単位で調整可能にしました。これは、高スループットかつ低レイテンシーなクエリに対して、迅速な検証や細かなチューニングを行えるようにするためです。 #79337 (Alexey Milovidov).
  • ほとんどの 64 ビットハッシュのように見える数値については、Pretty 系フォーマットで数値のヒントを出力しないようにしました。これにより #79334 がクローズされました。#79338Alexey 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 &lt;name&gt; で、すべてのフィールドではなく重要なフィールドのみを選択するようにしました。 #79368 (Tuan Pham Anh).
  • DatabaseCatalog 用のストレージ設定を指定できるようになりました。 #79407 (Kseniia Sumarokova).
  • デルタカーネルでローカルストレージをサポートしました。 #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 がクローズされました。#79429 (Engel Danila)。 #* ファイルシステムキャッシュ用の設定 max_size_ratio_to_total_space を追加しました。#79460 (Kseniia Sumarokova)。
  • ローカルからリモート 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 パーツへの挿入時にブロックの不要な追加コピーを避けるようにしました。 #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_scriptsthrow_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)。
  • システムテーブル system.functions に、各関数が最初に導入された ClickHouse バージョンが表示されるようになりました。 #79839 (Robert Schulze).
  • access_control_improvements.enable_user_name_access_type SETTING を追加しました。この SETTING により、https://github.com/ClickHouse/ClickHouse/pull/72246 で導入されたユーザー/ロールに対するきめ細かな権限付与を有効化・無効化できます。レプリカが 25.1 より古いクラスタを使用している場合は、この SETTING を無効化することを検討してください。#79842pufit)。
  • ASTSelectWithUnionQuery::clone() メソッドの適切な実装において、is_normalized フィールドも考慮されるようになりました。これは #77569 の改善に役立つ可能性があります。#79909Nikita Mikhaylov)。
  • 単純なケースで、projection リスト内の相関サブクエリをサポートしました。 #79925 (Dmitry Novik).
  • EXCEPT 演算子を使用する一部のクエリにおける一貫性のないフォーマットを修正しました。EXCEPT 演算子の左辺が * で終わる場合、フォーマット後のクエリでは括弧が失われ、その結果、EXCEPT 修飾子付きの * としてパースされてしまいます。これらのクエリは fuzzer によって検出されたものであり、実際に利用される可能性は低いと考えられます。この変更により #79950 が解決されました。 #79952 (Alexey Milovidov)。
  • あらゆる種類の http_handlershttp_response_headers を追加できるようにしました。 #79975 (Andrey Zvonov).
  • variants のデシリアライズ順序をキャッシュすることで、JSON 型のパース処理をわずかに改善しました。 #79984 (Pavel Kruglov).
  • 該当する場合、GLOBAL [NOT] IN 述語を PREWHERE 句に移動可能にしました。#79996Eduard Karacharov)。
  • s3_slow_all_threads_after_network_error 設定を追加しました。 #80035 (Vitaly Baranov).
  • マージ対象として選択されたパーツに関するログレベルが誤って Information レベルになっていました。#80061 をクローズしました。#80062Alexey Milovidov)。
  • reverse 関数が Tuple データ型をサポートするようになりました。#80053 をクローズ。#80083 (flynn)。
  • enble_url_encoding のデフォルト値は False になりました。 #80088 (Shankar Iyer).
  • この小さなパッチにより、#75817 が解決され、system.zookeeper テーブルから auxiliary_zookeepers のデータを取得できるようになります。#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 が解決します。 #80297 (Alexey Milovidov)。 #* clickhouse-local で SQL UDF を永続化できるようにしました。以前に作成された関数は起動時に読み込まれます。これにより #80085 が解決します。 #80300 (Alexey Milovidov)。
  • Time 型と Time64 型の比較をサポート。 #80327 (Yarik Briukhovetskyi)。
  • 予備 DISTINCT ステップに対する EXPLAIN プランの説明を修正。 #80330 (UnamedRus).
  • ODBC/JDBC で名前付きコレクションを使用できるようにしました。 #80334 (Andrey Zvonov).
  • マルチ PROJECTION フィルタリングのサポートを有効化し、パートレベルのフィルタリングに複数の PROJECTION を使用できるようにしました。これにより #55525 が解決されます。これは、#78429 に続く、projection index を実装するための第 2 段階です。#80343Amos Bird)。
  • 読み取り専用ディスクおよび故障ディスクの数に関するメトリクス。DiskLocalCheckThread が開始されたタイミングでログに出力される指標。#80391 (VicoWu)。
  • s3_plain_rewritable ストレージでの PROJECTION サポートを実装しました。以前のバージョンでは、PROJECTION を参照する S3 上のメタデータオブジェクトが移動しても更新されませんでした。#70258 をクローズ。#80393Sav)。
  • Parallel replicas では別個の接続タイムアウトが使用されるようになりました。parallel_replicas_connect_timeout_ms 設定を参照してください。以前は、parallel replicas のクエリに対する接続タイムアウト値として connect_timeout_with_failover_ms および connect_timeout_with_failover_secure_ms 設定が使用されており、デフォルトは 1 秒でした。#80421Igor Nikonov)。
  • SYSTEM UNFREEZE コマンドは、読み取り専用ディスクおよび書き込み一回限りのディスク上のパーツを検索しません。これにより #80430 がクローズされました。#80432Alexey Milovidov)。
  • マージされたパーツに関するメッセージのログレベルを INFO から TRACE に変更しました。 #80476 (Hans Krutzer)。
  • Native フォーマットにおいて Dynamic と JSON 用のフラット化シリアル化を実装しました。これにより、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).
  • 索引検索アルゴリズムのオブザーバビリティ向上のために、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 カラムを追加。#80849Kseniia Sumarokova)。
  • これまで、packed ストレージは全文索引には対応していませんでした。これは、セグメント ID がディスク上の (.gin_sid) ファイルを読み書きすることでオンザフライに更新されていたためです。packed ストレージでは、未コミットのファイルから値を読み取ることがサポートされておらず、これが問題の原因となっていました。 #80852 (Elmi Ahmadov).
  • indexes = 1 を指定して EXPLAIN を使用した場合、その出力に検索アルゴリズムのセクションが含まれるようになりました。そこには「binary search」または「generic exclusion search」のいずれかが表示されます。 #80881 (Pablo Marcos)。
  • 2024年初め、prefer_column_name_to_alias は新しいアナライザーがデフォルトで有効化されていなかったため、MySQL ハンドラー向けに True としてハードコードされていました。現在は、ハードコードされなくなりました。 #80916 (Yarik Briukhovetskyi).
  • system.iceberg_history は、glue や iceberg rest のようなカタログデータベースの履歴も表示するようになりました。また、一貫性のため、system.iceberg_history 内の table_name および database_name カラムは、それぞれ tabledatabase に名前が変更されました。#80975 (alesapin)
  • merge テーブル関数で read-only モードを許可し、これを使用する際に 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).
  • クライアント、ローカルサーバー、Keeper クライアントおよび Disks アプリで手動で記録された例外を「ログ済み」としてマークし、二重にログが記録されないようにしました。 #81271 (Miсhael Stetsyuk).
  • use_skip_indexes_if_finaluse_skip_indexes_if_final_exact_mode の設定は、デフォルト値が True になりました。FINAL 句を含むクエリは、(該当する場合)スキップインデックスを使用してグラニュールを絞り込み、さらに一致するプライマリキー範囲に対応する追加のグラニュールも読み取るようになりました。以前の近似的/非厳密な結果の動作が必要なユーザーは、慎重に評価したうえで use_skip_indexes_if_final_exact_modeFALSE に設定できます。#81331Shankar Iyer)。
  • このPRは、変換関数の単調性チェックにおける is_strict の実装に関する問題に対処します。現在、一部の変換関数(例: toFloat64(UInt32) や toDate(UInt8))は、本来は true を返すべきにもかかわらず、誤って is_strict を false として返しています。#81359 (zoomxi)。 #* ジャーナル付きファイルシステムでは、mkdir はディスクに永続化されるファイルシステムのジャーナルに書き込まれます。ディスクが遅い場合、これには時間がかかることがあります。したがって、reserve ロックのスコープ外に移動するのが妥当です。#81371 (Kseniia Sumarokova)。
  • KeyCondition が連続範囲にマッチするかどうかを確認する際、キーが非厳密な(non-strict)関数チェーンでラップされている場合は、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).