ClickHouse/docs/fr/whats-new/changelog/2018.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

135 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 78 2018

Clickhouse Version 18.16

Clickhouse Version 18.16.1, 2018-12-21

Corrections De Bugs:

  • Correction dune erreur qui a conduit à des problèmes avec la mise à jour des dictionnaires avec la source ODBC. #3825, #3829
  • La compilation JIT des fonctions dagrégat fonctionne maintenant avec des colonnes LowCardinality. #3838

Amélioration:

  • 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

Construire Des améliorations:

  • Corrections pour les builds sur macOS et ARM.

Clickhouse Version 18.16.0, 2018-12-14

Nouveauté:

  • 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
  • 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 #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
  • Ajouté le hdfs fonction de table et le HDFS moteur de table pour limportation et lexportation de données vers HDFS. chenxing-xc
  • Ajout de fonctions pour travailler avec base64: base64Encode, base64Decode, tryBase64Decode. Alexander Krasheninnikov
  • 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
  • Ajouté le system.contributors table qui contient les noms de tous ceux qui ont fait des commits dans ClickHouse. #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
  • 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
  • Vous pouvez maintenant spécifier des commentaires pour une colonne dans la description de la table et la modifier en utilisant ALTER. #3377
  • La lecture est prise en charge pour Join tapez des tables avec des touches simples. Amos Oiseau
  • 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
  • Ajouté le joinGet fonction qui permet dutiliser un Join tapez table comme un dictionnaire. Amos Oiseau
  • 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
  • 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
  • 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

Corrections De Bugs:

  • 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 #3803 #3799 #3769 #3744 #3681 #3651 #3649 #3641 #3632 #3568 #3523 #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
  • 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 #3460
  • Les bases de données sont correctement spécifiées pour les sous-requêtes à lintérieur dune vue. #3521
  • Correction dun bug dans PREWHERE avec FINAL pour VersionedCollapsingMergeTree. 7167bfd7
  • 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
  • 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
  • Correction de bugs dans certains cas, de VIEW et les sous-requêtes qui omettent la base de données. LHiver Zhang
  • 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 #3694
  • Correction de lerreur Lock handler cannot be nullptr. #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
  • 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 #3503
  • Fixe continue de journalisation des erreurs dans DDLWorker si la Gardienne nest pas disponible. 8f50c620
  • Correction du type de retour pour quantile* les fonctions de Date et DateTime les types darguments. #3580
  • Correction de l WITH clause si elle spécifie un alias simple sans expressions. #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
  • Correction de lerreur Attempt to attach to nullptr thread group lorsque vous travaillez avec des vues matérialisées. Marek Vavruša
  • Correction dun plantage lors du passage de certains arguments incorrects arrayReverse fonction. 73e3a7b6
  • 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
  • Dépassement de tampon fixe dans le lowerUTF8 et upperUTF8 fonction. Retiré la possibilité dexécuter ces fonctions sur FixedString tapez les arguments. #3662
  • Correction dune condition de course rare lors de la suppression MergeTree table. #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
  • Correction dun segfault si le max_temporary_non_const_columns limite a été dépassée. #3788

Amélioration:

  • 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
  • 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
  • Démarrage accéléré du serveur lorsquil y a un très grand nombre de tables. #3398
  • Ajout dun pool de connexion et HTTP Keep-Alive pour les connexions entre les répliques. #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
  • Le join_default_strictness loption est définie sur ALL par défaut, pour la compatibilité. 120e2cbe
  • Suppression de la journalisation vers stderr à partir de la re2 bibliothèque pour les expressions régulières non valides ou complexes. #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
  • 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 #3519
  • Le arrayReverse fonction fonctionne maintenant avec tous les types de tableaux. 73e3a7b6
  • Ajout dun paramètre optionnel: la taille de lemplacement pour le timeSlots fonction. Kirill Shvakov
  • 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
  • Ajouté le --secure paramètre de ligne de commande dans clickhouse-benchmark et clickhouse-performance-test pour activer TLS. #3688 #3690
  • Conversion de Type lorsque la structure dun Buffer type table ne correspond pas à la structure de la table de destination. Vitaly Baranov
  • Ajouté le tcp_keep_alive_timeout option pour activer les paquets persistant après une inactivité de lintervalle de temps spécifié. #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
  • La fonction modulo fonctionne pour Date et DateTime types de données. #3385
  • Ajouté synonymes pour le POWER, LN, LCASE, UCASE, REPLACE, LOCATE, SUBSTR, et MID fonction. #3774 #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
  • 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
  • Amélioration des performances lors de la lecture de O_DIRECT (avec l min_bytes_to_use_direct_io option activée). #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
  • Le firstSignificantSubdomain la fonction traite maintenant les domaines gov, mil, et edu. Igor Hatarist Amélioration de la performance. #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
  • Code de retour Correct pour le script dinitialisation clickhouse-server. #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
  • 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
  • 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
  • Si l force_restore_data le fichier ne peut pas être supprimé, un message derreur est affiché. Amos Oiseau

