mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-17 11:52:27 +00:00
314 KiB
314 KiB
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'erreurThere 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 successifstableA->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é sansTABLE
ouDICTIONARY
qualificatif, tout commeEXISTS t
. #8213 (alexeï-milovidov) - Type de retour fixe pour les fonctions
rand
etrandConstant
en cas d'argument nullable. Maintenant renvoient toujoursUInt32
et jamaisNullable(UInt32)
. #8204 (Nikolai Kochetov) - Fixe
DROP DICTIONARY IF EXISTS db.dict
maintenant il ne lance pas d'exception sidb
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
etStorageHDFS
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 doesn’t 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'indexLowCardinality
etNullable
#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 commehex(reinterpretAsString())
, mais ne supprime pas les derniers octets zéro. #7355 (Mikhail Korotov) - Ajouter
arrayFill
etarrayReverseFill
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)))
dansIN
. Résoudre #7364 #7366 (achimbab) - Ajouter le traitement de
SQL_TINYINT
etSQL_BIGINT
et correction de la gestion desSQL_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é avecMATERIALIZED
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 partuple()
. 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/
etshadow/
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 étaientFixedString
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 deMergeTreeSettings
#7412 (Artem Zuikov) - Les requêtes avec
HAVING
et sansGROUP 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 tablesystem.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égateuraddBatch
. #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
- Ajout de la grammaire ANTLR4 pour le dialecte ClickHouse SQL #7595 #7596 (alexeï-milovidov)
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 dansClickHouseDictionarySource
. #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-dessusKafka
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
ethttp-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
etarrayReverseSplit
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 etoptimize_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 fonctionsnow()
,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 ensystem.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é laAttempt 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ètreclickhouse-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. RenommerThreadPool::schedule(...)
deThreadPool::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 dansINSERT SELECT
requête. #5450 (palasonique1) #6832 (Anton Popov) - Ajouter un
sparse_hashed
mise en page du dictionnaire, qui est fonctionnellement équivalente à lahashed
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 pourSHOW
requête. #6944 (Philipp Malkovsky) - Ajouter
bitmapSubsetLimit(bitmap, range_start, limit)
fonction, qui renvoie le sous-ensemble du plus petitlimit
valeurs dans l'ensemble qui n'est pas inférieure àrange_start
. #6957 (Zhichang Yu) - Ajouter
bitmapMin
etbitmapMax
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 serveurconfig.xml
. #6969 (Azat Khuzhin) - Ajouter automatiquement le type de fonte
T
deLowCardinality(T)
lors de l'insertion de données dans la colonne de typeLowCardinality(T)
au format natif via HTTP. #6891 (Nikolai Kochetov) - Ajout de la capacité à utiliser la fonction
hex
sans l'aide dereinterpretAsString
pourFloat32
,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
avecsparsehash-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 avecLowCardinality
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
etGLOBAL 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 videPaddedPODArray
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 modificateurORDER BY
. (suite de la #5069) #6610 (Anton Popov)WITH TIES
le modificateurLIMIT
. (suite de la #5069) #6610 (Anton Popov)- Analyser non cotées
NULL
littéral comme NULL (si paramètreformat_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 (siinput_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
ethdfs
. 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}')
etselect * 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 desystem.events
etsystem.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
etaddressToLine
. Renommé fonctionsymbolizeAddress
deaddressToSymbol
pour des raisons de cohérence. FonctionaddressToSymbol
retournera le nom mutilé pour des raisons de performance et vous devez appliquerdemangle
. Ajout d'un réglageallow_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 deVALUES
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
ettanh
(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'aliasuser()
pour la compatibilité avec MySQL. #6470 (Alex Laquelle Le Krash) - Nouvelles fonctions d'agrégation
quantilesExactInclusive
etquantilesExactExclusive
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 inclurerange_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 queLIVE 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 dansbitmapContains
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
etSELECT
desystem.parts
ousystem.parts_columns
. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé parOPTIMIZE
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
etmedian
la fonction surNullable(Decimal128)
. #6378 (Artem Zuikov) - Correction possible résultat incomplet retourné par
SELECT
requête avecWHERE
condition sur la clé primaire contient la conversion en type Float. Il a été causé par une vérification incorrecte de la monotonie danstoFloat
fonction. #6248 #6374 (dimarub2000) - Vérifier
max_expanded_ast_elements
réglage des mutations. Mutations claires aprèsTRUNCATE 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 deAggregateFunctionFactory
. Cela corrige #6257. #6281 (Nikolai Kochetov) - Correction d'un comportement incorrect et de segfaults possibles dans
topK
ettopKWeighted
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 unNULL
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 dansclickhouse-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
etWITH CUBE
les modificateurs deGROUP 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 dansstartup()
leMergeTreeBlockOutputStream::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 à uninitializedThreadStatus
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 likeSELECT 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 avecenable_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
oumax_execution_speed_bytes
est définie. Correction de fausses erreurs commeEstimated query execution time (inf seconds) is too long
. #5547 #6232 (alexeï-milovidov) - Correction de problèmes d'utilisation
MATERIALIZED
colonnes et alias dansMaterializedView
. #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. afterALTER ... MODIFY TTL
requête. Ajouté requêtesSYSTEM 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 deInterpreterSelectQuery
. … #6375 (Nikolai Kochetov) - Soutien
ASOF JOIN
avecON
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 colonnex
. #5053 (Nikita Vasilev) - Permettre à
ATTACH
affichages en direct (par exemple, au démarrage du serveur), indépendamment deallow_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 (pouroptimize_skip_unused_shards
= 1) ClickHouse vérifie maintenant les conditions des deuxprewhere
etwhere
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ètrewindowFunnel()
. Lorsque l'strict
est définie, lewindowFunnel()
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
etTYPE_MISMATCH
les codes d'erreur ont été modifiés par défaut500 Internal Server Error
de400 Bad Request
. #6271 (Alexander Rodin) - Déplacer Rejoindre objet de
ExpressionAction
dansAnalyzedJoin
.ExpressionAnalyzer
etExpressionAction
ne sais pas à propos deJoin
classe de plus. Sa logique est cachée parAnalyzedJoin
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 leswhere_condition
de config avecpartition_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
deAnalyzedJoin
. #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ètremin_free_disk_space
, lorsque l'espace disque libre est plus petit que le seuil, la requête s'arrêtera et lanceraErrorCodes::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é parDROP
requête. Cela mènera à la faux “Attempt to acquire exclusive lock recursively” message. #6771 (alexeï-milovidov) - Split
ExpressionAnalyzer.appendJoin()
. Préparer une place dansExpressionAnalyzer
pourMergeJoin
. #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 inAllocator
(question insignifiante). #6197 (alexeï-milovidov) - Déplacer
collectUsedColumns
deExpressionAnalyzer
deSyntaxAnalyzer
.SyntaxAnalyzer
fairerequired_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 lesFROM
that more than one table is present (i.e. queries with JOINs). #6733 (Artem Zuikov) - Extrait
GetAggregatesVisitor
classe deExpressionAnalyzer
. #6458 (Artem Zuikov) system.query_log
: modifier le type de données detype
colonne deEnum
. #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 commecannot 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 dansclickhouse-client
paquet. Dans les versions précédentes, il était disponible en tant queclickhouse 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 desystem.processes
etsystem.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 dereplace_running_query_max_wait_ms
,kafka_max_wait_ms
etconnection_pool_max_wait_ms
pour la désambiguïsation. #6692 (alexeï-milovidov) - Extrait
SelectQueryExpressionAnalyzer
deExpressionAnalyzer
. 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
etidle_connection_timeout
paramètres de connexion. #6230 (alexeï-milovidov) MergeTree
a maintenant une option supplémentairettl_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 dansMergeTree
table. Cette optimisation est contrôlée paroptimize_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 fonctionsexp
,log
,sigmoid
,tanh
. FastOps est une bibliothèque mathématique vectorielle rapide de Michael Parakhin (Yandex CTO). Amélioration des performances deexp
etlog
fonctions plus de 6 fois. Fonctionexp
etlog
deFloat32
l'argument retourneraFloat32
(dans les versions précédentes, ils reviennent toujoursFloat64
). Maintenantexp(nan)
peut-retourinf
. Le résultat deexp
etlog
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 dansParsedJson::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 multithreadnumbers
. 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
deloop
type. #6536 (Nikolai Kochetov) odbc-bridge.cpp
définitmain()
donc, il ne devrait pas être inclus dansclickhouse-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
destd::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 dansIN
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 stockageCatBoostPool
. 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
etANY FULL JOIN
par défaut. Définirany_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 etALTER
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 pourSELECT WHERE
requêtes avec plusieursAND
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 avecenable_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
etSELECT
desystem.parts
ousystem.parts_columns
. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé parOPTIMIZE
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()
etstochasticLogisticRegression()
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 dansJSONEachRow
etCSV*
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 deInt64
pour les grandsDoubleDelta
les valeurs, l'amélioration de laDoubleDelta
encodage de données aléatoires pourInt32
. #5998 (Vasily Nemkov) - Surestimation fixe de
max_rows_to_read
si le paramètremerge_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'uneTuple
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
ouALTER 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 avecenable_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
etSELECT
desystem.parts
ousystem.parts_columns
. Condition de course fixe dans la préparation des requêtes de mutation. Blocage fixe causé parOPTIMIZE
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
ettopKWeighted
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
etDistributed
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
etidle_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 deAggregateFunctionFactory
. Cela corrige #6257. #6281 (Nikolai Kochetov) - Corrigé de l'analyse de
bool
les paramètres detrue
etfalse
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 deMergeTree
table quand une partie deWHERE
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
etWITH CUBE
les modificateurs deGROUP 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 likeSELECT 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 dansstartup()
leMergeTreeBlockOutputStream::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
- Ajouté officiel
rpm
paquet. #5740 (proller) (alésapine) - Ajouter une capacité à construire
.rpm
et.tgz
les paquets avecpackager
script. #5769 (alésapine) - Des correctifs pour “Arcadia” système de construction. #6223 (proller)
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
etGorilla
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 exigeCAP_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)
etgroupArrayMovingAvg(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édemmentcheckDataPart
échoue toujours pour une partie avecLowCardinality
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ôtUTC
. 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
pourColumnConst
avecColumnNullable
+ changements connexes. #5755 (Artem Zuikov) - Fixer le
ReadBufferFromKafkaConsumer
alors qu'il continue à lire de nouveaux messages aprèscommit()
même si elle a été interrompue avant #5852 (Ivan) - Fixer
FULL
etRIGHT
Joindre les résultats lors de l'adhésion surNullable
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 deIColumn::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 deEnum8
ouEnum16
. #5886 (dimarub2000) - Variante de transposition de bits complète pour
T64
codec. Pourrait conduire à une meilleure compression aveczstd
. #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 sanstzdata
(e.g. bare Docker container). Before this patch, error messageCould 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
etArenaWithFreeLists
) 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 nouveauxMergeTree
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 quebitmapHasAny
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 dansDistributed
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 dansHDFS
. #5684 (Xindong Peng)
Amélioration
- Traiter les cellules vides dans
CSV
comme valeurs par défaut lorsque le paramètreinput_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 pargperf
avec une liste générée à partir du fichier: https://publicsuffix.org/list/public_suffix_list.dat. (par exemple, nous reconnaissons maintenant le domaineac.uk
comme non significatif). #5030 (Guillaume Tassery) - Adopté
IPv6
type de données dans les tables système; colonnes unified client info danssystem.processes
etsystem.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êteON CLUSTER
. #5593 #5613 (sundyli) - Soutien
<logger>
section dansclickhouse-local
fichier de configuration. #5540 (proller) - Autoriser exécuter la requête avec
remote
fonction de table dansclickhouse-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
etdictGetOrDefault
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
etlow_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
ouLIMIT 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 unAggregatingMergeTree
. Cela ne peut être utilisé avec des fonctions simples commeany
,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
etkurtSamp
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
ettoDecimal*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 deMergeTree
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
etgeohashDecode
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éetimeSeriesGroupRateSum
, qui calcule le taux de séries chronologiques, puis additionne les taux ensemble. #4542 (Yangkuan Liu) - L'ajout de fonctions
IPv4CIDRtoIPv4Range
etIPv6CIDRtoIPv6Range
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é fonctionsjsonExtract<type>
deJSONExtract<type>
. Quand quelque chose ne va pas, ces fonctions renvoient les valeurs correspondantes, pasNULL
. Modifié la fonctionJSONExtract
, 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
etmultiIf
les fonctions ne dépendent pas de la conditionNullable
, mais comptez sur les branches pour la compatibilité sql. #5238 (Jian Wu) In
prédicat génère maintenantNull
résultat deNull
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
desimpleLinearRegression
,LinearRegression
delinearRegression
,LogisticRegression
delogisticRegression
. #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
deNullable(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
etuniqCombined
fonction agrégée et fonctions mathématiques telles quelog
. #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
etbitmapHasAll
analogue àhasAny
ethasAll
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 surReplicatedMergeTree
. #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. MaintenantALTER 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 demax_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
- Utilisez le tri radix pour trier par colonne numérique unique dans
ORDER BY
sansLIMIT
. #5106, #4439 (Evgenii Pravda, alexeï-milovidov)
Documentation
- Traduire la documentation de certains moteurs de table en chinois. #5107, #5094, #5087 (张风啸), #5068 (jamais Lee)
Construire/Test/Emballage Améliorations
- Imprimer les caractères UTF-8 correctement dans
clickhouse-test
. #5084 (alexeï-milovidov) - Ajouter un paramètre de ligne de commande pour clickhouse-client pour toujours charger la suggestion données. #5102 (alexeï-milovidov)
- Résolvez certains des avertissements PVS-Studio. #5082 (alexeï-milovidov)
- Mise à jour LZ4 #5040 (Danila Kutenin)
- Ajouter gperf pour construire des exigences pour la prochaine demande de tirage # 5030. #5110 (proller)
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
etodbc
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
- Accélération significative de la jointure ASOF #4924 (Martijn Bakker)
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
avecJOIN
#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
- Type de réglage fixe
max_partitions_per_insert_block
de booléen à UInt64. #5028 (Mohammad Hossein Sekhavat)
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
etlike
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
deCROSS JOIN
. Puis réécrireINNER JOIN
si cela est possible. #4661 (Artem Zuikov)
Amélioration
topK
ettopKWeighted
prend désormais en charge personnaliséeloadFactor
(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 chargePREWHERE
. #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 à lamultiSearch
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 dengramDistance
et d'ajouter plus de fonctions avecCaseInsensitive
etUTF
. #4602 (Danila Kutenin) - Amélioration du calcul des indices de saut de données. #4640 (Nikita Vasilev)
- Garder ordinaire,
DEFAULT
,MATERIALIZED
etALIAS
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. Maintenantstd::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èsOPTIMIZE TABLE FINAL
requête. #4683 (Amos Oiseau) - Mauvais arguments
hasAny
ouhasAll
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
etquantile
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 avecDistributed
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
surDistributed
table. #4790 (TCeason) - Fixer erreur de segmentation dans
JOIN ON
avec l'optionenable_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. FixerNULLs
dans la droite dansANY 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
desystem.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 colonneCODEC
lorsque le type de colonne n'est pas spécifié. #4883 (alésapine) - Fonction
cutQueryStringAndFragment()
etqueryStringAndFragment()
fonctionne maintenant correctement quandURL
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
etOPTIMIZE
requêtes duplication, lorsqu'elles sont exécutées surON CLUSTER
pourReplicatedMergeTree*
les tables de la famille. #4991 (alésapine)
Modification Incompatible En Arrière
- Renommer le paramètre
insert_sample_with_metadata
définirinput_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
demultiSearchAllPositions
,multiSearch
demultiSearchAny
,firstMatch
demultiSearchFirstIndex
). #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
etENABLE_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 dansclickhouse-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 pasmremap
(bien qu'il ne interceptermmap
,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. Maintenantstd::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èsOPTIMIZE TABLE FINAL
requête. #4683 (Amos Oiseau) - Mauvais arguments
hasAny
ouhasAll
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
etquantile
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 avecDistributed
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
surDistributed
table. #4790 (TCeason) - Fixer erreur de segmentation dans
JOIN ON
avec l'optionenable_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
desystem.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 colonneCODEC
lorsque le type de colonne n'est pas spécifié. #4883 (alésapine) - Fonction
cutQueryStringAndFragment()
etqueryStringAndFragment()
fonctionne maintenant correctement quandURL
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
etOPTIMIZE
requêtes duplication, lorsqu'elles sont exécutées surON CLUSTER
pourReplicatedMergeTree*
les tables de la famille. #4991 (alésapine)
Amélioration
- Garder ordinaire,
DEFAULT
,MATERIALIZED
etALIAS
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
etLIMIT
. Auparavant, siLIMIT BY
etLIMIT
ont été utilisés pour la requête distante,LIMIT
ça pourrait arriver avantLIMIT 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
etmax_execution_speed_bytes
pour limiter l'utilisation des ressources. Ajoutermin_execution_speed_bytes
réglage pour compléter lemin_execution_speed
. #4430 (L'Hiver Zhang) - Mise en œuvre de la fonction
flatten
. #4555 #4409 (alexeï-milovidov, kzon) - L'ajout de fonctions
arrayEnumerateDenseRanked
etarrayEnumerateUniqRanked
(c'est commearrayEnumerateUniq
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 pourNullable
etLowCardinality
colonne. Avant d',set
index avecNullable
ouLowCardinality
colonne a conduit à l'erreurData 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 avecclang
etasan
. #4579 (alésapine) - Empêcher
std::terminate
lorsqueinvalidate_query
pourclickhouse
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 lelifetime
. #4583 (alexeï-milovidov) - Éviter l'impasse lorsque le
invalidate_query
pour un dictionnaire avecclickhouse
source était impliquantsystem.dictionaries
table ouDictionaries
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 sontXXH_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
- Ajouter un moyen de lancer l'image clickhouse-server à partir d'un utilisateur personnalisé #4753 (Mikhail f. Shiryaev)
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 devoid readBinary(...)
dansField.cpp
. Également fusionné redondantnamespace 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 seulLowCardinality
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é. Ajouterlatest_failed_part
,latest_fail_time
,latest_fail_reason
champs à lasystem.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 surquery
etdata
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 parsumMap
. #4129 (Léo Ercolanelli) - Ajout du support de
Nullable
types demysql
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 chargejoin_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
etIPv6
types de données. Implémentations plus efficaces deIPv*
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
etset
index de saut de données pour la famille de moteurs de table MergeTree. #4143 (Nikita Vasilev) - Conversion ajoutée de
CROSS JOIN
deINNER JOIN
si cela est possible. #4221 #4266 (Artem Zuikov)
Corrections De Bugs
- Fixe
Not found column
pour les colonnes en double dansJOIN 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 aCSVWithNames
ouTSVWIthNames
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
etDateTime
les arguments sont utilisés dans les branches de l'opérateur conditionnel (fonctionif
). Ajouté cas générique pour la fonctionif
. #4243 (alexeï-milovidov) - Les dictionnaires ClickHouse se chargent maintenant dans
clickhouse
processus. #4166 (alexeï-milovidov) - Fixe blocage lorsqu'
SELECT
à partir d'une table avecFile
moteur a été rejugé aprèsNo such file or directory
erreur. #4161 (alexeï-milovidov) - Condition de course fixe lors de la sélection de
system.tables
peut donnertable 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
etDateTime
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
dansCREATE TABLE
requête. Une colonne avec le nomindex
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. VieuxsumMap
le comportement peut être obtenu en utilisantsumMapWithOverflow
fonction. #4151 (Léo Ercolanelli)
Amélioration Des Performances
std::sort
remplacé parpdqsort
pour les requêtes sansLIMIT
. #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 retoura
etb
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 pourclickhouse-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églageasterisk_left_columns_only
est réglé sur 1 en cas d'utilisationGLOBAL JOIN
avecSELECT *
(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 donnertable doesn't exist
erreur. #4313 (alexeï-milovidov) - Fixe blocage lorsqu'
SELECT
à partir d'une table avecFile
moteur a été rejugé aprèsNo 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 aCSVWithNames
ouTSVWIthNames
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
etDateTime
comparaison. #4237 (valexey) - Correction d'un résultat incorrect lorsque
Date
etDateTime
les arguments sont utilisés dans les branches de l'opérateur conditionnel (fonctionif
). Ajouté cas générique pour la fonctionif
. #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 deshdfs
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églageoptimize_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. FonctionmodelEvaluate
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
etxxHash32
. #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 commeremote
, 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 ingetStructureOfRemoteTable
. #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 bifurcationodbc-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 deNative
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
dansALTER TABLE ADD COLUMN
les déclarations avecIF EXISTS
dansDROP/MODIFY/CLEAR/COMMENT COLUMN
. #3900 (Boris Granveaud) - Fonction
parseDateTimeBestEffort
: prise en charge de formatsDD.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
Enum
s 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 utiliserLowCadrinality
type deNative
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
etsequenceCount
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 leALTER 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 recommanderalibcap2-bin
package à utilisersetcap
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)