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

# changelog de la v25.10 pour Cloud

> Changelog de la v25.10

<div id="backward-incompatible-changes">
  ## Changements incompatibles avec les versions antérieures
</div>

<div id="data-format-and-schema-changes">
  ### Modifications du format des données et du schéma
</div>

* La valeur par défaut du paramètre `schema_inference_make_columns_nullable` a été modifiée pour tenir compte des informations de `Nullable` des colonnes présentes dans les métadonnées Parquet/ORC/Arrow, au lieu de tout rendre Nullable. Aucun changement pour les formats texte. [#71499](https://github.com/ClickHouse/ClickHouse/pull/71499) ([Michael Kolupaev](https://github.com/al13n321)).

<div id="query-and-function-changes">
  ### Modifications des requêtes et des fonctions
</div>

* Le cache de résultats de requête ignore désormais le paramètre `log_comment`, de sorte qu’une modification du seul `log_comment` d’une requête ne provoque plus de cache miss. Il est possible que certains utilisateurs segmentaient volontairement leur cache en faisant varier `log_comment`. Cette modification change ce comportement et n’est donc pas rétrocompatible. Veuillez utiliser le paramètre `query_cache_tag` à cette fin. [#79878](https://github.com/ClickHouse/ClickHouse/pull/79878) ([filimonov](https://github.com/filimonov)).
* Dans les versions précédentes, les requêtes contenant des fonctions de table portant le même nom que les fonctions d’implémentation des opérateurs étaient formatées de manière incohérente. Closes [#81601](https://github.com/ClickHouse/ClickHouse/issues/81601). Closes [#81977](https://github.com/ClickHouse/ClickHouse/issues/81977). Closes [#82834](https://github.com/ClickHouse/ClickHouse/issues/82834). Closes [#82835](https://github.com/ClickHouse/ClickHouse/issues/82835). Les requêtes EXPLAIN SYNTAX ne formateront pas les opérateurs ; ce nouveau comportement reflète mieux l’objectif de l’explication de la syntaxe. `clickhouse-format`, `formatQuery` et les outils similaires ne formateront pas les fonctions comme des opérateurs si la requête les contenait sous forme fonctionnelle. [#82825](https://github.com/ClickHouse/ClickHouse/pull/82825) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Désactivation des opérations binaires dénuées de sens avec IPv4/IPv6 : l’addition / soustraction entre une IPv4/IPv6 et un type non entier est désactivée. Auparavant, les opérations avec des types flottants étaient autorisées, et certains autres types (comme DateTime) provoquaient des erreurs logiques. [#86336](https://github.com/ClickHouse/ClickHouse/pull/86336) ([Raúl Marín](https://github.com/Algunenano)).
* Les fonctions `searchAny` et `searchAll` ont été renommées en `hasAnyTokens` et `hasAllTokens` pour une meilleure cohérence avec la fonction existante `hasToken`. [#88109](https://github.com/ClickHouse/ClickHouse/pull/88109) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="data-type-changes">
  ### Changements de type de données
</div>

* Interdiction d'utiliser le type Dynamic dans les clés de JOIN. Cela peut entraîner des résultats inattendus lorsque le type Dynamic est comparé à un type non Dynamic. Il est préférable de convertir une colonne Dynamic vers le type requis. [#86358](https://github.com/ClickHouse/ClickHouse/pull/86358) ([Pavel Kruglov](https://github.com/Avogar)).

<div id="storage-and-index-changes">
  ### Changements liés au stockage et aux index
</div>

* Le paramètre `allow_dynamic_metadata_for_data_lakes` est désormais obsolète. Désormais, toutes les tables Iceberg tentent de récupérer le schéma de table le plus à jour depuis le stockage avant d'exécuter chaque requête. [#86366](https://github.com/ClickHouse/ClickHouse/pull/86366) ([Daniil Ivanik](https://github.com/divanik)).
* L'index de texte inversé a été entièrement repensé pour pouvoir passer à l'échelle sur des ensembles de données qui ne tiennent pas en RAM. [#86485](https://github.com/ClickHouse/ClickHouse/pull/86485) ([Anton Popov](https://github.com/CurtizJ)).
* Le paramètre serveur `storage_metadata_write_full_object_key` est désormais activé par défaut et ne peut plus être désactivé. [#87335](https://github.com/ClickHouse/ClickHouse/pull/87335) ([Sema Checherinda](https://github.com/CheSema)).
* Suppression de `cache_hits_threshold` du cache du système de fichiers. `cache_hits_threshold` a été ajouté avant l'introduction de la policy de cache SLRU, et il n'est pas nécessaire de prendre en charge les deux. [#88344](https://github.com/ClickHouse/ClickHouse/pull/88344) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="settings-and-configuration-changes">
  ### Modifications des paramètres et de la configuration
</div>

* Réduction de `replicated_deduplication_window_seconds` d'une semaine à une heure afin de stocker moins de znodes dans ZooKeeper lorsque le taux d'insertion est faible. [#87414](https://github.com/ClickHouse/ClickHouse/pull/87414) ([Sema Checherinda](https://github.com/CheSema)).
* Le paramètre `query_plan_use_new_logical_join_step` est renommé en `query_plan_use_logical_join_step`. [#87679](https://github.com/ClickHouse/ClickHouse/pull/87679) ([Vladimir Cherkasov](https://github.com/vdimir)).
* La nouvelle syntaxe permet au paramètre du tokenizer d'être plus expressif. [#87997](https://github.com/ClickHouse/ClickHouse/pull/87997) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Deux légères modifications du fonctionnement des paramètres `min_free_disk_ratio_to_perform_insert` et `min_free_disk_bytes_to_perform_insert` : utiliser les octets non réservés plutôt que les octets disponibles pour déterminer si une insertion doit être rejetée. Ce n'est probablement pas crucial si les réservations pour les fusions en arrière-plan et les mutations sont faibles par rapport aux seuils configurés, mais cela semble plus correct. - Ne pas appliquer ces paramètres aux tables système. L'idée est que nous voulons toujours que des tables comme `query_log` continuent d'être mises à jour. Cela aide beaucoup pour le débogage. Les données écrites dans les tables système sont généralement faibles par rapport aux données réelles, elles devraient donc pouvoir continuer beaucoup plus longtemps avec un seuil `min_free_disk_ratio_to_perform_insert` raisonnable. [#88468](https://github.com/ClickHouse/ClickHouse/pull/88468) ([c-end](https://github.com/c-end)).

<div id="keeper-changes">
  ### Changements de Keeper
</div>

* Activation du mode asynchrone pour la réplication interne de Keeper. Keeper conservera le même comportement qu’auparavant, avec d’éventuels gains de performances. Si vous effectuez une mise à jour depuis une version antérieure à 23.9, vous devez soit d’abord passer à la version 23.9+, puis à 25.10+, soit définir `keeper_server.coordination_settings.async_replication` sur 0 avant la mise à jour et l’activer une fois celle-ci terminée. [#88515](https://github.com/ClickHouse/ClickHouse/pull/88515) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="new-feature">
  ## Nouvelles fonctionnalités
</div>

<div id="functions">
  ### Fonctions
</div>

* Ajout de la fonction `naiveBayesClassifier` pour classer du texte à l’aide de Naive Bayes à partir de ngrams. [#78700](https://github.com/ClickHouse/ClickHouse/pull/78700) ([Nihal Z. Miaji](https://github.com/nihalzp)).
* Ajout de la fonction `arrayExcept`, qui soustrait un Array d’un autre en tant que Set. [#82368](https://github.com/ClickHouse/ClickHouse/pull/82368) ([Joanna Hulboj](https://github.com/jh0x)).
* Nouvelle fonction `conv` permettant de convertir des nombres entre différentes bases, avec prise en charge actuelle des bases de `2` à `36`. [#83058](https://github.com/ClickHouse/ClickHouse/pull/83058) ([hp](https://github.com/hp77-creator)).
* Ajout de la fonction d’agrégation `studentTTestOneSample`. [#85436](https://github.com/ClickHouse/ClickHouse/pull/85436) ([Dylan](https://github.com/DylanBlakemore)).
* Ajout de la fonction `isValidASCII` pour vérifier si une chaîne contient uniquement des caractères ASCII. Clôture de [#85377](https://github.com/ClickHouse/ClickHouse/issues/85377). [#85786](https://github.com/ClickHouse/ClickHouse/pull/85786) ([rajat mohan](https://github.com/rajatmohan22)).
* Fonctions d’agrégation `timeSeriesChangesToGrid` et `timeSeriesResetsToGrid`. Elles se comportent de manière similaire à `timeSeriesRateToGrid`, en acceptant des paramètres pour le timestamp de début, le timestamp de fin, le step et la window de rétrospection, ainsi que deux arguments pour les timestamps et les values, mais en exigeant au moins 1 sample par window au lieu de 2. Elles calculent `changes`/`resets` en PromQL, en comptant le nombre de fois où la valeur de l’échantillon change ou diminue dans la window spécifiée pour chaque timestamp de la grille temporelle définie par les paramètres. Le return type est Array(Nullable(Float64)). [#86010](https://github.com/ClickHouse/ClickHouse/pull/86010) ([Stephen Chi](https://github.com/stephchi0)).
* Fonction d’agrégation `quantilePrometheusHistogram`, qui accepte comme arguments les bornes supérieures et les valeurs cumulatives des buckets de l’histogramme, et effectue une linear interpolation entre les bornes supérieure et inférieure du bucket dans lequel se trouve la position du quantile. Elle se comporte de manière similaire à la fonction PromQL `histogram_quantile()` sur les histogrammes classiques. [#86294](https://github.com/ClickHouse/ClickHouse/pull/86294) ([Stephen Chi](https://github.com/stephchi0)).
* Ajout de variantes optimisées insensibles à la casse des fonctions `startsWith` et `endsWith` : `startsWithCaseInsensitive`, `endsWithCaseInsensitive`, `startsWithCaseInsensitiveUTF8` et `endsWithCaseInsensitiveUTF8`. [#87374](https://github.com/ClickHouse/ClickHouse/pull/87374) ([Guang Zhao](https://github.com/zheguang)).

<div id="system-tables">
  ### Tables système
</div>

* Ajout d’une nouvelle table système `database_replicas` contenant des informations sur les répliques de base de données. [#83408](https://github.com/ClickHouse/ClickHouse/pull/83408) ([Konstantin Morozov](https://github.com/k-morozov)).
* Ajout d’une nouvelle table `system.aggregated_zookeeper_log`. Cette table contient des statistiques (par exemple, le nombre d’opérations, la latence moyenne et les erreurs) sur les opérations ZooKeeper, regroupées par identifiant de session, chemin parent et type d’opération, et écrites périodiquement sur disque. [#85102](https://github.com/ClickHouse/ClickHouse/pull/85102) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Ajout de la table système `iceberg_metadata_log` pour récupérer les fichiers de métadonnées Iceberg lors des instructions SELECT. [#86152](https://github.com/ClickHouse/ClickHouse/pull/86152) ([scanhex12](https://github.com/scanhex12)).
* Ajout d’avertissements concernant le CPU et la mémoire dans la table `system.warnings`. [#86838](https://github.com/ClickHouse/ClickHouse/pull/86838) ([Bharat Nallan](https://github.com/bharatnc)).
* Table système pour les fichiers de métadonnées delta lake. [#87263](https://github.com/ClickHouse/ClickHouse/pull/87263) ([scanhex12](https://github.com/scanhex12)).

<div id="table-engines-and-storage">
  ### Moteurs de table et stockage
</div>

* Prise en charge du moteur de table Alias. [#76569](https://github.com/ClickHouse/ClickHouse/pull/76569) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Vous pouvez désormais utiliser NATS JetStream pour consommer des messages en définissant les nouveaux paramètres `nats_stream` et `nats_consumer` pour le moteur NATS. [#84799](https://github.com/ClickHouse/ClickHouse/pull/84799) ([Dmitry Novikov](https://github.com/dmitry-sles-novikov)).
* Tables Iceberg et delta lake avec configuration de disque. Cela permet de définir des tables utilisateur sur un disque existant. Ajout du paramètre `allowed_disks_for_table_engines`, qui permet d'utiliser des disques spécifiques pour Iceberg. Example : `CREATE TABLE test ENGINE = Iceberg('path/inside/disk') SETTING datalake_disk_name = '<some_user_disk>';` ### Entrée de documentation pour les changements visibles par les utilisateurs. [#86778](https://github.com/ClickHouse/ClickHouse/pull/86778) ([scanhex12](https://github.com/scanhex12)).
* Ajout d'un nouveau paramètre de table, `min_level_for_wide_part`, qui permet de spécifier le niveau minimum à partir duquel une part est créée au format wide part. [#88179](https://github.com/ClickHouse/ClickHouse/pull/88179) ([Christoph Wurm](https://github.com/cwurm)).

<div id="iceberg-and-data-lakes">
  ### Iceberg et les data lakes
</div>

* Ajout de la prise en charge des requêtes sur Apache Paimon dans ClickHouse. Cette intégration permettra aux utilisateurs de ClickHouse d’interagir directement avec le data lake de Paimon. [#84423](https://github.com/ClickHouse/ClickHouse/pull/84423) ([JIaQi](https://github.com/JiaQiTang98)).
* `ALTER UPDATE` pour le moteur de table Iceberg. [#86059](https://github.com/ClickHouse/ClickHouse/pull/86059) ([scanhex12](https://github.com/scanhex12)).

<div id="indexes-and-statistics">
  ### Index et statistiques
</div>

* Nouvel index de type bloom filter `sparse_gram`, utile pour rechercher de longues sous-chaînes. [#79985](https://github.com/ClickHouse/ClickHouse/pull/79985) ([scanhex12](https://github.com/scanhex12)).
* Ajout de la possibilité de créer automatiquement des statistiques sur toutes les colonnes adaptées des tables `MergeTree`. Ajout du paramètre de table `auto_statistics_types`, qui stocke les types de statistiques à créer, séparés par des virgules (par exemple, `auto_statistics_types = 'minmax, uniq, countmin'`). [#87241](https://github.com/ClickHouse/ClickHouse/pull/87241) ([Anton Popov](https://github.com/CurtizJ)).

<div id="sql-and-query-features">
  ### Fonctionnalités SQL et de requête
</div>

* Ajout de la prise en charge de la syntaxe `LIMIT BY ALL`. Comme `GROUP BY ALL` et `ORDER BY ALL`, `LIMIT BY ALL` se développe automatiquement pour utiliser toutes les expressions non agrégées de la clause SELECT comme clés de LIMIT BY. Par exemple, `SELECT id, name, count(*) FROM table GROUP BY id LIMIT 1 BY ALL` est équivalent à `SELECT id, name, count(*) FROM table GROUP BY id LIMIT 1 BY id, name`. Cette fonctionnalité simplifie les requêtes lorsque vous souhaitez appliquer LIMIT BY à toutes les colonnes non agrégées sélectionnées sans avoir à les énumérer explicitement. Ferme [#59152](https://github.com/ClickHouse/ClickHouse/issues/59152). [#84079](https://github.com/ClickHouse/ClickHouse/pull/84079) ([Surya Kant Ranjan](https://github.com/iit2009046)).
* Un nom de paramètre utilisé seul dans les paramètres de requête est désormais interprété comme étant égal à `1` (par ex. `SELECT ... SETTINGS use_query_cache` est équivalent à `use_query_cache = 1`). [#85800](https://github.com/ClickHouse/ClickHouse/pull/85800) ([thraeka](https://github.com/thraeka)).
* Permet aux utilisateurs de créer des vues temporaires avec la même syntaxe que les tables temporaires. [#86432](https://github.com/ClickHouse/ClickHouse/pull/86432) ([Aly Kafoury](https://github.com/AlyHKafoury)).
* Ajout de la prise en charge des valeurs négatives pour `LIMIT` et `OFFSET`. Ferme [#28913](https://github.com/ClickHouse/ClickHouse/issues/28913). [#88411](https://github.com/ClickHouse/ClickHouse/pull/88411) ([Nihal Z. Miaji](https://github.com/nihalzp)).

<div id="client-and-cli-features">
  ### Fonctionnalités du client et de la CLI
</div>

* Accès aux instances ClickHouse Cloud à l’aide des identifiants Cloud avec `--login`. [#82753](https://github.com/ClickHouse/ClickHouse/pull/82753) ([Krishna Mannem](https://github.com/kcmannem)).
* Ajout de l’option `--semicolons_inline` pour formater les requêtes afin que les points-virgules soient placés sur la dernière ligne plutôt que sur une nouvelle ligne. [#88018](https://github.com/ClickHouse/ClickHouse/pull/88018) ([Jan Rada](https://github.com/ZelvaMan)).

<div id="server-configuration-and-workload-management">
  ### Configuration du serveur et gestion des workloads
</div>

* Nouvelles options de configuration : `logger.startupLevel` et `logger.shutdownLevel` permettent de surcharger le niveau de journalisation lors du démarrage et de l’arrêt de ClickHouse, respectivement. [#85967](https://github.com/ClickHouse/ClickHouse/pull/85967) ([Lennard Eijsackers](https://github.com/Blokje5)).
* Ajoute un moyen de définir des définitions `WORKLOAD` et `RESOURCE` en SQL à l’aide de la section "resources\_and\_workloads" de la configuration du serveur. [#87430](https://github.com/ClickHouse/ClickHouse/pull/87430) ([Sergei Trifonov](https://github.com/serxa)).

<div id="system-commands">
  ### Commandes SYSTEM
</div>

* Ajouter la commande `SYSTEM RECONNECT ZOOKEEPER` pour forcer la déconnexion puis la reconnexion à ZooKeeper ([https://github.com/ClickHouse/ClickHouse/issues/87317](https://github.com/ClickHouse/ClickHouse/issues/87317)). [#87318](https://github.com/ClickHouse/ClickHouse/pull/87318) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Limiter le nombre de collections nommées au moyen des paramètres `max_named_collection_num_to_warn` et `max_named_collection_num_to_throw`. Ajouter la nouvelle métrique `NamedCollection` et l'erreur `TOO_MANY_NAMED_COLLECTIONS`. [#87343](https://github.com/ClickHouse/ClickHouse/pull/87343) ([Pablo Marcos](https://github.com/pamarcos)).

<div id="keeper">
  ### Keeper
</div>

* Ajout des variantes récursives des commandes `cp`-`cpr` et `mv`-`mvr` dans le client Keeper. [#88570](https://github.com/ClickHouse/ClickHouse/pull/88570) ([Mikhail Artemenko](https://github.com/Michicosun)).

<div id="experimental-features">
  ## Fonctionnalités expérimentales
</div>

* Les fonctions `searchAll` et `searchAny` fonctionnent désormais sur des colonnes ne comportant aucune colonne de texte. Dans ce cas, elles utilisent le tokenizer par défaut. [#87722](https://github.com/ClickHouse/ClickHouse/pull/87722) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Ajout du type de données `QBit`, qui stocke les vecteurs dans un format bit-sliced, et de la fonction `L2DistanceTransposed`, qui permet la recherche vectorielle approximative avec un compromis précision/vitesse contrôlé par un paramètre. [#87922](https://github.com/ClickHouse/ClickHouse/pull/87922) ([Raufs Dunamalijevs](https://github.com/rienath)).

<div id="performance-improvements">
  ## Améliorations des performances
</div>

<div id="query-execution-and-optimization">
  ### Exécution et optimisation des requêtes
</div>

* Amélioration des performances des requêtes grâce à la refonte de l’ordre et de l’intégration du Query Condition Cache (QCC) avec l’analyse des index. Le filtrage du QCC est désormais appliqué avant l’analyse de la clé primaire et des skip indexes, ce qui réduit les calculs d’index inutiles. L’analyse des index a été étendue pour prendre en charge plusieurs filtres de plage, et ses résultats de filtrage sont désormais réinjectés dans le QCC. Cela accélère considérablement les requêtes pour lesquelles l’analyse des index domine le temps d’exécution, en particulier celles qui s’appuient sur des skip indexes (par ex. des index vectoriels ou inversés). [#82380](https://github.com/ClickHouse/ClickHouse/pull/82380) ([Amos Bird](https://github.com/amosbird)).
* Une série de micro-optimisations pour accélérer les petites requêtes. [#83096](https://github.com/ClickHouse/ClickHouse/pull/83096) ([Raúl Marín](https://github.com/Algunenano)).
* Compression des logs et des profile events dans le protocole natif. Sur les clusters de plus de 100 répliques, les profile events non compressés représentent 1..10 MB/sec, et la barre de progression manque de réactivité sur les connexions Internet lentes. Cela corrige [#82533](https://github.com/ClickHouse/ClickHouse/issues/82533). [#83586](https://github.com/ClickHouse/ClickHouse/pull/83586) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Améliore l’optimisation de PREWHERE pour des conditions telles que `func(primary_column) = 'xx'` et `column in (xxx)`. [#85529](https://github.com/ClickHouse/ClickHouse/pull/85529) ([李扬](https://github.com/taiyang-li)).
* Évite un balayage complet de `system.tables` lors d’un filtrage sur `uuid` (peut être utile si vous ne disposez que de l’UUID provenant des logs ou du chemin ZooKeeper). [#88379](https://github.com/ClickHouse/ClickHouse/pull/88379) ([Azat Khuzhin](https://github.com/azat)).

<div id="join-optimizations">
  ### Optimisations des JOIN
</div>

* Introduit une logique de descente des prédicats disjonctifs de JOIN. Exemple : dans TPC-H Q7, pour une condition sur 2 tables n1 et n2 telle que `(n1.n_name = 'FRANCE' AND n2.n_name = 'GERMANY') OR (n1.n_name = 'GERMANY' AND n2.n_name = 'FRANCE')`, des filtres partiels distincts sont extraits pour chaque table : `n1.n_name = 'FRANCE' OR n1.n_name = 'GERMANY'` pour n1 et `n2.n_name = 'GERMANY' OR n2.n_name = 'FRANCE'` pour n2. [#84735](https://github.com/ClickHouse/ClickHouse/pull/84735) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Réécriture des JOIN implémentée : 1. Conversion de `LEFT ANY JOIN` et `RIGHT ANY JOIN` en JOIN `SEMI`/`ANTI` si la condition de filtre est toujours fausse pour les lignes correspondantes ou non correspondantes. Cette optimisation est contrôlée par un nouveau paramètre `query_plan_convert_any_join_to_semi_or_anti_join`. 2. Conversion de `FULL ALL JOIN` en JOIN `LEFT ALL` ou `RIGHT ALL` si la condition de filtre est toujours fausse pour les lignes non correspondantes d'un côté. [#86028](https://github.com/ClickHouse/ClickHouse/pull/86028) ([Dmitry Novik](https://github.com/novikd)).
* Les performances de `HashJoin` ont été légèrement optimisées dans le cas d'un JOIN `LEFT/RIGHT` comportant beaucoup de lignes sans correspondance. [#86312](https://github.com/ClickHouse/ClickHouse/pull/86312) ([Nikita Taranov](https://github.com/nickitat)).
* Le réordonnancement des JOIN utilise désormais des statistiques. La fonctionnalité peut être activée en définissant `allow_statistics_optimize = 1` et `query_plan_optimize_join_order_limit = 10`. [#86822](https://github.com/ClickHouse/ClickHouse/pull/86822) ([Han Fei](https://github.com/hanfei1991)).
* Le recalcul des statistiques de hash table à l'exécution est désormais ignoré pendant l'optimisation des JOIN. Nouveaux événements de profil ajoutés : `JoinOptimizeMicroseconds` et `QueryPlanOptimizeMicroseconds`. [#87683](https://github.com/ClickHouse/ClickHouse/pull/87683) ([Vladimir Cherkasov](https://github.com/vdimir)).
* `AddedColumns::appendFromBlock` a été intégré en ligne afin d'améliorer légèrement les performances des JOIN dans certains cas. [#88455](https://github.com/ClickHouse/ClickHouse/pull/88455) ([Nikita Taranov](https://github.com/nickitat)).

<div id="string-and-function-optimizations">
  ### Optimisations des chaînes de caractères et des fonctions
</div>

* Améliore les performances de la recherche de chaînes respectant la casse (opérations comme le filtrage, par exemple `WHERE URL LIKE '%google%'`) grâce à la bibliothèque [StringZilla](https://github.com/ashvardanian/StringZilla), en utilisant des instructions SIMD du CPU lorsqu'elles sont disponibles. [#84161](https://github.com/ClickHouse/ClickHouse/pull/84161) ([Raúl Marín](https://github.com/Algunenano)).
* Améliore les performances de `LIKE` avec un préfixe ou un suffixe grâce au nouveau paramètre par défaut `optimize_rewrite_like_perfect_affix`. [#85920](https://github.com/ClickHouse/ClickHouse/pull/85920) ([Guang Zhao](https://github.com/zheguang)).
* Améliore les performances des fonctions `tokens`, `hasAllTokens`, `hasAnyTokens`. [#88416](https://github.com/ClickHouse/ClickHouse/pull/88416) ([Anton Popov](https://github.com/CurtizJ)).

<div id="mergetree-and-storage-optimizations">
  ### Optimisations de MergeTree et du stockage
</div>

* Ajout d’une sérialisation optionnelle de la sous-colonne `.size` pour les colonnes String de premier niveau dans les tables MergeTree afin d’améliorer la Compression et de permettre un accès efficace aux sous-colonnes. Introduction de nouveaux paramètres MergeTree pour le contrôle de la version de sérialisation et l’optimisation des expressions pour les chaînes vides. [#82850](https://github.com/ClickHouse/ClickHouse/pull/82850) ([Amos Bird](https://github.com/amosbird)).
* Réduction de l’allocation et de la copie de mémoire lors d’un SELECT sur une table AggregatingMergeTree avec FINAL lorsque la table comporte des colonnes de type `SimpleAggregateFunction(anyLast)`. [#84428](https://github.com/ClickHouse/ClickHouse/pull/84428) ([Duc Canh Le](https://github.com/canhld94)).
* Amélioration des performances des vertical merges après l’exécution d’un lightweight delete. [#86169](https://github.com/ClickHouse/ClickHouse/pull/86169) ([Anton Popov](https://github.com/CurtizJ)).
* Amélioration des performances des requêtes rapides comportant de nombreuses parts dans la table (grâce à l’optimisation de `MarkRanges` en utilisant `devector` au lieu de `deque`). [#86933](https://github.com/ClickHouse/ClickHouse/pull/86933) ([Azat Khuzhin](https://github.com/azat)).
* Amélioration des performances de l’application des patch parts en mode join. [#87094](https://github.com/ClickHouse/ClickHouse/pull/87094) ([Anton Popov](https://github.com/CurtizJ)).
* Active l’enregistrement des marks dans le cache et évite les IO directs pour le lecteur MergeTreeLazy. [#87989](https://github.com/ClickHouse/ClickHouse/pull/87989) ([Nikita Taranov](https://github.com/nickitat)).
* Une requête SELECT avec la clause `FINAL` sur une table `ReplacingMergeTree` avec la colonne `is_deleted` s’exécute désormais plus rapidement grâce à une meilleure parallélisation issue de 2 optimisations existantes : 1) l’optimisation `do_not_merge_across_partitions_select_final` pour les partitions de la table qui n’ont qu’une seule `part` 2) le découpage des autres ranges sélectionnées de la table en `intersecting / non-intersecting`, et seules les ranges intersecting doivent passer par la transformation de fusion FINAL. [#88090](https://github.com/ClickHouse/ClickHouse/pull/88090) ([Shankar Iyer](https://github.com/shankar-iyer)).

<div id="aggregation-and-group-by-optimizations">
  ### Optimisations de l’agrégation et de GROUP BY
</div>

* Corrige une dégradation des performances due à une clé sérialisée volumineuse lors d’un regroupement sur plusieurs colonnes de type chaîne ou numérique. Clôture [https://github.com/ClickHouse/ClickHouse/pull/83884#issuecomment-3187972297](https://github.com/ClickHouse/ClickHouse/pull/83884#issuecomment-3187972297) cc @mkmkme . Fait suite à [https://github.com/ClickHouse/ClickHouse/pull/83884](https://github.com/ClickHouse/ClickHouse/pull/83884). [#85924](https://github.com/ClickHouse/ClickHouse/pull/85924) ([李扬](https://github.com/taiyang-li)).
* RadixSort : aide le compilateur à exploiter SIMD et le CPU à mieux effectuer le préchargement. Utilise un dispatch dynamique pour n’employer le préchargement logiciel qu’avec les CPU Intel. Poursuit le travail de @taiyang-li dans [https://github.com/ClickHouse/ClickHouse/pull/77029](https://github.com/ClickHouse/ClickHouse/pull/77029). [#86378](https://github.com/ClickHouse/ClickHouse/pull/86378) ([Raúl Marín](https://github.com/Algunenano)).

<div id="index-and-text-search-optimizations">
  ### Optimisations des index et de la recherche textuelle
</div>

* Amélioration des performances de création d’un index textuel pour les documents contenant majoritairement des tokens peu fréquents. [#87546](https://github.com/ClickHouse/ClickHouse/pull/87546) ([Anton Popov](https://github.com/CurtizJ)).

<div id="data-lake-optimizations">
  ### Optimisations du data lake
</div>

* Lecture dans l'ordre pour Iceberg. [#88454](https://github.com/ClickHouse/ClickHouse/pull/88454) ([scanhex12](https://github.com/scanhex12)).

<div id="internal-optimizations">
  ### Optimisations internes
</div>

* Améliorations apportées à DB::SharedMutex. [#87491](https://github.com/ClickHouse/ClickHouse/pull/87491) ([Raúl Marín](https://github.com/Algunenano)).
* Accélération du cas le plus courant du destructeur de Field. [#87631](https://github.com/ClickHouse/ClickHouse/pull/87631) ([Raúl Marín](https://github.com/Algunenano)).
* Réduction de l'impact lorsque les fail points ne sont pas utilisés. [#88196](https://github.com/ClickHouse/ClickHouse/pull/88196) ([Raúl Marín](https://github.com/Algunenano)).

<div id="improvements">
  ## Améliorations
</div>

<div id="query-optimization-and-execution">
  ### Optimisation et exécution des requêtes
</div>

* `mannWhitneyUTest` ne lève plus d’exception lorsque les deux échantillons contiennent uniquement des valeurs identiques. Renvoie désormais un résultat valide, conforme à SciPy. Cela clôture : [#79814](https://github.com/ClickHouse/ClickHouse/issues/79814). [#80009](https://github.com/ClickHouse/ClickHouse/pull/80009) ([DeanNeaht](https://github.com/DeanNeaht)).
* Ajout d’une optimisation expérimentale de l’ordre des jointures, capable de réordonner automatiquement les JOIN afin d’améliorer les performances (contrôlée par le paramètre `query_plan_optimize_join_order_limit`). Notez que l’optimisation de l’ordre des jointures offre actuellement une prise en charge limitée des statistiques et s’appuie principalement sur des estimations du nombre de lignes fournies par les moteurs de stockage ; une collecte de statistiques plus avancée ainsi qu’une meilleure estimation de la cardinalité seront ajoutées dans de futures versions. **Si vous rencontrez des problèmes avec des requêtes JOIN après une mise à niveau**, vous pouvez temporairement désactiver la nouvelle implémentation en définissant `SET query_plan_use_new_logical_join_step = 0` et signaler le problème pour investigation. **Note concernant la résolution des identifiants de la clause USING** : la résolution de la colonne coalescée de la clause `OUTER JOIN ... USING` a été modifiée pour gagner en cohérence : auparavant, lors de la sélection simultanée de la colonne USING et de colonnes qualifiées (`a, t1.a, t2.a`) dans un OUTER JOIN, la colonne USING était incorrectement résolue en `t1.a`, affichant 0/NULL pour les lignes de la table de droite sans correspondance à gauche. Désormais, les identifiants de la clause USING sont toujours résolus vers la colonne coalescée, tandis que les identifiants qualifiés sont résolus vers les colonnes non coalescées, quels que soient les autres identifiants présents dans la requête. Par exemple : \`\`\`sql SELECT a, t1.a, t2.a FROM (SELECT 1 as a WHERE 0) t1 FULL JOIN (SELECT 2 as a) t2 USING (a) -- Avant : a=0, t1.a=0, t2.a=2 (incorrect - 'a' résolu en t1.a) -- Après : a=2, t1.a=0, t2.a=2 (correct - 'a' est coalescé). [#80848](https://github.com/ClickHouse/ClickHouse/pull/80848) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Prise en charge du filtrage des data parts à l’aide de skip indexes pendant la lecture afin de réduire les lectures d’index inutiles. Contrôlé par le nouveau paramètre `use_skip_indexes_on_data_read` (désactivé par défaut). Cela corrige [#75774](https://github.com/ClickHouse/ClickHouse/issues/75774). Cela inclut certains éléments de base communs partagés avec [#81021](https://github.com/ClickHouse/ClickHouse/issues/81021). [#81526](https://github.com/ClickHouse/ClickHouse/pull/81526) ([Amos Bird](https://github.com/amosbird)).
* La réécriture de la transaction de stockage objet sur disque supprime les blobs distants précédents si la transaction de métadonnées est validée. [#81787](https://github.com/ClickHouse/ClickHouse/pull/81787) ([Sema Checherinda](https://github.com/CheSema)).
* Rend la stratégie de nouvelle tentative S3 configurable et permet le rechargement à chaud des paramètres du S3 disk en cas de modification du fichier XML de configuration. [#82642](https://github.com/ClickHouse/ClickHouse/pull/82642) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Correction du passage d’optimisation pour une expression d’égalité redondante lorsque la LowCardinality du type résultant diffère avant et après optimisation. [#82651](https://github.com/ClickHouse/ClickHouse/pull/82651) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Une colonne spéciale peut être utilisée pour indiquer la présence d’une partie d’un oneof. [#82885](https://github.com/ClickHouse/ClickHouse/pull/82885) ([Ilya Golshtein](https://github.com/ilejn)).
* Les utilisateurs reçoivent désormais des instructions plus claires lorsque des paramètres incorrects sont spécifiés pour le nouveau Kafka table engine. [#83701](https://github.com/ClickHouse/ClickHouse/pull/83701) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Lorsque des clients HTTP définissent l’en-tête `X-ClickHouse-100-Continue: defer` en plus de `Expect: 100-continue`, ClickHouse n’envoie pas de réponse `100 Continue` au client tant que la validation du quota n’a pas abouti, ce qui évite de gaspiller de la bande passante réseau en transmettant des corps de requête qui seront de toute façon rejetés. Cela concerne les requêtes INSERT, où la requête peut être envoyée dans la chaîne de requête de l’URL et les données dans le corps de la requête. L’abandon d’une requête sans envoyer l’intégralité du corps empêche la réutilisation de la connexion avec HTTP/1.1, mais la latence supplémentaire liée à l’ouverture de nouvelles connexions est généralement négligeable par rapport à la durée totale d’un INSERT sur de grands volumes de données. [#84304](https://github.com/ClickHouse/ClickHouse/pull/84304) ([c-end](https://github.com/c-end)).
* Il n’est plus possible de spécifier de fuseaux horaires pour le type Time. [#84689](https://github.com/ClickHouse/ClickHouse/pull/84689) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* L’autocomplétion du client est plus rapide et plus cohérente grâce à l’utilisation de `system.completions` au lieu d’exécuter plusieurs requêtes sur les tables système. [#84694](https://github.com/ClickHouse/ClickHouse/pull/84694) ([|2ustam](https://github.com/RuS2m)).
* Simplification (et correction de certains bugs) d’une logique liée à l’analyse de Time\[64] dans un format `best_effort`. [#84730](https://github.com/ClickHouse/ClickHouse/pull/84730) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Accélération de certaines requêtes JOIN en construisant un bloom filter à partir du sous-arbre droit à l’exécution, puis en transmettant ce filtre au scan du sous-arbre gauche. Cela peut être avantageux pour des requêtes comme `SELECT avg(o_totalprice) FROM orders, customer, nation WHERE c_custkey = o_custkey AND c_nationkey=n_nationkey AND n_name = 'FRANCE'`. [#84772](https://github.com/ClickHouse/ClickHouse/pull/84772) ([Alexander Gololobov](https://github.com/davenger)).
* Vous pouvez utiliser des paramètres de requête après `TO` lors de la création d’une vue matérialisée, par exemple : `CREATE MATERIALIZED VIEW mv TO {to_table:Identifier} AS SELECT * FROM src_table`. [#84899](https://github.com/ClickHouse/ClickHouse/pull/84899) ([Diskein](https://github.com/Diskein)).
* Masquage des informations d’authentification S3 dans les logs lors de l’utilisation de DATABASE ENGINE = Backup avec le stockage S3. [#85336](https://github.com/ClickHouse/ClickHouse/pull/85336) ([Kenny Sun](https://github.com/hwabis)).
* Mise à jour de jemalloc vers une version plus récente. Amélioration du profilage des allocations à partir des outils internes de jemalloc. Le profiler jemalloc global peut désormais être activé avec la config `jemalloc_enable_global_profiler`. Les allocations et désallocations globales échantillonnées peuvent être stockées dans `system.trace_log` sous le type `JemallocSample` en activant la config `jemalloc_collect_global_profile_samples_in_trace_log`. Le profilage jemalloc peut désormais être activé indépendamment pour chaque query à l’aide du setting `jemalloc_enable_profiler`. Le stockage des samples dans `system.trace_log` peut être contrôlé pour chaque query à l’aide du setting `jemalloc_collect_profile_samples_in_trace_log`. [#85438](https://github.com/ClickHouse/ClickHouse/pull/85438) ([Antonio Andelic](https://github.com/antonio2368)).
* Ajout de la fonction deltaLakeAzureCluster (similaire à deltaLakeAzure pour un cluster) et de la fonction deltaLakeS3Cluster (alias de deltaLakeCluster). Résout [#85358](https://github.com/ClickHouse/ClickHouse/issues/85358). [#85547](https://github.com/ClickHouse/ClickHouse/pull/85547) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* Renommer InterpreterSystemQuery::dropReplicaImpl en InterpreterSystemQuery::dropStorageReplica - Dans InterpreterSystemQuery::dropDatabaseReplica : - Lors de la suppression d’une base de données ou de la réplique entière : cela supprime également la réplique de chaque table de la base de données - Si 'WITH TABLES' est spécifié, supprimer la réplique pour chaque stockage - Sinon, la logique reste inchangée : appeler uniquement DatabaseReplicated::dropReplica sur les bases de données - Lors de la suppression d’une réplique de base de données avec le chemin Keeper : - Si 'WITH TABLES' est spécifié : - Restaurer la base de données en Atomic - Restaurer les tables RMT à partir de l’instruction présente dans Keeper - Supprimer la base de données (les tables restaurées sont également supprimées) - Sinon, appeler uniquement DatabaseReplicated::dropReplica sur le chemin Keeper fourni. [#85637](https://github.com/ClickHouse/ClickHouse/pull/85637) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Correction du formatage incohérent de TTL lorsqu’il contient une fonction `materialize`. Clôt [#82828](https://github.com/ClickHouse/ClickHouse/issues/82828). [#85749](https://github.com/ClickHouse/ClickHouse/pull/85749) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Appliquer le paramètre azure\_max\_single\_part\_copy\_size aux opérations de copie normales de la même manière que pour les sauvegardes. [#85767](https://github.com/ClickHouse/ClickHouse/pull/85767) ([Ilya Golshtein](https://github.com/ilejn)).
* Ralentir les threads du client S3 en cas d’erreurs réessayables dans le stockage objet S3. Cela étend le paramètre précédent `backup_slow_all_threads_after_retryable_s3_error` aux disques S3 et le renomme en `s3_slow_all_threads_after_retryable_error`, plus générique. [#85918](https://github.com/ClickHouse/ClickHouse/pull/85918) ([Julia Kartseva](https://github.com/jkartseva)).
* Marquer les paramètres allow\_experimental\_variant/dynamic/json et enable\_variant/dynamic/json comme obsolètes. Désormais, les trois types sont activés sans condition. [#85934](https://github.com/ClickHouse/ClickHouse/pull/85934) ([Pavel Kruglov](https://github.com/Avogar)).
* Amélioration du moteur de table S3(Azure)Queue pour lui permettre de survivre à une perte de connexion à ZooKeeper sans doublons potentiels. Nécessite d’activer le paramètre S3Queue `use_persistent_processing_nodes` (modifiable via `ALTER TABLE MODIFY SETTING`). [#85995](https://github.com/ClickHouse/ClickHouse/pull/85995) ([Kseniia Sumarokova](https://github.com/kssenii)).
* L’état de la table Iceberg n’est plus stocké dans un objet de stockage. Cela devrait rendre Iceberg dans ClickHouse utilisable avec des requêtes concurrentes. [#86062](https://github.com/ClickHouse/ClickHouse/pull/86062) ([Daniil Ivanik](https://github.com/divanik)).
* Ajout du paramètre `query_condition_cache_selectivity_threshold` (valeur par défaut : 1.0), qui exclut de l’insertion dans le cache des conditions de requête les résultats de scan de prédicats à faible sélectivité. Cela permet de réduire la consommation de mémoire du cache des conditions de requête, au prix d’un moins bon taux de succès du cache. [#86076](https://github.com/ClickHouse/ClickHouse/pull/86076) ([zhongyuankai](https://github.com/zhongyuankai)).
* Prise en charge du filtrage par chaîne d’URL complète (directive `full_url`) dans `http_handlers` (y compris le schéma et host:port). [#86155](https://github.com/ClickHouse/ClickHouse/pull/86155) ([Azat Khuzhin](https://github.com/azat)).
* Ajout du paramètre expérimental `allow_experimental_delta_lake_writes` pour la fonctionnalité d’écriture Delta Lake, désactivé par défaut. [#86180](https://github.com/ClickHouse/ClickHouse/pull/86180) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction de la détection de systemd dans le script init.d (corrige la vérification "Install packages"). [#86187](https://github.com/ClickHouse/ClickHouse/pull/86187) ([Azat Khuzhin](https://github.com/azat)).
* Ajoute une nouvelle métrique dimensionnelle `startup_scripts_failure_reason`. Cette métrique est nécessaire pour distinguer les différents types d’erreurs qui provoquent l’échec des scripts de démarrage. En particulier, à des fins d’alerte, il faut distinguer les erreurs transitoires (par exemple, `MEMORY_LIMIT_EXCEEDED` ou `KEEPER_EXCEPTION`) des erreurs non transitoires. [#86202](https://github.com/ClickHouse/ClickHouse/pull/86202) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Prise en charge de plusieurs fichiers de données dans les écritures Iceberg. [#86275](https://github.com/ClickHouse/ClickHouse/pull/86275) ([scanhex12](https://github.com/scanhex12)).
* Prise en charge d’un plus grand nombre de types pour les partitions dans les écritures Iceberg. Ceci clôt [#86206](https://github.com/ClickHouse/ClickHouse/issues/86206). [#86298](https://github.com/ClickHouse/ClickHouse/pull/86298) ([scanhex12](https://github.com/scanhex12)).
* Permet d’omettre la fonction `identity()` pour la partition d’une table Iceberg. [#86314](https://github.com/ClickHouse/ClickHouse/pull/86314) ([scanhex12](https://github.com/scanhex12)).
* Ajoute la possibilité d’activer la journalisation JSON uniquement pour un canal spécifique. Pour cela, définissez `logger.formatting.channel` sur l’une des valeurs `syslog`/`console`/`errorlog`/`log`. [#86331](https://github.com/ClickHouse/ClickHouse/pull/86331) ([Azat Khuzhin](https://github.com/azat)).
* Ajoute une limite de lignes/octets pour les fichiers de données insérés dans Delta Lake. Contrôlé par les settings `delta_lake_insert_max_rows_in_data_file` et `delta_lake_insert_max_bytes_in_data_file`. [#86357](https://github.com/ClickHouse/ClickHouse/pull/86357) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Permet d’utiliser des nombres natifs dans `WHERE`. Ils peuvent déjà être utilisés comme arguments de fonctions logiques. Cela simplifie les optimisations de filter pushdown et de déplacement vers PREWHERE. [#86390](https://github.com/ClickHouse/ClickHouse/pull/86390) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige une erreur lors de l’exécution de `SYSTEM DROP REPLICA` sur un Catalog avec des métadonnées corrompues. [#86391](https://github.com/ClickHouse/ClickHouse/pull/86391) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ajoute des retries supplémentaires pour la vérification de l’accès au disk (`skip_access_check=0`) dans Azure, car le provisionnement de l’accès peut prendre un certain temps. [#86419](https://github.com/ClickHouse/ClickHouse/pull/86419) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Renomme le setting `evaluation_time` en `promql_evaluation_time`. [#86459](https://github.com/ClickHouse/ClickHouse/pull/86459) ([Vitaly Baranov](https://github.com/vitlibar)).
* Ajoute un setting permettant de supprimer les fichiers lors d’un drop Iceberg. Ceci clôt [#86211](https://github.com/ClickHouse/ClickHouse/issues/86211). [#86501](https://github.com/ClickHouse/ClickHouse/pull/86501) ([scanhex12](https://github.com/scanhex12)).
* Réduit l’utilisation mémoire dans les écritures Iceberg. [#86544](https://github.com/ClickHouse/ClickHouse/pull/86544) ([scanhex12](https://github.com/scanhex12)).
* Rend la fonction `today()` insensible à la casse afin d’être cohérente avec d’autres fonctions liées à la date et à l’heure, comme `NOW()`. [#86561](https://github.com/ClickHouse/ClickHouse/pull/86561) ([Kaviraj Kanagaraj](https://github.com/kavirajk)).
* Rend la fenêtre de staleness des fonctions `timeSeries*()` ouverte à gauche et fermée à droite. [#86588](https://github.com/ClickHouse/ClickHouse/pull/86588) ([Vitaly Baranov](https://github.com/vitlibar)).
* Ajoute les profile events `FailedInternal*Query`. [#86627](https://github.com/ClickHouse/ClickHouse/pull/86627) ([Shane Andrade](https://github.com/mauidude)).
* Rendre persistant le verrou de bucket en mode ordered de S3Queue, comme pour les processing nodes lorsque `use_persistent_processing_nodes = 1`. Ajouter une injection de panne Keeper dans les tests. [#86628](https://github.com/ClickHouse/ClickHouse/pull/86628) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corriger la gestion des utilisateurs dont le nom contient un point lorsqu’ils sont ajoutés via le fichier de configuration. [#86633](https://github.com/ClickHouse/ClickHouse/pull/86633) ([Mikhail Koviazin](https://github.com/mkmkme)).
* Ajouter une métrique asynchrone pour l’utilisation de la mémoire dans les queries (`QueriesMemoryUsage` et `QueriesPeakMemoryUsage`). [#86669](https://github.com/ClickHouse/ClickHouse/pull/86669) ([Azat Khuzhin](https://github.com/azat)).
* Vous pouvez utiliser l’option `clickhouse-benchmark --precise` pour un reporting plus précis du QPS et des autres métriques par intervalle. Cela permet d’obtenir un QPS cohérent lorsque la durée des queries est comparable à l’intervalle de reporting `--delay D`. [#86684](https://github.com/ClickHouse/ClickHouse/pull/86684) ([Sergei Trifonov](https://github.com/serxa)).
* Rendre configurables les valeurs nice des threads Linux afin d’attribuer à certains threads (merge/mutate, query, materialized view, client ZooKeeper) des priorités plus élevées ou plus faibles. [#86703](https://github.com/ClickHouse/ClickHouse/pull/86703) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Corriger l’error trompeuse « specified upload does not exist », qui se produit lorsque l’exception d’origine est perdue lors d’un multipart upload en raison d’une race condition. [#86725](https://github.com/ClickHouse/ClickHouse/pull/86725) ([Julia Kartseva](https://github.com/jkartseva)).
* Limiter la description du query plan dans la query `EXPLAIN`. Ne pas calculer la description pour les queries autres que `EXPLAIN`. Ajouter un setting `query_plan_max_step_description_length`. [#86741](https://github.com/ClickHouse/ClickHouse/pull/86741) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Ajouter la possibilité d’ajuster les signaux en attente afin de tenter de contourner CANNOT\_CREATE\_TIMER (pour les query profilers, `query_profiler_real_time_period_ns`/`query_profiler_cpu_time_period_ns`). Collecter également `SigQ` depuis `/proc/self/status` pour l’introspection (si `ProcessSignalQueueSize` est proche de `ProcessSignalQueueLimit`, vous obtiendrez probablement des errors `CANNOT_CREATE_TIMER`). [#86760](https://github.com/ClickHouse/ClickHouse/pull/86760) ([Azat Khuzhin](https://github.com/azat)).
* Prise en charge de insert/select Distributed pour les data lakes. [#86783](https://github.com/ClickHouse/ClickHouse/pull/86783) ([scanhex12](https://github.com/scanhex12)).
* Améliorer les performances de la requête RemoveRecursive dans Keeper. [#86789](https://github.com/ClickHouse/ClickHouse/pull/86789) ([Antonio Andelic](https://github.com/antonio2368)).
* Supprimer les espaces supplémentaires dans PrettyJSONEachRow lors de la sortie du JSON type. [#86819](https://github.com/ClickHouse/ClickHouse/pull/86819) ([Pavel Kruglov](https://github.com/Avogar)).
* Augmenter la fenêtre de deduplication replicated jusqu’à 10000. [#86820](https://github.com/ClickHouse/ClickHouse/pull/86820) ([Sema Checherinda](https://github.com/CheSema)).
* Désormais, écrire les tailles des blobs de `prefix.path` lors de la suppression du directory pour un disque simple réinscriptible. [#86908](https://github.com/ClickHouse/ClickHouse/pull/86908) ([alesapin](https://github.com/alesapin)).
* Rendre la fonction `yesterday()` insensible à la casse et cohérente avec la fonction `today()`. [#86914](https://github.com/ClickHouse/ClickHouse/pull/86914) ([Kaviraj Kanagaraj](https://github.com/kavirajk)).
* Prendre en charge les tests de performance `.xml` sur des instances ClickHouse distantes, y compris ClickHouse Cloud. Exemple d’utilisation : `tests/performance/scripts/perf.py tests/performance/math.xml --runs 10 --user <username> --password <password> --host <hostname> --port <port> --secure`. [#86995](https://github.com/ClickHouse/ClickHouse/pull/86995) ([Raufs Dunamalijevs](https://github.com/rienath)).
* Respect des limites mémoire dans certains composants connus pour allouer une quantité importante de mémoire (>16MiB) (tri, async inserts, `file log`). [#87035](https://github.com/ClickHouse/ClickHouse/pull/87035) ([Azat Khuzhin](https://github.com/azat)).
* Empêche des paramètres non booléens de ne pas définir de valeur dans les requêtes. Amélioration de [#85800](https://github.com/ClickHouse/ClickHouse/issues/85800). [#87084](https://github.com/ClickHouse/ClickHouse/pull/87084) ([thraeka](https://github.com/thraeka)).
* Prise en charge des indications pour les noms de format. Ferme [#86761](https://github.com/ClickHouse/ClickHouse/issues/86761). [#87092](https://github.com/ClickHouse/ClickHouse/pull/87092) ([flynn](https://github.com/ucasfl)).
* Les répliques distantes ignorent l’analyse du skip index lorsqu’il n’y a pas de projections. [#87096](https://github.com/ClickHouse/ClickHouse/pull/87096) ([zoomxi](https://github.com/zoomxi)).
* Lève une exception si le paramètre `network_compression_method` n’est pas un codec générique pris en charge. [#87097](https://github.com/ClickHouse/ClickHouse/pull/87097) ([Robert Schulze](https://github.com/rschu1ze)).
* La table système `system.query_cache` renvoie désormais *toutes* les entrées du query result cache, alors qu’elle ne renvoyait auparavant que les entrées partagées ou les entrées non partagées du même utilisateur et rôle. Cela est acceptable, car les entrées non partagées sont censées ne pas révéler les *résultats de requête*, tandis que `system.query_cache` renvoie des *chaînes de requête*. Le comportement de la table système se rapproche ainsi de celui de `system.query_log`. [#87104](https://github.com/ClickHouse/ClickHouse/pull/87104) ([Robert Schulze](https://github.com/rschu1ze)).
* Ajout de la prise en charge de l’authentification et de SSL dans la table function `arrowFlight()`. [#87120](https://github.com/ClickHouse/ClickHouse/pull/87120) ([Vitaly Baranov](https://github.com/vitlibar)).
* Ajout d’un nouveau paramètre au table engine `S3` et à la table function `s3`, nommé `storage_class_name`, qui permet de spécifier le tiering intelligent pris en charge par AWS. Pris en charge à la fois au format key-value et au format positionnel (obsolète). [#87122](https://github.com/ClickHouse/ClickHouse/pull/87122) ([alesapin](https://github.com/alesapin)).
* Permet de désactiver l’encodage UTF-8 pour la table ytsaurus. [#87150](https://github.com/ClickHouse/ClickHouse/pull/87150) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Prise en charge d’Azure pour les disques de data lake. [#87173](https://github.com/ClickHouse/ClickHouse/pull/87173) ([scanhex12](https://github.com/scanhex12)).
* Ajout d’un nouveau paramètre de text index `dictionary_block_frontcoding_compression` pour contrôler la compression du dictionnaire. Par défaut, il est activé afin d’utiliser la compression `front-coding`. [#87175](https://github.com/ClickHouse/ClickHouse/pull/87175) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Active l’évaluation en court-circuit pour la fonction parseDateTime. [#87184](https://github.com/ClickHouse/ClickHouse/pull/87184) ([Pavel Kruglov](https://github.com/Avogar)).
* Prise en charge de `alter table ... materialize statistics all`, qui matérialise toutes les statistiques d’une table. [#87197](https://github.com/ClickHouse/ClickHouse/pull/87197) ([Han Fei](https://github.com/hanfei1991)).
* Désactive `s3_slow_all_threads_after_retryable_error` par défaut. [#87198](https://github.com/ClickHouse/ClickHouse/pull/87198) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ajoute une nouvelle table `system.aggregated_zookeeper_log`. Cette table contient des statistiques (p. ex. nombre d’opérations, latence moyenne, erreurs) sur les opérations ZooKeeper, regroupées par identifiant de session, chemin parent et type d’opération, puis périodiquement écrites sur disque. [#87208](https://github.com/ClickHouse/ClickHouse/pull/87208) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Renomme la table function `arrowflight` en `arrowFlight`. [#87249](https://github.com/ClickHouse/ClickHouse/pull/87249) ([Vitaly Baranov](https://github.com/vitlibar)).
* Mise à jour de `clickhouse-benchmark` pour accepter l’utilisation de `-` à la place de `_` dans ses options de CLI. [#87251](https://github.com/ClickHouse/ClickHouse/pull/87251) ([Ahmed Gouda](https://github.com/0xgouda)).
* Ajout d’un paramètre de session pour exclure une liste de skip indexes de la matérialisation lors des inserts (`exclude_materialize_skip_indexes_on_insert`). Ajout d’un paramètre de table MergeTree pour exclure une liste de skip indexes de la matérialisation pendant le merge (`exclude_materialize_skip_indexes_on_merge`). [#87252](https://github.com/ClickHouse/ClickHouse/pull/87252) ([George Larionov](https://github.com/george-larionov)).
* Rend synchrone le flushing vers `system.crash_log` lors du traitement des signaux. [#87253](https://github.com/ClickHouse/ClickHouse/pull/87253) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Ajout d’une nouvelle colonne `statistics` dans system.parts\_columns. [#87259](https://github.com/ClickHouse/ClickHouse/pull/87259) ([Han Fei](https://github.com/hanfei1991)).
* Ajout du paramètre `inject_random_order_for_select_without_order_by`, qui injecte `ORDER BY rand()` dans les requêtes `SELECT` de premier niveau sans clause `ORDER BY`. [#87261](https://github.com/ClickHouse/ClickHouse/pull/87261) ([Rui Zhang](https://github.com/zhangruiddn)).
* Prise en charge d’autres formats (ORC, Avro) pour les écritures Iceberg. Cela clôt [#86179](https://github.com/ClickHouse/ClickHouse/issues/86179). [#87277](https://github.com/ClickHouse/ClickHouse/pull/87277) ([scanhex12](https://github.com/scanhex12)).
* Améliore le message d’erreur de joinGet afin d’indiquer correctement que le nombre de `join_keys` n’est pas le même que celui de `right_table_keys`. [#87279](https://github.com/ClickHouse/ClickHouse/pull/87279) ([Isak Ellmer](https://github.com/spinojara)).
* Regroupe les données de tous les threads avant l’insertion dans les materialized views, en fonction des paramètres `min_insert_block_size_rows_for_materialized_views` et `min_insert_block_size_bytes_for_materialized_views`. Auparavant, si `parallel_view_processing` était activé, chaque thread insérant dans une materialized view donnée regroupait l’insert indépendamment, ce qui pouvait entraîner la génération d’un plus grand nombre de parts. [#87280](https://github.com/ClickHouse/ClickHouse/pull/87280) ([Antonio Andelic](https://github.com/antonio2368)).
* Ce patch ajoute la possibilité de vérifier les stat d’un nœud Keeper arbitraire pendant une transaction d’écriture. Cela peut aider à détecter le problème ABA. [#87282](https://github.com/ClickHouse/ClickHouse/pull/87282) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Redirige les requêtes ytsaurus lourdes vers des proxys lourds. [#87342](https://github.com/ClickHouse/ClickHouse/pull/87342) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Ce patch corrige les rollbacks des opérations unlink/rename/removeRecursive/removeDirectory/etc., ainsi que les comptages de hardlinks dans toutes les workloads possibles pour les metadata issues des transactions disque. Il simplifie également les interfaces pour les rendre plus génériques afin qu’elles puissent être réutilisées dans d’autres meta stores. [#87358](https://github.com/ClickHouse/ClickHouse/pull/87358) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Ajout du paramètre de configuration `keeper_server.tcp_nodelay`, qui permet de désactiver `TCP_NODELAY` pour Keeper. [#87363](https://github.com/ClickHouse/ClickHouse/pull/87363) (Copilot).
* Prise en charge de `--connection` dans `clickhouse-benchmarks`. Comme avec `clickhouse-client`, vous pouvez spécifier des connections prédéfinies dans le `config.xml`/`config.yaml` du client, sous le chemin `connections_credentials`, afin d’éviter de devoir fournir explicitement l’utilisateur et le mot de passe en arguments de ligne de commande. Ajout également de la prise en charge de `--accept-invalid-certificate` dans `clickhouse-benchmark`. [#87370](https://github.com/ClickHouse/ClickHouse/pull/87370) ([Azat Khuzhin](https://github.com/azat)).
* Désormais, le paramètre `max_insert_threads` prendra effet sur les tables Iceberg. [#87407](https://github.com/ClickHouse/ClickHouse/pull/87407) ([alesapin](https://github.com/alesapin)).
* Ajout de métriques d’histogramme et de métriques dimensionnelles à `PrometheusMetricsWriter`. Ainsi, le handler `PrometheusRequestHandler` disposera de toutes les métriques essentielles et pourra être utilisé pour une collecte de métriques fiable et à faible surcoût dans le cloud. [#87521](https://github.com/ClickHouse/ClickHouse/pull/87521) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* La fonction `hasToken` renvoie désormais zéro correspondance pour un `token` vide (alors qu’auparavant cela déclenchait une exception). [#87564](https://github.com/ClickHouse/ClickHouse/pull/87564) ([Jimmy Aguilar Mena](https://github.com/Ergus)).
* Ajout de la prise en charge de l’index de texte pour les valeurs `Array` et `Map` (`mapKeys` et `mapValues`). Les fonctions prises en charge sont `mapContainsKey` et `has`. [#87602](https://github.com/ClickHouse/ClickHouse/pull/87602) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Ajout d’une nouvelle métrique `ZooKeeperSessionExpired`, qui indique le nombre de sessions globales ZooKeeper expirées. [#87613](https://github.com/ClickHouse/ClickHouse/pull/87613) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Utilisation du client S3 storage avec des paramètres spécifiques aux sauvegardes (par exemple, backup\_slow\_all\_threads\_after\_retryable\_s3\_error) pour la copie côté serveur (native) vers une destination de sauvegarde. Le paramètre s3\_slow\_all\_threads\_after\_retryable\_error devient obsolète. [#87660](https://github.com/ClickHouse/ClickHouse/pull/87660) ([Julia Kartseva](https://github.com/jkartseva)).
* Correction de la gestion incorrecte des paramètres `max_joined_block_size_rows` et `max_joined_block_size_bytes` lors de la sérialisation du plan de requête avec `make_distributed_plan` expérimental. [#87675](https://github.com/ClickHouse/ClickHouse/pull/87675) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Le paramètre `enable_http_compression` est désormais activé par défaut. Cela signifie que si un client accepte la compression HTTP, le serveur l’utilisera. Toutefois, ce changement présente certains inconvénients. Le client peut demander une méthode de compression coûteuse, comme `bzip2`, ce qui n’est pas raisonnable et augmentera la consommation de ressources du serveur (mais cela ne sera visible que lors du transfert de résultats volumineux). Le client peut demander `gzip`, ce qui n’est pas si mal, mais reste moins optimal que `zstd`. Résout [#71591](https://github.com/ClickHouse/ClickHouse/issues/71591). [#87703](https://github.com/ClickHouse/ClickHouse/pull/87703) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajout d’un nouveau paramètre `keeper_hosts` qui expose la liste des hôtes \[Zoo]Keeper auxquels ClickHouse peut se connecter. [#87718](https://github.com/ClickHouse/ClickHouse/pull/87718) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ajout de `ALTER TABLE REWRITE PARTS` - réécrit les table parts depuis zéro en utilisant tous les nouveaux paramètres (puisque certains, comme `use_const_adaptive_granularity`, ne s’appliquent qu’aux nouvelles parts). [#87774](https://github.com/ClickHouse/ClickHouse/pull/87774) ([Azat Khuzhin](https://github.com/azat)).
* Ajout des valeurs `from` et `to` aux tableaux de bord système afin de faciliter les investigations historiques. [#87823](https://github.com/ClickHouse/ClickHouse/pull/87823) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Ajout de davantage d’informations pour le suivi des performances dans les requêtes SELECT sur Iceberg. [#87903](https://github.com/ClickHouse/ClickHouse/pull/87903) ([Daniil Ivanik](https://github.com/divanik)).
* Ajout du nouveau paramètre `joined_block_split_single_row` pour réduire l’utilisation mémoire dans les jointures par hachage avec de nombreuses correspondances par clé. Cela permet de découper les résultats de jointure par hachage, même parmi les correspondances d’une seule ligne de la table de gauche, ce qui est particulièrement utile lorsqu’une ligne de la table de gauche correspond à des milliers, voire des millions, de lignes de la table de droite. Auparavant, toutes les correspondances devaient être matérialisées d’un seul coup en mémoire. Cela réduit le pic d’utilisation mémoire, mais peut augmenter l’utilisation CPU. [#87913](https://github.com/ClickHouse/ClickHouse/pull/87913) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Amélioration du filesystem cache : réutilisation de l’itérateur de priorité du cache entre les threads qui réservent simultanément de l’espace dans le cache. [#87914](https://github.com/ClickHouse/ClickHouse/pull/87914) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ajout de la possibilité de limiter les requêtes pour `Keeper` (paramètre `max_request_size`, identique à `jute.maxbuffer` pour `ZooKeeper`, **OFF** par défaut pour la compatibilité ascendante, sera activé dans les prochaines releases). [#87952](https://github.com/ClickHouse/ClickHouse/pull/87952) ([Azat Khuzhin](https://github.com/azat)).
* Correction de `clickhouse-benchmark` afin de ne pas inclure les stacktraces dans les messages d’erreur par défaut. [#87954](https://github.com/ClickHouse/ClickHouse/pull/87954) ([Ahmed Gouda](https://github.com/0xgouda)).
* Évite d’utiliser le thread pool pour le chargement asynchrone des marks (`load_marks_asynchronously=1`) lorsque les marks sont dans le cache (puisque le pool peut être saturé et que les queries en subiront le coût même si les marks sont déjà dans le cache). [#87967](https://github.com/ClickHouse/ClickHouse/pull/87967) ([Azat Khuzhin](https://github.com/azat)).
* Ytsaurus : permet de créer des table, table functions et dictionaries avec un sous-ensemble de columns. [#87982](https://github.com/ClickHouse/ClickHouse/pull/87982) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Désormais, `system.zookeeper_connection_log` est activé par défaut et peut être utilisé pour obtenir des informations sur les sessions Keeper. [#88011](https://github.com/ClickHouse/ClickHouse/pull/88011) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Rend le comportement de TCP et HTTP cohérent lorsque des external tables dupliquées sont transmises. HTTP permet de transmettre une temporary table plusieurs fois. [#88032](https://github.com/ClickHouse/ClickHouse/pull/88032) ([Sema Checherinda](https://github.com/CheSema)).
* Suppression des MemoryPools personnalisés pour la lecture d’Arrow/ORC/Parquet. Ce composant semble inutile depuis [https://github.com/ClickHouse/ClickHouse/pull/84082](https://github.com/ClickHouse/ClickHouse/pull/84082), car nous suivons désormais toutes les allocations dans tous les cas. [#88035](https://github.com/ClickHouse/ClickHouse/pull/88035) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Permet de créer une database `Replicated` sans arguments. [#88044](https://github.com/ClickHouse/ClickHouse/pull/88044) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Ajout de la prise en charge de la connexion au port TLS de ClickHouse Keeper, en conservant des noms de flags identiques à ceux de clickhouse-client. [#88065](https://github.com/ClickHouse/ClickHouse/pull/88065) ([Pradeep Chhetri](https://github.com/chhetripradeep)).
* Ajout d’un nouvel événement de profile pour suivre le nombre de fois où une fusion en arrière-plan a été rejetée en raison d’un dépassement des memory limits. [#88084](https://github.com/ClickHouse/ClickHouse/pull/88084) ([Grant Holly](https://github.com/grantholly-clickhouse)).
* Ajout du parameter facultatif `start_value` à la function `generateSerialID` pour spécifier des valeurs de départ personnalisées pour les nouvelles series. [#88085](https://github.com/ClickHouse/ClickHouse/pull/88085) ([Manuel](https://github.com/raimannma)).
* Active l’analyzer pour la validation des expressions par défaut des columns dans CREATE/ALTER TABLE. [#88087](https://github.com/ClickHouse/ClickHouse/pull/88087) ([Max Justus Spransy](https://github.com/maxjustus)).
* Amélioration interne de la planification des queries : utilisation de JoinStepLogical pour `CROSS JOIN`. [#88151](https://github.com/ClickHouse/ClickHouse/pull/88151) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Prise en charge complète de l’operator `IS NOT DISTINCT FROM` (`<=>`). [#88155](https://github.com/ClickHouse/ClickHouse/pull/88155) ([simonmichal](https://github.com/simonmichal)).
* Active le Profiler global par sampling par défaut : collecte les stacktraces de tous les threads toutes les 10 Seconds de temps CPU et de temps réel. [#88209](https://github.com/ClickHouse/ClickHouse/pull/88209) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Correction de la prise en charge des opérations `EXCHANGE TABLES` sur les tables utilisant le moteur `Alias`. Le moteur stocke désormais la table cible sous forme de noms de base de données et de table au lieu d’un identifiant de stockage constant, ce qui lui permet de résoudre correctement la cible après un échange de tables. [#88233](https://github.com/ClickHouse/ClickHouse/pull/88233) ([Kai Zhu](https://github.com/nauu)).
* Ajout du paramètre `temporary_files_buffer_size` pour contrôler la taille du tampon des processus d’écriture de fichiers temporaires. \* Optimisation de la consommation mémoire de l’opération `scatter` (utilisée, par exemple, dans grace hash join) pour les colonnes `LowCardinality`. [#88237](https://github.com/ClickHouse/ClickHouse/pull/88237) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Ajout de la prise en charge de la lecture directe depuis les index de texte avec des répliques parallèles. Amélioration des performances de lecture des index de texte depuis le stockage objet. [#88262](https://github.com/ClickHouse/ClickHouse/pull/88262) ([Anton Popov](https://github.com/CurtizJ)).
* La fonction `generateSerialID` prend désormais en charge un argument non constant contenant le nom de la série. Clôt [#83750](https://github.com/ClickHouse/ClickHouse/issues/83750). [#88270](https://github.com/ClickHouse/ClickHouse/pull/88270) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Base de données de catalogues de data lakes pour le traitement distribué. [#88273](https://github.com/ClickHouse/ClickHouse/pull/88273) ([scanhex12](https://github.com/scanhex12)).
* Mise à jour de l’azure sdk pour inclure le correctif sur 'Content-Length' observé avec les fonctionnalités de copie et de création de conteneur. [#88278](https://github.com/ClickHouse/ClickHouse/pull/88278) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* La fonction lag devient insensible à la casse pour assurer la compatibilité avec MySQL. [#88322](https://github.com/ClickHouse/ClickHouse/pull/88322) ([Lonny Kapelushnik](https://github.com/lonnylot)).
* Ajout de la config `keeper_server.coordination_settings.check_node_acl_on_remove`. Si elle est activée, avant chaque suppression d’un nœud, les ACL du nœud lui-même et du nœud parent seront vérifiées. Sinon, seule l’ACL du nœud parent sera vérifiée. [#88513](https://github.com/ClickHouse/ClickHouse/pull/88513) ([Antonio Andelic](https://github.com/antonio2368)).
* Les colonnes `JSON` sont désormais affichées avec un formatage Pretty lors de l’utilisation du format `Vertical`. Clôt [#81794](https://github.com/ClickHouse/ClickHouse/issues/81794). [#88524](https://github.com/ClickHouse/ClickHouse/pull/88524) ([Frank Rosner](https://github.com/FRosner)).
* Les fichiers de `clickhouse-client` (par ex. l’historique des requêtes) sont désormais stockés dans les emplacements décrits par la spécification [XDG Base Directories](https://specifications.freedesktop.org/basedir-spec/latest/index.html), au lieu de la racine du répertoire personnel. `~/.clickhouse-client-history` sera toujours utilisé s’il est déjà présent. [#88538](https://github.com/ClickHouse/ClickHouse/pull/88538) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Correction d’une fuite mémoire due à `GLOBAL IN` ([https://github.com/ClickHouse/ClickHouse/issues/88615](https://github.com/ClickHouse/ClickHouse/issues/88615)). [#88617](https://github.com/ClickHouse/ClickHouse/pull/88617) ([pranav mehta](https://github.com/pranavmehta94)).
* Ajout d’une surcharge à hasAny/hasAllTokens pour accepter une entrée de type chaîne. [#88679](https://github.com/ClickHouse/ClickHouse/pull/88679) ([George Larionov](https://github.com/george-larionov)).
* Après ce correctif, l’heuristique `to_remove_small_parts_at_right` sera exécutée avant le calcul du score de la plage de fusion. Auparavant, le sélecteur de fusion choisissait la fusion large, puis en filtrait le suffixe. Corrige : [#85374](https://github.com/ClickHouse/ClickHouse/issues/85374). [#88736](https://github.com/ClickHouse/ClickHouse/pull/88736) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Ajout d’une étape au script de post-installation pour `clickhouse-keeper`, afin d’activer le démarrage au boot. [#88746](https://github.com/ClickHouse/ClickHouse/pull/88746) ([YenchangChan](https://github.com/YenchangChan)).
* Vérifier les identifiants dans l’interface web uniquement au moment du collage, plutôt qu’à chaque frappe. Cela évite un problème avec des serveurs LDAP mal configurés. Cela corrige [#85777](https://github.com/ClickHouse/ClickHouse/issues/85777). [#88769](https://github.com/ClickHouse/ClickHouse/pull/88769) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Limiter la longueur du message d’exception lorsqu’une contrainte est violée. Dans les versions précédentes, il était possible d’obtenir un très long message d’exception lorsqu’une très longue chaîne était insérée, et celui-ci finissait par être écrit dans le query\_log. Corrige [#87032](https://github.com/ClickHouse/ClickHouse/issues/87032). [#88801](https://github.com/ClickHouse/ClickHouse/pull/88801) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix">
  #### Correction de bug (comportement incorrect visible par l’utilisateur dans une version stable officielle)
</div>

* Les résultats des requêtes ALTER ne sont validés que sur le nœud initiateur pour les bases de données Replicated et les tables répliquées en interne. Cela corrige les situations où une requête ALTER déjà commitée pouvait se retrouver bloquée sur d'autres nœuds. [#83849](https://github.com/ClickHouse/ClickHouse/pull/83849) ([János Benjamin Antal](https://github.com/antaljanosbenjamin)).
* Limite le nombre de tâches de chaque type dans `BackgroundSchedulePool`. Évite les situations où tous les slots sont occupés par des tâches d'un même type, tandis que d'autres restent en attente. Évite aussi les deadlocks lorsque des tâches s'attendent mutuellement. Cela est contrôlé par le paramètre serveur `background_schedule_pool_max_parallel_tasks_per_type_ratio`. [#84008](https://github.com/ClickHouse/ClickHouse/pull/84008) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Correction d'un problème avec GeoParquet qui provoquait des erreurs de protocole côté client. [#84020](https://github.com/ClickHouse/ClickHouse/pull/84020) ([Michael Kolupaev](https://github.com/al13n321)).
* Correction de la résolution des fonctions dépendantes de l'hôte comme shardNum() dans les sous-requêtes sur le nœud initiateur. [#84409](https://github.com/ClickHouse/ClickHouse/pull/84409) ([Eduard Karacharov](https://github.com/korowa)).
* Arrête correctement les tables lors de la récupération d'une replica de base de données. Un arrêt incorrect pouvait entraîner un LOGICAL\_ERROR pour certains moteurs de table pendant la récupération d'une replica de base de données. [#84744](https://github.com/ClickHouse/ClickHouse/pull/84744) ([Antonio Andelic](https://github.com/antonio2368)).
* Vérifie les droits d'accès lors de la génération de suggestions de correction de fautes de frappe pour le nom de la base de données. [#85371](https://github.com/ClickHouse/ClickHouse/pull/85371) ([Dmitry Novik](https://github.com/novikd)).
* Correction de la gestion incorrecte des dates antérieures à l'epoch avec des fractions de seconde dans diverses fonctions liées aux dates et heures, telles que `parseDateTime64BestEffort`, `change{Year,Month,Day}` et `makeDateTime64`. Auparavant, la partie subsecondes était soustraite des secondes au lieu de leur être ajoutée. Par exemple, `parseDateTime64BestEffort('1969-01-01 00:00:00.468')` renvoyait `1968-12-31 23:59:59.532` au lieu de `1969-01-01 00:00:00.468`. [#85396](https://github.com/ClickHouse/ClickHouse/pull/85396) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* 1. LowCardinality pour les colonnes hive 2. Remplir les colonnes hive avant les colonnes virtuelles (nécessaire pour [https://github.com/ClickHouse/ClickHouse/pull/81040](https://github.com/ClickHouse/ClickHouse/pull/81040)) 3. LOGICAL\_ERROR sur un format vide pour hive [#85528](https://github.com/ClickHouse/ClickHouse/issues/85528) 4. Corriger la vérification du cas où les colonnes de partition hive sont les seules colonnes 5. Vérifier que toutes les colonnes hive sont spécifiées dans le schéma 6. Correction partielle de parallel\_replicas\_cluster avec hive 7. Utiliser un conteneur ordonné dans extractkeyValuePairs pour les utilitaires hive (nécessaire pour [https://github.com/ClickHouse/ClickHouse/pull/81040](https://github.com/ClickHouse/ClickHouse/pull/81040)). [#85538](https://github.com/ClickHouse/ClickHouse/pull/85538) ([Arthur Passos](https://github.com/arthurpassos)).
* Empêche l’optimisation inutile du premier argument des fonctions `IN`, qui entraînait parfois une erreur lors de l’utilisation du mapping de tableaux. [#85546](https://github.com/ClickHouse/ClickHouse/pull/85546) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* La correspondance entre les identifiants de source Iceberg et les noms Parquet n’était pas adaptée au schéma lors de l’écriture du fichier Parquet. Cette PR traite le schéma pertinent pour chaque fichier de données Iceberg, et non le schéma courant. [#85829](https://github.com/ClickHouse/ClickHouse/pull/85829) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige la lecture de la taille d’un fichier séparément de son ouverture. En lien avec [https://github.com/ClickHouse/ClickHouse/pull/33372](https://github.com/ClickHouse/ClickHouse/pull/33372), introduite en réponse à un bug dans les noyaux Linux antérieurs à la version `5.10`. [#85837](https://github.com/ClickHouse/ClickHouse/pull/85837) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* ClickHouse Keeper n’échoue plus au démarrage sur les systèmes où IPv6 est désactivé au niveau du noyau (par exemple, RHEL avec ipv6.disable=1). Il tente désormais de basculer vers un écouteur IPv4 si l’écouteur IPv6 initial échoue. [#85901](https://github.com/ClickHouse/ClickHouse/pull/85901) ([jskong1124](https://github.com/jskong1124)).
* Cette PR clôt [#77990](https://github.com/ClickHouse/ClickHouse/issues/77990). Ajoute la prise en charge de TableFunctionRemote pour les répliques parallèles dans globalJoin. [#85929](https://github.com/ClickHouse/ClickHouse/pull/85929) ([zoomxi](https://github.com/zoomxi)).
* Corrige un pointeur nul dans OrcSchemaReader::initializeIfNeeded(). Cette PR corrige le problème suivant : [#85292](https://github.com/ClickHouse/ClickHouse/issues/85292). [#85951](https://github.com/ClickHouse/ClickHouse/pull/85951) ([yanglongwei](https://github.com/ylw510)).
* Ajoute une vérification pour n’autoriser les sous-requêtes corrélées dans la clause FROM que si elles utilisent des colonnes de la requête externe. Corrige [#85469](https://github.com/ClickHouse/ClickHouse/issues/85469). Corrige [#85402](https://github.com/ClickHouse/ClickHouse/issues/85402). [#85966](https://github.com/ClickHouse/ClickHouse/pull/85966) ([Dmitry Novik](https://github.com/novikd)).
* Corrige la mise à jour via ALTER d’une colonne dont une sous-colonne est utilisée dans l’expression matérialisée d’une autre colonne. Auparavant, une colonne matérialisée contenant une sous-colonne dans son expression n’était pas correctement mise à jour. [#85985](https://github.com/ClickHouse/ClickHouse/pull/85985) ([Pavel Kruglov](https://github.com/Avogar)).
* Interdit la modification de colonnes dont les sous-colonnes sont utilisées dans la clé primaire ou l’expression de partition. [#86005](https://github.com/ClickHouse/ClickHouse/pull/86005) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige les commandes ALTER COLUMN IF EXISTS qui échouaient lorsque l’état d’une colonne changeait au sein de la même instruction ALTER. Des commandes comme DROP COLUMN IF EXISTS, MODIFY COLUMN IF EXISTS, COMMENT COLUMN IF EXISTS et RENAME COLUMN IF EXISTS gèrent désormais correctement les cas où une colonne est supprimée par une commande précédente dans la même instruction. [#86046](https://github.com/ClickHouse/ClickHouse/pull/86046) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Corrige la lecture des sous-colonnes avec un mode de mapping de colonnes non par défaut dans le moteur de stockage DeltaLake. [#86064](https://github.com/ClickHouse/ClickHouse/pull/86064) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige l’utilisation de valeurs par défaut incorrectes pour un chemin avec un hint Enum dans JSON. [#86065](https://github.com/ClickHouse/ClickHouse/pull/86065) ([Pavel Kruglov](https://github.com/Avogar)).
* Analyse de l’URL du catalog hive DataLake avec assainissement des entrées. Clôt [#86018](https://github.com/ClickHouse/ClickHouse/issues/86018). [#86092](https://github.com/ClickHouse/ClickHouse/pull/86092) ([rajat mohan](https://github.com/rajatmohan22)).
* Corrige une erreur logique lors du redimensionnement dynamique du filesystem cache. Ferme [#86122](https://github.com/ClickHouse/ClickHouse/issues/86122). Ferme [https://github.com/ClickHouse/clickhouse-core-incidents/issues/473](https://github.com/ClickHouse/clickhouse-core-incidents/issues/473). [#86130](https://github.com/ClickHouse/ClickHouse/pull/86130) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Utilise `NonZeroUInt64` pour `logs_to_keep` dans DatabaseReplicatedSettings. [#86142](https://github.com/ClickHouse/ClickHouse/pull/86142) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Une Exception était levée par une query `FINAL` avec skip index si la table (par ex. `ReplacingMergeTree`) était créée avec le paramètre `index_granularity_bytes = 0`. Ce problème est désormais corrigé. [#86147](https://github.com/ClickHouse/ClickHouse/pull/86147) ([Shankar Iyer](https://github.com/shankar-iyer)).
* Élimine de l'UB et corrige des problèmes de parsing de l'expression de partition Iceberg. [#86166](https://github.com/ClickHouse/ClickHouse/pull/86166) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige l'inférence de Date/DateTime/DateTime64 pour les dates hors de la plage prise en charge. [#86184](https://github.com/ClickHouse/ClickHouse/pull/86184) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un crash en présence de blocks const et non const dans un même INSERT. [#86230](https://github.com/ClickHouse/ClickHouse/pull/86230) ([Azat Khuzhin](https://github.com/azat)).
* Traite par défaut les includes de `/etc/metrika.xml` lors de la création de disks depuis SQL. [#86232](https://github.com/ClickHouse/ClickHouse/pull/86232) ([alekar](https://github.com/alekar)).
* Corrige accurateCastOrNull/accurateCastOrDefault de String vers JSON. [#86240](https://github.com/ClickHouse/ClickHouse/pull/86240) ([Pavel Kruglov](https://github.com/Avogar)).
* Prend en charge les répertoires sans '/' dans le moteur Iceberg. [#86249](https://github.com/ClickHouse/ClickHouse/pull/86249) ([scanhex12](https://github.com/scanhex12)).
* Corrige un crash avec replaceRegex, un haystack FixedString et un needle vide. [#86270](https://github.com/ClickHouse/ClickHouse/pull/86270) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige un crash lors de ALTER UPDATE Nullable(JSON). [#86281](https://github.com/ClickHouse/ClickHouse/pull/86281) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige l'absence de la colonne definer dans system.tables. [#86295](https://github.com/ClickHouse/ClickHouse/pull/86295) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige le cast de LowCardinality(Nullable(T)) vers Dynamic. [#86365](https://github.com/ClickHouse/ClickHouse/pull/86365) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une erreur logique lors des écritures dans DeltaLake. Ferme [#86175](https://github.com/ClickHouse/ClickHouse/issues/86175). [#86367](https://github.com/ClickHouse/ClickHouse/pull/86367) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige l'erreur `416 The range specified is invalid for the current size of the resource. The range specified is invalid for the current size of the resource` lors de la lecture de blobs vides depuis Azure blob storage pour le disk plain\_rewritable. [#86400](https://github.com/ClickHouse/ClickHouse/pull/86400) ([Julia Kartseva](https://github.com/jkartseva)).
* Corrige GROUP BY Nullable(JSON). [#86410](https://github.com/ClickHouse/ClickHouse/pull/86410) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un bug dans les Materialized Views : une MV pouvait ne pas fonctionner si elle avait été créée, supprimée, puis recréée avec le même nom. [#86413](https://github.com/ClickHouse/ClickHouse/pull/86413) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Échec si toutes les répliques sont indisponibles lors de la lecture depuis les \*cluster functions. [#86414](https://github.com/ClickHouse/ClickHouse/pull/86414) ([Julian Maicher](https://github.com/jmaicher)).
* Corrige une fuite de `MergesMutationsMemoryTracking` due aux tables `Buffer` et corrige `query_views_log` pour le streaming depuis `Kafka` (et d'autres sources). [#86422](https://github.com/ClickHouse/ClickHouse/pull/86422) ([Azat Khuzhin](https://github.com/azat)).
* Corrige `show tables` après la suppression de la table de référence du stockage d'alias. [#86433](https://github.com/ClickHouse/ClickHouse/pull/86433) ([RinChanNOW](https://github.com/RinChanNOWWW)).
* Corrige l'absence d'en-tête de chunk lorsque send\_chunk\_header est activé et qu'une UDF est invoquée via le protocole HTTP. [#86469](https://github.com/ClickHouse/ClickHouse/pull/86469) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Corrige un interblocage possible lorsque les flushes du profil jemalloc sont activés. [#86473](https://github.com/ClickHouse/ClickHouse/pull/86473) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la lecture des sous-colonnes dans le moteur de table DeltaLake. Ferme [#86204](https://github.com/ClickHouse/ClickHouse/issues/86204). [#86477](https://github.com/ClickHouse/ClickHouse/pull/86477) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Gère correctement l'ID d'hôte loopback pour éviter les collisions lors du traitement des tâches DDL:. [#86479](https://github.com/ClickHouse/ClickHouse/pull/86479) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige detach/attach pour les tables du moteur de base de données PostgreSQL avec des colonnes numériques/décimales. [#86480](https://github.com/ClickHouse/ClickHouse/pull/86480) ([Julian Maicher](https://github.com/jmaicher)).
* Corrige l'utilisation de mémoire non initialisée dans getSubcolumnType. [#86498](https://github.com/ClickHouse/ClickHouse/pull/86498) ([Raúl Marín](https://github.com/Algunenano)).
* Les fonctions `searchAny` et `searchAll`, lorsqu'elles sont appelées avec des motifs de recherche vides, renvoient désormais `true` (c.-à-d. "correspond à tout"). Auparavant, elles renvoyaient `false`. (issue [#86300](https://github.com/ClickHouse/ClickHouse/issues/86300)). [#86500](https://github.com/ClickHouse/ClickHouse/pull/86500) ([Elmi Ahmadov](https://github.com/ahmadov)).
* Corrige la fonction `timeSeriesResampleToGridWithStaleness()` lorsque le premier intervalle n'a pas de valeur. [#86507](https://github.com/ClickHouse/ClickHouse/pull/86507) ([Vitaly Baranov](https://github.com/vitlibar)).
* Corrige un plantage causé par `merge_tree_min_read_task_size` défini à 0. [#86527](https://github.com/ClickHouse/ClickHouse/pull/86527) ([yanglongwei](https://github.com/ylw510)).
* Lors de la lecture, le format de chaque fichier de données est désormais récupéré depuis les métadonnées Iceberg (auparavant, il était récupéré à partir des arguments de table). [#86529](https://github.com/ClickHouse/ClickHouse/pull/86529) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige un plantage où certaines données valides soumises par l'utilisateur dans une colonne `AggregateFunction(quantileDD)` pouvaient faire entrer les fusions en récursion infinie. [#86560](https://github.com/ClickHouse/ClickHouse/pull/86560) ([Raphaël Thériault](https://github.com/raphael-theriault-swi)).
* Corrige le moteur de base de données Backup qui levait une exception lors d'une requête avec des fichiers de part de taille nulle. [#86563](https://github.com/ClickHouse/ClickHouse/pull/86563) ([Max Justus Spransy](https://github.com/maxjustus)).
* Corrige l'absence d'en-tête de chunk lorsque send\_chunk\_header est activé et qu'une UDF est invoquée via le protocole HTTP. [#86606](https://github.com/ClickHouse/ClickHouse/pull/86606) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction de l’erreur logique S3Queue "Expected current processor {} to be equal to {}", due à l’expiration de la session Keeper. [#86615](https://github.com/ClickHouse/ClickHouse/pull/86615) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrections de bugs de nullabilité dans `insert` et l’élagage. Cela clôt [#86407](https://github.com/ClickHouse/ClickHouse/issues/86407). [#86630](https://github.com/ClickHouse/ClickHouse/pull/86630) ([scanhex12](https://github.com/scanhex12)).
* Ne pas désactiver le cache du système de fichiers si le cache de métadonnées Iceberg est désactivé. [#86635](https://github.com/ClickHouse/ClickHouse/pull/86635) ([Daniil Ivanik](https://github.com/divanik)).
* Correction de l’erreur 'Deadlock in Parquet::ReadManager (single-threaded)' dans le lecteur Parquet v3. [#86644](https://github.com/ClickHouse/ClickHouse/pull/86644) ([Michael Kolupaev](https://github.com/al13n321)).
* Correction de la prise en charge d’IPv6 dans `listen_host` pour ArrowFlight. [#86664](https://github.com/ClickHouse/ClickHouse/pull/86664) ([Vitaly Baranov](https://github.com/vitlibar)).
* Correction de l’arrêt du handler `ArrowFlight`. Cette PR corrige [#86596](https://github.com/ClickHouse/ClickHouse/issues/86596). [#86665](https://github.com/ClickHouse/ClickHouse/pull/86665) ([Vitaly Baranov](https://github.com/vitlibar)).
* Correction des requêtes distribuées avec `describe_compact_output=1`. [#86676](https://github.com/ClickHouse/ClickHouse/pull/86676) ([Azat Khuzhin](https://github.com/azat)).
* Correction de l’analyse des définitions de fenêtre et de l’application des paramètres de requête. [#86720](https://github.com/ClickHouse/ClickHouse/pull/86720) ([Azat Khuzhin](https://github.com/azat)).
* Correction de l’exception `Partition strategy wildcard can not be used without a '_partition_id' wildcard.` lors de la création d’une table avec `PARTITION BY`, mais sans joker de partition, ce qui fonctionnait dans les versions antérieures à 25.8. Clôt [https://github.com/ClickHouse/clickhouse-private/issues/37567](https://github.com/ClickHouse/clickhouse-private/issues/37567). [#86748](https://github.com/ClickHouse/ClickHouse/pull/86748) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction d’un LogicalError lorsque des requêtes parallèles tentent d’acquérir un verrou unique. [#86751](https://github.com/ClickHouse/ClickHouse/pull/86751) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Correction de l’écriture de NULL dans les données partagées JSON au format d’entrée RowBinary, avec ajout de validations supplémentaires dans ColumnObject. [#86812](https://github.com/ClickHouse/ClickHouse/pull/86812) ([Pavel Kruglov](https://github.com/Avogar)).
* Prise en charge des types JSON/Dynamic dans une table créée avec la table function `cluster`. [#86821](https://github.com/ClickHouse/ClickHouse/pull/86821) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction d’une permutation Tuple vide avec une limite. [#86828](https://github.com/ClickHouse/ClickHouse/pull/86828) ([Pavel Kruglov](https://github.com/Avogar)).
* Ne pas utiliser de nœud Keeper distinct pour les nœuds de traitement persistants. Correctif pour [https://github.com/ClickHouse/ClickHouse/pull/85995](https://github.com/ClickHouse/ClickHouse/pull/85995). Clôt [#86406](https://github.com/ClickHouse/ClickHouse/issues/86406). [#86841](https://github.com/ClickHouse/ClickHouse/pull/86841) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Correction d’une table du moteur TimeSeries qui bloquait la création d’une nouvelle replica dans une base de données Replicated. [#86845](https://github.com/ClickHouse/ClickHouse/pull/86845) ([Nikolay Degterinsky](https://github.com/evillique)).
* Correction de l’interrogation de `system.distributed_ddl_queue` dans les cas où certaines tâches n’ont pas certains nœuds Keeper. [#86848](https://github.com/ClickHouse/ClickHouse/pull/86848) ([Antonio Andelic](https://github.com/antonio2368)).
* Correction du seek à la fin du bloc décompressé. [#86906](https://github.com/ClickHouse/ClickHouse/pull/86906) ([Pavel Kruglov](https://github.com/Avogar)).
* Traitement de l’exception levée lors de l’exécution asynchrone de l’itérateur Iceberg. [#86932](https://github.com/ClickHouse/ClickHouse/pull/86932) ([Daniil Ivanik](https://github.com/divanik)).
* Correction de l’enregistrement des grosses configurations XML prétraitées. [#86934](https://github.com/ClickHouse/ClickHouse/pull/86934) ([c-end](https://github.com/c-end)).
* Correction du remplissage du champ de date dans la table system.iceberg\_metadata\_log. [#86961](https://github.com/ClickHouse/ClickHouse/pull/86961) ([Daniil Ivanik](https://github.com/divanik)).
* Correction du recalcul infini de `TTL` avec `WHERE`. [#86965](https://github.com/ClickHouse/ClickHouse/pull/86965) ([Anton Popov](https://github.com/CurtizJ)).
* Correction du résultat non déterministe d’une fonction calculée dans une CTE au sein de la query. [#86967](https://github.com/ClickHouse/ClickHouse/pull/86967) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Correction de LOGICAL\_ERROR dans EXPLAIN avec pointInPolygon sur les colonnes de clé primaire. [#86971](https://github.com/ClickHouse/ClickHouse/pull/86971) ([Michael Kolupaev](https://github.com/al13n321)).
* Correction d’un résultat potentiellement incorrect de la fonction `uniqExact` avec les modificateurs `ROLLUP` et `CUBE`. [#87014](https://github.com/ClickHouse/ClickHouse/pull/87014) ([Nikita Taranov](https://github.com/nickitat)).
* Correction des tables de data lake dont le nom contient une séquence percent-encoded. Clôture de [#86626](https://github.com/ClickHouse/ClickHouse/issues/86626). [#87020](https://github.com/ClickHouse/ClickHouse/pull/87020) ([Anton Ivashkin](https://github.com/ianton-ru)).
* Correction de la résolution du schéma de table avec la table function `url()` lorsque le paramètre `parallel_replicas_for_cluster_functions` est défini sur 1. [#87029](https://github.com/ClickHouse/ClickHouse/pull/87029) ([Konstantin Bogdanov](https://github.com/thevar1able)).
* Conversion correcte de la sortie de PREWHERE après sa division en plusieurs étapes. [#87040](https://github.com/ClickHouse/ClickHouse/pull/87040) ([Antonio Andelic](https://github.com/antonio2368)).
* Correction des lightweight updates avec la clause `ON CLUSTER`. [#87043](https://github.com/ClickHouse/ClickHouse/pull/87043) ([Anton Popov](https://github.com/CurtizJ)).
* Correction de la compatibilité de certains aggregate function states avec un String argument. [#87049](https://github.com/ClickHouse/ClickHouse/pull/87049) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction du comportement incorrect de `IS NULL` sur les colonnes Nullable dans `OUTER JOIN` avec `optimize_functions_to_subcolumns`, clôture de [#78625](https://github.com/ClickHouse/ClickHouse/issues/78625). [#87058](https://github.com/ClickHouse/ClickHouse/pull/87058) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Correction d’un problème où le nom du modèle d’OpenAI n’était pas transmis. [#87100](https://github.com/ClickHouse/ClickHouse/pull/87100) ([Kaushik Iska](https://github.com/iskakaushik)).
* EmbeddedRocksDB : le path doit se trouver dans user\_files. [#87109](https://github.com/ClickHouse/ClickHouse/pull/87109) ([Raúl Marín](https://github.com/Algunenano)).
* Correction des tables KeeperMap créées avant la version 25.1, qui laissaient des données dans ZooKeeper après la query DROP. [#87112](https://github.com/ClickHouse/ClickHouse/pull/87112) ([Nikolay Degterinsky](https://github.com/evillique)).
* Correction de la lecture des identifiants de field des maps et arrays dans Parquet. [#87136](https://github.com/ClickHouse/ClickHouse/pull/87136) ([scanhex12](https://github.com/scanhex12)).
* Correction de la lecture d’un array avec la subcolumn des tailles d’array en lazy materialization. [#87139](https://github.com/ClickHouse/ClickHouse/pull/87139) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une comptabilisation incorrecte des désallocations de données temporaires dans le suivi de la limite `max_temporary_data_on_disk_size`, clôt [#87118](https://github.com/ClickHouse/ClickHouse/issues/87118). [#87140](https://github.com/ClickHouse/ClickHouse/pull/87140) ([JIaQi](https://github.com/JiaQiTang98)).
* La fonction checkHeaders valide désormais correctement les en-têtes fournis et rejette les en-têtes interdits. Auteur original : Michael Anastasakis (@michael-anastasakis). [#87172](https://github.com/ClickHouse/ClickHouse/pull/87172) ([Raúl Marín](https://github.com/Algunenano)).
* Uniformise le comportement de `toDate` et `toDate32` pour tous les types numériques. Corrige la vérification d'underflow de Date32 lors d'une conversion depuis int16. [#87176](https://github.com/ClickHouse/ClickHouse/pull/87176) ([Pervakov Grigorii](https://github.com/GrigoryPervakov)).
* Corrige la fonction CASE avec des arguments Dynamic. [#87177](https://github.com/ClickHouse/ClickHouse/pull/87177) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une erreur logique avec les répliques parallèles pour les requêtes comportant plusieurs JOIN, en particulier avec un RIGHT JOIN après un LEFT/INNER JOIN. [#87178](https://github.com/ClickHouse/ClickHouse/pull/87178) ([Igor Nikonov](https://github.com/devcrafter)).
* Respecte le paramètre `input_format_try_infer_variants` dans le cache d'inférence de schéma. [#87180](https://github.com/ClickHouse/ClickHouse/pull/87180) ([Pavel Kruglov](https://github.com/Avogar)).
* Fait en sorte que pathStartsWith ne corresponde qu'aux chemins situés sous le préfixe. [#87181](https://github.com/ClickHouse/ClickHouse/pull/87181) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige la lecture d'un tableau vide à partir d'une chaîne vide en CSV. [#87182](https://github.com/ClickHouse/ClickHouse/pull/87182) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige un résultat potentiellement erroné de `EXISTS` non corrélé. Le problème a été introduit avec `execute_exists_as_scalar_subquery=1` dans [https://github.com/ClickHouse/ClickHouse/pull/85481](https://github.com/ClickHouse/ClickHouse/pull/85481) et affecte `25.8`. Corrige [#86415](https://github.com/ClickHouse/ClickHouse/issues/86415). [#87207](https://github.com/ClickHouse/ClickHouse/pull/87207) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige des erreurs logiques dans la colonne virtuelle `_row_number` et les suppressions positionnelles Iceberg. [#87220](https://github.com/ClickHouse/ClickHouse/pull/87220) ([Michael Kolupaev](https://github.com/al13n321)).
* Corrige l'erreur `LOGICAL_ERROR` "Too large size passed to allocator" dans `JOIN`, due à un mélange de blocs const et non const. [#87231](https://github.com/ClickHouse/ClickHouse/pull/87231) ([Azat Khuzhin](https://github.com/azat)).
* Déclenche une erreur si iceberg\_metadata\_log n'est pas configuré alors que l'utilisateur tente d'obtenir des informations de débogage sur les métadonnées Iceberg. Corrige un accès à nullptr. [#87250](https://github.com/ClickHouse/ClickHouse/pull/87250) ([Daniil Ivanik](https://github.com/divanik)).
* Corrige les lightweight updates avec des sous-requêtes qui lisent depuis d'autres tables `MergeTree`. [#87285](https://github.com/ClickHouse/ClickHouse/pull/87285) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige l'optimisation move-to-prewhere, qui ne fonctionnait pas en présence d'une policy de lignes. Suite de [#85118](https://github.com/ClickHouse/ClickHouse/issues/85118). Clôt [#69777](https://github.com/ClickHouse/ClickHouse/issues/69777). Clôt [#83748](https://github.com/ClickHouse/ClickHouse/issues/83748). [#87303](https://github.com/ClickHouse/ClickHouse/pull/87303) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige l'application de patches à des colonnes avec une expression par défaut absentes des data parts. [#87347](https://github.com/ClickHouse/ClickHouse/pull/87347) ([Anton Popov](https://github.com/CurtizJ)).
* Correction de la mise à niveau d’EmbeddedRocksDB. [#87392](https://github.com/ClickHouse/ClickHouse/pull/87392) ([Raúl Marín](https://github.com/Algunenano)).
* Correction de la lecture directe depuis l’index textuel sur le stockage objet. [#87399](https://github.com/ClickHouse/ClickHouse/pull/87399) ([Anton Popov](https://github.com/CurtizJ)).
* Empêche la création d’un privilège avec un moteur inexistant. [#87419](https://github.com/ClickHouse/ClickHouse/pull/87419) ([Jitendra](https://github.com/jitendra1411)).
* Ignorer uniquement les erreurs « not found » pour `s3_plain_rewritable` (ce qui peut entraîner toutes sortes de problèmes). [#87426](https://github.com/ClickHouse/ClickHouse/pull/87426) ([Azat Khuzhin](https://github.com/azat)).
* Correction des dictionnaires avec une source YTSaurus et des layouts \*range\_hashed. [#87490](https://github.com/ClickHouse/ClickHouse/pull/87490) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Correction de la création d’un tableau de tuples vides. [#87520](https://github.com/ClickHouse/ClickHouse/pull/87520) ([Pavel Kruglov](https://github.com/Avogar)).
* Vérification des colonnes non autorisées lors de la création d’une table temporaire. [#87524](https://github.com/ClickHouse/ClickHouse/pull/87524) ([Pavel Kruglov](https://github.com/Avogar)).
* Ne jamais placer les colonnes de partition Hive dans l’en-tête du format. Corrige [#87515](https://github.com/ClickHouse/ClickHouse/issues/87515). [#87528](https://github.com/ClickHouse/ClickHouse/pull/87528) ([Arthur Passos](https://github.com/arthurpassos)).
* Correction de la préparation de la lecture depuis le format dans DeltaLake lorsqu’un format texte est utilisé. [#87529](https://github.com/ClickHouse/ClickHouse/pull/87529) ([Pavel Kruglov](https://github.com/Avogar)).
* Correction de la validation des accès pour SELECT et INSERT sur les tables Buffer. [#87545](https://github.com/ClickHouse/ClickHouse/pull/87545) ([pufit](https://github.com/pufit)).
* Interdit la création d’un index de saut de données pour une table S3. [#87554](https://github.com/ClickHouse/ClickHouse/pull/87554) ([Bharat Nallan](https://github.com/bharatnc)).
* Évite les fuites de mémoire comptabilisée pour la journalisation asynchrone (ce qui peut provoquer un écart important, d’environ 100 GiB sur 10 heures) et pour `text&#95;log` (un écart presque identique est possible). [#87584](https://github.com/ClickHouse/ClickHouse/pull/87584) ([Azat Khuzhin](https://github.com/azat)).
* Correction d’un bug qui pouvait entraîner l’écrasement des paramètres serveur globaux par les paramètres SELECT d’une View ou d’une Materialized View, si cette vue était supprimée de manière asynchrone et que le serveur redémarrait avant la fin du nettoyage en arrière-plan. [#87603](https://github.com/ClickHouse/ClickHouse/pull/87603) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Exclure les octets du cache de pages en espace utilisateur (si possible) lors du calcul de l’avertissement de surcharge mémoire. [#87610](https://github.com/ClickHouse/ClickHouse/pull/87610) ([Bharat Nallan](https://github.com/bharatnc)).
* Correction d’un bug où un ordre incorrect des types lors de la désérialisation CSV entraînait `LOGICAL_ERROR`. [#87622](https://github.com/ClickHouse/ClickHouse/pull/87622) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Correction de la gestion incorrecte de `command_read_timeout` pour les dictionnaires exécutables. [#87627](https://github.com/ClickHouse/ClickHouse/pull/87627) ([Azat Khuzhin](https://github.com/azat)).
* Correction du comportement incorrect de SELECT \* REPLACE dans la clause WHERE avec le nouvel analyseur lors du filtrage sur des colonnes remplacées. [#87630](https://github.com/ClickHouse/ClickHouse/pull/87630) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Correction de l’agrégation à deux niveaux lors de l’utilisation de `Merge` sur `Distributed`. [#87687](https://github.com/ClickHouse/ClickHouse/pull/87687) ([c-end](https://github.com/c-end)).
* Corrige la génération du bloc de sortie dans l’algorithme HashJoin lorsque la liste de lignes de droite n’est pas utilisée. Corrige [#87401](https://github.com/ClickHouse/ClickHouse/issues/87401). [#87699](https://github.com/ClickHouse/ClickHouse/pull/87699) ([Dmitry Novik](https://github.com/novikd)).
* Le mode de lecture avec parallel replicas pouvait être sélectionné de manière incorrecte s’il n’y avait aucune donnée à lire après application de l’analyse des index. Clôt [#87653](https://github.com/ClickHouse/ClickHouse/issues/87653). [#87700](https://github.com/ClickHouse/ClickHouse/pull/87700) ([zoomxi](https://github.com/zoomxi)).
* Corrige la gestion des colonnes `timestamp` / `timestamptz` dans Glue. [#87733](https://github.com/ClickHouse/ClickHouse/pull/87733) ([Andrey Zvonov](https://github.com/zvonand)).
* Clôt [#86587](https://github.com/ClickHouse/ClickHouse/issues/86587). [#87761](https://github.com/ClickHouse/ClickHouse/pull/87761) ([scanhex12](https://github.com/scanhex12)).
* Corrige l’écriture des valeurs booléennes dans l’interface PostgreSQL. [#87762](https://github.com/ClickHouse/ClickHouse/pull/87762) ([Artem Yurov](https://github.com/ArtemYurov)).
* Corrige l’erreur de table inconnue dans une requête insert select avec CTE. [#85368](https://github.com/ClickHouse/ClickHouse/issues/85368). [#87789](https://github.com/ClickHouse/ClickHouse/pull/87789) ([Guang Zhao](https://github.com/zheguang)).
* Corrige la lecture d’une sous-colonne map NULL à partir de Variant qui ne peuvent pas être à l’intérieur de Nullable. [#87798](https://github.com/ClickHouse/ClickHouse/pull/87798) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige une erreur de gestion en cas d’échec de suppression complète de la base de données sur le cluster, sur le nœud secondaire. [#87802](https://github.com/ClickHouse/ClickHouse/pull/87802) ([Tuan Pham Anh](https://github.com/tuanpach)).
* Corrige plusieurs bugs liés aux index de saut. [#87817](https://github.com/ClickHouse/ClickHouse/pull/87817) ([Raúl Marín](https://github.com/Algunenano)).
* Dans AzureBlobStorage, mise à jour pour tenter d’abord la copie native, puis basculer vers la lecture et l’écriture en cas d’erreur 'Unauthroized' (dans AzureBlobStorage, si les storage accounts de la source et de la destination sont différents, nous obtenons une erreur 'Unauthorized'). Corrige également l’application de "use\_native\_copy" lorsqu’un endpoint est défini dans la configuration. [#87826](https://github.com/ClickHouse/ClickHouse/pull/87826) ([Smita Kulkarni](https://github.com/SmitaRKulkarni)).
* ClickHouse plante si le fichier ArrowStream contient un Dictionary non unique. [#87863](https://github.com/ClickHouse/ClickHouse/pull/87863) ([Ilya Golshtein](https://github.com/ilejn)).
* Corrige la fusion avec des projections lorsque le dernier bloc est vide. [#87928](https://github.com/ClickHouse/ClickHouse/pull/87928) ([Raúl Marín](https://github.com/Algunenano)).
* Ne supprime pas les fonctions injectives de GROUP BY si les types des arguments ne sont pas autorisés dans GROUP BY. [#87958](https://github.com/ClickHouse/ClickHouse/pull/87958) ([Pavel Kruglov](https://github.com/Avogar)).
* Corrige l’élimination incorrecte des granules/partitions pour les clés basées sur datetime lors de l’utilisation du paramètre `session_timezone` dans les requêtes. [#87987](https://github.com/ClickHouse/ClickHouse/pull/87987) ([Eduard Karacharov](https://github.com/korowa)).
* Renvoie le nombre de lignes affectées après la requête dans l’interface PostgreSQL. [#87990](https://github.com/ClickHouse/ClickHouse/pull/87990) ([Artem Yurov](https://github.com/ArtemYurov)).
* Restreint l’utilisation du filter pushdown pour PASTE JOIN, car cela peut produire des résultats incorrects. [#88078](https://github.com/ClickHouse/ClickHouse/pull/88078) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Applique la normalisation des URI avant l’évaluation de la vérification des droits introduite par [https://github.com/ClickHouse/ClickHouse/pull/84503](https://github.com/ClickHouse/ClickHouse/pull/84503). [#88089](https://github.com/ClickHouse/ClickHouse/pull/88089) ([pufit](https://github.com/pufit)).
* Corrige une erreur logique lorsque ARRAY JOIN COLUMNS() ne correspond à aucune colonne dans le nouvel analyseur. [#88091](https://github.com/ClickHouse/ClickHouse/pull/88091) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Corrige l’avertissement "Utilisation élevée de la mémoire de ClickHouse" (hors page cache). [#88092](https://github.com/ClickHouse/ClickHouse/pull/88092) ([Azat Khuzhin](https://github.com/azat)).
* Corrige une possible corruption de données dans les tables `MergeTree` avec un `TTL` défini sur une colonne. [#88095](https://github.com/ClickHouse/ClickHouse/pull/88095) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige un plantage dans les fonctions `mortonEncode` et `hilbertEncode` lorsqu’elles sont appelées avec un argument tuple vide. [#88110](https://github.com/ClickHouse/ClickHouse/pull/88110) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Désormais, les requêtes `ON CLUSTER` prendront moins de temps en présence de répliques inactives dans le cluster. [#88153](https://github.com/ClickHouse/ClickHouse/pull/88153) ([alesapin](https://github.com/alesapin)).
* Désormais, le worker DDL nettoie les hôtes obsolètes de l’ensemble des répliques. Cela réduira la quantité de métadonnées stockées dans ZooKeeper. [#88154](https://github.com/ClickHouse/ClickHouse/pull/88154) ([alesapin](https://github.com/alesapin)).
* Annule correctement l’opération de déplacement de répertoire en cas d’erreur. Il faut réécrire tous les objets `prefix.path` modifiés pendant l’exécution, et pas seulement l’objet racine. [#88198](https://github.com/ClickHouse/ClickHouse/pull/88198) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Corrige la propagation de l’indicateur `is_shared` dans `ColumnLowCardinality`. Cela pouvait entraîner un résultat de group-by erroné si une nouvelle valeur était insérée dans une colonne après le précalcul et la mise en cache des valeurs de hachage dans `ReverseIndex`. [#88213](https://github.com/ClickHouse/ClickHouse/pull/88213) ([Nikita Taranov](https://github.com/nickitat)).
* Corrige le workload setting `max_cpu_share`. Il peut désormais être utilisé sans définir le workload setting `max_cpus`. [#88217](https://github.com/ClickHouse/ClickHouse/pull/88217) ([Neerav](https://github.com/neeravsalaria)).
* Corrige un bogue où des mutations très lourdes avec des sous-requêtes pouvaient rester bloquées à l’étape de préparation. Il est désormais possible d’arrêter ces mutations avec `SYSTEM STOP MERGES`. [#88241](https://github.com/ClickHouse/ClickHouse/pull/88241) ([alesapin](https://github.com/alesapin)).
* Désormais, les sous-requêtes corrélées fonctionneront avec les stockages d’objets. [#88290](https://github.com/ClickHouse/ClickHouse/pull/88290) ([alesapin](https://github.com/alesapin)).
* Évite de tenter d’initialiser les bases de données DataLake lors de l’accès à `system.projections` et `system.data_skipping_indices`. [#88330](https://github.com/ClickHouse/ClickHouse/pull/88330) ([Azat Khuzhin](https://github.com/azat)).
* Désormais, les catalogues des data lakes ne seront affichés dans les tables d’introspection système que si `show_data_lake_catalogs_in_system_tables` est explicitement activé. [#88341](https://github.com/ClickHouse/ClickHouse/pull/88341) ([alesapin](https://github.com/alesapin)).
* Corrige DatabaseReplicated afin qu’il respecte la configuration `interserver_http_host`. [#88378](https://github.com/ClickHouse/ClickHouse/pull/88378) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Les arguments positionnels sont désormais explicitement désactivés lors de la définition des projections, car ils n’ont pas de sens à cette étape interne de la requête. Cela corrige [#48604](https://github.com/ClickHouse/ClickHouse/issues/48604). [#88380](https://github.com/ClickHouse/ClickHouse/pull/88380) ([Amos Bird](https://github.com/amosbird)).
* Corrige la complexité quadratique de la fonction `countMatches`. Résout [#88400](https://github.com/ClickHouse/ClickHouse/issues/88400). [#88401](https://github.com/ClickHouse/ClickHouse/pull/88401) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Rend répliquées les commandes `ALTER COLUMN ... COMMENT` pour les tables KeeperMap afin qu’elles soient enregistrées dans les métadonnées de la base de données Replicated et propagées sur toutes les répliques. Résout [#88077](https://github.com/ClickHouse/ClickHouse/issues/88077). [#88408](https://github.com/ClickHouse/ClickHouse/pull/88408) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige un cas de fausse dépendance cyclique avec les vues matérialisées dans la base de données Replicated, qui empêchait l’ajout de nouvelles répliques à la base de données. [#88423](https://github.com/ClickHouse/ClickHouse/pull/88423) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrige l’agrégation des colonnes éparses lorsque `group_by_overflow_mode` est défini sur `any`. [#88440](https://github.com/ClickHouse/ClickHouse/pull/88440) ([Eduard Karacharov](https://github.com/korowa)).
* Corrige l’erreur "colonne introuvable" lors de l’utilisation de `query_plan_use_logical_join_step=0` avec plusieurs clauses FULL JOIN USING. Résout [#88103](https://github.com/ClickHouse/ClickHouse/issues/88103). [#88473](https://github.com/ClickHouse/ClickHouse/pull/88473) ([Vladimir Cherkasov](https://github.com/vdimir)).
* Les grands clusters avec des numéros de nœud > 10 ont une forte probabilité d’échec lors de la restauration avec l’erreur `[941] 67c45db4-4df4-4879-87c5-25b8d1e0d414 <Trace>: RestoreCoordinationOnCluster The version of node /clickhouse/backups/restore-7c551a77-bd76-404c-bad0-3213618ac58e/stage/num_hosts changed (attempt #9), will try again`. Le nœud `num_hosts` est écrasé par de nombreux hôtes en même temps. Le correctif rend dynamique le paramètre qui contrôle le nombre de tentatives. Résout [#87721](https://github.com/ClickHouse/ClickHouse/issues/87721). [#88484](https://github.com/ClickHouse/ClickHouse/pull/88484) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Cette PR vise uniquement à assurer la compatibilité avec la version 23.8 et les versions antérieures. Le problème de compatibilité a été introduit par cette PR : [https://github.com/ClickHouse/ClickHouse/pull/54240](https://github.com/ClickHouse/ClickHouse/pull/54240). Cette requête SQL échoue avec `enable_analyzer=0` (avant 23.8, cela fonctionnait) `select * from t1 s final join ( select * from t2 final ) r final on s.key = r.key join ( select * from t3 final ) c final on s.key = c.key`, car `JoinToSubqueryTransformVisitor` réécrit cette requête SQL en `` SELECT `_--s.key` AS `s.key`, `_--s.value` AS `s.value`, `_--r.key` AS `r.key`, `_--r.value` AS `r.value`, `_--c.key` AS `c.key`, `_--c.value` AS `c.value` FROM ( SELECT value AS `_--s.value`, key AS `_--s.key`, r.value AS `_--r.value`, r.key AS `_--r.key` FROM t1 AS s FINAL ALL INNER JOIN ( SELECT key, value FROM t2 FINAL ) AS r FINAL ON `_--s.key` = `_--r.key` ) AS `--.s` ALL INNER JOIN ( SELECT value AS `_--c.value`, key AS `_--c.key` FROM ( SELECT key, value FROM t3 FINAL ) AS c FINAL ) AS `--.t` ON `_--s.key` = `_--c.key` ``. Nous voulons réécrire cette requête SQL ainsi (en déplaçant simplement le dernier FINAL) `` SELECT `_--s.key` AS `s.key`, `_--s.value` AS `s.value`, `_--r.key` AS `r.key`, `_--r.value` AS `r.value`, `_--c.key` AS `c.key`, `_--c.value` AS `c.value` FROM ( SELECT value AS `_--s.value`, key AS `_--s.key`, r.value AS `_--r.value`, r.key AS `_--r.key` FROM t1 AS s FINAL ALL INNER JOIN ( SELECT key, value FROM t2 FINAL ) AS r FINAL ON `_--s.key` = `_--r.key` ) AS `--.s` ALL INNER JOIN ( SELECT value AS `_--c.value`, key AS `_--c.key` FROM ( SELECT key, value FROM t3 FINAL ) AS c ) AS `--.t` FINAL ON `_--s.key` = `_--c.key` ``. [#88491](https://github.com/ClickHouse/ClickHouse/pull/88491) ([JIaQi](https://github.com/JiaQiTang98)).
* Correction d'un débordement entier UBSAN dans le message d'erreur `accurateCast` lors de la conversion de grandes valeurs en DateTime. [#88520](https://github.com/ClickHouse/ClickHouse/pull/88520) ([xiaohuanlin](https://github.com/xiaohuanlin)).
* Correction de CoalescingMergeTree pour les types Tuple. Cela clôt [#88469](https://github.com/ClickHouse/ClickHouse/issues/88469). [#88526](https://github.com/ClickHouse/ClickHouse/pull/88526) ([scanhex12](https://github.com/scanhex12)).
* Interdiction des suppressions pour `iceberg_format_version=1`. Cela clôt [#88444](https://github.com/ClickHouse/ClickHouse/issues/88444). [#88532](https://github.com/ClickHouse/ClickHouse/pull/88532) ([scanhex12](https://github.com/scanhex12)).
* Ce correctif corrige l'opération de déplacement des disques `plain-rewritable` pour des répertoires de profondeur arbitraire. [#88586](https://github.com/ClickHouse/ClickHouse/pull/88586) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Correction de SQL SECURITY DEFINER avec les fonctions \*cluster. [#88588](https://github.com/ClickHouse/ClickHouse/pull/88588) ([Julian Maicher](https://github.com/jmaicher)).
* Correction d'un crash potentiel causé par une mutation concurrente des colonnes const PREWHERE sous-jacentes. [#88605](https://github.com/ClickHouse/ClickHouse/pull/88605) ([Azat Khuzhin](https://github.com/azat)).
* Correction de la lecture depuis l'index de texte et activation du cache des conditions de requête (avec les paramètres `use_skip_indexes_on_data_read` et `use_query_condition_cache` activés). [#88660](https://github.com/ClickHouse/ClickHouse/pull/88660) ([Anton Popov](https://github.com/CurtizJ)).
* Une exception `Poco::TimeoutException` levée par `Poco::Net::HTTPChunkedStreamBuf::readFromDevice` provoque un plantage avec SIGABRT. [#88668](https://github.com/ClickHouse/ClickHouse/pull/88668) ([Miсhael Stetsyuk](https://github.com/mstetsyuk)).
* Correction de l’ajout à `system.zookeeper_connection_log` lorsque ClickHouse se connecte pour la première fois après le rechargement de la configuration. [#88728](https://github.com/ClickHouse/ClickHouse/pull/88728) ([Antonio Andelic](https://github.com/antonio2368)).
* Correction d’un bug où la conversion de DateTime64 en Date avec `date_time_overflow_behavior = 'saturate'` pouvait produire des résultats incorrects pour des valeurs hors plage lors de l’utilisation de fuseaux horaires. [#88737](https://github.com/ClickHouse/ClickHouse/pull/88737) ([Manuel](https://github.com/raimannma)).
* Énième tentative de correction de l’« erreur de zéro octet » avec le moteur de table S3 lorsque le cache est activé. [#88740](https://github.com/ClickHouse/ClickHouse/pull/88740) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige la validation des accès sur select pour la fonction de table `loop`. [#88802](https://github.com/ClickHouse/ClickHouse/pull/88802) ([pufit](https://github.com/pufit)).
* Intercepte les exceptions lorsque le logging asynchrone échoue afin d’éviter l’arrêt du programme. [#88814](https://github.com/ClickHouse/ClickHouse/pull/88814) ([Raúl Marín](https://github.com/Algunenano)).