Construire Des améliorations:

  • Mise à jour le jemalloc bibliothèque, qui corrige une fuite de mémoire potentielle. Amos Oiseau
  • Profilage avec jemalloc est activé par défaut pour les versions de débogage. 2cc82f5c
  • Ajout de la possibilité dexécuter des tests dintégration lorsque Docker est installé sur le système. #3650
  • Ajout du test dexpression fuzz dans les requêtes SELECT. #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
  • Amélioration de la méthode de démarrage de clickhouse-server dans une image Docker. Elghazal Ahmed
  • 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
  • Corrections pour les builds sur ARM. #3709

Modifications Incompatibles En arrière:

  • 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

Clickhouse Version 18.14

Clickhouse Version 18.14.19, 2018-12-19

Corrections De Bugs:

  • Correction dune erreur qui a conduit à des problèmes avec la mise à jour des dictionnaires avec la source ODBC. #3825, #3829
  • Les bases de données sont correctement spécifiées lors de Lexécution de DDL ON CLUSTER requête. #3460
  • Correction dun segfault si le max_temporary_non_const_columns limite a été dépassée. #3788

Construire Des améliorations:

  • Corrections pour les builds sur ARM.

Clickhouse Version 18.14.18, 2018-12-04

Corrections De Bugs:

  • Correction dune erreur dans dictGet... fonction pour les dictionnaires de type range si un des arguments est constante et lautre ne lest pas. #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
  • Fixe erreur de segmentation en fonction empty pour largument de FixedString type. Daniel, Dao Quang Minh
  • 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

Construire Des Changements:

  • 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

Clickhouse Version 18.14.17, 2018-11-30

Corrections De Bugs:

  • Correction de cas où le processus de pont ODBC ne sest pas terminé avec le processus du serveur principal. #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
  • Correction dune condition de concurrence rare qui peut conduire à un crash lors de la suppression Dune table MergeTree. #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
  • 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

Clickhouse Version 18.14.15, 2018-11-21

Corrections De Bugs:

  • 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

Clickhouse Version 18.14.14, 2018-11-20

Corrections De Bugs:

  • Fixe ON CLUSTER requêtes lorsque le cluster est configuré comme sécurisé (indicateur <secure>). #3599

Construire Des Changements:

  • Correction de problèmes (llvm-7 du système, macos) #3582

Clickhouse Version 18.14.13, 2018-11-08

Corrections De Bugs:

  • Correction de l Block structure mismatch in MergingSorted stream erreur. #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
  • Correction dune erreur dans les requêtes utilisées SAMPLE, PREWHERE et les colonnes alias. #3543
  • Correction dun rare unknown compression method erreur lors de la min_bytes_to_use_direct_io le réglage a été activé. 3544

Amélioration Des Performances:

  • 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
  • Correction de la régression des performances des requêtes qui traitent les chaînes longues. #3530

Construire Des améliorations:

  • Améliorations pour simplifier la construction Arcadia. #3475, #3535

Clickhouse Version 18.14.12, 2018-11-02

Corrections De Bugs:

  • Correction dun plantage lors de la jonction de deux sous-requêtes sans nom. #3505
  • Fixe générant des requêtes incorrectes (avec un vide WHERE clause) lors de linterrogation de bases de données externes. hotid
  • Correction en utilisant une valeur de délai dattente incorrecte Dans les dictionnaires ODBC. Marek Vavruša

Clickhouse Version 18.14.11, 2018-10-29

Corrections De Bugs:

  • Correction de lerreur Block structure mismatch in UNION stream: different number of columns dans les requêtes LIMIT. #2156
  • Correction derreurs lors de la fusion de données dans des tables contenant des tableaux à lintérieur de structures imbriquées. #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
  • Correction dune erreur sur les insertions à une table distribuée au format natif. #3411

