ClickHouse/docs/fr/whats_new/changelog/2019.md
2020-04-04 12:15:31 +03:00

314 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 77 2019

Clickhouse version v19. 17

Clickhouse version v19. 17. 6. 36, 2019-12-27

Bug Fix

  • Dépassement de tampon potentiel fixe en décompression. Un utilisateur malveillant peut transmettre des données compressées fabriquées qui pourraient provoquer une lecture après le tampon. Ce problème a été trouvé par Eldar Zaitov de l'équipe de sécurité de L'information Yandex. #8404 (alexeï-milovidov)
  • Correction possible plantage du serveur (std::terminate) lorsque le serveur ne peut pas envoyer ou écrire des données au format JSON ou XML avec des valeurs de type string data (qui nécessitent une validation UTF-8) ou lors de la compression des données de résultat avec l'algorithme Brotli ou dans certains autres cas rares. #8384 (alexeï-milovidov)
  • Dictionnaires fixes avec la source d'un clickhouse VIEW, maintenant la lecture de tels dictionnaires ne provoque pas l'erreur There is no query. #8351 (Nikolai Kochetov)
  • Fixe vérifier si un hôte client est autorisé par host_regexp spécifié dans les utilisateurs.XML. #8241, #8342 (Vitaly Baranov)
  • RENAME TABLE pour une table distribuée renomme maintenant le dossier contenant les données insérées avant d'envoyer aux fragments. Cela résout un problème avec les renommages successifs tableA->tableB, tableC->tableA. #8306 (tavplubix)
  • range_hashed les dictionnaires externes créés par des requêtes DDL autorisent désormais des plages de types numériques arbitraires. #8275 (alésapine)
  • Fixe INSERT INTO table SELECT ... FROM mysql(...) table de fonction. #8234 (tavplubix)
  • Fixe erreur de segmentation dans INSERT INTO TABLE FUNCTION file() lors de l'insertion dans un fichier qui n'existe pas. Maintenant, dans ce cas, le fichier sera créé et insérez seraient traités. #8177 (Olga Khvostikova)
  • Correction d'une erreur bitmapAnd lors de l'intersection d'un bitmap agrégé et d'un bitmap scalaire. #8082 (Yue Huang)
  • Correction de segfault quand EXISTS la requête a été utilisé sans TABLE ou DICTIONARY qualificatif, tout comme EXISTS t. #8213 (alexeï-milovidov)
  • Type de retour fixe pour les fonctions rand et randConstant en cas d'argument nullable. Maintenant renvoient toujours UInt32 et jamais Nullable(UInt32). #8204 (Nikolai Kochetov)
  • Fixe DROP DICTIONARY IF EXISTS db.dict maintenant il ne lance pas d'exception si db n'existe pas. #8185 (Vitaly Baranov)
  • Si une table n'a pas été complètement abandonnée en raison d'un plantage du serveur, le serveur essaiera de la restaurer et de la charger #8176 (tavplubix)
  • Correction d'une requête de comptage trivial pour une table distribuée s'il y a plus de deux tables locales de fragments. #8164 (小路)
  • Correction d'un bug qui conduisait à une course de données dans DB:: BlockStreamProfileInfo:: calculateRowsBeforeLimit() #8143 (Alexander Kazakov)
  • Fixe ALTER table MOVE part exécuté immédiatement après la fusion de la partie spécifiée, ce qui pourrait provoquer le déplacement d'une partie la partie fusionné. Maintenant, il déplace correctement la partie spécifiée. #8104 (Vladimir Chebotarev)
  • Les Expressions pour les dictionnaires peuvent maintenant être spécifiées en tant que chaînes. Ceci est utile pour le calcul des attributs lors de l'extraction de données à partir de sources non-ClickHouse, car il permet d'utiliser une syntaxe non-ClickHouse pour ces expressions. #8098 (alésapine)
  • Correction d'une course très rare dans clickhouse-copier en raison d'un débordement dans ZXid. #8088 (Ding Xiang Fei)
  • Correction du bug quand après la requête a échoué (en raison de “Too many simultaneous queries” par exemple) il ne lirait pas les informations des tables externes, et le la requête suivante interpréterait cette information comme le début de la requête suivante provoquant une erreur comme Unknown packet from client. #8084 (Azat Khuzhin)
  • Éviter la déréférence nulle après “Unknown packet X from server” #8071 (Azat Khuzhin)
  • Restaurer la prise en charge de tous les paramètres régionaux ICU, ajouter la possibilité d'appliquer des collations pour les expressions constantes et ajouter le nom de la langue au système.tableau de collations. #8051 (alésapine)
  • Nombre de flux pour lire à partir StorageFile et StorageHDFS est maintenant limitée, pour éviter de dépasser la limite de mémoire. #7981 (alésapine)
  • Fixe CHECK TABLE requête pour *MergeTree les tables sans clé. #7979 (alésapine)
  • Suppression du numéro de mutation d'un nom de pièce au cas où il n'y aurait pas de mutations. Cette suppression a amélioré la compatibilité avec les anciennes versions. #8250 (alésapine)
  • Correction du bug que les mutations sont ignorées pour certaines parties attachées en raison de leur data_version sont plus grandes que la version de mutation de table. #7812 (Zhichang Yu)
  • Autoriser le démarrage du serveur avec des copies redondantes des pièces après les avoir déplacées vers un autre périphérique. #7810 (Vladimir Chebotarev)
  • Correction de l'erreur “Sizes of columns doesnt match” qui pourraient apparaître lors de l'utilisation de fonction d'agrégation des colonnes. #7790 (Boris Granveaud)
  • Maintenant, une exception sera levée en cas d'utilisation avec des liens à côté de LIMIT BY. Et maintenant, il est possible d'utiliser TOP avec LIMIT BY. #7637 (Nikita Mikhaylov)
  • Correction du rechargement du dictionnaire s'il a invalidate_query, qui a arrêté les mises à jour et une exception sur les tentatives de mise à jour précédentes. #8029 (alésapine)

Clickhouse version v19. 17. 4. 11, 2019-11-22

Modification Incompatible En Arrière

  • Utilisation de column au lieu de AST pour stocker les résultats de la sous-requête scalaire pour de meilleures performances. Paramètre enable_scalar_subquery_optimization a été ajouté dans 19.17 et il a été activé par défaut. Cela conduit à des erreurs comme ce lors de la mise à niveau vers 19.17.2 ou 19.17.3 à partir des versions précédentes. Ce paramètre a été désactivé par défaut dans 19.17.4, pour permettre la mise à niveau à partir de 19.16 et des versions plus anciennes sans erreurs. #7392 (Amos Oiseau)

Nouveauté

  • Ajoutez la possibilité de créer des dictionnaires avec des requêtes DDL. #7360 (alésapine)
  • Faire bloom_filter type de support d'index LowCardinality et Nullable #7363 #7561 (Nikolai Kochetov)
  • Ajouter une fonction isValidJSON pour vérifier que la chaîne est un json valide. #5910 #7293 (Vdimir)
  • Mettre arrayCompact fonction #7328 (Mémo)
  • Créé fonction hex pour les nombres Décimaux. Il fonctionne comme hex(reinterpretAsString()), mais ne supprime pas les derniers octets zéro. #7355 (Mikhail Korotov)
  • Ajouter arrayFill et arrayReverseFill fonctions, qui remplacent les éléments par d'autres éléments en avant / arrière d'eux dans le tableau. #7380 (hcz)
  • Ajouter CRC32IEEE()/CRC64() soutien #7480 (Azat Khuzhin)
  • Mettre char fonction similaire à celle dans mysql #7486 (sundyli)
  • Ajouter bitmapTransform fonction. Il transforme un tableau de valeurs d'une image bitmap dans un autre tableau de valeurs, le résultat est un nouveau bitmap #7598 (Zhichang Yu)
  • Mettre javaHashUTF16LE() fonction #7651 (achimbab)
  • Ajouter _shard_num colonne virtuelle pour le moteur distribué #7624 (Azat Khuzhin)

