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

* remove temporary code

* fix style check

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

144 KiB
Raw Blame History

machine_translated machine_translated_rev toc_folder_title toc_priority toc_title
true f865c9653f Changelog 74 2020

Clickhouse Version V20. 3

Clickhouse Version V20. 3. 4. 10, 2020-03-20

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 20.1.8.41
  • Fixer manquant rows_before_limit_at_least pour les requêtes sur http (avec pipeline de processeurs). Cela corrige #9730. #9757 (Nikolai Kochetov)

Clickhouse Version V20. 3. 3. 6, 2020-03-17

Bug Fix

  • Cette version contient également toutes les corrections de bugs de 20.1.7.38
  • Correction dun bug dans une réplication qui ne permet pas la réplication de fonctionner si lUtilisateur a exécuté des mutations sur la version précédente. Cela corrige #9645. #9652 (alésapine). Il rend la version 20.3 rétrocompatible à nouveau.
  • Ajouter un paramètre use_compact_format_in_distributed_parts_names qui permet décrire des fichiers pour INSERT les requêtes en Distributed tableau avec un format plus compact. Cela corrige #9647. #9653 (alésapine). Il rend la version 20.3 rétrocompatible à nouveau.

Clickhouse Version V20. 3. 2. 1, 2020-03-12

Modification Incompatible En Arrière

  • Correction du problème file name too long lors de lenvoi de données pour Distributed tables pour un grand nombre de répliques. Correction du problème que les informations didentification de réplique étaient exposées dans le journal du serveur. Le format du nom du répertoire sur le disque a été changé en [shard{shard_index}[_replica{replica_index}]]. #8911 (Mikhail Korotov) Après la mise à niveau vers la nouvelle version, vous ne pourrez pas rétrograder sans intervention manuelle, car lancienne version du serveur ne reconnaît pas le nouveau format de répertoire. Si vous souhaitez passer, vous devez renommer manuellement les répertoires correspondant à lancien format. Cette modification sapplique uniquement si vous avez utilisé asynchrone INSERTs Distributed table. Dans la version 20.3.3, nous allons introduire un paramètre qui vous permettra dactiver le nouveau format progressivement.
  • Modification du format des entrées du journal de réplication pour les commandes de mutation. Vous devez attendre que les anciennes mutations soient traitées avant dinstaller la nouvelle version.
  • Implémentez un profileur de mémoire simple qui vide stacktraces vers system.trace_log chaque n octets au-dessus de la limite dallocation douce #8765 (Ivan) #9472 (alexeï-milovidov) La colonne de system.trace_log a été renommé de timer_type de trace_type. Cela nécessitera des changements dans les outils danalyse des performances et de traitement flamegraph de tiers.
  • Utilisez Lid de thread du système dexploitation partout au lieu du numéro de thread interne. Cela corrige #7477 Vieux clickhouse-client impossible de recevoir les journaux envoyés par le serveur lorsque le paramètre send_logs_level est activé, car les noms et les types des messages de journal structurés ont été modifiés. Dautre part, différentes versions de serveur peuvent envoyer des journaux avec différents types les uns aux autres. Lorsque vous nutilisez pas l send_logs_level réglage, vous ne devez pas soin. #8954 (alexeï-milovidov)
  • Supprimer indexHint fonction #9542 (alexeï-milovidov)
  • Supprimer findClusterIndex, findClusterValue fonction. Cela corrige #8641. Si vous utilisez ces fonctions, envoyez un courriel à clickhouse-feedback@yandex-team.com #9543 (alexeï-milovidov)
  • Maintenant, il nest pas permis de créer des colonnes ou ajouter des colonnes avec SELECT sous-requête comme expression par défaut. #9481 (alésapine)
  • Exiger des alias pour les sous-requêtes dans la JOINTURE. #9274 (Artem Zuikov)
  • Améliorer ALTER MODIFY/ADD les requêtes de la logique. Maintenant vous ne pouvez pas ADD colonne sans type, MODIFY lexpression par défaut ne change pas le type de colonne et MODIFY type ne perd pas la valeur dexpression par défaut. Fixer #8669. #9227 (alésapine)
  • Exiger que le serveur soit redémarré pour appliquer les modifications dans la configuration de journalisation. Il sagit dune solution de contournement temporaire pour éviter le bogue où le serveur se connecte à un fichier journal supprimé (voir #8696). #8707 (Alexander Kuzmenkov)
  • Paramètre experimental_use_processors est activé par défaut. Ce paramètre active lutilisation du nouveau pipeline de requêtes. Cest un refactoring interne et nous nattendons aucun changement visible. Si vous voyez des problèmes, réglez-le sur Retour à zéro. #8768 (alexeï-milovidov)

Nouveauté

  • Ajouter Avro et AvroConfluent dentrée/sortie de formats #8571 (Andrew Onyshchuk) #8957 (Andrew Onyshchuk) #8717 (alexeï-milovidov)
  • Mises à jour multithread et non bloquantes des clés expirées dans cache dictionnaires (avec autorisation facultative pour lire les anciens). #8303 (Nikita Mikhaylov)
  • Ajouter une requête ALTER ... MATERIALIZE TTL. Il exécute mutation qui force à supprimer les données expirées par TTL et recalcule les méta-informations sur TTL dans toutes les parties. #8775 (Anton Popov)
  • Passez de HashJoin à MergeJoin (sur le disque) si nécessaire #9082 (Artem Zuikov)
  • Ajouter MOVE PARTITION commande pour ALTER TABLE #4729 #6168 (Guillaume Tassery)
  • Le rechargement de la configuration de stockage du fichier de configuration à la volée. #8594 (Vladimir Chebotarev)
  • Autorisé à changer storage_policy pas moins riche. #8107 (Vladimir Chebotarev)
  • Ajout du support pour globs / jokers pour le stockage S3 et la fonction de table. #8851 (Vladimir Chebotarev)
  • Mettre bitAnd, bitOr, bitXor, bitNot pour FixedString(N) type de données. #9091 (Guillaume Tassery)
  • Ajout de la fonction bitCount. Cela corrige #8702. #8708 (alexeï-milovidov) #8749 (ikopylov)
  • Ajouter generateRandom fonction de table pour générer des lignes aléatoires avec un schéma donné. Permet de remplir une table de test arbitraire avec des données. #8994 (Ilya Yatsishin)
  • JSONEachRowFormat: support cas particulier lorsque les objets enfermés dans un tableau de niveau supérieur. #8860 (Kruglov Pavel)
  • Il est maintenant possible de créer une colonne avec DEFAULT expression qui dépend dune colonne avec défaut ALIAS expression. #9489 (alésapine)
  • Autoriser à spécifier --limit plus que la taille des données source dans clickhouse-obfuscator. Les données se répéteront avec différentes graines aléatoires. #9155 (alexeï-milovidov)
  • Ajouter groupArraySample fonction (similaire à groupArray) avec réservoir algorithme déchantillonnage. #8286 (Amos Oiseau)
  • Maintenant, vous pouvez surveiller la taille de la file dattente de mise à jour dans cache/complex_key_cache dictionnaires via les métriques du système. #9413 (Nikita Mikhaylov)
  • Autoriser Lutilisation de CRLF comme séparateur de ligne au format de sortie CSV avec réglage output_format_csv_crlf_end_of_line est réglé sur 1 #8934 #8935 #8963 (Mikhail Korotov)
  • Mettre en œuvre plus de fonctions de la H3 API: h3GetBaseCell, h3HexAreaM2, h3IndexesAreNeighbors, h3ToChildren, h3ToString et stringToH3 #8938 (Nico Mandery)
  • Nouveau paramètre introduit: max_parser_depth pour contrôler la taille maximale de la pile et permettre de grandes requêtes complexes. Cela corrige #6681 et #7668. #8647 (Maxim Smirnov)
  • Ajouter un paramètre force_optimize_skip_unused_shards réglage sur lancer si le saut déclats inutilisés nest pas possible #8805 (Azat Khuzhin)
  • Permet de configurer plusieurs disques / volumes pour stocker des données pour lenvoi Distributed moteur #8756 (Azat Khuzhin)
  • Politique de stockage de soutien (<tmp_policy> pour le stockage temporaire des données. #8750 (Azat Khuzhin)
  • Ajouter X-ClickHouse-Exception-Code En-tête HTTP défini si une exception a été levée avant lenvoi de données. Cela met en œuvre #4971. #8786 (Mikhail Korotov)
  • Ajout de la fonction ifNotFinite. Cest juste un sucre syntaxique: ifNotFinite(x, y) = isFinite(x) ? x : y. #8710 (alexeï-milovidov)
  • Ajouter last_successful_update_time colonne en system.dictionaries table #9394 (Nikita Mikhaylov)
  • Ajouter blockSerializedSize fonction (taille sur disque sans compression) #8952 (Azat Khuzhin)
  • Ajouter une fonction moduloOrZero #9358 (hcz)
  • Tables système ajoutées system.zeros et system.zeros_mt ainsi que les fonctions de conte zeros() et zeros_mt(). Les Tables (et les fonctions de table) contiennent une seule colonne avec le nom zero et le type UInt8. Cette colonne contient des zéros. Il est nécessaire à des fins de test comme la méthode la plus rapide pour générer de nombreuses lignes. Cela corrige #6604 #9593 (Nikolai Kochetov)

Caractéristique Expérimentale

  • Ajouter un nouveau format compact de pièces dans MergeTree-table de famille dont toutes les colonnes sont stockées dans un fichier. Il aide à augmenter les performances des inserts petits et fréquents. Lancien format (un fichier par colonne) sappelle maintenant wide. Le format de stockage des données est contrôlé par les paramètres min_bytes_for_wide_part et min_rows_for_wide_part. #8290 (Anton Popov)
  • Prise en charge du stockage S3 pour Log, TinyLog et StripeLog table. #8862 (Pavel Kovalenko)

Bug Fix

  • Correction despaces incohérents dans les messages de journal. #9322 (alexeï-milovidov)
  • Correction dun bug dans lequel les tableaux de tuples sans nom ont été aplatis en tant que structures imbriquées lors de la création de la table. #8866 (achulkov2)
  • Correction du problème lorsque “Too many open files” lerreur peut se produire sil y a trop de fichiers correspondant glob modèle dans File table ou file table de fonction. Maintenant, les fichiers sont ouverts paresseusement. Cela corrige #8857 #8861 (alexeï-milovidov)
  • DROP table temporaire ne supprime plus que la table temporaire. #8907 (Vitaly Baranov)
  • Supprimer la partition obsolète lorsque nous éteignons le serveur ou détacher/joindre une table. #8602 (Guillaume Tassery)
  • Pour savoir comment le disque par défaut calcule lespace libre à partir de data répertoire. Correction du problème lorsque la quantité despace libre nest pas calculée correctement si l data le répertoire est monté sur un appareil séparé (cas rare). Cela corrige #7441 #9257 (Mikhail Korotov)
  • Permettre virgule (croix) joindre avec IN () à lintérieur. #9251 (Artem Zuikov)
  • Permettre de réécrire CROSS to INNER JOIN sil ny a pas [pas] comme opérateur dans la section WHERE. #9229 (Artem Zuikov)
  • Correction dun résultat incorrect possible après GROUP BY avec le paramètre activé distributed_aggregation_memory_efficient. Fixer #9134. #9289 (Nikolai Kochetov)
  • Les clés trouvées ont été comptées comme manquées dans les métriques des dictionnaires de cache. #9411 (Nikita Mikhaylov)
  • Correction du protocole de réplication incompatibilité introduit dans #8598. #9412 (alésapine)
  • Condition de course fixe sur queue_task_handle au démarrage de ReplicatedMergeTree table. #9552 (alexeï-milovidov)
  • Jeton NOT ne fonctionne pas dans SHOW TABLES NOT LIKE requête #8727 #8940 (alexeï-milovidov)
  • Vérification de plage ajoutée à la fonction h3EdgeLengthM. Sans cette vérification, un débordement de tampon est possible. #8945 (alexeï-milovidov)
  • Correction dun bug dans les calculs par lots des opérations logiques ternaires sur plusieurs arguments (plus de 10). #8718 (Alexander Kazakov)
  • Correction dune erreur Doptimisation de PREWHERE, qui pourrait conduire à des Inconsistent number of columns got from MergeTreeRangeReader exception. #9024 (Anton Popov)
  • Fix inattendu Timeout exceeded while reading from socket exception, qui se produit aléatoirement sur une connexion sécurisée avant le délai dexpiration réellement dépassé et lorsque query profiler est activé. Également ajouter connect_timeout_with_failover_secure_ms paramètres (par défaut 100 ms), qui est similaire à connect_timeout_with_failover_ms, mais est utilisé pour les connexions sécurisées (parce que la liaison SSL est plus lente, que la connexion TCP ordinaire) #9026 (tavplubix)
  • Correction dun bug avec la finalisation des mutations, lorsque la mutation peut se bloquer dans létat avec parts_to_do=0 et is_done=0. #9022 (alésapine)
  • Utilisez une nouvelle logique de jointure avec partial_merge_join paramètre. Il est possible de faire ANY|ALL|SEMI LEFT et ALL INNER les jointures avec partial_merge_join=1 maintenant. #8932 (Artem Zuikov)
  • Shard pince maintenant les paramètres obtenus de linitiateur aux constaints de la partition au lieu de lancer une exception. Ce correctif permet denvoyer des requêtes à un serveur avec un autre contraintes. #9447 (Vitaly Baranov)
  • Fixe, problème de gestion de mémoire dans MergeTreeReadPool. #8791 (Vladimir Chebotarev)
  • Fixer toDecimal*OrNull() famille de fonctions lorsquelle est appelée avec une chaîne e. Fixer #8312 #8764 (Artem Zuikov)
  • Assurez-vous que FORMAT Null nenvoie pas de données au client. #8767 (Alexander Kuzmenkov)
  • Correction dun bug dans cet horodatage LiveViewBlockInputStream ne sera pas mis à jour. LIVE VIEW est une fonctionnalité expérimentale. #8644 (vxider) #8625 (vxider)
  • Fixe ALTER MODIFY TTL mauvais comportement qui na pas permis de supprimer les anciennes expressions TTL. #8422 (Vladimir Chebotarev)
  • Rapport UBSan fixe dans MergeTreeIndexSet. Cela corrige #9250 #9365 (alexeï-milovidov)
  • Correction du comportement de match et extract fonctions lorsque haystack a zéro octets. Le comportement était mauvais quand la botte de foin était constante. Cela corrige #9160 #9163 (alexeï-milovidov) #9345 (alexeï-milovidov)
  • Évitez de lancer de destructor dans la bibliothèque Apache Avro 3rd-party. #9066 (Andrew Onyshchuk)
  • Ne commettez pas un lot interrogé à partir de Kafka partiellement, car il peut conduire à des trous dans les données. #8876 (filimonov)
  • Fixer joinGet avec les types de retour nullable. https://github.com/ClickHouse/ClickHouse/issues/8919 #9014 (Amos Oiseau)
  • Correction de lincompatibilité des données lorsquelles sont compressées avec T64 codec. #9016 (Artem Zuikov) Corriger les ID de type de données dans T64 codec de compression qui conduit à une mauvaise (de)compression dans les versions affectées. #9033 (Artem Zuikov)
  • Ajouter un paramètre enable_early_constant_folding et le désactiver dans certains cas, cela conduit à des erreurs. #9010 (Artem Zuikov)
  • Fix Pushdown prédicat optimizer avec vue et activer le test #9011 (LHiver Zhang)
  • Fixer erreur de segmentation dans Merge tables, cela peut arriver lors de la lecture de File stockage #9387 (tavplubix)
  • Ajout dune vérification de la stratégie de stockage dans ATTACH PARTITION FROM, REPLACE PARTITION, MOVE TO TABLE. Sinon, cela pourrait rendre les données de la partie inaccessibles après le redémarrage et empêcher ClickHouse de démarrer. #9383 (Vladimir Chebotarev)
  • Fix modifie sil y a TTL défini pour la table. #8800 (Anton Popov)
  • Correction de la condition de course qui peut se produire lorsque SYSTEM RELOAD ALL DICTIONARIES est exécuté pendant que certains dictionnaires sont modifiés / ajoutés / supprimés. #8801 (Vitaly Baranov)
  • Dans les versions précédentes Memory le moteur de base de données utilise un chemin de données vide, de sorte que les tables sont créées dans path directory (e.g. /var/lib/clickhouse/), not in data directory of database (e.g. /var/lib/clickhouse/db_name). #8753 (tavplubix)
  • Correction de messages de journal erronés sur le disque ou la stratégie par défaut manquant. #9530 (Vladimir Chebotarev)
  • Fix not (has ()) pour lindex bloom_filter des types de tableau. #9407 (achimbab)
  • Permettre à première colonne(s) dans un tableau avec Log moteur alias #9231 (Ivan)
  • Fixer lordre des plages pendant la lecture d MergeTree table dans un fil. Cela pourrait conduire à des exceptions MergeTreeRangeReader ou mauvais résultats de requête. #9050 (Anton Popov)
  • Faire reinterpretAsFixedString retourner FixedString plutôt String. #9052 (Andrew Onyshchuk)
  • Évitez les cas extrêmement rares où lutilisateur peut se tromper message derreur (Success au lieu dune description détaillée de lerreur). #9457 (alexeï-milovidov)
  • Ne pas planter lors de lutilisation de Template format avec modèle de ligne vide. #8785 (Alexander Kuzmenkov)
  • Les fichiers de métadonnées pour les tables système peuvent être créés au mauvais endroit #8653 (tavplubix) Fixer #8581.
  • Correction de la course de données sur exception_ptr dans le dictionnaire de cache #8303. #9379 (Nikita Mikhaylov)
  • Ne pas lancer une exception pour la requête ATTACH TABLE IF NOT EXISTS. Auparavant, il a été lancé si la table existe déjà, malgré le IF NOT EXISTS clause. #8967 (Anton Popov)
  • Correction manquant fermeture paren dans le message dexception. #8811 (alexeï-milovidov)
  • Éviter de message Possible deadlock avoided au démarrage de clickhouse-client en mode interactif. #9455 (alexeï-milovidov)
  • Correction du problème lorsque le remplissage à la fin de la valeur codée base64 peut être mal formé. Mettre à jour la bibliothèque base64. Cela corrige #9491, proche #9492 #9500 (alexeï-milovidov)
  • Empêcher la perte de données dans Kafka dans de rares cas, lorsque lexception se produit après la lecture du suffixe mais avant la validation. Fixer #9378 #9507 (filimonov)
  • Correction dune exception dans DROP TABLE IF EXISTS #8663 (Nikita Vasilev)
  • Correction de plantage lorsquun utilisateur essaie d ALTER MODIFY SETTING pour Ancien formaté MergeTree famille de moteurs de table. #9435 (alésapine)
  • Prise en charge des numéros UInt64 qui ne correspondent pas à Int64 dans les fonctions liées à JSON. Mettre à jour SIMDJSON à maîtriser. Cela corrige #9209 #9344 (alexeï-milovidov)
  • Exécution fixe de prédicats inversés lorsque lindex fonctionnel non strictement monotinique est utilisé. #9223 (Alexander Kazakov)
  • Nessayez pas de plier IN constante dans GROUP BY #8868 (Amos Oiseau)
  • Correction dun bug dans ALTER DELETE mutations qui conduit à la corruption dindex. Cela corrige #9019 et #8982. En outre fixer des conditions de course extrêmement rares dans ReplicatedMergeTree ALTER requête. #9048 (alésapine)
  • Lorsque le réglage compile_expressions est activée, vous pouvez obtenir unexpected column dans LLVMExecutableFunction lorsque nous utilisons Nullable type #8910 (Guillaume Tassery)
  • Plusieurs correctifs pour Kafka moteur: 1) Correction des doublons qui apparaissaient pendant le rééquilibrage du groupe de consommateurs. 2) Correction rare holes apparu lorsque les données ont été interrogées à partir de plusieurs partitions avec un sondage et validées partiellement (maintenant, nous traitons / validons toujours lensemble du bloc de messages interrogé). 3) corriger les vidages par taille de bloc (avant que seul le rinçage par Délai dattente fonctionnait correctement). 4) meilleure procédure dabonnement (avec rétroaction daffectation). 5) Faites fonctionner les tests plus rapidement (avec des intervalles et des délais dattente par défaut). En raison du fait que les données nétaient pas vidées par la taille du bloc auparavant (comme il se doit selon la documentation), Ce PR peut entraîner une dégradation des performances avec les paramètres par défaut (en raison de vidages plus fréquents et plus petits qui sont moins optimaux). Si vous rencontrez le problème de performance après ce changement - veuillez augmenter kafka_max_block_size dans le tableau de la plus grande valeur ( par exemple CREATE TABLE ...Engine=Kafka ... SETTINGS ... kafka_max_block_size=524288). Fixer #7259 #8917 (filimonov)
  • Fixer Parameter out of bound exception dans certaines requêtes après les optimisations PREWHERE. #8914 (Baudouin Giard)
  • Correction du cas de la consistance mixte des arguments de la fonction arrayZip. #8705 (alexeï-milovidov)
  • Lors de lexé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 #9262 (tavplubix)
  • Maintenant il nest pas possible de créer ou dajouter des colonnes avec des alias cycliques simples comme a DEFAULT b, b DEFAULT a. #9603 (alésapine)
  • Correction dun bug avec double mouvement qui peut corrompre la partie originale. Ceci est pertinent si vous utilisez ALTER TABLE MOVE #8680 (Vladimir Chebotarev)
  • Permettre interval identifiant pour analyser correctement sans backticks. Correction dun problème lorsquune requête ne peut pas être exécutée même si le interval lidentifiant est entouré de backticks ou de guillemets doubles. Cela corrige #9124. #9142 (alexeï-milovidov)
  • Test de fuzz fixe et comportement incorrect de bitTestAll/bitTestAny fonction. #9143 (alexeï-milovidov)
  • Correction plantage possible/mauvais nombre de lignes dans LIMIT n WITH TIES quand il y a beaucoup de lignes égales à nème ligne. #9464 (tavplubix)
  • Correction de mutations avec des parties écrites avec activé insert_quorum. #9463 (alésapine)
  • Correction de la course de données à la destruction de Poco::HTTPServer. Cela peut se produire lorsque le serveur est démarré et immédiatement arrêté. #9468 (Anton Popov)
  • Correction dun bug dans lequel un message derreur trompeur a été affiché lors de lexécution SHOW CREATE TABLE a_table_that_does_not_exist. #8899 (achulkov2)
  • Fixe Parameters are out of bound exception dans de rares cas où nous avons une constante dans le SELECT clause quand nous avons un ORDER BY et un LIMIT clause. #8892 (Guillaume Tassery)
  • Fix finalisation des mutations, quand déjà fait mutation peut avoir le statut is_done=0. #9217 (alésapine)
  • Empêcher lexécution de ALTER ADD INDEX pour les tables MergeTree avec une ancienne syntaxe, car cela ne fonctionne pas. #8822 (Mikhail Korotov)
  • Pendant le démarrage du serveur, nACCÉDEZ PAS à la table, qui LIVE VIEW dépend de, donc le serveur sera en mesure de démarrer. Également supprimer LIVE VIEW dépendances lors du détachement LIVE VIEW. LIVE VIEW est une fonctionnalité expérimentale. #8824 (tavplubix)
  • Correction possible segfault dans MergeTreeRangeReader, lors de lexécution PREWHERE. #9106 (Anton Popov)
  • Correction déventuelles sommes de contrôle non appariées avec la colonne TTL. #9451 (Anton Popov)
  • Correction dun bug lorsque les pièces nétaient pas déplacées en arrière-plan par les règles TTL dans le cas où il ny avait quun seul volume. #8672 (Vladimir Chebotarev)
  • Correction du problème Method createColumn() is not implemented for data type Set. Cela corrige #7799. #8674 (alexeï-milovidov)
  • Maintenant, nous allons essayer de finaliser les mutations plus fréquemment. #9427 (alésapine)
  • Fixer intDiv par moins une constante #9351 (hcz)
  • Correction dune condition de course possible dans BlockIO. #9356 (Nikolai Kochetov)
  • Correction dun bug menant à la résiliation du serveur lorsque vous essayez dutiliser / drop Kafka tableau créé avec de mauvais paramètres. #9513 (filimonov)
  • Ajout dune solution de contournement si le système dexploitation renvoie un résultat erroné pour timer_create fonction. #8837 (alexeï-milovidov)
  • Correction dune erreur dans lutilisation de min_marks_for_seek paramètre. Correction du message derreur lorsquil ny a pas de clé de sharding dans la table distribuée et que nous essayons dignorer les fragments inutilisés. #8908 (Azat Khuzhin)