Clickhouse Version 18.14.10, 2018-10-23

  • Le compile_expressions le paramètre (compilation JIT dexpressions) est désactivé par défaut. #3410
  • Le enable_optimize_predicate_expression paramètre est désactivé par défaut.

Clickhouse Version 18.14.9, 2018-10-16

Nouveauté:

  • Le WITH CUBE le modificateur GROUP BY (la syntaxe alternative GROUP BY CUBE(...) est également disponible). #3172
  • Ajouté le formatDateTime fonction. Alexandr Krasheninnikov
  • Ajouté le JDBC tableau moteur et jdbc fonction table (nécessite linstallation de clickhouse-JDBC-bridge). Alexandr Krasheninnikov
  • Ajout de fonctions pour travailler avec le numéro de semaine ISO: toISOWeek, toISOYear, toStartOfISOYear, et toDayOfYear. #3146
  • Maintenant, vous pouvez utiliser Nullable colonnes pour MySQL et ODBC table. #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
  • Le traitement parallèle est disponible pour beaucoup MATERIALIZED VIEWs lors de linsertion de données. Voir la parallel_view_processing paramètre. Marek Vavruša
  • Ajouté le SYSTEM FLUSH LOGS requête (vidage forcé des journaux sur les tables système telles que query_log) #3321
  • Maintenant, vous pouvez utiliser prédéfinis database et table macros lors de la déclaration Replicated table. #3251
  • A ajouté la capacité de lire Decimal valeurs de type en notation dingénierie (indiquant des puissances de dix). #3153

Caractéristiques expérimentales:

  • Optimisation de la clause GROUP BY pour LowCardinality data types. #3138
  • Calcul optimisé des expressions pour LowCardinality data types. #3200

Amélioration:

  • 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
  • En labsence de JOIN (LEFT, INNER, …), INNER JOIN est supposé. #3147
  • Qualifié astérisques fonctionner correctement dans les requêtes avec JOIN. LHiver Zhang
  • 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
  • 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
  • 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
  • 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
  • Calcul Correct de la largeur de ligne dans le terminal pour Pretty formats, y compris les chaînes avec des hiéroglyphes. Amos Oiseau.
  • ON CLUSTER peut être spécifié pour ALTER UPDATE requête.
  • Amélioration des performances de lecture des données JSONEachRow format. #3332
  • Ajouté synonymes pour le LENGTH et CHARACTER_LENGTH fonctions de compatibilité. Le CONCAT la fonction nest plus sensible à la casse. #3306
  • Ajouté le TIMESTAMP synonyme de la DateTime type. #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
  • 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
  • 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
  • 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.
  • Support pour la lecture Tuple et Nested valeurs de structures comme struct dans le Cap'n'Proto format. Marek Vavruša
  • La liste des domaines de premier niveau pour les firstSignificantSubdomain la fonction inclut maintenant le domaine biz. décaséale
  • Dans la configuration des dictionnaires externes, null_value est interprétée comme la valeur du type de données par défaut. #3330
  • Soutien pour le intDiv et intDivOrZero fonctions pour Decimal. b48402e8
  • Soutien pour le Date, DateTime, UUID, et Decimal types comme clé pour le sumMap fonction dagrégation. #3281
  • Soutien pour le Decimal type de données dans les dictionnaires externes. #3324
  • Soutien pour le Decimal type de données dans SummingMergeTree table. #3348
  • Ajouté spécialisations pour UUID dans if. #3366
  • Réduit le nombre de open et close les appels système lors de la lecture dun MergeTree table. #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