Caractéristique Expérimentale

  • Prise en charge des processeurs (nouveau pipeline d'exécution de requêtes) dans MergeTree. #7181 (Nikolai Kochetov)

Bug Fix

  • Correction d'une analyse float incorrecte Dans Values #7817 #7870 (tavplubix)
  • Correction d'un blocage rare qui peut se produire lorsque trace_log est activé. #7838 (filimonov)
  • Empêcher la duplication des messages lors de la production de la table Kafka a tout MVS en sélectionnant #7265 (Ivan)
  • Soutien pour Array(LowCardinality(Nullable(String))) dans IN. Résoudre #7364 #7366 (achimbab)
  • Ajouter le traitement de SQL_TINYINT et SQL_BIGINT et correction de la gestion des SQL_FLOAT types de sources de données dans ODBC Bridge. #7491 (Denis Glazachev)
  • Correction de l'agrégation (avg et quantiles) sur des colonnes décimales vides #7431 (Andrey Konyaev)
  • Fixer INSERT en Distribué avec MATERIALIZED colonne #7377 (Azat Khuzhin)
  • Faire MOVE PARTITION fonctionne si certaines parties de la partition sont déjà sur le disque ou le volume de destination #7434 (Vladimir Chebotarev)
  • Correction d'un bug avec hardlinks ne pas être créé lors de mutations dans ReplicatedMergeTree dans des configurations multi-disques. #7558 (Vladimir Chebotarev)
  • Correction d'un bug avec une mutation sur un MergeTree lorsque la partie entière reste inchangée et le meilleur espace est trouvé sur un autre disque #7602 (Vladimir Chebotarev)
  • Correction d'un bug avec keep_free_space_ratio ne pas être lu à partir de la configuration des disques #7645 (Vladimir Chebotarev)
  • Correction d'un bug avec la table ne contient que Tuple colonnes ou colonnes avec des chemins complexes. Fixer 7541. #7545 (alésapine)
  • Ne pas tenir compte de la mémoire pour le moteur tampon dans la limite max_memory_usage #7552 (Azat Khuzhin)
  • Correction de l'utilisation finale de la marque dans MergeTree tableaux commandés par tuple(). Dans de rares cas cela pourrait conduire à Can't adjust last granule erreur lors de la sélection. #7639 (Anton Popov)
  • Correction d'un bug dans les mutations qui ont un prédicat avec des actions qui nécessitent un contexte (par exemple des fonctions pour json), ce qui peut entraîner des plantages ou des exceptions étranges. #7664 (alésapine)
  • Correction de l'inadéquation des noms de base de données et de table s'échappant dans data/ et shadow/ annuaire #7575 (Alexander Burmak)
  • Support duplicated keys in RIGHT|FULL JOINs, e.g. ON t.x = u.x AND t.x = u.y. Correction d'un crash dans ce cas. #7586 (Artem Zuikov)
  • Fixer Not found column <expression> in block lors de la jointure sur l'expression avec jointure droite ou complète. #7641 (Artem Zuikov)
  • Une tentative de plus pour corriger la boucle infinie dans PrettySpace format #7591 (Olga Khvostikova)
  • Correction d'un bug dans concat fonction lorsque tous les arguments étaient FixedString de la même taille. #7635 (alésapine)
  • Correction d'une exception en cas d'utilisation de 1 argument lors de la définition des stockages S3, URL et HDFS. #7618 (Vladimir Chebotarev)
  • Correction de la portée de InterpreterSelectQuery pour les vues Avec requête #7601 (Azat Khuzhin)

Amélioration

  • Nullable colonnes reconnues et valeurs NULL gérées correctement par ODBC-bridge #7402 (Vasily Nemkov)
  • Ecrire le lot actuel pour distribué envoyer atomiquement #7600 (Azat Khuzhin)
  • Lancez une exception si nous ne pouvons pas détecter la table pour le nom de la colonne dans la requête. #7358 (Artem Zuikov)
  • Ajouter merge_max_block_size réglage de MergeTreeSettings #7412 (Artem Zuikov)
  • Les requêtes avec HAVING et sans GROUP BY supposons groupe par constante. Si, SELECT 1 HAVING 1 maintenant retourne un résultat. #7496 (Amos Oiseau)
  • Soutien à l'analyse (X,) comme tuple similaire à python. #7501, #7562 (Amos Oiseau)
  • Faire range les comportements de fonction ressemblent presque à ceux de pythonic. #7518 (sundyli)
  • Ajouter constraints les colonnes de la table system.settings #7553 (Vitaly Baranov)
  • Meilleur format Null pour le gestionnaire tcp, de sorte qu'il est possible d'utiliser select ignore(<expression>) from table format Null pour perf mesure via clickhouse-client #7606 (Amos Oiseau)
  • Les requêtes comme CREATE TABLE ... AS (SELECT (1, 2)) sont analysés correctement #7542 (hcz)

Amélioration Des Performances

  • Les performances de l'agrégation sur les clés de chaîne courte sont améliorées. #6243 (Alexander Kuzmenkov, Amos Oiseau)
  • Exécutez une autre passe d'analyse de syntaxe / expression pour obtenir des optimisations potentielles après que les prédicats constants sont pliés. #7497 (Amos Oiseau)
  • Utilisez les méta informations de stockage pour évaluer trivial SELECT count() FROM table; #7510 (Amos Oiseau, alexeï-milovidov)
  • Vectoriser le traitement arrayReduce semblable à Agrégateur addBatch. #7608 (Amos Oiseau)
  • Améliorations mineures des performances de Kafka consommation #7475 (Ivan)

Construction / Test / Amélioration De L'Emballage

  • Ajouter la prise en charge de la compilation croisée à L'architecture du processeur AARCH64. Refactoriser le code emballeur script. #7370 #7539 (Ivan)
  • Décompressez les chaînes d'outils darwin-x86_64 et linux-aarch64 dans le volume Docker monté lors de la construction de paquets #7534 (Ivan)
  • Mise à jour de L'Image Docker pour le Packager binaire #7474 (Ivan)
  • Correction des erreurs de compilation sur macOS Catalina #7585 (Ernest Poletaev)
  • Certains refactoring dans la logique d'analyse de requête: diviser la classe complexe en plusieurs classes simples. #7454 (Artem Zuikov)
  • Fix construire sans submodules #7295 (proller)
  • Mieux add_globs dans les fichiers CMake #7418 (Amos Oiseau)
  • Supprimer les chemins codés en dur dans unwind cible #7460 (Konstantin Podshumok)
  • Permettre d'utiliser le format mysql sans ssl #7524 (proller)

Autre

Clickhouse version v19. 16

Clickhouse version v19. 16. 14. 65, 2020-03-25

  • Correction d'un bug dans les calculs par lots des opérations logiques ternaires sur plusieurs arguments (plus de 10). #8718 (Alexander Kazakov) Ce correctif a été rétroporté à la version 19.16 par une demande spéciale D'Altinity.

Clickhouse version v19. 16. 14. 65, 2020-03-05

  • Correction de l'incompatibilité des sous-requêtes distribuées avec les anciennes versions de CH. Fixer #7851 (tabplubix)
  • Lors de l'exécution de CREATE requête, plier les expressions constantes dans les arguments du moteur de stockage. Remplacez le nom de base de données vide par la base de données actuelle. Fixer #6508, #3492. Corrigez également la vérification de l'adresse locale dans ClickHouseDictionarySource. #9262 (tabplubix)
  • Maintenant fond fusionne dans *MergeTree la famille des moteurs de table préserve l'ordre de volume de la Politique de stockage avec plus de précision. #8549 (Vladimir Chebotarev)
  • Empêcher la perte de données dans Kafka dans de rares cas, lorsque l'exception se produit après la lecture du suffixe mais avant la validation. Fixer #9378. Concerner: #7175 #9507 (filimonov)
  • Correction d'un bug menant à la résiliation du serveur lorsque vous essayez d'utiliser / drop Kafka tableau créé avec de mauvais paramètres. Fixer #9494. Incorporer #9507. #9513 (filimonov)
  • Autoriser l'utilisation des MaterializedView avec les sous-requêtes ci-dessus Kafka table. #8197 (filimonov)

Nouveauté

  • Ajouter deduplicate_blocks_in_dependent_materialized_views option pour contrôler le comportement des insertions idempotent dans des tables avec des vues matérialisées. Cette nouvelle fonctionnalité a été ajoutée à la version de bugfix par une demande spéciale D'Altinity. #9070 (urykhy)

Clickhouse version v19. 16. 2. 2, 2019-10-30

Modification Incompatible En Arrière

  • Ajouter une validation d'arité manquante pour count / counIf. #7095 #7298 (Vdimir)
  • Supprimer l'héritage asterisk_left_columns_only paramètre (il est désactivé par défaut). #7335 (Artem Zuikov)
  • Les chaînes de Format pour le format de données de modèle sont maintenant spécifiées dans les fichiers. #7118 (tavplubix)

Nouveauté

  • Introduisez uniqCombined64() pour calculer la cardinalité supérieure à UINT_MAX. #7213, #7222 (Azat Khuzhin)
  • Soutenir les index de filtre Bloom sur les colonnes de tableau. #6984 (achimbab)
  • Ajouter une fonction getMacro(name) cela renvoie une chaîne avec la valeur de <macros> à partir de la configuration du serveur. #7240 (alexeï-milovidov)
  • Définissez deux options de configuration pour un dictionnaire basé sur une source HTTP: credentials et http-headers. #7092 (Guillaume Tassery)
  • Ajouter un nouveau ProfileEvent Merge cela compte le nombre de fusions d'arrière-plan lancées. #7093 (Mikhail Korotov)
  • Ajouter la fonction fullHostName qui renvoie un nom de domaine complet. #7263 #7291 (sundyli)
  • Ajouter une fonction arraySplit et arrayReverseSplit qui divise un tableau par “cut off” condition. Ils sont utiles dans la gestion de la séquence temporelle. #7294 (hcz)
  • Ajoutez de nouvelles fonctions qui renvoient le tableau de tous les indices appariés dans la famille de fonctions multiMatch. #7299 (Danila Kutenin)
  • Ajouter un nouveau moteur de base de données Lazy qui est optimisé pour stocker un grand nombre de petits journaux table. #7171 (Nikita Vasiliev)
  • Ajouter des fonctions d'agrégation groupBitmapAnd, - ou, - Xor pour les colonnes bitmap. #7109 (Zhichang Yu)
  • Ajouter des combinateurs de fonctions d'agrégat-OrNull et-OrDefault, qui renvoient null ou des valeurs par défaut lorsqu'il n'y a rien à agréger. #7331 (hcz)
  • Introduire le format de données CustomSeparated qui prend en charge l'échappement personnalisé et séparateur de règles. #7118 (tavplubix)
  • Soutien Redis comme source de dictionnaire externe. #4361 #6962 (comunodi, Anton Popov)

Bug Fix

  • Correction d'un résultat de requête incorrect s'il a WHERE IN (SELECT ...) la section et optimize_read_in_order être utiliser. #7371 (Anton Popov)
  • Plugin D'authentification MariaDB désactivé, qui dépend des fichiers en dehors du projet. #7140 (Iouri Baranov)
  • Correction d'une exception Cannot convert column ... because it is constant but values of constants are different in source and result ce qui pourrait rarement arriver lorsque les fonctions now(), today(), yesterday(), randConstant() sont utilisés. #7156 (Nikolaï Kochetov)
  • Correction d'un problème d'utilisation de HTTP keep alive timeout au lieu de TCP keep alive timeout. #7351 (Vassili Nemkov)
  • Correction d'un défaut de segmentation dans groupBitmapOr (problème #7109). #7289 (Zhichang Yu)
  • Pour les vues matérialisées, le commit pour Kafka est appelé après l'écriture de toutes les données. #7175 (Ivan)
  • Fixe de mal duration_ms valeur en system.part_log table. Il y a dix reprises. #7172 (Vladimir Chebotarev)
  • Une solution rapide pour résoudre le crash dans la table LIVE VIEW et réactiver tous les tests LIVE VIEW. #7201 (vzakaznikov)
  • Sérialiser correctement les valeurs NULL dans les index min / max des parties MergeTree. #7234 (Alexander Kuzmenkov)
  • Ne mettez pas de colonnes virtuelles à .métadonnées sql lorsque la table est créée en tant que CREATE TABLE AS. #7183 (Ivan)
  • Correction d'un défaut de segmentation dans ATTACH PART requête. #7185 (alésapine)
  • Correction d'un mauvais résultat pour certaines requêtes données par l'optimisation de empty IN subqueries et empty INNER/RIGHT JOIN. #7284 (Nikolaï Kochetov)
  • Correction D'une erreur AddressSanitizer dans la méthode LIVE VIEW getHeader (). #7271 (vzakaznikov)

Amélioration

  • Ajouter un message en cas d'attente queue_wait_max_ms. #7390 (Azat Khuzhin)
  • Faites le réglage de s3_min_upload_part_size au niveau de la table. #7059 (Vladimir Chebotarev)
  • Vérifiez TTL dans StorageFactory. #7304 (sundyli)
  • Squash blocs de gauche en fusion partielle join (optimisation). #7122 (Artem Zuikov)
  • N'autorisez pas les fonctions non déterministes dans les mutations des moteurs de table répliqués, car peut introduire des incohérences entre les répliques. #7247 (Alexander Kazakov)
  • Désactivez le suivi de la mémoire lors de la conversion de trace de pile d'exception en chaîne. Il peut empêcher la perte des messages d'erreur de type Memory limit exceeded sur le serveur, qui a causé la Attempt to read after eof exception sur le client. #7264 (Nikolai Kochetov)
  • Améliorations diverses du format. Résoudre #6033, #2633, #6611, #6742 #7215 (tavplubix)
  • ClickHouse ignore les valeurs du côté droit de L'opérateur IN qui ne sont pas convertibles vers la gauche side type. Make it work properly for compound types Array and Tuple. #7283 (Alexander Kuzmenkov)
  • Soutenir les inégalités manquantes pour ASOF JOIN. Il est possible de rejoindre une variante moins ou égale et stricte plus grandes et moins de variantes pour la colonne ASOF dans la syntaxe ON. #7282 (Artem Zuikov)
  • Optimiser la fusion partielle jointure. #7070 (Artem Zuikov)
  • N'utilisez pas plus de 98K de mémoire dans les fonctions uniqCombined. #7236, #7270 (Azat Khuzhin)
  • Rincer les parties de la table de jonction de droite sur le disque dans PartialMergeJoin (s'il n'y en a pas assez mémoire). Chargez les données en arrière en cas de besoin. #7186 (Artem Zuikov)

Amélioration Des Performances

  • Accélérez joinGet avec des arguments const en évitant la duplication des données. #7359 (Amos Oiseau)
  • De retour plus tôt si la sous-requête est vide. #7007 (小路)
  • Optimiser l'analyse de l'expression SQL dans les valeurs. #6781 (tavplubix)

Construction / Test / Amélioration De L'Emballage

  • Désactivez certaines contribs pour la compilation croisée sur Mac OS. #7101 (Ivan)
  • Ajouter un lien manquant avec PocoXML pour clickhouse_common_io. #7200 (Azat Khuzhin)
  • Accepter plusieurs arguments de filtre de test dans clickhouse-test. #7226 (Alexander Kuzmenkov)
  • Activer musl et jemalloc pour ARM. #7300 (Amos Oiseau)
  • Ajouter --client-option paramètre clickhouse-test pour passer des paramètres supplémentaires au client. #7277 (Nikolaï Kochetov)
  • Préserver les configurations existantes lors de la mise à niveau du package rpm. #7103 (filimonov)
  • Correction des erreurs détectées par PVS. #7153 (Artem Zuikov)
  • Correction de la construction pour Darwin. #7149 (Ivan)
  • compatibilité glibc 2.29. #7142 (Amos Oiseau)
  • Assurez-vous que dh_clean ne touche pas les fichiers sources potentiels. #7205 (Amos Oiseau)
  • Essayez d'éviter les conflits lors de la mise à jour à partir d'altinity rpm-le fichier de configuration est emballé séparément dans clickhouse-serveur commun. #7073 (filimonov)
  • Optimisez certains fichiers d'en-tête pour des reconstructions plus rapides. #7212, #7231 (Alexander Kuzmenkov)
  • Ajouter des tests de performance pour Date et DateTime. #7332 (Vassili Nemkov)
  • Correction de certains tests contenant des mutations non déterministes. #7132 (Alexander Kazakov)
  • Ajouter build avec MemorySanitizer à CI. #7066 (Alexander Kuzmenkov)
  • Évitez l'utilisation de valeurs non initialisées dans MetricsTransmitter. #7158 (Azat Khuzhin)
  • Correction de certains problèmes dans les champs trouvés par MemorySanitizer. #7135, #7179 (Alexander Kuzmenkov), #7376 (Amos Oiseau)
  • Correction d'un comportement indéfini dans murmurhash32. #7388 (Amos Oiseau)
  • Correction d'un comportement indéfini dans StoragesInfoStream. #7384 (tavplubix)
  • Correction du pliage d'expressions constantes pour les moteurs de base de données externes (MySQL, ODBC, JDBC). Dans les précédents versions il ne fonctionnait pas pour plusieurs expressions constantes et ne fonctionnait pas du tout pour la Date, DateTime et UUID. Cela corrige #7245 #7252 (alexeï-milovidov)
  • Correction D'une erreur de course de données ThreadSanitizer dans la vue en direct lors de l'accès à la variable no_users_thread. #7353 (vzakaznikov)
  • Débarrassez-vous des symboles malloc dans libcommon #7134, #7065 (Amos Oiseau)
  • Ajoutez l'indicateur global ENABLE_LIBRARIES pour désactiver toutes les bibliothèques. #7063 (proller)

Nettoyage de Code

  • Généraliser le référentiel de configuration pour préparer DDL pour les dictionnaires. #7155 (alésapine)
  • Parser pour les dictionnaires DDL sans aucune sémantique. #7209 (alésapine)
  • Divisez ParserCreateQuery en différents analyseurs plus petits. #7253 (alésapine)
  • Petit refactoring et renommage près de dictionnaires externes. #7111 (alésapine)
  • Refactorisez du code pour vous préparer au contrôle d'accès basé sur les rôles. #7235 (Vitaly Baranov)
  • Quelques améliorations dans Databasecode ordinaire. #7086 (Nikita Vasiliev)
  • N'utilisez pas d'itérateurs dans les méthodes find() et emplace () des tables de hachage. #7026 (Alexander Kuzmenkov)
  • Fix getMultipleValuesFromConfig dans le cas où le paramètre root n'est pas vide. #7374 (Mikhail Korotov)
  • Supprimer un copier-coller (TemporaryFile et TemporaryFileStream) #7166 (Artem Zuikov)
  • Amélioration de la lisibilité du code un peu (MergeTreeData::getActiveContainingPart). #7361 (Vladimir Chebotarev)
  • Attendez tous les travaux planifiés, qui utilisent des objets locaux, si ThreadPool::schedule(...) jeter exception. Renommer ThreadPool::schedule(...) de ThreadPool::scheduleOrThrowOnError(...) et correction des commentaires pour rendre évident qu'il peut jeter. #7350 (tavplubix)

Version ClickHouse 19.15

Clickhouse version 19.15.4.10, 2019-10-31

Bug Fix

  • Ajout de la gestion de SQL_TINYINT et SQL_BIGINT, et correction de la gestion des types de sources de données SQL_FLOAT dans ODBC Bridge. #7491 (Denis Glazachev)
  • Autorisé à avoir certaines parties sur le disque de destination ou le volume dans la PARTITION de déplacement. #7434 (Vladimir Chebotarev)
  • Valeurs NULL fixes dans les colonnes nullables via ODBC-bridge. #7402 (Vasily Nemkov)
  • Insertion fixe dans un nœud non Local distribué avec des colonnes matérialisées. #7377 (Azat Khuzhin)
  • Fonction fixe getMultipleValuesFromConfig. #7374 (Mikhail Korotov)
  • Correction d'un problème d'utilisation de HTTP keep alive timeout au lieu de TCP keep alive timeout. #7351 (Vasily Nemkov)
  • Attendez que tous les travaux se terminent à l'exception (corrige les segfaults rares). #7350 (tavplubix)
  • Ne poussez pas vers MVs lors de l'insertion dans la table Kafka. #7265 (Ivan)
  • Désactiver le suivi de la mémoire pour la pile d'exception. #7264 (Nikolai Kochetov)
  • Correction d'un mauvais code dans la transformation de la requête pour la base de données externe. #7252 (alexeï-milovidov)
  • Évitez l'utilisation de valeurs non initialisées dans MetricsTransmitter. #7158 (Azat Khuzhin)
  • Ajout d'un exemple de configuration avec des macros pour les tests (alexeï-milovidov)

Clickhouse version 19.15.3.6, 2019-10-09

Bug Fix

  • Correction de bad_variant dans le dictionnaire haché. (alésapine)
  • Correction d'un bug avec défaut de segmentation dans la requête de pièce jointe. (alésapine)
  • Calcul du temps fixe en MergeTreeData. (Vladimir Chebotarev)
  • Commit à Kafka explicitement après la finalisation de l'écriture. #7175 (Ivan)
  • Sérialiser correctement les valeurs NULL dans les index min / max des parties MergeTree. #7234 (Alexander Kuzmenkov)

Clickhouse version 19.15.2.2, 2019-10-01

Nouveauté

  • Stockage à plusieurs niveaux: prise en charge de l'utilisation de plusieurs volumes de stockage pour les tables avec mergetree engine. Il est possible de stocker de nouvelles données sur SSD et de déplacer automatiquement les anciennes données sur le disque dur. (exemple). #4918 (Igr) #6489 (alésapine)
  • Ajouter une fonction de table input pour lire les données entrantes dans INSERT SELECT requête. #5450 (palasonique1) #6832 (Anton Popov)
  • Ajouter un sparse_hashed mise en page du dictionnaire, qui est fonctionnellement équivalente à la hashed mise en page, mais est plus efficace en mémoire. Il utilise environ deux fois moins de mémoire au prix d'une récupération de valeur plus lente. #6894 (Azat Khuzhin)
  • Implémenter la capacité de définir la liste des utilisateurs pour l'accès aux dictionnaires. Seule la base de données connectée actuelle utilisant. #6907 (Guillaume Tassery)
  • Ajouter LIMIT option pour SHOW requête. #6944 (Philipp Malkovsky)
  • Ajouter bitmapSubsetLimit(bitmap, range_start, limit) fonction, qui renvoie le sous-ensemble du plus petit limit valeurs dans l'ensemble qui n'est pas inférieure à range_start. #6957 (Zhichang Yu)
  • Ajouter bitmapMin et bitmapMax fonction. #6970 (Zhichang Yu)
  • Ajouter une fonction repeat liées à la numéro-6648 #6999 (Flynn)

Caractéristique Expérimentale

  • Implémentez (en mémoire) une variante de jointure de fusion qui ne change pas le pipeline actuel. Le résultat est partiellement trié par clé de fusion. Définir partial_merge_join = 1 pour utiliser cette fonctionnalité. La Jointure de Fusion est toujours en développement. #6940 (Artem Zuikov)
  • Ajouter S3 fonction de moteur et de table. Il est encore en développement (pas encore de support d'authentification). #5596 (Vladimir Chebotarev)

Amélioration

  • Chaque message lu à partir de Kafka est inséré atomiquement. Cela résout presque tous les problèmes connus avec Kafka engine. #6950 (Ivan)
  • Améliorations pour le basculement des requêtes distribuées. Raccourcir le temps de récupération, il est maintenant configurable et peut être vu dans system.clusters. #6399 (Vasily Nemkov)
  • Supporte les valeurs numériques pour les énumérations directement dans IN section. #6766 #6941 (dimarub2000)
  • Support (facultatif, désactivé par défaut) redirige sur le stockage D'URL. #6914 (maqroll)
  • Ajouter un message d'information lorsque le client avec une ancienne version se connecte à un serveur. #6893 (Philipp Malkovsky)
  • Supprimer la limite de temps de veille maximale pour l'envoi de données dans les tables distribuées #6895 (Azat Khuzhin)
  • Ajouter la possibilité d'envoyer des événements de profil (compteurs) avec des valeurs cumulatives à graphite. Il peut être activé sous <events_cumulative> dans serveur config.xml. #6969 (Azat Khuzhin)
  • Ajouter automatiquement le type de fonte T de LowCardinality(T) lors de l'insertion de données dans la colonne de type LowCardinality(T) au format natif via HTTP. #6891 (Nikolai Kochetov)
  • Ajout de la capacité à utiliser la fonction hex sans l'aide de reinterpretAsString pour Float32, Float64. #7024 (Mikhail Korotov)

Construction / Test / Amélioration De L'Emballage

  • Ajouter gdb-index au binaire clickhouse avec des informations de débogage. Il permettra d'accélérer le temps de démarrage de gdb. #6947 (alésapine)
  • Accélérez l'emballage deb avec dpkg-deb patché qui utilise pigz. #6960 (alésapine)
  • Définir enable_fuzzing = 1 pour activer l'instrumentation libfuzzer de tout le code du projet. #7042 (kyprizel)
  • Ajouter Split build smoke test dans CI. #7061 (alésapine)
  • Ajouter build avec MemorySanitizer à CI. #7066 (Alexander Kuzmenkov)
  • Remplacer libsparsehash avec sparsehash-c11 #6965 (Azat Khuzhin)

Bug Fix

  • Correction de la dégradation des performances de l'analyse d'index sur les clés complexes sur les grandes tables. Cela corrige # 6924. #7075 (alexeï-milovidov)
  • Correction d'une erreur logique provoquant segfaults lors de la sélection de Kafka sujet vide. #6909 (Ivan)
  • Correction d'une connexion MySQL trop tôt fermer MySQLBlockInputStream.cpp. #6882 (Clément Rodriguez)
  • Retour du support pour les très anciens noyaux Linux (correction #6841) #6853 (alexeï-milovidov)
  • Corriger les éventuelles pertes de données dans insert select requête en cas de bloc vide dans le flux d'entrée. #6834 #6862 #6911 (Nikolai Kochetov)
  • Correctif pour la fonction АrrayEnumerateUniqRanked avec des tableaux vides dans params #6928 (proller)
  • Correction de requêtes complexes avec des jointures de tableau et des sous-requêtes globales. #6934 (Ivan)
  • Fixer Unknown identifier erreur dans ORDER BY et GROUP BY avec plusieurs jointures #7022 (Artem Zuikov)
  • Fixe MSan avertissement lors de l'exécution de la fonction avec LowCardinality argument. #7062 (Nikolai Kochetov)

Modification Incompatible En Arrière

  • Format de sérialisation modifié de bitmap * états de fonction d'agrégation pour améliorer les performances. Les États sérialisés de bitmap * des versions précédentes ne peuvent pas être lus. #6908 (Zhichang Yu)

Clickhouse version 19.14

Clickhouse version 19.14.7.15, 2019-10-02

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 19.11.12.69.
  • Compatibilité fixe pour les requêtes distribuées entre 19.14 et les versions antérieures. Cela corrige #7068. #7069 (alexeï-milovidov)

Clickhouse version 19.14.6.12, 2019-09-19

Bug Fix

  • Correctif pour la fonction АrrayEnumerateUniqRanked avec des tableaux vides dans params. #6928 (proller)
  • Nom de sous-requête fixe dans les requêtes avec ARRAY JOIN et GLOBAL IN subquery avec alias. Utilisez l'alias de sous-requête pour le nom de table externe s'il est spécifié. #6934 (Ivan)

Construction / Test / Amélioration De L'Emballage

  • Fixer le battement test 00715_fetch_merged_or_mutated_part_zookeeper en le réécrivant dans un script shell car il doit attendre que des mutations s'appliquent. #6977 (Alexander Kazakov)
  • Correction de L'échec UBSan et MemSan en fonction groupUniqArray avec l'argument de tableau emtpy. Il a été causé par le placement de vide PaddedPODArray dans la table de hachage zéro cellule parce que le constructeur pour la valeur de cellule Zéro n'a pas été appelé. #6937 (Amos Oiseau)

Clickhouse version 19.14.3.3, 2019-09-10

Nouveauté

  • WITH FILL le modificateur ORDER BY. (suite de la #5069) #6610 (Anton Popov)
  • WITH TIES le modificateur LIMIT. (suite de la #5069) #6610 (Anton Popov)
  • Analyser non cotées NULL littéral comme NULL (si paramètre format_csv_unquoted_null_literal_as_null=1). Initialiser les champs null avec des valeurs par défaut si le type de données de ce champ n'est pas nullable (si input_format_null_as_default=1). #5990 #6055 (tavplubix)
  • Prise en charge des caractères génériques dans les chemins des fonctions de table file et hdfs. Si le chemin contient des caractères génériques, la table sera en lecture seule. Exemple d'utilisation: select * from hdfs('hdfs://hdfs1:9000/some_dir/another_dir/*/file{0..9}{0..9}') et select * from file('some_dir/{some_file,another_file,yet_another}.tsv', 'TSV', 'value UInt32'). #6092 (Olga Khvostikova)
  • Nouveau system.metric_log le tableau qui stocke les valeurs de system.events et system.metrics avec l'intervalle de temps spécifié. #6363 #6467 (Nikita Mikhaylov) #6530 (alexeï-milovidov)
  • Permettre d'écrire des journaux de texte ClickHouse à system.text_log table. #6037 #6103 (Nikita Mikhaylov) #6164 (alexeï-milovidov)
  • Afficher les symboles privés dans les traces de pile (cela se fait via l'analyse des tables de symboles des fichiers ELF). Ajout d'informations sur le numéro de fichier et de ligne dans les traces de pile si les informations de débogage sont présentes. Accélérer la recherche de nom de symbole avec des symboles d'indexation présents dans le programme. Ajout de nouvelles fonctions SQL pour l'introspection: demangle et addressToLine. Renommé fonction symbolizeAddress de addressToSymbol pour des raisons de cohérence. Fonction addressToSymbol retournera le nom mutilé pour des raisons de performance et vous devez appliquer demangle. Ajout d'un réglage allow_introspection_functions qui est désactivée par défaut. #6201 (alexeï-milovidov)
  • Fonction de Table values (le nom est sensible à la casse). Il permet de lire à partir de VALUES la liste proposée dans #5984. Exemple: SELECT * FROM VALUES('a UInt64, s String', (1, 'one'), (2, 'two'), (3, 'three')). #6217. #6209 (dimarub2000)
  • Ajout d'une capacité de modifier les paramètres de stockage. Syntaxe: ALTER TABLE <table> MODIFY SETTING <setting> = <value>. #6366 #6669 #6685 (alésapine)
  • Support pour enlever des pièces détachées. Syntaxe: ALTER TABLE <table_name> DROP DETACHED PART '<part_id>'. #6158 (tavplubix)
  • Les contraintes de Table. Permet d'ajouter une contrainte à la définition de la table qui sera vérifiée lors de l'insertion. #5273 (Gleb Novikov) #6652 (alexeï-milovidov)
  • Soutien en cascade des vues matérialisées. #6324 (Amos Oiseau)
  • Activez query profiler par défaut pour échantillonner chaque thread d'exécution de requête une fois par seconde. #6283 (alexeï-milovidov)
  • Format d'entrée ORC. #6454 #6703 (akonyaev90)
  • Ajout de deux nouvelles fonctions: sigmoid et tanh (qui sont utiles pour les applications d'apprentissage automatique). #6254 (alexeï-milovidov)
  • Fonction hasToken(haystack, token), hasTokenCaseInsensitive(haystack, token) pour vérifier si un jeton est dans la botte de foin. Le jeton est une sous-chaîne de longueur maximale entre deux caractères ASCII non alphanumériques (ou limites de haystack). Le jeton doit être une chaîne constante. Pris en charge par tokenbf_v1 spécialisation de l'index. #6596, #6662 (Vasily Nemkov)
  • Nouvelle fonction neighbor(value, offset[, default_value]). Permet d'atteindre la valeur prev / next dans la colonne d'un bloc de données. #5925 (Alex Laquelle Le Krash) 6685365ab8c5b74f9650492c88a012596eb1b0c6 341e2e4587a18065c2da1ca888c73389f48ce36c Alexey Milovidov
  • Créé une fonction currentUser(), retour connexion de l'utilisateur autorisé. Ajout d'alias user() pour la compatibilité avec MySQL. #6470 (Alex Laquelle Le Krash)
  • Nouvelles fonctions d'agrégation quantilesExactInclusive et quantilesExactExclusive qui étaient proposés dans #5885. #6477 (dimarub2000)
  • Fonction bitmapRange(bitmap, range_begin, range_end) qui renvoie un nouvel ensemble avec une plage spécifiée (ne pas inclure range_end). #6314 (Zhichang Yu)
  • Fonction geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precision) ce qui crée un tableau de chaînes de précision longues de geohash-boîtes couvrant la zone fournie. #6127 (Vasily Nemkov)
  • Implémenter la prise en charge de la requête INSERT avec Kafka table. #6012 (Ivan)
  • Ajout du support pour _partition et _timestamp colonnes virtuelles au moteur Kafka. #6400 (Ivan)
  • Possibilité de supprimer des données sensibles de query_log, journaux de serveur, liste de processus avec des règles basées sur regexp. #5710 (filimonov)

Caractéristique Expérimentale

  • Format de données d'entrée et de sortie Template. Il permet de spécifier une chaîne de format personnalisée pour l'entrée et la sortie. #4354 #6727 (tavplubix)
  • La mise en œuvre de LIVE VIEW tableaux qui ont été initialement proposés dans #2898 préparés dans #3925, puis mis à jour dans #5541. Voir #5541 pour une description détaillée. #5541 (vzakaznikov) #6425 (Nikolai Kochetov) #6656 (vzakaznikov) Note que LIVE VIEW fonction peut être supprimée dans les prochaines versions.

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 19.13 et 19.11.
  • Correction d'un défaut de segmentation lorsque la table a des indices de saut et que la fusion verticale se produit. #6723 (alésapine)
  • Correction de TTL par colonne avec des valeurs par défaut de colonne non triviales. Auparavant en cas de force TTL fusionner avec OPTIMIZE ... FINAL requête, les valeurs expirées ont été remplacées par des valeurs par défaut de type au lieu des valeurs par défaut de colonne spécifiées par l'utilisateur. #6796 (Anton Popov)
  • Correction du problème de duplication des messages Kafka lors du redémarrage normal du serveur. #6597 (Ivan)
  • Boucle infinie fixe lors de la lecture des messages Kafka. Ne pas mettre en pause/reprendre le consommateur sur l'abonnement du tout - sinon il peut être mis en pause indéfiniment dans certains scénarios. #6354 (Ivan)
  • Fixer Key expression contains comparison between inconvertible types exception dans bitmapContains fonction. #6136 #6146 #6156 (dimarub2000)
  • Correction de segfault avec activé optimize_skip_unused_shards et clé de sharding manquante. #6384 (Anton Popov)
  • Correction du mauvais code dans les mutations qui peuvent conduire à la corruption de la mémoire. Correction de segfault avec lecture de l'adresse 0x14c0 cela peut se produire en raison de simultané DROP TABLE et SELECT de system.parts ou system.parts_columns. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé par OPTIMIZE des tables répliquées et des opérations de modification simultanées comme ALTERs. #6514 (alexeï-milovidov)
  • Suppression de la journalisation supplémentaire dans L'interface MySQL #6389 (alexeï-milovidov)
  • Renvoie la possibilité d'analyser les paramètres booléens depuis true et false dans le fichier de configuration. #6278 (alésapine)
  • Correction d'un crash dans l' quantile et median la fonction sur Nullable(Decimal128). #6378 (Artem Zuikov)
  • Correction possible résultat incomplet retourné par SELECT requête avec WHERE condition sur la clé primaire contient la conversion en type Float. Il a été causé par une vérification incorrecte de la monotonie dans toFloat fonction. #6248 #6374 (dimarub2000)
  • Vérifier max_expanded_ast_elements réglage des mutations. Mutations claires après TRUNCATE TABLE. #6205 (L'Hiver Zhang)
  • Correction des résultats de jointure pour les colonnes clés lorsqu'elles sont utilisées avec join_use_nulls. Attachez des valeurs NULL au lieu des valeurs par défaut des colonnes. #6249 (Artem Zuikov)
  • Correction des indices de saut avec Fusion verticale et modification. Correctif pour Bad size of marks file exception. #6594 #6713 (alésapine)
  • Correction plantage rare dans ALTER MODIFY COLUMN et fusion verticale lorsque l'une des parties fusionnées/modifiées est vide (0 lignes) #6746 #6780 (alésapine)
  • Correction d'un bug dans la conversion de LowCardinality types de AggregateFunctionFactory. Cela corrige #6257. #6281 (Nikolai Kochetov)
  • Correction d'un comportement incorrect et de segfaults possibles dans topK et topKWeighted agrégé fonctions. #6404 (Anton Popov)
  • Code dangereux fixe autour getIdentifier fonction. #6401 #6409 (alexeï-milovidov)
  • Correction d'un bug dans le protocole de fil MySQL (est utilisé lors de la connexion à clickhouse forme client MySQL). Causé par un débordement de tampon de tas PacketPayloadWriteBuffer. #6212 (Yuriy Baranov)
  • Fuite de mémoire fixe dans bitmapSubsetInRange fonction. #6819 (Zhichang Yu)
  • Correction d'un bug rare lorsque la mutation est exécutée après un changement de granularité. #6816 (alésapine)
  • Autoriser le message protobuf avec tous les champs par défaut. #6132 (Vitaly Baranov)
  • Résoudre un bug avec nullIf fonction lorsque nous envoyer un NULL l'argument sur le deuxième argument. #6446 (Guillaume Tassery)
  • Correction d'un bug rare avec une mauvaise allocation/désallocation de la mémoire dans des dictionnaires de cache de clés Complexes avec des champs de chaîne qui conduit à une consommation de mémoire infinie (ressemble à une fuite de mémoire). Bug se reproduit lorsque la taille de la chaîne était une puissance de deux à partir de huit (8, 16, 32, etc.). #6447 (alésapine)
  • Correction de L'encodage Gorilla sur les petites séquences qui a provoqué une exception Cannot write after end of buffer. #6398 #6444 (Vasily Nemkov)
  • Permet d'utiliser des types Non nullables dans les jointures avec join_use_nulls permettre. #6705 (Artem Zuikov)
  • Désactiver Poco::AbstractConfiguration substitutions dans la requête dans clickhouse-client. #6706 (alexeï-milovidov)
  • Éviter l'impasse dans REPLACE PARTITION. #6677 (alexeï-milovidov)
  • Utiliser arrayReduce pour des arguments constants peuvent conduire à segfault. #6242 #6326 (alexeï-milovidov)
  • Correction des parties incohérentes qui peuvent apparaître si la réplique a été restaurée après DROP PARTITION. #6522 #6523 (tavplubix)
  • Correction du blocage dans JSONExtractRaw fonction. #6195 #6198 (alexeï-milovidov)
  • Correction d'un bug avec des indices de saut incorrects sérialisation et agrégation avec granularité adaptative. #6594. #6748 (alésapine)
  • Fixer WITH ROLLUP et WITH CUBE les modificateurs de GROUP BY avec agrégation à deux niveaux. #6225 (Anton Popov)
  • Correction d'un bug avec l'écriture de marques d'indices secondaires avec une granularité adaptative. #6126 (alésapine)
  • Correction de l'ordre d'initialisation lors du démarrage du serveur. Depuis StorageMergeTree::background_task_handle est initialisée dans startup() le MergeTreeBlockOutputStream::write() peut tenter de l'utiliser avant l'initialisation. Vérifiez simplement s'il est initialisé. #6080 (Ivan)
  • Effacement du tampon de données de l'opération de lecture précédente terminée par une erreur. #6026 (Nikolay)
  • Correction d'un bug avec l'activation de la granularité adaptative lors de la création d'une nouvelle réplique pour la table répliquée*MergeTree. #6394 #6452 (alésapine)
  • Correction d'un crash possible lors du démarrage du serveur en cas d'exception libunwind au cours de l'exception à l'accès à uninitialized ThreadStatus structure. #6456 (Nikita Mikhaylov)
  • Correction d'un crash dans l' yandexConsistentHash fonction. Trouvé par fuzz test. #6304 #6305 (alexeï-milovidov)
  • Correction de la possibilité de suspendre les requêtes lorsque le serveur est surchargé et que le pool de threads global devient presque complet. Cela a plus de chances de se produire sur les clusters avec un grand nombre de fragments (des centaines), car les requêtes distribuées allouent un thread par connexion à chaque fragment. Par exemple, ce problème peut se reproduire si un cluster de 330 fragments traite 30 requêtes distribuées simultanées. Ce problème affecte toutes les versions à partir de 19.2. #6301 (alexeï-milovidov)
  • Fixe la logique de arrayEnumerateUniqRanked fonction. #6423 (alexeï-milovidov)
  • Correction de segfault lors du décodage de la table des symboles. #6603 (Amos Oiseau)
  • Correction d'une exception non pertinente dans la distribution de LowCardinality(Nullable) to not-Nullable column in case if it doesn't contain Nulls (e.g. in query like SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String). #6094 #6119 (Nikolai Kochetov)
  • Suppression de guillemets supplémentaires de description dans system.settings table. #6696 #6699 (alexeï-milovidov)
  • Éviter l'impasse possible dans TRUNCATE de table Répliquée. #6695 (alexeï-milovidov)
  • Correction de la lecture dans l'ordre de la clé de tri. #6189 (Anton Popov)
  • Fixer ALTER TABLE ... UPDATE requête pour les tables avec enable_mixed_granularity_parts=1. #6543 (alésapine)
  • Correction d'un bug ouvert par #4405 (depuis 19.4.0). Reproduit dans les requêtes aux tables distribuées sur les tables MergeTree lorsque nous n'interrogeons aucune colonne (SELECT 1). #6236 (alésapine)
  • Dépassement fixe dans la division entière du type signé au type non signé. Le comportement était exactement comme dans le langage C ou c++ (règles de promotion entières) qui peut être surprenant. Veuillez noter que le débordement est toujours possible lors de la division d'un grand nombre signé en un grand nombre non signé ou vice-versa (mais ce cas est moins habituel). Le problème existait dans toutes les versions du serveur. #6214 #6233 (alexeï-milovidov)
  • Limiter le temps de sommeil maximal pour l'étranglement lorsque max_execution_speed ou max_execution_speed_bytes est définie. Correction de fausses erreurs comme Estimated query execution time (inf seconds) is too long. #5547 #6232 (alexeï-milovidov)
  • Correction de problèmes d'utilisation MATERIALIZED colonnes et alias dans MaterializedView. #448 #3484 #3450 #2878 #2285 #3796 (Amos Oiseau) #6316 (alexeï-milovidov)
  • Fixer FormatFactory comportement pour les flux d'entrée qui ne sont pas implémentés en tant que Processeur. #6495 (Nikolai Kochetov)
  • Correction d'une faute. #6631 (Alex Ryndin)
  • Typo dans le message d'erreur (is - > are). #6839 (Denis Zhuravlev)
  • Correction d'une erreur lors de l'analyse de la liste des colonnes de la chaîne si le type contenait une virgule (Ce problème était pertinent pour File, URL, HDFS stockage) #6217. #6209 (dimarub2000)

Correction De Sécurité

  • Cette version contient également tous les correctifs de sécurité de bugs de 19.13 et 19.11.
  • Correction de la possibilité d'une requête fabriquée pour provoquer un crash du serveur en raison d'un débordement de pile dans L'analyseur SQL. Correction de la possibilité de débordement de pile dans les tables de fusion et distribuées, les vues matérialisées et les conditions de sécurité au niveau des lignes impliquant des sous-requêtes. #6433 (alexeï-milovidov)

Amélioration

  • Mise en œuvre correcte de la logique ternaire pour AND/OR. #6048 (Alexander Kazakov)
  • Maintenant les valeurs et les lignes avec TTL expiré seront supprimées après OPTIMIZE ... FINAL query from old parts without TTL infos or with outdated TTL infos, e.g. after ALTER ... MODIFY TTL requête. Ajouté requêtes SYSTEM STOP/START TTL MERGES pour interdire / autoriser les fusions d'affectation avec TTL et filtrer les valeurs expirées dans toutes les fusions. #6274 (Anton Popov)
  • Possibilité de changer l'emplacement du fichier d'historique ClickHouse pour le client à l'aide CLICKHOUSE_HISTORY_FILE env. #6840 (filimonov)
  • Supprimer dry_run drapeau de InterpreterSelectQuery. … #6375 (Nikolai Kochetov)
  • Soutien ASOF JOIN avec ON section. #6211 (Artem Zuikov)
  • Meilleure prise en charge des index de saut pour les mutations et la réplication. Soutien pour MATERIALIZE/CLEAR INDEX ... IN PARTITION requête. UPDATE x = x recalcule tous les indices qui utilisent la colonne x. #5053 (Nikita Vasilev)
  • Permettre à ATTACH affichages en direct (par exemple, au démarrage du serveur), indépendamment de allow_experimental_live_view paramètre. #6754 (alexeï-milovidov)
  • Pour les traces de pile recueillies par le profileur de requête, n'incluez pas les trames de pile générées par le profileur de requête lui-même. #6250 (alexeï-milovidov)
  • Maintenant fonctions de table values, file, url, hdfs avoir un support pour les colonnes ALIAS. #6255 (alexeï-milovidov)
  • Lancer une exception si config.d le fichier n'a pas l'élément racine correspondant comme fichier de configuration. #6123 (dimarub2000)
  • Imprimer des informations supplémentaires dans le message d'exception pour no space left on device. #6182, #6252 #6352 (tavplubix)
  • Lors de la détermination des éclats d'un Distributed table à couvrir par une requête de lecture (pour optimize_skip_unused_shards = 1) ClickHouse vérifie maintenant les conditions des deux prewhere et where clauses de l'instruction select. #6521 (Alexander Kazakov)
  • Permettre SIMDJSON pour les machines sans AVX2 mais avec SSE 4.2 et pclmul jeu d'instructions. #6285 #6320 (alexeï-milovidov)
  • ClickHouse peut fonctionner sur les systèmes de fichiers sans O_DIRECT soutien (tels que ZFS et BtrFS) sans réglage supplémentaire. #4449 #6730 (alexeï-milovidov)
  • Soutien pousser vers le bas prédicat pour la sous-requête finale. #6120 (TCeason) #6162 (alexeï-milovidov)
  • Mieux JOIN ON extraction des clés #6131 (Artem Zuikov)
  • Mise à jour SIMDJSON. #6285. #6306 (alexeï-milovidov)
  • Optimiser la sélection de la plus petite colonne pour SELECT count() requête. #6344 (Amos Oiseau)
  • Ajouter strict paramètre windowFunnel(). Lorsque l' strict est définie, le windowFunnel() applique des conditions uniquement pour les valeurs uniques. #6548 (achimbab)
  • Interface plus sûre de mysqlxx::Pool. #6150 (avasiliev)
  • Options taille de ligne lors de l'exécution avec --help l'option correspond maintenant à la taille du terminal. #6590 (dimarub2000)
  • Désactiver “read in order” optimisation pour l'agrégation, sans touches. #6599 (Anton Popov)
  • Code D'état HTTP pour INCORRECT_DATA et TYPE_MISMATCH les codes d'erreur ont été modifiés par défaut 500 Internal Server Error de 400 Bad Request. #6271 (Alexander Rodin)
  • Déplacer Rejoindre objet de ExpressionAction dans AnalyzedJoin. ExpressionAnalyzer et ExpressionAction ne sais pas à propos de Join classe de plus. Sa logique est cachée par AnalyzedJoin iface. #6801 (Artem Zuikov)
  • Correction d'un blocage possible des requêtes distribuées lorsque l'un des fragments est localhost mais que la requête est envoyée via une connexion réseau. #6759 (alexeï-milovidov)
  • Sémantique modifiée de plusieurs tables RENAME pour éviter les blocages possibles. #6757. #6756 (alexeï-milovidov)
  • Serveur de compatibilité MySQL réécrit pour empêcher le chargement de la charge utile de paquet complet en mémoire. Diminution de la consommation de mémoire pour chaque connexion à environ 2 * DBMS_DEFAULT_BUFFER_SIZE (tampons de lecture/écriture). #5811 (Yuriy Baranov)
  • Déplacez l'alias AST interprétant la logique hors de l'analyseur qui n'a rien à savoir sur la sémantique des requêtes. #6108 (Artem Zuikov)
  • Analyse légèrement plus sûre de NamesAndTypesList. #6408. #6410 (alexeï-milovidov)
  • clickhouse-copier: Permet d'utiliser les where_condition de config avec partition_key alias dans la requête pour vérifier l'existence de la partition (auparavant, il était utilisé uniquement dans la lecture des requêtes de données). #6577 (proller)
  • Ajout d'un argument de message Facultatif dans throwIf. (#5772) #6329 (Vdimir)
  • L'exception du serveur obtenue lors de l'envoi des données d'insertion est également en cours de traitement dans le client. #5891 #6711 (dimarub2000)
  • Ajout d'une métrique DistributedFilesToInsert cela montre le nombre total de fichiers dans le système de fichiers qui sont sélectionnés pour envoyer aux serveurs distants par des tables distribuées. Le nombre est additionné à travers tous les fragments. #6600 (alexeï-milovidov)
  • Déplacer la plupart des jointures préparer la logique de ExpressionAction/ExpressionAnalyzer de AnalyzedJoin. #6785 (Artem Zuikov)
  • Fix TSan avertissement lock-order-inversion. #6740 (Vasily Nemkov)
  • De meilleurs messages d'information sur le manque de capacités Linux. Journalisation des erreurs fatales avec “fatal” niveau, cela le rendra plus facile à trouver dans system.text_log. #6441 (alexeï-milovidov)
  • Lorsque activer le dumping des données temporaires sur le disque pour limiter l'utilisation de la mémoire pendant GROUP BY, ORDER BY il n'a pas vérifier l'espace disque libre. Le correctif ajoute un nouveau paramètre min_free_disk_space, lorsque l'espace disque libre est plus petit que le seuil, la requête s'arrêtera et lancera ErrorCodes::NOT_ENOUGH_SPACE. #6678 (Weiqing Xu) #6691 (alexeï-milovidov)
  • Supprimé rwlock récursif par thread. Cela n'a aucun sens, car les threads sont réutilisés entre les requêtes. SELECT la requête peut acquérir un verrou dans un thread, tenir un verrou d'un autre thread et quitter le premier thread. Dans le même temps, le premier fil peut être réutilisé par DROP requête. Cela mènera à la faux “Attempt to acquire exclusive lock recursively” message. #6771 (alexeï-milovidov)
  • Split ExpressionAnalyzer.appendJoin(). Préparer une place dans ExpressionAnalyzer pour MergeJoin. #6524 (Artem Zuikov)
  • Ajouter mysql_native_password plugin d'authentification au serveur de compatibilité MySQL. #6194 (Yuriy Baranov)
  • Un moins grand nombre de clock_gettime appels; correction de la compatibilité ABI entre debug / release in Allocator (question insignifiante). #6197 (alexeï-milovidov)
  • Déplacer collectUsedColumns de ExpressionAnalyzer de SyntaxAnalyzer. SyntaxAnalyzer faire required_source_columns lui-même maintenant. #6416 (Artem Zuikov)
  • Ajouter un paramètre joined_subquery_requires_alias pour exiger des alias pour les sous-sélections et les FROM that more than one table is present (i.e. queries with JOINs). #6733 (Artem Zuikov)
  • Extrait GetAggregatesVisitor classe de ExpressionAnalyzer. #6458 (Artem Zuikov)
  • system.query_log: modifier le type de données de type colonne de Enum. #6265 (Nikita Mikhaylov)
  • La liaison statique de sha256_password greffon d'authentification. #6512 (Yuriy Baranov)
  • Évitez la dépendance supplémentaire pour le paramètre compile travailler. Dans les versions précédentes, l'utilisateur peut obtenir une erreur comme cannot open crti.o, unable to find library -lc etc. #6309 (alexeï-milovidov)
  • Plus de validation de l'entrée qui peut provenir d'une réplique malveillante. #6303 (alexeï-milovidov)
  • Maintenant clickhouse-obfuscator le fichier est disponible dans clickhouse-client paquet. Dans les versions précédentes, il était disponible en tant que clickhouse obfuscator (avec des espaces). #5816 #6609 (dimarub2000)
  • Blocage fixe lorsque nous avons au moins deux requêtes qui lisent au moins deux tables dans un ordre différent et une autre requête qui effectue une opération DDL sur l'une des tables. Correction d'une autre impasse très rare. #6764 (alexeï-milovidov)
  • Ajouter os_thread_ids colonne de system.processes et system.query_log pour une meilleure mise possibilités. #6763 (alexeï-milovidov)
  • Une solution de contournement pour les bogues D'extension PHP mysqlnd qui se produisent lorsque sha256_password est utilisé comme un plugin d'authentification par défaut (décrit dans #6031). #6113 (Yuriy Baranov)
  • Supprimez la place inutile avec les colonnes de nullité modifiées. #6693 (Artem Zuikov)
  • Définir la valeur par défaut de queue_max_wait_ms à zéro, parce que la valeur actuelle (cinq secondes) n'a aucun sens. Il y a de rares circonstances où ce paramètre a une utilité. Ajout des paramètres de replace_running_query_max_wait_ms, kafka_max_wait_ms et connection_pool_max_wait_ms pour la désambiguïsation. #6692 (alexeï-milovidov)
  • Extrait SelectQueryExpressionAnalyzer de ExpressionAnalyzer. Conservez le dernier pour les requêtes non-select. #6499 (Artem Zuikov)
  • Suppression de la duplication des formats d'entrée et de sortie. #6239 (Nikolai Kochetov)
  • Autoriser l'utilisateur à remplacer poll_interval et idle_connection_timeout paramètres de connexion. #6230 (alexeï-milovidov)
  • MergeTree a maintenant une option supplémentaire ttl_only_drop_parts (désactivé par défaut) pour éviter l'élagage partiel des pièces, afin qu'elles tombent complètement lorsque toutes les lignes d'une pièce sont expirées. #6191 (Sergi Vladykin)
  • Type vérifie les fonctions set index. Throw exception si la fonction a un mauvais type. Cela corrige le test fuzz avec UBSan. #6511 (Nikita Vasilev)

Amélioration Des Performances

  • Optimiser les requêtes avec ORDER BY expressions clause, où expressions ont coïncidé préfixe avec clé de tri dans MergeTree table. Cette optimisation est contrôlée par optimize_read_in_order paramètre. #6054 #6629 (Anton Popov)
  • Permettre d'utiliser plusieurs threads pendant le chargement et le retrait des pièces. #6372 #6074 #6438 (alexeï-milovidov)
  • Variante de lot implémentée de la mise à jour des états de fonction d'agrégat. Il peut conduire à des avantages de performance. #6435 (alexeï-milovidov)
  • Utiliser FastOps bibliothèque de fonctions exp, log, sigmoid, tanh. FastOps est une bibliothèque mathématique vectorielle rapide de Michael Parakhin (Yandex CTO). Amélioration des performances de exp et log fonctions plus de 6 fois. Fonction exp et log de Float32 l'argument retournera Float32 (dans les versions précédentes, ils reviennent toujours Float64). Maintenant exp(nan) peut-retour inf. Le résultat de exp et log les fonctions peuvent ne pas être le nombre représentable de la machine le plus proche de la vraie réponse. #6254 (alexeï-milovidov) Utilisation de la variante Danila Kutenin pour faire fonctionner les fasttops #6317 (alexeï-milovidov)
  • Désactiver l'optimisation de clé consécutive pour UInt8/16. #6298 #6701 (akuzm)
  • Amélioration des performances de simdjson bibliothèque en se débarrassant de l'allocation dynamique dans ParsedJson::Iterator. #6479 (Vitaly Baranov)
  • Pages de pré-défaut lors de l'allocation de mémoire avec mmap(). #6667 (akuzm)
  • Correction d'un bug de performance dans Decimal comparaison. #6380 (Artem Zuikov)

Construction / Test / Amélioration De L'Emballage

  • Supprimer le compilateur (instanciation du modèle d'exécution) car nous avons gagné sur ses performances. #6646 (alexeï-milovidov)
  • Ajout d'un test de performance pour montrer la dégradation des performances dans gcc-9 de manière plus isolée. #6302 (alexeï-milovidov)
  • Ajout d'un tableau de fonction numbers_mt, qui est la version multithread numbers. Mise à jour des tests de performance avec des fonctions de hachage. #6554 (Nikolai Kochetov)
  • Mode de comparaison dans clickhouse-benchmark #6220 #6343 (dimarub2000)
  • Meilleur effort pour imprimer des traces de pile. Également ajouté SIGPROF comme un signal de débogage pour imprimer la trace de la pile d'un thread en cours d'exécution. #6529 (alexeï-milovidov)
  • Chaque fonction dans son propre fichier, partie 10. #6321 (alexeï-milovidov)
  • Supprimer doublé const TABLE_IS_READ_ONLY. #6566 (filimonov)
  • Changements de formatage pour StringHashMap PR #5417. #6700 (akuzm)
  • Meilleure sous-requête pour la création de jointures dans ExpressionAnalyzer. #6824 (Artem Zuikov)
  • Supprimer une condition redondante (trouvée par PVS Studio). #6775 (akuzm)
  • Séparer l'interface de table de hachage pour ReverseIndex. #6672 (akuzm)
  • Refactoring des paramètres. #6689 (alésapine)
  • Ajouter des commentaires pour set fonctions d'index. #6319 (Nikita Vasilev)
  • Augmenter le score OOM dans la version de débogage sur Linux. #6152 (akuzm)
  • HDFS HA fonctionne maintenant dans la construction de débogage. #6650 (Weiqing Xu)
  • Ajout d'un test pour transform_query_for_external_database. #6388 (alexeï-milovidov)
  • Ajouter un test pour plusieurs vues matérialisées pour la table Kafka. #6509 (Ivan)
  • Faire mieux construire régime. #6500 (Ivan)
  • Fixe test_external_dictionaries intégration dans le cas où il a été exécuté sous un utilisateur non root. #6507 (Nikolai Kochetov)
  • Le bogue se reproduit lorsque la taille totale des paquets écrits dépasse DBMS_DEFAULT_BUFFER_SIZE. #6204 (Yuriy Baranov)
  • Ajout d'un test pour RENAME tableau condition de course #6752 (alexeï-milovidov)
  • Évitez la course de données sur les paramètres dans KILL QUERY. #6753 (alexeï-milovidov)
  • Ajouter un test d'intégration pour gérer les erreurs par un dictionnaire de cache. #6755 (Vitaly Baranov)
  • Désactiver l'analyse des fichiers objet ELF sur Mac OS, car cela n'a aucun sens. #6578 (alexeï-milovidov)
  • Essayez de rendre le générateur de changelog meilleur. #6327 (alexeï-milovidov)
  • Additionneur -Wshadow passer à la GCC. #6325 (kreuzerkrieg)
  • Suppression du code obsolète pour mimalloc soutien. #6715 (alexeï-milovidov)
  • zlib-ng détermine les capacités x86 et enregistre ces informations dans les variables globales. Ceci est fait dans l'appel defalteInit, qui peut être fait par différents threads simultanément. Pour éviter les Écritures multithread, faites-le au démarrage de la bibliothèque. #6141 (akuzm)
  • Test de régression pour un bug qui dans join qui a été corrigé dans #5192. #6147 (Bakhtiyor Ruziev)
  • Rapport MSAN fixe. #6144 (alexeï-milovidov)
  • Correction du test TTL battement. #6782 (Anton Popov)
  • Correction de fausse course de données dans MergeTreeDataPart::is_frozen champ. #6583 (alexeï-milovidov)
  • Délais d'attente fixes dans le test fuzz. Dans la version précédente, il a réussi à trouver false hangup dans la requête SELECT * FROM numbers_mt(gccMurmurHash('')). #6582 (alexeï-milovidov)
  • Ajouté debug contrôles static_cast des colonnes. #6581 (alexeï-milovidov)
  • Prise en charge D'Oracle Linux dans les paquets RPM officiels. #6356 #6585 (alexeï-milovidov)
  • Changé JSON perftests de once de loop type. #6536 (Nikolai Kochetov)
  • odbc-bridge.cpp définit main() donc, il ne devrait pas être inclus dans clickhouse-lib. #6538 (Orivej Desh)
  • Test de crash dans l' FULL|RIGHT JOIN avec nulls dans les clés de la table de droite. #6362 (Artem Zuikov)
  • Ajout d'un test pour la limite d'extension des alias, juste au cas où. #6442 (alexeï-milovidov)
  • Commutation de boost::filesystem de std::filesystem échéant. #6253 #6385 (alexeï-milovidov)
  • Ajout de paquets RPM au site web. #6251 (alexeï-milovidov)
  • Ajouter un test pour fixe Unknown identifier exception dans IN section. #6708 (Artem Zuikov)
  • Simplifier shared_ptr_helper parce que les gens confrontés à des difficultés à le comprendre. #6675 (alexeï-milovidov)
  • Ajout de tests de performance pour le codec Gorilla et DoubleDelta fixe. #6179 (Vasily Nemkov)
  • Diviser le test d'intégration test_dictionaries dans 4 tests distincts. #6776 (Vitaly Baranov)
  • Correction de L'avertissement PVS-Studio dans PipelineExecutor. #6777 (Nikolai Kochetov)
  • Permettre d'utiliser library dictionnaire source avec ASan. #6482 (alexeï-milovidov)
  • Ajout d'une option pour générer changelog à partir d'une liste de PRs. #6350 (alexeï-milovidov)
  • Verrouiller le TinyLog de stockage lors de la lecture. #6226 (akuzm)
  • Vérifiez les liens symboliques brisés dans CI. #6634 (alexeï-milovidov)
  • Augmentez le délai pour “stack overflow” test car cela peut prendre beaucoup de temps dans la construction de débogage. #6637 (alexeï-milovidov)
  • Ajout d'une vérification pour les doubles espaces. #6643 (alexeï-milovidov)
  • Fixer new/delete suivi de la mémoire lors de la construction avec des désinfectants. Le suivi n'est pas clair. Il empêche uniquement les exceptions de limite de mémoire dans les tests. #6450 (Artem Zuikov)
  • Activez la vérification des symboles non définis lors de la liaison. #6453 (Ivan)
  • Éviter la reconstruction hyperscan quotidien. #6307 (alexeï-milovidov)
  • Rapport UBSan fixe dans ProtobufWriter. #6163 (alexeï-milovidov)
  • Ne permettez pas d'utiliser query profiler avec des désinfectants car il n'est pas compatible. #6769 (alexeï-milovidov)
  • Ajouter un test pour recharger un dictionnaire après échec par minuterie. #6114 (Vitaly Baranov)
  • Correction de l'incohérence dans PipelineExecutor::prepareProcessor type d'argument. #6494 (Nikolai Kochetov)
  • Ajout d'un test pour les mauvais URI. #6493 (alexeï-milovidov)
  • Ajouté plus de contrôles CAST fonction. Cela devrait obtenir plus d'informations sur la faille de segmentation dans le test flou. #6346 (Nikolai Kochetov)
  • Ajouter gcc-9 soutien à docker/builder conteneur qui construit l'image localement. #6333 (Gleb Novikov)
  • Test de la clé primaire avec LowCardinality(String). #5044 #6219 (dimarub2000)
  • Correction des tests affectés par l'impression de traces de pile lente. #6315 (alexeï-milovidov)
  • Ajouter un cas de test pour crash in groupUniqArray fixe dans #6029. #4402 #6129 (akuzm)
  • Tests de mutations d'indices fixes. #6645 (Nikita Vasilev)
  • Dans le test de performance, ne lisez pas le journal des requêtes pour les requêtes que nous n'avons pas exécutées. #6427 (akuzm)
  • La vue matérialisée peut maintenant être créée avec n'importe quel type de cardinalité faible quel que soit le paramètre concernant les types de cardinalité faible suspects. #6428 (Olga Khvostikova)
  • Mise à jour des tests pour send_logs_level paramètre. #6207 (Nikolai Kochetov)
  • Correction de la construction sous gcc-8.2. #6196 (Max Akhmedov)
  • Correction de la construction avec libc++interne. #6724 (Ivan)
  • Correction de la construction partagée avec rdkafka bibliothèque #6101 (Ivan)
  • Correctifs pour Mac OS build (incomplet). #6390 (alexeï-milovidov) #6429 (alex-zaitsev)
  • Fixer “splitted” construire. #6618 (alexeï-milovidov)
  • Autres correctifs: #6186 (Amos Oiseau) #6486 #6348 (vxider) #6744 (Ivan) #6016 #6421 #6491 (proller)

Modification Incompatible En Arrière

  • Suppression de la fonction de table rarement utilisée catBoostPool et de stockage CatBoostPool. Si vous avez utilisé cette fonction de table, veuillez écrire un courriel à clickhouse-feedback@yandex-team.com. Notez que L'intégration CatBoost reste et sera prise en charge. #6279 (alexeï-milovidov)
  • Désactiver ANY RIGHT JOIN et ANY FULL JOIN par défaut. Définir any_join_distinct_right_table_keys réglage pour les activer. #5126 #6351 (Artem Zuikov)

Clickhouse version 19.13

Clickhouse version 19.13.6.51, 2019-10-02

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 19.11.12.69.

Clickhouse version 19.13.5.44, 2019-09-20

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 19.14.6.12.
  • Correction d'un état incohérent possible de la table lors de l'exécution DROP requête pour la table répliquée alors que zookeeper n'est pas accessible. #6045 #6413 (Nikita Mikhaylov)
  • Correction de la course de données dans StorageMerge #6717 (alexeï-milovidov)
  • Correction d'un bug introduit dans query profiler qui conduit à recv sans fin de socket. #6386 (alésapine)
  • Correction de l'utilisation excessive du processeur lors de l'exécution JSONExtractRaw la fonction sur une valeur booléenne. #6208 (Vitaly Baranov)
  • Corrige la régression tout en poussant vers la vue matérialisée. #6415 (Ivan)
  • Fonction de Table url la vulnérabilité avait-elle permis à l'attaquant d'injecter des en-têtes HTTP arbitraires dans la requête. Ce problème a été trouvé par Nikita Tikhomirov. #6466 (alexeï-milovidov)
  • Fix inutile AST vérifier dans L'index de jeu. #6510 #6651 (Nikita Vasilev)
  • Fixe l'analyse de AggregateFunction valeurs ancrées dans la requête. #6575 #6773 (Zhichang Yu)
  • Fixe mauvais comportement de trim les fonctions de la famille. #6647 (alexeï-milovidov)

Clickhouse version 19.13.4.32, 2019-09-10

Bug Fix

  • Cette version contient également tous les correctifs de sécurité de bugs de 19.11.9.52 et 19.11.10.54.
  • Les données fixes de course system.parts table et ALTER requête. #6245 #6513 (alexeï-milovidov)
  • Correction d'en-tête non apparié dans les flux se sont produits en cas de lecture à partir d'une table distribuée vide avec sample et prewhere. #6167 (Lixiang Qian) #6823 (Nikolai Kochetov)
  • Correction d'un crash lors de l'utilisation de IN clause avec une sous-requête avec un tuple. #6125 #6550 (tavplubix)
  • Corrigé cas avec les mêmes noms de colonnes dans GLOBAL JOIN ON section. #6181 (Artem Zuikov)
  • Correction d'un crash lors de la coulée de types à Decimal qui ne la supportent pas. Jetez exception à la place. #6297 (Artem Zuikov)
  • Correction d'un crash dans extractAll() fonction. #6644 (Artem Zuikov)
  • Transformation de requête pour MySQL, ODBC, JDBC fonctions de table fonctionne maintenant correctement pour SELECT WHERE requêtes avec plusieurs AND expression. #6381 #6676 (dimarub2000)
  • Ajout de vérifications de déclaration précédentes pour L'intégration de MySQL 8. #6569 (Rafael David Tinoco)

Correction De Sécurité

  • Correction de deux vulnérabilités dans les codecs en phase de décompression (l'utilisateur malveillant peut fabriquer des données compressées qui conduiront à un débordement de tampon en décompression). #6670 (Artem Zuikov)

Clickhouse version 19.13.3.26, 2019-08-22

Bug Fix

  • Fixer ALTER TABLE ... UPDATE requête pour les tables avec enable_mixed_granularity_parts=1. #6543 (alésapine)
  • Correction de NPE lors de l'utilisation de la clause IN avec une sous-requête avec un tuple. #6125 #6550 (tavplubix)
  • Correction d'un problème que si un réplica périmé devient vivant, il peut encore avoir des parties de données qui ont été supprimés par la partition DROP. #6522 #6523 (tavplubix)
  • Correction d'un problème avec l'analyse CSV #6426 #6559 (tavplubix)
  • Course de données fixe dans le système.table de pièces et ALTER query. Cela corrige #6245. #6513 (alexeï-milovidov)
  • Correction du mauvais code dans les mutations qui peuvent conduire à la corruption de la mémoire. Correction de segfault avec lecture de l'adresse 0x14c0 cela peut se produire en raison de simultané DROP TABLE et SELECT de system.parts ou system.parts_columns. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé par OPTIMIZE des tables répliquées et des opérations de modification simultanées comme ALTERs. #6514 (alexeï-milovidov)
  • Correction possible perte de données après ALTER DELETE requête sur la table avec l'index de saut. #6224 #6282 (Nikita Vasilev)

Correction De Sécurité

  • Si L'attaquant a un accès en écriture à ZooKeeper et est capable d'exécuter un serveur personnalisé disponible à partir du réseau où clickhouse s'exécute, il peut créer un serveur malveillant sur mesure qui agira comme réplique de ClickHouse et l'enregistrer dans ZooKeeper. Lorsqu'une autre réplique récupère une partie de données à partir d'une réplique malveillante, elle peut forcer clickhouse-server à écrire sur un chemin arbitraire sur le système de fichiers. Trouvé par Eldar Zaitov, équipe de sécurité de L'information chez Yandex. #6247 (alexeï-milovidov)

Clickhouse version 19.13.2.19, 2019-08-14

Nouveauté

  • Échantillonnage du profileur au niveau de la requête. Exemple. #4247 (laplab) #6124 (alexeï-milovidov) #6250 #6283 #6386
  • Permet de spécifier une liste de colonnes avec COLUMNS('regexp') expression qui fonctionne comme une variante plus sophistiquée de * astérisque. #5951 (mfridental), (alexeï-milovidov)
  • CREATE TABLE AS table_function() est maintenant possible #6057 (dimarub2000)
  • Adam optimizer pour la descente de gradient stochastique est utilisé par défaut dans stochasticLinearRegression() et stochasticLogisticRegression() fonctions d'agrégation, car il montre une bonne qualité sans presque aucun réglage. #6000 (Quid37)
  • Added functions for working with the сustom week number #5212 (Andy Yang)
  • RENAME les requêtes fonctionnent maintenant avec tous les stockages. #5953 (Ivan)
  • Maintenant client de recevoir les journaux du serveur avec n'importe quel niveau de send_logs_level quel que soit le niveau de journal spécifié dans les paramètres du serveur. #5964 (Nikita Mikhaylov)

Modification Incompatible En Arrière

  • Paramètre input_format_defaults_for_omitted_fields est activé par défaut. Les insertions dans les tables distribuées ont besoin que ce paramètre soit le même sur le cluster (vous devez le définir avant de lancer la mise à jour). Il permet de calculer des expressions par défaut Complexes pour les champs omis dans JSONEachRow et CSV* format. Il devrait être le comportement attendu, mais peut conduire à négligeable différence de performances. #6043 (Artem Zuikov), #5625 (akuzm)

Caractéristiques expérimentales

  • Nouveau pipeline de traitement des requêtes. Utiliser experimental_use_processors=1 une option pour l'activer. Utilisez pour votre propre problème. #4914 (Nikolai Kochetov)

Bug Fix

  • L'intégration de Kafka a été corrigée dans cette version.
  • Fixe DoubleDelta l'encodage de Int64 pour les grands DoubleDelta les valeurs, l'amélioration de la DoubleDelta encodage de données aléatoires pour Int32. #5998 (Vasily Nemkov)
  • Surestimation fixe de max_rows_to_read si le paramètre merge_tree_uniform_read_distribution est réglé sur 0. #6019 (alexeï-milovidov)

Amélioration

  • Lève une exception si config.d le fichier n'a pas l'élément racine correspondant comme fichier de configuration #6123 (dimarub2000)

Amélioration Des Performances

  • Optimiser count(). Maintenant, il utilise la plus petite colonne (si possible). #6028 (Amos Oiseau)

Construction / Test / Amélioration De L'Emballage

  • Signaler l'utilisation de la mémoire dans les tests de performance. #5899 (akuzm)
  • Correction de la construction avec externe libcxx #6010 (Ivan)
  • Correction de la construction partagée avec rdkafka bibliothèque #6101 (Ivan)

Clickhouse version 19.11

Version de ClickHouse 19.11.13.74, 2019-11-01

Bug Fix

  • Correction d'un crash rare dans ALTER MODIFY COLUMN et fusion verticale lorsque l'une des parties fusionnées/modifiées est vide (0 lignes). #6780 (alésapine)
  • Mise à jour manuelle de SIMDJSON. Cela corrige l'inondation possible des fichiers stderr avec des messages de diagnostic JSON faux. #7548 (Alexander Kazakov)
  • Correction d'un bug avec mrk extension de fichier pour mutations (alésapine)

Version de ClickHouse 19.11.12.69, 2019-10-02

Bug Fix

  • Correction de la dégradation des performances de l'analyse d'index sur les clés complexes sur les grandes tables. Cela corrige #6924. #7075 (alexeï-milovidov)
  • Évitez SIGSEGV rare lors de l'envoi de données dans des tables avec moteur distribué (Failed to send batch: file with index XXXXX is absent). #7032 (Azat Khuzhin)
  • Fixer Unknown identifier avec plusieurs jointures. Cela corrige #5254. #7022 (Artem Zuikov)

Clickhouse version 19.11.11.57, 2019-09-13

  • Correction d'une erreur logique provoquant segfaults lors de la sélection de Kafka sujet vide. #6902 #6909 (Ivan)
  • Correctif pour la fonction АrrayEnumerateUniqRanked avec des tableaux vides dans params. #6928 (proller)

Clickhouse version 19.11.10.54, 2019-09-10

Bug Fix

  • Stockez manuellement les décalages des messages Kafka pour pouvoir les valider tous à la fois pour toutes les partitions. Corrige la duplication potentielle dans “one consumer - many partitions” scénario. #6872 (Ivan)

Clickhouse version 19.11.9.52, 2019-09-6

  • Améliorer la gestion des erreurs dans les dictionnaires de cache. #6737 (Vitaly Baranov)
  • Correction d'un bug dans la fonction arrayEnumerateUniqRanked. #6779 (proller)
  • Fixer JSONExtract fonction lors de l'extraction d'une Tuple de JSON. #6718 (Vitaly Baranov)
  • Correction possible perte de données après ALTER DELETE requête sur la table avec l'index de saut. #6224 #6282 (Nikita Vasilev)
  • Test de performance fixe. #6392 (alexeï-milovidov)
  • Parquet: Correction de la lecture des colonnes booléennes. #6579 (alexeï-milovidov)
  • Fixe mauvais comportement de nullIf fonction pour les arguments constants. #6518 (Guillaume Tassery) #6580 (alexeï-milovidov)
  • Correction du problème de duplication des messages Kafka lors du redémarrage normal du serveur. #6597 (Ivan)
  • Correction d'un problème quand long ALTER UPDATE ou ALTER DELETE peut empêcher régulière fusionne à exécuter. Empêcher les mutations de s'exécuter s'il n'y a pas assez de threads libres disponibles. #6502 #6617 (tavplubix)
  • Correction d'une erreur avec le traitement “timezone” dans le fichier de configuration du serveur. #6709 (alexeï-milovidov)
  • Correction des tests kafka. #6805 (Ivan)

Correction De Sécurité

  • Si L'attaquant a un accès en écriture à ZooKeeper et est capable d'exécuter un serveur personnalisé disponible à partir du réseau où clickhouse s'exécute, il peut créer un serveur malveillant personnalisé qui agira comme réplique de ClickHouse et l'enregistrer dans ZooKeeper. Lorsqu'une autre réplique récupère une partie de données à partir d'une réplique malveillante, elle peut forcer clickhouse-server à écrire sur un chemin arbitraire sur le système de fichiers. Trouvé par Eldar Zaitov, équipe de sécurité de L'information chez Yandex. #6247 (alexeï-milovidov)

Clickhouse version 19.11.8.46, 2019-08-22

Bug Fix

  • Fixer ALTER TABLE ... UPDATE requête pour les tables avec enable_mixed_granularity_parts=1. #6543 (alésapine)
  • Correction de NPE lors de l'utilisation de la clause IN avec une sous-requête avec un tuple. #6125 #6550 (tavplubix)
  • Correction d'un problème que si un réplica périmé devient vivant, il peut encore avoir des parties de données qui ont été supprimés par la partition DROP. #6522 #6523 (tavplubix)
  • Correction d'un problème avec l'analyse CSV #6426 #6559 (tavplubix)
  • Course de données fixe dans le système.table de pièces et ALTER query. Cela corrige #6245. #6513 (alexeï-milovidov)
  • Correction du mauvais code dans les mutations qui peuvent conduire à la corruption de la mémoire. Correction de segfault avec lecture de l'adresse 0x14c0 cela peut se produire en raison de simultané DROP TABLE et SELECT de system.parts ou system.parts_columns. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé par OPTIMIZE des tables répliquées et des opérations de modification simultanées comme ALTERs. #6514 (alexeï-milovidov)

Clickhouse version 19.11.7.40, 2019-08-14

Bug fix

  • L'intégration de Kafka a été corrigée dans cette version.
  • Correction de segfault lors de l'utilisation arrayReduce pour les querelles constantes. #6326 (alexeï-milovidov)
  • Fixe toFloat() monotonie. #6374 (dimarub2000)
  • Correction de segfault avec activé optimize_skip_unused_shards et clé de sharding manquante. #6384 (CurtizJ)
  • Fixe la logique de arrayEnumerateUniqRanked fonction. #6423 (alexeï-milovidov)
  • Suppression de la journalisation supplémentaire du gestionnaire MySQL. #6389 (alexeï-milovidov)
  • Correction d'un comportement incorrect et de segfaults possibles dans topK et topKWeighted agrégé fonctions. #6404 (CurtizJ)
  • N'exposez pas les colonnes virtuelles dans system.columns table. Ceci est nécessaire pour la compatibilité descendante. #6406 (alexeï-milovidov)
  • Correction d'un bug avec l'allocation de mémoire pour les champs de chaîne dans le dictionnaire de cache de clé complexe. #6447 (alésapine)
  • Correction d'un bug avec l'activation de la granularité adaptative lors de la création d'une nouvelle réplique pour Replicated*MergeTree table. #6452 (alésapine)
  • Correction de la boucle infinie lors de la lecture des messages Kafka. #6354 (abyss7)
  • Correction de la possibilité d'une requête fabriquée pour provoquer un crash du serveur en raison d'un débordement de pile dans L'analyseur SQL et de la possibilité d'un débordement de pile dans Merge et Distributed table #6433 (alexeï-milovidov)
  • Correction D'une erreur D'encodage de gorille sur les petites séquences. #6444 (Enmk)

Amélioration

  • Autoriser l'utilisateur à remplacer poll_interval et idle_connection_timeout paramètres de connexion. #6230 (alexeï-milovidov)

Clickhouse version 19.11.5.28, 2019-08-05

Bug fix

  • Correction de la possibilité de suspendre les requêtes lorsque le serveur est surchargé. #6301 (alexeï-milovidov)
  • Correction de FPE dans la fonction yandexconsistenthash. Cela corrige #6304. #6126 (alexeï-milovidov)
  • Correction d'un bug dans la conversion de LowCardinality types de AggregateFunctionFactory. Cela corrige #6257. #6281 (Nikolai Kochetov)
  • Corrigé de l'analyse de bool les paramètres de true et false chaînes de caractères dans les fichiers de configuration. #6278 (alésapine)
  • Correction d'un bug rare avec des en-têtes de flux incompatibles dans les requêtes Distributed table de MergeTree table quand une partie de WHERE se déplace à PREWHERE. #6236 (alésapine)
  • Dépassement fixe dans la division entière du type signé au type non signé. Cela corrige #6214. #6233 (alexeï-milovidov)

Modification Incompatible En Arrière

  • Kafka toujours en panne.

Clickhouse version 19.11.4.24, 2019-08-01

Bug Fix

  • Correction d'un bug avec l'écriture de marques d'indices secondaires avec une granularité adaptative. #6126 (alésapine)
  • Fixer WITH ROLLUP et WITH CUBE les modificateurs de GROUP BY avec agrégation à deux niveaux. #6225 (Anton Popov)
  • Correction du blocage dans JSONExtractRaw fonction. Fixe #6195 #6198 (alexeï-milovidov)
  • Correction de segfault dans ExternalLoader::reloadOutdated (). #6082 (Vitaly Baranov)
  • Correction du cas où le serveur peut fermer les sockets d'écoute mais ne pas arrêter et continuer à servir les requêtes restantes. Vous pouvez vous retrouver avec deux processus clickhouse-server en cours d'exécution. Parfois, le serveur peut renvoyer une erreur bad_function_call pour les requêtes restantes. #6231 (alexeï-milovidov)
  • Correction d'une condition inutile et incorrecte sur le champ de mise à jour pour le chargement initial des dictionnaires externes via ODBC, MySQL, ClickHouse et HTTP. Cela corrige #6069 #6083 (alexeï-milovidov)
  • Correction d'une exception non pertinente dans la distribution de LowCardinality(Nullable) to not-Nullable column in case if it doesn't contain Nulls (e.g. in query like SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String). #6094 #6119 (Nikolai Kochetov)
  • Correction d'un résultat non déterministe de “uniq” fonction agrégée dans des cas extrêmement rares. Le bug était présent dans toutes les versions de ClickHouse. #6058 (alexeï-milovidov)
  • Segfault lorsque nous définissons un peu trop haut CIDR sur la fonction IPv6CIDRToRange. #6068 (Guillaume Tassery)
  • Correction d'une petite fuite de mémoire lorsque le serveur lance de nombreuses exceptions dans de nombreux contextes différents. #6144 (alexeï-milovidov)
  • Corrigez la situation lorsque le consommateur a été mis en pause avant l'abonnement et n'a pas repris après. #6075 (Ivan) Notez que Kafka est cassé dans cette version.
  • Effacement du tampon de données Kafka de l'opération de lecture précédente terminée par une erreur #6026 (Nikolay) Notez que Kafka est cassé dans cette version.
  • Depuis StorageMergeTree::background_task_handle est initialisée dans startup() le MergeTreeBlockOutputStream::write() peut tenter de l'utiliser avant l'initialisation. Vérifiez simplement s'il est initialisé. #6080 (Ivan)

Construction / Test / Amélioration De L'Emballage

Modification Incompatible En Arrière

  • Kafka est cassé dans cette version.

Clickhouse version 19.11.3.11, 2019-07-18

Nouveauté

  • Ajout du support pour les déclarations préparées. #5331 (Alexander) #5630 (alexeï-milovidov)
  • DoubleDelta et Gorilla codecs de colonne #5600 (Vasily Nemkov)
  • Ajouter os_thread_priority paramètre qui permet de contrôler la “nice” valeur des threads de traitement de requête utilisés par le système d'exploitation pour ajuster la priorité de planification dynamique. Il exige CAP_SYS_NICE capacités à travailler. Cela met en œuvre #5858 #5909 (alexeï-milovidov)
  • Mettre _topic, _offset, _key colonnes pour moteur Kafka #5382 (Ivan) Notez que Kafka est cassé dans cette version.
  • Ajouter agrégat fonction combinateur -Resample #5590 (hcz)
  • Les fonctions d'agrégation groupArrayMovingSum(win_size)(x) et groupArrayMovingAvg(win_size)(x), qui calculent la somme mobile / avg avec ou sans limitation de taille de fenêtre. #5595 (inv2004)
  • Ajouter synonim arrayFlatten <-> flatten #5764 (hcz)
  • Fonction Intergate H3 geoToH3 de Uber. #4724 (Remen Ivan) #5805 (alexeï-milovidov)

Bug Fix

  • Implémentez le cache DNS avec une mise à jour asynchrone. Thread séparé résout tous les hôtes et met à jour le cache DNS avec la période (Paramètre dns_cache_update_period). Cela devrait aider, lorsque l'adresse ip des hôtes change fréquemment. #5857 (Anton Popov)
  • Fixer erreur de segmentation dans Delta codec qui affecte les colonnes avec des valeurs inférieures à 32 bits. Le bug a conduit à la corruption de la mémoire aléatoire. #5786 (alésapine)
  • Correction de segfault dans la fusion TTL avec des colonnes non physiques en bloc. #5819 (Anton Popov)
  • Correction d'un bug rare dans la vérification de la pièce avec LowCardinality colonne. Précédemment checkDataPart échoue toujours pour une partie avec LowCardinality colonne. #5832 (alésapine)
  • Évitez de suspendre les connexions lorsque le pool de threads du serveur est plein. Il est important pour les connexions de remote fonction de table ou connexions à un fragment sans réplicas lorsqu'il y a un long délai de connexion. Cela corrige #5878 #5881 (alexeï-milovidov)
  • Prise en charge des arguments constants pour evalMLModel fonction. Cela corrige #5817 #5820 (alexeï-milovidov)
  • Correction du problème lorsque ClickHouse détermine le fuseau horaire par défaut comme UCT plutôt UTC. Cela corrige #5804. #5828 (alexeï-milovidov)
  • Fixe de type dépassement de tampon dans visitParamExtractRaw. Cela corrige #5901 #5902 (alexeï-milovidov)
  • Maintenant distribué DROP/ALTER/TRUNCATE/OPTIMIZE ON CLUSTER les requêtes seront exécutées directement sur la réplique leader. #5757 (alésapine)
  • Fixer coalesce pour ColumnConst avec ColumnNullable + changements connexes. #5755 (Artem Zuikov)
  • Fixer le ReadBufferFromKafkaConsumer alors qu'il continue à lire de nouveaux messages après commit() même si elle a été interrompue avant #5852 (Ivan)
  • Fixer FULL et RIGHT Joindre les résultats lors de l'adhésion sur Nullable clés dans la table de droite. #5859 (Artem Zuikov)
  • Correction Possible du sommeil infini des requêtes de faible priorité. #5842 (alexeï-milovidov)
  • Correction de la condition de concurrence, qui fait que certaines requêtes peuvent ne pas apparaître dans query_log après SYSTEM FLUSH LOGS requête. #5456 #5685 (Anton Popov)
  • Fixe heap-use-after-free Avertissement ASan dans ClusterCopier causé par la montre qui essaie d'utiliser l'objet copieur déjà supprimé. #5871 (Nikolai Kochetov)
  • Fixe de mal StringRef pointeur retourné par certaines implémentations de IColumn::deserializeAndInsertFromArena. Ce bogue n'a affecté que les tests unitaires. #5973 (Nikolai Kochetov)
  • Empêcher les colonnes de jointure de tableau source et intermédiaire de masquer les colonnes de même nom. #5941 (Artem Zuikov)
  • Fixer insérer et sélectionner la requête au moteur MySQL avec l'identifiant de style MySQL citant. #5704 (L'Hiver Zhang)
  • Maintenant CHECK TABLE query peut fonctionner avec la famille de moteurs MergeTree. Il renvoie l'état de contrôle et le message le cas échéant pour chaque partie (ou fichier dans le cas de moteurs plus simples). Aussi, correction d'un bug dans l'extraction d'une partie cassée. #5865 (alésapine)
  • Correction de L'exécution SPLIT_SHARED_LIBRARIES #5793 (Danila Kutenin)
  • Correction de l'initialisation du fuseau horaire lorsque /etc/localtime est un lien symbolique comme ../usr/share/zoneinfo/Europe/Moscow #5922 (alexeï-milovidov)
  • clickhouse-copieur: Fix utiliser-après livraison à l'arrêt #5752 (proller)
  • Mettre simdjson. Correction du problème que certains JSONs invalides avec zéro octets analysent avec succès. #5938 (alexeï-milovidov)
  • Correction de l'arrêt des SystemLogs #5802 (Anton Popov)
  • Correction de la suspension lorsque la condition dans invalidate_query dépend d'un dictionnaire. #6011 (Vitaly Baranov)

Amélioration

  • Autoriser les adresses insolubles dans la configuration du cluster. Ils seront considérés comme indisponibles et essayés de résoudre à chaque tentative de connexion. Ceci est particulièrement utile pour Kubernetes. Cela corrige #5714 #5924 (alexeï-milovidov)
  • Fermez les connexions TCP inactives (avec un délai d'attente d'une heure par défaut). Ceci est particulièrement important pour les grands clusters avec plusieurs tables distribuées sur chaque serveur, car chaque serveur peut éventuellement conserver un pool de connexions à tous les autres serveurs, et après la concurrence maximale des requêtes, les connexions calent. Cela corrige #5879 #5880 (alexeï-milovidov)
  • Meilleure qualité de topK fonction. Modification du comportement de L'ensemble SavingSpace pour supprimer le dernier élément si le nouvel élément a un poids plus important. #5833 #5850 (Guillaume Tassery)
  • Les fonctions D'URL pour travailler avec des domaines peuvent maintenant fonctionner pour les URL incomplètes sans schéma #5725 (alésapine)
  • Sommes de contrôle ajoutées à la system.parts_columns table. #5874 (Nikita Mikhaylov)
  • Ajouter Enum type de données comme synonyme de Enum8 ou Enum16. #5886 (dimarub2000)
  • Variante de transposition de bits complète pour T64 codec. Pourrait conduire à une meilleure compression avec zstd. #5742 (Artem Zuikov)
  • Condition sur startsWith fonction maintenant peut utilise la clé primaire. Cela corrige #5310 et #5882 #5919 (dimarub2000)
  • Permettre d'utiliser clickhouse-copier avec la topologie de cluster de réplication croisée en permettant le nom de base de données vide. #5745 (nvartolomei)
  • Utiliser UTC comme fuseau horaire par défaut sur un système sans tzdata (e.g. bare Docker container). Before this patch, error message Could not determine local time zone a été imprimé et le serveur ou le client a refusé de démarrer. #5827 (alexeï-milovidov)
  • Retourné soutien à virgule flottante argument dans la fonction quantileTiming pour la compatibilité descendante. #5911 (alexeï-milovidov)
  • Afficher quelle table est manquante colonne dans les messages d'erreur. #5768 (Ivan)
  • Interdire l'exécution d'une requête avec le même query_id par divers utilisateurs #5430 (proller)
  • Code plus robuste pour envoyer des métriques au Graphite. Cela fonctionnera même pendant de longues périodes multiples RENAME TABLE opération. #5875 (alexeï-milovidov)
  • Des messages d'erreur plus informatifs seront affichés lorsque ThreadPool ne peut pas planifier une tâche pour l'exécution. Cela corrige #5305 #5801 (alexeï-milovidov)
  • Inverser ngramSearch pour être plus intuitif #5807 (Danila Kutenin)
  • Ajouter l'analyse utilisateur dans HDFS engine builder #5946 (akonyaev90)
  • Mettre à jour la valeur par défaut de max_ast_elements parameter #5933 (Artem Konovalov)
  • Ajout d'une notion de paramètres obsolètes. Le paramètre obsolète allow_experimental_low_cardinality_type peut être utilisé avec aucun effet. 0f15c01c6802f7ce1a1494c12c846be8c98944cd Alexey Milovidov

Amélioration Des Performances

  • Augmentez le nombre de flux à sélectionner dans la table de fusion pour une distribution plus uniforme des threads. Ajout d'un réglage max_streams_multiplier_for_merge_tables. Cela corrige #5797 #5915 (alexeï-milovidov)

Construction / Test / Amélioration De L'Emballage

  • Ajoutez un test de rétrocompatibilité pour l'interaction client-serveur avec différentes versions de clickhouse. #5868 (alésapine)
  • Testez les informations de couverture dans chaque demande de validation et de tirage. #5896 (alésapine)
  • Coopérez avec le désinfectant d'adresse pour soutenir nos allocateurs faits sur commande (Arena et ArenaWithFreeLists) pour une meilleure mise “use-after-free” erreur. #5728 (akuzm)
  • Interrupteur à Implémentation de LLVM libunwind pour la gestion des exceptions C++ et pour l'impression des traces de pile #4828 (Nikita Lapkov)
  • Ajouter deux autres avertissements de-Weverything #5923 (alexeï-milovidov)
  • Permettre de construire ClickHouse avec aseptisant mémoire. #3949 (alexeï-milovidov)
  • Rapport ubsan fixe sur bitTest fonction dans fuzz test. #5943 (alexeï-milovidov)
  • Docker: ajout de la possibilité d'initialiser une instance de ClickHouse qui nécessite une authentification. #5727 (Korviakov Andrey)
  • Mettre à jour librdkafka vers la version 1.1.0 #5872 (Ivan)
  • Ajoutez un délai d'attente global pour les tests d'intégration et désactivez certains d'entre eux dans le code des tests. #5741 (alésapine)
  • Correction de quelques échecs ThreadSanitizer. #5854 (akuzm)
  • Le --no-undefined option force l'éditeur de liens à vérifier l'existence de tous les noms externes lors de la liaison. Il est très utile de suivre les dépendances réelles entre les bibliothèques en mode de construction fractionnée. #5855 (Ivan)
  • Ajouté test de performance pour #5797 #5914 (alexeï-milovidov)
  • Correction de la compatibilité avec gcc-7. #5840 (alexeï-milovidov)
  • Ajout du support pour gcc-9. Cela corrige #5717 #5774 (alexeï-milovidov)
  • Correction d'une erreur lorsque libunwind peut être lié de manière incorrecte. #5948 (alexeï-milovidov)
  • Correction de quelques avertissements trouvés par PVS-Studio. #5921 (alexeï-milovidov)
  • Ajout du support initial pour clang-tidy analyseur statique. #5806 (alexeï-milovidov)
  • Convertir les macros BSD / Linux endian( be64toh et htobe64) aux équivalents Mac OS X #5785 (Fu Chen)
  • Amélioration du guide des tests d'intégration. #5796 (Vladimir Chebotarev)
  • Correction de la construction sur macosx + gcc9 #5822 (filimonov)
  • Correction d'une faute de frappe difficile à repérer: aggreAGte - > aggregate. #5753 (akuzm)
  • Correction de la construction freebsd #5760 (proller)
  • Ajouter un lien vers la chaîne Youtube expérimentale au site web #5845 (Ivan Blinkov)
  • CMake: ajouter une option pour les drapeaux de couverture: WITH_COVERAGE #5776 (proller)
  • Correction de la taille initiale de certains PODArray en ligne. #5787 (akuzm)
  • clickhouse-serveur.postinst: correction de la détection du système d'exploitation pour centos 6 #5788 (proller)
  • Ajout de la génération de paquets Arch linux. #5719 (Vladimir Chebotarev)
  • Diviser commun / config.h par libs (SGBD) #5715 (proller)
  • Des correctifs pour “Arcadia” créer une plate-forme #5795 (proller)
  • Correctifs pour la construction non conventionnelle (gcc9, pas de sous-modules) #5792 (proller)
  • Exiger un type explicite dans unalignedStore car il a été prouvé qu'il était sujet aux bugs #5791 (akuzm)
  • Corrige la construction MacOS #5830 (filimonov)
  • Test de Performance concernant la nouvelle fonctionnalité JIT avec un ensemble de données plus grand, comme demandé ici #5263 #5887 (Guillaume Tassery)
  • Exécuter des tests avec État dans le test de stress 12693e568722f11e19859742f56428455501fd2a (alésapine)

Modification Incompatible En Arrière

  • Kafka est cassé dans cette version.
  • Permettre adaptive_index_granularity = 10 Mo par défaut pour les nouveaux MergeTree table. Si vous avez créé de nouvelles tables MergeTree sur la version 19.11+, il sera impossible de passer à des versions antérieures à 19.6. #5628 (alésapine)
  • Suppression des dictionnaires intégrés obsolètes non documentés utilisés par Yandex.Metrica. Fonction OSIn, SEIn, OSToRoot, SEToRoot, OSHierarchy, SEHierarchy ne sont plus disponibles. Si vous utilisez ces fonctions, écrivez un courriel à clickhouse-feedback@yandex-team.com. Note: au dernier moment, nous avons décidé de garder ces fonctions pendant un certain temps. #5780 (alexeï-milovidov)

Clickhouse version 19.10

Clickhouse version 19.10.1.5, 2019-07-12

Nouveauté

  • Ajouter un nouveau codec de colonne: T64. Fait pour les colonnes(U)IntX/EnumX/Data (Time)/DecimalX. Il devrait être bon pour les colonnes avec des valeurs de plage constantes ou petites. Codec lui-même permet agrandir ou réduire le type de données sans re-compression. #5557 (Artem Zuikov)
  • Ajouter un moteur de base de données MySQL qui permettent d'afficher toutes les tables dans le serveur MySQL distant #5599 (L'Hiver Zhang)
  • bitmapContains application. C'est 2x plus rapide que bitmapHasAny si le second bitmap contient un élément. #5535 (Zhichang Yu)
  • Soutien pour crc32 fonction (avec un comportement exactement comme dans MySQL ou PHP). Ne l'utilisez pas si vous avez besoin d'une fonction de hachage. #5661 (Remen Ivan)
  • Mettre SYSTEM START/STOP DISTRIBUTED SENDS requêtes pour contrôler les insertions asynchrones dans Distributed table. #4935 (L'Hiver Zhang)

Bug Fix

  • Ignorer les limites d'exécution des requêtes et la taille maximale des pièces pour les limites de fusion lors de l'exécution des mutations. #5659 (Anton Popov)
  • Correction d'un bug qui peut conduire à la déduplication de blocs normaux (extrêmement rare) et l'insertion de blocs en double (plus souvent). #5549 (alésapine)
  • Correction de la fonction arrayEnumerateUniqRanked pour les arguments avec des tableaux vides #5559 (proller)
  • Ne vous abonnez pas aux sujets Kafka sans l'intention d'interroger des messages. #5698 (Ivan)
  • Faire la mise en join_use_nulls n'obtenez aucun effet pour les types qui ne peuvent pas être à L'intérieur de Nullable #5700 (Olga Khvostikova)
  • Fixe Incorrect size of index granularity erreur #5720 (coraxster)
  • Correction du flotteur en décimal convertir le débordement #5607 (coraxster)
  • Vider le tampon quand WriteBufferFromHDFS's destructeur est appelé. Cela corrige l'écriture dans HDFS. #5684 (Xindong Peng)

Amélioration

  • Traiter les cellules vides dans CSV comme valeurs par défaut lorsque le paramètre input_format_defaults_for_omitted_fields est activé. #5625 (akuzm)
  • Chargement Non bloquant des dictionnaires externes. #5567 (Vitaly Baranov)
  • Les délais d'attente réseau peuvent être modifiés dynamiquement pour les connexions déjà établies en fonction des paramètres. #4558 (Konstantin Podshumok)
  • Utiliser “public_suffix_list” pour les fonctions firstSignificantSubdomain, cutToFirstSignificantSubdomain. Il utilise une table de hachage parfaite générée par gperf avec une liste générée à partir du fichier: https://publicsuffix.org/list/public_suffix_list.dat. (par exemple, nous reconnaissons maintenant le domaine ac.uk comme non significatif). #5030 (Guillaume Tassery)
  • Adopté IPv6 type de données dans les tables système; colonnes unified client info dans system.processes et system.query_log #5640 (alexeï-milovidov)
  • Utilisation de sessions pour les connexions avec le protocole de compatibilité MySQL. #5476 #5646 (Yuriy Baranov)
  • Support plus ALTER requête ON CLUSTER. #5593 #5613 (sundyli)
  • Soutien <logger> section dans clickhouse-local fichier de configuration. #5540 (proller)
  • Autoriser exécuter la requête avec remote fonction de table dans clickhouse-local #5627 (proller)

Amélioration Des Performances

  • Ajoutez la possibilité d'écrire la marque finale à la fin des colonnes MergeTree. Il permet d'éviter les lectures inutiles pour les clés qui sont hors de la plage de données de la table. Elle n'est activée que si la granularité d'index adaptatif est utilisée. #5624 (alésapine)
  • Amélioration des performances des tables MergeTree sur les systèmes de fichiers très lents en réduisant stat syscalls. #5648 (alexeï-milovidov)
  • Correction de la dégradation des performances en lecture à partir des tables MergeTree introduites dans la version 19.6. Corrections # 5631. #5633 (alexeï-milovidov)

Construction / Test / Amélioration De L'Emballage

  • Mettre TestKeeper en tant qu'implémentation de l'interface ZooKeeper utilisée pour les tests #5643 (alexeï-milovidov) (levushkin aleksej)
  • Désormais .sql les tests peuvent être exécutés isolés par le serveur, en parallèle, avec une base de données aléatoire. Il permet de les exécuter plus rapidement, d'ajouter de nouveaux tests avec des configurations de serveur personnalisées et de s'assurer que les différents tests ne s'affectent pas les uns les autres. #5554 (Ivan)
  • Supprimer <name> et <metrics> à partir de tests de performance #5672 (Olga Khvostikova)
  • Fixe “select_format” essai de performance pour Pretty format #5642 (alexeï-milovidov)

Clickhouse version 19.9

Clickhouse version 19.9.3.31, 2019-07-05

Bug Fix

  • Correction de segfault dans le codec Delta qui affecte les colonnes avec des valeurs inférieures à 32 bits. Le bug a conduit à la corruption de la mémoire aléatoire. #5786 (alésapine)
  • Correction d'un bug rare dans la vérification de la partie avec la colonne LowCardinality. #5832 (alésapine)
  • Correction de segfault dans la fusion TTL avec des colonnes non physiques en bloc. #5819 (Anton Popov)
  • Correction du sommeil infini potentiel des requêtes de faible priorité. #5842 (alexeï-milovidov)
  • Correction de la façon dont ClickHouse détermine le fuseau horaire par défaut comme UCT au lieu de UTC. #5828 (alexeï-milovidov)
  • Correction d'un bug sur l'exécution distribuée DROP/ALTER/TRUNCATE / OPTIMIZE sur les requêtes de CLUSTER sur la réplique suiveur avant la réplique leader. Maintenant, ils seront exécutés directement sur la réplique leader. #5757 (alésapine)
  • Correction de la condition de concurrence, ce qui fait que certaines requêtes peuvent ne pas apparaître instantanément dans query_log après la requête system FLUSH LOGS. #5685 (Anton Popov)
  • Ajout du support manquant pour les arguments constants à evalMLModel fonction. #5820 (alexeï-milovidov)

Clickhouse version 19.9.2.4, 2019-06-24

Nouveauté

  • Imprimer des informations sur les pièces gelées dans system.parts table. #5471 (proller)
  • Demander mot de passe du client sur clickhouse-client démarrer sur ats s'il n'est pas dans les arguments #5092 (proller)
  • Mettre dictGet et dictGetOrDefault fonctions pour les types Décimaux. #5394 (Artem Zuikov)

Amélioration

  • Debian init: ajout d'un délai d'arrêt du service #5522 (proller)
  • Ajouter un paramètre interdit par défaut pour créer une table avec des types suspects pour LowCardinality #5448 (Olga Khvostikova)
  • Les fonctions de régression renvoient les poids du modèle lorsqu'elles ne sont pas utilisées comme État dans la fonction evalMLMethod. #5411 (Quid37)
  • Renommer et améliorer les méthodes de régression. #5492 (Quid37)
  • Interfaces plus claires des chercheurs de chaînes. #5586 (Danila Kutenin)

Bug Fix

  • Correction de la perte de données potentielle dans Kafka #5445 (Ivan)
  • Correction d'une boucle infinie potentielle dans PrettySpace format lorsqu'il est appelé avec zéro colonnes #5560 (Olga Khvostikova)
  • Correction d'un bug de débordement UInt32 dans les modèles linéaires. Autoriser le modèle EVAL ML pour l'argument du modèle non const. #5516 (Nikolai Kochetov)
  • ALTER TABLE ... DROP INDEX IF EXISTS ... ne devrait pas soulever une exception si l'index n'existe pas #5524 (Gleb Novikov)
  • Fixer erreur de segmentation avec bitmapHasAny dans la sous-requête scalaire #5528 (Zhichang Yu)
  • Correction d'une erreur lorsque le pool de connexions de réplication ne tente pas de résoudre l'hôte, même lorsque le cache DNS a été supprimé. #5534 (alésapine)
  • Fixe ALTER ... MODIFY TTL sur ReplicatedMergeTree. #5539 (Anton Popov)
  • Correction de L'insertion dans une table distribuée avec une colonne matérialisée #5429 (Azat Khuzhin)
  • Correction d'un mauvais alloc lorsque truncate Join storage #5437 (TCeason)
  • Dans les versions récentes du paquet tzdata, certains fichiers sont maintenant des liens symboliques. Le mécanisme actuel de détection du fuseau horaire par défaut est cassé et donne des noms erronés pour certains fuseaux horaires. Maintenant, au moins, nous forçons le nom du fuseau horaire au contenu de TZ si fourni. #5443 (Ivan)
  • Fixer certains cas extrêmement rares avec multivolnitsky searcher lorsque les aiguilles constantes en somme sont au moins 16KB long. L'algorithme a manqué ou écrasé les résultats précédents ce qui peut conduire au résultat incorrect de multiSearchAny. #5588 (Danila Kutenin)
  • Résolvez le problème lorsque les paramètres des requêtes ExternalData ne pouvaient pas utiliser les paramètres ClickHouse. Aussi, pour l'instant, paramètres date_time_input_format et low_cardinality_allow_in_native_format ne peut pas être utilisé en raison de l'ambiguïté des noms (en données externe, il peut être interprété comme format de tableau et dans la requête, il peut être un paramètre). #5455 (Danila Kutenin)
  • Correction d'un bug lorsque des pièces ont été supprimées uniquement de FS sans les laisser tomber de Zookeeper. #5520 (alésapine)
  • Supprimer la journalisation de débogage du protocole MySQL #5478 (alexeï-milovidov)
  • Ignorer ZNONODE pendant le traitement de la requête DDL #5489 (Azat Khuzhin)
  • Fix mix UNION ALL type de colonne de résultat. Il y avait des cas avec des données incohérentes et des types de colonnes de colonnes résultantes. #5503 (Artem Zuikov)
  • Lancer une exception sur des entiers erronés dans dictGetT fonctions au lieu de crash. #5446 (Artem Zuikov)
  • Correction de mauvais element_count et load_factor pour le dictionnaire haché dans system.dictionaries table. #5440 (Azat Khuzhin)

Construction / Test / Amélioration De L'Emballage

  • Construction fixe Sans Brotli Prise en charge de la compression HTTP (ENABLE_BROTLI=OFF cmake variable). #5521 (Anton Yuzhaninov)
  • Inclure rugissement.h comme rugissant / rugissant.h #5523 (Orivej Desh)
  • Correction des avertissements gcc9 dans hyperscan(la directive # line est mauvaise!) #5546 (Danila Kutenin)
  • Corrigez tous les avertissements lors de la compilation avec gcc-9. Correction de certains problèmes de contrib. Corrigez GCC9 ICE et soumettez-le à bugzilla. #5498 (Danila Kutenin)
  • Liaison fixe avec lld #5477 (alexeï-milovidov)
  • Supprimer les spécialisations dans les dictionnaires #5452 (Artem Zuikov)
  • Amélioration des tests de performance pour le formatage et l'analyse des tables pour différents types de fichiers #5497 (Olga Khvostikova)
  • Corrections pour l'exécution de test parallèle #5506 (proller)
  • Docker: utiliser les configs de clickhouse-test #5531 (proller)
  • Correction de la compilation Pour FreeBSD #5447 (proller)
  • Mise à niveau boost à 1.70 #5570 (proller)
  • Fixer construire clickhouse comme sous-module #5574 (proller)
  • Améliorer les tests de performance JSONExtract #5444 (Vitaly Baranov)

Clickhouse version 19.8

Clickhouse version 19.8.3.8, 2019-06-11

Nouveauté

  • Ajout de fonctions pour travailler avec JSON #4686 (hcz) #5124. (Vitaly Baranov)
  • Ajouter une fonction basename, avec un comportement similaire à une fonction basename, qui existe dans beaucoup de langues (os.path.basename en python, basename in PHP, etc…). Work with both an UNIX-like path or a Windows path. #5136 (Guillaume Tassery)
  • Ajouter LIMIT n, m BY ou LIMIT m OFFSET n BY syntaxe pour définir le décalage de N pour la clause LIMIT BY. #5138 (Anton Popov)
  • Ajouté nouveau type de données SimpleAggregateFunction, ce qui permet d'avoir des colonnes avec agrégation de lumière dans un AggregatingMergeTree. Cela ne peut être utilisé avec des fonctions simples comme any, anyLast, sum, min, max. #4629 (Boris Granveaud)
  • Ajout du support pour les arguments non constants dans la fonction ngramDistance #5198 (Danila Kutenin)
  • L'ajout de fonctions skewPop, skewSamp, kurtPop et kurtSamp pour calculer l'asymétrie de séquence, l'asymétrie de l'échantillon, la kurtose et la kurtose de l'échantillon respectivement. #5200 (hcz)
  • Soutien renommer opération pour MaterializeView stockage. #5209 (Guillaume Tassery)
  • Serveur Ajouté qui permet de se connecter à ClickHouse en utilisant le client MySQL. #4715 (Yuriy Baranov)
  • Ajouter toDecimal*OrZero et toDecimal*OrNull fonction. #5291 (Artem Zuikov)
  • Soutenir les types décimaux dans les fonctions: quantile, quantiles, median, quantileExactWeighted, quantilesExactWeighted, medianExactWeighted. #5304 (Artem Zuikov)
  • Ajouter toValidUTF8 function, which replaces all invalid UTF-8 characters by replacement character <20> (U+FFFD). #5322 (Danila Kutenin)
  • Ajouter format fonction. Formatage du motif constant (modèle de format Python simplifié) avec les chaînes listées dans les arguments. #5330 (Danila Kutenin)
  • Ajouter system.detached_parts tableau contenant des informations sur les parties détachées de MergeTree table. #5353 (akuzm)
  • Ajouter ngramSearch fonction pour calculer la différence non symétrique entre l'aiguille et la botte de foin. #5418#5422 (Danila Kutenin)
  • Mise en œuvre de méthodes d'apprentissage automatique de base (régression linéaire stochastique et régression logistique) à l'aide de l'interface des fonctions agrégées. A différentes stratégies pour mettre à jour les poids du modèle (descente de gradient simple, méthode momentum, méthode Nesterov). Prend également en charge les mini-lots de taille personnalisée. #4943 (Quid37)
  • La mise en œuvre de geohashEncode et geohashDecode fonction. #5003 (Vasily Nemkov)
  • Fonction agrégée ajoutée timeSeriesGroupSum qui peut regrouper différentes séries de l'échantillon d'horodatage de l'alignement. Il utilisera une interpolation linéaire entre deux échantillons d'horodatage, puis additionnera les séries temporelles ensemble. Fonction agrégée ajoutée timeSeriesGroupRateSum, qui calcule le taux de séries chronologiques, puis additionne les taux ensemble. #4542 (Yangkuan Liu)
  • L'ajout de fonctions IPv4CIDRtoIPv4Range et IPv6CIDRtoIPv6Range pour calculer les limites inférieures et supérieures pour une adresse IP dans le sous-réseau à l'aide D'un CIDR. #5095 (Guillaume Tassery)
  • Ajouter un en-tête X-Clickhouse-Summary lorsque nous envoyons une requête en utilisant HTTP avec paramètre activé send_progress_in_http_headers. Renvoie les informations habituelles de X-ClickHouse-Progress, avec des informations supplémentaires telles que le nombre de lignes et d'octets insérés dans la requête. #5116 (Guillaume Tassery)

Amélioration

  • Ajouter max_parts_in_total paramètre pour la famille de tables MergeTree (par défaut: 100 000) qui empêche la spécification dangereuse de la clé de partition # 5166. #5171 (alexeï-milovidov)
  • clickhouse-obfuscator: dériver la graine pour les colonnes individuelles en combinant la graine initiale avec le nom de la colonne, pas la position de la colonne. Ceci est destiné à transformer des ensembles de données avec plusieurs tables associées, de sorte que les tables restent joignables après la transformation. #5178 (alexeï-milovidov)
  • L'ajout de fonctions JSONExtractRaw, JSONExtractKeyAndValues. Renommé fonctions jsonExtract<type> de JSONExtract<type>. Quand quelque chose ne va pas, ces fonctions renvoient les valeurs correspondantes, pas NULL. Modifié la fonction JSONExtract, maintenant, il obtient le type de retour de son dernier paramètre et n'injecte pas nullables. Implémenté repli vers RapidJSON dans le cas où les instructions AVX2 ne sont pas disponibles. Bibliothèque Simdjson mise à jour vers une nouvelle version. #5235 (Vitaly Baranov)
  • Maintenant if et multiIf les fonctions ne dépendent pas de la condition Nullable, mais comptez sur les branches pour la compatibilité sql. #5238 (Jian Wu)
  • In prédicat génère maintenant Null résultat de Null d'entrée comme l' Equal fonction. #5152 (Jian Wu)
  • Vérifiez la limite de temps chaque (flush_interval / poll_timeout) nombre de lignes de Kafka. Cela permet de casser la lecture de Kafka consumer plus fréquemment et de vérifier les délais pour les flux de niveau supérieur #5249 (Ivan)
  • Lien rdkafka avec SASL fourni. Il devrait permettre d'utiliser l'authentification SASL SCRAM #5253 (Ivan)
  • Version par lots de RowRefList pour toutes les jointures. #5267 (Artem Zuikov)
  • clickhouse-server: messages d'erreur d'écoute plus informatifs. #5268 (proller)
  • Soutien dictionnaires dans clickhouse-copieur pour les fonctions dans <sharding_key> #5270 (proller)
  • Ajouter un nouveau paramètre kafka_commit_every_batch pour réglementer Kafka engager la Politique. Il permet de définir le mode de validation: après chaque lot de messages personnels, ou après le bloc entier est écrit dans le stockage. C'est un compromis entre perdre des messages ou les lire deux fois dans certaines situations extrêmes. #5308 (Ivan)
  • Faire windowFunnel supporte d'autres types entiers non signés. #5320 (sundyli)
  • Autoriser à ombrer la colonne virtuelle _table dans le moteur de Fusion. #5325 (Ivan)
  • Faire sequenceMatch les fonctions d'agrégation prennent en charge d'autres types entiers non signés #5339 (sundyli)
  • Meilleurs messages d'erreur si l'inadéquation de la somme de contrôle est probablement causée par des défaillances matérielles. #5355 (alexeï-milovidov)
  • Vérifiez que les tables sous-jacentes prennent en charge l'échantillonnage pour StorageMerge #5366 (Ivan)
  • Сlose MySQL connections after their usage in external dictionaries. It is related to issue #893. #5395 (Clément Rodriguez)
  • Améliorations du protocole de fil MySQL. Changement du nom du format en MySQLWire. Utiliser RAII pour appeler RSA_free. Désactivation de SSL si le contexte ne peut pas être créé. #5419 (Yuriy Baranov)
  • clickhouse-client: allow to run with unaccessable history file (read-only, no disk space, file is directory, …). #5431 (proller)
  • Respectez les paramètres de requête dans les insertions asynchrones dans les tables distribuées. #4936 (TCeason)
  • Renommé fonctions leastSqr de simpleLinearRegression, LinearRegression de linearRegression, LogisticRegression de logisticRegression. #5391 (Nikolai Kochetov)

Amélioration Des Performances

  • Paralléliser le traitement des parties des tables MergeTree non répliquées dans la requête ALTER MODIFY. #4639 (Ivan Kush)
  • Optimisations dans l'extraction d'expressions régulières. #5193 #5191 (Danila Kutenin)
  • N'ajoutez pas de colonne de clé de jointure droite pour joindre le résultat si elle est utilisée uniquement dans la section join on. #5260 (Artem Zuikov)
  • Geler le tampon Kafka après la première réponse vide. Il évite les invocations multiples de ReadBuffer::next() pour un résultat vide dans certains flux d'analyse de ligne. #5283 (Ivan)
  • concat optimisation de la fonction pour plusieurs arguments. #5357 (Danila Kutenin)
  • Query optimisation. Allow push down IN statement while rewriting commа/cross join into inner one. #5396 (Artem Zuikov)
  • Mettez à niveau notre implémentation LZ4 avec reference one pour avoir une décompression plus rapide. #5070 (Danila Kutenin)
  • Implémenté MSD radix sort (basé sur kxsort), et le tri partiel. #5129 (Evgenii Pravda)

Corrections De Bugs

  • Correction des colonnes push require avec jointure #5192 (L'Hiver Zhang)
  • Correction d'un bug, lorsque ClickHouse est exécuté par systemd, la commande sudo service clickhouse-server forcerestart ne fonctionne pas comme prévu. #5204 (proller)
  • Correction des codes d'erreur http dans DataPartsExchange (le serveur HTTP interserver sur le port 9009 renvoie toujours le code 200, même en cas d'erreurs). #5216 (proller)
  • Correction de SimpleAggregateFunction pour une chaîne plus longue que MAX_SMALL_STRING_SIZE #5311 (Azat Khuzhin)
  • Correction d'une erreur pour Decimal de Nullable(Decimal) conversion en en. Soutenir D'autres conversions décimales à décimales (y compris différentes échelles). #5350 (Artem Zuikov)
  • Correction FPU clobbering dans la bibliothèque simdjson qui conduisent à un mauvais calcul de uniqHLL et uniqCombined fonction agrégée et fonctions mathématiques telles que log. #5354 (alexeï-milovidov)
  • Correction de la gestion des cas const/nonconst mixtes dans les fonctions JSON. #5435 (Vitaly Baranov)
  • Fixer retention fonction. Maintenant, toutes les conditions qui satisfont dans une rangée de données sont ajoutées à l'état des données. #5119 (小路)
  • Correction du type de résultat pour quantileExact avec des Décimales. #5304 (Artem Zuikov)

Documentation

  • Traduire la documentation pour CollapsingMergeTree pour les chinois. #5168 (张风啸)
  • Traduire une documentation sur les moteurs de table en chinois. #5134 #5328 (jamais lee)

Construire/Test/Emballage Améliorations

  • Correction de certains rapports de désinfectant qui montrent une utilisation probable après-livraison.#5139 #5143 #5393 (Ivan)
  • Déplacez les tests de performance hors de répertoires séparés pour plus de commodité. #5158 (alexeï-milovidov)
  • Correction de tests de performance incorrects. #5255 (alésapine)
  • Ajout d'un outil pour calculer les sommes de contrôle causées par les retournements de bits pour déboguer les problèmes matériels. #5334 (alexeï-milovidov)
  • Rendre le script runner plus utilisable. #5340#5360 (filimonov)
  • Ajouter petite instruction comment écrire des tests de performance. #5408 (alésapine)
  • Ajout de la possibilité de faire des substitutions dans Créer, remplir et supprimer la requête dans les tests de performance #5367 (Olga Khvostikova)

Clickhouse version 19.7

Clickhouse version 19.7.5.29, 2019-07-05

Bug Fix

  • Correction de la régression des performances dans certaines requêtes avec jointure. #5192 (L'Hiver Zhang)

Clickhouse version 19.7.5.27, 2019-06-09

Nouveauté

  • Ajout de fonctions liées au bitmap bitmapHasAny et bitmapHasAll analogue à hasAny et hasAll fonctions pour les tableaux. #5279 (Sergi Vladykin)

Corrections De Bugs

  • Fixer erreur de segmentation sur minmax INDEX avec valeur nulle. #5246 (Nikita Vasilev)
  • Marquez toutes les colonnes d'entrée dans LIMIT BY comme sortie requise. Il fixe Not found column erreur dans certaines requêtes distribuées. #5407 (Constantin S. Pan)
  • Fixer “Column 0 already exists” erreur dans SELECT .. PREWHERE sur la colonne avec défaut #5397 (proller)
  • Fixer ALTER MODIFY TTL requête sur ReplicatedMergeTree. #5539 (Anton Popov)
  • Ne plantez pas le serveur lorsque les consommateurs Kafka n'ont pas réussi à démarrer. #5285 (Ivan)
  • Les fonctions Bitmap fixes produisent un mauvais résultat. #5359 (Andy Yang)
  • Correction d'element_count pour le dictionnaire haché (ne pas inclure les doublons) #5440 (Azat Khuzhin)
  • Utilisez le contenu de la variable d'environnement TZ comme nom pour le fuseau horaire. Il aide à détecter correctement le fuseau horaire par défaut dans certains cas.#5443 (Ivan)
  • N'essayez pas de convertir les entiers dans dictGetT fonctions, car il ne fonctionne pas correctement. Jetez une exception à la place. #5446 (Artem Zuikov)
  • Correction des paramètres dans la requête HTTP ExternalData. #5455 (Danila Kutenin)
  • Correction d'un bug lorsque des pièces ont été supprimées uniquement de FS sans les laisser tomber de Zookeeper. #5520 (alésapine)
  • Correction d'un défaut de segmentation dans bitmapHasAny fonction. #5528 (Zhichang Yu)
  • Correction d'une erreur lorsque le pool de connexions de réplication ne tente pas de résoudre l'hôte, même lorsque le cache DNS a été supprimé. #5534 (alésapine)
  • Fixe DROP INDEX IF EXISTS requête. Maintenant ALTER TABLE ... DROP INDEX IF EXISTS ... la requête ne déclenche pas d'exception si l'index fourni n'existe pas. #5524 (Gleb Novikov)
  • Correction de la colonne union all supertype. Il y avait des cas avec des données incohérentes et des types de colonnes de colonnes résultantes. #5503 (Artem Zuikov)
  • Ignorer ZNONODE pendant le traitement de la requête DDL. Avant si un autre nœud supprime le znode dans la file d'attente des tâches, celui qui ne pas le traiter, mais déjà obtenir la liste des enfants, mettra fin au thread DDLWorker. #5489 (Azat Khuzhin)
  • Correction de L'insertion dans la table Distributed() avec une colonne matérialisée. #5429 (Azat Khuzhin)

Clickhouse version 19.7.3.9, 2019-05-30

Nouveauté

  • Permet de limiter la plage d'un paramètre qui peut être spécifiée par l'utilisateur. Ces contraintes peuvent être configurées dans le profil des paramètres utilisateur. #4931 (Vitaly Baranov)
  • Ajouter une deuxième version de la fonction groupUniqArray avec une option de max_size paramètre qui limite la taille du tableau résultant. Ce le comportement est similaire à groupArray(max_size)(x) fonction. #5026 (Guillaume Tassery)
  • Pour les formats de fichier D'entrée TSVWithNames/CSVWithNames, l'ordre des colonnes peut maintenant être déterminé à partir de l'en-tête du fichier. Ceci est contrôlé par input_format_with_names_use_header paramètre. #5081 (Alexander)

Corrections De Bugs

  • Crash avec uncompressed_cache + JOIN lors de la fusion (#5197) #5133 (Danila Kutenin)
  • Erreur de Segmentation sur une requête clickhouse-client aux tables système. #5066 #5127 (Ivan)
  • Perte de données sur une charge lourde via KafkaEngine (#4736) #5080 (Ivan)
  • Correction d'une condition de concurrence de données très rare qui pourrait se produire lors de l'exécution d'une requête avec UNION impliquant au moins deux sélections du système.colonnes, système.tables système.les pièces, système d'.parts_tables ou tables de la famille de fusion et effectuer des modifications simultanées des colonnes des tables associées. #5189 (alexeï-milovidov)

Amélioration Des Performances

Documentation

Construire/Test/Emballage Améliorations

Clickhouse version 19.6

Clickhouse version 19.6.3.18, 2019-06-13

Corrections De Bugs

  • Correction de l'état pushdown pour les requêtes des fonctions de table mysql et odbc et les moteurs de table correspondants. Cela corrige #3540 et # 2384. #5313 (alexeï-milovidov)
  • Correction de l'impasse dans Zookeeper. #5297 (github1youlc)
  • Autoriser les décimales entre guillemets en CSV. #5284 (Artem Zuikov
  • Interdire la conversion de float Inf / NaN en décimales (exception de lancer). #5282 (Artem Zuikov)
  • Correction de la course de données dans la requête renommer. #5247 (L'Hiver Zhang)
  • Désactiver temporairement LFAlloc. L'utilisation de LFAlloc peut conduire à beaucoup de MAP_FAILED dans l'allocation de UncompressedCache et, par conséquent, à des plantages de requêtes sur des serveurs chargés en haut. cfdba93(Danila Kutenin)

Clickhouse version 19.6.2.11, 2019-05-13

Nouveauté

  • Expressions TTL pour les colonnes et les tables. #4212 (Anton Popov)
  • Ajout du support pour brotli compression pour les réponses HTTP (Accept-Encoding: br) #4388 (Mikhail)
  • Ajout d'une fonction nouvelle isValidUTF8 pour vérifier si un ensemble d'octets est correctement codé en utf-8. #4934 (Danila Kutenin)
  • Ajouter la nouvelle stratégie d'équilibrage de charge first_or_random qui envoie des requêtes au premier hôte spécifié et s'il est inaccessible, envoie des requêtes à des hôtes aléatoires de shard. Utile pour les configurations de topologie de réplication croisée. #5012 (nvartolomei)

Caractéristiques Expérimentales

  • Ajouter un paramètre index_granularity_bytes (granularité d'index adaptatif) pour la famille de tables MergeTree*. #4826 (alésapine)

Amélioration

  • Ajout du support pour les arguments de taille et de longueur non constants et négatifs pour la fonction substringUTF8. #4989 (alexeï-milovidov)
  • Désactivez push-down to right table dans LEFT join, left table dans RIGHT join et les deux tables dans full join. Cela corrige les mauvais résultats de jointure dans certains cas. #4846 (Ivan)
  • clickhouse-copier: configuration automatique de tâche de téléchargement de --task-file option #4876 (proller)
  • Ajout d'un gestionnaire de fautes de frappe pour l'usine de stockage et les fonctions de table factory. #4891 (Danila Kutenin)
  • Support des astérisques et des astérisques qualifiés pour plusieurs jointures sans sous-requêtes #4898 (Artem Zuikov)
  • Rendre le message d'erreur de colonne manquant plus convivial. #4915 (Artem Zuikov)

Amélioration Des Performances

Modifications Incompatibles En Arrière

  • L'en-tête HTTP Query-Id a été renommé X-ClickHouse-Query-Id pour des raisons de cohérence. #4972 (Mikhail)

Corrections De Bugs

  • Déréférence du pointeur nul potentiel fixe dans clickhouse-copier. #4900 (proller)
  • Correction d'une erreur sur la requête avec JOIN + ARRAY JOIN #4938 (Artem Zuikov)
  • Fixe suspendu au début du serveur lorsqu'un dictionnaire dépend d'un autre dictionnaire via une base de données avec moteur=Dictionnaire. #4962 (Vitaly Baranov)
  • Partially fix distributed_product_mode = local. It's possible to allow columns of local tables in where/having/order by/… via table aliases. Throw exception if table does not have alias. There's not possible to access to the columns without table aliases yet. #4986 (Artem Zuikov)
  • Correction d'un résultat potentiellement erroné pour SELECT DISTINCT avec JOIN #5001 (Artem Zuikov)
  • Correction d'une condition de concurrence de données très rare qui pourrait se produire lors de l'exécution d'une requête avec UNION impliquant au moins deux sélections du système.colonnes, système.tables système.les pièces, système d'.parts_tables ou tables de la famille de fusion et effectuer des modifications simultanées des colonnes des tables associées. #5189 (alexeï-milovidov)

Construire/Test/Emballage Améliorations

  • Correction des échecs de test lors de l'exécution de clickhouse-server sur un hôte différent #4713 (Vasily Nemkov)
  • clickhouse-test: désactiver les séquences de contrôle de couleur dans un environnement non tty. #4937 (alésapine)
  • clickhouse-test: Autoriser l'utilisation de toute base de données de test (supprimer test. qualification lorsque cela est possible) #5008 (proller)
  • Correction des erreurs ubsan #5037 (Vitaly Baranov)
  • Yandex LFAlloc a été ajouté à ClickHouse pour allouer des données MarkCache et UncompressedCache de différentes manières pour attraper des segfaults plus fiables #4995 (Danila Kutenin)
  • Python util pour aider avec les rétroportages et les changelogs. #4949 (Ivan)

Clickhouse version 19.5

Clickhouse version 19.5.4.22, 2019-05-13

Corrections de bugs

  • Correction d'un crash possible dans les fonctions bitmap* #5220 #5228 (Andy Yang)
  • Correction d'une condition de concurrence de données très rare qui pourrait se produire lors de l'exécution d'une requête avec UNION impliquant au moins deux sélections du système.colonnes, système.tables système.les pièces, système d'.parts_tables ou tables de la famille de fusion et effectuer des modifications simultanées des colonnes des tables associées. #5189 (alexeï-milovidov)
  • Correction d'une erreur Set for IN is not created yet in case of using single LowCardinality column in the left part of IN. Cette erreur s'est produite si la colonne LowCardinality était la partie de la clé primaire. #5031 #5154 (Nikolai Kochetov)
  • Modification de la fonction de rétention: si une ligne satisfait à la fois la première et la nième condition, seule la première condition satisfaite est ajoutée à l'état des données. Maintenant, toutes les conditions qui satisfont dans une rangée de données sont ajoutées à l'état des données. #5119 (小路)

Clickhouse version 19.5.3.8, 2019-04-18

Corrections de bugs

Clickhouse version 19.5.2.6, 2019-04-15

Nouveauté

  • Hyperscan plusieurs expressions rationnelles a été ajouté (fonctions multiMatchAny, multiMatchAnyIndex, multiFuzzyMatchAny, multiFuzzyMatchAnyIndex). #4780, #4841 (Danila Kutenin)
  • multiSearchFirstPosition la fonction a été ajoutée. #4780 (Danila Kutenin)
  • Implémentez le filtre d'expression prédéfini par ligne pour les tables. #4792 (Ivan)
  • Un nouveau type d'indices de saut de données basés sur des filtres bloom (peut être utilisé pour equal, in et like fonction). #4499 (Nikita Vasilev)
  • Ajouter ASOF JOIN ce qui permet d'exécuter des requêtes, qui se joignent à la valeur la plus récente connue. #4774 #4867 #4863 #4875 (Martijn Bakker, Artem Zuikov)
  • Réécrire plusieurs COMMA JOIN de CROSS JOIN. Puis réécrire INNER JOIN si cela est possible. #4661 (Artem Zuikov)

Amélioration

  • topK et topKWeighted prend désormais en charge personnalisée loadFactor (corrige le problème #4252). #4634 (Kirill Danshin)
  • Permettre d'utiliser parallel_replicas_count > 1 même pour les tables sans échantillonnage (le paramètre est simplement ignoré pour elles). Dans les versions précédentes, il a été conduit à l'exception. #4637 (Alexey Elymanov)
  • Soutien pour CREATE OR REPLACE VIEW. Permettent de créer un afficher ou définir une nouvelle définition dans un seul énoncé. #4654 (Boris Granveaud)
  • Buffer tableau moteur prend désormais en charge PREWHERE. #4671 (Yangkuan Liu)
  • Ajouter la possibilité de démarrer la table répliquée sans métadonnées dans zookeeper dans readonly mode. #4691 (alésapine)
  • Correction du scintillement de la barre de progression dans clickhouse-client. Le problème était le plus perceptible lors de l'utilisation FORMAT Null avec des flux de requêtes. #4811 (alexeï-milovidov)
  • Permettent de désactiver les fonctions avec hyperscan bibliothèque par utilisateur pour limiter l'utilisation potentiellement excessive et incontrôlée des ressources. #4816 (alexeï-milovidov)
  • Ajouter le numéro de version se connectant à toutes les erreurs. #4824 (proller)
  • Ajout d'une restriction à la multiMatch fonctions qui nécessite une taille de chaîne pour s'adapter à unsigned int. A également ajouté le nombre d'arguments limite à la multiSearch fonction. #4834 (Danila Kutenin)
  • Amélioration de l'utilisation de l'espace scratch et de la gestion des erreurs dans Hyperscan. #4866 (Danila Kutenin)
  • Remplir system.graphite_detentions à partir d'une table de config *GraphiteMergeTree le moteur de tables. #4584 (Mikhail f. Shiryaev)
  • Renommer trigramDistance la fonction de ngramDistance et d'ajouter plus de fonctions avec CaseInsensitive et UTF. #4602 (Danila Kutenin)
  • Amélioration du calcul des indices de saut de données. #4640 (Nikita Vasilev)
  • Garder ordinaire, DEFAULT, MATERIALIZED et ALIAS colonnes dans une seule liste (corrige le problème #2867). #4707 (Alex Zatelepin)

Bug Fix

  • Éviter std::terminate en cas d'échec d'allocation de mémoire. Maintenant std::bad_alloc exception est levée comme prévu. #4665 (alexeï-milovidov)
  • Corrige la lecture de capnproto à partir du tampon. Parfois, les fichiers N'ont pas été chargés avec succès par HTTP. #4674 (Vladislav)
  • Correction d'erreur Unknown log entry type: 0 après OPTIMIZE TABLE FINAL requête. #4683 (Amos Oiseau)
  • Mauvais arguments hasAny ou hasAll fonctions peut conduire à l'erreur de segmentation. #4698 (alexeï-milovidov)
  • Blocage peut se produire lors de l'exécution DROP DATABASE dictionary requête. #4701 (alexeï-milovidov)
  • Corriger un comportement indéfini dans median et quantile fonction. #4702 (hcz)
  • Correction de la détection du niveau de compression lorsque network_compression_method en minuscules. Cassé dans v19. 1. #4706 (proller)
  • Correction de l'ignorance de <timezone>UTC</timezone> paramètre (corrige le problème #4658). #4718 (proller)
  • Fixer histogram comportement de la fonction avec Distributed table. #4741 (olegkv)
  • Rapport Tsan fixe destroy of a locked mutex. #4742 (alexeï-milovidov)
  • Rapport Tsan fixe sur l'arrêt en raison de la condition de concurrence dans l'utilisation des journaux système. Correction de l'utilisation potentielle-après-libre à l'arrêt lorsque part_log est activé. #4758 (alexeï-milovidov)
  • Fixer revérifier les pièces dans ReplicatedMergeTreeAlterThread en cas d'erreur. #4772 (Nikolai Kochetov)
  • Les opérations arithmétiques sur les états de fonction d'agrégat intermédiaire ne fonctionnaient pas pour les arguments constants (tels que les résultats de sous-requête). #4776 (alexeï-milovidov)
  • Toujours renvoyer les noms de colonne dans les métadonnées. Sinon il est impossible de créer une table avec une colonne nommée index (le serveur ne redémarre pas en raison de malformé ATTACH requête dans les métadonnées). #4782 (alexeï-milovidov)
  • Correction d'un crash dans l' ALTER ... MODIFY ORDER BY sur Distributed table. #4790 (TCeason)
  • Fixer erreur de segmentation dans JOIN ON avec l'option enable_optimize_predicate_expression. #4794 (L'Hiver Zhang)
  • Correction d'un bug avec l'ajout d'une ligne étrangère après avoir consommé un message protobuf de Kafka. #4808 (Vitaly Baranov)
  • Correction d'un arrêt brutal de JOIN sur la colonne non nullable vs nullable. Fixer NULLs dans la droite dans ANY JOIN + join_use_nulls. #4815 (Artem Zuikov)
  • Correction d'un défaut de segmentation dans clickhouse-copier. #4835 (proller)
  • Condition de course fixe dans SELECT de system.tables si la table est renommée ou modifiée simultanément. #4836 (alexeï-milovidov)
  • Correction de la course de données lors de la récupération d'une partie de données déjà obsolète. #4839 (alexeï-milovidov)
  • Correction de la course de données rares qui peut se produire pendant RENAME table de la famille MergeTree. #4844 (alexeï-milovidov)
  • Correction d'un défaut de segmentation en fonction arrayIntersect. Une erreur de Segmentation pourrait se produire si la fonction était appelée avec des arguments constants et ordinaires mixtes. #4847 (Lixiang Qian)
  • Correction de la lecture de Array(LowCardinality) colonne dans de rares cas où la colonne contenait une longue séquence de tableaux vides. #4850 (Nikolai Kochetov)
  • Correction d'un crash dans l' FULL/RIGHT JOIN lorsque nous rejoignons sur nullable vs non nullable. #4855 (Artem Zuikov)
  • Fixer No message received exception lors de la récupération de pièces entre les répliques. #4856 (alésapine)
  • Fixe arrayIntersect fonction mauvais résultat en cas de plusieurs valeurs répétées dans un seul tableau. #4871 (Nikolai Kochetov)
  • Correction d'une condition de course pendant ALTER COLUMN requêtes qui pourraient conduire à un plantage du serveur (corrige le problème #3421). #4592 (Alex Zatelepin)
  • Correction d'un résultat incorrect dans FULL/RIGHT JOIN avec colonne const. #4723 (Artem Zuikov)
  • Correction des doublons dans GLOBAL JOIN avec asterisk. #4705 (Artem Zuikov)
  • Paramètre correction de la déduction ALTER MODIFY de la colonne CODEC lorsque le type de colonne n'est pas spécifié. #4883 (alésapine)
  • Fonction cutQueryStringAndFragment() et queryStringAndFragment() fonctionne maintenant correctement quand URL contient un fragment et aucune requête. #4894 (Vitaly Baranov)
  • Correction d'un bug rare lors du réglage min_bytes_to_use_direct_io est supérieur à zéro, ce qui se produit lorsque le thread doit chercher en arrière dans le fichier de colonne. #4897 (alésapine)
  • Correction de mauvais types d'arguments pour les fonctions d'agrégation avec LowCardinality arguments (corrige le problème #4919). #4922 (Nikolai Kochetov)
  • Correction d'une qualification de nom incorrecte Dans GLOBAL JOIN. #4969 (Artem Zuikov)
  • Fonction Fix toISOWeek résultat pour l'année 1970. #4988 (alexeï-milovidov)
  • Fixer DROP, TRUNCATE et OPTIMIZE requêtes duplication, lorsqu'elles sont exécutées sur ON CLUSTER pour ReplicatedMergeTree* les tables de la famille. #4991 (alésapine)

Modification Incompatible En Arrière

  • Renommer le paramètre insert_sample_with_metadata définir input_format_defaults_for_omitted_fields. #4771 (Artem Zuikov)
  • Ajout d'un réglage max_partitions_per_insert_block (avec la valeur 100 par défaut). Si le bloc inséré contient un plus grand nombre de partitions, une exception est levée. Mettre à 0 si vous souhaitez supprimer la limite (pas recommandé). #4845 (alexeï-milovidov)
  • Les fonctions multi-recherche ont été renommées (multiPosition de multiSearchAllPositions, multiSearch de multiSearchAny, firstMatch de multiSearchFirstIndex). #4780 (Danila Kutenin)

Amélioration Des Performances

  • Optimisez volnitsky searcher en inlining, donnant environ 5-10% d'amélioration de la recherche pour les requêtes avec de nombreuses aiguilles ou de nombreux bigrams similaires. #4862 (Danila Kutenin)
  • Correction d'un problème de performance lors du réglage use_uncompressed_cache est supérieur à zéro, qui est apparu lorsque toutes les données lues contenues dans le cache. #4913 (alésapine)

Construction / Test / Amélioration De L'Emballage

  • Durcissement debug build: mappages de mémoire plus granulaires et ASLR; ajouter une protection de mémoire pour le cache de marque et l'index. Cela permet de trouver plus de bugs de piétinement de mémoire dans le cas où ASan et MSan ne peuvent pas le faire. #4632 (alexeï-milovidov)
  • Ajout du support pour les variables cmake ENABLE_PROTOBUF, ENABLE_PARQUET et ENABLE_BROTLI ce qui permet d'activer / désactiver les fonctionnalités ci-dessus (comme nous pouvons le faire pour librdkafka, mysql, etc). #4669 (Silviu Caragea)
  • Ajouter la possibilité d'Imprimer la liste des processus et stacktraces de tous les threads si certaines requêtes sont suspendues après l'exécution du test. #4675 (alésapine)
  • Ajouter des tentatives sur Connection loss erreur dans clickhouse-test. #4682 (alésapine)
  • Ajouter freebsd build avec vagrant et construire avec thread sanitizer au script packager. #4712 #4748 (alésapine)
  • Maintenant l'Utilisateur a demandé un mot de passe pour l'utilisateur 'default' lors de l'installation. #4725 (proller)
  • Supprimer l'avertissement dans rdkafka bibliothèque. #4740 (alexeï-milovidov)
  • Permettre la capacité de construire sans ssl. #4750 (proller)
  • Ajouter un moyen de lancer l'image clickhouse-server à partir d'un utilisateur personnalisé. #4753 (Mikhail f. Shiryaev)
  • Mise à niveau contrib boost à 1.69. #4793 (proller)
  • Désactiver l'utilisation de mremap lorsqu'il est compilé avec thread Sanitizer. Étonnamment, TSan n'intercepte pas mremap (bien qu'il ne intercepter mmap, munmap) qui conduit à des faux positifs. Rapport Tsan fixe dans les tests avec État. #4859 (alexeï-milovidov)
  • Ajouter la vérification de test en utilisant le schéma de format via L'interface HTTP. #4864 (Vitaly Baranov)

Clickhouse version 19.4

Clickhouse version 19.4.4.33, 2019-04-17

Corrections De Bugs

  • Éviter std::terminate en cas d'échec d'allocation de mémoire. Maintenant std::bad_alloc exception est levée comme prévu. #4665 (alexeï-milovidov)
  • Corrige la lecture de capnproto à partir du tampon. Parfois, les fichiers N'ont pas été chargés avec succès par HTTP. #4674 (Vladislav)
  • Correction d'erreur Unknown log entry type: 0 après OPTIMIZE TABLE FINAL requête. #4683 (Amos Oiseau)
  • Mauvais arguments hasAny ou hasAll fonctions peut conduire à l'erreur de segmentation. #4698 (alexeï-milovidov)
  • Blocage peut se produire lors de l'exécution DROP DATABASE dictionary requête. #4701 (alexeï-milovidov)
  • Corriger un comportement indéfini dans median et quantile fonction. #4702 (hcz)
  • Correction de la détection du niveau de compression lorsque network_compression_method en minuscules. Cassé dans v19. 1. #4706 (proller)
  • Correction de l'ignorance de <timezone>UTC</timezone> paramètre (corrige le problème #4658). #4718 (proller)
  • Fixer histogram comportement de la fonction avec Distributed table. #4741 (olegkv)
  • Rapport Tsan fixe destroy of a locked mutex. #4742 (alexeï-milovidov)
  • Rapport Tsan fixe sur l'arrêt en raison de la condition de concurrence dans l'utilisation des journaux système. Correction de l'utilisation potentielle-après-libre à l'arrêt lorsque part_log est activé. #4758 (alexeï-milovidov)
  • Fixer revérifier les pièces dans ReplicatedMergeTreeAlterThread en cas d'erreur. #4772 (Nikolai Kochetov)
  • Les opérations arithmétiques sur les états de fonction d'agrégat intermédiaire ne fonctionnaient pas pour les arguments constants (tels que les résultats de sous-requête). #4776 (alexeï-milovidov)
  • Toujours renvoyer les noms de colonne dans les métadonnées. Sinon il est impossible de créer une table avec une colonne nommée index (le serveur ne redémarre pas en raison de malformé ATTACH requête dans les métadonnées). #4782 (alexeï-milovidov)
  • Correction d'un crash dans l' ALTER ... MODIFY ORDER BY sur Distributed table. #4790 (TCeason)
  • Fixer erreur de segmentation dans JOIN ON avec l'option enable_optimize_predicate_expression. #4794 (L'Hiver Zhang)
  • Correction d'un bug avec l'ajout d'une ligne étrangère après avoir consommé un message protobuf de Kafka. #4808 (Vitaly Baranov)
  • Correction d'un défaut de segmentation dans clickhouse-copier. #4835 (proller)
  • Condition de course fixe dans SELECT de system.tables si la table est renommée ou modifiée simultanément. #4836 (alexeï-milovidov)
  • Correction de la course de données lors de la récupération d'une partie de données déjà obsolète. #4839 (alexeï-milovidov)
  • Correction de la course de données rares qui peut se produire pendant RENAME table de la famille MergeTree. #4844 (alexeï-milovidov)
  • Correction d'un défaut de segmentation en fonction arrayIntersect. Une erreur de Segmentation pourrait se produire si la fonction était appelée avec des arguments constants et ordinaires mixtes. #4847 (Lixiang Qian)
  • Correction de la lecture de Array(LowCardinality) colonne dans de rares cas où la colonne contenait une longue séquence de tableaux vides. #4850 (Nikolai Kochetov)
  • Fixer No message received exception lors de la récupération de pièces entre les répliques. #4856 (alésapine)
  • Fixe arrayIntersect fonction mauvais résultat en cas de plusieurs valeurs répétées dans un seul tableau. #4871 (Nikolai Kochetov)
  • Correction d'une condition de course pendant ALTER COLUMN requêtes qui pourraient conduire à un plantage du serveur (corrige le problème #3421). #4592 (Alex Zatelepin)
  • Paramètre correction de la déduction ALTER MODIFY de la colonne CODEC lorsque le type de colonne n'est pas spécifié. #4883 (alésapine)
  • Fonction cutQueryStringAndFragment() et queryStringAndFragment() fonctionne maintenant correctement quand URL contient un fragment et aucune requête. #4894 (Vitaly Baranov)
  • Correction d'un bug rare lors du réglage min_bytes_to_use_direct_io est supérieur à zéro, ce qui se produit lorsque le thread doit chercher en arrière dans le fichier de colonne. #4897 (alésapine)
  • Correction de mauvais types d'arguments pour les fonctions d'agrégation avec LowCardinality arguments (corrige le problème #4919). #4922 (Nikolai Kochetov)
  • Fonction Fix toISOWeek résultat pour l'année 1970. #4988 (alexeï-milovidov)
  • Fixer DROP, TRUNCATE et OPTIMIZE requêtes duplication, lorsqu'elles sont exécutées sur ON CLUSTER pour ReplicatedMergeTree* les tables de la famille. #4991 (alésapine)

Amélioration

  • Garder ordinaire, DEFAULT, MATERIALIZED et ALIAS colonnes dans une seule liste (corrige le problème #2867). #4707 (Alex Zatelepin)

Clickhouse version 19.4.3.11, 2019-04-02

Corrections De Bugs

  • Correction d'un crash dans l' FULL/RIGHT JOIN lorsque nous rejoignons sur nullable vs non nullable. #4855 (Artem Zuikov)
  • Correction d'un défaut de segmentation dans clickhouse-copier. #4835 (proller)

Construction / Test / Amélioration De L'Emballage

  • Ajouter un moyen de lancer l'image clickhouse-server à partir d'un utilisateur personnalisé. #4753 (Mikhail f. Shiryaev)

Clickhouse version 19.4.2.7, 2019-03-30

Corrections De Bugs

  • Correction de la lecture de Array(LowCardinality) colonne dans de rares cas où la colonne contenait une longue séquence de tableaux vides. #4850 (Nikolai Kochetov)

Clickhouse version 19.4.1.3, 2019-03-19

Corrections De Bugs

  • Correction des requêtes distantes qui contiennent les deux LIMIT BY et LIMIT. Auparavant, si LIMIT BY et LIMIT ont été utilisés pour la requête distante, LIMIT ça pourrait arriver avant LIMIT BY, ce qui a conduit à un résultat trop filtré. #4708 (Constantin S. Pan)

Clickhouse version 19.4.0.49, 2019-03-09

Nouveauté

  • Ajout d'un support complet pour Protobuf format (entrée et sortie, structures de données imbriquées). #4174 #4493 (Vitaly Baranov)
  • Ajout de fonctions bitmap avec des bitmaps rugissants. #4207 (Andy Yang) #4568 (Vitaly Baranov)
  • Support du format Parquet. #4448 (proller)
  • La distance de n-gramme a été ajoutée pour la comparaison de chaîne floue. Il est similaire aux métriques Q-gram en langage R. #4466 (Danila Kutenin)
  • Combinez des règles pour le cumul de graphite à partir de modèles d'agrégation et de rétention dédiés. #4426 (Mikhail f. Shiryaev)
  • Ajouter max_execution_speed et max_execution_speed_bytes pour limiter l'utilisation des ressources. Ajouter min_execution_speed_bytes réglage pour compléter le min_execution_speed. #4430 (L'Hiver Zhang)
  • Mise en œuvre de la fonction flatten. #4555 #4409 (alexeï-milovidov, kzon)
  • L'ajout de fonctions arrayEnumerateDenseRanked et arrayEnumerateUniqRanked (c'est comme arrayEnumerateUniq mais permet d'affiner la profondeur du tableau pour regarder à l'intérieur des tableaux multidimensionnels). #4475 (proller) #4601 (alexeï-milovidov)
  • Multiple JOINS with some restrictions: no asterisks, no complex aliases in ON/WHERE/GROUP BY/… #4462 (Artem Zuikov)

Corrections De Bugs

  • Cette version contient également toutes les corrections de bugs de 19.3 et 19.1.
  • Correction d'un bug dans les indices de saut de données: l'ordre des granules après L'insertion était incorrect. #4407 (Nikita Vasilev)
  • Fixe set indice pour Nullable et LowCardinality colonne. Avant d', set index avec Nullable ou LowCardinality colonne a conduit à l'erreur Data type must be deserialized with multiple streams lors de la sélection. #4594 (Nikolai Kochetov)
  • Définir correctement update_time sur full executable dictionnaire de mise à jour. #4551 (Tema Novikov)
  • Correction de la barre de progression cassée dans 19.3. #4627 (filimonov)
  • Correction de valeurs incohérentes de MemoryTracker lorsque la région de mémoire a été réduite, dans certains cas. #4619 (alexeï-milovidov)
  • Correction d'un comportement indéfini dans ThreadPool. #4612 (alexeï-milovidov)
  • Correction d'un crash très rare avec le message mutex lock failed: Invalid argument cela peut se produire lorsqu'une table MergeTree a été supprimée simultanément avec un SELECT. #4608 (Alex Zatelepin)
  • Compatibilité du pilote ODBC avec LowCardinality type de données. #4381 (proller)
  • FreeBSD: correction pour AIOcontextPool: Found io_event with unknown id 0 erreur. #4438 (urgordeadbeef)
  • system.part_log table a été créée, indépendamment de la configuration. #4483 (alexeï-milovidov)
  • Correction du comportement indéfini dans dictIsIn fonction pour les dictionnaires de cache. #4515 (alésapine)
  • Fixed a deadlock when a SELECT query locks the same table multiple times (e.g. from different threads or when executing multiple subqueries) and there is a concurrent DDL query. #4535 (Alex Zatelepin)
  • Désactiver compile_expressions par défaut jusqu'à ce que nous obtenions propre llvm contrib et peut le tester avec clang et asan. #4579 (alésapine)
  • Empêcher std::terminate lorsque invalidate_query pour clickhouse externe dictionnaire source a retourné mauvais jeu de résultats (vide ou plusieurs lignes ou plusieurs colonnes). Correction d'un problème lors de l' invalidate_query a été effectuée toutes les cinq secondes quel que soit le lifetime. #4583 (alexeï-milovidov)
  • Éviter l'impasse lorsque le invalidate_query pour un dictionnaire avec clickhouse source était impliquant system.dictionaries table ou Dictionaries base de données (cas rare). #4599 (alexeï-milovidov)
  • Corrections pour CROSS JOIN avec vide où. #4598 (Artem Zuikov)
  • Fixe erreur de segmentation en fonction “replicate” lorsque l'argument constant est passé. #4603 (alexeï-milovidov)
  • Correction de la fonction lambda avec l'optimiseur de prédicats. #4408 (L'Hiver Zhang)
  • Plusieurs jointures plusieurs correctifs. #4595 (Artem Zuikov)

Amélioration

  • Prend en charge les alias dans la section JOIN ON pour les colonnes de la table droite. #4412 (Artem Zuikov)
  • Le résultat de plusieurs jointures nécessite des noms de résultats corrects à utiliser dans les sous-sélections. Remplacez les alias plats par des noms de source dans le résultat. #4474 (Artem Zuikov)
  • Améliorer la logique push-down pour les instructions jointes. #4387 (Ivan)

Amélioration Des Performances

  • Heuristiques améliorées de “move to PREWHERE” optimisation. #4405 (alexeï-milovidov)
  • Utilisez des tables de recherche appropriées qui utilisent L'API de HashTable pour les clés 8 bits et 16 bits. #4536 (Amos Oiseau)
  • Amélioration des performances de la comparaison de chaînes. #4564 (alexeï-milovidov)
  • Nettoyage de la file D'attente DDL distribuée dans un thread séparé afin de ne pas ralentir la boucle principale qui traite les tâches DDL distribuées. #4502 (Alex Zatelepin)
  • Lorsque min_bytes_to_use_direct_io est défini sur 1, Tous les fichiers n'ont pas été ouverts avec le mode O_DIRECT car la taille des données à lire était parfois sous-estimée par la taille d'un bloc compressé. #4526 (alexeï-milovidov)

Construction / Test / Amélioration De L'Emballage

  • Ajout du support pour clang-9 #4604 (alexeï-milovidov)
  • Corrigé de mal __asm__ instructions (encore une fois) #4621 (Konstantin Podshumok)
  • Ajouter la possibilité de spécifier les paramètres pour clickhouse-performance-test à partir de la ligne de commande. #4437 (alésapine)
  • Ajouter des tests de dictionnaires aux tests d'intégration. #4477 (alésapine)
  • Ajout de requêtes du benchmark sur le site web à des tests de performance automatisés. #4496 (alexeï-milovidov)
  • xxhash.h n'existe pas dans LZ4 externe car il s'agit d'un détail d'implémentation et ses symboles sont XXH_NAMESPACE macro. Lorsque lz4 est externe, xxHash doit aussi être externe, et les personnes à charge doivent y accéder. #4495 (Orivej Desh)
  • Correction d'un cas lorsque quantileTiming la fonction d'agrégation peut être appelée avec un argument négatif ou à virgule flottante (cela corrige le test fuzz avec un désinfectant de comportement indéfini). #4506 (alexeï-milovidov)
  • Correction d'erreur d'orthographe. #4531 (sdk2)
  • Correction de la compilation sur Mac. #4371 (Vitaly Baranov)
  • Corrections de construction Pour FreeBSD et diverses configurations de construction inhabituelles. #4444 (proller)

Clickhouse version 19.3

Clickhouse version 19.3.9.1, 2019-04-02

Corrections De Bugs

  • Correction d'un crash dans l' FULL/RIGHT JOIN lorsque nous rejoignons sur nullable vs non nullable. #4855 (Artem Zuikov)
  • Correction d'un défaut de segmentation dans clickhouse-copier. #4835 (proller)
  • Correction de la lecture de Array(LowCardinality) colonne dans de rares cas où la colonne contenait une longue séquence de tableaux vides. #4850 (Nikolai Kochetov)

Construction / Test / Amélioration De L'Emballage

Clickhouse version 19.3.7, 2019-03-12

Corrections de bugs

  • Correction d'une erreur dans #3920. Cette erreur se manifeste par une corruption aléatoire du cache (messages Unknown codec family code, Cannot seek through file) et de segmentation. Cette anomalie est apparue dans la version 19.1 et est présente dans les versions jusqu'à 19.1.10 et 19.3.6. #4623 (alexeï-milovidov)

Clickhouse version 19.3.6, 2019-03-02

Corrections de bugs

  • Quand il y a plus de 1000 threads dans un pool de threads, std::terminate peut se produire à la sortie thread. Azat Khuzhin #4485 #4505 (alexeï-milovidov)
  • Maintenant, il est possible de créer ReplicatedMergeTree* tables avec commentaires sur les colonnes sans valeurs par défaut et tables avec colonnes codecs Sans commentaires et valeurs par défaut. Corrigez également la comparaison des codecs. #4523 (alésapine)
  • Correction d'un crash sur la jointure avec un tableau ou un tuple. #4552 (Artem Zuikov)
  • Correction d'un crash dans clickhouse-copieur avec le message ThreadStatus not created. #4540 (Artem Zuikov)
  • Correction du blocage à l'arrêt du serveur si des DDL distribués étaient utilisés. #4472 (Alex Zatelepin)
  • Des numéros de colonne incorrects ont été imprimés dans un message d'erreur concernant l'analyse de format de texte pour les colonnes dont le nombre est supérieur à 10. #4484 (alexeï-milovidov)

Construire/Test/Emballage Améliorations

  • Correction de la construction avec AVX activé. #4527 (alexeï-milovidov)
  • Activer la comptabilité étendue et la comptabilité D'E / S basée sur une version bien connue au lieu du noyau sous lequel elle est compilée. #4541 (nvartolomei)
  • Permet d'ignorer le paramètre core_dump.size_limit, avertissement au lieu de lancer si la limite définie échoue. #4473 (proller)
  • Enlevé le inline les balises de void readBinary(...) dans Field.cpp. Également fusionné redondant namespace DB bloc. #4530 (hcz)

Clickhouse version 19.3.5, 2019-02-21

Corrections de bugs

  • Correction d'un bug avec de grandes requêtes d'insertion http traitement. #4454 (alésapine)
  • Correction de l'incompatibilité avec les anciennes versions en raison d'une mauvaise implémentation de send_logs_level paramètre. #4445 (alexeï-milovidov)
  • Incompatibilité arrière fixe de la fonction de table remote introduit avec des commentaires de colonne. #4446 (alexeï-milovidov)

Clickhouse version 19.3.4, 2019-02-16

Amélioration

  • La taille de l'index de la Table n'est pas prise en compte des limites de mémoire lors de ATTACH TABLE requête. Éviter la possibilité qu'un tableau ne peut pas être attachée après avoir été détaché. #4396 (alexeï-milovidov)
  • Légèrement augmenté la limite sur la chaîne max et la taille du tableau reçu de ZooKeeper. Il permet de continuer à travailler avec une taille accrue de CLIENT_JVMFLAGS=-Djute.maxbuffer=... sur la Gardienne. #4398 (alexeï-milovidov)
  • Permettre de réparer la réplique abandonnée même si elle a déjà un grand nombre de nœuds dans sa file d'attente. #4399 (alexeï-milovidov)
  • Ajouter un argument requis à SET index (nombre maximum de lignes stockées). #4386 (Nikita Vasilev)

Corrections De Bugs

  • Fixe WITH ROLLUP résultat pour le groupe par un seul LowCardinality clé. #4384 (Nikolai Kochetov)
  • Correction d'un bug dans l'index set (laissant tomber un granule s'il contient plus de max_rows rangée). #4386 (Nikita Vasilev)
  • Beaucoup de corrections de construction FreeBSD. #4397 (proller)
  • Correction de la substitution des alias dans les requêtes avec une sous-requête contenant le même alias (problème #4110). #4351 (Artem Zuikov)

Construire/Test/Emballage Améliorations

  • Ajouter la possibilité d'exécuter clickhouse-server pour les tests sans état dans l'image docker. #4347 (Vasily Nemkov)

Clickhouse version 19.3.3, 2019-02-13

Nouveauté

  • Ajouté le KILL MUTATION instruction qui permet de supprimer les mutations qui sont pour certaines raisons coincé. Ajouter latest_failed_part, latest_fail_time, latest_fail_reason champs à la system.mutations tableau pour faciliter le dépannage. #4287 (Alex Zatelepin)
  • Fonction agrégée ajoutée entropy qui calcule l'entropie de Shannon. #4238 (Quid37)
  • Ajout de la possibilité d'envoyer des requêtes INSERT INTO tbl VALUES (.... au serveur sans fractionnement sur query et data partie. #4301 (alésapine)
  • Mise en œuvre générique de arrayWithConstant la fonction a été ajoutée. #4322 (alexeï-milovidov)
  • Mettre NOT BETWEEN opérateur de comparaison. #4228 (Dmitry Naumov)
  • Mettre sumMapFiltered afin de pouvoir limiter le nombre de clés pour lesquelles les valeurs seront additionnées par sumMap. #4129 (Léo Ercolanelli)
  • Ajout du support de Nullable types de mysql table de fonction. #4198 (Emmanuel Donin de Rosière)
  • Prise en charge des expressions constantes arbitraires dans LIMIT clause. #4246 (k3box)
  • Ajouter topKWeighted fonction d'agrégation qui prend un argument supplémentaire avec un poids (entier non signé). #4245 (Andrew Golman)
  • StorageJoin maintenant prend en charge join_any_take_last_row paramètre qui permet d'écraser les valeurs existantes de la même clé. #3973 (Amos Oiseau
  • Ajout de la fonction toStartOfInterval. #4304 (Vitaly Baranov)
  • Ajouter RowBinaryWithNamesAndTypes format. #4200 (Oleg V. Kozlyuk)
  • Ajouter IPv4 et IPv6 types de données. Implémentations plus efficaces de IPv* fonction. #3669 (Vasily Nemkov)
  • Ajout de la fonction toStartOfTenMinutes(). #4298 (Vitaly Baranov)
  • Ajouter Protobuf le format de sortie. #4005 #4158 (Vitaly Baranov)
  • Ajout du support brotli pour L'interface HTTP pour l'importation de données (INSERTs). #4235 (Mikhail)
  • Ajout d'astuces pendant que l'utilisateur fait une faute de frappe dans le nom de la fonction ou tapez dans le client de ligne de commande. #4239 (Danila Kutenin)
  • Ajouter Query-Id de du Serveur HTTP en-tête de Réponse. #4231 (Mikhail)

Caractéristiques expérimentales

  • Ajouter minmax et set index de saut de données pour la famille de moteurs de table MergeTree. #4143 (Nikita Vasilev)
  • Conversion ajoutée de CROSS JOIN de INNER JOIN si cela est possible. #4221 #4266 (Artem Zuikov)

Corrections De Bugs

  • Fixe Not found column pour les colonnes en double dans JOIN ON section. #4279 (Artem Zuikov)
  • Faire START REPLICATED SENDS commande démarrer les envois répliqués. #4229 (nvartolomei)
  • Fixe l'exécution des fonctions d'agrégat avec Array(LowCardinality) argument. #4055 (KochetovNicolai)
  • Fixe mauvais comportement lors INSERT ... SELECT ... FROM file(...) requête et fichier a CSVWithNames ou TSVWIthNames le format et la première ligne de données est manquant. #4297 (alexeï-milovidov)
  • Correction d'un crash sur dictionnaire recharger si le dictionnaire n'est pas disponible. Ce bug est apparu dans 19.1.6. #4188 (proller)
  • Fixe ALL JOIN avec des doublons dans la table de droite. #4184 (Artem Zuikov)
  • Correction d'un défaut de segmentation avec use_uncompressed_cache=1 et exception avec une mauvaise taille non compressée. Ce bug est apparu dans 19.1.6. #4186 (alésapine)
  • Fixe compile_expressions bug avec comparaison de grandes dates (plus de int16). #4341 (alésapine)
  • Boucle infinie fixe lors de la sélection de la fonction de table numbers(0). #4280 (alexeï-milovidov)
  • Désactiver temporairement l'optimisation des prédicats pour ORDER BY. #3890 (L'Hiver Zhang)
  • Fixe Illegal instruction erreur lors de l'utilisation des fonctions base64 sur les anciens processeurs. Cette erreur n'a été reproduite que lorsque ClickHouse a été compilé avec gcc-8. #4275 (alexeï-milovidov)
  • Fixe No message received erreur lors de l'interaction avec le pilote ODBC PostgreSQL via une connexion TLS. Corrige également segfault lors de l'utilisation du pilote MySQL ODBC. #4170 (alexeï-milovidov)
  • Correction d'un résultat incorrect lorsque Date et DateTime les arguments sont utilisés dans les branches de l'opérateur conditionnel (fonction if). Ajouté cas générique pour la fonction if. #4243 (alexeï-milovidov)
  • Les dictionnaires ClickHouse se chargent maintenant dans clickhouse processus. #4166 (alexeï-milovidov)
  • Fixe blocage lorsqu' SELECT à partir d'une table avec File moteur a été rejugé après No such file or directory erreur. #4161 (alexeï-milovidov)
  • Condition de course fixe lors de la sélection de system.tables peut donner table doesn't exist erreur. #4313 (alexeï-milovidov)
  • clickhouse-client peut segfault à la sortie lors du chargement des données pour les suggestions de ligne de commande si elle a été exécutée en mode interactif. #4317 (alexeï-milovidov)
  • Correction d'un bug lors de l'exécution de mutations contenant IN les opérateurs produisaient des résultats incorrects. #4099 (Alex Zatelepin)
  • Correction d'une erreur: si une base de données avec Dictionary moteur, tous les dictionnaires forcés de charger au démarrage du serveur, et s'il y a un dictionnaire avec la source de ClickHouse de localhost, le dictionnaire ne peut pas charger. #4255 (alexeï-milovidov)
  • Correction d'une erreur lorsque les journaux système sont tentés de créer à nouveau à l'arrêt du serveur. #4254 (alexeï-milovidov)
  • Renvoyer correctement le bon type et gérer correctement les verrous joinGet fonction. #4153 (Amos Oiseau)
  • Ajouter sumMapWithOverflow fonction. #4151 (Léo Ercolanelli)
  • Fixe erreur de segmentation avec allow_experimental_multiple_joins_emulation. 52de2c (Artem Zuikov)
  • Correction d'un bug avec incorrect Date et DateTime comparaison. #4237 (valexey)
  • Correction d'un test de fuzz sous un désinfectant de comportement indéfini: ajout d'une vérification de type de paramètre pour quantile*Weighted la famille de fonctions. #4145 (alexeï-milovidov)
  • Correction d'une condition de course rare lors de la suppression d'anciennes pièces de données peuvent échouer avec File not found erreur. #4378 (alexeï-milovidov)
  • Correction du paquet d'installation avec /etc/clickhouse-server/config manquant.XML. #4343 (proller)

Construire/Test/Emballage Améliorations

  • Paquet Debian: correct/etc/clickhouse-server / lien prétraité selon config. #4205 (proller)
  • Divers correctifs de construction Pour FreeBSD. #4225 (proller)
  • Ajout de la possibilité de créer, remplir et déposer des tables dans perftest. #4220 (alésapine)
  • Ajout d'un script pour vérifier les doublons comprend. #4326 (alexeï-milovidov)
  • Ajout de la possibilité d'exécuter des requêtes par index dans le test de performance. #4264 (alésapine)
  • Paquet avec des symboles de débogage est suggéré d'être installé. #4274 (alexeï-milovidov)
  • Refactoring de performance-test. Meilleure journalisation et gestion des signaux. #4171 (alésapine)
  • Ajout de documents à Yandex anonymisé.Jeux de données Metrika. #4164 (alésapine)
  • Аdded tool for converting an old month-partitioned part to the custom-partitioned format. #4195 (Alex Zatelepin)
  • Ajout de documents sur deux ensembles de données dans s3. #4144 (alésapine)
  • Ajout d'un script qui crée le journal des modifications à partir de la description des requêtes d'extraction. #4169 #4173 (KochetovNicolai) (KochetovNicolai)
  • Ajout du module puppet pour Clickhouse. #4182 (Maxim Fedotov)
  • Ajout de documents pour un groupe de fonctions non documentées. #4168 (L'Hiver Zhang)
  • ARM construire des correctifs. #4210#4306 #4291 (proller) (proller)
  • Tests de dictionnaire maintenant capables de s'exécuter à partir de ctest. #4189 (proller)
  • Maintenant /etc/ssl est utilisé comme répertoire par défaut avec les certificats SSL. #4167 (alexeï-milovidov)
  • Ajout de la vérification SSE et AVX instruction au début. #4234 (Igr)
  • Le script d'initialisation attendra le serveur jusqu'au démarrage. #4281 (proller)

Modifications Incompatibles En Arrière

  • Retiré allow_experimental_low_cardinality_type paramètre. LowCardinality les types de données sont prêts pour la production. #4323 (alexeï-milovidov)
  • Réduisez la taille du cache mark et la taille du cache non compressé en conséquence à la quantité de mémoire disponible. #4240 (Lopatin Konstantin
  • Ajouté le mot INDEX dans CREATE TABLE requête. Une colonne avec le nom index doivent être indiqués avec backticks ou des guillemets: `index`. #4143 (Nikita Vasilev)
  • sumMap désormais promouvoir le type de résultat au lieu de débordement. Vieux sumMap le comportement peut être obtenu en utilisant sumMapWithOverflow fonction. #4151 (Léo Ercolanelli)

Amélioration Des Performances

  • std::sort remplacé par pdqsort pour les requêtes sans LIMIT. #4236 (Evgenii Pravda)
  • Maintenant, le serveur réutilise les threads du pool de threads global. Cela affecte les performances dans certains cas particuliers. #4150 (alexeï-milovidov)

Amélioration

  • Implémentation du support AIO Pour FreeBSD. #4305 (urgordeadbeef)
  • SELECT * FROM a JOIN b USING a, b maintenant de retour a et b colonnes uniquement à partir de la table de gauche. #4141 (Artem Zuikov)
  • Permettre -C option du client pour travailler comme -c option. #4232 (syominsergey)
  • Option --password utilisé sans valeur nécessite un mot de passe de stdin. #4230 (BSD_Conqueror)
  • Ajout de la mise en évidence des métacaractères Non échappés dans les littéraux de chaîne qui contiennent LIKE expressions ou expressions rationnelles. #4327 (alexeï-milovidov)
  • Ajout de l'annulation des requêtes HTTP en lecture seule si le socket client disparaît. #4213 (nvartolomei)
  • Maintenant, le serveur signale la progression pour maintenir les connexions client en vie. #4215 (Ivan)
  • Message légèrement meilleur avec raison pour optimiser la requête avec optimize_throw_if_noop paramètre est activé. #4294 (alexeï-milovidov)
  • Ajout du support de --version option pour le serveur clickhouse. #4251 (Lopatin Konstantin)
  • Ajouter --help/-h option pour clickhouse-server. #4233 (Yuriy Baranov)
  • Ajout du support pour les sous-requêtes scalaires avec le résultat de l'état de la fonction d'agrégation. #4348 (Nikolai Kochetov)
  • Amélioration du temps d'arrêt du serveur et modifie le temps d'attente. #4372 (alexeï-milovidov)
  • Ajout d'informations sur le paramètre replicated_can_become_leader au système.réplicas et ajouter la journalisation si la réplique ne sera pas essayer de devenir leader. #4379 (Alex Zatelepin)

Clickhouse Version 19.1

Clickhouse version 19.1.14, 2019-03-14

  • Correction d'une erreur Column ... queried more than once cela peut arriver si le réglage asterisk_left_columns_only est réglé sur 1 en cas d'utilisation GLOBAL JOIN avec SELECT * (cas rare). Le problème n'existe pas dans 19.3 et plus récent. 6bac7d8d (Artem Zuikov)

Clickhouse version 19.1.13, 2019-03-12

Cette version contient exactement le même ensemble de patchs 19.3.7.

Clickhouse version 19.1.10, 2019-03-03

Cette version contient exactement le même ensemble de patchs 19.3.6.

Clickhouse Version 19.1

Clickhouse version 19.1.9, 2019-02-21

Corrections de bugs

  • Correction de l'incompatibilité avec les anciennes versions en raison d'une mauvaise implémentation de send_logs_level paramètre. #4445 (alexeï-milovidov)
  • Incompatibilité arrière fixe de la fonction de table remote introduit avec des commentaires de colonne. #4446 (alexeï-milovidov)

Clickhouse version 19.1.8, 2019-02-16

Corrections De Bugs

  • Correction du paquet d'installation avec /etc/clickhouse-server/config manquant.XML. #4343 (proller)

Clickhouse Version 19.1

Clickhouse version 19.1.7, 2019-02-15

Corrections De Bugs

  • Renvoyer correctement le bon type et gérer correctement les verrous joinGet fonction. #4153 (Amos Oiseau)
  • Correction d'une erreur lorsque les journaux système sont tentés de créer à nouveau à l'arrêt du serveur. #4254 (alexeï-milovidov)
  • Correction d'une erreur: si une base de données avec Dictionary moteur, tous les dictionnaires forcés de charger au démarrage du serveur, et s'il y a un dictionnaire avec la source de ClickHouse de localhost, le dictionnaire ne peut pas charger. #4255 (alexeï-milovidov)
  • Correction d'un bug lors de l'exécution de mutations contenant IN les opérateurs produisaient des résultats incorrects. #4099 (Alex Zatelepin)
  • clickhouse-client peut segfault à la sortie lors du chargement des données pour les suggestions de ligne de commande si elle a été exécutée en mode interactif. #4317 (alexeï-milovidov)
  • Condition de course fixe lors de la sélection de system.tables peut donner table doesn't exist erreur. #4313 (alexeï-milovidov)
  • Fixe blocage lorsqu' SELECT à partir d'une table avec File moteur a été rejugé après No such file or directory erreur. #4161 (alexeï-milovidov)
  • Correction d'un problème: les dictionnaires ClickHouse locaux sont chargés via TCP, mais devraient être chargés dans le processus. #4166 (alexeï-milovidov)
  • Fixe No message received erreur lors de l'interaction avec le pilote ODBC PostgreSQL via une connexion TLS. Corrige également segfault lors de l'utilisation du pilote MySQL ODBC. #4170 (alexeï-milovidov)
  • Désactiver temporairement l'optimisation des prédicats pour ORDER BY. #3890 (L'Hiver Zhang)
  • Boucle infinie fixe lors de la sélection de la fonction de table numbers(0). #4280 (alexeï-milovidov)
  • Fixe compile_expressions bug avec comparaison de grandes dates (plus de int16). #4341 (alésapine)
  • Correction d'un défaut de segmentation avec uncompressed_cache=1 et exception avec une mauvaise taille non compressée. #4186 (alésapine)
  • Fixe ALL JOIN avec des doublons dans la table de droite. #4184 (Artem Zuikov)
  • Fixe mauvais comportement lors INSERT ... SELECT ... FROM file(...) requête et fichier a CSVWithNames ou TSVWIthNames le format et la première ligne de données est manquant. #4297 (alexeï-milovidov)
  • Fixe l'exécution des fonctions d'agrégat avec Array(LowCardinality) argument. #4055 (KochetovNicolai)
  • Paquet Debian: correct/etc/clickhouse-server / lien prétraité selon config. #4205 (proller)
  • Correction d'un test de fuzz sous un désinfectant de comportement indéfini: ajout d'une vérification de type de paramètre pour quantile*Weighted la famille de fonctions. #4145 (alexeï-milovidov)
  • Faire START REPLICATED SENDS commande démarrer les envois répliqués. #4229 (nvartolomei)
  • Fixe Not found column pour les colonnes en double dans JOIN ON section. #4279 (Artem Zuikov)
  • Maintenant /etc/ssl est utilisé comme répertoire par défaut avec les certificats SSL. #4167 (alexeï-milovidov)
  • Correction d'un crash sur dictionnaire recharger si le dictionnaire n'est pas disponible. #4188 (proller)
  • Correction d'un bug avec incorrect Date et DateTime comparaison. #4237 (valexey)
  • Correction d'un résultat incorrect lorsque Date et DateTime les arguments sont utilisés dans les branches de l'opérateur conditionnel (fonction if). Ajouté cas générique pour la fonction if. #4243 (alexeï-milovidov)

Clickhouse version 19.1.6, 2019-01-24

Nouveauté

  • Codecs de compression personnalisés par colonne pour les tables. #3899 #4111 (alésapine, L'Hiver Zhang, Anatoli)
  • Ajout du codec de compression Delta. #4052 (alésapine)
  • Permettre à ALTER codecs de compression. #4054 (alésapine)
  • L'ajout de fonctions left, right, trim, ltrim, rtrim, timestampadd, timestampsub pour la compatibilité standard SQL. #3826 (Ivan Blinkov)
  • Soutien pour écrire dans HDFS des tables et des hdfs table de fonction. #4084 (alésapine)
  • L'ajout de fonctions pour rechercher plusieurs chaines de grosse botte de foin: multiPosition, multiSearch ,firstMatch aussi avec -UTF8, -CaseInsensitive, et -CaseInsensitiveUTF8 variantes. #4053 (Danila Kutenin)
  • Taille des éclats inutilisés si SELECT filtres de requête par clé de sharding (réglage optimize_skip_unused_shards). #3851 (Gleb Kanterov, Ivan)
  • Permettre Kafka moteur à ignorer certains nombre d'erreurs d'analyse par bloc. #4094 (Ivan)
  • Ajout du support pour CatBoost évaluation des modèles multiclass. Fonction modelEvaluate retourne tuple avec des prédictions brutes par classe pour les modèles multiclasse. libcatboostmodel.so devrait être construit avec #607. #3959 (KochetovNicolai)
  • L'ajout de fonctions filesystemAvailable, filesystemFree, filesystemCapacity. #4097 (Boris Granveaud)
  • Ajouté les fonctions de hachage xxHash64 et xxHash32. #3905 (filimonov)
  • Ajouter gccMurmurHash fonction de hachage (hachage Murmur aromatisé GCC) qui utilise la même graine de hachage que gcc #4000 (sundyli)
  • Ajouté les fonctions de hachage javaHash, hiveHash. #3811 (shangshujie365)
  • Ajout d'un tableau de fonction remoteSecure. Fonction fonctionne comme remote, mais il utilise une connexion sécurisée. #4088 (proller)

Caractéristiques expérimentales

  • Ajout de plusieurs jointures émulation (allow_experimental_multiple_joins_emulation paramètre). #3946 (Artem Zuikov)

Corrections De Bugs

  • Faire compiled_expression_cache_size réglage limité par défaut pour réduire la consommation de mémoire. #4041 (alésapine)
  • Correction d'un bug qui a conduit à des interruptions dans les threads qui effectuent des modifications de tables répliquées et dans le thread qui met à jour la configuration de ZooKeeper. #2947 #3891 #3934 (Alex Zatelepin)
  • Correction d'une condition de concurrence lors de l'exécution d'une tâche alter distribuée. La condition de concurrence a conduit à plus d'une réplique essayant d'exécuter la tâche et toutes les répliques sauf une échouant avec une erreur ZooKeeper. #3904 (Alex Zatelepin)
  • Correction d'un bug lors de l' from_zk les éléments de configuration n'ont pas été actualisés après l'expiration d'une requête à ZooKeeper. #2947 #3947 (Alex Zatelepin)
  • Correction d'un bug avec un mauvais préfixe pour les masques de sous-réseau IPv4. #3945 (alésapine)
  • Correction d'un crash (std::terminate) dans de rares cas où un nouveau thread ne peut pas être créé en raison de ressources épuisées. #3956 (alexeï-milovidov)
  • Correction d'un bug quand dans remote exécution de la fonction de table lorsque des restrictions incorrectes ont été utilisées pour in getStructureOfRemoteTable. #4009 (alésapine)
  • Correction d'une fuite de sockets netlink. Ils ont été placés dans un pool où ils n'ont jamais été supprimés et de nouvelles sockets ont été créées au début d'un nouveau thread lorsque toutes les sockets actuelles étaient en cours d'utilisation. #4017 (Alex Zatelepin)
  • Correction d'un bug avec fermeture /proc/self/fd répertoire plus tôt que tous les fds ont été lus à partir de /proc après la bifurcation odbc-bridge sous-processus. #4120 (alésapine)
  • Correction de la chaîne à la conversion monotone UInt en cas d'utilisation de la chaîne dans la clé primaire. #3870 (L'Hiver Zhang)
  • Correction d'une erreur dans le calcul de la monotonie de la fonction de conversion entière. #3921 (alexeï-milovidov)
  • Fixe erreur de segmentation dans arrayEnumerateUniq, arrayEnumerateDense fonctions en cas d'arguments non valides. #3909 (alexeï-milovidov)
  • Corriger UB dans StorageMerge. #3910 (Amos Oiseau)
  • Correction de segfault dans les fonctions addDays, subtractDays. #3913 (alexeï-milovidov)
  • Correction d'une erreur: fonctions round, floor, trunc, ceil peut renvoyer un résultat faux lorsqu'il est exécuté sur un argument entier et une grande échelle négative. #3914 (alexeï-milovidov)
  • Correction d'un bug induit par kill query sync ce qui conduit à une décharge de base. #3916 (muVulDeePecker)
  • Correction d'un bug avec un long délai après la file d'attente de réplication vide. #3928 #3932 (alésapine)
  • Correction d'une utilisation excessive de la mémoire en cas d'insertion dans la table avec LowCardinality clé primaire. #3955 (KochetovNicolai)
  • Fixe LowCardinality la sérialisation de Native format en cas de tableaux vides. #3907 #4011 (KochetovNicolai)
  • Correction d'un résultat incorrect lors de l'utilisation de la colonne numérique distinct by single LowCardinality. #3895 #4012 (KochetovNicolai)
  • Agrégation spécialisée fixe avec la clé LowCardinality (dans le cas où compile paramètre est activé). #3886 (KochetovNicolai)
  • Correction du transfert d'utilisateur et de mot de passe pour les requêtes de tables répliquées. #3957 (alésapine) (小路)
  • Correction d'une condition de course très rare qui peut se produire lors de la liste des tables dans la base de données du dictionnaire lors du rechargement des dictionnaires. #3970 (alexeï-milovidov)
  • Correction d'un résultat incorrect lors de L'utilisation avec ROLLUP ou CUBE. #3756 #3837 (Sam Chou)
  • Alias de colonne fixe pour la requête avec JOIN ON syntaxe et tables distribuées. #3980 (L'Hiver Zhang)
  • Correction d'une erreur dans la mise en œuvre interne de quantileTDigest (trouvé par Artem Vakhrushev). Cette erreur ne se produit jamais dans ClickHouse et n'était pertinente que pour ceux qui utilisent directement clickhouse codebase comme bibliothèque. #3935 (alexeï-milovidov)

Amélioration

  • Soutien pour IF NOT EXISTS dans ALTER TABLE ADD COLUMN les déclarations avec IF EXISTS dans DROP/MODIFY/CLEAR/COMMENT COLUMN. #3900 (Boris Granveaud)
  • Fonction parseDateTimeBestEffort: prise en charge de formats DD.MM.YYYY, DD.MM.YY, DD-MM-YYYY, DD-Mon-YYYY, DD/Month/YYYY et similaires. #3922 (alexeï-milovidov)
  • CapnProtoInputStream maintenant soutenir les structures déchiquetées. #4063 (Odin Hultgren Van Der Horst)
  • Amélioration de la facilité d'utilisation: ajout d'une vérification que le processus du serveur est démarré à partir du propriétaire du répertoire de données. Ne pas autoriser le démarrage du serveur à partir de la racine si les données appartiennent à un utilisateur non root. #3785 (sergey-V-galtsev)
  • Meilleure logique de vérification des colonnes requises lors de l'analyse des requêtes avec des jointures. #3930 (Artem Zuikov)
  • Diminution du nombre de connexions en cas de grand nombre de tables distribuées dans un seul serveur. #3726 (L'Hiver Zhang)
  • Appuyé ligne de totaux pour WITH TOTALS requête pour le pilote ODBC. #3836 (Maksim Koritckiy)
  • Autorisé à utiliser Enums comme entiers à l'intérieur de la fonction if. #3875 (Ivan)
  • Ajouter low_cardinality_allow_in_native_format paramètre. Si désactivé, ne pas utiliser LowCadrinality type de Native format. #3879 (KochetovNicolai)
  • Suppression de certains objets redondants du cache des expressions compilées pour réduire l'utilisation de la mémoire. #4042 (alésapine)
  • Ajouter vérifier que SET send_logs_level = 'value' requête accepter la valeur appropriée. #3873 (Sabyanin Maxim)
  • Vérification de type de données fixe dans les fonctions de conversion de type. #3896 (L'Hiver Zhang)

Amélioration Des Performances

  • Ajouter un paramètre MergeTree use_minimalistic_part_header_in_zookeeper. Si cette option est activée, les tables répliquées stockent les métadonnées de partie compacte dans un znode de partie unique. Cela peut réduire considérablement la taille de l'instantané ZooKeeper (surtout si les tables ont beaucoup de colonnes). Notez qu'après avoir activé ce paramètre, vous ne pourrez pas passer à une version qui ne le supporte pas. #3960 (Alex Zatelepin)
  • Ajouter une implémentation basée sur DFA pour les fonctions sequenceMatch et sequenceCount en cas de motif ne contient pas de temps. #4004 (Léo Ercolanelli)
  • Amélioration des performances pour la sérialisation des nombres entiers. #3968 (Amos Oiseau)
  • Zéro gauche padding PODArray de sorte que -1 élément est toujours valide et mis à zéro. Il est utilisé pour le calcul sans branche des décalages. #3920 (Amos Oiseau)
  • Revenir jemalloc version qui conduisent à la dégradation des performances. #4018 (alexeï-milovidov)

Modifications Incompatibles En Arrière

  • Fonctionnalité non documentée supprimée ALTER MODIFY PRIMARY KEY parce qu'il a été remplacé par le ALTER MODIFY ORDER BY commande. #3887 (Alex Zatelepin)
  • Retiré de la fonction shardByHash. #3833 (alexeï-milovidov)
  • Interdire l'utilisation de sous-requêtes scalaires avec le résultat de type AggregateFunction. #3865 (Ivan)

Construire/Test/Emballage Améliorations

  • Ajout du support pour PowerPC (ppc64le) construire. #4132 (Danila Kutenin)
  • Les tests fonctionnels avec État sont exécutés sur un ensemble de données Public disponible. #3969 (alexeï-milovidov)
  • Correction d'une erreur lorsque le serveur ne peut pas démarrer avec le bash: /usr/bin/clickhouse-extract-from-config: Operation not permitted message dans Docker ou systemd-nspawn. #4136 (alexeï-milovidov)
  • Mettre rdkafka bibliothèque à V1.0. 0-RC5. Utilisé cppkafka au lieu de l'interface c brute. #4025 (Ivan)
  • Mettre mariadb-client bibliothèque. Correction d'un des problèmes trouvés par UBSan. #3924 (alexeï-milovidov)
  • Quelques corrections pour UBSan construit. #3926 #3021 #3948 (alexeï-milovidov)
  • Ajout de tests par validation avec UBSan build.
  • Ajout d'exécutions par validation de PVS-Studio static analyzer.
  • Correction de bugs trouvés par PVS-Studio. #4013 (alexeï-milovidov)
  • Correction de problèmes de compatibilité glibc. #4100 (alexeï-milovidov)
  • Déplacez les images Docker vers 18.10 et ajoutez un fichier de compatibilité pour glibc > = 2.28 #3965 (alésapine)
  • Ajouter une variable env si l'utilisateur ne veut pas chown répertoires dans l'image Docker du serveur. #3967 (alésapine)
  • Activé la plupart des avertissements de -Weverything à clang. Permettre -Wpedantic. #3986 (alexeï-milovidov)
  • Ajout de quelques avertissements supplémentaires disponibles uniquement dans clang 8. #3993 (alexeï-milovidov)
  • Lien vers libLLVM plutôt que de libs LLVM individuels lors de l'utilisation de liens partagés. #3989 (Orivej Desh)
  • Ajout de variables de désinfection pour les images de test. #4072 (alésapine)
  • clickhouse-server le paquet debian recommandera libcap2-bin package à utiliser setcap outil pour définir les capacités. Cette option est facultative. #4093 (alexeï-milovidov)
  • Amélioration du temps de compilation, fixe comprend. #3898 (proller)
  • Ajout de tests de performance pour les fonctions de hachage. #3918 (filimonov)
  • Dépendances de bibliothèque cycliques fixes. #3958 (proller)
  • Amélioration de la compilation avec une faible mémoire disponible. #4030 (proller)
  • Ajout d'un script de test pour reproduire la dégradation des performances dans jemalloc. #4036 (alexeï-milovidov)
  • Correction de fautes d'orthographe dans les commentaires et les littéraux de chaîne sous dbms. #4122 (maiha)
  • Correction de fautes dans les commentaires. #4089 (Evgenii Pravda)

Changelog pour 2018