Amélioration

  • Mettre ALTER MODIFY/DROP requêtes au-dessus des mutations pour ReplicatedMergeTree* les moteurs de la famille. Maintenant ALTERS bloque uniquement à létape de mise à jour des métadonnées, et ne bloque pas après cela. #8701 (alésapine)
  • Ajouter la possibilité de réécrire CROSS aux jointures internes avec WHERE section contenant des noms Non qialifiés. #9512 (Artem Zuikov)
  • Faire SHOW TABLES et SHOW DATABASES les requêtes prennent en charge le WHERE les expressions et les FROM/IN #9076 (sundyli)
  • Ajout dun paramètre deduplicate_blocks_in_dependent_materialized_views. #9070 (urykhy)
  • Après des changements récents Le client MySQL a commencé à imprimer des chaînes binaires en hexadécimal les rendant ainsi non lisibles (#9032). La solution de contournement dans ClickHouse est de marquer les colonnes de chaîne comme UTF-8, ce qui nest pas toujours le cas, mais généralement le cas. #9079 (Yuriy Baranov)
  • Ajout du support des clés String et FixedString pour sumMap #8903 (Baudouin Giard)
  • Clés de chaîne de soutien dans les cartes SummingMergeTree #8933 (Baudouin Giard)
  • Signal terminaison du thread au pool de threads même si le thread a lancé une exception #8736 (Ding Xiang Fei)
  • Permettent de mettre en query_id dans clickhouse-benchmark #9416 (Anton Popov)
  • Nautorisez pas les expressions étranges ALTER TABLE ... PARTITION partition requête. Cela répond à l #7192 #8835 (alexeï-milovidov)
  • Table system.table_engines fournit maintenant des informations sur le support des fonctionnalités (comme supports_ttl ou supports_sort_order). #8830 (Max Akhmedov)
  • Permettre system.metric_log par défaut. Il contiendra des lignes avec des valeurs de ProfileEvents, CurrentMetrics collectées avec “collect_interval_milliseconds” intervalle (une seconde par défaut). La table est très petite (généralement par ordre de mégaoctets) et la collecte de ces données par défaut est raisonnable. #9225 (alexeï-milovidov)
  • Initialize query profiler for all threads in a group, e.g. it allows to fully profile insert-queries. Fixes #6964 #8874 (Ivan)
  • Maintenant temporaire LIVE VIEW est créé par CREATE LIVE VIEW name WITH TIMEOUT [42] ... plutôt CREATE TEMPORARY LIVE VIEW ... parce que la syntaxe précédente nétait pas conforme à CREATE TEMPORARY TABLE ... #9131 (tavplubix)
  • Ajouter text_log.paramètre de configuration de niveau pour limiter les entrées system.text_log table #8809 (Azat Khuzhin)
  • Permettre de mettre la partie téléchargée sur un disque / volume selon les règles TTL #8598 (Vladimir Chebotarev)
  • Pour les dictionnaires MySQL externes, autorisez à mutualiser le pool de connexions MySQL pour “share” parmi les dictionnaires. Cette option réduit considérablement le nombre de connexions aux serveurs MySQL. #9409 (Clément Rodriguez)
  • Afficher le temps dexécution de la requête le plus proche pour les quantiles dans clickhouse-benchmark sortie au lieu de valeurs interpolées. Il est préférable dafficher les valeurs qui correspondent à lexécution de certaines requêtes. #8712 (alexeï-milovidov)
  • Possibilité dajouter une clé et un horodatage pour le message lors de linsertion de données dans Kafka. Fixer #7198 #8969 (filimonov)
  • Si le serveur est exécuté à partir du terminal, mettez en surbrillance le numéro de thread, lid de requête et la priorité du journal par couleurs. Ceci permet daméliorer la lisibilité des messages de journal corrélés pour les développeurs. #8961 (alexeï-milovidov)
  • Meilleur message dexception lors du chargement des tables pour Ordinary la base de données. #9527 (alexeï-milovidov)
  • Mettre arraySlice pour les tableaux avec des états de fonction dagrégat. Cela corrige #9388 #9391 (alexeï-milovidov)
  • Autoriser les fonctions constantes et les tableaux constants à utiliser sur le côté droit de Lopérateur IN. #8813 (Anton Popov)
  • Si lexception zookeeper sest produite lors de la récupération des données du système.les répliques, lafficher dans une colonne séparée. Cela met en œuvre #9137 #9138 (alexeï-milovidov)
  • Supprimer atomiquement les parties de données MergeTree sur destroy. #8402 (Vladimir Chebotarev)
  • Prise en charge de la sécurité au niveau des lignes pour les tables distribuées. #8926 (Ivan)
  • Now we recognize suffix (like KB, KiB…) in settings values. #8072 (Mikhail Korotov)
  • Empêchez la mémoire lors de la construction du résultat dune jointure importante. #8637 (Artem Zuikov)
  • Ajout de noms de clusters aux suggestions en mode interactif dans clickhouse-client. #8709 (alexeï-milovidov)
  • Initialize query profiler for all threads in a group, e.g. it allows to fully profile insert-queries #8820 (Ivan)
  • Ajout de la colonne exception_code dans system.query_log table. #8770 (Mikhail Korotov)
  • Serveur de compatibilité MySQL activé sur le port 9004 par défaut dans le fichier de configuration du serveur. Fixe génération de mot de passe commande dans lexemple de configuration. #8771 (Yuriy Baranov)
  • Empêcher labandon à larrêt si le système de fichiers est en lecture seule. Cela corrige #9094 #9100 (alexeï-milovidov)
  • Meilleur message dexception lorsque la longueur est requise dans la requête HTTP POST. #9453 (alexeï-milovidov)
  • Ajouter _path et _file les colonnes virtuelles à HDFS et File les moteurs et les hdfs et file les fonctions de table #8489 (Olga Khvostikova)
  • Correction derreur Cannot find column lors de linsertion dans MATERIALIZED VIEW dans le cas où une nouvelle colonne a été ajoutée à la table interne de la vue. #8766 #8788 (vzakaznikov) #8788 #8806 (Nikolai Kochetov) #8803 (Nikolai Kochetov)
  • Correction de la progression sur le protocole client-serveur natif, en envoyant la progression après la mise à jour finale (comme les journaux). Cela peut être pertinent uniquement pour certains outils tiers qui utilisent le protocole natif. #9495 (Azat Khuzhin)
  • Ajouter une métrique système de suivi du nombre de connexions client à Laide du protocole MySQL (#9013). #9015 (Eugene Klimov)
  • A partir de Maintenant, les réponses HTTP auront X-ClickHouse-Timezone en-tête défini sur la même valeur de fuseau horaire que SELECT timezone() serait-rapport. #9493 (Denis Glazachev)

Amélioration Des Performances

  • Améliorer les performances de lanalyse de lindice DANS #9261 (Anton Popov)
  • Code plus simple et plus efficace dans les fonctions logiques + nettoyage de code. Un suivi à #8718 #8728 (Alexander Kazakov)
  • Amélioration globale de la performance (de lordre de 5%..200% pour les requêtes affectées) en assurant un aliasing encore plus strict avec les fonctionnalités c++20. #9304 (Amos Oiseau)
  • Aliasing plus strict pour les boucles internes des fonctions de comparaison. #9327 (alexeï-milovidov)
  • Aliasing plus strict pour les boucles internes des fonctions arithmétiques. #9325 (alexeï-milovidov)
  • Une implémentation ~3 fois plus rapide pour ColumnVector::replicate (), via laquelle ColumnConst:: convertToFullColumn () est implémentée. Sera également utile dans les tests lors de la matérialisation des constantes. #9293 (Alexander Kazakov)
  • Une autre amélioration mineure des performances à ColumnVector::replicate() (cela accélère le materialize fonction et des fonctions dordre supérieur) une amélioration encore plus #9293 #9442 (Alexander Kazakov)
  • Amélioration des performances de stochasticLinearRegression fonction dagrégation. Ce patch est fourni par Intel. #8652 (alexeï-milovidov)
  • Améliorer les performances de reinterpretAsFixedString fonction. #9342 (alexeï-milovidov)
  • Nenvoyez pas de blocs au client pour Null format dans le pipeline de processeurs. #8797 (Nikolai Kochetov) #8767 (Alexander Kuzmenkov)

Construction / Test / Amélioration De LEmballage

  • La gestion des exceptions fonctionne maintenant correctement sur le sous-système Windows Pour Linux. Tu vois https://github.com/ClickHouse-Extras/libunwind/pull/3 cela corrige #6480 #9564 (sobolevsv)
  • Remplacer readline avec replxx interactif, lédition en ligne en clickhouse-client #8416 (Ivan)
  • Meilleur temps de construction et moins dinstanciations de modèle dans FunctionsComparison. #9324 (alexeï-milovidov)
  • Intégration ajoutée avec clang-tidy in CI. Voir aussi #6044 #9566 (alexeï-milovidov)
  • Maintenant, nous lions ClickHouse dans CI en utilisant lld même pour gcc. #9049 (alésapine)
  • Permet de randomiser la planification des threads et dinsérer des problèmes lorsque THREAD_FUZZER_* variables denvironnement sont définies. Cela aide les tests. #9459 (alexeï-milovidov)
  • Activer les sockets sécurisés dans les tests sans état #9288 (tavplubix)
  • Rendre SPLIT_SHARED_LIBRARIES = OFF plus robuste #9156 (Azat Khuzhin)
  • Faire “performance_introspection_and_logging” test fiable au serveur aléatoire bloqué. Cela peut se produire dans Lenvironnement CI. Voir aussi #9515 #9528 (alexeï-milovidov)
  • Valider XML dans la vérification de style. #9550 (alexeï-milovidov)
  • Condition de course fixe dans lessai 00738_lock_for_inner_table. Ce test reposait sur le sommeil. #9555 (alexeï-milovidov)
  • Supprimer les tests de performance de type once. Ceci est nécessaire pour exécuter tous les tests de performance en mode de comparaison statistique (plus fiable). #9557 (alexeï-milovidov)
  • Ajout dun test de performance pour les fonctions arithmétiques. #9326 (alexeï-milovidov)
  • Ajouté test de performance pour sumMap et sumMapWithOverflow les fonctions dagrégation. Pour le suivi de la #8933 #8947 (alexeï-milovidov)
  • Assurez le style des codes Derreur en vérifiant le style. #9370 (alexeï-milovidov)
  • Ajouter un script pour lhistorique des tests. #8796 (alésapine)
  • Ajouter un avertissement GCC -Wsuggest-override pour localiser et réparer tous les endroits où override mot-clé doit être utilisé. #8760 (kreuzerkrieg)
  • Ignorer le symbole faible sous Mac OS X car il doit être défini #9538 (Utilisateur supprimé)
  • Normaliser le temps dexécution de certaines requêtes dans les tests de performance. Ceci est fait en préparation pour exécuter tous les tests de performance en mode comparaison. #9565 (alexeï-milovidov)
  • Correction de certains tests pour prendre en charge pytest avec des tests de requête #9062 (Ivan)
  • Activez SSL dans build avec MSan, afin que le serveur néchoue pas au démarrage lors de lexécution de tests sans état #9531 (tavplubix)
  • Correction de la substitution de base de données dans les résultats des tests #9384 (Ilya Yatsishin)
  • Construire des correctifs pour diverses plates-formes #9381 (proller) #8755 (proller) #8631 (proller)
  • Ajout de la section disques à limage Docker test stateless-with-coverage #9213 (Pavel Kovalenko)
  • Débarrassez-vous des fichiers in-source-tree lors de la construction avec GRPC #9588 (Amos Oiseau)
  • Temps de construction légèrement plus rapide en supprimant SessionCleaner du contexte. Rendre le code de SessionCleaner plus simple. #9232 (alexeï-milovidov)
  • Mise à jour de la vérification des requêtes suspendues dans le script clickhouse-test #8858 (Alexander Kazakov)
  • Suppression de certains fichiers inutiles du référentiel. #8843 (alexeï-milovidov)
  • Changement de type de math perftests de once de loop. #8783 (Nikolai Kochetov)
  • Ajouter une image docker qui permet de créer un rapport HTML interactif du navigateur de code pour notre base de code. #8781 (alésapine) Voir Navigateur De Code Woboq
  • Supprimer certains échecs de test sous MSan. #8780 (Alexander Kuzmenkov)
  • SpeedUp “exception while insert” test. Ce test expire souvent dans la construction debug-with-coverage. #8711 (alexeï-milovidov)
  • Mettre libcxx et libcxxabi maîtriser. En préparation à #9304 #9308 (alexeï-milovidov)
  • Correction du test flacky 00910_zookeeper_test_alter_compression_codecs. #9525 (alexeï-milovidov)
  • Nettoyer les drapeaux de léditeur de liens dupliqués. Assurez-vous que léditeur de liens ne pas rechercher un symbole inattendu. #9433 (Amos Oiseau)
  • Ajouter clickhouse-odbc pilote dans les images de test. Cela permet de tester linteraction de ClickHouse avec ClickHouse via son propre pilote ODBC. #9348 (filimonov)
  • Correction de plusieurs bugs dans les tests unitaires. #9047 (alésapine)
  • Permettre -Wmissing-include-dirs Avertissement GCC pour éliminer toutes les inclusions non existantes-principalement à la suite Derreurs de script CMake #8704 (kreuzerkrieg)
  • Décrivez les raisons si query profiler ne peut pas fonctionner. Cest prévu pour #9049 #9144 (alexeï-milovidov)
  • Mettre à jour OpenSSL vers le maître en amont. Correction du problème lorsque les connexions TLS peuvent échouer avec le message OpenSSL SSL_read: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error et SSL Exception: error:2400006E:random number generator::error retrieving entropy. Le problème était présent dans la version 20.1. #8956 (alexeï-milovidov)
  • Mettre à jour Dockerfile pour le serveur #8893 (Ilya Mazaev)
  • Corrections mineures dans le script build-gcc-from-sources #8774 (Michael Nacharov)
  • Remplacer numbers de zeros dans perftests où number la colonne nest pas utilisée. Cela conduira à des résultats de test plus propres. #9600 (Nikolai Kochetov)
  • Correction dun problème de débordement de pile lors de lutilisation de initializer_list dans les constructeurs de colonnes. #9367 (Utilisateur supprimé)
  • Mise à niveau librdkafka à v1. 3. 0. Activer groupé rdkafka et gsasl bibliothèques sous Mac OS X. #9000 (Andrew Onyshchuk)
  • correction de construction sur GCC 9.2.0 #9306 (vxider)

Clickhouse Version V20. 1

Clickhouse Version V20. 1. 8. 41, 2020-03-20

Bug Fix

  • Correction possible permanente Cannot schedule a task erreur (due à une exception non gérée dans ParallelAggregatingBlockInputStream::Handler::onFinish/onFinishThread). Cela corrige #6833. #9154 (Azat Khuzhin)
  • Correction de la consommation excessive de mémoire dans ALTER les requêtes (mutations). Cela corrige #9533 et #9670. #9754 (alésapine)
  • Correction dun bug dans backquoting dans les dictionnaires externes DDL. Cela corrige #9619. #9734 (alésapine)

Clickhouse Version V20. 1. 7. 38, 2020-03-18

Bug Fix

  • Correction de noms de fonctions internes incorrects pour sumKahan et sumWithOverflow. Je mène à lexception en utilisant ces fonctions dans les requêtes distantes. #9636 (Azat Khuzhin). Ce problème était dans toutes les versions de ClickHouse.
  • Permettre ALTER ON CLUSTER de Distributed tables avec réplication interne. Cela corrige #3268. #9617 (shinoi2). Ce problème était dans toutes les versions de ClickHouse.
  • Corriger les exceptions possibles Size of filter doesn't match size of column et Invalid number of rows in Chunk dans MergeTreeRangeReader. Ils pouvaient apparaître lors de lexécution PREWHERE dans certains cas. Fixer #9132. #9612 (Anton Popov)
  • Correction du problème: le fuseau horaire na pas été conservé si vous écrivez une expression arithmétique simple comme time + 1 (contrairement à une expression comme time + INTERVAL 1 SECOND). Cela corrige #5743. #9323 (alexeï-milovidov). Ce problème était dans toutes les versions de ClickHouse.
  • Maintenant il nest pas possible de créer ou dajouter des colonnes avec des alias cycliques simples comme a DEFAULT b, b DEFAULT a. #9603 (alésapine)
  • Correction du problème lorsque le remplissage à la fin de la valeur codée base64 peut être mal formé. Mettre à jour la bibliothèque base64. Cela corrige #9491, proche #9492 #9500 (alexeï-milovidov)
  • Correction de la course de données à la destruction de Poco::HTTPServer. Cela peut se produire lorsque le serveur est démarré et immédiatement arrêté. #9468 (Anton Popov)
  • Correction plantage possible/mauvais nombre de lignes dans LIMIT n WITH TIES quand il y a beaucoup de lignes égales à nème ligne. #9464 (tavplubix)
  • Correction déventuelles sommes de contrôle non appariées avec la colonne TTL. #9451 (Anton Popov)
  • Correction de plantage lorsquun utilisateur essaie d ALTER MODIFY SETTING pour Ancien formaté MergeTree famille de moteurs de table. #9435 (alésapine)
  • Maintenant, nous allons essayer de finaliser les mutations plus fréquemment. #9427 (alésapine)
  • Correction du protocole de réplication incompatibilité introduit dans #8598. #9412 (alésapine)
  • Fix not (has ()) pour lindex bloom_filter des types de tableau. #9407 (achimbab)
  • Correction du comportement de match et extract fonctions lorsque haystack a zéro octets. Le comportement était mauvais quand la botte de foin était constante. Cela corrige #9160 #9163 (alexeï-milovidov) #9345 (alexeï-milovidov)

Construction / Test / Amélioration De LEmballage

Clickhouse Version V20. 1. 6. 30, 2020-03-05

Bug Fix

  • Correction de lincompatibilité des données lorsquelles sont compressées avec T64 codec. #9039 (abyss7)
  • Correction de lordre des plages lors de la lecture de la table MergeTree dans un thread. Fixer #8964. #9050 (CurtizJ)
  • Correction possible segfault dans MergeTreeRangeReader, lors de lexécution PREWHERE. Fixer #9064. #9106 (CurtizJ)
  • Fixer reinterpretAsFixedString retourner FixedString plutôt String. #9052 (oandrew)
  • Fixer joinGet avec les types de retour nullable. Fixer #8919 #9014 (amosbird)
  • Correction du test fuzz et du comportement incorrect des fonctions bitTestAll/bitTestAny. #9143 (alexey-milovidov)
  • Corrigez le comportement des fonctions match et extract lorsque haystack a zéro octet. Le comportement était mauvais quand la botte de foin était constante. Fixer #9160 #9163 (alexey-milovidov)
  • Exécution fixe de prédicats inversés lorsque lindex fonctionnel non strictement monotinique est utilisé. Fixer #9034 #9223 (Akazz)
  • Permettre à réécrire CROSS de INNER JOIN si il y a [NOT] LIKE opérateur WHERE section. Fixer #9191 #9229 (4ertus2)
  • Autoriser la(Les) première (s) colonne (s) dans une table avec Log engine à être un alias. #9231 (abyss7)
  • Autoriser la virgule rejoindre IN() à lintérieur. Fixer #7314. #9251 (4ertus2)
  • Améliorer ALTER MODIFY/ADD les requêtes de la logique. Maintenant vous ne pouvez pas ADD colonne sans type, MODIFY lexpression par défaut ne change pas le type de colonne et MODIFY type ne perd pas la valeur dexpression par défaut. Fixer #8669. #9227 (alesapin)
  • Fix finalisation des mutations, quand déjà fait mutation peut avoir le statut is_done = 0. #9217 (alesapin)
  • Soutien “Processors” pipeline pour le système.nombres et système.numbers_mt. Cela corrige également le bug lorsque max_execution_time nest pas respectée. #7796 (KochetovNicolai)
  • Correction dun mauvais comptage de DictCacheKeysRequestedFound métrique. #9411 (nikitamikhaylov)
  • Ajout dune vérification de la stratégie de stockage dans ATTACH PARTITION FROM, REPLACE PARTITION, MOVE TO TABLE ce qui pourrait autrement rendre les données de la partie inaccessibles après le redémarrage et empêcher ClickHouse de démarrer. #9383 (excitoon)
  • Rapport UBSan fixe dans MergeTreeIndexSet. Cela corrige #9250 #9365 (alexey-milovidov)
  • Correction possible datarace dans BlockIO. #9356 (KochetovNicolai)
  • Soutien pour UInt64 nombres qui ne correspondent pas à Int64 dans les fonctions liées à JSON. Mettre SIMDJSON maîtriser. Cela corrige #9209 #9344 (alexey-milovidov)
  • Résoudre le problème lorsque la quantité despace libre nest pas calculée correctement si le répertoire de données est monté sur un appareil séparé. Pour le disque par défaut calculer lespace libre à partir du sous-répertoire de données. Cela corrige #7441 #9257 (millb)
  • Corrigez le problème lorsque les connexions TLS peuvent échouer avec le message OpenSSL SSL_read: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error and SSL Exception: error:2400006E:random number generator::error retrieving entropy. Mettre à jour OpenSSL vers le maître en amont. #8956 (alexey-milovidov)
  • Lors de lexé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 ladresse locale dans ClickHouseDictionarySource. #9262 (tabplubix)
  • Fixer erreur de segmentation dans StorageMerge, ce qui peut arriver lors de la lecture de StorageFile. #9387 (tabplubix)
  • Empêcher la perte de données dans Kafka dans de rares cas, lorsque lexception se produit après la lecture du suffixe mais avant la validation. Fixer #9378. Concerner: #7175 #9507 (filimonov)
  • Correction dun bug menant à la résiliation du serveur lorsque vous essayez dutiliser / drop Kafka tableau créé avec de mauvais paramètres. Fixer #9494. Incorporer #9507. #9513 (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 DAltinity. #9070 (urykhy)

Clickhouse Version V20. 1. 2. 4, 2020-01-22

Modification Incompatible En Arrière

  • Effectuer le réglage merge_tree_uniform_read_distribution obsolète. Le serveur reconnaît toujours ce paramètre, mais il na pas deffet. #8308 (alexeï-milovidov)
  • Type de retour modifié de la fonction greatCircleDistance de Float32 parce que maintenant, le résultat du calcul est Float32. #7993 (alexeï-milovidov)
  • Maintenant, il est prévu que les paramètres de requête sont représentés dans “escaped” format. Par exemple, pour passer de la chaîne a<tab>b vous devez écrire a\tb ou a\<tab>b et, respectivement,, a%5Ctb ou a%5C%09b dans LURL. Ceci est nécessaire pour ajouter la possibilité de passer NULL as \N. Cela corrige #7488. #8517 (alexeï-milovidov)
  • Permettre use_minimalistic_part_header_in_zookeeper réglage pour ReplicatedMergeTree par défaut. Cela permettra de réduire considérablement la quantité de données stockées dans ZooKeeper. Ce paramètre est pris en charge depuis la version 19.1 et nous lutilisons déjà en production dans plusieurs services sans aucun problème depuis plus dune demi-année. Désactivez ce paramètre si vous avez la possibilité de passer à des versions antérieures à 19.1. #6850 (alexeï-milovidov)
  • Les indices de saut de données sont prêts pour la production et activés par défaut. Paramètre allow_experimental_data_skipping_indices, allow_experimental_cross_to_join_conversion et allow_experimental_multiple_joins_emulation sont maintenant obsolètes et ne rien faire. #7974 (alexeï-milovidov)
  • Ajouter de nouveaux ANY JOIN logique pour StorageJoin compatible avec JOIN opération. Pour mettre à niveau sans changement de comportement vous devez ajouter SETTINGS any_join_distinct_right_table_keys = 1 pour engine Join tables metadata ou recréer ces tables après la mise à niveau. #8400 (Artem Zuikov)
  • Exiger que le serveur soit redémarré pour appliquer les modifications dans la configuration de journalisation. Il sagit dune solution de contournement temporaire pour éviter le bogue où le serveur se connecte à un fichier journal supprimé (voir #8696). #8707 (Alexander Kuzmenkov)

Nouveauté

  • Ajout dinformations sur les chemins daccès system.merges. #8043 (Vladimir Chebotarev)
  • Ajouter la possibilité dexécuter SYSTEM RELOAD DICTIONARY requête en ON CLUSTER mode. #8288 (Guillaume Tassery)
  • Ajouter la possibilité dexécuter CREATE DICTIONARY les requêtes en ON CLUSTER mode. #8163 (alésapine)
  • Maintenant, le profil de lutilisateur dans users.xml peut hériter de plusieurs profils. #8343 (Mikhail f. Shiryaev)
  • Ajouter system.stack_trace table qui permet de regarder les traces de pile de tous les threads du serveur. Ceci est utile pour les développeurs dintrospecter létat du serveur. Cela corrige #7576. #8344 (alexeï-milovidov)
  • Ajouter DateTime64 type de données configurables sous-précision de seconde. #7170 (Vasily Nemkov)
  • Ajouter une fonction de table clusterAllReplicas ce qui permet dinterroger tous les nœuds dans le cluster. #8493 (kiran sunkari)
  • Ajouter une fonction dagrégat categoricalInformationValue qui calcule la valeur dinformation dune fonction discrète. #8117 (hcz)
  • Accélérer lanalyse des fichiers de données dans CSV, TSV et JSONEachRow formater en le faisant en parallèle. #7780 (Alexander Kuzmenkov)
  • Ajouter une fonction bankerRound qui effectue larrondi. #8112 (hcz)
  • Soutenir plus de langues dans le dictionnaire intégré pour les noms de région: ru, en, ua, uk, by, kz, tr, de, uz, lv, lt, et, pt, he, vi. #8189 (alexeï-milovidov)
  • Améliorer luniformité de ANY JOIN logique. Maintenant t1 ANY LEFT JOIN t2 égal t2 ANY RIGHT JOIN t1. #7665 (Artem Zuikov)
  • Ajouter un paramètre any_join_distinct_right_table_keys ce qui permet un vieux comportement pour ANY INNER JOIN. #7665 (Artem Zuikov)
  • Ajouter de nouveaux SEMI et ANTI JOIN. Vieux ANY INNER JOIN comportement maintenant disponible en SEMI LEFT JOIN. #7665 (Artem Zuikov)
  • Ajouter Distributed format pour File moteur et file fonction de table qui permet de lire à partir .bin fichiers générés par des insertions asynchrones dans Distributed table. #8535 (Nikolai Kochetov)
  • Ajouter un argument de colonne de réinitialisation facultatif pour runningAccumulate ce qui permet de réinitialiser les résultats dagrégation pour chaque nouvelle valeur de clé. #8326 (Sergey Kononenko)
  • Ajouter la possibilité dutiliser ClickHouse comme point de terminaison Prometheus. #7900 (vdimir)
  • Ajouter une section <remote_url_allow_hosts> dans config.xml qui restreint les hôtes autorisés pour les moteurs de table distants et les fonctions de table URL, S3, HDFS. #7154 (Mikhail Korotov)
  • Ajout de la fonction greatCircleAngle qui calcule la distance sur une sphère en degrés. #8105 (alexeï-milovidov)
  • Rayon de la Terre modifié pour être cohérent avec la bibliothèque H3. #8105 (alexeï-milovidov)
  • Ajouter JSONCompactEachRow et JSONCompactEachRowWithNamesAndTypes les formats dentrée et de sortie. #7841 (Mikhail Korotov)
  • Ajout dune fonctionnalité pour les moteurs de table liés aux fichiers et les fonctions de table (File, S3, URL, HDFS) qui permet de lire et décrire gzip fichiers basés sur un paramètre de moteur supplémentaire ou une extension de fichier. #7840 (Andrey Bodrov)
  • Ajouté le randomASCII(length) fonction, générant une chaîne avec un ensemble aléatoire de ASCII caractères imprimables. #8401 (Baïonnette)
  • Ajout de la fonction JSONExtractArrayRaw qui renvoie un tableau sur des éléments de tableau JSON non analysés de JSON chaîne. #8081 (Oleg Matrokhin)
  • Ajouter arrayZip fonction qui permet de combiner plusieurs tableaux de longueurs égales dans un tableau de n-uplets. #8149 (LHiver Zhang)
  • Ajouter la possibilité de déplacer des données entre les disques selon configuré TTL-expressions pour *MergeTree famille de moteurs de table. #8140 (Vladimir Chebotarev)
  • Ajout dune nouvelle fonction dagrégat avgWeighted qui permet de calculer la moyenne pondérée. #7898 (Andrey Bodrov)
  • Maintenant, lanalyse parallèle est activée par défaut pour TSV, TSKV, CSV et JSONEachRow format. #7894 (Nikita Mikhaylov)
  • Ajouter plusieurs fonctions de géo H3 bibliothèque: h3GetResolution, h3EdgeAngle, h3EdgeLength, h3IsValid et h3kRing. #8034 (Konstantin Malanchev)
  • Ajout du support pour brotli (br) compression dans les stockages liés aux fichiers et les fonctions de table. Cela corrige #8156. #8526 (alexeï-milovidov)
  • Ajouter groupBit* fonctions pour l SimpleAggregationFunction type. #8485 (Guillaume Tassery)

Bug Fix

  • Correction du renommage des tables avec Distributed moteur. Correction problème #7868. #8306 (tavplubix)
  • Maintenant dictionnaires de soutien EXPRESSION pour les attributs dans une chaîne arbitraire en dialecte SQL non-ClickHouse. #8098 (alésapine)
  • Réparation de INSERT SELECT FROM mysql(...) requête. Cela corrige #8070 et #7960. #8234 (tavplubix)
  • Correction derreur “Mismatch column sizes” lors de linsertion par défaut Tuple de JSONEachRow. Cela corrige #5653. #8606 (tavplubix)
  • Maintenant, une exception sera levée en cas dutilisation WITH TIES parallèlement LIMIT BY. Ajoutez également la possibilité dutiliser TOP avec LIMIT BY. Cela corrige #7472. #7637 (Nikita Mikhaylov)
  • Correction de la dépendance unintendent à partir de la nouvelle version de glibc dans clickhouse-odbc-bridge binaire. #8046 (Amos Oiseau)
  • Correction dun bug dans la fonction de contrôle de *MergeTree les moteurs de la famille. Maintenant, il néchoue pas dans le cas où nous avons une quantité égale de lignes dans le dernier granule et la dernière marque (non finale). #8047 (alésapine)
  • Fixer linsertion dans Enum* les colonnes après ALTER requête, lorsque le type numérique sous-jacent est égal au type spécifié par la table. Cela corrige #7836. #7908 (Anton Popov)
  • Négatif non constant autorisé “size” argument pour la fonction substring. Il na pas été autorisé par erreur. Cela corrige #4832. #7703 (alexeï-milovidov)
  • Correction dun bogue danalyse lorsque le nombre darguments transmis est erroné (O|J)DBC tableau moteur. #7709 (alésapine)
  • Utilisation du nom de commande du processus clickhouse en cours dexécution lors de lenvoi de journaux à syslog. Dans les versions précédentes, la chaîne vide était utilisée à la place du nom de la commande. #8460 (Michael Nacharov)
  • Correction de la vérification des hôtes autorisés pour localhost. Ce PR corrige la solution fournie dans #8241. #8342 (Vitaly Baranov)
  • Correction plantage rare dans argMin et argMax fonctions pour les arguments de chaîne longue, lorsque result est utilisé dans runningAccumulate fonction. Cela corrige #8325 #8341 (dinosaure)
  • Correction de la surcommission de mémoire pour les tables avec Buffer moteur. #8345 (Azat Khuzhin)
  • Correction dun bug potentiel dans les fonctions qui peuvent prendre NULL comme lun des arguments et retourner non-NULL. #8196 (alexeï-milovidov)
  • Meilleurs calculs de métriques dans le pool de threads pour les processus MergeTree table des moteurs. #8194 (Vladimir Chebotarev)
  • Fonction Fix IN à lintérieur de WHERE instruction lorsque le filtre de table de niveau ligne est présent. Fixer #6687 #8357 (Ivan)
  • Maintenant, une exception est levée si la valeur intégrale nest pas complètement analysée pour les valeurs des paramètres. #7678 (Mikhail Korotov)
  • Fix exception lorsque la fonction est utilisée dans la requête distribuée table avec plus de deux fragments. #8164 (小路)
  • Maintenant, bloom filter peut gérer des tableaux de longueur nulle et neffectue pas de calculs redondants. #8242 (achimbab)
  • Correction de la vérification si un hôte client est autorisé en faisant correspondre lhôte client à host_regexp spécifié dans users.xml. #8241 (Vitaly Baranov)
  • Relax colonne ambiguë vérifier qui conduit à des faux positifs dans plusieurs JOIN ON section. #8385 (Artem Zuikov)
  • Correction possible plantage du serveur (std::terminate) lorsque le serveur ne peut pas envoyer ou écrire des données JSON ou XML format avec les valeurs de String type de données (qui nécessitent UTF-8 validation) ou lors de la compression des données de résultat avec lalgorithme Brotli ou dans certains autres cas rares. Cela corrige #7603 #8384 (alexeï-milovidov)
  • Correction de la condition de course dans StorageDistributedDirectoryMonitor trouvé par CI. Cela corrige #8364. #8383 (Nikolai Kochetov)
  • Maintenant fond fusionne dans *MergeTree la famille des moteurs de table préserve lordre de volume de la Politique de stockage avec plus de précision. #8549 (Vladimir Chebotarev)
  • Maintenant moteur de table Kafka fonctionne correctement avec Native format. Cela corrige #6731 #7337 #8003. #8016 (filimonov)
  • Formats fixes avec des en-têtes (comme CSVWithNames) qui lançaient une exception sur EOF pour le moteur de table Kafka. #8016 (filimonov)
  • Correction dun bug avec making set from subquery dans la partie droite de IN section. Cela corrige #5767 et #2542. #7755 (Nikita Mikhaylov)
  • Correction dun crash possible lors de la lecture à partir du stockage File. #7756 (Nikolai Kochetov)
  • Correction de la lecture des fichiers en Parquet format contenant des colonnes de type list. #8334 (maxulan)
  • Correction derreur Not found column pour les requêtes distribuées avec PREWHERE condition dépendant de la clé déchantillonnage si max_parallel_replicas > 1. #7913 (Nikolai Kochetov)
  • Correction derreur Not found column si la requête utilisée PREWHERE dépendant de lalias de la table et le jeu de résultats était vide en raison de la condition de clé primaire. #7911 (Nikolai Kochetov)
  • Type de retour fixe pour les fonctions rand et randConstant en cas de Nullable argument. Maintenant renvoient toujours UInt32 et jamais Nullable(UInt32). #8204 (Nikolai Kochetov)
  • Désactivé prédicat-poussoir vers le bas pour WITH FILL expression. Cela corrige #7784. #7789 (LHiver Zhang)
  • Fixe incorrect count() résultat SummingMergeTree lorsque FINAL la section est utilisée. #3280 #7786 (Nikita Mikhaylov)
  • Correction dun résultat incorrect possible pour les fonctions constantes à partir de serveurs distants. Cest arrivé pour les requêtes avec des fonctions comme version(), uptime(), etc. qui renvoie différentes valeurs constantes pour différents serveurs. Cela corrige #7666. #7689 (Nikolai Kochetov)
  • Correction dun bug compliqué dans loptimisation des prédicats push-down qui conduit à de mauvais résultats. Cela résout beaucoup de problèmes sur loptimisation des prédicats push-down. #8503 (LHiver Zhang)
  • Correction dun crash dans l CREATE TABLE .. AS dictionary requête. #8508 (Azat Khuzhin)
  • Plusieurs améliorations grammaire ClickHouse dans .g4 fichier. #8294 (taiyang-li)
  • Correction dun bug qui conduit à des plantages dans JOINs avec tables avec moteur Join. Cela corrige #7556 #8254 #7915 #8100. #8298 (Artem Zuikov)
  • Corriger les dictionnaires redondants recharger sur CREATE DATABASE. #7916 (Azat Khuzhin)
  • Limiter le nombre maximum de flux pour lire à partir StorageFile et StorageHDFS. Corrections https://github.com/ClickHouse/ClickHouse/issues/7650. #7981 (alésapine)
  • Correction dun bug dans ALTER ... MODIFY ... CODEC requête, lorsque lutilisateur spécifie à la fois lexpression par défaut et le codec. Fixer 8593. #8614 (alésapine)
  • Correction dune erreur dans la fusion en arrière-plan des colonnes avec SimpleAggregateFunction(LowCardinality) type. #8613 (Nikolai Kochetov)
  • Fonction denregistrement de type fixe toDateTime64. #8375 (Vasily Nemkov)
  • Maintenant le serveur ne plante pas LEFT ou FULL JOIN avec et Rejoindre moteur et non pris en charge join_use_nulls paramètre. #8479 (Artem Zuikov)
  • Maintenant DROP DICTIONARY IF EXISTS db.dict la requête ne lance pas dexception si db nexiste pas. #8185 (Vitaly Baranov)
  • Correction des plantages possibles dans les fonctions de la table (file, mysql, remote) causés par lutilisation de la référence à enlever IStorage objet. Correction dune analyse incorrecte des colonnes spécifiées lors de linsertion dans la fonction de table. #7762 (tavplubix)
  • Sassurer du réseau avant de démarrer clickhouse-server. Cela corrige #7507. #8570 (Zhichang Yu)
  • Correction de la gestion des délais dattente pour les connexions sécurisées, de sorte que les requêtes ne se bloquent pas indéfiniment. Cela corrige #8126. #8128 (alexeï-milovidov)
  • Fixer clickhouse-copierconflit redondant entre les travailleurs concurrents. #7816 (Ding Xiang Fei)
  • Maintenant, les mutations ne sautent pas les parties attachées, même si leur version de mutation était plus grande que la version de mutation actuelle. #7812 (Zhichang Yu) #8250 (alésapine)
  • Ignorer les copies redondantes de *MergeTree les parties de données après le déplacement vers un autre disque et le redémarrage du serveur. #7810 (Vladimir Chebotarev)
  • Correction dun crash dans l FULL JOIN avec LowCardinality dans JOIN clé. #8252 (Artem Zuikov)
  • Interdit dutiliser le nom de colonne plus dune fois dans insert query comme INSERT INTO tbl (x, y, x). Cela corrige #5465, #7681. #7685 (alésapine)
  • Ajout de secours pour la détection du nombre de cœurs de processeur physiques pour les processeurs inconnus (en utilisant le nombre de cœurs de processeur logiques). Cela corrige #5239. #7726 (alexeï-milovidov)
  • Fixer There's no column erreur pour les colonnes matérialisées et alias. #8210 (Artem Zuikov)
  • Correction dun crash sever lorsque EXISTS la requête a été utilisé sans TABLE ou DICTIONARY qualificatif. Tout comme EXISTS t. Cela corrige #8172. Ce bug a été introduit dans la version 19.17. #8213 (alexeï-milovidov)
  • Correction dun bug rare avec erreur "Sizes of columns doesn't match" qui pourraient apparaître lors de lutilisation SimpleAggregateFunction colonne. #7790 (Boris Granveaud)
  • Correction dun bug où lutilisateur avec vide allow_databases vous avez accès à toutes les bases de données (et même pour allow_dictionaries). #7793 (DeifyTheGod)
  • Correction du crash du client lorsque le serveur est déjà déconnecté du client. #8071 (Azat Khuzhin)
  • Fixer ORDER BY comportement en cas de tri par préfixe de clé primaire et Suffixe de clé non primaire. #7759 (Anton Popov)
  • Vérifiez si la colonne qualifiée est présente dans le tableau. Cela corrige #6836. #7758 (Artem Zuikov)
  • Correction du comportement avec ALTER MOVE exécuté immédiatement après la fin de la fusion se déplace superpart De spécifié. Fixer #8103. #8104 (Vladimir Chebotarev)
  • Correction dun crash possible du serveur lors de lutilisation UNION avec un nombre différent de colonnes. Fixer #7279. #7929 (Nikolai Kochetov)
  • Fixer la taille de résultat pour la fonction substring substr avec une taille négative. #8589 (Nikolai Kochetov)
  • Maintenant le serveur nexécute pas la mutation partielle dans MergeTree sil ny a pas assez de threads libres dans le pool darrière-plan. #8588 (tavplubix)
  • Correction dune faute de frappe mineure sur le formatage UNION ALL AST. #7999 (litao91)
  • Correction des résultats incorrects du filtre bloom pour les nombres négatifs. Cela corrige #8317. #8566 (LHiver Zhang)
  • Dépassement de tampon potentiel fixe en décompression. Un utilisateur malveillant peut transmettre des données compressées fabriquées qui provoqueront une lecture après le tampon. Ce problème a été trouvé par Eldar Zaitov de léquipe de sécurité de Linformation Yandex. #8404 (alexeï-milovidov)
  • Correction dun résultat incorrect en raison du débordement dentiers dans arrayIntersect. #7777 (Nikolai Kochetov)
  • Maintenant OPTIMIZE TABLE query nattendra pas les répliques hors ligne pour effectuer lopération. #8314 (javi santana)
  • Fixe ALTER TTL analyseur pour Replicated*MergeTree table. #8318 (Vladimir Chebotarev)
  • Correction de la communication entre le serveur et le client, afin que le serveur lise les informations des tables temporaires après léchec de la requête. #8084 (Azat Khuzhin)
  • Fixer bitmapAnd erreur de fonction lors de lintersection dun bitmap agrégé et dun bitmap scalaire. #8082 (Yue Huang)
  • Affiner la définition de ZXid selon le Guide du programmeur ZooKeeper qui corrige un bug dans clickhouse-cluster-copier. #8088 (Ding Xiang Fei)
  • odbc fonction de table respecte maintenant external_table_functions_use_nulls paramètre. #7506 (Vasily Nemkov)
  • Correction dun bug qui conduisait à une course de données rare. #8143 (Alexander Kazakov)
  • Maintenant SYSTEM RELOAD DICTIONARY recharge complètement un dictionnaire, en ignorant update_field. Cela corrige #7440. #8037 (Vitaly Baranov)
  • Ajouter la possibilité de vérifier si le dictionnaire existe dans create query. #8032 (alésapine)
  • Fixer Float* lanalyse en Values format. Cela corrige #7817. #7870 (tavplubix)
  • Correction dun crash lorsque nous ne pouvons pas réserver despace dans certaines opérations en arrière-plan de *MergeTree famille de moteurs de table. #7873 (Vladimir Chebotarev)
  • Correction du crash de lopération de fusion lorsque la table contient SimpleAggregateFunction(LowCardinality) colonne. Cela corrige #8515. #8522 (Azat Khuzhin)
  • Restaurez la prise en charge de toutes les locales ICU et ajoutez la possibilité dappliquer des collations pour les expressions constantes. Ajoutez également le nom de la langue à system.collations table. #8051 (alésapine)
  • Correction dun bug lorsque les dictionnaires externes avec zéro durée de vie minimale (LIFETIME(MIN 0 MAX N), LIFETIME(N)) ne pas mettre à jour en arrière-plan. #7983 (alésapine)
  • Correction dun crash lorsque le dictionnaire externe avec la source de ClickHouse a une sous-requête dans la requête. #8351 (Nikolai Kochetov)
  • Correction dune analyse incorrecte de lextension de fichier dans la table avec le moteur URL. Cela corrige #8157. #8419 (Andrey Bodrov)
  • Fixer CHECK TABLE requête pour *MergeTree les tables sans clé. Fixer #7543. #7979 (alésapine)
  • De conversion fixe de Float64 au type MySQL. #8079 (Yuriy Baranov)
  • Maintenant, si la table na pas été complètement abandonnée en raison dun plantage du serveur, le serveur va essayer de la restaurer et de la charger. #8176 (tavplubix)
  • Correction dun crash dans la fonction de table file lors de linsertion dans le fichier qui nexiste pas. Maintenant, dans ce cas, le fichier sera créé et insérez seraient traités. #8177 (Olga Khvostikova)
  • Correction de limpasse rare qui peut arriver quand trace_log est activé. #7838 (filimonov)
  • Ajouter la possibilité de travailler avec différents types en outre Date dans RangeHashed dictionnaire externe créé à partir de la requête DDL. Fixer 7899. #8275 (alésapine)
  • Correction dun crash lorsque now64() est appelé avec un résultat dune autre fonction. #8270 (Vasily Nemkov)
  • Correction dun bug avec la détection de ladresse IP du client pour les connexions via le protocole de fil mysql. #7743 (Dmitry Muzyka)
  • Correction de la gestion du tableau vide dans arraySplit fonction. Cela corrige #7708. #7747 (hcz)
  • Correction du problème lorsque pid-file dun autre cours dexécution clickhouse-server peut être supprimée. #8487 (Weiqing Xu)
  • Correction du rechargement du dictionnaire sil 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)
  • Correction dune erreur dans la fonction arrayReduce qui peut conduire à “double free” et erreur dans le combinateur de fonction dagrégat Resample que peut provoquer la fuite de mémoire. Fonction agrégée ajoutée aggThrow. Cette fonction peut être utilisée à des fins de test. #8446 (alexeï-milovidov)

Amélioration

  • Amélioration de la journalisation lorsque vous travaillez avec S3 tableau moteur. #8251 (Grigory Pervakov)
  • Imprimé message daide quand aucun argument nest passé lors de lappel clickhouse-local. Cela corrige #5335. #8230 (Andrey Nagorny)
  • Ajouter un paramètre mutations_sync ce qui permet dattendre ALTER UPDATE/DELETE les requêtes de manière synchrone. #8237 (alésapine)
  • Autoriser à configurer relative user_files_path dans config.xml (de la manière similaire à format_schema_path). #7632 (hcz)
  • Ajouter une exception pour les types illégaux pour les fonctions de conversion avec -OrZero postfix. #7880 (Andrey Konyaev)
  • Simplifier le format de len-tête de lenvoi des données à un serveur dans une requête distribuée. #8044 (Vitaly Baranov)
  • Live View refactoring du moteur de table. #8519 (vzakaznikov)
  • Ajoutez des vérifications supplémentaires pour les dictionnaires externes créés à partir de requêtes DDL. #8127 (alésapine)
  • Correction derreur Column ... already exists lors de lutilisation FINAL et SAMPLE together, e.g. select count() from table final sample 1/2. Fixer #5186. #7907 (Nikolai Kochetov)
  • Table maintenant le premier argument de joinGet la fonction peut être tableau identifiant. #7707 (Amos Oiseau)
  • Autoriser lutilisation des MaterializedView avec les sous-requêtes ci-dessus Kafka table. #8197 (filimonov)
  • Maintenant, larrière-plan se déplace entre les disques, exécutez le pool de threads seprate. #7670 (Vladimir Chebotarev)
  • SYSTEM RELOAD DICTIONARY sexécute maintenant de manière synchrone. #8240 (Vitaly Baranov)
  • Les traces de pile affichent désormais des adresses physiques (décalages dans le fichier objet) au lieu des adresses de mémoire virtuelle (où le fichier objet a été chargé). Qui permet lutilisation de addr2line lorsque binaire est indépendant de la position et ASLR est actif. Cela corrige #8360. #8387 (alexeï-milovidov)
  • Appuyer une nouvelle syntaxe pour la sécurité de niveau ligne filtres: <table name='table_name'>…</table>. Fixer #5779. #8381 (Ivan)
  • Maintenant cityHash fonction peut travailler avec Decimal et UUID type. Fixer #5184. #7693 (Mikhail Korotov)
  • Suppression de la granularité à index fixe (cétait 1024) des journaux système car elle est obsolète après limplémentation de la granularité adaptative. #7698 (alexeï-milovidov)
  • Serveur de compatibilité MySQL activé lorsque ClickHouse est compilé sans SSL. #7852 (Yuriy Baranov)
  • Maintenant, les sommes de contrôle du serveur ont distribué des lots, ce qui donne des erreurs plus verbeuses en cas de données corrompues dans le lot. #7914 (Azat Khuzhin)
  • Soutien DROP DATABASE, DETACH TABLE, DROP TABLE et ATTACH TABLE pour MySQL moteur de base de données. #8202 (LHiver Zhang)
  • Ajouter lauthentification dans la fonction de table S3 et le moteur de table. #7623 (Vladimir Chebotarev)
  • Ajout de vérifier les pièces supplémentaires de MergeTree sur différents disques, afin de ne pas permettre de manquer des parties de données sur des disques indéfinis. #8118 (Vladimir Chebotarev)
  • Activez la prise en charge SSL pour le client et le serveur Mac. #8297 (Ivan)
  • Maintenant, ClickHouse peut fonctionner en tant que serveur fédéré MySQL (voir https://dev.mysql.com/doc/refman/5.7/en/federated-create-server.html). #7717 (Maxim Fedotov)
  • clickhouse-client maintenant seulement activer bracketed-paste lorsque multiquery est activé et multiline est désactivé. Cette correction (#7757)[https://github.com/ClickHouse/ClickHouse/issues/7757]. #7761 (Amos Oiseau)
  • Soutien Array(Decimal) dans if fonction. #7721 (Artem Zuikov)
  • Soutien Décimales arrayDifference, arrayCumSum et arrayCumSumNegative fonction. #7724 (Artem Zuikov)
  • Ajouter lifetime colonne de system.dictionaries table. #6820 #7727 (kekekekule)
  • Vérification améliorée des pièces existantes sur différents disques pour *MergeTree table des moteurs. Adresse #7660. #8440 (Vladimir Chebotarev)
  • Lintégration avec AWS SDK pour S3 interactions qui permet dutiliser toutes les fonctionnalités S3 hors de la boîte. #8011 (Pavel Kovalenko)
  • Ajout du support pour les sous-requêtes dans Live View table. #7792 (vzakaznikov)
  • Vérifier à laide de Date ou DateTime colonne de TTL des expressions a été supprimé. #7920 (Vladimir Chebotarev)
  • Informations sur le disque ajouté system.detached_parts table. #7833 (Vladimir Chebotarev)
  • Maintenant paramètres max_(table|partition)_size_to_drop peut être modifié sans redémarrage de lordinateur. #7779 (Grigory Pervakov)
  • Facilité dutilisation légèrement meilleure des messages derreur. Demander à lutilisateur de ne pas supprimer les lignes ci-dessous Stack trace:. #7897 (alexeï-milovidov)
  • Mieux lire les messages de Kafka moteur dans différents formats après #7935. #8035 (Ivan)
  • Meilleure compatibilité avec les clients MySQL qui ne prennent pas en charge sha2_password greffon auth. #8036 (Yuriy Baranov)
  • Supporte plus de types de colonnes dans le serveur de compatibilité MySQL. #7975 (Yuriy Baranov)
  • Mettre ORDER BY optimisation pour les Merge, Buffer et Materilized View stockages avec sous-jacent MergeTree table. #8130 (Anton Popov)
  • Maintenant, nous utilisons toujours Limplémentation POSIX de getrandom pour avoir une meilleure compatibilité avec les anciens noyaux (< 3.17). #7940 (Amos Oiseau)
  • Mieux vaut vérifier la destination valide dans une règle de déplacement TTL. #8410 (Vladimir Chebotarev)
  • Mieux vérifie cassé insérer des lots pour Distributed tableau moteur. #7933 (Azat Khuzhin)
  • Ajouter une colonne avec un tableau de nom de pièces que les mutations doivent traiter à lavenir system.mutations table. #8179 (alésapine)
  • Optimisation de tri de fusion parallèle pour les processeurs. #8552 (Nikolai Kochetov)
  • Paramètre mark_cache_min_lifetime est maintenant obsolète et ne fait rien. Dans les versions précédentes, mark cache peut croître en mémoire supérieure à mark_cache_size pour accommoder les données dans mark_cache_min_lifetime deuxième. Cela conduisait à la confusion et à une utilisation de la mémoire plus élevée que prévu, ce qui est particulièrement mauvais sur les systèmes à contraintes de mémoire. Si vous constatez une dégradation des performances après linstallation de cette version, vous devez mark_cache_size. #8484 (alexeï-milovidov)
  • Préparation à utiliser tid partout. Cela est nécessaire pour #7477. #8276 (alexeï-milovidov)

Amélioration Des Performances

  • Optimisations des performances dans le pipeline de processeurs. #7988 (Nikolai Kochetov)
  • Mises à jour non bloquantes des clés expirées dans les dictionnaires de cache (avec autorisation de lire les anciennes). #8303 (Nikita Mikhaylov)
  • Compiler ClickHouse sans -fno-omit-frame-pointer globalement pour épargner un registre de plus. #8097 (Amos Oiseau)
  • SpeedUp greatCircleDistance fonction et ajouter des tests de performance pour elle. #7307 (Olga Khvostikova)
  • Amélioration des performances de la fonction roundDown. #8465 (alexeï-milovidov)
  • Amélioration des performances de max, min, argMin, argMax pour DateTime64 type de données. #8199 (Vasily Nemkov)
  • Amélioration des performances de tri sans limite ou avec une grande limite et le tri externe. #8545 (alexeï-milovidov)
  • Amélioration des performances du formatage des nombres à virgule flottante jusquà 6 fois. #8542 (alexeï-milovidov)
  • Amélioration des performances de modulo fonction. #7750 (Amos Oiseau)
  • Optimisé ORDER BY et la fusion avec une seule clé de colonne. #8335 (alexeï-milovidov)
  • Meilleure mise en œuvre pour arrayReduce, -Array et -State combinators. #7710 (Amos Oiseau)
  • Maintenant PREWHERE doit être optimisé pour être au moins aussi efficace que l WHERE. #7769 (Amos Oiseau)
  • Améliorer la façon dont round et roundBankers manipulation des nombres négatifs. #8229 (hcz)
  • Amélioration des performances de décodage DoubleDelta et Gorilla les codecs par environ de 30 à 40%. Cela corrige #7082. #8019 (Vasily Nemkov)
  • Amélioration des performances de base64 les fonctions connexes. #8444 (alexeï-milovidov)
  • Ajout dune fonction geoDistance. Il est similaire à greatCircleDistance mais utilise lapproximation au modèle ellipsoïde WGS-84. Les performances des deux fonctions sont presque les mêmes. #8086 (alexeï-milovidov)
  • Plus rapide min et max fonctions dagrégation pour les Decimal type de données. #8144 (Artem Zuikov)
  • Vectoriser le traitement arrayReduce. #7608 (Amos Oiseau)
  • if les chaînes sont maintenant optimisés multiIf. #8355 (kamalov-ruslan)
  • Correction de la régression des performances de Kafka moteur de table introduit en 19.15. Cela corrige #7261. #7935 (filimonov)
  • Retiré “pie” génération de code qui gcc de paquets Debian apporte parfois par défaut. #8483 (alexeï-milovidov)
  • Formats de données danalyse parallèle #6553 (Nikita Mikhaylov)
  • Activer lanalyseur optimisé de Values avec des expressions par défaut (input_format_values_deduce_templates_of_expressions=1). #8231 (tavplubix)

Construction / Test / Amélioration De LEmballage

  • Construire des correctifs pour ARM et en un minimum de mode. #8304 (proller)
  • Ajouter le fichier de couverture flush pour clickhouse-server lorsque std::atexit nest pas appelé. Également légèrement amélioré la journalisation dans les tests sans état avec la couverture. #8267 (alésapine)
  • Mettre à jour la bibliothèque LLVM dans contrib. Évitez Dutiliser LLVM à partir de paquets OS. #8258 (alexeï-milovidov)
  • Faire empaqueté curl construire entièrement calme. #8232 #8203 (Pavel Kovalenko)
  • Correction de quelques MemorySanitizer avertissement. #8235 (Alexander Kuzmenkov)
  • Utiliser add_warning et no_warning les macros dans CMakeLists.txt. #8604 (Ivan)
  • Ajout du support de lobjet compatible Minio S3 (https://min.io/) pour de meilleurs tests dintégration. #7863 #7875 (Pavel Kovalenko)
  • Importer libc en-têtes à contrib. Il permet de rendre les builds plus cohérents sur différents systèmes (uniquement pour x86_64-linux-gnu). #5773 (alexeï-milovidov)
  • Supprimer -fPIC à partir de certaines bibliothèques. #8464 (alexeï-milovidov)
  • Propre CMakeLists.txt pour le roulage. Tu vois https://github.com/ClickHouse/ClickHouse/pull/8011#issuecomment-569478910 #8459 (alexeï-milovidov)
  • Avertissements silencieux dans CapNProto bibliothèque. #8220 (alexeï-milovidov)
  • Ajouter des tests de performance pour les tables de hachage optimisées par chaîne courte. #7679 (Amos Oiseau)
  • Maintenant ClickHouse va construire sur AArch64 même si MADV_FREE nest pas disponible. Cela corrige #8027. #8243 (Amos Oiseau)
  • Mettre zlib-ng pour résoudre les problèmes de désinfectant de mémoire. #7182 #8206 (Alexander Kuzmenkov)
  • Activez la bibliothèque MySQL interne sur un système non Linux, car lutilisation des paquets du système Dexploitation est très fragile et ne fonctionne généralement pas du tout. Cela corrige #5765. #8426 (alexeï-milovidov)
  • Correction de la construction sur certains systèmes après activation libc++. Cela annule et remplace #8374. #8380 (alexeï-milovidov)
  • Faire Field méthodes plus de type-sûr pour trouver plus derreurs. #7386 #8209 (Alexander Kuzmenkov)
  • Ajout de fichiers manquants à la libc-headers sous-module. #8507 (alexeï-milovidov)
  • Corrigé de mal JSON citation dans la sortie de test de performance. #8497 (Nikolai Kochetov)
  • Maintenant, la trace de pile est affichée pour std::exception et Poco::Exception. Dans les versions précédentes, il était disponible uniquement pour DB::Exception. Cela améliore le diagnostic. #8501 (alexeï-milovidov)
  • Le portage clock_gettime et clock_nanosleep pour les nouvelles versions glibc. #8054 (Amos Oiseau)
  • Permettre part_log dans lexemple config pour les développeurs. #8609 (alexeï-milovidov)
  • Correction de la nature asynchrone du rechargement dans 01036_no_superfluous_dict_reload_on_create_database*. #8111 (Azat Khuzhin)
  • Tests de performance codec fixe. #8615 (Vasily Nemkov)
  • Ajouter des scripts dinstallation pour .tgz construire et documentation pour eux. #8612 #8591 (alésapine)
  • Supprimé Vieux ZSTD test (il a été créé en 2016 pour reproduire le bug que la version pré 1.0 de ZSTD a eu). Cela corrige #8618. #8619 (alexeï-milovidov)
  • Correction de la construction sur Mac OS Catalina. #8600 (meo)
  • Augmentation du nombre de lignes dans les tests de performance du codec pour rendre les résultats visibles. #8574 (Vasily Nemkov)
  • Dans les versions debug, traiter LOGICAL_ERROR exceptions comme Échecs dassertion, de sorte quils sont plus faciles à remarquer. #8475 (Alexander Kuzmenkov)
  • Rendre le test de performance lié aux formats plus déterministe. #8477 (alexeï-milovidov)
  • Mettre lz4 pour corriger un échec MemorySanitizer. #8181 (Alexander Kuzmenkov)
  • Supprimer un faux positif MemorySanitizer connu dans la gestion des exceptions. #8182 (Alexander Kuzmenkov)
  • Mettre gcc et g++ à la version 9 dans build/docker/build.sh #7766 (TLightSky)
  • Ajoutez un cas de test de performance pour tester cela PREWHERE est pire que WHERE. #7768 (Amos Oiseau)
  • Progrès vers la fixation dun test flacky. #8621 (alexeï-milovidov)
  • Évitez le rapport MemorySanitizer pour les données de libunwind. #8539 (alexeï-milovidov)
  • Mettre libc++ la dernière version. #8324 (alexeï-milovidov)
  • Construire la bibliothèque ICU à partir de sources. Cela corrige #6460. #8219 (alexeï-milovidov)
  • Commutation de libressl de openssl. ClickHouse devrait prendre en charge TLS 1.3 et SNI après ce changement. Cela corrige #8171. #8218 (alexeï-milovidov)
  • Rapport UBSan fixe lors de lutilisation chacha20_poly1305 de SSL (se produit sur la connexion à https://yandex.ru/). #8214 (alexeï-milovidov)
  • Correction du mode de fichier de mot de passe par défaut pour .deb des distributions linux. #8075 (proller)
  • Expression améliorée pour obtenir clickhouse-server PID dans clickhouse-test. #8063 (Alexander Kazakov)
  • Mise à jour contrib / googletest à v1. 10. 0. #8587 (Alexander Burmak)
  • Rapport ThreadSaninitizer fixe dans base64 bibliothèque. Aussi mis à jour cette bibliothèque à la dernière version, mais cela na pas dimportance. Cela corrige #8397. #8403 (alexeï-milovidov)
  • Fixer 00600_replace_running_query pour les transformateurs. #8272 (Nikolai Kochetov)
  • Supprimer le support pour tcmalloc faire CMakeLists.txt plus simple. #8310 (alexeï-milovidov)
  • Libérer gcc construit maintenant utiliser libc++ plutôt libstdc++. Récemment libc++ a été utilisé uniquement avec clang. Cela améliorera la cohérence des configurations de construction et la portabilité. #8311 (alexeï-milovidov)
  • Activer la bibliothèque ICU pour construire avec MemorySanitizer. #8222 (alexeï-milovidov)
  • Supprimer les avertissements de CapNProto bibliothèque. #8224 (alexeï-milovidov)
  • Suppression de cas spéciaux de code pour tcmalloc parce que cest plus pris en charge. #8225 (alexeï-milovidov)
  • Dans la tâche de couverture CI, tuez le serveur gracieusement pour lui permettre denregistrer le rapport de couverture. Cela corrige les rapports de couverture incomplets que nous avons vus récemment. #8142 (alésapine)
  • Tests de Performance pour tous les codecs contre Float64 et UInt64 valeur. #8349 (Vasily Nemkov)
  • termcap est très obsolète et conduit à divers problèmes (F. G. manquant “up” cap et en écho ^J au lieu de multi-ligne) . Faveur terminfo ou groupés ncurses. #7737 (Amos Oiseau)
  • Fixer test_storage_s3 test dintégration. #7734 (Nikolai Kochetov)
  • Soutien StorageFile(<format>, null) pour insérer un bloc dans un fichier de format donné sans écrire sur le disque. Ceci est requis pour les tests de performance. #8455 (Amos Oiseau)
  • Argument supplémentaire en --print-time aux tests fonctionnels qui imprime le temps dexécution par test. #8001 (Nikolai Kochetov)
  • Ajouté assertions à KeyCondition lors de Lévaluation RPN. Cela corrigera lavertissement de gcc-9. #8279 (alexeï-milovidov)
  • Vider les options cmake dans les builds CI. #8273 (Alexander Kuzmenkov)
  • Ne générez pas dinformations de débogage pour certaines bibliothèques fat. #8271 (alexeï-milovidov)
  • Faire log_to_console.xml connectez-vous toujours à stderr, que ce soit interactif ou non. #8395 (Alexander Kuzmenkov)
  • Suppression de certaines fonctionnalités inutilisées de clickhouse-performance-test outil. #8555 (alexeï-milovidov)
  • Maintenant, nous allons également rechercher lld-X avec correspondant clang-X version. #8092 (alésapine)
  • Amélioration de construction de Parquet. #8421 (maxulan)
  • Plus DAvertissements GCC #8221 (kreuzerkrieg)
  • Package pour Arch Linux permet maintenant dexécuter le serveur ClickHouse, et pas seulement le client. #8534 (Vladimir Chebotarev)
  • Fixer le test avec les processeurs. Corrections de performances minuscules. #7672 (Nikolai Kochetov)
  • Mise à jour contrib/protobuf. #8256 (Matwey V. Kornilov)
  • En préparation du passage à c++20 comme une célébration du Nouvel An. “May the C++ force be with ClickHouse.” #8447 (Amos Oiseau)

Caractéristique Expérimentale

  • Ajouté cadre expérimental min_bytes_to_use_mmap_io. Il permet de lire de gros fichiers sans copier les données du noyau vers lespace utilisateur. Le paramètre est désactivé par défaut. Le seuil recommandé est denviron 64 Mo, car mmap / munmap est lent. #8520 (alexeï-milovidov)
  • Quotas retravaillés dans le cadre du système de contrôle daccès. Ajouté nouveau tableau system.quotas de nouvelles fonctions currentQuota, currentQuotaKey, nouvelle syntaxe SQL CREATE QUOTA, ALTER QUOTA, DROP QUOTA, SHOW QUOTA. #7257 (Vitaly Baranov)
  • Autoriser à sauter des paramètres inconnus avec des avertissements au lieu de lancer des exceptions. #7653 (Vitaly Baranov)
  • Stratégies de ligne retravaillées dans le cadre du système de contrôle daccès. Ajouté nouveau tableau system.row_policies, nouvelle fonction currentRowPolicies(), nouvelle syntaxe SQL CREATE POLICY, ALTER POLICY, DROP POLICY, SHOW CREATE POLICY, SHOW POLICIES. #7808 (Vitaly Baranov)

Correction De Sécurité

  • Correction de la possibilité de lire la structure des répertoires dans les tables avec File tableau moteur. Cela corrige #8536. #8537 (alexeï-milovidov)

Changelog pour 2019