Corrections De Bugs:

  • Correction dun problème avec Dictionary tables pour range_hashed dictionnaire. Cette erreur sest produite dans la version 18.12.17. #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
  • 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 #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
  • 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
  • Correction de la fonctionnalité de CREATE TABLE ... ON CLUSTER ... AS SELECT ... Cette erreur sest produite dans la version 18.12.13. #3247
  • Correction de la préparation inutile des structures de données pour JOINs sur le serveur qui initie la requête si JOIN est effectué uniquement sur des serveurs distants. #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.
  • Pour Kafka tableaux, le facultatif schema le paramètre na pas été passé (le schéma du Cap'n'Proto format). Vojtech Splichal
  • 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
  • Si Lensemble des serveurs ZooKeeper contient des serveurs pour lesquels la requête DNS renvoie une erreur, ces serveurs sont ignorés. 17b8e209
  • 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
  • Conversion de type corrigée entre Decimal et des nombres entiers. #3211
  • Corrigé des erreurs dans la enable_optimize_predicate_expression paramètre. LHiver Zhang
  • 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
  • Correction de l arrayCumSumNonNegative fonction (il naccumule pas de valeurs négatives si laccumulateur est inférieur à zéro). Aleksey Studnev
  • Fixe comment Merge les tables de travail sur le dessus de Distributed tables lors de lutilisation PREWHERE. #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
  • Correction du fonctionnement des fonctions dagrégat avec StateArray combinators. #3188
  • Correction dun crash lors de la division dune Decimal valeur par zéro. 69dd6609
  • Sortie fixe des types pour les opérations utilisant Decimal et des arguments entiers. #3224
  • Correction du segfault pendant GROUP BY sur Decimal128. 3359ba06
  • 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
  • Correction dune erreur dans le fonctionnement distribué de la fonction dagrégat quantiles (le message derreur Not found column quantile...). 292a8855
  • 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
  • Manipulation fixe des substitutions dans clickhouse-performance-test si la requête ne contient quune partie des substitutions déclaré dans le test. #3263
  • Correction dune erreur lors de lutilisation FINAL avec PREWHERE. #3298
  • Correction dune erreur lors de lutilisation PREWHERE sur les colonnes qui ont été ajoutées pendant ALTER. #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
  • 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
  • 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
  • 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 #3352

Modifications Incompatibles En arrière:

  • Enlevé le allow_experimental_decimal_type option. Le Decimal type de données est disponible pour utilisation par défaut. #3329

Clickhouse Version 18.12

Clickhouse Version 18.12.17, 2018-09-16

Nouveauté:

  • 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
  • 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
  • Le Decimal type prend maintenant en charge var* et stddev* les fonctions dagrégation. #3129
  • Le Decimal type prend désormais en charge les fonctions mathématiques (exp, sin et ainsi de suite.) #3129
  • Le system.part_log la table a maintenant le partition_id colonne. #3089

Corrections De Bugs:

  • Merge fonctionne maintenant correctement sur Distributed table. LHiver Zhang
  • 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
  • Corrigé des erreurs dans la enable_optimize_predicate_expression paramètre. LHiver Zhang
  • 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

Modifications Incompatibles En arrière:

  • 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

Clickhouse Version 18.12.14, 2018-09-13

Nouveauté:

  • Ajout du support pour ALTER UPDATE requête. #3035
  • Ajouté le allow_ddl option, qui limite laccès de Lutilisateur aux requêtes DDL. #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
  • Le system.merges la table système contient maintenant partition_id colonne. #3099

Amélioration

  • Si une partie de données reste inchangée pendant la mutation, elle nest pas téléchargée par les répliques. #3103
  • La saisie semi-automatique est disponible pour les noms de paramètres lorsque vous travaillez avec clickhouse-client. #3106

Corrections De Bugs:

  • Ajouter un chèque pour les montants des tableaux sont des éléments de Nested les champs de type lors de linsertion. #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
  • Correction dune erreur dans les fonctions dagrégation pour les tableaux peuvent avoir NULL élément. LHiver Zhang

Clickhouse Version 18.12.13, 2018-09-10

Nouveauté:

  • 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 #2970 #3008 #3047
  • Nouveau WITH ROLLUP le modificateur GROUP BY (syntaxe alternative: GROUP BY ROLLUP(...)). #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
  • Ajout du support pour joindre avec les fonctions de table. LHiver Zhang
  • Saisie semi-automatique en appuyant sur Tab dans clickhouse-client. Sergey Shcherbin
  • Ctrl + C dans clickhouse-client efface une requête qui a été entrée. #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
  • Chaque ligne du journal du serveur associée au traitement de la requête affiche LID de la requête. #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
  • 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
  • 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
  • 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
  • Ajouter ProfileEventscompteurs 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
  • 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
  • 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
  • Le system.metrics et system.events les tables ont maintenant une documentation intégrée. #3016
  • Ajouté le arrayEnumerateDense fonction. Amos Oiseau
  • Ajouté le arrayCumSumNonNegative et arrayDifference fonction. Aleksey Studnev
  • Ajouté le retention fonction dagrégation. Sundy Li
  • 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 #3034
  • Les Tables de la famille MergeTree ont maintenant la colonne virtuelle _partition_id. #3089

