ClickHouse/docs/fr/whats-new/changelog/2018.md

1064 lines
135 KiB
Markdown
Raw Normal View History

---
machine_translated: true
machine_translated_rev: f865c9653f9df092694258e0ccdd733c339112f5
toc_priority: 78
toc_title: '2018'
---
## Clickhouse Version 18.16 {#clickhouse-release-18-16}
### Clickhouse Version 18.16.1, 2018-12-21 {#clickhouse-release-18-16-1-2018-12-21}
#### Corrections De Bugs: {#bug-fixes}
- Correction dune erreur qui a conduit à des problèmes avec la mise à jour des dictionnaires avec la source ODBC. [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829)
- La compilation JIT des fonctions dagrégat fonctionne maintenant avec des colonnes LowCardinality. [\#3838](https://github.com/ClickHouse/ClickHouse/issues/3838)
#### Amélioration: {#improvements}
- Ajouté le `low_cardinality_allow_in_native_format` paramètre enabled (activé, option par défaut). Lorsquelles sont désactivées, les colonnes LowCardinality seront converties en colonnes ordinaires pour les requêtes SELECT et les colonnes ordinaires seront attendues pour les requêtes INSERT. [\#3879](https://github.com/ClickHouse/ClickHouse/pull/3879)
#### Construire Des améliorations: {#build-improvements}
- Corrections pour les builds sur macOS et ARM.
### Clickhouse Version 18.16.0, 2018-12-14 {#clickhouse-release-18-16-0-2018-12-14}
#### Nouveauté: {#new-features}
- `DEFAULT` les expressions sont évaluées pour les champs manquants lors du chargement de données dans des formats dentrée semi-structurés (`JSONEachRow`, `TSKV`). La fonction est activée avec le `insert_sample_with_metadata` paramètre. [\#3555](https://github.com/ClickHouse/ClickHouse/pull/3555)
- Le `ALTER TABLE` la requête a maintenant la `MODIFY ORDER BY` action pour changer la clé de tri lors de lajout ou de la suppression dune colonne de table. Ceci est utile pour les tables dans la `MergeTree` famille qui effectuent des tâches supplémentaires lors de la fusion en fonction de cette clé de tri, telles que `SummingMergeTree`, `AggregatingMergeTree` et ainsi de suite. [\#3581](https://github.com/ClickHouse/ClickHouse/pull/3581) [\#3755](https://github.com/ClickHouse/ClickHouse/pull/3755)
- Pour les tableaux dans le `MergeTree` famille, maintenant vous pouvez spécifier une clé de tri différente (`ORDER BY`) et de lindice de (`PRIMARY KEY`). La clé de tri peut être plus longue que lindex. [\#3581](https://github.com/ClickHouse/ClickHouse/pull/3581)
- Ajouté le `hdfs` fonction de table et le `HDFS` moteur de table pour limportation et lexportation de données vers HDFS. [chenxing-xc](https://github.com/ClickHouse/ClickHouse/pull/3617)
- Ajout de fonctions pour travailler avec base64: `base64Encode`, `base64Decode`, `tryBase64Decode`. [Alexander Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3350)
- Vous pouvez maintenant utiliser un paramètre pour configurer la précision du `uniqCombined` fonction dagrégation (sélectionnez le nombre de cellules HyperLogLog). [\#3406](https://github.com/ClickHouse/ClickHouse/pull/3406)
- Ajouté le `system.contributors` table qui contient les noms de tous ceux qui ont fait des commits dans ClickHouse. [\#3452](https://github.com/ClickHouse/ClickHouse/pull/3452)
- Ajout de la possibilité domettre la partition de l `ALTER TABLE ... FREEZE` requête en vue de sauvegarder toutes les partitions à la fois. [\#3514](https://github.com/ClickHouse/ClickHouse/pull/3514)
- Ajouter `dictGet` et `dictGetOrDefault` fonctions qui ne nécessitent pas de spécifier le type de valeur de retour. Le type est déterminé automatiquement à partir de la description du dictionnaire. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3564)
- Vous pouvez maintenant spécifier des commentaires pour une colonne dans la description de la table et la modifier en utilisant `ALTER`. [\#3377](https://github.com/ClickHouse/ClickHouse/pull/3377)
- La lecture est prise en charge pour `Join` tapez des tables avec des touches simples. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3728)
- Vous pouvez maintenant spécifier les options `join_use_nulls`, `max_rows_in_join`, `max_bytes_in_join`, et `join_overflow_mode` lors de la création dun `Join` type de table. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3728)
- Ajouté le `joinGet` fonction qui permet dutiliser un `Join` tapez table comme un dictionnaire. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3728)
- Ajouté le `partition_key`, `sorting_key`, `primary_key`, et `sampling_key` les colonnes de la `system.tables` table afin de fournir des informations sur les clés de table. [\#3609](https://github.com/ClickHouse/ClickHouse/pull/3609)
- Ajouté le `is_in_partition_key`, `is_in_sorting_key`, `is_in_primary_key`, et `is_in_sampling_key` les colonnes de la `system.columns` table. [\#3609](https://github.com/ClickHouse/ClickHouse/pull/3609)
- Ajouté le `min_time` et `max_time` les colonnes de la `system.parts` table. Ces colonnes sont remplies lorsque la clé de partitionnement est une expression composée de `DateTime` colonne. [Emmanuel Donin de Rosière](https://github.com/ClickHouse/ClickHouse/pull/3800)
#### Corrections De Bugs: {#bug-fixes-1}
- Corrections et améliorations des performances pour `LowCardinality` type de données. `GROUP BY` utiliser `LowCardinality(Nullable(...))`. Obtenir les valeurs de `extremes`. Traitement des fonctions dordre Élevé. `LEFT ARRAY JOIN`. Distribué `GROUP BY`. Fonctions qui renvoient `Array`. Lexécution de `ORDER BY`. Écrit à `Distributed` tableaux (nicelulu). Rétrocompatibilité pour `INSERT` requêtes provenant danciens clients qui implémentent `Native` protocole. Soutien pour `LowCardinality` pour `JOIN`. Amélioration des performances lorsque vous travaillez dans un flux unique. [\#3823](https://github.com/ClickHouse/ClickHouse/pull/3823) [\#3803](https://github.com/ClickHouse/ClickHouse/pull/3803) [\#3799](https://github.com/ClickHouse/ClickHouse/pull/3799) [\#3769](https://github.com/ClickHouse/ClickHouse/pull/3769) [\#3744](https://github.com/ClickHouse/ClickHouse/pull/3744) [\#3681](https://github.com/ClickHouse/ClickHouse/pull/3681) [\#3651](https://github.com/ClickHouse/ClickHouse/pull/3651) [\#3649](https://github.com/ClickHouse/ClickHouse/pull/3649) [\#3641](https://github.com/ClickHouse/ClickHouse/pull/3641) [\#3632](https://github.com/ClickHouse/ClickHouse/pull/3632) [\#3568](https://github.com/ClickHouse/ClickHouse/pull/3568) [\#3523](https://github.com/ClickHouse/ClickHouse/pull/3523) [\#3518](https://github.com/ClickHouse/ClickHouse/pull/3518)
- Correction de la façon dont le `select_sequential_consistency` loption fonctionne. Auparavant, lorsque ce paramètre était activé, un résultat incomplet était parfois renvoyé après avoir commencé à écrire sur une nouvelle partition. [\#2863](https://github.com/ClickHouse/ClickHouse/pull/2863)
- Les bases de données sont correctement spécifiées lors de Lexécution de DDL `ON CLUSTER` les requêtes et `ALTER UPDATE/DELETE`. [\#3772](https://github.com/ClickHouse/ClickHouse/pull/3772) [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460)
- Les bases de données sont correctement spécifiées pour les sous-requêtes à lintérieur dune vue. [\#3521](https://github.com/ClickHouse/ClickHouse/pull/3521)
- Correction dun bug dans `PREWHERE` avec `FINAL` pour `VersionedCollapsingMergeTree`. [7167bfd7](https://github.com/ClickHouse/ClickHouse/commit/7167bfd7b365538f7a91c4307ad77e552ab4e8c1)
- Maintenant, vous pouvez utiliser `KILL QUERY` pour annuler les requêtes qui nont pas encore démarré car elles attendent que la table soit verrouillée. [\#3517](https://github.com/ClickHouse/ClickHouse/pull/3517)
- Correction des calculs de date et dheure si les horloges ont été déplacées à minuit (cela se produit en Iran, et est arrivé à Moscou de 1981 à 1983). Auparavant, cela a conduit à la réinitialisation de lheure un jour plus tôt que nécessaire, et a également provoqué un formatage incorrect de la date et de lheure au format texte. [\#3819](https://github.com/ClickHouse/ClickHouse/pull/3819)
- Correction de bugs dans certains cas, de `VIEW` et les sous-requêtes qui omettent la base de données. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3521)
- Correction dune condition de course lors de la lecture simultanée dun `MATERIALIZED VIEW` et la suppression dun `MATERIALIZED VIEW` en raison de ne pas verrouiller linterne `MATERIALIZED VIEW`. [\#3404](https://github.com/ClickHouse/ClickHouse/pull/3404) [\#3694](https://github.com/ClickHouse/ClickHouse/pull/3694)
- Correction de lerreur `Lock handler cannot be nullptr.` [\#3689](https://github.com/ClickHouse/ClickHouse/pull/3689)
- Correction du traitement des requêtes lorsque le `compile_expressions` option est activée (elle est activée par défaut). Expressions constantes non déterministes comme le `now` fonction ne sont plus déplié. [\#3457](https://github.com/ClickHouse/ClickHouse/pull/3457)
- Correction dun plantage lors de la spécification dun argument déchelle non constant dans `toDecimal32/64/128` fonction.
- Correction dune erreur lors de linsertion dun tableau avec `NULL` éléments dans le `Values` formater dans une colonne de type `Array` sans `Nullable` (si `input_format_values_interpret_expressions` = 1). [\#3487](https://github.com/ClickHouse/ClickHouse/pull/3487) [\#3503](https://github.com/ClickHouse/ClickHouse/pull/3503)
- Fixe continue de journalisation des erreurs dans `DDLWorker` si la Gardienne nest pas disponible. [8f50c620](https://github.com/ClickHouse/ClickHouse/commit/8f50c620334988b28018213ec0092fe6423847e2)
- Correction du type de retour pour `quantile*` les fonctions de `Date` et `DateTime` les types darguments. [\#3580](https://github.com/ClickHouse/ClickHouse/pull/3580)
- Correction de l `WITH` clause si elle spécifie un alias simple sans expressions. [\#3570](https://github.com/ClickHouse/ClickHouse/pull/3570)
- Correction du traitement des requêtes avec des sous-requêtes nommées et des noms de colonnes qualifiés lorsque `enable_optimize_predicate_expression` est activé. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3588)
- Correction de lerreur `Attempt to attach to nullptr thread group` lorsque vous travaillez avec des vues matérialisées. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3623)
- Correction dun plantage lors du passage de certains arguments incorrects `arrayReverse` fonction. [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871)
- Correction du débordement de tampon dans le `extractURLParameter` fonction. Amélioration de la performance. Ajout dun traitement correct des chaînes contenant zéro octet. [141e9799](https://github.com/ClickHouse/ClickHouse/commit/141e9799e49201d84ea8e951d1bed4fb6d3dacb5)
- Dépassement de tampon fixe dans le `lowerUTF8` et `upperUTF8` fonction. Retiré la possibilité dexécuter ces fonctions sur `FixedString` tapez les arguments. [\#3662](https://github.com/ClickHouse/ClickHouse/pull/3662)
- Correction dune condition de course rare lors de la suppression `MergeTree` table. [\#3680](https://github.com/ClickHouse/ClickHouse/pull/3680)
- Correction dune condition de course lors de la lecture de `Buffer` tables et effectuer simultanément `ALTER` ou `DROP` sur les tables cibles. [\#3719](https://github.com/ClickHouse/ClickHouse/pull/3719)
- Correction dun segfault si le `max_temporary_non_const_columns` limite a été dépassée. [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788)
#### Amélioration: {#improvements-1}
- Le serveur nécrit pas les fichiers de configuration traités `/etc/clickhouse-server/` répertoire. Au lieu de cela, il les enregistre dans la `preprocessed_configs` répertoire à lintérieur `path`. Cela signifie que l `/etc/clickhouse-server/` répertoire nont pas daccès en écriture pour le `clickhouse` de lutilisateur, ce qui améliore la sécurité. [\#2443](https://github.com/ClickHouse/ClickHouse/pull/2443)
- Le `min_merge_bytes_to_use_direct_io` loption est définie sur 10 GiB par défaut. Une fusion qui forme de grandes parties de tables de la famille MergeTree sera effectuée dans `O_DIRECT` mode, qui empêche lexpulsion excessive du cache de page. [\#3504](https://github.com/ClickHouse/ClickHouse/pull/3504)
- Démarrage accéléré du serveur lorsquil y a un très grand nombre de tables. [\#3398](https://github.com/ClickHouse/ClickHouse/pull/3398)
- Ajout dun pool de connexion et HTTP `Keep-Alive` pour les connexions entre les répliques. [\#3594](https://github.com/ClickHouse/ClickHouse/pull/3594)
- Si la syntaxe de la requête nest pas `400 Bad Request` le code est renvoyé dans la `HTTP` interface (500 a été retourné précédemment). [31bc680a](https://github.com/ClickHouse/ClickHouse/commit/31bc680ac5f4bb1d0360a8ba4696fa84bb47d6ab)
- Le `join_default_strictness` loption est définie sur `ALL` par défaut, pour la compatibilité. [120e2cbe](https://github.com/ClickHouse/ClickHouse/commit/120e2cbe2ff4fbad626c28042d9b28781c805afe)
- Suppression de la journalisation vers `stderr` à partir de la `re2` bibliothèque pour les expressions régulières non valides ou complexes. [\#3723](https://github.com/ClickHouse/ClickHouse/pull/3723)
- Ajouté pour la `Kafka` moteur de table: vérifie les abonnements avant de commencer à lire à partir de Kafka; le paramètre kafka\_max\_block\_size pour la table. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3396)
- Le `cityHash64`, `farmHash64`, `metroHash64`, `sipHash64`, `halfMD5`, `murmurHash2_32`, `murmurHash2_64`, `murmurHash3_32`, et `murmurHash3_64` fonctions maintenant travailler pour nimporte quel nombre darguments et des arguments sous la forme de tuples. [\#3451](https://github.com/ClickHouse/ClickHouse/pull/3451) [\#3519](https://github.com/ClickHouse/ClickHouse/pull/3519)
- Le `arrayReverse` fonction fonctionne maintenant avec tous les types de tableaux. [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871)
- Ajout dun paramètre optionnel: la taille de lemplacement pour le `timeSlots` fonction. [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/3724)
- Pour `FULL` et `RIGHT JOIN`, le `max_block_size` le paramètre est utilisé pour un flux de données non jointes à partir de la table de droite. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3699)
- Ajouté le `--secure` paramètre de ligne de commande dans `clickhouse-benchmark` et `clickhouse-performance-test` pour activer TLS. [\#3688](https://github.com/ClickHouse/ClickHouse/pull/3688) [\#3690](https://github.com/ClickHouse/ClickHouse/pull/3690)
- Conversion de Type lorsque la structure dun `Buffer` type table ne correspond pas à la structure de la table de destination. [Vitaly Baranov](https://github.com/ClickHouse/ClickHouse/pull/3603)
- Ajouté le `tcp_keep_alive_timeout` option pour activer les paquets persistant après une inactivité de lintervalle de temps spécifié. [\#3441](https://github.com/ClickHouse/ClickHouse/pull/3441)
- Suppression des guillemets inutiles de valeurs pour la clé de partition dans le `system.parts` le tableau si il se compose dune seule colonne. [\#3652](https://github.com/ClickHouse/ClickHouse/pull/3652)
- La fonction modulo fonctionne pour `Date` et `DateTime` types de données. [\#3385](https://github.com/ClickHouse/ClickHouse/pull/3385)
- Ajouté synonymes pour le `POWER`, `LN`, `LCASE`, `UCASE`, `REPLACE`, `LOCATE`, `SUBSTR`, et `MID` fonction. [\#3774](https://github.com/ClickHouse/ClickHouse/pull/3774) [\#3763](https://github.com/ClickHouse/ClickHouse/pull/3763) Certains noms de fonctions sont insensibles à la casse pour la compatibilité avec le standard SQL. Sucre syntaxique ajouté `SUBSTRING(expr FROM start FOR length)` pour la compatibilité avec SQL. [\#3804](https://github.com/ClickHouse/ClickHouse/pull/3804)
- Ajout de la possibilité de `mlock` pages mémoire correspondant à `clickhouse-server` code exécutable pour lempêcher dêtre forcé hors de la mémoire. Cette fonctionnalité est désactivée par défaut. [\#3553](https://github.com/ClickHouse/ClickHouse/pull/3553)
- Amélioration des performances lors de la lecture de `O_DIRECT` (avec l `min_bytes_to_use_direct_io` option activée). [\#3405](https://github.com/ClickHouse/ClickHouse/pull/3405)
- Amélioration de la performance de l `dictGet...OrDefault` fonction pour un argument clé constant et un argument par défaut non constant. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3563)
- Le `firstSignificantSubdomain` la fonction traite maintenant les domaines `gov`, `mil`, et `edu`. [Igor Hatarist](https://github.com/ClickHouse/ClickHouse/pull/3601) Amélioration de la performance. [\#3628](https://github.com/ClickHouse/ClickHouse/pull/3628)
- Possibilité de spécifier des variables denvironnement personnalisées pour le démarrage `clickhouse-server` à laide de la `SYS-V init.d` script en définissant `CLICKHOUSE_PROGRAM_ENV` dans `/etc/default/clickhouse`.
[Pavlo Bashynskyi](https://github.com/ClickHouse/ClickHouse/pull/3612)
- Code de retour Correct pour le script dinitialisation clickhouse-server. [\#3516](https://github.com/ClickHouse/ClickHouse/pull/3516)
- Le `system.metrics` la table a maintenant le `VersionInteger` métrique, et `system.build_options` a la ligne ajoutée `VERSION_INTEGER`, qui contient la forme numérique de la version ClickHouse, telle que `18016000`. [\#3644](https://github.com/ClickHouse/ClickHouse/pull/3644)
- Retiré la possibilité de comparer la `Date` tapez avec un nombre pour éviter les erreurs potentielles comme `date = 2018-12-17`, où les citations autour de la date sont omises par erreur. [\#3687](https://github.com/ClickHouse/ClickHouse/pull/3687)
- Correction du comportement des fonctions avec État comme `rowNumberInAllBlocks`. Ils ont précédemment sorti un résultat qui était un nombre plus grand en raison du démarrage lors de lanalyse de la requête. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3729)
- Si l `force_restore_data` le fichier ne peut pas être supprimé, un message derreur est affiché. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3794)
#### Construire Des améliorations: {#build-improvements-1}
- Mise à jour le `jemalloc` bibliothèque, qui corrige une fuite de mémoire potentielle. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3557)
- Profilage avec `jemalloc` est activé par défaut pour les versions de débogage. [2cc82f5c](https://github.com/ClickHouse/ClickHouse/commit/2cc82f5cbe266421cd4c1165286c2c47e5ffcb15)
- Ajout de la possibilité dexécuter des tests dintégration lorsque `Docker` est installé sur le système. [\#3650](https://github.com/ClickHouse/ClickHouse/pull/3650)
- Ajout du test dexpression fuzz dans les requêtes SELECT. [\#3442](https://github.com/ClickHouse/ClickHouse/pull/3442)
- Ajout dun test de stress pour les commits, qui effectue des tests fonctionnels en parallèle et dans un ordre aléatoire pour détecter plus de conditions de course. [\#3438](https://github.com/ClickHouse/ClickHouse/pull/3438)
- Amélioration de la méthode de démarrage de clickhouse-server dans une image Docker. [Elghazal Ahmed](https://github.com/ClickHouse/ClickHouse/pull/3663)
- Pour une image Docker, ajout du support pour linitialisation des bases de données à laide de fichiers dans le `/docker-entrypoint-initdb.d` répertoire. [Konstantin Lebedev](https://github.com/ClickHouse/ClickHouse/pull/3695)
- Corrections pour les builds sur ARM. [\#3709](https://github.com/ClickHouse/ClickHouse/pull/3709)
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes}
- Retiré la possibilité de comparer la `Date` tapez avec un numéro. Plutôt `toDate('2018-12-18') = 17883`, vous devez utiliser la conversion de type explicite `= toDate(17883)` [\#3687](https://github.com/ClickHouse/ClickHouse/pull/3687)
## Clickhouse Version 18.14 {#clickhouse-release-18-14}
### Clickhouse Version 18.14.19, 2018-12-19 {#clickhouse-release-18-14-19-2018-12-19}
#### Corrections De Bugs: {#bug-fixes-2}
- Correction dune erreur qui a conduit à des problèmes avec la mise à jour des dictionnaires avec la source ODBC. [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829)
- Les bases de données sont correctement spécifiées lors de Lexécution de DDL `ON CLUSTER` requête. [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460)
- Correction dun segfault si le `max_temporary_non_const_columns` limite a été dépassée. [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788)
#### Construire Des améliorations: {#build-improvements-2}
- Corrections pour les builds sur ARM.
### Clickhouse Version 18.14.18, 2018-12-04 {#clickhouse-release-18-14-18-2018-12-04}
#### Corrections De Bugs: {#bug-fixes-3}
- Correction dune erreur dans `dictGet...` fonction pour les dictionnaires de type `range` si un des arguments est constante et lautre ne lest pas. [\#3751](https://github.com/ClickHouse/ClickHouse/pull/3751)
- Correction dune erreur qui a causé des messages `netlink: '...': attribute type 1 has an invalid length` pour être imprimé dans le journal du noyau Linux, cela ne se passait que sur des versions assez fraîches du noyau Linux. [\#3749](https://github.com/ClickHouse/ClickHouse/pull/3749)
- Fixe erreur de segmentation en fonction `empty` pour largument de `FixedString` type. [Daniel, Dao Quang Minh](https://github.com/ClickHouse/ClickHouse/pull/3703)
- Correction dune allocation de mémoire excessive lors de lutilisation dune grande valeur de `max_query_size` (a la mémoire de morceau de `max_query_size` octets a été préalloué à la fois). [\#3720](https://github.com/ClickHouse/ClickHouse/pull/3720)
#### Construire Des Changements: {#build-changes}
- Correction de la construction avec les bibliothèques LLVM/Clang de la version 7 à partir des paquets du système Dexploitation (ces bibliothèques sont utilisées pour la compilation de requêtes dexécution). [\#3582](https://github.com/ClickHouse/ClickHouse/pull/3582)
### Clickhouse Version 18.14.17, 2018-11-30 {#clickhouse-release-18-14-17-2018-11-30}
#### Corrections De Bugs: {#bug-fixes-4}
- Correction de cas où le processus de pont ODBC ne sest pas terminé avec le processus du serveur principal. [\#3642](https://github.com/ClickHouse/ClickHouse/pull/3642)
- Insertion synchrone fixe dans le `Distributed` table avec une liste des colonnes qui diffère de la liste des colonnes de la table distante. [\#3673](https://github.com/ClickHouse/ClickHouse/pull/3673)
- Correction dune condition de concurrence rare qui peut conduire à un crash lors de la suppression Dune table MergeTree. [\#3643](https://github.com/ClickHouse/ClickHouse/pull/3643)
- Correction dun blocage de requête dans le cas où la création de thread de requête échoue avec le `Resource temporarily unavailable` erreur. [\#3643](https://github.com/ClickHouse/ClickHouse/pull/3643)
- Fixe de lanalyse de l `ENGINE` clause lorsque le `CREATE AS table` la syntaxe a été utilisée et `ENGINE` la clause a été spécifiée avant le `AS table` (lerreur a entraîné en ignorant le moteur). [\#3692](https://github.com/ClickHouse/ClickHouse/pull/3692)
### Clickhouse Version 18.14.15, 2018-11-21 {#clickhouse-release-18-14-15-2018-11-21}
#### Corrections De Bugs: {#bug-fixes-5}
- La taille du bloc de mémoire a été surestimée lors de la désérialisation de la colonne de type `Array(String)` qui conduit à “Memory limit exceeded” erreur. Le problème est apparu dans la version 18.12.13. [\#3589](https://github.com/ClickHouse/ClickHouse/issues/3589)
### Clickhouse Version 18.14.14, 2018-11-20 {#clickhouse-release-18-14-14-2018-11-20}
#### Corrections De Bugs: {#bug-fixes-6}
- Fixe `ON CLUSTER` requêtes lorsque le cluster est configuré comme sécurisé (indicateur `<secure>`). [\#3599](https://github.com/ClickHouse/ClickHouse/pull/3599)
#### Construire Des Changements: {#build-changes-1}
- Correction de problèmes (llvm-7 du système, macos) [\#3582](https://github.com/ClickHouse/ClickHouse/pull/3582)
### Clickhouse Version 18.14.13, 2018-11-08 {#clickhouse-release-18-14-13-2018-11-08}
#### Corrections De Bugs: {#bug-fixes-7}
- Correction de l `Block structure mismatch in MergingSorted stream` erreur. [\#3162](https://github.com/ClickHouse/ClickHouse/issues/3162)
- Fixe `ON CLUSTER` requêtes dans le cas où les connexions sécurisées ont été activées dans la configuration du cluster (le `<secure>` drapeau). [\#3465](https://github.com/ClickHouse/ClickHouse/pull/3465)
- Correction dune erreur dans les requêtes utilisées `SAMPLE`, `PREWHERE` et les colonnes alias. [\#3543](https://github.com/ClickHouse/ClickHouse/pull/3543)
- Correction dun rare `unknown compression method` erreur lors de la `min_bytes_to_use_direct_io` le réglage a été activé. [3544](https://github.com/ClickHouse/ClickHouse/pull/3544)
#### Amélioration Des Performances: {#performance-improvements}
- Régression de performance fixe des requêtes avec `GROUP BY` de colonnes de type UInt16 ou Date lors de lexécution sur les processeurs AMD EPYC. [Igor Lapko](https://github.com/ClickHouse/ClickHouse/pull/3512)
- Correction de la régression des performances des requêtes qui traitent les chaînes longues. [\#3530](https://github.com/ClickHouse/ClickHouse/pull/3530)
#### Construire Des améliorations: {#build-improvements-3}
- Améliorations pour simplifier la construction Arcadia. [\#3475](https://github.com/ClickHouse/ClickHouse/pull/3475), [\#3535](https://github.com/ClickHouse/ClickHouse/pull/3535)
### Clickhouse Version 18.14.12, 2018-11-02 {#clickhouse-release-18-14-12-2018-11-02}
#### Corrections De Bugs: {#bug-fixes-8}
- Correction dun plantage lors de la jonction de deux sous-requêtes sans nom. [\#3505](https://github.com/ClickHouse/ClickHouse/pull/3505)
- Fixe générant des requêtes incorrectes (avec un vide `WHERE` clause) lors de linterrogation de bases de données externes. [hotid](https://github.com/ClickHouse/ClickHouse/pull/3477)
- Correction en utilisant une valeur de délai dattente incorrecte Dans les dictionnaires ODBC. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3511)
### Clickhouse Version 18.14.11, 2018-10-29 {#clickhouse-release-18-14-11-2018-10-29}
#### Corrections De Bugs: {#bug-fixes-9}
- Correction de lerreur `Block structure mismatch in UNION stream: different number of columns` dans les requêtes LIMIT. [\#2156](https://github.com/ClickHouse/ClickHouse/issues/2156)
- Correction derreurs lors de la fusion de données dans des tables contenant des tableaux à lintérieur de structures imbriquées. [\#3397](https://github.com/ClickHouse/ClickHouse/pull/3397)
- Correction de résultats de requête incorrects si le `merge_tree_uniform_read_distribution` paramètre est désactivé (il est activé par défaut). [\#3429](https://github.com/ClickHouse/ClickHouse/pull/3429)
- Correction dune erreur sur les insertions à une table distribuée au format natif. [\#3411](https://github.com/ClickHouse/ClickHouse/issues/3411)
### Clickhouse Version 18.14.10, 2018-10-23 {#clickhouse-release-18-14-10-2018-10-23}
- Le `compile_expressions` le paramètre (compilation JIT dexpressions) est désactivé par défaut. [\#3410](https://github.com/ClickHouse/ClickHouse/pull/3410)
- Le `enable_optimize_predicate_expression` paramètre est désactivé par défaut.
### Clickhouse Version 18.14.9, 2018-10-16 {#clickhouse-release-18-14-9-2018-10-16}
#### Nouveauté: {#new-features-1}
- Le `WITH CUBE` le modificateur `GROUP BY` (la syntaxe alternative `GROUP BY CUBE(...)` est également disponible). [\#3172](https://github.com/ClickHouse/ClickHouse/pull/3172)
- Ajouté le `formatDateTime` fonction. [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2770)
- Ajouté le `JDBC` tableau moteur et `jdbc` fonction table (nécessite linstallation de clickhouse-JDBC-bridge). [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3210)
- Ajout de fonctions pour travailler avec le numéro de semaine ISO: `toISOWeek`, `toISOYear`, `toStartOfISOYear`, et `toDayOfYear`. [\#3146](https://github.com/ClickHouse/ClickHouse/pull/3146)
- Maintenant, vous pouvez utiliser `Nullable` colonnes pour `MySQL` et `ODBC` table. [\#3362](https://github.com/ClickHouse/ClickHouse/pull/3362)
- Imbriquée structures de données peuvent être lues comme des objets imbriqués dans `JSONEachRow` format. Ajouté le `input_format_import_nested_json` paramètre. [Veloman Yunkan](https://github.com/ClickHouse/ClickHouse/pull/3144)
- Le traitement parallèle est disponible pour beaucoup `MATERIALIZED VIEW`s lors de linsertion de données. Voir la `parallel_view_processing` paramètre. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3208)
- Ajouté le `SYSTEM FLUSH LOGS` requête (vidage forcé des journaux sur les tables système telles que `query_log`) [\#3321](https://github.com/ClickHouse/ClickHouse/pull/3321)
- Maintenant, vous pouvez utiliser prédéfinis `database` et `table` macros lors de la déclaration `Replicated` table. [\#3251](https://github.com/ClickHouse/ClickHouse/pull/3251)
- A ajouté la capacité de lire `Decimal` valeurs de type en notation dingénierie (indiquant des puissances de dix). [\#3153](https://github.com/ClickHouse/ClickHouse/pull/3153)
#### Caractéristiques expérimentales: {#experimental-features}
- Optimisation de la clause GROUP BY pour `LowCardinality data types.` [\#3138](https://github.com/ClickHouse/ClickHouse/pull/3138)
- Calcul optimisé des expressions pour `LowCardinality data types.` [\#3200](https://github.com/ClickHouse/ClickHouse/pull/3200)
#### Amélioration: {#improvements-2}
- Consommation de mémoire considérablement réduite pour les requêtes avec `ORDER BY` et `LIMIT`. Voir la `max_bytes_before_remerge_sort` paramètre. [\#3205](https://github.com/ClickHouse/ClickHouse/pull/3205)
- En labsence de `JOIN` (`LEFT`, `INNER`, …), `INNER JOIN` est supposé. [\#3147](https://github.com/ClickHouse/ClickHouse/pull/3147)
- Qualifié astérisques fonctionner correctement dans les requêtes avec `JOIN`. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3202)
- Le `ODBC` table engine choisit correctement la méthode de citation des identifiants dans le dialecte SQL dune base de données distante. [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3210)
- Le `compile_expressions` le paramètre (compilation JIT des expressions) est activé par défaut.
- Correction du comportement pour la base de données/TABLE DROP simultanée si existe et créer une base de données/TABLE si Nexiste pas. Auparavant, un `CREATE DATABASE ... IF NOT EXISTS` requête peut renvoyer le message derreur “File … already exists” et la `CREATE TABLE ... IF NOT EXISTS` et `DROP TABLE IF EXISTS` les requêtes peuvent revenir `Table ... is creating or attaching right now`. [\#3101](https://github.com/ClickHouse/ClickHouse/pull/3101)
- Les expressions LIKE ET IN avec une moitié droite constante sont passées au serveur distant lors de linterrogation à partir de tables MySQL ou ODBC. [\#3182](https://github.com/ClickHouse/ClickHouse/pull/3182)
- Les comparaisons avec des expressions constantes dans une clause WHERE sont transmises au serveur distant lors de linterrogation à partir de tables MySQL et ODBC. Auparavant, seules les comparaisons avec les constantes étaient passées. [\#3182](https://github.com/ClickHouse/ClickHouse/pull/3182)
- Calcul Correct de la largeur de ligne dans le terminal pour `Pretty` formats, y compris les chaînes avec des hiéroglyphes. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/3257).
- `ON CLUSTER` peut être spécifié pour `ALTER UPDATE` requête.
- Amélioration des performances de lecture des données `JSONEachRow` format. [\#3332](https://github.com/ClickHouse/ClickHouse/pull/3332)
- Ajouté synonymes pour le `LENGTH` et `CHARACTER_LENGTH` fonctions de compatibilité. Le `CONCAT` la fonction nest plus sensible à la casse. [\#3306](https://github.com/ClickHouse/ClickHouse/pull/3306)
- Ajouté le `TIMESTAMP` synonyme de la `DateTime` type. [\#3390](https://github.com/ClickHouse/ClickHouse/pull/3390)
- Il y a toujours de lespace réservé pour query\_id dans les journaux du serveur, même si la ligne de journal nest pas liée à une requête. Cela facilite lanalyse des journaux de texte du serveur avec des outils tiers.
- La consommation de mémoire par une requête est enregistrée lorsquil dépasse le niveau suivant dun nombre entier de gigaoctets. [\#3205](https://github.com/ClickHouse/ClickHouse/pull/3205)
- Ajout du mode de compatibilité pour le cas où la bibliothèque cliente qui utilise le protocole natif envoie moins de colonnes par erreur que ce que le serveur attend pour la requête Dinsertion. Ce scénario était possible lors de lutilisation de la bibliothèque clickhouse-cpp. Auparavant, ce scénario provoquait le plantage du serveur. [\#3171](https://github.com/ClickHouse/ClickHouse/pull/3171)
- Dans une expression WHERE définie par lutilisateur `clickhouse-copier` vous pouvez maintenant utiliser un `partition_key` alias (pour un filtrage supplémentaire par partition de table source). Ceci est utile si le schéma de partitionnement change pendant la copie, mais ne change que légèrement. [\#3166](https://github.com/ClickHouse/ClickHouse/pull/3166)
- Le flux de travail du `Kafka` le moteur a été déplacé vers un pool de threads en arrière-plan afin de réduire automatiquement la vitesse de lecture des données à des charges élevées. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3215).
- Support pour la lecture `Tuple` et `Nested` valeurs de structures comme `struct` dans le `Cap'n'Proto format`. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3216)
- La liste des domaines de premier niveau pour les `firstSignificantSubdomain` la fonction inclut maintenant le domaine `biz`. [décaséale](https://github.com/ClickHouse/ClickHouse/pull/3219)
- Dans la configuration des dictionnaires externes, `null_value` est interprétée comme la valeur du type de données par défaut. [\#3330](https://github.com/ClickHouse/ClickHouse/pull/3330)
- Soutien pour le `intDiv` et `intDivOrZero` fonctions pour `Decimal`. [b48402e8](https://github.com/ClickHouse/ClickHouse/commit/b48402e8712e2b9b151e0eef8193811d433a1264)
- Soutien pour le `Date`, `DateTime`, `UUID`, et `Decimal` types comme clé pour le `sumMap` fonction dagrégation. [\#3281](https://github.com/ClickHouse/ClickHouse/pull/3281)
- Soutien pour le `Decimal` type de données dans les dictionnaires externes. [\#3324](https://github.com/ClickHouse/ClickHouse/pull/3324)
- Soutien pour le `Decimal` type de données dans `SummingMergeTree` table. [\#3348](https://github.com/ClickHouse/ClickHouse/pull/3348)
- Ajouté spécialisations pour `UUID` dans `if`. [\#3366](https://github.com/ClickHouse/ClickHouse/pull/3366)
- Réduit le nombre de `open` et `close` les appels système lors de la lecture dun `MergeTree table`. [\#3283](https://github.com/ClickHouse/ClickHouse/pull/3283)
- A `TRUNCATE TABLE` requête peut être exécutée sur nimporte quel réplica (la requête est transmise au chef de réplique). [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/3375)
#### Corrections De Bugs: {#bug-fixes-10}
- Correction dun problème avec `Dictionary` tables pour `range_hashed` dictionnaire. Cette erreur sest produite dans la version 18.12.17. [\#1702](https://github.com/ClickHouse/ClickHouse/pull/1702)
- Correction dune erreur lors du chargement `range_hashed` les dictionnaires (le message `Unsupported type Nullable (...)`). Cette erreur sest produite dans la version 18.12.17. [\#3362](https://github.com/ClickHouse/ClickHouse/pull/3362)
- Corrigé des erreurs dans la `pointInPolygon` fonction due à laccumulation de calculs inexacts pour les polygones avec un grand nombre de sommets situés à proximité les uns des autres. [\#3331](https://github.com/ClickHouse/ClickHouse/pull/3331) [\#3341](https://github.com/ClickHouse/ClickHouse/pull/3341)
- Si, après la fusion de parties de données, la somme de contrôle de la partie résultante diffère du résultat de la même fusion dans une autre réplique, le résultat de la fusion est supprimé et la partie de données est téléchargée à partir de lautre réplique (cest le comportement correct). Mais après avoir téléchargé la partie data, elle na pas pu être ajoutée à lensemble de travail en raison dune erreur indiquant que la partie existe déjà (car la partie data a été supprimée avec un certain retard après la fusion). Cela a conduit à cycliques tente de télécharger les mêmes données. [\#3194](https://github.com/ClickHouse/ClickHouse/pull/3194)
- Correction dun calcul incorrect de la consommation totale de mémoire par les requêtes (en raison dun calcul incorrect, le `max_memory_usage_for_all_queries` le réglage na pas fonctionné correctement et le `MemoryTracking` métrique a une valeur incorrecte). Cette erreur sest produite dans la version 18.12.13. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3344)
- Correction de la fonctionnalité de `CREATE TABLE ... ON CLUSTER ... AS SELECT ...` Cette erreur sest produite dans la version 18.12.13. [\#3247](https://github.com/ClickHouse/ClickHouse/pull/3247)
- Correction de la préparation inutile des structures de données pour `JOIN`s sur le serveur qui initie la requête si `JOIN` est effectué uniquement sur des serveurs distants. [\#3340](https://github.com/ClickHouse/ClickHouse/pull/3340)
- Correction de bugs dans le `Kafka` engine: blocages après les exceptions lors du démarrage de la lecture des données, et verrous à la fin [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3215).
- Pour `Kafka` tableaux, le facultatif `schema` le paramètre na pas été passé (le schéma du `Cap'n'Proto` format). [Vojtech Splichal](https://github.com/ClickHouse/ClickHouse/pull/3150)
- Si Lensemble des serveurs ZooKeeper a des serveurs qui acceptent la connexion mais la ferment immédiatement au lieu de répondre à la prise de contact, ClickHouse choisit de connecter un autre serveur. Auparavant, cela produisait lerreur `Cannot read all data. Bytes read: 0. Bytes expected: 4.` et le serveur ne pouvait pas commencer. [8218cf3a](https://github.com/ClickHouse/ClickHouse/commit/8218cf3a5f39a43401953769d6d12a0bb8d29da9)
- Si Lensemble des serveurs ZooKeeper contient des serveurs pour lesquels la requête DNS renvoie une erreur, ces serveurs sont ignorés. [17b8e209](https://github.com/ClickHouse/ClickHouse/commit/17b8e209221061325ad7ba0539f03c6e65f87f29)
- Conversion de type fixe entre `Date` et `DateTime` lors de linsertion de données dans le `VALUES` format (si `input_format_values_interpret_expressions = 1`). Auparavant, la conversion était effectuée entre la valeur numérique du nombre de jours dans Unix Epoch time et Lhorodatage Unix, ce qui conduisait à des résultats inattendus. [\#3229](https://github.com/ClickHouse/ClickHouse/pull/3229)
- Conversion de type corrigée entre `Decimal` et des nombres entiers. [\#3211](https://github.com/ClickHouse/ClickHouse/pull/3211)
- Corrigé des erreurs dans la `enable_optimize_predicate_expression` paramètre. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3231)
- Correction dune erreur Danalyse au format CSV avec des nombres à virgule flottante si un séparateur CSV non par défaut est utilisé, tel que `;` [\#3155](https://github.com/ClickHouse/ClickHouse/pull/3155)
- Correction de l `arrayCumSumNonNegative` fonction (il naccumule pas de valeurs négatives si laccumulateur est inférieur à zéro). [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/3163)
- Fixe comment `Merge` les tables de travail sur le dessus de `Distributed` tables lors de lutilisation `PREWHERE`. [\#3165](https://github.com/ClickHouse/ClickHouse/pull/3165)
- Corrections de bugs dans l `ALTER UPDATE` requête.
- Correction de bugs dans le `odbc` fonction de table apparue dans la version 18.12. [\#3197](https://github.com/ClickHouse/ClickHouse/pull/3197)
- Correction du fonctionnement des fonctions dagrégat avec `StateArray` combinators. [\#3188](https://github.com/ClickHouse/ClickHouse/pull/3188)
- Correction dun crash lors de la division dune `Decimal` valeur par zéro. [69dd6609](https://github.com/ClickHouse/ClickHouse/commit/69dd6609193beb4e7acd3e6ad216eca0ccfb8179)
- Sortie fixe des types pour les opérations utilisant `Decimal` et des arguments entiers. [\#3224](https://github.com/ClickHouse/ClickHouse/pull/3224)
- Correction du segfault pendant `GROUP BY` sur `Decimal128`. [3359ba06](https://github.com/ClickHouse/ClickHouse/commit/3359ba06c39fcd05bfdb87d6c64154819621e13a)
- Le `log_query_threads` le paramètre (journalisation des informations sur chaque thread dexécution de la requête) ne prend effet que si `log_queries` loption (journalisation des informations sur les requêtes) est définie sur 1. Depuis le `log_query_threads` loption est activée par défaut, les informations sur les threads ont déjà été enregistrées même si la journalisation des requêtes a été désactivée. [\#3241](https://github.com/ClickHouse/ClickHouse/pull/3241)
- Correction dune erreur dans le fonctionnement distribué de la fonction dagrégat quantiles (le message derreur `Not found column quantile...`). [292a8855](https://github.com/ClickHouse/ClickHouse/commit/292a885533b8e3b41ce8993867069d14cbd5a664)
- Correction du problème de compatibilité lorsque vous travaillez sur un cluster de serveurs de version 18.12.17 et de serveurs plus anciens en même temps. Pour les requêtes distribuées avec des clés GROUP BY de longueur fixe et non fixe, sil y avait une grande quantité de données à agréger, les données renvoyées nétaient pas toujours entièrement agrégées (deux lignes différentes contenaient les mêmes clés dagrégation). [\#3254](https://github.com/ClickHouse/ClickHouse/pull/3254)
- Manipulation fixe des substitutions dans `clickhouse-performance-test` si la requête ne contient quune partie des substitutions déclaré dans le test. [\#3263](https://github.com/ClickHouse/ClickHouse/pull/3263)
- Correction dune erreur lors de lutilisation `FINAL` avec `PREWHERE`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/3298)
- Correction dune erreur lors de lutilisation `PREWHERE` sur les colonnes qui ont été ajoutées pendant `ALTER`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/3298)
- Ajout dune vérification de labsence de `arrayJoin` pour `DEFAULT` et `MATERIALIZED` expression. Précédemment, `arrayJoin` conduit à une erreur lors de linsertion de données. [\#3337](https://github.com/ClickHouse/ClickHouse/pull/3337)
- Ajout dune vérification de labsence de `arrayJoin` dans un `PREWHERE` clause. Auparavant, cela a conduit à des messages comme `Size ... doesn't match` ou `Unknown compression method` lors de lexécution de requêtes. [\#3357](https://github.com/ClickHouse/ClickHouse/pull/3357)
- Correction de segfault qui pourrait se produire dans de rares cas après loptimisation qui a remplacé et chaînes des évaluations dégalité avec lexpression IN correspondante. [liuyimin-bytedance](https://github.com/ClickHouse/ClickHouse/pull/3339)
- Corrections mineures à `clickhouse-benchmark`: auparavant, les informations client nétaient pas envoyées au serveur; maintenant, le nombre de requêtes exécutées est calculé plus précisément lors de larrêt et pour limiter le nombre ditérations. [\#3351](https://github.com/ClickHouse/ClickHouse/pull/3351) [\#3352](https://github.com/ClickHouse/ClickHouse/pull/3352)
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-1}
- Enlevé le `allow_experimental_decimal_type` option. Le `Decimal` type de données est disponible pour utilisation par défaut. [\#3329](https://github.com/ClickHouse/ClickHouse/pull/3329)
## Clickhouse Version 18.12 {#clickhouse-release-18-12}
### Clickhouse Version 18.12.17, 2018-09-16 {#clickhouse-release-18-12-17-2018-09-16}
#### Nouveauté: {#new-features-2}
- `invalidate_query` (la possibilité de spécifier une requête pour vérifier si un dictionnaire externe doit être mis à jour) est implémentée pour `clickhouse` source. [\#3126](https://github.com/ClickHouse/ClickHouse/pull/3126)
- Ajout de la possibilité dutiliser `UInt*`, `Int*`, et `DateTime` types de données (avec le `Date` le type) comme un `range_hashed` clé de dictionnaire externe qui définit les limites des plages. Maintenant `NULL` peut être utilisé pour désigner un intervalle ouvert. [Vasily Nemkov](https://github.com/ClickHouse/ClickHouse/pull/3123)
- Le `Decimal` type prend maintenant en charge `var*` et `stddev*` les fonctions dagrégation. [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129)
- Le `Decimal` type prend désormais en charge les fonctions mathématiques (`exp`, `sin` et ainsi de suite.) [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129)
- Le `system.part_log` la table a maintenant le `partition_id` colonne. [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089)
#### Corrections De Bugs: {#bug-fixes-11}
- `Merge` fonctionne maintenant correctement sur `Distributed` table. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3159)
- Incompatibilité fixe (dépendance inutile sur le `glibc` version) qui a rendu impossible lexécution de ClickHouse sur `Ubuntu Precise` et les anciennes versions. Lincompatibilité est apparue dans la version 18.12.13. [\#3130](https://github.com/ClickHouse/ClickHouse/pull/3130)
- Corrigé des erreurs dans la `enable_optimize_predicate_expression` paramètre. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3107)
- Correction dun problème mineur de rétrocompatibilité apparu lors de lutilisation dun cluster de répliques sur des versions antérieures au 18.12.13 et de la création simultanée dune nouvelle réplique dune table sur un serveur avec une version plus récente (indiquée dans le message `Can not clone replica, because the ... updated to new ClickHouse version`, ce qui est logique, mais ne devrait pas arriver). [\#3122](https://github.com/ClickHouse/ClickHouse/pull/3122)
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-2}
- Le `enable_optimize_predicate_expression` option est activée par défaut (ce qui est plutôt optimiste). Si des erreurs danalyse de requête se produisent liées à la recherche des noms de colonnes, définissez `enable_optimize_predicate_expression` à 0. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3107)
### Clickhouse Version 18.12.14, 2018-09-13 {#clickhouse-release-18-12-14-2018-09-13}
#### Nouveauté: {#new-features-3}
- Ajout du support pour `ALTER UPDATE` requête. [\#3035](https://github.com/ClickHouse/ClickHouse/pull/3035)
- Ajouté le `allow_ddl` option, qui limite laccès de Lutilisateur aux requêtes DDL. [\#3104](https://github.com/ClickHouse/ClickHouse/pull/3104)
- Ajouté le `min_merge_bytes_to_use_direct_io` option pour `MergeTree` moteurs, qui vous permet de définir un seuil pour la taille totale de la fusion (quand au-dessus du seuil, les fichiers de partie de données seront traités en utilisant O\_DIRECT). [\#3117](https://github.com/ClickHouse/ClickHouse/pull/3117)
- Le `system.merges` la table système contient maintenant `partition_id` colonne. [\#3099](https://github.com/ClickHouse/ClickHouse/pull/3099)
#### Amélioration {#improvements-3}
- Si une partie de données reste inchangée pendant la mutation, elle nest pas téléchargée par les répliques. [\#3103](https://github.com/ClickHouse/ClickHouse/pull/3103)
- La saisie semi-automatique est disponible pour les noms de paramètres lorsque vous travaillez avec `clickhouse-client`. [\#3106](https://github.com/ClickHouse/ClickHouse/pull/3106)
#### Corrections De Bugs: {#bug-fixes-12}
- Ajouter un chèque pour les montants des tableaux sont des éléments de `Nested` les champs de type lors de linsertion. [\#3118](https://github.com/ClickHouse/ClickHouse/pull/3118)
- Correction dune erreur de mise à jour des dictionnaires externes `ODBC` source et `hashed` stockage. Cette erreur sest produite dans la version 18.12.13.
- Correction dun plantage lors de la création dune table temporaire à partir dune requête `IN` condition. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3098)
- Correction dune erreur dans les fonctions dagrégation pour les tableaux peuvent avoir `NULL` élément. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/3097)
### Clickhouse Version 18.12.13, 2018-09-10 {#clickhouse-release-18-12-13-2018-09-10}
#### Nouveauté: {#new-features-4}
- Ajouté le `DECIMAL(digits, scale)` type de données (`Decimal32(scale)`, `Decimal64(scale)`, `Decimal128(scale)`). Pour lactiver, utilisez le paramètre `allow_experimental_decimal_type`. [\#2846](https://github.com/ClickHouse/ClickHouse/pull/2846) [\#2970](https://github.com/ClickHouse/ClickHouse/pull/2970) [\#3008](https://github.com/ClickHouse/ClickHouse/pull/3008) [\#3047](https://github.com/ClickHouse/ClickHouse/pull/3047)
- Nouveau `WITH ROLLUP` le modificateur `GROUP BY` (syntaxe alternative: `GROUP BY ROLLUP(...)`). [\#2948](https://github.com/ClickHouse/ClickHouse/pull/2948)
- Dans les requêtes avec jointure, le caractère étoile se développe en une liste de colonnes dans toutes les tables, conformément à la norme SQL. Vous pouvez restaurer lancien comportement en paramètre `asterisk_left_columns_only` à 1 au niveau de la configuration utilisateur. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2787)
- Ajout du support pour joindre avec les fonctions de table. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2907)
- Saisie semi-automatique en appuyant sur Tab dans clickhouse-client. [Sergey Shcherbin](https://github.com/ClickHouse/ClickHouse/pull/2447)
- Ctrl + C dans clickhouse-client efface une requête qui a été entrée. [\#2877](https://github.com/ClickHouse/ClickHouse/pull/2877)
- Ajouté le `join_default_strictness` paramètre (valeurs: `"`, `'any'`, `'all'`). Cela vous permet de ne pas préciser `ANY` ou `ALL` pour `JOIN`. [\#2982](https://github.com/ClickHouse/ClickHouse/pull/2982)
- Chaque ligne du journal du serveur associée au traitement de la requête affiche LID de la requête. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Maintenant, vous pouvez obtenir des journaux dexécution de requête dans clickhouse-client (utilisez le `send_logs_level` paramètre). Avec le traitement des requêtes distribuées, les journaux sont cascadés à partir de tous les serveurs. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Le `system.query_log` et `system.processes` (`SHOW PROCESSLIST` les tableaux ont maintenant des informations sur tous les paramètres modifiés lorsque vous exécutez une requête (la structure imbriquée de l `Settings` données). Ajouté le `log_query_settings` paramètre. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Le `system.query_log` et `system.processes` les tables affichent désormais des informations sur le nombre de threads participant à lexécution de la requête (voir `thread_numbers` colonne). [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Ajouter `ProfileEvents` compteurs qui mesurent le temps passé à lire et à écrire sur le réseau et à lire et à écrire sur le disque, le nombre derreurs réseau et le temps passé à attendre lorsque la bande passante réseau est limitée. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Ajouter `ProfileEvents`compteurs qui contiennent les métriques système de rusage (vous pouvez les utiliser pour obtenir des informations sur Lutilisation du processeur dans lespace utilisateur et le noyau, les erreurs de page et les commutateurs de contexte), ainsi que les métriques taskstats (utilisez-les pour obtenir des informations sur le temps dattente dE/S, le temps Dattente du processeur et [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Le `ProfileEvents` les compteurs sont appliqués globalement et pour chaque requête, ainsi que pour chaque thread dexécution de requête, ce qui vous permet de profiler la consommation de ressources par requête en détail. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Ajouté le `system.query_thread_log` table, qui contient des informations sur chaque thread dexécution de requête. Ajouté le `log_query_threads` paramètre. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Le `system.metrics` et `system.events` les tables ont maintenant une documentation intégrée. [\#3016](https://github.com/ClickHouse/ClickHouse/pull/3016)
- Ajouté le `arrayEnumerateDense` fonction. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2975)
- Ajouté le `arrayCumSumNonNegative` et `arrayDifference` fonction. [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/2942)
- Ajouté le `retention` fonction dagrégation. [Sundy Li](https://github.com/ClickHouse/ClickHouse/pull/2887)
- Vous pouvez maintenant ajouter (fusionner) des états de fonctions dagrégat en utilisant lopérateur plus et multiplier les états de fonctions dagrégat par une constante non négative. [\#3062](https://github.com/ClickHouse/ClickHouse/pull/3062) [\#3034](https://github.com/ClickHouse/ClickHouse/pull/3034)
- Les Tables de la famille MergeTree ont maintenant la colonne virtuelle `_partition_id`. [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089)
#### Caractéristiques expérimentales: {#experimental-features-1}
- Ajouté le `LowCardinality(T)` type de données. Ce type de données crée automatiquement un dictionnaire local de valeurs et permet le traitement des données sans déballer le dictionnaire. [\#2830](https://github.com/ClickHouse/ClickHouse/pull/2830)
- Ajout dun cache de fonctions compilées JIT et dun compteur pour le nombre dutilisations avant la compilation. Pour compiler des expressions JIT, activez `compile_expressions` paramètre. [\#2990](https://github.com/ClickHouse/ClickHouse/pull/2990) [\#3077](https://github.com/ClickHouse/ClickHouse/pull/3077)
#### Amélioration: {#improvements-4}
- Correction du problème avec laccumulation illimitée du journal de réplication quand il y a des répliques abandonnées. Ajout dun mode de récupération efficace pour les répliques avec un long décalage.
- Amélioration des performances de `GROUP BY` avec lagrégation de plusieurs champs lorsque lun deux est une chaîne et les autres sont de longueur fixe.
- Amélioration des performances lors de lutilisation `PREWHERE` et avec transfert implicite dexpressions dans `PREWHERE`.
- Amélioration des performances danalyse pour les formats de texte (`CSV`, `TSV`). [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2977) [\#2980](https://github.com/ClickHouse/ClickHouse/pull/2980)
- Amélioration des performances de lecture des chaînes et des tableaux dans les formats binaires. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2955)
- Augmentation des performances et réduction de la consommation de mémoire pour les requêtes `system.tables` et `system.columns` quand il y a un très grand nombre de tables sur un seul serveur. [\#2953](https://github.com/ClickHouse/ClickHouse/pull/2953)
- Correction dun problème de performances dans le cas dun grand flux de requêtes résultant en une erreur (la `_dl_addr` la fonction est visible dans `perf top` mais le serveur nutilise pas beaucoup de CPU). [\#2938](https://github.com/ClickHouse/ClickHouse/pull/2938)
- Les Conditions sont converties dans la vue (lorsque `enable_optimize_predicate_expression` est activé). [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2907)
- Améliorations de la fonctionnalité pour le `UUID` type de données. [\#3074](https://github.com/ClickHouse/ClickHouse/pull/3074) [\#2985](https://github.com/ClickHouse/ClickHouse/pull/2985)
- Le `UUID` le type de données est pris en charge dans les dictionnaires-Alchemist. [\#2822](https://github.com/ClickHouse/ClickHouse/pull/2822)
- Le `visitParamExtractRaw` la fonction fonctionne correctement avec les structures imbriquées. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2974)
- Lorsque l `input_format_skip_unknown_fields` paramètre est activé, les champs dobjet dans `JSONEachRow` format sont ignorés correctement. [BlahGeek](https://github.com/ClickHouse/ClickHouse/pull/2958)
- Pour un `CASE` expression avec conditions, vous pouvez maintenant omettre `ELSE`, ce qui est équivalent à `ELSE NULL`. [\#2920](https://github.com/ClickHouse/ClickHouse/pull/2920)
- Le délai dattente de lopération peut maintenant être configuré lorsque vous travaillez avec ZooKeeper. [urykhy](https://github.com/ClickHouse/ClickHouse/pull/2971)
- Vous pouvez spécifier un décalage pour `LIMIT n, m` comme `LIMIT n OFFSET m`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/2840)
- Vous pouvez utiliser l `SELECT TOP n` syntaxe comme alternative pour `LIMIT`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/2840)
- Augmentation de la taille de la file dattente pour écrire dans les tables `SystemLog parameter queue is full` lerreur ne se produit pas aussi souvent.
- Le `windowFunnel` fonction dagrégation prend désormais en charge les événements qui répondent à plusieurs conditions. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2801)
- Les colonnes dupliquées peuvent être utilisées dans un `USING` la clause de `JOIN`. [\#3006](https://github.com/ClickHouse/ClickHouse/pull/3006)
- `Pretty` formats maintenant avoir une limite sur lalignement des colonnes de largeur. Lutilisation de la `output_format_pretty_max_column_pad_width` paramètre. Si une valeur est plus large, il sera toujours affichée dans son intégralité, mais les autres cellules dans le tableau ne sera pas trop large. [\#3003](https://github.com/ClickHouse/ClickHouse/pull/3003)
- Le `odbc` la fonction table vous permet maintenant de spécifier le nom de la base de données / schéma. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2885)
- Ajout de la possibilité dutiliser un nom dutilisateur spécifié dans le `clickhouse-client` fichier de configuration. [Vladimir Kozbin](https://github.com/ClickHouse/ClickHouse/pull/2909)
- Le `ZooKeeperExceptions` compteur a été divisé en trois compteurs: `ZooKeeperUserExceptions`, `ZooKeeperHardwareExceptions`, et `ZooKeeperOtherExceptions`.
- `ALTER DELETE` les requêtes fonctionnent pour les vues matérialisées.
- Ajouté randomisation lors de lexécution du thread de nettoyage périodiquement pour `ReplicatedMergeTree` afin déviter les pics de charge périodiques lorsquil y a un très grand nombre de `ReplicatedMergeTree` table.
- Soutien pour `ATTACH TABLE ... ON CLUSTER` requête. [\#3025](https://github.com/ClickHouse/ClickHouse/pull/3025)
#### Corrections De Bugs: {#bug-fixes-13}
- Correction dun problème avec `Dictionary` tables (jette le `Size of offsets doesn't match size of column` ou `Unknown compression method` exception). Ce bug est apparu dans la version 18.10.3. [\#2913](https://github.com/ClickHouse/ClickHouse/issues/2913)
- Correction dun bug lors de la fusion `CollapsingMergeTree` tables si lune des parties de données est vide (ces parties sont formées lors de la fusion ou `ALTER DELETE` si toutes les données ont été supprimées), et le `vertical` lalgorithme a été utilisé pour la fusion. [\#3049](https://github.com/ClickHouse/ClickHouse/pull/3049)
- Correction dune condition de course pendant `DROP` ou `TRUNCATE` pour `Memory` tables simultanément `SELECT`, ce qui pourrait conduire à des pannes de serveur. Ce bug est apparu dans la version 1.1.54388. [\#3038](https://github.com/ClickHouse/ClickHouse/pull/3038)
- Correction de la possibilité de perte de données lors de linsertion dans `Replicated` des tables, si la `Session is expired` lerreur est renvoyée (la perte de données peut être détectée par le `ReplicatedDataLoss` métrique). Cette erreur sest produite dans la version 1.1.54378. [\#2939](https://github.com/ClickHouse/ClickHouse/pull/2939) [\#2949](https://github.com/ClickHouse/ClickHouse/pull/2949) [\#2964](https://github.com/ClickHouse/ClickHouse/pull/2964)
- Correction dun segfault pendant `JOIN ... ON`. [\#3000](https://github.com/ClickHouse/ClickHouse/pull/3000)
- Correction de lerreur de recherche des noms de colonne lorsque le `WHERE` expression se compose entièrement dun nom de colonne qualifié, tel que `WHERE table.column`. [\#2994](https://github.com/ClickHouse/ClickHouse/pull/2994)
- Correction de l “Not found column” erreur survenue lors de lexécution de requêtes distribuées si une seule colonne composée dune expression avec une sous-requête est demandée à partir dun serveur distant. [\#3087](https://github.com/ClickHouse/ClickHouse/pull/3087)
- Correction de l `Block structure mismatch in UNION stream: different number of columns` erreur qui sest produite pour les requêtes distribuées si lun des fragments est locale et lautre ne lest pas, et loptimisation de la déplacer à `PREWHERE` est déclenchée. [\#2226](https://github.com/ClickHouse/ClickHouse/pull/2226) [\#3037](https://github.com/ClickHouse/ClickHouse/pull/3037) [\#3055](https://github.com/ClickHouse/ClickHouse/pull/3055) [\#3065](https://github.com/ClickHouse/ClickHouse/pull/3065) [\#3073](https://github.com/ClickHouse/ClickHouse/pull/3073) [\#3090](https://github.com/ClickHouse/ClickHouse/pull/3090) [\#3093](https://github.com/ClickHouse/ClickHouse/pull/3093)
- Correction de l `pointInPolygon` fonction pour certains cas de polygones non convexes. [\#2910](https://github.com/ClickHouse/ClickHouse/pull/2910)
- Correction du résultat incorrect lors de la comparaison `nan` avec des entiers. [\#3024](https://github.com/ClickHouse/ClickHouse/pull/3024)
- Correction dune erreur dans le `zlib-ng` bibliothèque qui pourrait conduire à segfault dans de rares cas. [\#2854](https://github.com/ClickHouse/ClickHouse/pull/2854)
- Correction dune fuite de mémoire lors de linsertion dans une table avec `AggregateFunction` colonnes, si létat de la fonction dagrégat nest pas simple (alloue la mémoire séparément), et si une seule demande dinsertion entraîne plusieurs petits blocs. [\#3084](https://github.com/ClickHouse/ClickHouse/pull/3084)
- Correction dune condition de concurrence lors de la création et la suppression de la même `Buffer` ou `MergeTree` table en même temps.
- Correction de la possibilité dun segfault lors de la comparaison des tuples constitués de certains types non triviaux, tels que les tuples. [\#2989](https://github.com/ClickHouse/ClickHouse/pull/2989)
- Correction de la possibilité dun segfault lors de lexécution de certains `ON CLUSTER` requête. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2960)
- Correction dune erreur dans le `arrayDistinct` fonction pour `Nullable` les éléments du tableau. [\#2845](https://github.com/ClickHouse/ClickHouse/pull/2845) [\#2937](https://github.com/ClickHouse/ClickHouse/pull/2937)
- Le `enable_optimize_predicate_expression` option prend en charge correctement les cas avec `SELECT *`. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2929)
- Correction du segfault lors de la réinitialisation de la session ZooKeeper. [\#2917](https://github.com/ClickHouse/ClickHouse/pull/2917)
- Blocage potentiel fixe lorsque vous travaillez avec ZooKeeper.
- Correction dun code incorrect pour ajouter des structures de données imbriquées dans un `SummingMergeTree`.
- Lors de lallocation de mémoire pour les états de fonctions dagrégat, lalignement est correctement pris en compte, ce qui permet dutiliser des opérations nécessitant un alignement lors de la mise en œuvre des états de fonctions dagrégat. [chenxing-xc](https://github.com/ClickHouse/ClickHouse/pull/2808)
#### Correction De sécurité: {#security-fix}
- Utilisation sûre des sources de données ODBC. LInteraction avec les pilotes ODBC utilise un `clickhouse-odbc-bridge` processus. Les erreurs dans les pilotes ODBC tiers ne causent plus de problèmes de stabilité du serveur ou de vulnérabilités. [\#2828](https://github.com/ClickHouse/ClickHouse/pull/2828) [\#2879](https://github.com/ClickHouse/ClickHouse/pull/2879) [\#2886](https://github.com/ClickHouse/ClickHouse/pull/2886) [\#2893](https://github.com/ClickHouse/ClickHouse/pull/2893) [\#2921](https://github.com/ClickHouse/ClickHouse/pull/2921)
- Correction dune validation incorrecte du chemin du fichier dans le `catBoostPool` table de fonction. [\#2894](https://github.com/ClickHouse/ClickHouse/pull/2894)
- Le contenu des tableaux du système (`tables`, `databases`, `parts`, `columns`, `parts_columns`, `merges`, `mutations`, `replicas`, et `replication_queue`) sont filtrés en fonction de laccès configuré de lutilisateur aux bases de données (`allow_databases`). [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2856)
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-3}
- Dans les requêtes avec jointure, le caractère étoile se développe en une liste de colonnes dans toutes les tables, conformément à la norme SQL. Vous pouvez restaurer lancien comportement en paramètre `asterisk_left_columns_only` à 1 au niveau de la configuration utilisateur.
#### Construire Des Changements: {#build-changes-2}
- La plupart des tests dintégration peuvent maintenant être exécutés par commit.
- Les contrôles de style de Code peuvent également être exécutés par commit.
- Le `memcpy` limplémentation est choisie correctement lors de la construction sur CentOS7/Fedora. [Etienne Champetier](https://github.com/ClickHouse/ClickHouse/pull/2912)
- Lorsque vous utilisez clang pour construire, certains avertissements de `-Weverything` ont été ajoutées, en plus de la `-Wall-Wextra -Werror`. [\#2957](https://github.com/ClickHouse/ClickHouse/pull/2957)
- Débogage de la construction utilise le `jemalloc` option de débogage.
- Linterface de la bibliothèque pour interagir avec ZooKeeper est déclarée abstraite. [\#2950](https://github.com/ClickHouse/ClickHouse/pull/2950)
## Clickhouse Version 18.10 {#clickhouse-release-18-10}
### Clickhouse Version 18.10.3, 2018-08-13 {#clickhouse-release-18-10-3-2018-08-13}
#### Nouveauté: {#new-features-5}
- HTTPS peut être utilisé pour la réplication. [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760)
- Ajout des fonctions `murmurHash2_64`, `murmurHash3_32`, `murmurHash3_64`, et `murmurHash3_128` en plus de lexistant `murmurHash2_32`. [\#2791](https://github.com/ClickHouse/ClickHouse/pull/2791)
- Prise en charge des types Nullable dans le pilote ODBC ClickHouse (`ODBCDriver2` le format de sortie). [\#2834](https://github.com/ClickHouse/ClickHouse/pull/2834)
- Soutien pour `UUID` dans les colonnes de clé.
#### Amélioration: {#improvements-5}
- Les Clusters peuvent être supprimés sans redémarrer le serveur lorsquils sont supprimés des fichiers de configuration. [\#2777](https://github.com/ClickHouse/ClickHouse/pull/2777)
- Les dictionnaires externes peuvent être supprimés sans redémarrer le serveur lorsquils sont supprimés des fichiers de configuration. [\#2779](https://github.com/ClickHouse/ClickHouse/pull/2779)
- Ajouter `SETTINGS` soutien pour le `Kafka` tableau moteur. [Alexander Marshalov](https://github.com/ClickHouse/ClickHouse/pull/2781)
- Des améliorations pour l `UUID` type de données (pas encore terminée). [\#2618](https://github.com/ClickHouse/ClickHouse/pull/2618)
- Prise en charge des pièces vides après fusion dans le `SummingMergeTree`, `CollapsingMergeTree` et `VersionedCollapsingMergeTree` moteur. [\#2815](https://github.com/ClickHouse/ClickHouse/pull/2815)
- Les anciens enregistrements de mutations terminées sont supprimés (`ALTER DELETE`). [\#2784](https://github.com/ClickHouse/ClickHouse/pull/2784)
- Ajouté le `system.merge_tree_settings` table. [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/2841)
- Le `system.tables` la table a maintenant des colonnes de dépendance: `dependencies_database` et `dependencies_table`. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2851)
- Ajouté le `max_partition_size_to_drop` option de configuration. [\#2782](https://github.com/ClickHouse/ClickHouse/pull/2782)
- Ajouté le `output_format_json_escape_forward_slashes` option. [Alexandre Botcharov](https://github.com/ClickHouse/ClickHouse/pull/2812)
- Ajouté le `max_fetch_partition_retries_count` paramètre. [\#2831](https://github.com/ClickHouse/ClickHouse/pull/2831)
- Ajouté le `prefer_localhost_replica` paramètre permettant de désactiver la préférence pour une réplique locale et daccéder à une réplique locale sans interaction entre processus. [\#2832](https://github.com/ClickHouse/ClickHouse/pull/2832)
- Le `quantileExact` fonction dagrégation retourne `nan` dans le cas de lagrégation sur un vide `Float32` ou `Float64` définir. [Sundy Li](https://github.com/ClickHouse/ClickHouse/pull/2855)
#### Corrections De Bugs: {#bug-fixes-14}
- Suppression de léchappement inutile des paramètres de chaîne de connexion pour ODBC, ce qui rendait impossible létablissement dune connexion. Cette erreur sest produite dans la version 18.6.0.
- Fixe la logique de traitement `REPLACE PARTITION` les commandes dans la file dattente de réplication. Si il y a deux `REPLACE` pour la même partition, la logique incorrecte pourrait entraîner lun dentre eux de rester dans la file dattente de réplication et ne pas être exécuté. [\#2814](https://github.com/ClickHouse/ClickHouse/pull/2814)
- Correction dun bug de fusion lorsque toutes les parties de données étaient vides (parties formées à partir dune fusion ou `ALTER DELETE` si toutes les données ont été supprimées). Ce bug est apparu dans la version 18.1.0. [\#2930](https://github.com/ClickHouse/ClickHouse/pull/2930)
- Correction dune erreur pour simultanées `Set` ou `Join`. [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2823)
- Correction de l `Block structure mismatch in UNION stream: different number of columns` erreur qui sest produite pour `UNION ALL` requêtes dans une sous-requête si lun des `SELECT` les requêtes contiennent des noms de colonnes en double. [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2094)
- Correction dune fuite de mémoire si une exception se produisait lors de la connexion à un serveur MySQL.
- Correction dun code de réponse clickhouse-client incorrect en cas derreur de requête.
- Correction dun comportement incorrect des vues matérialisées contenant DISTINCT. [\#2795](https://github.com/ClickHouse/ClickHouse/issues/2795)
#### Modifications Incompatibles En arrière {#backward-incompatible-changes-4}
- Suppression de la prise en charge des requêtes CHECK TABLE pour les tables distribuées.
#### Construire Des Changements: {#build-changes-3}
- Lallocateur a été remplacé: `jemalloc` est maintenant utilisé à la place de `tcmalloc`. Dans certains scénarios, cela augmente la vitesse jusquà 20%. Cependant, il y a des questions qui ont ralenti jusquà 20%. La consommation de mémoire a été réduite denviron 10% dans certains scénarios, avec une meilleure stabilité. Avec des charges très compétitives, lutilisation du processeur dans lespace utilisateur et dans le système ne montre quune légère augmentation. [\#2773](https://github.com/ClickHouse/ClickHouse/pull/2773)
- Lutilisation de libressl à partir dun sous-module. [\#1983](https://github.com/ClickHouse/ClickHouse/pull/1983) [\#2807](https://github.com/ClickHouse/ClickHouse/pull/2807)
- Utilisation dunixodbc à partir dun sous-module. [\#2789](https://github.com/ClickHouse/ClickHouse/pull/2789)
- Lutilisation de mariadb-connecteur-c à partir dun sous-module. [\#2785](https://github.com/ClickHouse/ClickHouse/pull/2785)
- Ajout de fichiers de test fonctionnels au référentiel qui dépendent de la disponibilité des données de test (pour le moment, sans les données de test elles-mêmes).
## Clickhouse Version 18.6 {#clickhouse-release-18-6}
### Clickhouse Version 18.6.0, 2018-08-02 {#clickhouse-release-18-6-0-2018-08-02}
#### Nouveauté: {#new-features-6}
- Ajout du support pour les expressions on pour la syntaxe JOIN ON:
`JOIN ON Expr([table.]column ...) = Expr([table.]column, ...) [AND Expr([table.]column, ...) = Expr([table.]column, ...) ...]`
Lexpression doit être une chaîne dégalités rejoint par lopérateur ET. De chaque côté de légalité peut être une expression arbitraire sur les colonnes de lune des tables. Lutilisation de noms de colonnes entièrement qualifiés est prise en charge (`table.name`, `database.table.name`, `table_alias.name`, `subquery_alias.name`) pour la bonne table. [\#2742](https://github.com/ClickHouse/ClickHouse/pull/2742)
- HTTPS peut être activé pour la réplication. [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760)
#### Amélioration: {#improvements-6}
- Le serveur transmet le composant patch de sa version au client. Les données sur le composant de version de correctif sont `system.processes` et `query_log`. [\#2646](https://github.com/ClickHouse/ClickHouse/pull/2646)
## Clickhouse Version 18.5 {#clickhouse-release-18-5}
### Clickhouse Version 18.5.1, 2018-07-31 {#clickhouse-release-18-5-1-2018-07-31}
#### Nouveauté: {#new-features-7}
- Ajout de la fonction de hachage `murmurHash2_32` [\#2756](https://github.com/ClickHouse/ClickHouse/pull/2756).
#### Amélioration: {#improvements-7}
- Maintenant, vous pouvez utiliser le `from_env` [\#2741](https://github.com/ClickHouse/ClickHouse/pull/2741) attribut pour définir des valeurs dans les fichiers de configuration à partir de variables denvironnement.
- Ajout de versions insensibles à la casse `coalesce`, `ifNull`, et `nullIf functions` [\#2752](https://github.com/ClickHouse/ClickHouse/pull/2752).
#### Corrections De Bugs: {#bug-fixes-15}
- Correction dun bug possible lors du démarrage dune réplique [\#2759](https://github.com/ClickHouse/ClickHouse/pull/2759).
## Clickhouse Version 18.4 {#clickhouse-release-18-4}
### Clickhouse Version 18.4.0, 2018-07-28 {#clickhouse-release-18-4-0-2018-07-28}
#### Nouveauté: {#new-features-8}
- Tables système ajoutées: `formats`, `data_type_families`, `aggregate_function_combinators`, `table_functions`, `table_engines`, `collations` [\#2721](https://github.com/ClickHouse/ClickHouse/pull/2721).
- Ajout de la possibilité dutiliser une fonction de table au lieu dun tableau en argument dune `remote` ou `cluster table function` [\#2708](https://github.com/ClickHouse/ClickHouse/pull/2708).
- Soutien pour `HTTP Basic` lauthentification dans le protocole de réplication [\#2727](https://github.com/ClickHouse/ClickHouse/pull/2727).
- Le `has` fonction permet de rechercher une valeur numérique dans un tableau de `Enum` valeur [Maxim Khrisanfov](https://github.com/ClickHouse/ClickHouse/pull/2699).
- Prise en charge de lajout de séparateurs de messages arbitraires lors de la lecture de `Kafka` [Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2701).
#### Amélioration: {#improvements-8}
- Le `ALTER TABLE t DELETE WHERE` la requête ne réécrit pas les parties de données qui nont pas été affectées par la condition WHERE [\#2694](https://github.com/ClickHouse/ClickHouse/pull/2694).
- Le `use_minimalistic_checksums_in_zookeeper` option pour `ReplicatedMergeTree` des tables est activé par défaut. Ce paramètre a été ajouté dans la version 1.1.54378, 2018-04-16. Les Versions antérieures à 1.1.54378 ne peuvent plus être installées.
- La prise en charge de `KILL` et `OPTIMIZE` requêtes qui spécifient `ON CLUSTER` [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2689).
#### Corrections De Bugs: {#bug-fixes-16}
- Correction de lerreur `Column ... is not under an aggregate function and not in GROUP BY` pour lagrégation avec une expression. Ce bug est apparu dans la version 18.1.0. ([bbdd780b](https://github.com/ClickHouse/ClickHouse/commit/bbdd780be0be06a0f336775941cdd536878dd2c2))
- Correction dun bug dans l `windowFunnel aggregate function` [LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2735).
- Correction dun bug dans l `anyHeavy` fonction dagrégation ([a2101df2](https://github.com/ClickHouse/ClickHouse/commit/a2101df25a6a0fba99aa71f8793d762af2b801ee))
- Correction dun crash du serveur lors de lutilisation du `countArray()` fonction dagrégation.
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-5}
- Paramètres pour `Kafka` moteur a été changé de `Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_schema, kafka_num_consumers])` de `Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_row_delimiter, kafka_schema, kafka_num_consumers])`. Si vos tables utilisent `kafka_schema` ou `kafka_num_consumers` paramètres, vous devez modifier manuellement les fichiers de métadonnées `path/metadata/database/table.sql` et dajouter `kafka_row_delimiter` paramètre avec `''` valeur.
## Clickhouse Version 18.1 {#clickhouse-release-18-1}
### Clickhouse Version 18.1.0, 2018-07-23 {#clickhouse-release-18-1-0-2018-07-23}
#### Nouveauté: {#new-features-9}
- Soutien pour le `ALTER TABLE t DELETE WHERE` requête pour les tables MergeTree non répliquées ([\#2634](https://github.com/ClickHouse/ClickHouse/pull/2634)).
- Prise en charge des types arbitraires pour `uniq*` famille de fonctions agrégées ([\#2010](https://github.com/ClickHouse/ClickHouse/issues/2010)).
- Prise en charge des types arbitraires dans les opérateurs de comparaison ([\#2026](https://github.com/ClickHouse/ClickHouse/issues/2026)).
- Le `users.xml` fichier permet de définir un masque de sous-réseau au format `10.0.0.1/255.255.255.0`. Ceci est nécessaire pour utiliser des masques pour les réseaux IPv6 avec des zéros au milieu ([\#2637](https://github.com/ClickHouse/ClickHouse/pull/2637)).
- Ajouté le `arrayDistinct` fonction ([\#2670](https://github.com/ClickHouse/ClickHouse/pull/2670)).
- Le moteur SummingMergeTree peut maintenant fonctionner avec des colonnes de type AggregateFunction ([Constantin S. Pan](https://github.com/ClickHouse/ClickHouse/pull/2566)).
#### Amélioration: {#improvements-9}
- Modification du schéma de numérotation pour les versions de version. Maintenant, la première partie contient lannée de sortie (A. D., fuseau horaire de Moscou, moins 2000), la deuxième partie contient le nombre de changements majeurs (augmente pour la plupart des versions), et la troisième partie est la version patch. Les versions sont toujours rétrocompatibles, sauf indication contraire dans le changelog.
- Conversions plus rapides de nombres à virgule flottante en une chaîne ([Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2664)).
- Si certaines lignes ont été ignorées lors dune insertion en raison derreurs danalyse (ceci est possible avec `input_allow_errors_num` et `input_allow_errors_ratio` paramètres activé), le nombre de lignes ignorées est maintenant écrit dans le journal du serveur ([Leonardo Cecchi](https://github.com/ClickHouse/ClickHouse/pull/2669)).
#### Corrections De Bugs: {#bug-fixes-17}
- Correction de la commande TRUNCATE pour les tables temporaires ([Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2624)).
- Correction dune impasse rare dans la bibliothèque client ZooKeeper qui se produisait lorsquune erreur réseau se produisait lors de la lecture de la réponse ([c315200](https://github.com/ClickHouse/ClickHouse/commit/c315200e64b87e44bdf740707fc857d1fdf7e947)).
- Correction dune erreur lors dune conversion en types Nullable ([\#1322](https://github.com/ClickHouse/ClickHouse/issues/1322)).
- Correction du résultat incorrect de l `maxIntersection()` fonction lorsque les limites des intervalles de coïncidé ([Michael Furmur](https://github.com/ClickHouse/ClickHouse/pull/2657)).
- Correction dune transformation incorrecte de la chaîne dexpression OR dans un argument de fonction ([chenxing-xc](https://github.com/ClickHouse/ClickHouse/pull/2663)).
- Fixe une dégradation des performances pour les requêtes contenant `IN (subquery)` expressions à lintérieur dune autre sous-requête ([\#2571](https://github.com/ClickHouse/ClickHouse/issues/2571)).
- Fixe incompatibilité entre les serveurs avec des versions différentes requêtes distribuées qui utilisent un `CAST` fonction qui nest pas en majuscules ([fe8c4d6](https://github.com/ClickHouse/ClickHouse/commit/fe8c4d64e434cacd4ceef34faa9005129f2190a5)).
- Ajout de guillemets manquants didentifiants pour les requêtes à un SGBD externe ([\#2635](https://github.com/ClickHouse/ClickHouse/issues/2635)).
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-6}
- La conversion dune chaîne contenant le nombre zéro en DateTime ne fonctionne pas. Exemple: `SELECT toDateTime('0')`. Cest aussi la raison pour laquelle `DateTime DEFAULT '0'` ne fonctionne pas dans les tableaux, ainsi que `<null_value>0</null_value>` dans les dictionnaires. Solution: remplacer `0` avec `0000-00-00 00:00:00`.
## Clickhouse Version 1.1 {#clickhouse-release-1-1}
### Clickhouse Version 1.1.54394, 2018-07-12 {#clickhouse-release-1-1-54394-2018-07-12}
#### Nouveauté: {#new-features-10}
- Ajouté le `histogram` fonction dagrégation ([Mikhail Surin](https://github.com/ClickHouse/ClickHouse/pull/2521)).
- Maintenant `OPTIMIZE TABLE ... FINAL` peut être utilisé sans spécifier de partitions pour `ReplicatedMergeTree` ([Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2600)).
#### Corrections De Bugs: {#bug-fixes-18}
- Correction dun problème avec un très petit délai dattente pour les sockets (une seconde) pour la lecture et lécriture lors de lenvoi et du téléchargement de données répliquées, ce qui rendait impossible le téléchargement de pièces plus grandes sil y avait une charge sur le réseau ou le disque (cela entraînait des tentatives cycliques de téléchargement de pièces). Cette erreur sest produite dans la version 1.1.54388.
- Correction de problèmes lors de lutilisation de chroot dans ZooKeeper si vous avez inséré des blocs de données en double dans la table.
- Le `has` la fonction fonctionne maintenant correctement pour un tableau avec les valeurs null éléments ([\#2115](https://github.com/ClickHouse/ClickHouse/issues/2115)).
- Le `system.tables` table fonctionne maintenant correctement lorsquil est utilisé dans les requêtes distribuées. Le `metadata_modification_time` et `engine_full` les colonnes sont maintenant non-virtuel. Correction dune erreur qui sest produite si seules ces colonnes étaient interrogées à partir de la table.
- Correction de la façon dont un vide `TinyLog` table fonctionne après linsertion dun bloc de données vide ([\#2563](https://github.com/ClickHouse/ClickHouse/issues/2563)).
- Le `system.zookeeper` table fonctionne si la valeur du nœud dans ZooKeeper est NULL.
### Clickhouse Version 1.1.54390, 2018-07-06 {#clickhouse-release-1-1-54390-2018-07-06}
#### Nouveauté: {#new-features-11}
- Les requêtes peuvent être envoyées `multipart/form-data` format (dans le `query` champ), ce qui est utile si des données externes sont également envoyées pour le traitement de la requête ([Olga Hvostikova](https://github.com/ClickHouse/ClickHouse/pull/2490)).
- Ajout de la possibilité dactiver ou de désactiver le traitement des guillemets simples ou doubles lors de la lecture de données au format CSV. Vous pouvez configurer cela dans le `format_csv_allow_single_quotes` et `format_csv_allow_double_quotes` paramètre ([Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2574)).
- Maintenant `OPTIMIZE TABLE ... FINAL` peut être utilisé sans spécifier la partition pour les variantes non répliquées de `MergeTree` ([Amos Oiseau](https://github.com/ClickHouse/ClickHouse/pull/2599)).
#### Amélioration: {#improvements-10}
- Amélioration des performances, réduction de la consommation de mémoire et suivi correct de la consommation de mémoire avec lutilisation de Lopérateur IN lorsquun index de table peut être utilisé ([\#2584](https://github.com/ClickHouse/ClickHouse/pull/2584)).
- Retiré redondant vérification des sommes de contrôle lors de lajout dune partie des données. Ceci est important lorsquil y a un grand nombre de répliques, car dans ces cas, le nombre total de contrôles était égal à n^2.
- Ajout du support pour `Array(Tuple(...))` arguments en faveur de la `arrayEnumerateUniq` fonction ([\#2573](https://github.com/ClickHouse/ClickHouse/pull/2573)).
- Ajouter `Nullable` soutien pour le `runningDifference` fonction ([\#2594](https://github.com/ClickHouse/ClickHouse/pull/2594)).
- Amélioration des performances danalyse des requêtes lorsquil existe un très grand nombre dexpressions ([\#2572](https://github.com/ClickHouse/ClickHouse/pull/2572)).
- Sélection plus rapide des parties de données à fusionner `ReplicatedMergeTree` table. Récupération plus rapide de la session ZooKeeper ([\#2597](https://github.com/ClickHouse/ClickHouse/pull/2597)).
- Le `format_version.txt` fichier pour `MergeTree` tables est recréée si elle est manquante, ce qui est logique si ClickHouse est lancé après avoir copié la structure de répertoire sans fichiers ([Ciprian Hacman](https://github.com/ClickHouse/ClickHouse/pull/2593)).
#### Corrections De Bugs: {#bug-fixes-19}
- Correction dun bug lorsque vous travaillez avec ZooKeeper qui pourrait rendre impossible la récupération de la session et des États en lecture seule des tables avant de redémarrer le serveur.
- Correction dun bug lorsque vous travaillez avec ZooKeeper qui pourrait entraîner la suppression des anciens nœuds si la session est interrompue.
- Correction dune erreur dans le `quantileTDigest` fonction pour les arguments Float (ce bug a été introduit dans la version 1.1.54388) ([Mikhail Surin](https://github.com/ClickHouse/ClickHouse/pull/2553)).
- Correction dun bug dans lindex des tables MergeTree si la colonne de clé primaire est située à lintérieur de la fonction de conversion des types entre des entiers signés et non signés de même taille ([\#2603](https://github.com/ClickHouse/ClickHouse/pull/2603)).
- Fixe erreur de segmentation si `macros` sont utilisés mais ils ne sont pas dans le fichier de configuration ([\#2570](https://github.com/ClickHouse/ClickHouse/pull/2570)).
- Correction du passage à la base de données par défaut lors de la reconnexion du client ([\#2583](https://github.com/ClickHouse/ClickHouse/pull/2583)).
- Correction dun bug qui se produisait lors de la `use_index_for_in_with_subqueries` paramètre a été désactivé.
#### Correction De sécurité: {#security-fix-1}
- Lenvoi de fichiers nest plus possible lorsquil est connecté à MySQL (`LOAD DATA LOCAL INFILE`).
### Clickhouse Version 1.1.54388, 2018-06-28 {#clickhouse-release-1-1-54388-2018-06-28}
#### Nouveauté: {#new-features-12}
- Soutien pour le `ALTER TABLE t DELETE WHERE` requête pour les tables répliquées. Ajouté le `system.mutations` tableau pour suivre la progression de ce type de requêtes.
- Soutien pour le `ALTER TABLE t [REPLACE|ATTACH] PARTITION` requête pour les tables \* MergeTree.
- Soutien pour le `TRUNCATE TABLE` requête ([LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2260))
- Plusieurs nouveaux `SYSTEM` requêtes pour les tables répliquées (`RESTART REPLICAS`, `SYNC REPLICA`, `[STOP|START] [MERGES|FETCHES|SENDS REPLICATED|REPLICATION QUEUES]`).
- Ajout de la possibilité décrire dans une table avec le moteur MySQL et la fonction de table correspondante ([sundy-li](https://github.com/ClickHouse/ClickHouse/pull/2294)).
- Ajouté le `url()` fonction de table et le `URL` tableau moteur ([Alexander Sapin](https://github.com/ClickHouse/ClickHouse/pull/2501)).
- Ajouté le `windowFunnel` fonction dagrégation ([sundy-li](https://github.com/ClickHouse/ClickHouse/pull/2352)).
- Nouveau `startsWith` et `endsWith` fonctions pour les chaînes ([Vadim Plakhtinsky](https://github.com/ClickHouse/ClickHouse/pull/2429)).
- Le `numbers()` la fonction table vous permet maintenant de spécifier le décalage ([LHiver Zhang](https://github.com/ClickHouse/ClickHouse/pull/2535)).
- Le mot de passe pour `clickhouse-client` peut être saisi de manière interactive.
- Les journaux du serveur peuvent maintenant être envoyés à syslog ([Alexander Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2459)).
- Prise en charge de la connexion dans les dictionnaires avec une source de bibliothèque partagée ([Alexander Sapin](https://github.com/ClickHouse/ClickHouse/pull/2472)).
- Prise en charge des délimiteurs CSV personnalisés ([Ivan Joukov](https://github.com/ClickHouse/ClickHouse/pull/2263))
- Ajouté le `date_time_input_format` paramètre. Si vous basculez ce paramètre sur `'best_effort'`, Les valeurs DateTime seront lues dans un large éventail de formats.
- Ajouté le `clickhouse-obfuscator` utilitaire pour lobscurcissement des données. Exemple dutilisation: publication des données utilisées dans les tests de performance.
#### Caractéristiques expérimentales: {#experimental-features-2}
- Ajout de la possibilité de calculer `and` arguments uniquement là où ils sont nécessaires ([Anastasia Tsarkova](https://github.com/ClickHouse/ClickHouse/pull/2272))
- La compilation JIT en code natif est maintenant disponible pour certaines expressions ([pyos](https://github.com/ClickHouse/ClickHouse/pull/2277)).
#### Corrections De Bugs: {#bug-fixes-20}
- Les doublons napparaissent plus pour une requête avec `DISTINCT` et `ORDER BY`.
- Les requêtes avec `ARRAY JOIN` et `arrayFilter` ne renvoie plus un résultat incorrect.
- Correction dune erreur lors de la lecture dune colonne de tableau à partir dune structure Imbriquée ([\#2066](https://github.com/ClickHouse/ClickHouse/issues/2066)).
- Correction dune erreur lors de lanalyse des requêtes avec une clause HAVING comme `HAVING tuple IN (...)`.
- Correction dune erreur lors de lanalyse des requêtes avec récursive des alias.
- Correction dune erreur lors de la lecture de ReplacingMergeTree avec une condition dans PREWHERE qui filtre Toutes les lignes ([\#2525](https://github.com/ClickHouse/ClickHouse/issues/2525)).
- Les paramètres de profil utilisateur nont pas été appliqués lors de lutilisation de sessions dans Linterface HTTP.
- Correction de la façon dont les paramètres sont appliqués à partir des paramètres de ligne de commande dans clickhouse-local.
- La bibliothèque client ZooKeeper utilise maintenant le délai dattente de session reçu du serveur.
- Correction dun bug dans la bibliothèque client ZooKeeper lorsque le client attendait la réponse du serveur plus longtemps que le délai dattente.
- Correction de lélagage des pièces pour les requêtes avec des conditions sur les colonnes de clé de partition ([\#2342](https://github.com/ClickHouse/ClickHouse/issues/2342)).
- Les fusions sont maintenant possibles après `CLEAR COLUMN IN PARTITION` ([\#2315](https://github.com/ClickHouse/ClickHouse/issues/2315)).
- Le mappage de Type dans la fonction de table ODBC a été corrigé ([sundy-li](https://github.com/ClickHouse/ClickHouse/pull/2268)).
- Les comparaisons de Type ont été corrigées pour `DateTime` avec et sans le fuseau horaire ([Alexandre Botcharov](https://github.com/ClickHouse/ClickHouse/pull/2400)).
- Correction de lanalyse syntaxique et du formatage `CAST` opérateur.
- Insertion fixe dans une vue matérialisée pour le moteur de table distribué ([Babacar Diassé](https://github.com/ClickHouse/ClickHouse/pull/2411)).
- Correction dune condition de concurrence lors de lécriture de données `Kafka` moteur aux vues matérialisées ([Yangkuan Liu](https://github.com/ClickHouse/ClickHouse/pull/2448)).
- Correction de SSRF dans la fonction de table remote ().
- Comportement de sortie fixe de `clickhouse-client` en mode multi-lignes ([\#2510](https://github.com/ClickHouse/ClickHouse/issues/2510)).
#### Amélioration: {#improvements-11}
- Les tâches darrière plan dans les tables répliquées sont maintenant effectuées dans un pool de threads plutôt que dans des threads séparés ([Silviu Caragea](https://github.com/ClickHouse/ClickHouse/pull/1722)).
- Amélioration des performances de compression LZ4.
- Analyse plus rapide pour les requêtes avec un grand nombre de jointures et de sous-requêtes.
- Le cache DNS est maintenant mis à jour automatiquement lorsquil y a trop derreurs réseau.
- Les insertions de Table ne se produisent plus si linsertion dans lune des vues matérialisées nest pas possible car elle comporte trop de parties.
- Correction de lécart dans les compteurs dévénements `Query`, `SelectQuery`, et `InsertQuery`.
- Des Expressions comme `tuple IN (SELECT tuple)` sont autorisés si les types de tuple correspondent.
- Un serveur avec des tables répliquées peut démarrer même si vous navez pas configuré ZooKeeper.
- Lors du calcul du nombre de cœurs CPU disponibles, les limites sur les groupes cgroups sont maintenant prises en compte ([Atri Sharma](https://github.com/ClickHouse/ClickHouse/pull/2325)).
- Ajouté chown pour les répertoires de configuration dans le fichier de configuration systemd ([Mikhaïl Shirjaeva](https://github.com/ClickHouse/ClickHouse/pull/2421)).
#### Construire Des Changements: {#build-changes-4}
- Le compilateur gcc8 peut être utilisé pour les builds.
- Ajout de la possibilité de construire llvm à partir du sous-module.
- La version de la bibliothèque librdkafka a été mise à jour vers v0. 11. 4.
- Ajout de la possibilité dutiliser la bibliothèque libcpuid du système. La version de la bibliothèque a été mise à jour à 0.4.0.
- Correction de la construction en utilisant la bibliothèque vectorclass ([Babacar Diassé](https://github.com/ClickHouse/ClickHouse/pull/2274)).
- Cmake génère maintenant des fichiers pour ninja par défaut (comme lors de lutilisation `-G Ninja`).
- Ajout de la possibilité dutiliser la bibliothèque libtinfo au lieu de libtermcap ([Georgy Kondratiev](https://github.com/ClickHouse/ClickHouse/pull/2519)).
- Correction dun conflit de fichier den-tête dans Fedora Rawhide ([\#2520](https://github.com/ClickHouse/ClickHouse/issues/2520)).
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-7}
- Retiré échapper dans `Vertical` et `Pretty*` formats et supprimé le `VerticalRaw` format.
- Si des serveurs avec la version 1.1.54388 (ou plus récente) et des serveurs avec une version plus ancienne sont utilisés simultanément dans une requête distribuée et la requête a le `cast(x, 'Type')` expression sans `AS` mot clé et na pas le mot `cast` en majuscules, une exception sera levée avec un message du genre `Not found column cast(0, 'UInt8') in block`. Solution: mettez à jour le serveur sur lensemble du cluster.
### Clickhouse Version 1.1.54385, 2018-06-01 {#clickhouse-release-1-1-54385-2018-06-01}
#### Corrections De Bugs: {#bug-fixes-21}
- Correction dune erreur qui, dans certains cas, provoquait le blocage des opérations de ZooKeeper.
### Clickhouse Version 1.1.54383, 2018-05-22 {#clickhouse-release-1-1-54383-2018-05-22}
#### Corrections De Bugs: {#bug-fixes-22}
- Correction dun ralentissement de la file dattente de réplication si une table a plusieurs répliques.
### Clickhouse Version 1.1.54381, 2018-05-14 {#clickhouse-release-1-1-54381-2018-05-14}
#### Corrections De Bugs: {#bug-fixes-23}
- Correction dune fuite de nœuds dans ZooKeeper lorsque ClickHouse perd la connexion au serveur ZooKeeper.
### Clickhouse Version 1.1.54380, 2018-04-21 {#clickhouse-release-1-1-54380-2018-04-21}
#### Nouveauté: {#new-features-13}
- Ajout de la fonction table `file(path, format, structure)`. Un exemple de lecture doctets depuis `/dev/urandom`: ``` ln -s /dev/urandom /var/lib/clickhouse/user_files/random``clickhouse-client -q "SELECT * FROM file('random', 'RowBinary', 'd UInt8') LIMIT 10" ```.
#### Amélioration: {#improvements-12}
- Les sous-requêtes peuvent être encapsulées `()` crochets pour améliorer la lisibilité des requêtes. Exemple: `(SELECT 1) UNION ALL (SELECT 1)`.
- Simple `SELECT` les requêtes de l `system.processes` le tableau ne sont pas inclus dans le `max_concurrent_queries` limite.
#### Corrections De Bugs: {#bug-fixes-24}
- Correction dun comportement incorrect de la `IN` opérateur quand sélectionner à partir de `MATERIALIZED VIEW`.
- Correction dun filtrage incorrect par index de partition dans des expressions comme `partition_key_column IN (...)`.
- Incapacité fixe à exécuter `OPTIMIZE` requête sur réplica non leader si `REANAME` a été effectuée sur la table.
- Correction de lerreur dautorisation lors de lexécution `OPTIMIZE` ou `ALTER` requêtes sur une réplique non-leader.
- Fixe le gel de l `KILL QUERY`.
- Correction dune erreur dans la bibliothèque client ZooKeeper qui a conduit à la perte de montres, le gel de la file dattente DDL distribuée, et des ralentissements dans la file dattente de réplication si un non vide `chroot` le préfixe est utilisé dans la configuration de ZooKeeper.
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-8}
- Suppression du support pour les expressions comme `(a, b) IN (SELECT (a, b))` (vous pouvez utiliser lexpression équivalente `(a, b) IN (SELECT a, b)`). Dans les versions précédentes, ces expressions ont conduit à indéterminé `WHERE` filtrage ou causé des erreurs.
### Clickhouse Version 1.1.54378, 2018-04-16 {#clickhouse-release-1-1-54378-2018-04-16}
#### Nouveauté: {#new-features-14}
- Niveau denregistrement peut être modifié sans redémarrer le serveur.
- Ajouté le `SHOW CREATE DATABASE` requête.
- Le `query_id` peut être passé à `clickhouse-client` (elBroom).
- Nouveau paramètre: `max_network_bandwidth_for_all_users`.
- Ajout du support pour `ALTER TABLE ... PARTITION ...` pour `MATERIALIZED VIEW`.
- Ajout dinformations sur la taille des parties de données sous forme non compressée dans la table système.
- Prise en charge du chiffrement de serveur à serveur pour les tables distribuées (`<secure>1</secure>` dans la configuration de la réplique `<remote_servers>`).
- Configuration du niveau de la table pour `ReplicatedMergeTree` la famille afin de minimiser la quantité de données stockées dans Zookeeper: : `use_minimalistic_checksums_in_zookeeper = 1`
- Configuration de l `clickhouse-client` invite. Par défaut, les noms de serveur sont maintenant affichés à linvite. Le nom daffichage du serveur peut être modifié. Il est également envoyé dans le `X-ClickHouse-Display-Name` En-tête HTTP (Kirill Shvakov).
- Séparés par des virgules multiples `topics` peut être spécifié pour l `Kafka` moteur (Tobias Adamson)
- Quand une requête est arrêtée par `KILL QUERY` ou `replace_running_query` le client reçoit l `Query was canceled` exception au lieu dun résultat incomplète.
#### Amélioration: {#improvements-13}
- `ALTER TABLE ... DROP/DETACH PARTITION` les requêtes sont exécutées à lavant de la file dattente de réplication.
- `SELECT ... FINAL` et `OPTIMIZE ... FINAL` peut être utilisé même lorsque la table a une seule partie de données.
- A `query_log` la table est recréée à la volée si elle a été supprimée manuellement (Kirill Shvakov).
- Le `lengthUTF8` fonction fonctionne plus rapidement (zhang2014).
- Amélioration des performances des inserts synchrones dans `Distributed` table (`insert_distributed_sync = 1` lorsquil existe un très grand nombre de fragments.
- Le serveur accepte le `send_timeout` et `receive_timeout` les paramètres du client et les applique lors de la connexion au client (ils sont appliqués dans lordre inverse: le socket du serveur `send_timeout` est définie à l `receive_timeout` valeur reçue du client, et vice versa).
- Récupération de crash plus robuste pour une insertion asynchrone dans `Distributed` table.
- Le type de retour de la `countEqual` la fonction a changé à partir de `UInt32` de `UInt64` (谢磊).
#### Corrections De Bugs: {#bug-fixes-25}
- Correction dune erreur avec `IN` lorsque le côté gauche de lexpression est `Nullable`.
- Les résultats corrects sont maintenant retournés lors de lutilisation de tuples avec `IN` lorsque certains des composants tuple sont dans lindex de la table.
- Le `max_execution_time` limite fonctionne désormais correctement avec les requêtes distribuées.
- Correction derreurs lors du calcul de la taille des colonnes composites `system.columns` table.
- Correction dune erreur lors de la création dune table temporaire `CREATE TEMPORARY TABLE IF NOT EXISTS.`
- Erreurs corrigées dans `StorageKafka` (\#\#2075)
- Le serveur fixe se bloque à partir darguments non valides de certaines fonctions dagrégat.
- Correction de lerreur qui a empêché l `DETACH DATABASE` requête de larrêt des tâches darrière-plan pour `ReplicatedMergeTree` table.
- `Too many parts` létat est moins susceptible de se produire lors de linsertion dans agrégées des vues matérialisées (\#\#2084).
- Correction de la gestion récursive des substitutions dans la configuration si une substitution doit être suivie dune autre substitution au même niveau.
- Correction de la syntaxe dans le fichier de métadonnées lors de la création dun `VIEW` qui utilise une requête avec `UNION ALL`.
- `SummingMergeTree` fonctionne maintenant correctement pour la sommation des structures de données imbriquées avec une clé composite.
- Correction de la possibilité dune condition de course lors du choix du leader pour `ReplicatedMergeTree` table.
#### Construire Des Changements: {#build-changes-5}
- La construction prend en charge `ninja` plutôt `make` et utilise `ninja` par défaut pour les versions de construction.
- Paquets renommés: `clickhouse-server-base` dans `clickhouse-common-static`; `clickhouse-server-common` dans `clickhouse-server`; `clickhouse-common-dbg` dans `clickhouse-common-static-dbg`. Pour installer, utilisez `clickhouse-server clickhouse-client`. Les paquets avec les anciens noms seront toujours chargés dans les dépôts pour une compatibilité descendante.
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-9}
- Retiré de linterprétation dune expression si un tableau est spécifié sur le côté gauche. Auparavant, lexpression `arr IN (set)` a été interprété comme “at least one `arr` element belongs to the `set`”. Pour obtenir le même comportement dans la nouvelle version, écrire `arrayExists(x -> x IN (set), arr)`.
- Désactivé lutilisation incorrecte de loption socket `SO_REUSEPORT`, qui a été incorrectement activé par défaut dans la bibliothèque Poco. Notez que sous Linux il ny a plus aucune raison de spécifier simultanément les adresses `::` et `0.0.0.0` for listen use just `::`, qui permet découter la connexion à la fois sur IPv4 et IPv6 (avec les paramètres de configuration du noyau par défaut). Vous pouvez également revenir au comportement des versions précédentes en spécifiant `<listen_reuse_port>1</listen_reuse_port>` dans la config.
### Clickhouse Version 1.1.54370, 2018-03-16 {#clickhouse-release-1-1-54370-2018-03-16}
#### Nouveauté: {#new-features-15}
- Ajouté le `system.macros` table et mise à jour automatique des macros lorsque le fichier de configuration est modifié.
- Ajouté le `SYSTEM RELOAD CONFIG` requête.
- Ajouté le `maxIntersections(left_col, right_col)` fonction dagrégation, qui retourne le nombre maximal dsimultanément intersection dintervalles `[left; right]`. Le `maxIntersectionsPosition(left, right)` fonction retourne le début de la “maximum” intervalle. ([Michael Furmur](https://github.com/ClickHouse/ClickHouse/pull/2012)).
#### Amélioration: {#improvements-14}
- Lors de linsertion de données dans une `Replicated` tableau, moins de demandes sont faites à `ZooKeeper` (et la plupart des erreurs au niveau de lutilisateur ont disparu de la `ZooKeeper` journal).
- Ajout de la possibilité de créer des alias pour les ensembles de données. Exemple: `WITH (1, 2, 3) AS set SELECT number IN set FROM system.numbers LIMIT 10`.
#### Corrections De Bugs: {#bug-fixes-26}
- Correction de l `Illegal PREWHERE` erreur lors de la lecture des tables de fusion pour `Distributed`table.
- Ajout de correctifs qui vous permettent de démarrer clickhouse-server dans des conteneurs Docker IPv4 uniquement.
- Correction dune condition de course lors de la lecture du système `system.parts_columns tables.`
- Suppression de la double mise en mémoire tampon lors dun insert synchrone `Distributed` table, ce qui aurait pu provoquer la connexion à timeout.
- Correction dun bug qui a causé des attentes trop longues pour une réplique indisponible avant de commencer un `SELECT` requête.
- Correction de dates incorrectes dans le `system.parts` table.
- Correction dun bug qui rendait impossible linsertion de données dans un `Replicated` le tableau si `chroot` était non vide dans la configuration du `ZooKeeper` cluster.
- Correction de lalgorithme de fusion verticale pour un `ORDER BY` table.
- Restauré la possibilité dutiliser des dictionnaires dans les requêtes aux tables distantes, même si ces dictionnaires ne sont pas présents sur le serveur demandeur. Cette fonctionnalité a été perdue dans la version 1.1.54362.
- Restauré le comportement pour les requêtes comme `SELECT * FROM remote('server2', default.table) WHERE col IN (SELECT col2 FROM default.table)` lorsque le côté droit de la `IN` devrait utiliser une télécommande `default.table` au lieu dun local. Ce comportement a été rompu dans la version 1.1.54358.
- Suppression de la journalisation au niveau des erreurs `Not found column ... in block`.
### Clickhouse Version 1.1.54362, 2018-03-11 {#clickhouse-release-1-1-54362-2018-03-11}
#### Nouveauté: {#new-features-16}
- Agrégation sans `GROUP BY` pour un ensemble vide (comme `SELECT count(*) FROM table WHERE 0`) renvoie maintenant un résultat avec une ligne avec des valeurs null pour les fonctions dagrégation, conformément à la norme SQL. Pour restaurer lancien comportement (renvoyer un résultat vide), définissez `empty_result_for_aggregation_by_empty_set` 1.
- Conversion de type ajouté pour `UNION ALL`. Différents noms dalias sont autorisés dans `SELECT` les positions dans `UNION ALL` en conformité avec le standard SQL.
- Les expressions arbitraires sont prises en charge dans `LIMIT BY` clause. Auparavant, il était seulement possible dutiliser des colonnes résultant de `SELECT`.
- Un indice de `MergeTree` tables est utilisé lorsque `IN` est appliqué à un n-uplet dexpressions à partir des colonnes de la clé primaire. Exemple: `WHERE (UserID, EventDate) IN ((123, '2000-01-01'), ...)` (Anastasiya Tsarkova).
- Ajouté le `clickhouse-copier` outil pour copier entre les clusters et remodeler les données (beta).
- Ajout de fonctions de hachage cohérentes: `yandexConsistentHash`, `jumpConsistentHash`, `sumburConsistentHash`. Ils peuvent être utilisés comme une clé de sharding afin de réduire la quantité de trafic réseau lors de remaniements ultérieurs.
- Lajout de fonctions: `arrayAny`, `arrayAll`, `hasAny`, `hasAll`, `arrayIntersect`, `arrayResize`.
- Ajouté le `arrayCumSum` fonction (Javi Santana).
- Ajouté le `parseDateTimeBestEffort`, `parseDateTimeBestEffortOrZero`, et `parseDateTimeBestEffortOrNull` fonctions pour lire le DateTime à partir dune chaîne contenant du texte dans une grande variété de formats possibles.
- Les données peuvent être partiellement rechargées à partir de dictionnaires externes lors de la mise à jour (charger uniquement les enregistrements dans lesquels la valeur du champ spécifié supérieure à celle du téléchargement précédent) (Arsen Hakobyan).
- Ajouté le `cluster` table de fonction. Exemple: `cluster(cluster_name, db, table)`. Le `remote` la fonction table peut accepter le nom du cluster comme premier argument, sil est spécifié comme identifiant.
- Le `remote` et `cluster` les fonctions de table peuvent être utilisées dans `INSERT` requête.
- Ajouté le `create_table_query` et `engine_full` colonnes virtuelles au `system.tables`table . Le `metadata_modification_time` la colonne est virtuel.
- Ajouté le `data_path` et `metadata_path` les colonnes à `system.tables`et`system.databases` tables, et a ajouté le `path` la colonne de la `system.parts` et `system.parts_columns` table.
- Ajout dinformations supplémentaires sur les fusions `system.part_log` table.
- Une clé de partitionnement arbitraire peut être utilisée pour `system.query_log` table (Kirill Shvakov).
- Le `SHOW TABLES` query affiche maintenant également des tables temporaires. Ajout de tables temporaires et `is_temporary` colonne de `system.tables` (zhang2014).
- Ajouter `DROP TEMPORARY TABLE` et `EXISTS TEMPORARY TABLE` les requêtes (zhang2014).
- Soutien pour `SHOW CREATE TABLE` pour les tables temporaires (zhang2014).
- Ajouté le `system_profile` paramètre de configuration pour les paramètres utilisés par les processus internes.
- Soutien pour le chargement `object_id` comme un attribut de `MongoDB` dictionnaires (Pavel Litvinenko).
- Lecture `null` comme valeur par défaut lors du chargement de données pour un dictionnaire externe `MongoDB` source (Pavel Litvinenko).
- Lecture `DateTime` les valeurs dans la `Values` formater à partir Dun horodatage Unix sans guillemets simples.
- Le basculement est pris en charge dans `remote` fonctions de table pour les cas où certaines répliques manquent la table demandée.
- Les paramètres de Configuration peuvent être remplacées dans la ligne de commande lorsque vous exécutez `clickhouse-server`. Exemple: `clickhouse-server -- --logger.level=information`.
- Mise en œuvre de la `empty` fonction à partir dun `FixedString` argument: la fonction renvoie 1 si la chaîne est entièrement composée doctets nuls (zhang2014).
- Ajouté le `listen_try`paramètre de configuration pour lécoute dau moins une des adresses listen sans quitter, si certaines adresses ne peuvent pas être écoutées (utile pour les systèmes avec prise en charge désactivée pour IPv4 ou IPv6).
- Ajouté le `VersionedCollapsingMergeTree` tableau moteur.
- Prise en charge des lignes et des types numériques arbitraires `library` source du dictionnaire.
- `MergeTree` les tableaux peuvent être utilisés sans une clé primaire (vous devez spécifier `ORDER BY tuple()`).
- A `Nullable` peut être de type `CAST` pour un non-`Nullable` type si largument nest pas `NULL`.
- `RENAME TABLE` peut être effectuée pour `VIEW`.
- Ajouté le `throwIf` fonction.
- Ajouté le `odbc_default_field_size` option, qui vous permet détendre la taille maximale de la valeur chargée à partir Dune source ODBC (par défaut, il est 1024).
- Le `system.processes` table et `SHOW PROCESSLIST` ont maintenant la `is_cancelled` et `peak_memory_usage` colonne.
#### Amélioration: {#improvements-15}
- Les limites et quotas sur le résultat ne sont plus appliqués aux données intermédiaires pour `INSERT SELECT` les requêtes ou pour `SELECT` les sous-requêtes.
- Moins de faux déclencheurs de `force_restore_data` lors de la vérification de létat de `Replicated` les tables lorsque le serveur démarre.
- Ajouté le `allow_distributed_ddl` option.
- Les fonctions non déterministes ne sont pas autorisées dans les expressions `MergeTree` table de clés.
- Fichiers avec des substitutions de `config.d` les répertoires sont chargés par ordre alphabétique.
- Amélioration de la performance de l `arrayElement` fonction dans le cas dune constante tableau multidimensionnel avec un tableau vide comme lun des éléments. Exemple: `[[1], []][x]`.
- Le serveur démarre plus rapidement maintenant lors de lutilisation de fichiers de configuration avec de très grandes substitutions (par exemple, de très grandes listes de réseaux IP).
- Lors de lexécution dune requête, les fonctions de valeur de table sexécutent une fois. Précédemment, `remote` et `mysql` les fonctions à valeur de table ont effectué la même requête deux fois pour récupérer la structure de la table à partir dun serveur distant.
- Le `MkDocs` générateur de documentation est utilisé.
- Lorsque vous essayez de supprimer une colonne de table `DEFAULT`/`MATERIALIZED` les expressions des autres colonnes dépendent, une exception est levée (zhang2014).
- Ajout de la possibilité danalyser une ligne vide dans des formats de texte comme le nombre 0 pour `Float` types de données. Cette fonctionnalité était auparavant disponible mais a été perdue dans la version 1.1.54342.
- `Enum` les valeurs peuvent être utilisés dans `min`, `max`, `sum` et quelques autres fonctions. Dans ces cas, il utilise des valeurs numériques correspondantes. Cette fonctionnalité était auparavant disponible mais a été perdue dans la version 1.1.54337.
- Ajouter `max_expanded_ast_elements` pour limiter la taille de LAST après lexpansion récursive des alias.
#### Corrections De Bugs: {#bug-fixes-27}
- Correction de cas où des colonnes inutiles ont été supprimées des sous-requêtes par erreur, ou non supprimées des sous-requêtes contenant `UNION ALL`.
- Correction dun bug dans les fusions pour `ReplacingMergeTree` table.
- Insertions synchrones fixes dans `Distributed` table (`insert_distributed_sync = 1`).
- Fixe erreur de segmentation pour certaines utilisations de `FULL` et `RIGHT JOIN` avec des colonnes en double dans les sous-requêtes.
- Fixe erreur de segmentation pour certaines utilisations de `replace_running_query` et `KILL QUERY`.
- Fixe lordre du `source` et `last_exception` les colonnes dans l `system.dictionaries` table.
- Correction dun bug lors de l `DROP DATABASE` la requête na pas supprimé le fichier contenant des métadonnées.
- Correction de l `DROP DATABASE` requête pour `Dictionary` les bases de données.
- Fixe la faible précision de `uniqHLL12` et `uniqCombined` fonctions pour les cardinalités supérieures à 100 millions darticles (Alex Bocharov).
- Correction du calcul des valeurs par défaut implicites si nécessaire pour calculer simultanément des expressions explicites par défaut dans `INSERT` les requêtes (zhang2014).
- Correction dun cas rare lorsquune requête à un `MergeTree` la table na pas pu finir (chenxing-xc).
- Correction dun plantage survenu lors de lexécution dun `CHECK` requête pour `Distributed` tables si tous les fragments sont locaux (chenxing.xc).
- Correction dune légère régression des performances avec des fonctions qui utilisent des expressions régulières.
- Correction dune régression de performance lors de la création de tableaux multidimensionnels à partir dexpressions complexes.
- Correction dun bug qui pourrait causer un supplément `FORMAT` article à paraître dans un `.sql` fichier de métadonnées.
- Correction dun bug qui a causé la `max_table_size_to_drop` limite à appliquer lorsque vous essayez de supprimer un `MATERIALIZED VIEW` en regardant une table explicitement spécifiée.
- Correction de lincompatibilité avec les anciens clients (les anciens clients étaient parfois envoyés `DateTime('timezone')` type, dont ils ne comprennent pas).
- Correction dun bug lors de la lecture `Nested` éléments de colonne de structures qui ont été ajoutés en utilisant `ALTER` mais qui sont vides pour les anciennes partitions, lorsque les conditions de ces colonnes a déménagé à `PREWHERE`.
- Correction dun bug lors du filtrage des tables virtuelles `_table` colonnes dans les requêtes à `Merge` table.
- Correction dun bug lors de lutilisation `ALIAS` les colonnes en `Distributed` table.
- Correction dun bug qui rendait la compilation dynamique impossible pour les requêtes avec des fonctions `quantile` famille.
- Correction dune condition de concurrence dans le pipeline dexécution de requête qui sest produite dans de très rares cas lors de lutilisation `Merge` avec un grand nombre de tables, et lors de lutilisation `GLOBAL` les sous-requêtes.
- Correction dun crash lors du passage de tableaux de tailles différentes pour un `arrayReduce` fonction lors de lutilisation de fonctions dagrégation à partir de plusieurs arguments.
- Interdit lutilisation de requêtes avec `UNION ALL` dans un `MATERIALIZED VIEW`.
- Correction dune erreur lors de linitialisation du `part_log` table système au démarrage du serveur (par défaut, `part_log` est désactivée).
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-10}
- Enlevé le `distributed_ddl_allow_replicated_alter` option. Ce comportement est activé par défaut.
- Enlevé le `strict_insert_defaults` paramètre. Si vous utilisez cette fonctionnalité, écrivez à `clickhouse-feedback@yandex-team.com`.
- Enlevé le `UnsortedMergeTree` moteur.
### Clickhouse Version 1.1.54343, 2018-02-05 {#clickhouse-release-1-1-54343-2018-02-05}
- Ajout de la prise en charge des macros pour définir les noms de cluster dans les requêtes DDL distribuées et les constructeurs de tables distribuées: `CREATE TABLE distr ON CLUSTER '{cluster}' (...) ENGINE = Distributed('{cluster}', 'db', 'table')`.
- Maintenant requêtes comme `SELECT ... FROM table WHERE expr IN (subquery)` sont traitées à laide de la `table` index.
- Amélioration du traitement des doublons lors de linsertion dans des tables répliquées, de sorte quils ne ralentissent plus lexécution de la file dattente de réplication.
### Clickhouse Version 1.1.54342, 2018-01-22 {#clickhouse-release-1-1-54342-2018-01-22}
Cette version contient des corrections de bugs pour la version précédente 1.1.54337:
- Correction dune régression dans 1.1.54337: si lutilisateur par défaut a un accès en lecture seule, le serveur refuse de démarrer avec le message `Cannot create database in readonly mode`.
- Correction dune régression dans 1.1.54337: sur les systèmes avec systemd, les journaux sont toujours écrits dans syslog quelle que soit la configuration; le script watchdog utilise toujours init.d.
- Correction dune régression dans 1.1.54337: mauvaise configuration par défaut dans Limage Docker.
- Correction du comportement non déterministe de GraphiteMergeTree (vous pouvez le voir dans les messages de journal `Data after merge is not byte-identical to the data on another replicas`).
- Correction dun bug qui peut conduire à des fusions incohérentes après optimiser la requête aux tables répliquées (vous pouvez le voir dans les messages de journal `Part ... intersects the previous part`).
- Les tables tampon fonctionnent maintenant correctement lorsque des colonnes matérialisées sont présentes dans la table de destination (par zhang2014).
- Correction dun bug dans la mise en œuvre de NULL.
### Clickhouse Version 1.1.54337, 2018-01-18 {#clickhouse-release-1-1-54337-2018-01-18}
#### Nouveauté: {#new-features-17}
- Ajout du support pour le stockage de tableaux et de tuples multidimensionnels (`Tuple` type de données) dans les tableaux.
- Prise en charge des fonctions de table pour `DESCRIBE` et `INSERT` requête. Ajout du support pour les sous-requêtes dans `DESCRIBE`. Exemple: `DESC TABLE remote('host', default.hits)`; `DESC TABLE (SELECT 1)`; `INSERT INTO TABLE FUNCTION remote('host', default.hits)`. Soutien pour `INSERT INTO TABLE` outre `INSERT INTO`.
- Amélioration du support pour les fuseaux horaires. Le `DateTime` le type de données peut être annoté avec le fuseau horaire utilisé pour lanalyse et le formatage dans les formats de texte. Exemple: `DateTime('Europe/Moscow')`. Lorsque les fuseaux horaires sont spécifiés dans les fonctions `DateTime` arguments, le type de retour pour suivre le fuseau horaire, et la valeur sera affichée comme prévu.
- Ajout des fonctions `toTimeZone`, `timeDiff`, `toQuarter`, `toRelativeQuarterNum`. Le `toRelativeHour`/`Minute`/`Second` les fonctions peuvent prendre une valeur de type `Date` comme argument. Le `now` nom de la fonction est sensible à la casse.
- Ajouté le `toStartOfFifteenMinutes` fonction (Kirill Shvakov).
- Ajouté le `clickhouse format` outil de formatage des requêtes.
- Ajouté le `format_schema_path` configuration parameter (Marek Vavruşa). It is used for specifying a schema in `Cap'n Proto` format. Les fichiers de schéma peuvent être situés uniquement dans le répertoire spécifié.
- Ajout du support pour les substitutions de configuration (`incl` et `conf.d`) pour la configuration de dictionnaires et de modèles externes (Pavel Yakunin).
- Ajout dune colonne avec la documentation pour le `system.settings` table (Kirill Shvakov).
- Ajouté le `system.parts_columns` table avec des informations sur la taille des colonnes dans chaque partie `MergeTree` table.
- Ajouté le `system.models` tableau avec des informations sur chargé `CatBoost` machine de modèles dapprentissage.
- Ajouté le `mysql` et `odbc` fonction de table et correspondant `MySQL` et `ODBC` moteurs de table pour accéder aux bases de données distantes. Cette fonctionnalité est en phase bêta.
- Ajout de la possibilité de passer un argument de type `AggregateFunction` pour l `groupArray` fonction dagrégation (vous pouvez donc créer un tableau dÉtats dune fonction dagrégation).
- Suppression des restrictions sur diverses combinaisons de combinateurs de fonction dagrégat. Par exemple, vous pouvez utiliser `avgForEachIf` ainsi que `avgIfForEach` les fonctions dagrégation, qui ont des comportements différents.
- Le `-ForEach` fonction dagrégation combinator est prolongée pour le cas des fonctions dagrégation de plusieurs arguments.
- Ajout du support pour les fonctions dagrégation de `Nullable` arguments même pour les cas où la fonction renvoie un non-`Nullable` résultat (ajouté avec la contribution de Silviu Caragea). Exemple: `groupArray`, `groupUniqArray`, `topK`.
- Ajouté le `max_client_network_bandwidth` pour `clickhouse-client` (Kirill Shvakov).
- Les utilisateurs avec le `readonly = 2` setting are allowed to work with TEMPORARY tables (CREATE, DROP, INSERT…) (Kirill Shvakov).
- Ajout du support pour lutilisation de plusieurs consommateurs avec le `Kafka` moteur. Options de configuration étendues pour `Kafka` (Marek Vavruša).
- Ajouté le `intExp3` et `intExp4` fonction.
- Ajouté le `sumKahan` fonction dagrégation.
- Ajout des fonctions to\* Number \* OrNull, où \* Number \* est un type numérique.
- Ajout du support pour `WITH` clauses pour un `INSERT SELECT` requête (auteur: zhang2014).
- Ajout des paramètres de: `http_connection_timeout`, `http_send_timeout`, `http_receive_timeout`. En particulier, ces paramètres sont utilisés pour télécharger des parties de données pour la réplication. La modification de ces paramètres permet un basculement plus rapide si le réseau est surchargé.
- Ajout du support pour `ALTER` pour les tables de type `Null` (Anastasiya Tsarkova).
- Le `reinterpretAsString` la fonction est étendue pour tous les types de données stockés de manière contiguë en mémoire.
- Ajouté le `--silent` option pour le `clickhouse-local` outil. Il supprime les informations dexécution de requête dimpression dans stderr.
- Ajout du support pour la lecture des valeurs de type `Date` à partir du texte dans un format où le mois et / ou le jour du mois est spécifié en utilisant un seul chiffre au lieu de deux chiffres (oiseau Amos).
#### Optimisations Des Performances: {#performance-optimizations}
- Amélioration des performances des fonctions dagrégation `min`, `max`, `any`, `anyLast`, `anyHeavy`, `argMin`, `argMax` à partir darguments de chaîne.
- Amélioration des performances des fonctions `isInfinite`, `isFinite`, `isNaN`, `roundToExp2`.
- Amélioration des performances de lanalyse et du formatage `Date` et `DateTime` tapez les valeurs au format texte.
- Amélioration des performances et de la précision de lanalyse des nombres à virgule flottante.
- Abaissé lutilisation de la mémoire pour `JOIN` dans le cas où les parties gauche et droite ont des colonnes avec des noms identiques qui ne sont pas contenus dans `USING` .
- Amélioration des performances des fonctions dagrégation `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr` en réduisant la stabilité de calcul. Les anciennes fonctions sont disponibles sous les noms de `varSampStable`, `varPopStable`, `stddevSampStable`, `stddevPopStable`, `covarSampStable`, `covarPopStable`, `corrStable`.
#### Corrections De Bugs: {#bug-fixes-28}
- Déduplication de données fixe après lexécution dun `DROP` ou `DETACH PARTITION` requête. Dans la version précédente, la suppression dune partition et linsertion à nouveau des mêmes données ne fonctionnaient pas car les blocs insérés étaient considérés comme des doublons.
- Correction dun bug qui pourrait conduire à une interprétation incorrecte de la `WHERE` la clause de `CREATE MATERIALIZED VIEW` les requêtes avec `POPULATE` .
- Correction dun bug dans lutilisation de l `root_path` paramètre dans l `zookeeper_servers` configuration.
- Correction des résultats inattendus du passage du `Date` argument `toStartOfDay` .
- Correction de l `addMonths` et `subtractMonths` fonctions et larithmétique pour `INTERVAL n MONTH` dans les cas où le résultat de lannée précédente.
- Ajout du support manquant pour le `UUID` type de données pour `DISTINCT` , `JOIN` , et `uniq` fonctions agrégées et dictionnaires externes (Evgeniy Ivanov). Soutien pour `UUID` est encore incomplète.
- Fixe `SummingMergeTree` comportement dans les cas où les lignes additionnées à zéro.
- Diverses corrections pour le `Kafka` engine (Marek Vavruša).
- Correction dun comportement incorrect de la `Join` moteur de table (oiseau Amos).
- Correction dun comportement dallocateur incorrect sous FreeBSD et OS X.
- Le `extractAll` fonction prend désormais en charge les correspondances vides.
- Correction dune erreur qui bloquait lutilisation de `libressl` plutôt `openssl` .
- Correction de l `CREATE TABLE AS SELECT` requête à partir de tables temporaires.
- Correction de la non-atomicité de la mise à jour de la file dattente de réplication. Cela peut entraîner la désynchronisation des répliques jusquau redémarrage du serveur.
- Correction dun débordement possible dans `gcd` , `lcm` et `modulo` (`%` de lopérateur) (Mak Skorokhod).
- `-preprocessed` les fichiers sont maintenant créés après modification `umask` (`umask` peut être changé dans le fichier de configuration).
- Correction dun bug dans la vérification des antécédents des pièces (`MergeTreePartChecker` ) lors de lutilisation dune coutume clé de partition.
- Correction de lanalyse des tuples (valeurs du `Tuple` type de données) dans des formats de texte.
- Amélioration des messages derreur sur les types incompatibles transmis à `multiIf` , `array` et quelques autres fonctions.
- Repensé de soutien pour `Nullable` type. Correction de bugs qui peuvent conduire à un plantage du serveur. Correction de presque tous les autres bugs liés à `NULL` support: conversions de type incorrectes dans INSERT SELECT, support insuffisant pour Nullable dans HAVING et PREWHERE, `join_use_nulls` mode, Nullable types comme arguments de `OR` lopérateur, etc.
- Correction de divers bugs liés à la sémantique interne des types de données. Exemples: sommation inutile de `Enum` tapez les champs dans `SummingMergeTree` ; lalignement de la `Enum` types de `Pretty` formats, etc.
- Contrôles plus stricts pour les combinaisons autorisées de colonnes composites.
- Correction du débordement lors de la spécification dun très grand paramètre pour le `FixedString` type de données.
- Correction dun bug dans l `topK` fonction dagrégation dans un cas générique.
- Ajout de la vérification manquante pour légalité des tailles de tableau dans les arguments de n-ARY variantes de fonctions dagrégation avec un `-Array` combinator.
- Correction dun bug dans `--pager` pour `clickhouse-client` (auteur: ks1322).
- Fixe la précision de la `exp10` fonction.
- Correction du comportement du `visitParamExtract` fonction pour une meilleure conformité avec la documentation.
- Correction du crash lorsque des types de données incorrects sont spécifiés.
- Correction du comportement de `DISTINCT` dans le cas lorsque toutes les colonnes sont des constantes.
- Correction du formatage de la requête dans le cas de lutilisation du `tupleElement` fonction avec une expression constante complexe comme indice délément tuple.
- Correction dun bug dans `Dictionary` tables pour `range_hashed` dictionnaire.
- Correction dun bug qui conduit à des lignes excessives dans le résultat de `FULL` et `RIGHT JOIN` (Oiseau Amos).
- Correction dun plantage du serveur lors de la création et de la suppression de fichiers temporaires `config.d` répertoires pendant le rechargement de la configuration.
- Correction de l `SYSTEM DROP DNS CACHE` requête: le cache a été vidé mais les adresses des nœuds de cluster nont pas été mises à jour.
- Correction du comportement de `MATERIALIZED VIEW` après lexécution de `DETACH TABLE` for the table under the view (Marek Vavruša).
#### Construire Des améliorations: {#build-improvements-4}
- Le `pbuilder` loutil est utilisé pour les versions. Le processus de construction est presque complètement indépendant de lenvironnement hôte de construction.
- Une seule version est utilisée pour différentes versions du système dexploitation. Les paquets et les binaires ont été rendus compatibles avec un large éventail de systèmes Linux.
- Ajouté le `clickhouse-test` paquet. Il peut être utilisé pour exécuter des tests fonctionnels.
- Larchive source peut maintenant être publié dans le référentiel. Il peut être utilisé pour reproduire la construction sans utiliser GitHub.
- Ajout dune intégration limitée avec Travis CI. En raison des limites de temps de construction dans Travis, seule la construction de débogage est testée et un sous-ensemble limité de tests est exécuté.
- Ajout du support pour `Cap'n'Proto` dans la construction par défaut.
- Modification du format des sources de documentation à partir de `Restricted Text` de `Markdown`.
- Ajout du support pour `systemd` (Vladimir Smirnov). Il est désactivé par défaut en raison dune incompatibilité avec certaines images du système Dexploitation et peut être activé manuellement.
- Pour la génération de code dynamique, `clang` et `lld` sont intégrées dans le `clickhouse` binaire. Ils peuvent également être invoqués comme `clickhouse clang` et `clickhouse lld` .
- Suppression de lutilisation des extensions GNU du code. Permis à l `-Wextra` option. Lors de la construction avec `clang` la valeur par défaut est `libc++` plutôt `libstdc++`.
- Extrait `clickhouse_parsers` et `clickhouse_common_io` les bibliothèques pour accélérer les constructions des différents outils.
#### Modifications Incompatibles En arrière: {#backward-incompatible-changes-11}
- Le format des marques dans `Log` tapez les tables qui contiennent `Nullable` les colonnes ont été modifiées dune manière incompatible avec larrière. Si vous avez ces tables, vous devez les convertir en `TinyLog` tapez avant de démarrer la nouvelle version du serveur. Pour ce faire, remplacez `ENGINE = Log` avec `ENGINE = TinyLog` dans le correspondant `.sql` fichier dans le `metadata` répertoire. Si votre table na pas `Nullable` les colonnes ou si le type de votre table nest pas `Log`, alors vous navez pas besoin de faire quoi que ce soit.
- Enlevé le `experimental_allow_extended_storage_definition_syntax` paramètre. Maintenant cette fonctionnalité est activée par défaut.
- Le `runningIncome` fonction a été renommée en `runningDifferenceStartingWithFirstvalue` pour éviter toute confusion.
- Enlevé le `FROM ARRAY JOIN arr` syntaxe lorsque la jointure du tableau est spécifiée directement après FROM sans table (Amos Bird).
- Enlevé le `BlockTabSeparated` format utilisé uniquement à des fins de démonstration.
- Modification du format dÉtat pour les fonctions dagrégation `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr`. Si vous avez stocké des états de ces fonctions dagrégat dans des tables (en utilisant `AggregateFunction` type de données ou vues matérialisées avec les états correspondants), écrivez svp à clickhouse-feedback@yandex-team.com.
- Dans les versions précédentes du serveur, il y avait une fonctionnalité non documentée: si une fonction dagrégation dépend de paramètres, vous pouvez toujours la spécifier sans paramètres dans le type de données AggregateFunction. Exemple: `AggregateFunction(quantiles, UInt64)` plutôt `AggregateFunction(quantiles(0.5, 0.9), UInt64)`. Cette fonctionnalité a été perdu. Bien quil ne soit pas documenté, nous prévoyons de le soutenir à nouveau dans les prochaines versions.
- Les types de données Enum ne peuvent pas être utilisés dans les fonctions dagrégat min/max. Cette capacité sera rendu dans la prochaine version.
#### Veuillez Noter Lors De La Mise à Niveau: {#please-note-when-upgrading}
- Lorsque vous effectuez une mise à jour continue sur un cluster, au moment où certaines répliques exécutent Lancienne version de ClickHouse et dautres la nouvelle version, la réplication est temporairement arrêtée et le message `unknown parameter 'shard'` apparaît dans le journal. La réplication se poursuivra après la mise à jour de toutes les répliques du cluster.
- Si différentes versions de ClickHouse sont en cours dexécution sur les serveurs de cluster, il est possible que les requêtes distribuées utilisant les fonctions suivantes aient des résultats incorrects: `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr`. Vous devez mettre à jour tous les nœuds de cluster.
## [Changelog pour 2017](https://github.com/ClickHouse/ClickHouse/blob/master/docs/en/changelog/2017.md) {#changelog-for-2017}