Caractéristiques expérimentales:

  • 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
  • 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 #3077

Amélioration:

  • 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 #2980
  • Amélioration des performances de lecture des chaînes et des tableaux dans les formats binaires. Amos Oiseau
  • 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
  • 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
  • Les Conditions sont converties dans la vue (lorsque enable_optimize_predicate_expression est activé). LHiver Zhang
  • Améliorations de la fonctionnalité pour le UUID type de données. #3074 #2985
  • Le UUID le type de données est pris en charge dans les dictionnaires-Alchemist. #2822
  • Le visitParamExtractRaw la fonction fonctionne correctement avec les structures imbriquées. LHiver Zhang
  • Lorsque l input_format_skip_unknown_fields paramètre est activé, les champs dobjet dans JSONEachRow format sont ignorés correctement. BlahGeek
  • Pour un CASE expression avec conditions, vous pouvez maintenant omettre ELSE, ce qui est équivalent à ELSE NULL. #2920
  • Le délai dattente de lopération peut maintenant être configuré lorsque vous travaillez avec ZooKeeper. urykhy
  • Vous pouvez spécifier un décalage pour LIMIT n, m comme LIMIT n OFFSET m. #2840
  • Vous pouvez utiliser l SELECT TOP n syntaxe comme alternative pour LIMIT. #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
  • Les colonnes dupliquées peuvent être utilisées dans un USING la clause de JOIN. #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
  • Le odbc la fonction table vous permet maintenant de spécifier le nom de la base de données / schéma. Amos Oiseau
  • Ajout de la possibilité dutiliser un nom dutilisateur spécifié dans le clickhouse-client fichier de configuration. Vladimir Kozbin
  • 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

Corrections De Bugs:

  • 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
  • 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
  • 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
  • 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 #2949 #2964
  • Correction dun segfault pendant JOIN ... ON. #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
  • 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
  • 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 #3037 #3055 #3065 #3073 #3090 #3093
  • Correction de l pointInPolygon fonction pour certains cas de polygones non convexes. #2910
  • Correction du résultat incorrect lors de la comparaison nan avec des entiers. #3024
  • Correction dune erreur dans le zlib-ng bibliothèque qui pourrait conduire à segfault dans de rares cas. #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
  • 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
  • Correction de la possibilité dun segfault lors de lexécution de certains ON CLUSTER requête. LHiver Zhang
  • Correction dune erreur dans le arrayDistinct fonction pour Nullable les éléments du tableau. #2845 #2937
  • Le enable_optimize_predicate_expression option prend en charge correctement les cas avec SELECT *. LHiver Zhang
  • Correction du segfault lors de la réinitialisation de la session ZooKeeper. #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

Correction De sécurité:

  • 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 #2879 #2886 #2893 #2921
  • Correction dune validation incorrecte du chemin du fichier dans le catBoostPool table de fonction. #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

Modifications Incompatibles En arrière:

  • 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:

  • 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
  • Lorsque vous utilisez clang pour construire, certains avertissements de -Weverything ont été ajoutées, en plus de la -Wall-Wextra -Werror. #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

Clickhouse Version 18.10

Clickhouse Version 18.10.3, 2018-08-13

Nouveauté:

  • HTTPS peut être utilisé pour la réplication. #2760
  • Ajout des fonctions murmurHash2_64, murmurHash3_32, murmurHash3_64, et murmurHash3_128 en plus de lexistant murmurHash2_32. #2791
  • Prise en charge des types Nullable dans le pilote ODBC ClickHouse (ODBCDriver2 le format de sortie). #2834
  • Soutien pour UUID dans les colonnes de clé.

Amélioration:

  • Les Clusters peuvent être supprimés sans redémarrer le serveur lorsquils sont supprimés des fichiers de configuration. #2777
  • Les dictionnaires externes peuvent être supprimés sans redémarrer le serveur lorsquils sont supprimés des fichiers de configuration. #2779
  • Ajouter SETTINGS soutien pour le Kafka tableau moteur. Alexander Marshalov
  • Des améliorations pour l UUID type de données (pas encore terminée). #2618
  • Prise en charge des pièces vides après fusion dans le SummingMergeTree, CollapsingMergeTree et VersionedCollapsingMergeTree moteur. #2815
  • Les anciens enregistrements de mutations terminées sont supprimés (ALTER DELETE). #2784
  • Ajouté le system.merge_tree_settings table. Kirill Shvakov
  • Le system.tables la table a maintenant des colonnes de dépendance: dependencies_database et dependencies_table. LHiver Zhang
  • Ajouté le max_partition_size_to_drop option de configuration. #2782
  • Ajouté le output_format_json_escape_forward_slashes option. Alexandre Botcharov
  • Ajouté le max_fetch_partition_retries_count paramètre. #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
  • Le quantileExact fonction dagrégation retourne nan dans le cas de lagrégation sur un vide Float32 ou Float64 définir. Sundy Li

Corrections De Bugs:

  • 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
  • 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
  • Correction dune erreur pour simultanées Set ou Join. Amos Oiseau
  • 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
  • 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

Modifications Incompatibles En arrière

  • Suppression de la prise en charge des requêtes CHECK TABLE pour les tables distribuées.

Construire Des Changements:

  • 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
  • Lutilisation de libressl à partir dun sous-module. #1983 #2807
  • Utilisation dunixodbc à partir dun sous-module. #2789
  • Lutilisation de mariadb-connecteur-c à partir dun sous-module. #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 Version 18.6.0, 2018-08-02

Nouveauté:

  • 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 peut être activé pour la réplication. #2760

Amélioration:

  • 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

Clickhouse Version 18.5

Clickhouse Version 18.5.1, 2018-07-31

Nouveauté:

  • Ajout de la fonction de hachage murmurHash2_32 #2756.

Amélioration:

  • Maintenant, vous pouvez utiliser le from_env #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.

Corrections De Bugs:

  • Correction dun bug possible lors du démarrage dune réplique #2759.

Clickhouse Version 18.4

Clickhouse Version 18.4.0, 2018-07-28

Nouveauté:

  • Tables système ajoutées: formats, data_type_families, aggregate_function_combinators, table_functions, table_engines, collations #2721.
  • Ajout de la possibilité dutiliser une fonction de table au lieu dun tableau en argument dune remote ou cluster table function #2708.
  • Soutien pour HTTP Basic lauthentification dans le protocole de réplication #2727.
  • Le has fonction permet de rechercher une valeur numérique dans un tableau de Enum valeur Maxim Khrisanfov.
  • Prise en charge de lajout de séparateurs de messages arbitraires lors de la lecture de Kafka Amos Oiseau.

Amélioration:

  • 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.
  • 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.

Corrections De Bugs:

  • 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)
  • Correction dun bug dans l windowFunnel aggregate function LHiver Zhang.
  • Correction dun bug dans l anyHeavy fonction dagrégation (a2101df2)
  • Correction dun crash du serveur lors de lutilisation du countArray() fonction dagrégation.

Modifications Incompatibles En arrière:

  • 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 Version 18.1.0, 2018-07-23

Nouveauté:

  • Soutien pour le ALTER TABLE t DELETE WHERE requête pour les tables MergeTree non répliquées (#2634).
  • Prise en charge des types arbitraires pour uniq* famille de fonctions agrégées (#2010).
  • Prise en charge des types arbitraires dans les opérateurs de comparaison (#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).
  • Ajouté le arrayDistinct fonction (#2670).
  • Le moteur SummingMergeTree peut maintenant fonctionner avec des colonnes de type AggregateFunction (Constantin S. Pan).

Amélioration:

  • 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).
  • 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).

Corrections De Bugs:

  • Correction de la commande TRUNCATE pour les tables temporaires (Amos Oiseau).
  • 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).
  • Correction dune erreur lors dune conversion en types Nullable (#1322).
  • Correction du résultat incorrect de l maxIntersection() fonction lorsque les limites des intervalles de coïncidé (Michael Furmur).
  • Correction dune transformation incorrecte de la chaîne dexpression OR dans un argument de fonction (chenxing-xc).
  • Fixe une dégradation des performances pour les requêtes contenant IN (subquery) expressions à lintérieur dune autre sous-requête (#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).
  • Ajout de guillemets manquants didentifiants pour les requêtes à un SGBD externe (#2635).

Modifications Incompatibles En arrière:

  • 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 Version 1.1.54394, 2018-07-12

Nouveauté:

  • Ajouté le histogram fonction dagrégation (Mikhail Surin).
  • Maintenant OPTIMIZE TABLE ... FINAL peut être utilisé sans spécifier de partitions pour ReplicatedMergeTree (Amos Oiseau).

Corrections De Bugs:

  • 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).
  • 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).
  • Le system.zookeeper table fonctionne si la valeur du nœud dans ZooKeeper est NULL.

Clickhouse Version 1.1.54390, 2018-07-06

Nouveauté:

  • 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).
  • 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).
  • Maintenant OPTIMIZE TABLE ... FINAL peut être utilisé sans spécifier la partition pour les variantes non répliquées de MergeTree (Amos Oiseau).

Amélioration:

  • 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).
  • 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).
  • Ajouter Nullable soutien pour le runningDifference fonction (#2594).
  • Amélioration des performances danalyse des requêtes lorsquil existe un très grand nombre dexpressions (#2572).
  • Sélection plus rapide des parties de données à fusionner ReplicatedMergeTree table. Récupération plus rapide de la session ZooKeeper (#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).

Corrections De Bugs:

  • 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).
  • 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).
  • Fixe erreur de segmentation si macros sont utilisés mais ils ne sont pas dans le fichier de configuration (#2570).
  • Correction du passage à la base de données par défaut lors de la reconnexion du client (#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é:

  • Lenvoi de fichiers nest plus possible lorsquil est connecté à MySQL (LOAD DATA LOCAL INFILE).

Clickhouse Version 1.1.54388, 2018-06-28

Nouveauté:

  • 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)
  • 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).
  • Ajouté le url() fonction de table et le URL tableau moteur (Alexander Sapin).
  • Ajouté le windowFunnel fonction dagrégation (sundy-li).
  • Nouveau startsWith et endsWith fonctions pour les chaînes (Vadim Plakhtinsky).
  • Le numbers() la fonction table vous permet maintenant de spécifier le décalage (LHiver Zhang).
  • 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).
  • Prise en charge de la connexion dans les dictionnaires avec une source de bibliothèque partagée (Alexander Sapin).
  • Prise en charge des délimiteurs CSV personnalisés (Ivan Joukov)
  • 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:

  • Ajout de la possibilité de calculer and arguments uniquement là où ils sont nécessaires (Anastasia Tsarkova)
  • La compilation JIT en code natif est maintenant disponible pour certaines expressions (pyos).

Corrections De Bugs:

  • 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).
  • 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).
  • 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).
  • Les fusions sont maintenant possibles après CLEAR COLUMN IN PARTITION (#2315).
  • Le mappage de Type dans la fonction de table ODBC a été corrigé (sundy-li).
  • Les comparaisons de Type ont été corrigées pour DateTime avec et sans le fuseau horaire (Alexandre Botcharov).
  • 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é).
  • Correction dune condition de concurrence lors de lécriture de données Kafka moteur aux vues matérialisées (Yangkuan Liu).
  • Correction de SSRF dans la fonction de table remote ().
  • Comportement de sortie fixe de clickhouse-client en mode multi-lignes (#2510).

Amélioration:

  • 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).
  • 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).
  • Ajouté chown pour les répertoires de configuration dans le fichier de configuration systemd (Mikhaïl Shirjaeva).

Construire Des Changements:

  • 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é).
  • 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).
  • Correction dun conflit de fichier den-tête dans Fedora Rawhide (#2520).

Modifications Incompatibles En arrière:

  • 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

Corrections De Bugs:

  • Correction dune erreur qui, dans certains cas, provoquait le blocage des opérations de ZooKeeper.

Clickhouse Version 1.1.54383, 2018-05-22

Corrections De Bugs:

  • 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

Corrections De Bugs:

  • Correction dune fuite de nœuds dans ZooKeeper lorsque ClickHouse perd la connexion au serveur ZooKeeper.

Clickhouse Version 1.1.54380, 2018-04-21

Nouveauté:

  • 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:

  • 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:

  • 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:

  • 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

Nouveauté:

  • 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:

  • 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:

  • 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:

  • 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:

  • 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

Nouveauté:

  • 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).

Amélioration:

  • 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:

  • Correction de l Illegal PREWHERE erreur lors de la lecture des tables de fusion pour Distributedtable.
  • 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

Nouveauté:

  • 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.tablestable . Le metadata_modification_time la colonne est virtuel.
  • Ajouté le data_path et metadata_path les colonnes à system.tablesetsystem.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_tryparamè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:

  • 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:

  • 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:

  • 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

  • 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

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

Nouveauté:

  • 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:

  • 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:

  • 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:

  • 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:

  • 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:

  • 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