ClickHouse/docs/es/changelog/2019.md
2020-03-30 11:25:29 +03:00

308 KiB
Raw Blame History

machine_translated
true

ClickHouse de liberación de la v19.17

Lanzamiento de ClickHouse v19.17.6.36, 2019-12-27

Corrección de errores

  • Desbordamiento de búfer potencial fijo en descomprimir. El usuario malintencionado puede pasar datos comprimidos fabricados que podrían causar lectura después del búfer. Este problema fue encontrado por Eldar Zaitov del equipo de seguridad de la información de Yandex. #8404 (alexey-milovidov)
  • Se corrigió un posible bloqueo del servidor (std::terminate) cuando el servidor no puede enviar o escribir datos en formato JSON o XML con valores de tipo de datos String (que requieren validación UTF-8) o al comprimir datos de resultados con el algoritmo Brotli o en algunos otros casos raros. #8384 (alexey-milovidov)
  • Diccionarios fijos con fuente de un clickhouse VIEW, ahora leer tales diccionarios no causa el error There is no query. #8351 (Nikolai Kochetov)
  • Se corrigió la comprobación de si un host cliente está permitido por host_regexp especificado en los usuarios.XML. #8241, #8342 (Vitaly Baranov)
  • RENAME TABLE para una tabla distribuida ahora cambia el nombre de la carpeta que contiene los datos insertados antes de enviarlos a los fragmentos. Esto soluciona un problema con los cambios de nombre sucesivos tableA->tableB, tableC->tableA. #8306 (Tavplubix)
  • range_hashed Los diccionarios externos creados por consultas DDL ahora permiten rangos de tipos numéricos arbitrarios. #8275 (alesapin)
  • Fijo INSERT INTO table SELECT ... FROM mysql(...) función de la tabla. #8234 (Tavplubix)
  • Segfault fijo en INSERT INTO TABLE FUNCTION file() mientras se inserta en un archivo que no existe. Ahora, en este caso, se crearía un archivo y luego se procesaría la inserción. #8177 (Olga Khvostikova)
  • Se corrigió el error bitmapAnd al intersecar un mapa de bits agregado y un mapa de bits escalar. #8082 (Yue Huang)
  • Segfault fijo cuando EXISTS consulta se utilizó sin TABLE o DICTIONARY calificador, al igual que EXISTS t. #8213 (alexey-milovidov)
  • Tipo de retorno fijo para funciones rand y randConstant en caso de argumento anulable. Ahora las funciones siempre regresan UInt32 y nunca Nullable(UInt32). #8204 (Nikolai Kochetov)
  • Fijo DROP DICTIONARY IF EXISTS db.dict, ahora no lanza la excepción si db no existe. #8185 (Vitaly Baranov)
  • Si una tabla no se eliminó por completo debido a un bloqueo del servidor, el servidor intentará restaurarla y cargarla #8176 (Tavplubix)
  • Se corrigió una consulta de recuento trivial para una tabla distribuida si hay más de dos tablas locales de fragmentos. #8164 (小路)
  • Se corrigió un error que conducía a una carrera de datos en DB :: BlockStreamProfileInfo :: calculateRowsBeforeLimit() #8143 (Alejandro Kazakov)
  • Fijo ALTER table MOVE part se ejecuta inmediatamente después de fusionar la parte especificada, lo que podría provocar el movimiento de una parte en la que la parte especificada se fusionó. Ahora mueve correctamente la parte especificada. #8104 (Vladimir Chebotarev)
  • Las expresiones para los diccionarios se pueden especificar como cadenas ahora. Esto es útil para el cálculo de atributos al extraer datos de fuentes que no son de ClickHouse porque permite usar la sintaxis que no son de ClickHouse para esas expresiones. #8098 (alesapin)
  • Se corrigió una carrera muy rara en clickhouse-copier debido a un desbordamiento en ZXid. #8088 (Más información)
  • Se corrigió el error cuando después de la consulta falló (debido a “Too many simultaneous queries” por ejemplo) no leería información de tablas externas, y el La siguiente solicitud interpretaría esta información como el comienzo de la siguiente consulta causando un error como Unknown packet from client. #8084 (Azat Khuzhin)
  • Evite la desreferencia nula después de “Unknown packet X from server” #8071 (Azat Khuzhin)
  • Restaure el soporte de todas las configuraciones regionales de la UCI, agregue la capacidad de aplicar intercalaciones para expresiones constantes y agregue el nombre del idioma al sistema.mesa de colaciones. #8051 (alesapin)
  • Número de secuencias para leer desde StorageFile y StorageHDFS ahora está limitado, para evitar exceder el límite de memoria. #7981 (alesapin)
  • Fijo CHECK TABLE consulta para *MergeTree mesas sin llave. #7979 (alesapin)
  • Eliminado el número de mutación de un nombre de pieza en caso de que no hubiera mutaciones. Esta eliminación mejoró la compatibilidad con versiones anteriores. #8250 (alesapin)
  • Se corrigió el error de que las mutaciones se omiten para algunas partes adjuntas debido a que su versión de datos son más grandes que la versión de mutación de la tabla. #7812 (Zhichang Yu)
  • Permita iniciar el servidor con copias redundantes de piezas después de moverlas a otro dispositivo. #7810 (Vladimir Chebotarev)
  • Corregido el error “Sizes of columns doesnt match” que pueden aparecer al usar columnas de función agregadas. #7790 (Boris Granveaud)
  • Ahora se lanzará una excepción en caso de usar WITH TIES junto con LIMIT BY. Y ahora es posible usar TOP con LIMIT BY. #7637 (Nikita Mikhaylov)
  • Repara la recarga del diccionario si tiene invalidate_query, que detuvo las actualizaciones y alguna excepción en los intentos de actualización anteriores. #8029 (alesapin)

Lanzamiento de ClickHouse v19.17.4.11, 2019-11-22

Cambio incompatible hacia atrás

  • Usar column en lugar de AST para almacenar resultados de subconsultas escalares para un mejor rendimiento. Configuración enable_scalar_subquery_optimization se agregó en 19.17 y se habilitó de forma predeterminada. Conduce a errores como este durante la actualización a 19.17.2 o 19.17.3 de versiones anteriores. Esta configuración estaba deshabilitada de forma predeterminada en 19.17.4, para hacer posible la actualización desde 19.16 y versiones anteriores sin errores. #7392 (Amos pájaro)

Novedad

  • Agregue la capacidad de crear diccionarios con consultas DDL. #7360 (alesapin)
  • Hacer bloom_filter tipo de índice de apoyo LowCardinality y Nullable #7363 #7561 (Nikolai Kochetov)
  • Añadir función isValidJSON para verificar que la cadena pasada sea un json válido. #5910 #7293 (Vdimir)
  • Implementar arrayCompact función #7328 (Memo)
  • Función creada hex para números decimales. Funciona como hex(reinterpretAsString()), pero no elimina los últimos cero bytes. #7355 (Mikhail Korotov)
  • Añadir arrayFill y arrayReverseFill funciones, que reemplazan elementos por otros elementos delante / detrás de ellos en la matriz. #7380 (Hcz)
  • Añadir CRC32IEEE()/CRC64() apoyo #7480 (Azat Khuzhin)
  • Implementar char función similar a uno en mysql #7486 (Sundyli)
  • Añadir bitmapTransform función. Transforma una matriz de valores en un mapa de bits a otra matriz de valores, el resultado es un nuevo mapa de bits #7598 (Zhichang Yu)
  • Aplicado javaHashUTF16LE() función #7651 (chimbab)
  • Añadir _shard_num columna virtual para el motor distribuido #7624 (Azat Khuzhin)

Característica Experimental

  • Soporte para procesadores (nueva canalización de ejecución de consultas) en MergeTree. #7181 (Nikolai Kochetov)

Corrección de errores

  • Corregir el análisis flotante incorrecto en Values #7817 #7870 (Tavplubix)
  • Soluciona un punto muerto raro que puede ocurrir cuando trace_log está habilitado. #7838 (filimonov)
  • Evitar la duplicación de mensajes al producir la tabla Kafka tiene cualquier MV seleccionando de ella #7265 (Ivan)
  • Soporte para Array(LowCardinality(Nullable(String))) en IN. Resolver #7364 #7366 (chimbab)
  • Añadir manejo de SQL_TINYINT y SQL_BIGINT, y fijar el manejo de SQL_FLOAT tipos de origen de datos en ODBC Bridge. #7491 (Denis Glazachev)
  • Corregir la agregación (avg y quantiles) sobre columnas decimales vacías #7431 (Andrey Konyaev)
  • Fijar INSERT en Distribuido con MATERIALIZED columna #7377 (Azat Khuzhin)
  • Hacer MOVE PARTITION funciona si algunas partes de la partición ya están en el disco o volumen de destino #7434 (Vladimir Chebotarev)
  • Se corrigió un error con los enlaces duros que no se creaban durante las mutaciones en ReplicatedMergeTree en configuraciones de varios discos. #7558 (Vladimir Chebotarev)
  • Se corrigió un error con una mutación en un MergeTree cuando toda la parte permanece sin cambios y el mejor espacio se encuentra en otro disco #7602 (Vladimir Chebotarev)
  • Corregido error con keep_free_space_ratio no se lee desde la configuración de discos #7645 (Vladimir Chebotarev)
  • Corregir error con la tabla solo contiene Tuple columnas o columnas con rutas complejas. Fijar 7541. #7545 (alesapin)
  • No tener en cuenta la memoria para el motor de búfer en el límite de max_memory_usage #7552 (Azat Khuzhin)
  • Corregir el uso de marcas final en MergeTree ordenadas por tuple(). En casos raros podría conducir a Can't adjust last granule error mientras selecciona. #7639 (Anton Popov)
  • Corregir errores en mutaciones que tienen predicados con acciones que requieren contexto (por ejemplo, funciones para json), lo que puede provocar bloqueos o excepciones extrañas. #7664 (alesapin)
  • Corregir la falta de coincidencia de los nombres de bases de datos y tablas que se escapan en data/ y shadow/ Directory #7575 (Alejandro Burmak)
  • Support duplicated keys in RIGHT|FULL JOINs, e.g. ON t.x = u.x AND t.x = u.y. Corregir el bloqueo en este caso. #7586 (Artem Zuikov)
  • Fijar Not found column <expression> in block al unirse en la expresión con RIGHT o FULL JOIN. #7641 (Artem Zuikov)
  • Un intento más de arreglar bucle infinito en PrettySpace formato #7591 (Olga Khvostikova)
  • Corregir error en concat función cuando todos los argumentos fueron FixedString del mismo tamaño. #7635 (alesapin)
  • Se corrigió la excepción en caso de usar 1 argumento al definir almacenes S3, URL y HDFS. #7618 (Vladimir Chebotarev)
  • Corregir el alcance de InterpreterSelectQuery para vistas con consulta #7601 (Azat Khuzhin)

Mejora

  • Nullable columnas reconocidas y valores NULL manejados correctamente por ODBC-bridge #7402 (Vasily Nemkov)
  • Escribir el lote actual para el envío distribuido atómicamente #7600 (Azat Khuzhin)
  • Lance una excepción si no podemos detectar la tabla para el nombre de la columna en la consulta. #7358 (Artem Zuikov)
  • Añadir merge_max_block_size ajuste a MergeTreeSettings #7412 (Artem Zuikov)
  • Consultas con HAVING y sin GROUP BY asumir grupo por constante. Tan, SELECT 1 HAVING 1 ahora devuelve un resultado. #7496 (Amos pájaro)
  • Soporte de análisis (X,) como tupla similar a python. #7501, #7562 (Amos pájaro)
  • Hacer range comportamientos de función casi como uno pitónico. #7518 (Sundyli)
  • Añadir constraints columnas a la mesa system.settings #7553 (Vitaly Baranov)
  • Mejor formato nulo para el controlador tcp, por lo que es posible usar select ignore(<expression>) from table format Null para la medida de perf a través de clickhouse-client #7606 (Amos pájaro)
  • Consultas como CREATE TABLE ... AS (SELECT (1, 2)) se analizan correctamente #7542 (Hcz)

Mejora del rendimiento

  • Se mejora el rendimiento de la agregación sobre claves de cadena cortas. #6243 (Alejandro Kuzmenkov, Amos pájaro)
  • Ejecute otra pasada de análisis de sintaxis / expresión para obtener optimizaciones potenciales después de que se plieguen los predicados constantes. #7497 (Amos pájaro)
  • Use metainformación de almacenamiento para evaluar trivial SELECT count() FROM table; #7510 (Amos pájaro, alexey-milovidov)
  • Vectorizar el procesamiento arrayReduce similar a Aggregator addBatch. #7608 (Amos pájaro)
  • Mejoras menores en el rendimiento de Kafka consumo #7475 (Ivan)

Mejora de la construcción/prueba/empaquetado

  • Agregue soporte para la compilación cruzada a la arquitectura de CPU AARCH64. Refactorizar la secuencia de comandos del empaquetador. #7370 #7539 (Ivan)
  • Desempaquete las cadenas de herramientas darwin-x86_64 y linux-aarch64 en el volumen Docker montado al crear paquetes #7534 (Ivan)
  • Actualizar la imagen de Docker para Binary Packager #7474 (Ivan)
  • Se corrigieron errores de compilación en MacOS Catalina #7585 (Ernest Poletaev)
  • Algunas refactorizaciones en la lógica de análisis de consultas: dividir la clase compleja en varias simples. #7454 (Artem Zuikov)
  • Reparar la compilación sin submódulos #7295 (propulsor)
  • Mejor add_globs en archivos CMake #7418 (Amos pájaro)
  • Eliminar rutas codificadas en unwind objetivo #7460 (Konstantin Podshumok)
  • Permitir usar el formato mysql sin ssl #7524 (propulsor)

Otro

ClickHouse de liberación de la v19.16

Todos los derechos reservados.

  • Corregir la incompatibilidad de subconsultas distribuidas con versiones anteriores de CH. Fijar #7851 (tabplubix)
  • Al ejecutar CREATE consulta, doblar expresiones constantes en argumentos del motor de almacenamiento. Reemplace el nombre de la base de datos vacía con la base de datos actual. Fijar #6508, #3492. También corrige la verificación de la dirección local en ClickHouseDictionarySource. #9262 (tabplubix)
  • Ahora el fondo se fusiona en *MergeTree familia de motores de mesa preservar el orden de volumen de políticas de almacenamiento con mayor precisión. #8549 (Vladimir Chebotarev)
  • Evitar la pérdida de datos en Kafka en casos raros cuando la excepción ocurre después de leer el sufijo pero antes de confirmar. Fijar #9378. Relacionados: #7175 #9507 (filimonov)
  • Corregir un error que conduce a la terminación del servidor al intentar usar / soltar Kafka tabla creada con parámetros incorrectos. Fijar #9494. Incorporar #9507. #9513 (filimonov)
  • Permitir usar MaterializedView con subconsultas anteriores Kafka tabla. #8197 (filimonov)

Novedad

  • Añadir deduplicate_blocks_in_dependent_materialized_views opción para controlar el comportamiento de las inserciones idempotentes en tablas con vistas materializadas. Esta nueva característica se agregó a la versión de corrección de errores mediante una solicitud especial de Altinity. #9070 (urykhy)

Lanzamiento de ClickHouse v19.16.2.2, 2019-10-30

Cambio incompatible hacia atrás

  • Agregue la validación de arity faltante para count/counIf . #7095 #7298 (Vdimir)
  • Eliminar heredado asterisk_left_columns_only configuración (que estaba deshabilitado por defecto). #7335 (Artem Zuikov)
  • Las cadenas de formato para el formato de datos de la plantilla ahora se especifican en los archivos. #7118 (Tavplubix)

Novedad

  • Introduzca uniqCombined64() para calcular la cardinalidad mayor que UINT_MAX. #7213, #7222 (Azat Khuzhin)
  • Admite índices de filtro Bloom en columnas de matriz. #6984 (chimbab)
  • Agregar una función getMacro(name) que devuelve String con el valor de <macros> desde la configuración del servidor. #7240 (alexey-milovidov)
  • Establezca dos opciones de configuración para un diccionario basado en un origen HTTP: credentials y http-headers. #7092 (Guillaume Tassery)
  • Agregar un nuevo ProfileEvent Merge que cuenta el número de fusiones de fondo lanzadas. #7093 (Mijaíl Korotov)
  • Agregue la función fullHostName que devuelve un nombre de dominio completo. #7263 #7291 (Sundyli)
  • Añadir función arraySplit y arrayReverseSplit que dividió una matriz por “cut off” condición. Son útiles en el manejo de secuencias de tiempo. #7294 (Hcz)
  • Agregue nuevas funciones que devuelvan la matriz de todos los índices coincidentes en la familia de funciones multiMatch. #7299 (Danila Kutenin)
  • Agregar un nuevo motor de base de datos Lazy que está optimizado para almacenar un gran número de pequeños -Log tabla. #7171 (Nosotros Vasilev)
  • Agregue funciones agregadas groupBitmapAnd, -Or, -Xor para columnas de mapa de bits. #7109 (Zhichang Yu)
  • Agregue los combinadores de funciones agregadas -OrNull y -OrDefault , que devuelven null o valores predeterminados cuando no hay nada que agregar. #7331 (Hcz)
  • Introduzca el formato de datos CustomSeparated que admite el escape personalizado y reglas delimitador. #7118 (Tavplubix)
  • Soporte Redis como fuente de diccionario externo. #4361 #6962 (comunodi, Anton Popov)

Corrección de errores

  • Repara el resultado de la consulta incorrecta si tiene WHERE IN (SELECT ...) sección y optimize_read_in_order ser utilizar. #7371 (Anton Popov)
  • Complemento de autenticación MariaDB deshabilitado, que depende de archivos fuera del proyecto. #7140 (Yuriy Baranov)
  • Solucionar excepción Cannot convert column ... because it is constant but values of constants are different in source and result que rara vez podría suceder cuando funciones now(), today(), yesterday(), randConstant() se utilizan. #7156 (Nikolai Kochetov)
  • Solucionado el problema de usar HTTP keep alive timeout en lugar de TCP keep alive timeout. #7351 (Vasily Nemkov)
  • Se corrigió un error de segmentación en groupBitmapOr (problema #7109). #7289 (Zhichang Yu)
  • Para las vistas materializadas, se llama a la confirmación para Kafka después de que se escribieron todos los datos. #7175 (Ivan)
  • Corregido mal duration_ms valor en system.part_log tabla. Fue diez veces fuera. #7172 (Vladimir Chebotarev)
  • Una solución rápida para resolver el bloqueo en la tabla LIVE VIEW y volver a habilitar todas las pruebas LIVE VIEW. #7201 (vzakaznikov)
  • Serialice los valores NULL correctamente en los índices mínimos / máximos de las partes MergeTree. #7234 (Alejandro Kuzmenkov)
  • No coloque columnas virtuales en .sql cuando la tabla se crea como CREATE TABLE AS. #7183 (Ivan)
  • Fijar falla de segmentación en ATTACH PART consulta. #7185 (alesapin)
  • Corrija el resultado incorrecto para algunas consultas dadas por la optimización de las subconsultas IN vacías y vacías INNER/RIGHT JOIN. #7284 (Nikolai Kochetov)
  • Reparación del error AddressSanitizer en el método LIVE VIEW getHeader (). #7271 (vzakaznikov)

Mejora

  • Añadir un mensaje en caso de queue_wait_max_ms espera se lleva a cabo. #7390 (Azat Khuzhin)
  • Ajuste hecho s3_min_upload_part_size a nivel de mesa. #7059 (Vladimir Chebotarev)
  • Compruebe TTL en StorageFactory. #7304 (Sundyli)
  • Squash bloques de la izquierda en combinación de fusión parcial (optimización). #7122 (Artem Zuikov)
  • No permita funciones no deterministas en mutaciones de motores de tabla replicados, porque esto puede introducir inconsistencias entre réplicas. #7247 (Alejandro Kazakov)
  • Deshabilite el rastreador de memoria mientras convierte el seguimiento de la pila de excepciones en cadena. Puede prevenir la pérdida de mensajes de error de tipo Memory limit exceeded en el servidor, lo que Attempt to read after eof excepción en el cliente. #7264 (Nikolai Kochetov)
  • Mejoras de formato varios. Resolver #6033, #2633, #6611, #6742 #7215 (Tavplubix)
  • ClickHouse ignora los valores en el lado derecho del operador IN que no son convertibles a la izquierda side type. Make it work properly for compound types Array and Tuple. #7283 (Alejandro Kuzmenkov)
  • Apoyar las desigualdades que faltan para ASOF JOIN. Es posible unir una variante menor o igual y estricta mayores y menos variantes para la columna ASOF en la sintaxis ON. #7282 (Artem Zuikov)
  • Optimizar la combinación de fusión parcial. #7070 (Artem Zuikov)
  • No utilice más de 98K de memoria en funciones uniqCombined. #7236, #7270 (Azat Khuzhin)
  • Enjuague las partes de la tabla de unión de la derecha en el disco en PartialMergeJoin (si no hay suficiente memoria). Cargue los datos cuando sea necesario. #7186 (Artem Zuikov)

Mejora del rendimiento

  • Acelere joinGet con argumentos const evitando la duplicación de datos. #7359 (Amos Ave)
  • Regrese temprano si la subconsulta está vacía. #7007 (小路)
  • Optimizar el análisis de la expresión SQL en Valores. #6781 (Tavplubix)

Mejora de la construcción/prueba/empaquetado

  • Deshabilite algunas contribuciones para la compilación cruzada en Mac OS. #7101 (Ivan)
  • Agregue enlaces faltantes con PocoXML para clickhouse_common_io. #7200 (Azat Khuzhin)
  • Acepte varios argumentos de filtro de prueba en clickhouse-test. #7226 (Alejandro Kuzmenkov)
  • Habilitar musl y jemalloc para ARM. #7300 (Amos pájaro)
  • Añadir --client-option parámetro para clickhouse-test para pasar parámetros adicionales al cliente. #7277 (Nikolai Kochetov)
  • Conservar las configuraciones existentes en la actualización del paquete rpm. #7103 (filimonov)
  • Corregir errores detectados por PVS. #7153 (Artem Zuikov)
  • Corregir la compilación para Darwin. #7149 (Ivan)
  • glibc 2.29 compatibilidad. #7142 (Amos Ave)
  • Asegúrese de que dh_clean no toque los archivos fuente potenciales. #7205 (Amos Ave)
  • Intente evitar conflictos al actualizar desde rpm de altinidad: tiene un archivo de configuración empaquetado por separado en clickhouse-server-common. #7073 (filimonov)
  • Optimice algunos archivos de encabezado para reconstrucciones más rápidas. #7212, #7231 (Alejandro Kuzmenkov)
  • Agregue pruebas de rendimiento para Date y DateTime. #7332 (Vasily Nemkov)
  • Corregir algunas pruebas que contenían mutaciones no deterministas. #7132 (Alejandro Kazakov)
  • Agregue compilación con MemorySanitizer a CI. #7066 (Alejandro Kuzmenkov)
  • Evite el uso de valores no inicializados en MetricsTransmitter. #7158 (Azat Khuzhin)
  • Solucionar algunos problemas en los campos encontrados por MemorySanitizer. #7135, #7179 (Alejandro Kuzmenkov), #7376 (Amos pájaro)
  • Corrige el comportamiento indefinido en murmurhash32. #7388 (Amos Ave)
  • Corrige el comportamiento indefinido en StoragesInfoStream. #7384 (Tavplubix)
  • Se corrigieron expresiones constantes plegables para motores de bases de datos externas (MySQL, ODBC, JDBC). En anteriores versiones no funcionaba para múltiples expresiones constantes y no funcionaba en absoluto para Date, DateTime y UUID. Esto corrige #7245 #7252 (alexey-milovidov)
  • Reparación del error de carrera de datos ThreadSanitizer en LIVE VIEW al acceder a la variable no_users_thread. #7353 (vzakaznikov)
  • Deshacerse de los símbolos malloc en libcommon #7134, #7065 (Amos Ave)
  • Agregue el indicador global ENABLE_LIBRARIES para deshabilitar todas las bibliotecas. #7063 (propulsor)

Limpieza de código

  • Generalice el repositorio de configuración para prepararse para DDL para diccionarios. #7155 (alesapin)
  • Analizador de diccionarios DDL sin ninguna semántica. #7209 (alesapin)
  • Divida ParserCreateQuery en diferentes analizadores más pequeños. #7253 (alesapin)
  • Pequeña refactorización y cambio de nombre cerca de diccionarios externos. #7111 (alesapin)
  • Refactorizar el código para prepararse para el papel de control de acceso basado. #7235 (Vitaly Baranov)
  • Algunas mejoras en el código DatabaseOrdinary. #7086 (Nosotros Vasilev)
  • No use iteradores en los métodos find() y emplace() de tablas hash. #7026 (Alejandro Kuzmenkov)
  • Repare getMultipleValuesFromConfig en caso de que la raíz del parámetro no esté vacía. #7374 (Mikhail Korotov)
  • Eliminar algunos copiar y pegar (TemporaryFile y TemporaryFileStream) #7166 (Artem Zuikov)
  • Mejora de la legibilidad del código un poco (MergeTreeData::getActiveContainingPart). #7361 (Vladimir Chebotarev)
  • Espere a que todos los trabajos programados, que utilizan objetos locales, si ThreadPool::schedule(...) lanzar salvedad. Cambiar nombre ThreadPool::schedule(...) a ThreadPool::scheduleOrThrowOnError(...) y corregir los comentarios para hacer obvio que puede lanzar. #7350 (Tavplubix)

Lanzamiento de ClickHouse 19.15

Lanzamiento de ClickHouse 19.15.4.10, 31.10.2019

Corrección de errores

  • Se agregó el manejo de SQL_TINYINT y SQL_BIGINT, y el manejo de correcciones de los tipos de origen de datos SQL_FLOAT en ODBC Bridge. #7491 (Denis Glazachev)
  • Se permite tener algunas partes en el disco de destino o el volumen en MOVE PARTITION. #7434 (Vladimir Chebotarev)
  • Se corrigieron valores NULL en columnas anulables a través del puente ODBC. #7402 (Vasily Nemkov)
  • Se corrigió INSERT en el nodo distribuido no local con columnas MATERIALIZED. #7377 (Azat Khuzhin)
  • Función fija getMultipleValuesFromConfig. #7374 (Mikhail Korotov)
  • Solucionado el problema de usar HTTP keep alive timeout en lugar de TCP keep alive timeout. #7351 (Vasily Nemkov)
  • Espere a que todos los trabajos finalicen con excepción (corrige fallas raras). #7350 (Tavplubix)
  • No presione a MVs cuando inserte en la tabla Kafka. #7265 (Ivan)
  • Deshabilitar el rastreador de memoria para la pila de excepciones. #7264 (Nikolai Kochetov)
  • Se corrigió el código incorrecto en la transformación de la consulta para la base de datos externa. #7252 (alexey-milovidov)
  • Evite el uso de valores no inicializados en MetricsTransmitter. #7158 (Azat Khuzhin)
  • Se agregó configuración de ejemplo con macros para pruebas (alexey-milovidov)

Lanzamiento de ClickHouse 19.15.3.6, 2019-10-09

Corrección de errores

  • Se corrigió bad_variant en el diccionario hash. (alesapin)
  • Se corrigió un error con un error de segmentación en la consulta ATTACH PART. (alesapin)
  • Cálculo de tiempo fijo en MergeTreeData. (Vladimir Chebotarev)
  • Comprometerse con Kafka explícitamente después de finalizar la escritura. #7175 (Ivan)
  • Serialice los valores NULL correctamente en los índices mínimos / máximos de las partes MergeTree. #7234 (Alejandro Kuzmenkov)

Lanzamiento de ClickHouse 19.15.2.2, 2019-10-01

Novedad

  • Almacenamiento por niveles: admite el uso de múltiples volúmenes de almacenamiento para tablas con el motor MergeTree. Es posible almacenar datos nuevos en SSD y mover automáticamente datos antiguos a HDD. (ejemplo). #4918 (Igr) #6489 (alesapin)
  • Agregar función de tabla input para leer los datos entrantes en INSERT SELECT consulta. #5450 (Palasonic1) #6832 (Anton Popov)
  • Añadir un sparse_hashed diccionario, que es funcionalmente equivalente al hashed diseño, pero es más eficiente en la memoria. Utiliza aproximadamente el doble de menos memoria a costa de una recuperación de valor más lenta. #6894 (Azat Khuzhin)
  • Implementar la capacidad de definir la lista de usuarios para el acceso a los diccionarios. Sólo la base de datos conectada actual utilizando. #6907 (Guillaume Tassery)
  • Añadir LIMIT opción para SHOW consulta. #6944 (Filipina Malkovsky)
  • Añadir bitmapSubsetLimit(bitmap, range_start, limit) función, que devuelve subconjunto de la más pequeña limit valores en el conjunto que no es menor que range_start. #6957 (Zhichang Yu)
  • Añadir bitmapMin y bitmapMax función. #6970 (Zhichang Yu)
  • Añadir función repeat relacionado con Información detallada #6999 (Más información)

Característica Experimental

  • Implementar (en memoria) Combinar unir variante que no cambia la canalización actual. El resultado está parcialmente ordenado por clave de combinación. Establecer partial_merge_join = 1 para usar esta función. La combinación de combinación todavía está en desarrollo. #6940 (Artem Zuikov)
  • Añadir S3 función del motor y de la tabla. Todavía está en desarrollo (todavía no hay soporte de autenticación). #5596 (Vladimir Chebotarev)

Mejora

  • Cada mensaje leído de Kafka se inserta atómicamente. Esto resuelve casi todos los problemas conocidos con el motor Kafka. #6950 (Ivan)
  • Mejoras para la conmutación por error de consultas distribuidas. Acortar el tiempo de recuperación, también ahora es configurable y se puede ver en system.clusters. #6399 (Vasily Nemkov)
  • Soporta valores numéricos para enumeraciones directamente en IN apartado. #6766 #6941 (Dimarub2000)
  • El soporte (opcional, deshabilitado de forma predeterminada) redirige el almacenamiento de URL. #6914 (Más información)
  • Agregue un mensaje de información cuando el cliente con una versión anterior se conecte a un servidor. #6893 (Filipina Malkovsky)
  • Eliminar el límite máximo de tiempo de suspensión de interrupción para el envío de datos en tablas distribuidas #6895 (Azat Khuzhin)
  • Agregue la capacidad de enviar eventos de perfil (contadores) con valores acumulativos al grafito. Se puede habilitar bajo <events_cumulative> en el servidor config.xml. #6969 (Azat Khuzhin)
  • Añadir tipo de fundición automática T a LowCardinality(T) mientras inserta datos en la columna de tipo LowCardinality(T) en formato nativo a través de HTTP. #6891 (Nikolai Kochetov)
  • Añadir la capacidad de utilizar la función hex sin usar reinterpretAsString para Float32, Float64. #7024 (Mikhail Korotov)

Mejora de la construcción/prueba/empaquetado

  • Agregue gdb-index al binario de clickhouse con información de depuración. Acelerará el tiempo de inicio de gdb. #6947 (alesapin)
  • Acelerar el embalaje deb con parcheado dpkg-deb que utiliza pigz. #6960 (alesapin)
  • Establecer enable_fuzzing = 1 para habilitar la instrumentación libfuzzer de todo el código del proyecto. #7042 (kyprizel)
  • Añadir prueba de humo de construcción dividida en CI. #7061 (alesapin)
  • Agregue compilación con MemorySanitizer a CI. #7066 (Alejandro Kuzmenkov)
  • Reemplazar libsparsehash con sparsehash-c11 #6965 (Azat Khuzhin)

Corrección de errores

  • Se corrigió la degradación del rendimiento del análisis de índices en claves complejas en tablas grandes. Esto corrige #6924. #7075 (alexey-milovidov)
  • Corregir el error lógico que causa segfaults al seleccionar el tema vacío de Kafka. #6909 (Ivan)
  • Arreglar la conexión MySQL demasiado pronto cerca MySQLBlockInputStream.cpp. #6882 (Clément Rodriguez)
  • Soporte devuelto para núcleos Linux muy antiguos (solución #6841) #6853 (alexey-milovidov)
  • Solucionar la posible pérdida de datos en insert select consulta en caso de bloque vacío en el flujo de entrada. #6834 #6862 #6911 (Nikolai Kochetov)
  • Solución para la función АrrayEnumerateUniqRanked con matrices vacías en params #6928 (propulsor)
  • Solucione consultas complejas con combinaciones de matriz y subconsultas globales. #6934 (Ivan)
  • Fijar Unknown identifier error en ORDER BY y GROUP BY con múltiples JOINs #7022 (Artem Zuikov)
  • Fijo MSan advertencia al ejecutar la función con LowCardinality argumento. #7062 (Nikolai Kochetov)

Cambio incompatible hacia atrás

  • Se ha cambiado el formato de serialización de los estados de la función agregada de mapa de bits * para mejorar el rendimiento. No se pueden leer los estados serializados de bitmap* de versiones anteriores. #6908 (Zhichang Yu)

Lanzamiento de ClickHouse 19.14

Lanzamiento de ClickHouse 19.14.7.15, 2019-10-02

Corrección de errores

  • Esta versión también contiene todas las correcciones de errores de 19.11.12.69.
  • Compatibilidad fija para consultas distribuidas entre 19.14 y versiones anteriores. Esto corrige #7068. #7069 (alexey-milovidov)

Lanzamiento de ClickHouse 19.14.6.12, 2019-09-19

Corrección de errores

  • Solución para la función АrrayEnumerateUniqRanked con matrices vacías en params. #6928 (propulsor)
  • Nombre de subconsulta fijo en consultas con ARRAY JOIN y GLOBAL IN subquery con alias. Utilice el alias de subconsulta para el nombre de tabla externo si se especifica. #6934 (Ivan)

Mejora de la construcción/prueba/empaquetado

  • Fijar aleteo prueba 00715_fetch_merged_or_mutated_part_zookeeper reescribiéndolo en scripts de shell porque necesita esperar a que se apliquen las mutaciones. #6977 (Alejandro Kazakov)
  • Fijo UBSan y MemSan fallo en la función groupUniqArray con el argumento de matriz emtpy. Fue causado por la colocación de vacío PaddedPODArray en la celda cero de la tabla hash porque no se llamó al constructor para el valor de la celda cero. #6937 (Amos pájaro)

Lanzamiento de ClickHouse 19.14.3.3, 2019-09-10

Novedad

  • WITH FILL modificador para ORDER BY. (continuación de #5069) #6610 (Anton Popov)
  • WITH TIES modificador para LIMIT. (continuación de #5069) #6610 (Anton Popov)
  • Analizar unquoted NULL literal como NULL (si establece format_csv_unquoted_null_literal_as_null=1). Inicialice los campos nulos con valores predeterminados si el tipo de datos de este campo no se puede anular (si input_format_null_as_default=1). #5990 #6055 (Tavplubix)
  • Soporte para comodines en rutas de funciones de tabla file y hdfs. Si la ruta contiene comodines, la tabla será de solo lectura. Ejemplo de uso: select * from hdfs('hdfs://hdfs1:9000/some_dir/another_dir/*/file{0..9}{0..9}') y select * from file('some_dir/{some_file,another_file,yet_another}.tsv', 'TSV', 'value UInt32'). #6092 (Olga Khvostikova)
  • Nuevo system.metric_log tabla que almacena los valores de system.events y system.metrics con el intervalo de tiempo especificado. #6363 #6467 (Nikita Mikhaylov) #6530 (alexey-milovidov)
  • Permitir escribir registros de texto de ClickHouse en system.text_log tabla. #6037 #6103 (Nikita Mikhaylov) #6164 (alexey-milovidov)
  • Mostrar símbolos privados en trazas de pila (esto se hace mediante el análisis de tablas de símbolos de archivos ELF). Se agregó información sobre el archivo y el número de línea en los seguimientos de la pila si la información de depuración está presente. Búsqueda de nombre de símbolo de aceleración con símbolos de indexación presentes en el programa. Se agregaron nuevas funciones SQL para la introspección: demangle y addressToLine. Función renombrada symbolizeAddress a addressToSymbol para la consistencia. Función addressToSymbol devolverá el nombre destrozado por razones de rendimiento y debe aplicar demangle. Añadido allow_introspection_functions que está desactivado por defecto. #6201 (alexey-milovidov)
  • Función de la tabla values (el nombre no distingue entre mayúsculas y minúsculas). Permite leer de VALUES lista propuesta en #5984. Ejemplo: SELECT * FROM VALUES('a UInt64, s String', (1, 'one'), (2, 'two'), (3, 'three')). #6217. #6209 (Dimarub2000)
  • Se agregó la capacidad de alterar la configuración de almacenamiento. Sintaxis: ALTER TABLE <table> MODIFY SETTING <setting> = <value>. #6366 #6669 #6685 (alesapin)
  • Soporte para la eliminación de piezas separadas. Sintaxis: ALTER TABLE <table_name> DROP DETACHED PART '<part_id>'. #6158 (Tavplubix)
  • Restricciones de tabla. Permite agregar restricciones a la definición de la tabla que se verificará en la inserción. #5273 (Gleb Novikov) #6652 (alexey-milovidov)
  • Soporte para vistas materializadas en cascada. #6324 (Amos pájaro)
  • Active el generador de perfiles de consulta de forma predeterminada para muestrear cada subproceso de ejecución de consultas una vez por segundo. #6283 (alexey-milovidov)
  • Formato de entrada ORC. #6454 #6703 (akonyaev90)
  • Se agregaron dos nuevas funciones: sigmoid y tanh (que son útiles para aplicaciones de aprendizaje automático). #6254 (alexey-milovidov)
  • Función hasToken(haystack, token), hasTokenCaseInsensitive(haystack, token) para verificar si el token dado está en pajar. Token es una subcadena de longitud máxima entre dos caracteres ASCII no alfanuméricos (o límites de pajar). Token debe ser una cadena constante. Apoyado por la especialización de índice tokenbf_v1. #6596, #6662 (Vasily Nemkov)
  • Nueva función neighbor(value, offset[, default_value]). Permite alcanzar el valor prev / next dentro de la columna en un bloque de datos. #5925 (Acerca de Nosotros) 6685365ab8c5b74f9650492c88a012596eb1b0c6 341e2e4587a18065c2da1ca888c73389f48ce36c Alexey Milovidov
  • Creó una función currentUser(), devolver el inicio de sesión del usuario autorizado. Alias agregado user() por compatibilidad con MySQL. #6470 (Acerca de Nosotros)
  • Nuevas funciones agregadas quantilesExactInclusive y quantilesExactExclusive que fueron propuestos en #5885. #6477 (Dimarub2000)
  • Función bitmapRange(bitmap, range_begin, range_end) que devuelve un nuevo conjunto con el rango especificado (no incluye el range_end). #6314 (Zhichang Yu)
  • Función geohashesInBox(longitude_min, latitude_min, longitude_max, latitude_max, precision) que crea una matriz de cadenas de precisión de cajas geohash que cubren el área proporcionada. #6127 (Vasily Nemkov)
  • Implementar soporte para la consulta INSERT con Kafka tabla. #6012 (Ivan)
  • Añadido soporte para _partition y _timestamp columnas virtuales al motor Kafka. #6400 (Ivan)
  • Posibilidad de eliminar datos confidenciales de query_log, registros del servidor, lista de procesos con reglas basadas en expresiones regulares. #5710 (filimonov)

Característica Experimental

  • Formato de datos de entrada y salida Template. Permite especificar cadena de formato personalizado para entrada y salida. #4354 #6727 (Tavplubix)
  • Implementación de LIVE VIEW tablas que se propusieron originalmente en #2898 elaborado en #3925, y luego actualizado en #5541. Ver #5541 para una descripción detallada. #5541 (vzakaznikov) #6425 (Nikolai Kochetov) #6656 (vzakaznikov) Tenga en cuenta que LIVE VIEW característica puede ser eliminado en las próximas versiones.

Corrección de errores

  • Esta versión también contiene todas las correcciones de errores de 19.13 y 19.11.
  • Corregir la falla de segmentación cuando la tabla tiene índices de omisión y se produce una fusión vertical. #6723 (alesapin)
  • Corregir TTL por columna con valores predeterminados de columna no triviales. Anteriormente en caso de fuerza TTL se fusionan con OPTIMIZE ... FINAL consulta, los valores caducados se reemplazaron por valores predeterminados de tipo en lugar de valores predeterminados de columna especificados por el usuario. #6796 (Anton Popov)
  • Solucione el problema de duplicación de mensajes de Kafka en el reinicio normal del servidor. #6597 (Ivan)
  • Se corrigió un bucle infinito al leer mensajes de Kafka. No pausar / reanudar el consumidor en la suscripción en absoluto; de lo contrario, puede pausarse indefinidamente en algunos escenarios. #6354 (Ivan)
  • Fijar Key expression contains comparison between inconvertible types excepción en bitmapContains función. #6136 #6146 #6156 (Dimarub2000)
  • Reparar segfault con habilitado optimize_skip_unused_shards y falta la clave de fragmentación. #6384 (Anton Popov)
  • Se corrigió el código incorrecto en las mutaciones que pueden conducir a la corrupción de la memoria. segfault fijo con lectura de la dirección 0x14c0 que puede happed debido a concurrente DROP TABLE y SELECT de system.parts o system.parts_columns. Condición de carrera fija en la preparación de consultas de mutación. Estancamiento fijo causado por OPTIMIZE de tablas replicadas y operaciones de modificación simultáneas como ALTERs. #6514 (alexey-milovidov)
  • Se eliminó el registro detallado adicional en la interfaz MySQL #6389 (alexey-milovidov)
  • Devuelve la capacidad de analizar la configuración booleana de true y false en el archivo de configuración. #6278 (alesapin)
  • Fix crash en quantile y median función sobre Nullable(Decimal128). #6378 (Artem Zuikov)
  • Se corrigió el posible resultado incompleto devuelto por SELECT consulta con WHERE condición en la clave principal contenía conversión a tipo flotante. Fue causado por una comprobación incorrecta de la monotonía en toFloat función. #6248 #6374 (Dimarub2000)
  • Comprobar max_expanded_ast_elements establecimiento de mutaciones. Mutaciones claras después de TRUNCATE TABLE. #6205 (Invierno Zhang)
  • Repare los resultados de JOIN para las columnas clave cuando se usa con join_use_nulls. Adjunte valores nulos en lugar de valores predeterminados de columnas. #6249 (Artem Zuikov)
  • Solución para índices de salto con combinación vertical y alteración. Solución para Bad size of marks file salvedad. #6594 #6713 (alesapin)
  • Arreglar accidente raro en ALTER MODIFY COLUMN y fusión vertical cuando una de las partes fusionadas / alteradas está vacía (0 filas) #6746 #6780 (alesapin)
  • Corregido error en la conversión de LowCardinality tipos en AggregateFunctionFactory. Esto corrige #6257. #6281 (Nikolai Kochetov)
  • Corregir el comportamiento incorrecto y posibles fallas en topK y topKWeighted funciones agregadas. #6404 (Anton Popov)
  • Código inseguro fijo alrededor getIdentifier función. #6401 #6409 (alexey-milovidov)
  • Se corrigió un error en el protocolo de cable MySQL (se usa mientras se conecta al cliente MySQL de ClickHouse). Causado por el desbordamiento del búfer de pila en PacketPayloadWriteBuffer. #6212 (Yuriy Baranov)
  • Pérdida de memoria fija en bitmapSubsetInRange función. #6819 (Zhichang Yu)
  • Corregir un error raro cuando la mutación se ejecuta después del cambio de granularidad. #6816 (alesapin)
  • Permitir mensaje protobuf con todos los campos de forma predeterminada. #6132 (Vitaly Baranov)
  • Resolver un error con nullIf función cuando enviamos un NULL en el segundo argumento. #6446 (Guillaume Tassery)
  • Corregir un error raro con la asignación / desasignación de memoria incorrecta en diccionarios complejos de caché de claves con campos de cadena que conduce a un consumo infinito de memoria (parece una pérdida de memoria). El error se reproduce cuando el tamaño de la cadena era una potencia de dos a partir de ocho (8, 16, 32, etc.). #6447 (alesapin)
  • Se corrigió la codificación Gorilla en pequeñas secuencias que causaron una excepción Cannot write after end of buffer. #6398 #6444 (Vasily Nemkov)
  • Permitir el uso de tipos no anulables en JOINs con join_use_nulls permitir. #6705 (Artem Zuikov)
  • Desactivar Poco::AbstractConfiguration sustituciones en consulta en clickhouse-client. #6706 (alexey-milovidov)
  • Evitar el punto muerto en REPLACE PARTITION. #6677 (alexey-milovidov)
  • Utilizar arrayReduce para argumentos constantes puede conducir a segfault. #6242 #6326 (alexey-milovidov)
  • Corregir partes inconsistentes que pueden aparecer si la réplica se restauró después de DROP PARTITION. #6522 #6523 (Tavplubix)
  • Cuelgue fijo adentro JSONExtractRaw función. #6195 #6198 (alexey-milovidov)
  • Corregir un error con la serialización y agregación de índices de omisión incorrectos con granularidad adaptativa. #6594. #6748 (alesapin)
  • Fijar WITH ROLLUP y WITH CUBE modificadores de GROUP BY con agregación de dos niveles. #6225 (Anton Popov)
  • Corregir un error al escribir marcas de índices secundarios con granularidad adaptativa. #6126 (alesapin)
  • Corregir el orden de inicialización durante el inicio del servidor. Ya StorageMergeTree::background_task_handle se inicializa en startup() el MergeTreeBlockOutputStream::write() puede intentar usarlo antes de la inicialización. Solo verifique si está inicializado. #6080 (Ivan)
  • Borrar el búfer de datos de la operación de lectura anterior que se completó con un error. #6026 (Nikolay)
  • Se corrigió un error al habilitar la granularidad adaptativa al crear una nueva réplica para la tabla Replicated*MergeTree. #6394 #6452 (alesapin)
  • Se corrigió un posible bloqueo durante el inicio del servidor en caso de que ocurriera una excepción en libunwind durante la excepción en el acceso a ThreadStatus estructura. #6456 (Nikita Mikhaylov)
  • Fix crash en yandexConsistentHash función. Encontrado por prueba de fuzz. #6304 #6305 (alexey-milovidov)
  • Se corrigió la posibilidad de colgar consultas cuando el servidor está sobrecargado y el grupo de subprocesos global está casi lleno. Esto tiene una mayor probabilidad de ocurrir en clústeres con una gran cantidad de fragmentos (cientos), porque las consultas distribuidas asignan un hilo por conexión a cada fragmento. Por ejemplo, este problema puede reproducirse si un clúster de 330 fragmentos está procesando 30 consultas distribuidas simultáneas. Este problema afecta a todas las versiones a partir de 19.2. #6301 (alexey-milovidov)
  • Lógica fija de arrayEnumerateUniqRanked función. #6423 (alexey-milovidov)
  • Corregir segfault al decodificar la tabla de símbolos. #6603 (Amos pájaro)
  • Se corrigió una excepción irrelevante en el elenco de LowCardinality(Nullable) to not-Nullable column in case if it doesn't contain Nulls (e.g. in query like SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String). #6094 #6119 (Nikolai Kochetov)
  • Se eliminó la cita adicional de la descripción en system.settings tabla. #6696 #6699 (alexey-milovidov)
  • Evite un posible punto muerto en TRUNCATE de la tabla replicada. #6695 (alexey-milovidov)
  • Corregir la lectura en orden de clave de clasificación. #6189 (Anton Popov)
  • Fijar ALTER TABLE ... UPDATE consulta para tablas con enable_mixed_granularity_parts=1. #6543 (alesapin)
  • Corregir error abierto por #4405 (desde 19.4.0). Se reproduce en consultas a tablas distribuidas sobre tablas MergeTree cuando no consultamos ninguna columnas (SELECT 1). #6236 (alesapin)
  • Se corrigió el desbordamiento en la división de enteros de tipo con signo a tipo sin signo. El comportamiento fue exactamente como en el lenguaje C o C ++ (reglas de promoción enteras) que puede ser sorprendente. Tenga en cuenta que el desbordamiento aún es posible cuando se divide un número firmado grande por un número sin signo grande o viceversa (pero ese caso es menos habitual). El problema existía en todas las versiones del servidor. #6214 #6233 (alexey-milovidov)
  • Limite el tiempo máximo de suspensión para el estrangulamiento cuando max_execution_speed o max_execution_speed_bytes se establece. Se corrigieron errores falsos como Estimated query execution time (inf seconds) is too long. #5547 #6232 (alexey-milovidov)
  • Se corrigieron problemas sobre el uso MATERIALIZED columnas y alias en MaterializedView. #448 #3484 #3450 #2878 #2285 #3796 (Amos pájaro) #6316 (alexey-milovidov)
  • Fijar FormatFactory comportamiento para flujos de entrada que no se implementan como procesador. #6495 (Nikolai Kochetov)
  • Error tipográfico fijo. #6631 (Acerca de Nosotros)
  • Typo en el mensaje de error (es -> are ). #6839 (Denis Zhuravlev)
  • Se corrigió el error al analizar la lista de columnas de la cadena si el tipo contenía una coma (este problema era relevante para File, URL, HDFS almacenamiento) #6217. #6209 (Dimarub2000)

Corrección de seguridad

  • Esta versión también contiene todas las correcciones de seguridad de errores de 19.13 y 19.11.
  • Se corrigió la posibilidad de que una consulta fabricada causara un bloqueo del servidor debido al desbordamiento de la pila en el analizador SQL. Se corrigió la posibilidad de desbordamiento de pila en las tablas Merge y Distributed, las vistas materializadas y las condiciones para la seguridad a nivel de fila que implicaban subconsultas. #6433 (alexey-milovidov)

Mejora

  • Correcta implementación de la lógica ternaria para AND/OR. #6048 (Alejandro Kazakov)
  • Ahora los valores y filas con TTL caducado se eliminarán después OPTIMIZE ... FINAL query from old parts without TTL infos or with outdated TTL infos, e.g. after ALTER ... MODIFY TTL consulta. Consultas añadidas SYSTEM STOP/START TTL MERGES para no permitir / permitir asignar fusiones con TTL y filtrar valores caducados en todas las fusiones. #6274 (Anton Popov)
  • Posibilidad de cambiar la ubicación del archivo de historial de ClickHouse para el cliente usando CLICKHOUSE_HISTORY_FILE envío. #6840 (filimonov)
  • Quitar dry_run bandera de InterpreterSelectQuery. … #6375 (Nikolai Kochetov)
  • Apoyo ASOF JOIN con ON apartado. #6211 (Artem Zuikov)
  • Mejor soporte de índices de omisión para mutaciones y replicación. Soporte para MATERIALIZE/CLEAR INDEX ... IN PARTITION consulta. UPDATE x = x vuelve a calcular todos los índices que usan la columna x. #5053 (Nikita Vasilev)
  • Permitir a ATTACH vistas en vivo (por ejemplo, al iniciar el servidor) independientemente de allow_experimental_live_view configuración. #6754 (alexey-milovidov)
  • Para los seguimientos de pila recopilados por el generador de perfiles de consultas, no incluya los marcos de pila generados por el propio generador de perfiles de consultas. #6250 (alexey-milovidov)
  • Ahora funciones de tabla values, file, url, hdfs tienen soporte para columnas ALIAS. #6255 (alexey-milovidov)
  • Lance una excepción si config.d file no tiene el elemento raíz correspondiente como el archivo de configuración. #6123 (Dimarub2000)
  • Imprimir información adicional en el mensaje de excepción para no space left on device. #6182, #6252 #6352 (Tavplubix)
  • Al determinar fragmentos de un Distributed debe ser cubierto por una consulta de lectura (para optimize_skip_unused_shards = 1) ClickHouse ahora verifica las condiciones de ambos prewhere y where cláusulas de la instrucción select. #6521 (Alejandro Kazakov)
  • Permitir SIMDJSON para máquinas sin AVX2 pero con sistema de instrucciones SSE 4.2 y PCLMUL. #6285 #6320 (alexey-milovidov)
  • ClickHouse puede funcionar en sistemas de archivos sin O_DIRECT soporte (como ZFS y BtrFS) sin afinación adicional. #4449 #6730 (alexey-milovidov)
  • Soporte push down predicado para la subconsulta final. #6120 (Método de codificación de datos:) #6162 (alexey-milovidov)
  • Mejor JOIN ON extracción de llaves #6131 (Artem Zuikov)
  • Se ha actualizado SIMDJSON. #6285. #6306 (alexey-milovidov)
  • Optimizar la selección de la columna más pequeña para SELECT count() consulta. #6344 (Amos pájaro)
  • Añadir strict parámetro en windowFunnel(). Cuando el strict se establece, el windowFunnel() aplica condiciones sólo para los valores únicos. #6548 (chimbab)
  • Interfaz más segura de mysqlxx::Pool. #6150 (avasiliev)
  • Opciones de tamaño de línea al ejecutar con --help opción ahora se corresponde con el tamaño del terminal. #6590 (Dimarub2000)
  • Desactivar “read in order” optimización para la agregación sin claves. #6599 (Anton Popov)
  • Código de estado HTTP para INCORRECT_DATA y TYPE_MISMATCH los códigos de error se cambiaron de forma predeterminada 500 Internal Server Error a 400 Bad Request. #6271 (Alejandro Rodin)
  • Mover un objeto de unión desde ExpressionAction en AnalyzedJoin. ExpressionAnalyzer y ExpressionAction no sé Join clase más. Su lógica está oculta por AnalyzedJoin iface. #6801 (Artem Zuikov)
  • Se corrigió un posible interbloqueo de consultas distribuidas cuando uno de los fragmentos es localhost pero la consulta se envía a través de una conexión de red. #6759 (alexey-milovidov)
  • Semántica cambiada de varias tablas RENAME para evitar posibles interbloqueos. #6757. #6756 (alexey-milovidov)
  • Servidor de compatibilidad MySQL reescrito para evitar la carga completa de paquetes de carga en la memoria. Disminución del consumo de memoria para cada conexión a aproximadamente 2 * DBMS_DEFAULT_BUFFER_SIZE (búferes de lectura/escritura). #5811 (Yuriy Baranov)
  • Mueva la lógica de interpretación de alias AST fuera del analizador que no tiene que saber nada sobre la semántica de consultas. #6108 (Artem Zuikov)
  • Análisis ligeramente más seguro de NamesAndTypesList. #6408. #6410 (alexey-milovidov)
  • clickhouse-copier: Permitir el uso where_condition de configuración con partition_key alias en la consulta para verificar la existencia de la partición (Anteriormente se usaba solo para leer consultas de datos). #6577 (propulsor)
  • Añadido argumento de mensaje opcional en throwIf. (#5772) #6329 (Vdimir)
  • La excepción del servidor obtenida al enviar datos de inserción ahora también se está procesando en el cliente. #5891 #6711 (Dimarub2000)
  • Se agregó una métrica DistributedFilesToInsert que muestra el número total de archivos en el sistema de archivos que se seleccionan para enviar a servidores remotos mediante tablas distribuidas. El número se suma en todos los fragmentos. #6600 (alexey-milovidov)
  • Mover la mayoría de JOINs preparar la lógica de ExpressionAction/ExpressionAnalyzer a AnalyzedJoin. #6785 (Artem Zuikov)
  • Reparar TSan advertencia lock-order-inversion. #6740 (Vasily Nemkov)
  • Mejores mensajes de información sobre la falta de capacidades de Linux. Registro de errores fatales con “fatal” nivel, que hará que sea más fácil de encontrar en system.text_log. #6441 (alexey-milovidov)
  • Cuando se habilita el volcado de datos temporales en el disco para restringir el uso de memoria durante GROUP BY, ORDER BY, no comprobó el espacio de disco libre. La corrección agrega una nueva configuración min_free_disk_space, cuando el espacio de disco libre es más pequeño que el umbral, la consulta se detendrá y lanzará ErrorCodes::NOT_ENOUGH_SPACE. #6678 (Weiqing Xu) #6691 (alexey-milovidov)
  • Eliminado rwlock recursivo por hilo. No tiene sentido, porque los hilos se reutilizan entre consultas. SELECT la consulta puede adquirir un bloqueo en un hilo, mantener un bloqueo de otro hilo y salir del primer hilo. Al mismo tiempo, el primer hilo puede ser reutilizado por DROP consulta. Esto conducirá a falso “Attempt to acquire exclusive lock recursively” mensaje. #6771 (alexey-milovidov)
  • Dividir ExpressionAnalyzer.appendJoin(). Preparar un lugar en ExpressionAnalyzer para MergeJoin. #6524 (Artem Zuikov)
  • Añadir mysql_native_password complemento de autenticación al servidor de compatibilidad MySQL. #6194 (Yuriy Baranov)
  • Menos número de clock_gettime llamadas; compatibilidad ABI fija entre depuración / liberación en Allocator (problema insignificante). #6197 (alexey-milovidov)
  • Mover collectUsedColumns de ExpressionAnalyzer a SyntaxAnalyzer. SyntaxAnalyzer hacer required_source_columns sí mismo ahora. #6416 (Artem Zuikov)
  • Añadir ajuste joined_subquery_requires_alias para requerir alias para subselecciones y funciones de tabla en FROM that more than one table is present (i.e. queries with JOINs). #6733 (Artem Zuikov)
  • Extraer GetAggregatesVisitor clase de ExpressionAnalyzer. #6458 (Artem Zuikov)
  • system.query_log: cambiar el tipo de datos de type columna a Enum. #6265 (Nikita Mikhaylov)
  • Enlace estático de sha256_password complemento de autenticación. #6512 (Yuriy Baranov)
  • Evite una dependencia adicional para la configuración compile trabajar. En versiones anteriores, el usuario puede obtener un error como cannot open crti.o, unable to find library -lc sucesivamente. #6309 (alexey-milovidov)
  • Más validación de la entrada que puede provenir de réplica maliciosa. #6303 (alexey-milovidov)
  • Ahora clickhouse-obfuscator el archivo está disponible en clickhouse-client paquete. En versiones anteriores estaba disponible como clickhouse obfuscator (con espacios en blanco). #5816 #6609 (Dimarub2000)
  • Fijo interbloqueo cuando tenemos al menos dos consultas que leer al menos dos tablas en orden diferente y otra consulta que realiza DDL operación en una de las mesas. Se corrigió otro punto muerto muy raro. #6764 (alexey-milovidov)
  • Añadir os_thread_ids columna a system.processes y system.query_log para mejores posibilidades de depuración. #6763 (alexey-milovidov)
  • Una solución para los errores de extensión PHP mysqlnd que ocurren cuando sha256_password se utiliza como un complemento de autenticación predeterminado (descrito en #6031). #6113 (Yuriy Baranov)
  • Elimine el lugar innecesario con columnas de nulabilidad modificadas. #6693 (Artem Zuikov)
  • Establecer el valor predeterminado de queue_max_wait_ms a cero, porque el valor actual (cinco segundos) no tiene sentido. Hay raras circunstancias en las que esta configuración tiene algún uso. Configuración añadida replace_running_query_max_wait_ms, kafka_max_wait_ms y connection_pool_max_wait_ms para la desambiguación. #6692 (alexey-milovidov)
  • Extraer SelectQueryExpressionAnalyzer de ExpressionAnalyzer. Mantenga el último para consultas no seleccionadas. #6499 (Artem Zuikov)
  • Se eliminó la duplicación de formatos de entrada y salida. #6239 (Nikolai Kochetov)
  • Permitir al usuario anular poll_interval y idle_connection_timeout configuración en la conexión. #6230 (alexey-milovidov)
  • MergeTree ahora tiene una opción adicional ttl_only_drop_parts (deshabilitado por defecto) para evitar la poda parcial de las piezas, de modo que se caigan completamente cuando todas las filas de una pieza hayan caducado. #6191 (Sergi Vladykin)
  • Comprobaciones de tipo para establecer funciones de índice. Lanzar excepción si la función tiene un tipo incorrecto. Esto corrige la prueba de fuzz con UBSan. #6511 (Nikita Vasilev)

Mejora del rendimiento

  • Optimice las consultas con ORDER BY expressions cláusula, donde expressions tiene prefijo coincidente con clave de clasificación en MergeTree tabla. Esta optimización está controlada por optimize_read_in_order configuración. #6054 #6629 (Anton Popov)
  • Permitir el uso de múltiples hilos durante la carga y eliminación de piezas. #6372 #6074 #6438 (alexey-milovidov)
  • Variante por lotes implementada de actualizar los estados de funciones agregadas. Puede conducir a beneficios de rendimiento. #6435 (alexey-milovidov)
  • Utilizar FastOps biblioteca para funciones exp, log, sigmoid, tanh. FastOps es una biblioteca matemática vectorial rápido de Michael Parakhin (Yandex CTO). Rendimiento mejorado de exp y log funciona más de 6 veces. Función exp y log de Float32 el argumento volverá Float32 (en versiones anteriores siempre regresan Float64). Ahora exp(nan) puede volver inf. El resultado de exp y log las funciones pueden no ser el número representable de la máquina más cercana a la respuesta verdadera. #6254 (alexey-milovidov) Usando la variante Danila Kutenin para hacer fastops trabajando #6317 (alexey-milovidov)
  • Deshabilitar la optimización de claves consecutivas para UInt8/16. #6298 #6701 (akuzm)
  • Rendimiento mejorado de simdjson biblioteca al deshacerse de la asignación dinámica en ParsedJson::Iterator. #6479 (Vitaly Baranov)
  • Páginas de error previo al asignar memoria con mmap(). #6667 (akuzm)
  • Corregir un error de rendimiento en Decimal comparación. #6380 (Artem Zuikov)

Mejora de la construcción/prueba/empaquetado

  • Elimine el compilador (creación de instancias de la plantilla de tiempo de ejecución) porque hemos ganado su rendimiento. #6646 (alexey-milovidov)
  • Se agregó una prueba de rendimiento para mostrar la degradación del rendimiento en gcc-9 de una manera más aislada. #6302 (alexey-milovidov)
  • Función de tabla añadida numbers_mt, que es la versión multiproceso de numbers. Pruebas de rendimiento actualizadas con funciones hash. #6554 (Nikolai Kochetov)
  • Modo de comparación en clickhouse-benchmark #6220 #6343 (Dimarub2000)
  • Mejor esfuerzo para imprimir rastros de pila. También añadido SIGPROF como una señal de depuración para imprimir el seguimiento de la pila de un hilo en ejecución. #6529 (alexey-milovidov)
  • Cada función en su propio archivo, parte 10. #6321 (alexey-milovidov)
  • Eliminar doble const TABLE_IS_READ_ONLY. #6566 (filimonov)
  • Cambios de formato para StringHashMap PR #5417. #6700 (akuzm)
  • Mejor subconsulta para la creación de unión en ExpressionAnalyzer. #6824 (Artem Zuikov)
  • Elimine una condición redundante (encontrada por PVS Studio). #6775 (akuzm)
  • Separe la interfaz de la tabla hash para ReverseIndex. #6672 (akuzm)
  • Refactorización de configuraciones. #6689 (alesapin)
  • Añadir comentarios para set funciones de índice. #6319 (Nikita Vasilev)
  • Aumente la puntuación de OOM en la versión de depuración en Linux. #6152 (akuzm)
  • HDFS HA ahora funciona en la compilación de depuración. #6650 (Weiqing Xu)
  • Se agregó una prueba a transform_query_for_external_database. #6388 (alexey-milovidov)
  • Agregue prueba para múltiples vistas materializadas para la tabla Kafka. #6509 (Ivan)
  • Hacer un mejor esquema de construcción. #6500 (Ivan)
  • Fijo test_external_dictionaries integración en caso de que se haya ejecutado bajo un usuario no root. #6507 (Nikolai Kochetov)
  • El error se reproduce cuando el tamaño total de los paquetes escritos excede DBMS_DEFAULT_BUFFER_SIZE. #6204 (Yuriy Baranov)
  • Se agregó una prueba para RENAME condición de carrera de mesa #6752 (alexey-milovidov)
  • Evitar la carrera de datos en Configuración en KILL QUERY. #6753 (alexey-milovidov)
  • Añadir prueba de integración para el manejo de errores por un diccionario de caché. #6755 (Vitaly Baranov)
  • Deshabilite el análisis de archivos de objetos ELF en Mac OS, porque no tiene sentido. #6578 (alexey-milovidov)
  • Intenta mejorar el generador de registro de cambios. #6327 (alexey-milovidov)
  • Añadir -Wshadow cambiar al GCC. #6325 (Método de codificación de datos:)
  • Eliminado el código obsoleto para mimalloc apoyo. #6715 (alexey-milovidov)
  • zlib-ng determina las capacidades de x86 y guarda esta información en variables globales. Esto se hace en la llamada defalteInit , que puede ser hecha por diferentes hilos simultáneamente. Para evitar escrituras multiproceso, hágalo al iniciar la biblioteca. #6141 (akuzm)
  • Prueba de regresión para un error que en join se corrigió en #5192. #6147 (Bakhtiyor Ruziev)
  • Informe MSan fijo. #6144 (alexey-milovidov)
  • Fijar aleteo prueba TTL. #6782 (Anton Popov)
  • Corregido carrera de datos falsos en MergeTreeDataPart::is_frozen campo. #6583 (alexey-milovidov)
  • Se corrigieron los tiempos de espera en la prueba de fuzz. En la versión anterior, se las arregló para encontrar falso bloqueo en la consulta SELECT * FROM numbers_mt(gccMurmurHash('')). #6582 (alexey-milovidov)
  • Se agregaron comprobaciones de depuración a static_cast de columnas. #6581 (alexey-milovidov)
  • Soporte para Oracle Linux en paquetes RPM oficiales. #6356 #6585 (alexey-milovidov)
  • Cambiado json perftests de once a loop tipo. #6536 (Nikolai Kochetov)
  • odbc-bridge.cpp definir main() por lo que no debe ser incluido en clickhouse-lib. #6538 (Películas De Sexo)
  • Prueba de accidente en FULL|RIGHT JOIN con nulos en las claves de la tabla derecha. #6362 (Artem Zuikov)
  • Se agregó una prueba para el límite de expansión de alias por si acaso. #6442 (alexey-milovidov)
  • Cambiado de boost::filesystem a std::filesystem cuando sea apropiado. #6253 #6385 (alexey-milovidov)
  • Se agregaron paquetes RPM al sitio web. #6251 (alexey-milovidov)
  • Añadir una prueba para fijo Unknown identifier excepción en IN apartado. #6708 (Artem Zuikov)
  • Simplificar shared_ptr_helper porque las personas que enfrentan dificultades para entenderlo. #6675 (alexey-milovidov)
  • Se agregaron pruebas de rendimiento para el códec Gorilla y DoubleDelta fijo. #6179 (Vasily Nemkov)
  • Dividir la prueba de integración test_dictionaries en 4 pruebas separadas. #6776 (Vitaly Baranov)
  • Repara la advertencia de PVS-Studio en PipelineExecutor. #6777 (Nikolai Kochetov)
  • Permitir usar library fuente del diccionario con ASan. #6482 (alexey-milovidov)
  • Se agregó la opción para generar registro de cambios a partir de una lista de relaciones públicas. #6350 (alexey-milovidov)
  • Bloquee el TinyLog almacenamiento al leer. #6226 (akuzm)
  • Compruebe si hay enlaces simbólicos rotos en CI. #6634 (alexey-milovidov)
  • Aumentar el tiempo de espera para “stack overflow” prueba porque puede llevar mucho tiempo en la compilación de depuración. #6637 (alexey-milovidov)
  • Se agregó un cheque para espacios en blanco dobles. #6643 (alexey-milovidov)
  • Fijar new/delete Seguimiento de memoria cuando se construye con desinfectantes. El seguimiento no está claro. Solo evita las excepciones de límite de memoria en las pruebas. #6450 (Artem Zuikov)
  • Habilite la comprobación de símbolos indefinidos durante la vinculación. #6453 (Ivan)
  • Evitar la reconstrucción hyperscan todos los días. #6307 (alexey-milovidov)
  • Informe UBSan fijo en ProtobufWriter. #6163 (alexey-milovidov)
  • No permita el uso del generador de perfiles de consultas con desinfectantes porque no es compatible. #6769 (alexey-milovidov)
  • Agregue prueba para recargar un diccionario después de fallar por temporizador. #6114 (Vitaly Baranov)
  • Corregir inconsistencia en PipelineExecutor::prepareProcessor tipo de argumento. #6494 (Nikolai Kochetov)
  • Se agregó una prueba de URI malos. #6493 (alexey-milovidov)
  • Se agregaron más cheques a CAST función. Esto debería obtener más información sobre la falla de segmentación en la prueba difusa. #6346 (Nikolai Kochetov)
  • Añadir gcc-9 apoyo a docker/builder contenedor que construye la imagen localmente. #6333 (Gleb Novikov)
  • Prueba de clave primaria con LowCardinality(String). #5044 #6219 (Dimarub2000)
  • Se corrigieron las pruebas afectadas por la impresión de rastros de pila lenta. #6315 (alexey-milovidov)
  • Agregue un caso de prueba para el bloqueo en groupUniqArray fijo en #6029. #4402 #6129 (akuzm)
  • Pruebas de mutaciones de índices fijos. #6645 (Nikita Vasilev)
  • En la prueba de rendimiento, no lea el registro de consultas para las consultas que no ejecutamos. #6427 (akuzm)
  • La vista materializada ahora se puede crear con cualquier tipo de cardinalidad baja, independientemente de la configuración sobre tipos de cardinalidad baja sospechosos. #6428 (Olga Khvostikova)
  • Pruebas actualizadas para send_logs_level configuración. #6207 (Nikolai Kochetov)
  • Fix build bajo gcc-8.2. #6196 (Max Akhmedov)
  • Corregir la compilación con libc ++ interno. #6724 (Ivan)
  • Reparar compilación compartida con rdkafka biblioteca #6101 (Ivan)
  • Correcciones para la compilación de Mac OS (incompleta). #6390 (alexey-milovidov) #6429 (Más información)
  • Fijar “splitted” construir. #6618 (alexey-milovidov)
  • Otras correcciones de compilación: #6186 (Amos pájaro) #6486 #6348 (vxider) #6744 (Ivan) #6016 #6421 #6491 (propulsor)

Cambio incompatible hacia atrás

  • Se eliminó la función de tabla raramente utilizada catBoostPool y almacenamiento CatBoostPool. Si ha utilizado esta función de tabla, escriba un correo electrónico a clickhouse-feedback@yandex-team.com. Tenga en cuenta que la integración CatBoost sigue siendo y será compatible. #6279 (alexey-milovidov)
  • Desactivar ANY RIGHT JOIN y ANY FULL JOIN predeterminada. Establecer any_join_distinct_right_table_keys configuración para permitirles. #5126 #6351 (Artem Zuikov)

Lanzamiento de ClickHouse 19.13

Lanzamiento de ClickHouse 19.13.6.51, 2019-10-02

Corrección de errores

  • Esta versión también contiene todas las correcciones de errores de 19.11.12.69.

Lanzamiento de ClickHouse 19.13.5.44, 2019-09-20

Corrección de errores

  • Esta versión también contiene todas las correcciones de errores de 19.14.6.12.
  • Se corrigió el posible estado inconsistente de la tabla mientras se ejecutaba DROP consulta para la tabla replicada mientras que el zookeeper no es accesible. #6045 #6413 (Nikita Mikhaylov)
  • Solución para la carrera de datos en StorageMerge #6717 (alexey-milovidov)
  • Corregir error introducido en el generador de perfiles de consultas que conduce a una recv interminable desde el socket. #6386 (alesapin)
  • Corregir el uso excesivo de la CPU mientras se ejecuta JSONExtractRaw función sobre un valor booleano. #6208 (Vitaly Baranov)
  • Corrige la regresión mientras presiona a la vista materializada. #6415 (Ivan)
  • Función de la tabla url la vulnerabilidad permitió al atacante inyectar encabezados HTTP arbitrarios en la solicitud. Este problema fue encontrado por Nikita Tikhomirov. #6466 (alexey-milovidov)
  • Arreglar inútil AST compruebe en Establecer índice. #6510 #6651 (Nikita Vasilev)
  • Análisis fijo de AggregateFunction valores incrustados en la consulta. #6575 #6773 (Zhichang Yu)
  • Corregido el comportamiento incorrecto de trim funciones familiares. #6647 (alexey-milovidov)

Lanzamiento de ClickHouse 19.13.4.32, 2019-09-10

Corrección de errores

  • Esta versión también contiene todas las correcciones de seguridad de errores de 19.11.9.52 y 19.11.10.54.
  • Carrera de datos fija en system.parts mesa y ALTER consulta. #6245 #6513 (alexey-milovidov)
  • Se corrigió el encabezado no coincidente en las secuencias en caso de leer desde una tabla distribuida vacía con sample y prewhere. #6167 (Lixiang Qian) #6823 (Nikolai Kochetov)
  • Se corrigió el fallo al usar IN cláusula con una subconsulta con una tupla. #6125 #6550 (Tavplubix)
  • Corregir el caso con los mismos nombres de columna en GLOBAL JOIN ON apartado. #6181 (Artem Zuikov)
  • Corregir el bloqueo al lanzar tipos a Decimal que no lo soportan. Lanzar excepción en su lugar. #6297 (Artem Zuikov)
  • Se corrigió el fallo en extractAll() función. #6644 (Artem Zuikov)
  • Transformación de consultas para MySQL, ODBC, JDBC funciones de la tabla ahora funciona correctamente para SELECT WHERE consultas con múltiples AND expresiones. #6381 #6676 (Dimarub2000)
  • Se agregaron verificaciones de declaraciones anteriores para la integración de MySQL 8. #6569 (Rafael David Tinoco)

Corrección de seguridad

  • Corrige dos vulnerabilidades en los códecs en fase de descompresión (el usuario malicioso puede fabricar datos comprimidos que provocarán un desbordamiento del búfer en la descompresión). #6670 (Artem Zuikov)

Lanzamiento de ClickHouse 19.13.3.26, 2019-08-22

Corrección de errores

  • Fijar ALTER TABLE ... UPDATE consulta para tablas con enable_mixed_granularity_parts=1. #6543 (alesapin)
  • Repare NPE al usar la cláusula IN con una subconsulta con una tupla. #6125 #6550 (Tavplubix)
  • Se ha solucionado un problema por el que si una réplica obsoleta cobra vida, puede que aún tenga partes de datos eliminadas por DROP PARTITION. #6522 #6523 (Tavplubix)
  • Solucionado el problema con el análisis CSV #6426 #6559 (Tavplubix)
  • Carrera de datos fija en el sistema.tabla de piezas y consulta ALTER. Esto corrige #6245. #6513 (alexey-milovidov)
  • Se corrigió el código incorrecto en las mutaciones que pueden conducir a la corrupción de la memoria. segfault fijo con lectura de la dirección 0x14c0 que puede happed debido a concurrente DROP TABLE y SELECT de system.parts o system.parts_columns. Condición de carrera fija en la preparación de consultas de mutación. Estancamiento fijo causado por OPTIMIZE de tablas replicadas y operaciones de modificación simultáneas como ALTERs. #6514 (alexey-milovidov)
  • Se corrigió la posible pérdida de datos después de ALTER DELETE consulta en la tabla con índice de omisión. #6224 #6282 (Nikita Vasilev)

Corrección de seguridad

  • Si el atacante tiene acceso de escritura a ZooKeeper y es capaz de ejecutar servidor personalizado disponible desde la red donde se ejecuta ClickHouse, puede crear servidor malicioso personalizado que actuará como réplica ClickHouse y registrarlo en ZooKeeper. Cuando otra réplica recuperará la parte de datos de una réplica maliciosa, puede forzar a clickhouse-server a escribir en una ruta arbitraria en el sistema de archivos. Encontrado por Eldar Zaitov, equipo de seguridad de la información en Yandex. #6247 (alexey-milovidov)

Lanzamiento de ClickHouse 19.13.2.19, 2019-08-14

Novedad

  • Generador de perfiles de muestreo en el nivel de consulta. Ejemplo. #4247 (laplab) #6124 (alexey-milovidov) #6250 #6283 #6386
  • Permite especificar una lista de columnas con COLUMNS('regexp') expresión que funciona como una variante más sofisticada de * asterisco. #5951 (Mfridental), (alexey-milovidov)
  • CREATE TABLE AS table_function() es posible #6057 (Dimarub2000)
  • El optimizador de Adam para el descenso de gradiente estocástico se usa de forma predeterminada en stochasticLinearRegression() y stochasticLogisticRegression() funciones agregadas, porque muestra buena calidad sin casi ningún ajuste. #6000 (Quid37)
  • Added functions for working with the сustom week number #5212 (Cristina Andrés)
  • RENAME las consultas ahora funcionan con todos los almacenes. #5953 (Ivan)
  • Ahora el cliente recibe registros del servidor con cualquier nivel deseado configurando send_logs_level independientemente del nivel de registro especificado en la configuración del servidor. #5964 (Nikita Mikhaylov)

Cambio incompatible hacia atrás

  • Configuración input_format_defaults_for_omitted_fields está habilitado de forma predeterminada. Las inserciones en las tablas distribuidas necesitan que esta configuración sea la misma en el clúster (debe configurarla antes de actualizar). Permite el cálculo de expresiones predeterminadas complejas para campos omitidos en JSONEachRow y CSV* formato. Debe ser el comportamiento esperado, pero puede conducir a una diferencia de rendimiento insignificante. #6043 (Artem Zuikov), #5625 (akuzm)

Experimental características

  • Nueva canalización de procesamiento de consultas. Utilizar experimental_use_processors=1 opción para habilitarlo. Úselo para su propio problema. #4914 (Nikolai Kochetov)

Corrección de errores

  • Kafka integración se ha fijado en esta versión.
  • Fijo DoubleDelta codificación de Int64 para grandes DoubleDelta valores mejorados DoubleDelta codificación de datos aleatorios para Int32. #5998 (Vasily Nemkov)
  • Sobreestimación fija de max_rows_to_read si el ajuste merge_tree_uniform_read_distribution se establece en 0. #6019 (alexey-milovidov)

Mejora

  • Lanza una excepción si config.d el archivo no tiene el elemento raíz correspondiente como el archivo de configuración #6123 (Dimarub2000)

Mejora del rendimiento

  • Optimizar count(). Ahora usa la columna más pequeña (si es posible). #6028 (Amos pájaro)

Mejora de la construcción/prueba/empaquetado

  • Informe sobre el uso de memoria en las pruebas de rendimiento. #5899 (akuzm)
  • Corregir compilación con externo libcxx #6010 (Ivan)
  • Reparar compilación compartida con rdkafka biblioteca #6101 (Ivan)

Lanzamiento de ClickHouse 19.11

Lanzamiento de ClickHouse 19.11.13.74, 2019-11-01

Corrección de errores

  • Se corrigió un accidente raro en ALTER MODIFY COLUMN y fusión vertical cuando una de las partes fusionadas / alteradas está vacía (0 filas). #6780 (alesapin)
  • Actualización manual de SIMDJSON. Esto corrige la posible inundación de archivos stderr con mensajes de diagnóstico json falsos. #7548 (Alejandro Kazakov)
  • Corregido error con mrk extensión de archivo para mutaciones (alesapin)

Lanzamiento de ClickHouse 19.11.12.69, 2019-10-02

Corrección de errores

  • Se corrigió la degradación del rendimiento del análisis de índices en claves complejas en tablas grandes. Esto corrige #6924. #7075 (alexey-milovidov)
  • Evite SIGSEGV raro al enviar datos en tablas con motor distribuido (Failed to send batch: file with index XXXXX is absent). #7032 (Azat Khuzhin)
  • Fijar Unknown identifier con múltiples uniones. Esto corrige #5254. #7022 (Artem Zuikov)

Lanzamiento de ClickHouse 19.11.11.57, 2019-09-13

  • Corregir el error lógico que causa segfaults al seleccionar el tema vacío de Kafka. #6902 #6909 (Ivan)
  • Solución para la función АrrayEnumerateUniqRanked con matrices vacías en params. #6928 (propulsor)

Lanzamiento de ClickHouse 19.11.10.54, 2019-09-10

Corrección de errores

  • Almacene los desplazamientos para los mensajes de Kafka manualmente para poder confirmarlos todos a la vez para todas las particiones. Corrige la duplicación potencial en “one consumer - many partitions” escenario. #6872 (Ivan)

Lanzamiento de ClickHouse 19.11.9.52, 2019-09-6

  • Mejorar el manejo de errores en los diccionarios de caché. #6737 (Vitaly Baranov)
  • Corregido error en la función arrayEnumerateUniqRanked. #6779 (propulsor)
  • Fijar JSONExtract función mientras se extrae un Tuple de JSON. #6718 (Vitaly Baranov)
  • Se corrigió la posible pérdida de datos después de ALTER DELETE consulta en la tabla con índice de omisión. #6224 #6282 (Nikita Vasilev)
  • Prueba de rendimiento fija. #6392 (alexey-milovidov)
  • Parquet: Fijar la lectura de columnas booleanos. #6579 (alexey-milovidov)
  • Corregido el comportamiento incorrecto de nullIf función de argumentos constantes. #6518 (Guillaume Tassery) #6580 (alexey-milovidov)
  • Solucione el problema de duplicación de mensajes de Kafka en el reinicio normal del servidor. #6597 (Ivan)
  • Se ha corregido un problema durante mucho tiempo ALTER UPDATE o ALTER DELETE puede evitar que se ejecuten fusiones regulares. Evite que las mutaciones se ejecuten si no hay suficientes subprocesos libres disponibles. #6502 #6617 (Tavplubix)
  • Corregido el error con el procesamiento “timezone” en el archivo de configuración del servidor. #6709 (alexey-milovidov)
  • Repara las pruebas de kafka. #6805 (Ivan)

Corrección de seguridad

  • Si el atacante tiene acceso de escritura a ZooKeeper y es capaz de ejecutar servidor personalizado disponible desde la red donde se ejecuta ClickHouse, puede crear servidor malicioso personalizado que actuará como réplica ClickHouse y registrarlo en ZooKeeper. Cuando otra réplica recuperará la parte de datos de una réplica maliciosa, puede forzar a clickhouse-server a escribir en una ruta arbitraria en el sistema de archivos. Encontrado por Eldar Zaitov, equipo de seguridad de la información en Yandex. #6247 (alexey-milovidov)

Lanzamiento de ClickHouse 19.11.8.46, 2019-08-22

Corrección de errores

  • Fijar ALTER TABLE ... UPDATE consulta para tablas con enable_mixed_granularity_parts=1. #6543 (alesapin)
  • Repare NPE al usar la cláusula IN con una subconsulta con una tupla. #6125 #6550 (Tavplubix)
  • Se ha solucionado un problema por el que si una réplica obsoleta cobra vida, puede que aún tenga partes de datos eliminadas por DROP PARTITION. #6522 #6523 (Tavplubix)
  • Solucionado el problema con el análisis CSV #6426 #6559 (Tavplubix)
  • Carrera de datos fija en el sistema.tabla de piezas y consulta ALTER. Esto corrige #6245. #6513 (alexey-milovidov)
  • Se corrigió el código incorrecto en las mutaciones que pueden conducir a la corrupción de la memoria. segfault fijo con lectura de la dirección 0x14c0 que puede happed debido a concurrente DROP TABLE y SELECT de system.parts o system.parts_columns. Condición de carrera fija en la preparación de consultas de mutación. Estancamiento fijo causado por OPTIMIZE de tablas replicadas y operaciones de modificación simultáneas como ALTERs. #6514 (alexey-milovidov)

Lanzamiento de ClickHouse 19.11.7.40, 2019-08-14

Corrección de errores

  • Kafka integración se ha fijado en esta versión.
  • Corregir segfault cuando se usa arrayReduce para argumentos constantes. #6326 (alexey-milovidov)
  • Fijo toFloat() monotonicidad. #6374 (Dimarub2000)
  • Reparar segfault con habilitado optimize_skip_unused_shards y falta la clave de fragmentación. #6384 (CurtizJ)
  • Lógica fija de arrayEnumerateUniqRanked función. #6423 (alexey-milovidov)
  • Se eliminó el registro detallado adicional del controlador MySQL. #6389 (alexey-milovidov)
  • Corregir el comportamiento incorrecto y posibles fallas en topK y topKWeighted funciones agregadas. #6404 (CurtizJ)
  • No exponga columnas virtuales en system.columns tabla. Esto es necesario para la compatibilidad con versiones anteriores. #6406 (alexey-milovidov)
  • Corregir un error con la asignación de memoria para campos de cadena en el diccionario de caché de claves complejas. #6447 (alesapin)
  • Corregir un error al habilitar la granularidad adaptativa al crear una nueva réplica para Replicated*MergeTree tabla. #6452 (alesapin)
  • Corregir bucle infinito al leer los mensajes de Kafka. #6354 (abyss7)
  • Se corrigió la posibilidad de que una consulta fabricada causara un bloqueo del servidor debido al desbordamiento de la pila en el analizador SQL y la posibilidad de desbordamiento de la pila en Merge y Distributed tabla #6433 (alexey-milovidov)
  • Corregido el error de codificación Gorilla en pequeñas secuencias. #6444 (Enmk)

Mejora

  • Permitir al usuario anular poll_interval y idle_connection_timeout configuración en la conexión. #6230 (alexey-milovidov)

Lanzamiento de ClickHouse 19.11.5.28, 2019-08-05

Corrección de errores

  • Se corrigió la posibilidad de colgar consultas cuando el servidor está sobrecargado. #6301 (alexey-milovidov)
  • Reparar FPE en la función yandexConsistentHash. Esto corrige #6304. #6126 (alexey-milovidov)
  • Corregido error en la conversión de LowCardinality tipos en AggregateFunctionFactory. Esto corrige #6257. #6281 (Nikolai Kochetov)
  • Corregir el análisis de bool ajustes de true y false en los archivos de configuración. #6278 (alesapin)
  • Corrige un error raro con encabezados de flujo incompatibles en consultas para Distributed mesa sobre MergeTree mesa cuando parte de WHERE se mueve a PREWHERE. #6236 (alesapin)
  • Se corrigió el desbordamiento en la división de enteros de tipo con signo a tipo sin signo. Esto corrige #6214. #6233 (alexey-milovidov)

Cambio incompatible hacia atrás

  • Kafka todavía roto.

Lanzamiento de ClickHouse 19.11.4.24, 2019-08-01

Corrección de errores

  • Corregir un error al escribir marcas de índices secundarios con granularidad adaptativa. #6126 (alesapin)
  • Fijar WITH ROLLUP y WITH CUBE modificadores de GROUP BY con agregación de dos niveles. #6225 (Anton Popov)
  • Cuelgue fijo adentro JSONExtractRaw función. Fijo #6195 #6198 (alexey-milovidov)
  • Reparar segfault en ExternalLoader :: loadOutdated (). #6082 (Vitaly Baranov)
  • Se corrigió el caso en el que el servidor podía cerrar sockets de escucha pero no apagar y continuar sirviendo las consultas restantes. Puede terminar con dos procesos de servidor de clickhouse en ejecución. A veces, el servidor puede devolver un error bad_function_call para las consultas restantes. #6231 (alexey-milovidov)
  • Se corrigió la condición inútil e incorrecta en el campo de actualización para la carga inicial de diccionarios externos a través de ODBC, MySQL, ClickHouse y HTTP. Esto corrige #6069 #6083 (alexey-milovidov)
  • Se corrigió una excepción irrelevante en el elenco de LowCardinality(Nullable) to not-Nullable column in case if it doesn't contain Nulls (e.g. in query like SELECT CAST(CAST('Hello' AS LowCardinality(Nullable(String))) AS String). #6094 #6119 (Nikolai Kochetov)
  • Fijar resultado no determinista de “uniq” función agregada en casos extremos raros. El error estaba presente en todas las versiones de ClickHouse. #6058 (alexey-milovidov)
  • Segfault cuando establecemos un CIDR demasiado alto en la función IPv6CIDRToRange. #6068 (Guillaume Tassery)
  • Se corrigió una pequeña pérdida de memoria cuando el servidor lanzaba muchas excepciones de muchos contextos diferentes. #6144 (alexey-milovidov)
  • Soluciona la situación cuando el consumidor se detuvo antes de la suscripción y no se reanudó después. #6075 (Ivan) Tenga en cuenta que Kafka está roto en esta versión.
  • Borrar el búfer de datos Kafka de la operación de lectura anterior que se completó con un error #6026 (Nikolay) Tenga en cuenta que Kafka está roto en esta versión.
  • Ya StorageMergeTree::background_task_handle se inicializa en startup() el MergeTreeBlockOutputStream::write() puede intentar usarlo antes de la inicialización. Solo verifique si está inicializado. #6080 (Ivan)

Mejora de la construcción/prueba/empaquetado

Cambio incompatible hacia atrás

  • Kafka está roto en esta versión.

Lanzamiento de ClickHouse 19.11.3.11, 2019-07-18

Novedad

  • Se agregó soporte para declaraciones preparadas. #5331 (Alejandro) #5630 (alexey-milovidov)
  • DoubleDelta y Gorilla codecs de columna #5600 (Vasily Nemkov)
  • Añadir os_thread_priority ajuste que permite controlar el “nice” valor de los subprocesos de procesamiento de consultas que utiliza el sistema operativo para ajustar la prioridad de programación dinámica. Requiere CAP_SYS_NICE capacidades para trabajar. Esto implementa #5858 #5909 (alexey-milovidov)
  • Implementar _topic, _offset, _key columnas para el motor Kafka #5382 (Ivan) Tenga en cuenta que Kafka está roto en esta versión.
  • Añadir combinador de funciones agregadas -Resample #5590 (Hcz)
  • Funciones agregadas groupArrayMovingSum(win_size)(x) y groupArrayMovingAvg(win_size)(x), que calculan la suma / avg en movimiento con o sin limitación de tamaño de ventana. #5595 (Sistema abierto.)
  • Agregar sinónimo arrayFlatten <-> flatten #5764 (Hcz)
  • Función Intergate H3 geoToH3 de Uber. #4724 (Remen Ivan) #5805 (alexey-milovidov)

Corrección de errores

  • Implementar caché DNS con actualización asincrónica. El subproceso separado resuelve todos los hosts y actualiza la caché DNS con el punto (configuración dns_cache_update_period). Debería ayudar, cuando la ip de los hosts cambia con frecuencia. #5857 (Anton Popov)
  • Arreglar segfault en Delta codec que afecta a columnas con valores de menos de 32 bits. El error llevó a la corrupción de memoria aleatoria. #5786 (alesapin)
  • Fix segfault en TTL se fusionan con columnas no físicas en el bloque. #5819 (Anton Popov)
  • Corregir un error raro en la comprobación de la parte con LowCardinality columna. Previamente checkDataPart siempre falla para parte con LowCardinality columna. #5832 (alesapin)
  • Evite colgar conexiones cuando el grupo de subprocesos del servidor esté lleno. Es importante para las conexiones desde remote función de tabla o conexiones a un fragmento sin réplicas cuando hay un tiempo de espera de conexión largo. Esto corrige #5878 #5881 (alexey-milovidov)
  • Soporte para argumentos constantes para evalMLModel función. Esto corrige #5817 #5820 (alexey-milovidov)
  • Se ha solucionado el problema cuando ClickHouse determina la zona horaria predeterminada como UCT en lugar de UTC. Esto corrige #5804. #5828 (alexey-milovidov)
  • Fijo desbordamiento del búfer en visitParamExtractRaw. Esto corrige #5901 #5902 (alexey-milovidov)
  • Ahora distribuido DROP/ALTER/TRUNCATE/OPTIMIZE ON CLUSTER las consultas se ejecutarán directamente en la réplica del líder. #5757 (alesapin)
  • Fijar coalesce para ColumnConst con ColumnNullable + cambios relacionados. #5755 (Artem Zuikov)
  • Fijar el ReadBufferFromKafkaConsumer para que siga leyendo nuevos mensajes después commit() incluso si estaba estancado antes #5852 (Ivan)
  • Fijar FULL y RIGHT Resultados de JOIN al unirse en Nullable teclas en la mesa derecha. #5859 (Artem Zuikov)
  • Posible solución de sueño infinito de consultas de baja prioridad. #5842 (alexey-milovidov)
  • Corregir la condición de carrera, lo que hace que algunas consultas no aparezcan en query_log después SYSTEM FLUSH LOGS consulta. #5456 #5685 (Anton Popov)
  • Fijo heap-use-after-free ASan advertencia en ClusterCopier causada por el reloj que intenta usar el objeto de copiadora ya eliminado. #5871 (Nikolai Kochetov)
  • Corregido mal StringRef puntero devuelto por algunas implementaciones de IColumn::deserializeAndInsertFromArena. Este error afectó solo a las pruebas unitarias. #5973 (Nikolai Kochetov)
  • Evite que la matriz de origen y la matriz intermedia se unan a columnas de enmascaramiento de columnas del mismo nombre. #5941 (Artem Zuikov)
  • Solucione la inserción y seleccione la consulta al motor MySQL con citas de identificador de estilo MySQL. #5704 (Invierno Zhang)
  • Ahora CHECK TABLE consulta puede trabajar con la familia del motor MergeTree. Devuelve el estado de verificación y el mensaje si hay alguno para cada parte (o archivo en caso de motores más simples). Además, corrija el error en la búsqueda de una parte rota. #5865 (alesapin)
  • Reparar el tiempo de ejecución SPLIT_SHARED_LIBRARIES #5793 (Más información)
  • Inicialización de zona horaria fija cuando /etc/localtime es un enlace simbólico relativo como ../usr/share/zoneinfo/Europe/Moscow #5922 (alexey-milovidov)
  • clickhouse-copiadora: Solucionar el uso-después de la libertad en el apagado #5752 (propulsor)
  • Actualizar simdjson. Se corrigió el problema de que algunos JSON no válidos con cero bytes analizaran correctamente. #5938 (alexey-milovidov)
  • Reparar el cierre de SystemLogs #5802 (Anton Popov)
  • Arreglar colgando cuando la condición en invalidate_query depende de un diccionario. #6011 (Vitaly Baranov)

Mejora

  • Permitir direcciones no resolubles en la configuración del clúster. Se considerarán no disponibles y se intentarán resolver en cada intento de conexión. Esto es especialmente útil para Kubernetes. Esto corrige #5714 #5924 (alexey-milovidov)
  • Cierre las conexiones TCP inactivas (con un tiempo de espera de una hora por defecto). Esto es especialmente importante para clústeres grandes con múltiples tablas distribuidas en cada servidor, ya que cada servidor puede mantener un grupo de conexiones con cualquier otro servidor, y después de la concurrencia de consultas pico, las conexiones se detendrán. Esto corrige #5879 #5880 (alexey-milovidov)
  • Mejor calidad de topK función. Se ha cambiado el comportamiento del conjunto SavingSpace para eliminar el último elemento si el nuevo elemento tiene un peso mayor. #5833 #5850 (Guillaume Tassery)
  • Las funciones de URL para trabajar con dominios ahora pueden funcionar para URL incompletas sin esquema #5725 (alesapin)
  • Sumas de comprobación añadidas al system.parts_columns tabla. #5874 (Nikita Mikhaylov)
  • Añadir Enum tipo de datos como un sinónimo para Enum8 o Enum16. #5886 (Dimarub2000)
  • Variante de transposición de bits completa para T64 códec. Podría conducir a una mejor compresión con zstd. #5742 (Artem Zuikov)
  • Condición en startsWith la función ahora puede utilizar la clave principal. Esto corrige #5310 y #5882 #5919 (Dimarub2000)
  • Permitir usar clickhouse-copier con la topología de clúster de replicación cruzada permitiendo el nombre de base de datos vacío. #5745 (Nombre de la red inalámbrica (SSID):)
  • Utilizar UTC como zona horaria predeterminada en un sistema sin tzdata (e.g. bare Docker container). Before this patch, error message Could not determine local time zone se imprimió y el servidor o el cliente se negó a iniciar. #5827 (alexey-milovidov)
  • Soporte devuelto para argumento de coma flotante en función quantileTiming para la compatibilidad con versiones anteriores. #5911 (alexey-milovidov)
  • Mostrar qué tabla falta la columna en los mensajes de error. #5768 (Ivan)
  • No permitir la consulta de ejecución con el mismo query_id por varios usuarios #5430 (propulsor)
  • Código más robusto para enviar métricas a Graphite. Funcionará incluso durante largos múltiples RENAME TABLE operación. #5875 (alexey-milovidov)
  • Se mostrarán mensajes de error más informativos cuando ThreadPool no pueda programar una tarea para su ejecución. Esto corrige #5305 #5801 (alexey-milovidov)
  • Invertir ngramSearch para que sea más intuitivo #5807 (Más información)
  • Agregar análisis de usuario en el generador de motor HDFS #5946 (akonyaev90)
  • Actualizar el valor predeterminado de max_ast_elements parameter #5933 (Artem Konovalov)
  • Se agregó una noción de configuraciones obsoletas. La configuración obsoleta allow_experimental_low_cardinality_type se puede utilizar sin efecto. 0f15c01c6802f7ce1a1494c12c846be8c98944cd Alexey Milovidov

Mejora del rendimiento

  • Aumente el número de secuencias a SELECT desde la tabla Merge para una distribución más uniforme de los subprocesos. Añadido max_streams_multiplier_for_merge_tables. Esto corrige #5797 #5915 (alexey-milovidov)

Mejora de la construcción/prueba/empaquetado

  • Agregue una prueba de compatibilidad con versiones anteriores para la interacción cliente-servidor con diferentes versiones de clickhouse. #5868 (alesapin)
  • Pruebe la información de cobertura en cada solicitud de confirmación y extracción. #5896 (alesapin)
  • Coopere con el desinfectante de direcciones para respaldar nuestros asignadores personalizados (Arena y ArenaWithFreeLists) para una mejor depuración de “use-after-free” error. #5728 (akuzm)
  • Cambiar a Implementación de LLVM libunwind para el manejo de excepciones de C ++ y para la impresión de rastreos de pila #4828 (Vídeos relacionados con nikita Lapkov)
  • Agregue dos advertencias más de -Weverything #5923 (alexey-milovidov)
  • Permitir construir ClickHouse con Memory Sanitizer. #3949 (alexey-milovidov)
  • Informe ubsan fijo sobre bitTest función en la prueba de fuzz. #5943 (alexey-milovidov)
  • Docker: se agregó la posibilidad de iniciar una instancia de ClickHouse que requiere autenticación. #5727 (Korviakov Andrey)
  • Actualizar librdkafka a la versión 1.1.0 #5872 (Ivan)
  • Agregue el tiempo de espera global para las pruebas de integración y deshabilite algunas de ellas en el código de pruebas. #5741 (alesapin)
  • Solucionar algunas fallas ThreadSanitizer. #5854 (akuzm)
  • El --no-undefined opción obliga al enlazador a verificar la existencia de todos los nombres externos mientras se vincula. Es muy útil rastrear dependencias reales entre bibliotecas en el modo de compilación dividida. #5855 (Ivan)
  • Prueba de rendimiento añadida para #5797 #5914 (alexey-milovidov)
  • Compatibilidad fija con gcc-7. #5840 (alexey-milovidov)
  • Se agregó soporte para gcc-9. Esto corrige #5717 #5774 (alexey-milovidov)
  • Se corrigió el error cuando libunwind se puede vincular incorrectamente. #5948 (alexey-milovidov)
  • Se corrigieron algunas advertencias encontradas por PVS-Studio. #5921 (alexey-milovidov)
  • Se agregó soporte inicial para clang-tidy analizador estático. #5806 (alexey-milovidov)
  • Convertir macros endian BSD/Linux( be64toh y htobe64) a los equivalentes de Mac OS X #5785 (Fuente Chen)
  • Guía de pruebas de integración mejorada. #5796 (Vladimir Chebotarev)
  • Reparación de compilación en macosx + gcc9 #5822 (filimonov)
  • Corrige un error tipográfico difícil de detectar: aggreAGte -> agregado. #5753 (akuzm)
  • Arreglar la compilación freebsd #5760 (propulsor)
  • Añadir enlace al canal experimental de YouTube al sitio web #5845 (Ivan Blinkov)
  • CMake: agregar opción para indicadores de cobertura: WITH_COVERAGE #5776 (propulsor)
  • Corrige el tamaño inicial de algunos PODArray en línea. #5787 (akuzm)
  • clickhouse-servidor.postinst: arreglar la detección del sistema operativo para centos 6 #5788 (propulsor)
  • Se agregó la generación de paquetes Arch Linux. #5719 (Vladimir Chebotarev)
  • División Común / config.h por libs (dbms) #5715 (propulsor)
  • Correcciones para “Arcadia” plataforma de construcción #5795 (propulsor)
  • Correcciones para construcción no convencional (gcc9, sin submódulos) #5792 (propulsor)
  • Requerir un tipo explícito en unignmentStore porque se demostró que era propenso a errores #5791 (akuzm)
  • Corrige la compilación de MacOS #5830 (filimonov)
  • Prueba de rendimiento relativa a la nueva característica JIT con un conjunto de datos más grande, como se solicita aquí #5263 #5887 (Guillaume Tassery)
  • Ejecutar pruebas con estado en la prueba de esfuerzo 12693e568722f11e19859742f56428455501fd2a (alesapin)

Cambio incompatible hacia atrás

  • Kafka está roto en esta versión.
  • Permitir adaptive_index_granularity = 10MB por defecto para nuevo MergeTree tabla. Si creó nuevas tablas MergeTree en la versión 19.11+, será imposible degradar a versiones anteriores a la 19.6. #5628 (alesapin)
  • Eliminado diccionarios incrustados no documentados obsoletos que fueron utilizados por Yandex.Métrica. Función OSIn, SEIn, OSToRoot, SEToRoot, OSHierarchy, SEHierarchy ya no están disponibles. Si está utilizando estas funciones, escriba un correo electrónico a clickhouse-feedback@yandex-team.com. Nota: en el último momento decidimos mantener estas funciones por un tiempo. #5780 (alexey-milovidov)

Lanzamiento de ClickHouse 19.10

Lanzamiento de ClickHouse 19.10.1.5, 2019-07-12

Novedad

  • Agregar nuevo códec de columna: T64. Hecho para columnas (U) IntX / EnumX / Data (Time) / DecimalX. Debería ser bueno para columnas con valores de rango constante o pequeño. Codec en sí permite ampliar o reducir el tipo de datos sin volver a comprimir. #5557 (Artem Zuikov)
  • Agregar motor de base de datos MySQL que permiten ver todas las tablas en el servidor MySQL remoto #5599 (Invierno Zhang)
  • bitmapContains aplicación. Es 2 veces más rápido que bitmapHasAny si el segundo mapa de bits contiene un elemento. #5535 (Zhichang Yu)
  • Soporte para crc32 función (con comportamiento exactamente como en MySQL o PHP). No lo use si necesita una función hash. #5661 (Remen Ivan)
  • Aplicado SYSTEM START/STOP DISTRIBUTED SENDS consultas para controlar inserciones asincrónicas en Distributed tabla. #4935 (Invierno Zhang)

Corrección de errores

  • Ignore los límites de ejecución de consultas y el tamaño máximo de partes para los límites de combinación mientras ejecuta mutaciones. #5659 (Anton Popov)
  • Corregir un error que puede conducir a la desduplicación de bloques normales (extremadamente raros) y la inserción de bloques duplicados (más a menudo). #5549 (alesapin)
  • Fijación de la función arrayEnumerateUniqRanked para argumentos con matrices vacías #5559 (propulsor)
  • No se suscriba a los temas de Kafka sin la intención de sondear ningún mensaje. #5698 (Ivan)
  • Hacer configuración join_use_nulls no obtienen ningún efecto para los tipos que no pueden estar dentro de Nullable #5700 (Olga Khvostikova)
  • Fijo Incorrect size of index granularity error #5720 (Coraxster)
  • Repara el desbordamiento de conversión de flotador a decimal #5607 (Coraxster)
  • Búfer de descarga cuando WriteBufferFromHDFSse llama destructor. Esto corrige la escritura en HDFS. #5684 (Xindong Peng)

Mejora

  • Trate las celdas vacías en CSV como valores predeterminados cuando la configuración input_format_defaults_for_omitted_fields está habilitado. #5625 (akuzm)
  • Carga sin bloqueo de diccionarios externos. #5567 (Vitaly Baranov)
  • Los tiempos de espera de red se pueden cambiar dinámicamente para las conexiones ya establecidas de acuerdo con la configuración. #4558 (Konstantin Podshumok)
  • Utilizar “public_suffix_list” para funciones firstSignificantSubdomain, cutToFirstSignificantSubdomain. Está usando una tabla hash perfecta generada por gperf con una lista generada a partir del archivo: https://publicsuffix.org/list/public_suffix_list.dat. (por ejemplo, ahora reconocemos el dominio ac.uk como no significativo). #5030 (Guillaume Tassery)
  • Adoptar IPv6 tipo de datos en las tablas del sistema; columnas de información de cliente unificadas en system.processes y system.query_log #5640 (alexey-milovidov)
  • Uso de sesiones para conexiones con el protocolo de compatibilidad MySQL. Acerca de nosotros #5646 (Yuriy Baranov)
  • Apoyo más ALTER consulta ON CLUSTER. #5593 #5613 (Sundyli)
  • Apoyo <logger> sección en clickhouse-local archivo de configuración. #5540 (propulsor)
  • Permitir ejecutar consulta con remote función de la tabla en clickhouse-local #5627 (propulsor)

Mejora del rendimiento

  • Agregue la posibilidad de escribir la marca final al final de las columnas MergeTree. Permite evitar lecturas inútiles para las claves que están fuera del rango de datos de la tabla. Está habilitado sólo si se está utilizando granularidad de índice adaptativo. #5624 (alesapin)
  • Mejora del rendimiento de las tablas MergeTree en sistemas de archivos muy lentos al reducir el número de stat syscalls. #5648 (alexey-milovidov)
  • Se corrigió la degradación del rendimiento en la lectura de las tablas MergeTree que se introdujo en la versión 19.6. Correcciones #5631. #5633 (alexey-milovidov)

Mejora de la construcción/prueba/empaquetado

  • Aplicado TestKeeper como una implementación de la interfaz ZooKeeper utilizada para probar #5643 (alexey-milovidov) (levushkin aleksej)
  • A partir de ahora .sql las pruebas se pueden ejecutar aisladas por el servidor, en paralelo, con una base de datos aleatoria. Permite ejecutarlos más rápido, agregar nuevas pruebas con configuraciones de servidor personalizadas y asegurarse de que las diferentes pruebas no se afecten entre sí. #5554 (Ivan)
  • Quitar <name> y <metrics> de pruebas de rendimiento #5672 (Olga Khvostikova)
  • Fijo “select_format” prueba de rendimiento para Pretty formato #5642 (alexey-milovidov)

Lanzamiento de ClickHouse 19.9

Lanzamiento de ClickHouse 19.9.3.31, 2019-07-05

Corrección de errores

  • Corregir segfault en el códec Delta que afecta a las columnas con valores de menos de 32 bits de tamaño. El error llevó a la corrupción de memoria aleatoria. #5786 (alesapin)
  • Corregir un error raro en la comprobación de la parte con la columna LowCardinality. #5832 (alesapin)
  • Fix segfault en TTL se fusionan con columnas no físicas en el bloque. #5819 (Anton Popov)
  • Repara el potencial de sueño infinito de consultas de baja prioridad. #5842 (alexey-milovidov)
  • Corrige cómo ClickHouse determina la zona horaria predeterminada como UCT en lugar de UTC. #5828 (alexey-milovidov)
  • Corregir un error sobre la ejecución de las consultas distribuidas DROP / ALTER / TRUNCATE / OPTIMIZE ON CLUSTER en la réplica de seguidor antes de la réplica de líder. Ahora se ejecutarán directamente en réplica líder. #5757 (alesapin)
  • Corregir la condición de carrera, lo que hace que algunas consultas no aparezcan en query_log instantáneamente después de la consulta SYSTEM FLUSH LOGS. #5685 (Anton Popov)
  • Se agregó soporte faltante para argumentos constantes para evalMLModel función. #5820 (alexey-milovidov)

Lanzamiento de ClickHouse 19.9.2.4, 2019-06-24

Novedad

  • Imprima información sobre piezas congeladas en system.parts tabla. #5471 (propulsor)
  • Pregunte la contraseña del cliente en clickhouse-client start en tty si no se establece en argumentos #5092 (propulsor)
  • Implementar dictGet y dictGetOrDefault funciones para los tipos Decimal. #5394 (Artem Zuikov)

Mejora

  • Debian init: Agregar tiempo de espera de parada de servicio #5522 (propulsor)
  • Agregar configuración prohibida de forma predeterminada para crear tabla con tipos sospechosos para LowCardinality #5448 (Olga Khvostikova)
  • Las funciones de regresión devuelven pesos del modelo cuando no se usan como Estado en función evalMLMethod. #5411 (Quid37)
  • Cambiar el nombre y mejorar los métodos de regresión. #5492 (Quid37)
  • Interfaces más claras de los buscadores de cadenas. #5586 (Más información)

Corrección de errores

  • Corregir la posible pérdida de datos en Kafka #5445 (Ivan)
  • Repara el potencial bucle infinito en PrettySpace formato cuando se llama con cero columnas #5560 (Olga Khvostikova)
  • Se corrigió el error de desbordamiento UInt32 en modelos lineales. Permitir modelo ML eval para argumento de modelo no const. #5516 (Nikolai Kochetov)
  • ALTER TABLE ... DROP INDEX IF EXISTS ... no debe generar una excepción si el índice proporcionado no existe #5524 (Gleb Novikov)
  • Reparar segfault con bitmapHasAny en subconsulta escalar #5528 (Zhichang Yu)
  • Se corrigió el error cuando el grupo de conexiones de replicación no vuelve a intentar resolver el host, incluso cuando se eliminó la caché DNS. #5534 (alesapin)
  • Fijo ALTER ... MODIFY TTL en ReplicatedMergeTree. #5539 (Anton Popov)
  • Repare INSERT en la tabla distribuida con la columna MATERIALIZED #5429 (Azat Khuzhin)
  • Corregir la asignación incorrecta al truncar el almacenamiento de unión #5437 (Método de codificación de datos:)
  • En versiones recientes del paquete tzdata algunos de los archivos son enlaces simbólicos ahora. El mecanismo actual para detectar la zona horaria predeterminada se rompe y da nombres incorrectos para algunas zonas horarias. Ahora, al menos, forzamos el nombre de la zona horaria al contenido de TZ si se proporciona. #5443 (Ivan)
  • Solucione algunos casos extremadamente raros con el buscador MultiVolnitsky cuando las agujas constantes en suma tienen al menos 16 KB de largo. El algoritmo omitió o sobrescribió los resultados anteriores que pueden conducir al resultado incorrecto de multiSearchAny. #5588 (Más información)
  • Solucione el problema cuando la configuración de las solicitudes de ExternalData no podía usar la configuración de ClickHouse. Además, por ahora, configuración date_time_input_format y low_cardinality_allow_in_native_format no se puede usar debido a la ambigüedad de los nombres (en datos externos puede interpretarse como formato de tabla y en la consulta puede ser una configuración). #5455 (Más información)
  • Corregir un error cuando las piezas se eliminaron solo de FS sin dejarlas caer de Zookeeper. #5520 (alesapin)
  • Eliminar el registro de depuración del protocolo MySQL #5478 (alexey-milovidov)
  • Omitir ZNONODE durante el procesamiento de consultas DDL #5489 (Azat Khuzhin)
  • Fijar la mezcla UNION ALL tipo de columna de resultado. Hubo casos con datos inconsistentes y tipos de columnas de columnas resultantes. #5503 (Artem Zuikov)
  • Lanzar una excepción en enteros incorrectos en dictGetT funciones en lugar de accidente. #5446 (Artem Zuikov)
  • Arregle element_count y load_factor incorrectos para el diccionario hash en system.dictionaries tabla. #5440 (Azat Khuzhin)

Mejora de la construcción/prueba/empaquetado

Lanzamiento de ClickHouse 19.8

Lanzamiento de ClickHouse 19.8.3.8, 2019-06-11

Novedad

  • Funciones añadidas para trabajar con JSON #4686 (Hcz) #5124. (Vitaly Baranov)
  • Agregue una función basename, con un comportamiento similar a una función basename, que existe en muchos idiomas (os.path.basename en python, basename in PHP, etc…). Work with both an UNIX-like path or a Windows path. #5136 (Guillaume Tassery)
  • Añadir LIMIT n, m BY o LIMIT m OFFSET n BY sintaxis para establecer el desplazamiento de n para la cláusula LIMIT BY. #5138 (Anton Popov)
  • Añadido nuevo tipo de datos SimpleAggregateFunction, lo que permite tener columnas con agregación de luz en un AggregatingMergeTree. Esto solo se puede usar con funciones simples como any, anyLast, sum, min, max. #4629 (Boris Granveaud)
  • Se agregó soporte para argumentos no constantes en función ngramDistance #5198 (Más información)
  • Funciones añadidas skewPop, skewSamp, kurtPop y kurtSamp para calcular la asimetría de la secuencia, la asimetría de la muestra, la curtosis y la curtosis de la muestra, respectivamente. #5200 (Hcz)
  • La ayuda cambia de nombre la operación para MaterializeView almacenamiento. #5209 (Guillaume Tassery)
  • Se agregó un servidor que permite conectarse a ClickHouse usando el cliente MySQL. #4715 (Yuriy Baranov)
  • Añadir toDecimal*OrZero y toDecimal*OrNull función. #5291 (Artem Zuikov)
  • Soporte tipos decimales en funciones: quantile, quantiles, median, quantileExactWeighted, quantilesExactWeighted, medianExactWeighted. #5304 (Artem Zuikov)
  • Añadir toValidUTF8 function, which replaces all invalid UTF-8 characters by replacement character <20> (U+FFFD). #5322 (Más información)
  • Añadir format función. Formateo del patrón constante (patrón de formato Python simplificado) con las cadenas enumeradas en los argumentos. #5330 (Más información)
  • Añadir system.detached_parts que contiene información sobre las partes separadas de MergeTree tabla. #5353 (akuzm)
  • Añadir ngramSearch función para calcular la diferencia no simétrica entre la aguja y el pajar. #5418#5422 (Más información)
  • Implementación de métodos básicos de aprendizaje automático (regresión lineal estocástica y regresión logística) utilizando la interfaz de funciones agregadas. Tiene diferentes estrategias para actualizar los pesos del modelo (descenso de gradiente simple, método de impulso, método Nesterov). También es compatible con mini lotes de tamaño personalizado. #4943 (Quid37)
  • Implementación de geohashEncode y geohashDecode función. #5003 (Vasily Nemkov)
  • Función agregada agregada timeSeriesGroupSum, que puede agregar diferentes series de tiempo que muestran la marca de tiempo no la alineación. Utilizará la interpolación lineal entre dos marcas de tiempo de muestra y luego sumará series temporales juntas. Función agregada agregada timeSeriesGroupRateSum, que calcula la tasa de series temporales y luego suma las tasas juntas. #4542 (Información adicional)
  • Funciones añadidas IPv4CIDRtoIPv4Range y IPv6CIDRtoIPv6Range para calcular los límites inferiores y superiores para una IP en la subred utilizando un CIDR. #5095 (Guillaume Tassery)
  • Agregue un encabezado X-ClickHouse-Summary cuando enviamos una consulta usando HTTP con la configuración habilitada send_progress_in_http_headers. Devuelve la información habitual de X-ClickHouse-Progress, con información adicional como cuántas filas y bytes se insertaron en la consulta. #5116 (Guillaume Tassery)

Mejora

  • Añadir max_parts_in_total configuración para la familia de tablas MergeTree (predeterminado: 100 000) que evita la especificación insegura de la clave de partición # 5166. #5171 (alexey-milovidov)
  • clickhouse-obfuscator: derivar la semilla para columnas individuales combinando la semilla inicial con el nombre de la columna, no la posición de la columna. Esto está destinado a transformar conjuntos de datos con varias tablas relacionadas, de modo que las tablas permanezcan JOINable después de la transformación. #5178 (alexey-milovidov)
  • Funciones añadidas JSONExtractRaw, JSONExtractKeyAndValues. Funciones renombradas jsonExtract<type> a JSONExtract<type>. Cuando algo sale mal, estas funciones devuelven los valores correspondientes, no NULL. Función modificada JSONExtract, ahora obtiene el tipo de devolución de su último parámetro y no inyecta nullables. Implementado de respaldo a RapidJSON en caso de que las instrucciones AVX2 no estén disponibles. Biblioteca Simdjson actualizado a una nueva versión. #5235 (Vitaly Baranov)
  • Ahora if y multiIf funciones no dependen de la condición Nullable, pero confíe en las ramas para la compatibilidad sql. #5238 (Jian Wu)
  • In predicado ahora genera Null resultado de Null entrada como el Equal función. #5152 (Jian Wu)
  • Verifique el límite de tiempo cada (flush_interval / poll_timeout) número de filas de Kafka. Esto permite romper la lectura del consumidor de Kafka con más frecuencia y verificar los límites de tiempo para las transmisiones de nivel superior #5249 (Ivan)
  • Enlace rdkafka con SASL incluido. Debería permitir el uso de autenticación SASL SCRAM #5253 (Ivan)
  • Versión por lotes de RowRefList para TODAS LAS UNIONES. #5267 (Artem Zuikov)
  • clickhouse-server: mensajes de error de escucha más informativos. #5268 (propulsor)
  • Diccionarios de soporte en clickhouse-copiadora para funciones en <sharding_key> #5270 (propulsor)
  • Añadir nueva configuración kafka_commit_every_batch para regular Kafka cometer política. Permite establecer el modo de confirmación: después de que se maneje cada lote de mensajes, o después de que se escriba todo el bloque en el almacenamiento. Es una compensación entre perder algunos mensajes o leerlos dos veces en algunas situaciones extremas. #5308 (Ivan)
  • Hacer windowFunnel soporta otros tipos de enteros sin firmar. #5320 (Sundyli)
  • Permitir sombrear la columna virtual _table en el motor de fusión. #5325 (Ivan)
  • Hacer sequenceMatch Las funciones de agregado admiten otros tipos de enteros sin signo #5339 (Sundyli)
  • Mejores mensajes de error si la suma de comprobación no coincide probablemente es causada por fallas de hardware. #5355 (alexey-milovidov)
  • Compruebe que las tablas subyacentes admiten StorageMerge #5366 (Ivan)
  • Сlose MySQL connections after their usage in external dictionaries. It is related to issue #893. #5395 (Clément Rodriguez)
  • Mejoras de MySQL Wire Protocol. Se ha cambiado el nombre del formato a MySQLWire. Usando RAII para llamar a RSA_free. Deshabilitar SSL si no se puede crear contexto. #5419 (Yuriy Baranov)
  • clickhouse-client: allow to run with unaccessable history file (read-only, no disk space, file is directory, …). #5431 (propulsor)
  • Respete la configuración de consulta en INSERT asincrónicos en tablas distribuidas. #4936 (Método de codificación de datos:)
  • Funciones renombradas leastSqr a simpleLinearRegression, LinearRegression a linearRegression, LogisticRegression a logisticRegression. #5391 (Nikolai Kochetov)

Mejoras de rendimiento

  • Paralelice el procesamiento de partes de tablas MergeTree no replicadas en la consulta ALTER MODIFY. #4639 (Ivan Kush)
  • Optimizaciones en la extracción de expresiones regulares. #5193 #5191 (Más información)
  • No agregue la columna de clave de unión correcta para unir el resultado si solo se usa en la sección join on . #5260 (Artem Zuikov)
  • Congele el búfer Kafka después de la primera respuesta vacía. Evita múltiples invocaciones de ReadBuffer::next() para el resultado vacío en algunas secuencias de análisis de filas. #5283 (Ivan)
  • concat optimización de funciones para múltiples argumentos. #5357 (Más información)
  • Query optimisation. Allow push down IN statement while rewriting commа/cross join into inner one. #5396 (Artem Zuikov)
  • Actualice nuestra implementación LZ4 con la referencia uno para tener una descompresión más rápida. #5070 (Más información)
  • Implementado MSD radix ordenar (basado en kxsort), y la clasificación parcial. #5129 (Evgenii Pravda)

Corrección de errores

  • Fix push requiere columnas con unión #5192 (Invierno Zhang)
  • Corregido error, cuando ClickHouse es ejecutado por systemd, el comando sudo service clickhouse-server forcerestart no funcionaba como se esperaba. #5204 (propulsor)
  • Corregir los códigos de error http en DataPartsExchange (el servidor http deinterserver en el puerto 9009 siempre devolvió el código 200, incluso en errores). #5216 (propulsor)
  • Repara SimpleAggregateFunction para String más largo que MAX_SMALL_STRING_SIZE #5311 (Azat Khuzhin)
  • Corregir error para Decimal a Nullable(Decimal) conversión en IN. Admite otras conversiones de decimales a decimales (incluidas diferentes escalas). #5350 (Artem Zuikov)
  • Se corrigió el clobbering de FPU en la biblioteca simdjson que conducía a un cálculo incorrecto de uniqHLL y uniqCombined función agregada y funciones matemáticas tales como log. #5354 (alexey-milovidov)
  • Se corrigió el manejo de casos mixtos const / nonconst en funciones JSON. #5435 (Vitaly Baranov)
  • Fijar retention función. Ahora todas las condiciones que cumplen en una fila de datos se agregan al estado de datos. #5119 (小路)
  • Corregir el tipo de resultado para quantileExact con decimales. #5304 (Artem Zuikov)

Documentación

Mejoras de compilación / prueba / empaquetado

  • Corrija algunos informes de desinfectantes que muestran un uso probable después de liberar.#5139 #5143 #5393 (Ivan)
  • Mueva las pruebas de rendimiento fuera de directorios separados para mayor comodidad. #5158 (alexey-milovidov)
  • Corregir pruebas de rendimiento incorrectas. #5255 (alesapin)
  • Se agregó una herramienta para calcular las sumas de comprobación causadas por los saltos de bits para depurar problemas de hardware. #5334 (alexey-milovidov)
  • Hacer script corredor más utilizable. #5340#5360 (filimonov)
  • Agregue pequeñas instrucciones sobre cómo escribir pruebas de rendimiento. #5408 (alesapin)
  • Añadir capacidad para hacer sustituciones en crear, llenar y soltar consulta en las pruebas de rendimiento #5367 (Olga Khvostikova)

Lanzamiento de ClickHouse 19.7

Lanzamiento de ClickHouse 19.7.5.29, 2019-07-05

Corrección de errores

Lanzamiento de ClickHouse 19.7.5.27, 2019-06-09

Novedad

  • Se agregaron funciones relacionadas con el mapa de bits bitmapHasAny y bitmapHasAll análogo a hasAny y hasAll funciones para matrices. #5279 (Sergi Vladykin)

Corrección de errores

  • Arreglar segfault en minmax ÍNDICE con valor nulo. #5246 (Nikita Vasilev)
  • Marque todas las columnas de entrada en LIMIT BY como salida requerida. Se fija Not found column error en algunas consultas distribuidas. #5407 (Constantin S. Pan)
  • Fijar “Column 0 already exists” error en SELECT .. PREWHERE en la columna con DEFAULT #5397 (propulsor)
  • Fijar ALTER MODIFY TTL consulta sobre ReplicatedMergeTree. #5539 (Anton Popov)
  • No bloquee el servidor cuando los consumidores de Kafka no se hayan iniciado. #5285 (Ivan)
  • Las funciones de mapa de bits fijas producen un resultado incorrecto. #5359 (Cristina Andrés)
  • Fix element_count para el diccionario hash (no incluye duplicados) #5440 (Azat Khuzhin)
  • Utilice el contenido de la variable de entorno TZ como el nombre de la zona horaria. Ayuda a detectar correctamente la zona horaria predeterminada en algunos casos.#5443 (Ivan)
  • No intente convertir enteros en dictGetT funciones, porque no funciona correctamente. Lanza una excepción en su lugar. #5446 (Artem Zuikov)
  • Corregir la configuración en la solicitud HTTP ExternalData. #5455 (Danila Kutenin)
  • Corregir un error cuando las piezas se eliminaron solo de FS sin dejarlas caer de Zookeeper. #5520 (alesapin)
  • Fijar falla de segmentación en bitmapHasAny función. #5528 (Zhichang Yu)
  • Se corrigió el error cuando el grupo de conexiones de replicación no vuelve a intentar resolver el host, incluso cuando se eliminó la caché DNS. #5534 (alesapin)
  • Fijo DROP INDEX IF EXISTS consulta. Ahora ALTER TABLE ... DROP INDEX IF EXISTS ... query no genera una excepción si el índice proporcionado no existe. #5524 (Gleb Novikov)
  • Corregir unión toda la columna de supertipo. Hubo casos con datos inconsistentes y tipos de columnas de columnas resultantes. #5503 (Artem Zuikov)
  • Omita ZNONODE durante el procesamiento de consultas DDL. Antes, si otro nodo elimina el znode en la cola de tareas, el que no lo procesó, pero ya obtuvo la lista de hijos, terminará el hilo DDLWorker. #5489 (Azat Khuzhin)
  • Fije INSERT en la tabla Distributed () con la columna MATERIALIZED. #5429 (Azat Khuzhin)

Lanzamiento de ClickHouse 19.7.3.9, 2019-05-30

Novedad

  • Permite limitar el rango de una configuración que puede especificar el usuario. Estas restricciones se pueden configurar en el perfil de configuración del usuario. #4931 (Vitaly Baranov)
  • Añadir una segunda versión de la función groupUniqArray con una opción max_size parámetro que limita el tamaño de la matriz resultante. Este comportamiento es similar a groupArray(max_size)(x) función. #5026 (Guillaume Tassery)
  • Para los formatos de archivo de entrada TSVWithNames/CSVWithNames, el orden de columnas ahora puede ser determinado a partir del encabezado del archivo. Esto es controlado por input_format_with_names_use_header parámetro. #5081 (Alejandro)

Corrección de errores

  • Bloqueo con sin comprimir_cache + JOIN durante la fusión (# 5197) #5133 (Danila Kutenin)
  • Error de segmentación en una consulta de clickhouse-cliente a tablas del sistema. Acerca de nosotros #5127 (Ivan)
  • Pérdida de datos en carga pesada a través de KafkaEngine (#4736) #5080 (Ivan)
  • Se corrigió una condición de carrera de datos muy rara que podría ocurrir al ejecutar una consulta con UNION ALL que involucraba al menos dos SELECT del sistema.columnas, sistema.mesas, sistema.partes, sistema.parts_tables o tablas de la familia Merge y realizar ALTER de columnas de las tablas relacionadas simultáneamente. #5189 (alexey-milovidov)

Mejoras de rendimiento

Documentación

Mejoras de compilación / prueba / empaquetado

Lanzamiento de ClickHouse 19.6

Lanzamiento de ClickHouse 19.6.3.18, 2019-06-13

Corrección de errores

  • Fijo IN condición pushdown para consultas de funciones de tabla mysql y odbc y los correspondientes motores de mesa. Esto corrige # 3540 y # 2384. #5313 (alexey-milovidov)
  • Corregir el punto muerto en Zookeeper. #5297 (github1youlc)
  • Permitir decimales citados en CSV. #5284 (Artem Zuikov
  • No permitir la conversión de float Inf / NaN en Decimales (excepción de lanzamiento). #5282 (Artem Zuikov)
  • Corregir la carrera de datos en la consulta de cambio de nombre. #5247 (Invierno Zhang)
  • Deshabilitar temporalmente LFAlloc. El uso de LFAlloc puede conducir a una gran cantidad de MAP_FAILED en la asignación de UncompressedCache y, como resultado, a bloqueos de consultas en servidores de alta carga. cfdba93(Más información)

Lanzamiento de ClickHouse 19.6.2.11, 2019-05-13

Novedad

  • Expresiones TTL para columnas y tablas. #4212 (Anton Popov)
  • Añadido soporte para brotli compresión para respuestas HTTP (Accept-Encoding: br) #4388 (Mijaíl)
  • Se agregó una nueva función isValidUTF8 para verificar si un conjunto de bytes está codificado correctamente en utf-8. #4934 (Más información)
  • Agregar nueva directiva de equilibrio de carga first_or_random que envía consultas al primer host especificado y, si es inaccesible, envía consultas a hosts aleatorios de fragmento. Útil para configuraciones de topología de replicación cruzada. #5012 (Nombre de la red inalámbrica (SSID):)

Experimental Características

  • Añadir ajuste index_granularity_bytes (granularidad de índice adaptativo) para la familia de tablas MergeTree*. #4826 (alesapin)

Mejora

  • Se agregó soporte para argumentos de tamaño y longitud no constantes y negativos para la función substringUTF8. #4989 (alexey-milovidov)
  • Deshabilite el push-down a la tabla derecha en la unión izquierda, la tabla izquierda en la unión derecha y ambas tablas en unión completa. Esto corrige los resultados JOIN incorrectos en algunos casos. #4846 (Ivan)
  • clickhouse-copier: configuración de tareas de carga automática desde --task-file opcion #4876 (propulsor)
  • Se agregó el controlador de errores tipográficos para la fábrica de almacenamiento y la fábrica de funciones de tabla. #4891 (Más información)
  • Admite asteriscos y asteriscos calificados para combinaciones múltiples sin subconsultas #4898 (Artem Zuikov)
  • Haga que el mensaje de error de columna faltante sea más fácil de usar. #4915 (Artem Zuikov)

Mejoras de rendimiento

Cambios incompatibles hacia atrás

  • Encabezado HTTP Query-Id fue renombrado a X-ClickHouse-Query-Id para la consistencia. #4972 (Mijaíl)

Corrección de errores

  • Se corrigió la desreferencia del puntero nulo potencial en clickhouse-copier. #4900 (propulsor)
  • Se corrigió el error en la consulta con JOIN + ARRAY JOIN #4938 (Artem Zuikov)
  • Se corrigió el inicio del servidor cuando un diccionario depende de otro diccionario a través de una base de datos con motor = Diccionario. #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)
  • Repara el resultado potencialmente incorrecto para SELECT DISTINCT con JOIN #5001 (Artem Zuikov)
  • Se corrigió una condición de carrera de datos muy rara que podría ocurrir al ejecutar una consulta con UNION ALL que involucraba al menos dos SELECT del sistema.columnas, sistema.mesas, sistema.partes, sistema.parts_tables o tablas de la familia Merge y realizar ALTER de columnas de las tablas relacionadas simultáneamente. #5189 (alexey-milovidov)

Mejoras de compilación / prueba / empaquetado

  • Se corrigieron errores de prueba al ejecutar clickhouse-server en un host diferente #4713 (Vasily Nemkov)
  • clickhouse-test: deshabilita las secuencias de control de color en un entorno no tty. #4937 (alesapin)
  • clickhouse-test: Permitir el uso de cualquier base de datos de prueba (eliminar test. calificación donde sea posible) #5008 (propulsor)
  • Corregir errores de ubsan #5037 (Vitaly Baranov)
  • Yandex LFAlloc se agregó a ClickHouse para asignar datos de MarkCache y UncompressedCache de diferentes maneras para detectar segfaults más confiables #4995 (Más información)
  • Python utiliza para ayudar con backports y registros de cambios. #4949 (Ivan)

Lanzamiento de ClickHouse 19.5

Lanzamiento de ClickHouse 19.5.4.22, 2019-05-13

Corrección de errores

  • Se corrigió un posible bloqueo en las funciones de mapa de bits * #5220 #5228 (Cristina Andrés)
  • Se corrigió una condición de carrera de datos muy rara que podría ocurrir al ejecutar una consulta con UNION ALL que involucraba al menos dos SELECT del sistema.columnas, sistema.mesas, sistema.partes, sistema.parts_tables o tablas de la familia Merge y realizar ALTER de columnas de las tablas relacionadas simultáneamente. #5189 (alexey-milovidov)
  • Error fijo Set for IN is not created yet in case of using single LowCardinality column in the left part of IN. Este error ocurrió si la columna LowCardinality era la parte de la clave principal. #5031 #5154 (Nikolai Kochetov)
  • Modificación de la función de retención: si una fila satisface la primera condición y la NTH, solo se agrega la primera condición satisfecha al estado de datos. Ahora todas las condiciones que cumplen en una fila de datos se agregan al estado de datos. #5119 (小路)

Lanzamiento de ClickHouse 19.5.3.8, 2019-04-18

Corrección de errores

Lanzamiento de ClickHouse 19.5.2.6, 2019-04-15

Novedad

  • Hyperscan Se agregó múltiples coincidencias de expresiones regulares (funciones multiMatchAny, multiMatchAnyIndex, multiFuzzyMatchAny, multiFuzzyMatchAnyIndex). #4780, #4841 (Más información)
  • multiSearchFirstPosition se añadió la función. #4780 (Más información)
  • Implemente el filtro de expresión predefinido por fila para las tablas. #4792 (Ivan)
  • Un nuevo tipo de índices de omisión de datos basados en filtros de floración (se puede usar para equal, in y like función). #4499 (Nikita Vasilev)
  • Añadir ASOF JOIN que permite ejecutar consultas que se unen al valor más reciente conocido. #4774 #4867 #4863 #4875 (Martijn Bakker, Artem Zuikov)
  • Reescribir múltiples COMMA JOIN a CROSS JOIN. Luego reescribirlos para INNER JOIN si es posible. #4661 (Artem Zuikov)

Mejora

  • topK y topKWeighted ahora soporta personalizado loadFactor (soluciona el problema #4252). #4634 (Kirill Danshin)
  • Permitir usar parallel_replicas_count > 1 incluso para tablas sin muestreo (la configuración simplemente se ignora para ellas). En versiones anteriores fue conducido a la excepción. #4637 (Alexey Elymanov)
  • Soporte para CREATE OR REPLACE VIEW. Permite crear una vista o establecer una nueva definición en una sola instrucción. #4654 (Boris Granveaud)
  • Buffer motor de mesa ahora soporta PREWHERE. #4671 (Información adicional)
  • Agregue la capacidad de iniciar una tabla replicada sin metadatos en zookeeper en readonly modo. #4691 (alesapin)
  • Parpadeo fijo de la barra de progreso en clickhouse-cliente. El problema fue más notable al usar FORMAT Null con consultas de streaming. #4811 (alexey-milovidov)
  • Permitir deshabilitar funciones con hyperscan biblioteca por usuario para limitar el uso de recursos potencialmente excesivo e incontrolado. #4816 (alexey-milovidov)
  • Agregue el registro del número de versión en todos los errores. #4824 (propulsor)
  • Se agregó restricción a la multiMatch funciones que requieren tamaño de cadena para encajar en unsigned int. También se agregó el número de límite de argumentos al multiSearch función. #4834 (Más información)
  • Uso mejorado del espacio de arañazos y manejo de errores en Hyperscan. #4866 (Más información)
  • Llenar system.graphite_detentions de una configuración de tabla de *GraphiteMergeTree mesas de motores. #4584 (Mikhail f. Shiryaev)
  • Cambiar nombre trigramDistance función para ngramDistance y añadir más funciones con CaseInsensitive y UTF. #4602 (Más información)
  • Cálculo de índices de saltos de datos mejorado. #4640 (Nikita Vasilev)
  • Mantener ordinario, DEFAULT, MATERIALIZED y ALIAS columnas en una sola lista (soluciona el problema #2867). #4707 (Método de codificación de datos:)

Corrección de errores

  • Evitar std::terminate en caso de error de asignación de memoria. Ahora std::bad_alloc excepción se lanza como se esperaba. #4665 (alexey-milovidov)
  • Corrige la lectura de capnproto desde el búfer. A veces, los archivos no se cargaron correctamente por HTTP. #4674 (Vladislav)
  • Corregir error Unknown log entry type: 0 despues OPTIMIZE TABLE FINAL consulta. #4683 (Amos pájaro)
  • Argumentos erróneos para hasAny o hasAll funciones pueden conducir a segfault. #4698 (alexey-milovidov)
  • Puede producirse un punto muerto durante la ejecución DROP DATABASE dictionary consulta. #4701 (alexey-milovidov)
  • Repara el comportamiento indefinido en median y quantile función. #4702 (Hcz)
  • Corregir la detección de nivel de compresión cuando network_compression_method en minúsculas. Roto en v19.1. #4706 (propulsor)
  • Se corrigió la ignorancia de <timezone>UTC</timezone> ajuste (soluciona el problema #4658). #4718 (propulsor)
  • Fijar histogram comportamiento de la función con Distributed tabla. #4741 (Olegkv)
  • Informe tsan fijo destroy of a locked mutex. #4742 (alexey-milovidov)
  • Se corrigió el informe de TSan sobre el cierre debido a la condición de carrera en el uso de registros del sistema. Se corrigió el uso potencial después de liberar al apagar cuando part_log está habilitado. #4758 (alexey-milovidov)
  • Fijar las piezas de nuevo control en ReplicatedMergeTreeAlterThread en caso de error. #4772 (Nikolai Kochetov)
  • Las operaciones aritméticas en estados de función de agregado intermedios no funcionaban para argumentos constantes (como los resultados de subconsulta). #4776 (alexey-milovidov)
  • Siempre retroceda los nombres de las columnas en los metadatos. De lo contrario, es imposible crear una tabla con una columna llamada index (el servidor no se reiniciará debido a ATTACH consulta en metadatos). #4782 (alexey-milovidov)
  • Fix crash en ALTER ... MODIFY ORDER BY en Distributed tabla. #4790 (Método de codificación de datos:)
  • Arreglar segfault en JOIN ON con habilitado enable_optimize_predicate_expression. #4794 (Invierno Zhang)
  • Corregir un error al agregar una fila extraña después de consumir un mensaje protobuf de Kafka. #4808 (Vitaly Baranov)
  • Corregir el bloqueo de JOIN no aceptan vs columna que acepta valores null. Fijar NULLs en las teclas de la derecha en ANY JOIN + join_use_nulls. #4815 (Artem Zuikov)
  • Fijar falla de segmentación en clickhouse-copier. #4835 (propulsor)
  • Condición de carrera fija en SELECT de system.tables si la tabla se cambia de nombre o se modifica simultáneamente. #4836 (alexey-milovidov)
  • Se corrigió la carrera de datos al obtener una parte de datos que ya está obsoleta. #4839 (alexey-milovidov)
  • Se corrigió la carrera de datos raros que puede ocurrir durante RENAME tabla de la familia MergeTree. #4844 (alexey-milovidov)
  • Fallo de segmentación fijo en la función arrayIntersect. La falla de segmentación podría ocurrir si se llamara a la función con argumentos constantes y ordinarios mixtos. #4847 (Lixiang Qian)
  • Lectura fija de Array(LowCardinality) columna en caso raro cuando la columna contenía una larga secuencia de matrices vacías. #4850 (Nikolai Kochetov)
  • Fix crash en FULL/RIGHT JOIN cuando nos unimos en nullable vs no nullable. #4855 (Artem Zuikov)
  • Fijar No message received excepción al recuperar partes entre réplicas. #4856 (alesapin)
  • Fijo arrayIntersect resultado incorrecto de la función en caso de varios valores repetidos en una sola matriz. #4871 (Nikolai Kochetov)
  • Corregir una condición de carrera durante ALTER COLUMN consultas que podrían provocar un bloqueo del servidor (soluciona el problema #3421). #4592 (Método de codificación de datos:)
  • Corregir el resultado incorrecto en FULL/RIGHT JOIN con la columna const. #4723 (Artem Zuikov)
  • Reparar duplicados en GLOBAL JOIN con asterisk. #4705 (Artem Zuikov)
  • Corregir la deducción de parámetros en ALTER MODIFY de la columna CODEC cuando no se especifica el tipo de columna. #4883 (alesapin)
  • Función cutQueryStringAndFragment() y queryStringAndFragment() ahora funciona correctamente cuando URL contiene un fragmento y ninguna consulta. #4894 (Vitaly Baranov)
  • Corregir un error raro al configurar min_bytes_to_use_direct_io es mayor que cero, lo que ocurre cuando el hilo tiene que buscar hacia atrás en el archivo de columna. #4897 (alesapin)
  • Corregir tipos de argumentos incorrectos para funciones agregadas con LowCardinality argumentos (soluciona el problema #4919). #4922 (Nikolai Kochetov)
  • Corregir la calificación de nombre incorrecto en GLOBAL JOIN. #4969 (Artem Zuikov)
  • Fijar la función toISOWeek resultado para el año 1970. #4988 (alexey-milovidov)
  • Fijar DROP, TRUNCATE y OPTIMIZE duplicación de consultas, cuando se ejecuta en ON CLUSTER para ReplicatedMergeTree* tablas de la familia. #4991 (alesapin)

Cambio incompatible hacia atrás

  • Cambiar el nombre de la configuración insert_sample_with_metadata establecer input_format_defaults_for_omitted_fields. #4771 (Artem Zuikov)
  • Añadido max_partitions_per_insert_block (con valor 100 por defecto). Si el bloque insertado contiene un mayor número de particiones, se lanza una excepción. Establezca en 0 si desea eliminar el límite (no recomendado). #4845 (alexey-milovidov)
  • Se renombraron las funciones de búsqueda múltiple (multiPosition a multiSearchAllPositions, multiSearch a multiSearchAny, firstMatch a multiSearchFirstIndex). #4780 (Más información)

Mejora del rendimiento

  • Optimice el buscador Volnitsky al alinear, dando aproximadamente un 5-10% de mejora de búsqueda para consultas con muchas agujas o muchos bigrams similares. #4862 (Más información)
  • Solucionar problema de rendimiento al configurar use_uncompressed_cache es mayor que cero, que apareció cuando todos los datos leídos contenidos en la memoria caché. #4913 (alesapin)

Mejora de la construcción/prueba/empaquetado

  • Endurecimiento de la compilación de depuración: más asignaciones de memoria granulares y ASLR; agregue protección de memoria para caché de marcas e índice. Esto permite encontrar más errores de memoria en caso de que ASan y MSan no puedan hacerlo. #4632 (alexey-milovidov)
  • Añadir soporte para variables cmake ENABLE_PROTOBUF, ENABLE_PARQUET y ENABLE_BROTLI que permite habilitar / deshabilitar las características anteriores (lo mismo que podemos hacer para librdkafka, mysql, etc.). #4669 (Silviu Caragea)
  • Agregue la capacidad de imprimir la lista de procesos y los rastros de pila de todos los hilos si algunas consultas se cuelgan después de la ejecución de la prueba. #4675 (alesapin)
  • Agregar reintentos en Connection loss error en clickhouse-test. #4682 (alesapin)
  • Agregue freebsd build con vagrant y compile con desinfectante de hilos al script del empaquetador. #4712 #4748 (alesapin)
  • Ahora el usuario pidió contraseña para el usuario 'default' durante la instalación. #4725 (propulsor)
  • Suprimir advertencia en rdkafka biblioteca. #4740 (alexey-milovidov)
  • Permitir la capacidad de construir sin ssl. #4750 (propulsor)
  • Agregue una forma de iniciar una imagen de clickhouse-server desde un usuario personalizado. #4753 (Mikhail f. Shiryaev)
  • Actualice el impulso de contrib a 1.69. #4793 (propulsor)
  • Deshabilitar el uso de mremap cuando se compila con Thread Sanitizer. Sorprendentemente, TSan no intercepta mremap (aunque intercepta mmap, munmap) que conduce a falsos positivos. Informe TSan fijo en pruebas con estado. #4859 (alexey-milovidov)
  • Agregue comprobación de prueba usando el esquema de formato a través de la interfaz HTTP. #4864 (Vitaly Baranov)

Lanzamiento de ClickHouse 19.4

Lanzamiento de ClickHouse 19.4.4.33, 2019-04-17

Corrección de errores

  • Evitar std::terminate en caso de error de asignación de memoria. Ahora std::bad_alloc excepción se lanza como se esperaba. #4665 (alexey-milovidov)
  • Corrige la lectura de capnproto desde el búfer. A veces, los archivos no se cargaron correctamente por HTTP. #4674 (Vladislav)
  • Corregir error Unknown log entry type: 0 despues OPTIMIZE TABLE FINAL consulta. #4683 (Amos pájaro)
  • Argumentos erróneos para hasAny o hasAll funciones pueden conducir a segfault. #4698 (alexey-milovidov)
  • Puede producirse un punto muerto durante la ejecución DROP DATABASE dictionary consulta. #4701 (alexey-milovidov)
  • Repara el comportamiento indefinido en median y quantile función. #4702 (Hcz)
  • Corregir la detección de nivel de compresión cuando network_compression_method en minúsculas. Roto en v19.1. #4706 (propulsor)
  • Se corrigió la ignorancia de <timezone>UTC</timezone> ajuste (soluciona el problema #4658). #4718 (propulsor)
  • Fijar histogram comportamiento de la función con Distributed tabla. #4741 (Olegkv)
  • Informe tsan fijo destroy of a locked mutex. #4742 (alexey-milovidov)
  • Se corrigió el informe de TSan sobre el cierre debido a la condición de carrera en el uso de registros del sistema. Se corrigió el uso potencial después de liberar al apagar cuando part_log está habilitado. #4758 (alexey-milovidov)
  • Fijar las piezas de nuevo control en ReplicatedMergeTreeAlterThread en caso de error. #4772 (Nikolai Kochetov)
  • Las operaciones aritméticas en estados de función de agregado intermedios no funcionaban para argumentos constantes (como los resultados de subconsulta). #4776 (alexey-milovidov)
  • Siempre retroceda los nombres de las columnas en los metadatos. De lo contrario, es imposible crear una tabla con una columna llamada index (el servidor no se reiniciará debido a ATTACH consulta en metadatos). #4782 (alexey-milovidov)
  • Fix crash en ALTER ... MODIFY ORDER BY en Distributed tabla. #4790 (Método de codificación de datos:)
  • Arreglar segfault en JOIN ON con habilitado enable_optimize_predicate_expression. #4794 (Invierno Zhang)
  • Corregir un error al agregar una fila extraña después de consumir un mensaje protobuf de Kafka. #4808 (Vitaly Baranov)
  • Fijar falla de segmentación en clickhouse-copier. #4835 (propulsor)
  • Condición de carrera fija en SELECT de system.tables si la tabla se cambia de nombre o se modifica simultáneamente. #4836 (alexey-milovidov)
  • Se corrigió la carrera de datos al obtener una parte de datos que ya está obsoleta. #4839 (alexey-milovidov)
  • Se corrigió la carrera de datos raros que puede ocurrir durante RENAME tabla de la familia MergeTree. #4844 (alexey-milovidov)
  • Fallo de segmentación fijo en la función arrayIntersect. La falla de segmentación podría ocurrir si se llamara a la función con argumentos constantes y ordinarios mixtos. #4847 (Lixiang Qian)
  • Lectura fija de Array(LowCardinality) columna en caso raro cuando la columna contenía una larga secuencia de matrices vacías. #4850 (Nikolai Kochetov)
  • Fijar No message received excepción al recuperar partes entre réplicas. #4856 (alesapin)
  • Fijo arrayIntersect resultado incorrecto de la función en caso de varios valores repetidos en una sola matriz. #4871 (Nikolai Kochetov)
  • Corregir una condición de carrera durante ALTER COLUMN consultas que podrían provocar un bloqueo del servidor (soluciona el problema #3421). #4592 (Método de codificación de datos:)
  • Corregir la deducción de parámetros en ALTER MODIFY de la columna CODEC cuando no se especifica el tipo de columna. #4883 (alesapin)
  • Función cutQueryStringAndFragment() y queryStringAndFragment() ahora funciona correctamente cuando URL contiene un fragmento y ninguna consulta. #4894 (Vitaly Baranov)
  • Corregir un error raro al configurar min_bytes_to_use_direct_io es mayor que cero, lo que ocurre cuando el hilo tiene que buscar hacia atrás en el archivo de columna. #4897 (alesapin)
  • Corregir tipos de argumentos incorrectos para funciones agregadas con LowCardinality argumentos (soluciona el problema #4919). #4922 (Nikolai Kochetov)
  • Fijar la función toISOWeek resultado para el año 1970. #4988 (alexey-milovidov)
  • Fijar DROP, TRUNCATE y OPTIMIZE duplicación de consultas, cuando se ejecuta en ON CLUSTER para ReplicatedMergeTree* tablas de la familia. #4991 (alesapin)

Mejora

Lanzamiento de ClickHouse 19.4.3.11, 2019-04-02

Corrección de errores

  • Fix crash en FULL/RIGHT JOIN cuando nos unimos en nullable vs no nullable. #4855 (Artem Zuikov)
  • Fijar falla de segmentación en clickhouse-copier. #4835 (propulsor)

Mejora de la construcción/prueba/empaquetado

Lanzamiento de ClickHouse 19.4.2.7, 2019-03-30

Corrección de errores

  • Lectura fija de Array(LowCardinality) columna en caso raro cuando la columna contenía una larga secuencia de matrices vacías. #4850 (Nikolai Kochetov)

Lanzamiento de ClickHouse 19.4.1.3, 2019-03-19

Corrección de errores

  • Consultas remotas fijas que contienen ambos LIMIT BY y LIMIT. Anteriormente, si LIMIT BY y LIMIT se utilizaron para la consulta remota, LIMIT podría pasar antes LIMIT BY, cuál llevó al resultado demasiado filtrado. #4708 (Constantin S. Pan)

Lanzamiento de ClickHouse 19.4.0.49, 2019-03-09

Novedad

  • Se agregó soporte completo para Protobuf formato (entrada y salida, estructuras de datos anidadas). #4174 #4493 (Vitaly Baranov)
  • Se agregaron funciones de mapa de bits con mapas de bits rugientes. #4207 (Cristina Andrés) #4568 (Vitaly Baranov)
  • Soporte de formato de parquet. #4448 (propulsor)
  • Se agregó una distancia de N-gramo para la comparación de cadenas difusas. Es similar a las métricas de q-gram en el lenguaje R. #4466 (Más información)
  • Combine reglas para el paquete acumulativo de grafito a partir de patrones de agregación y retención dedicados. #4426 (Mikhail f. Shiryaev)
  • Añadir max_execution_speed y max_execution_speed_bytes para limitar el uso de recursos. Añadir min_execution_speed_bytes para complementar el min_execution_speed. #4430 (Invierno Zhang)
  • Función implementada flatten. #4555 #4409 (alexey-milovidov, Kzon)
  • Funciones añadidas arrayEnumerateDenseRanked y arrayEnumerateUniqRanked (es como arrayEnumerateUniq pero permite ajustar la profundidad de la matriz para mirar dentro de las matrices multidimensionales). #4475 (propulsor) #4601 (alexey-milovidov)
  • Multiple JOINS with some restrictions: no asterisks, no complex aliases in ON/WHERE/GROUP BY/… #4462 (Artem Zuikov)

Corrección de errores

  • Esta versión también contiene todas las correcciones de errores de 19.3 y 19.1.
  • Se corrigió un error en los índices de omisión de datos: el orden de los gránulos después de INSERTAR era incorrecto. #4407 (Nikita Vasilev)
  • Fijo set índice de Nullable y LowCardinality columna. Antes de eso, set índice con Nullable o LowCardinality columna llevó a error Data type must be deserialized with multiple streams mientras se selecciona. #4594 (Nikolai Kochetov)
  • Establecer correctamente update_time en completo executable actualización del diccionario. #4551 (Tema Novikov)
  • Arreglar la barra de progreso rota en 19.3. #4627 (filimonov)
  • Se corrigieron los valores inconsistentes de MemoryTracker cuando se redujo la región de la memoria, en ciertos casos. #4619 (alexey-milovidov)
  • Comportamiento indefinido fijo en ThreadPool. #4612 (alexey-milovidov)
  • Se corrigió un accidente muy raro con el mensaje mutex lock failed: Invalid argument eso podría suceder cuando una tabla MergeTree se eliminó simultáneamente con un SELECT. #4608 (Método de codificación de datos:)
  • Compatibilidad del controlador ODBC con LowCardinality tipo de datos. #4381 (propulsor)
  • FreeBSD: Arreglo para AIOcontextPool: Found io_event with unknown id 0 error. #4438 (urgordeadbeef)
  • system.part_log se creó independientemente de la configuración. #4483 (alexey-milovidov)
  • Repara el comportamiento indefinido en dictIsIn función para los diccionarios de caché. #4515 (alesapin)
  • 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 (Método de codificación de datos:)
  • Deshabilite compile_expressions de forma predeterminada hasta que obtengamos el propio llvm contrib y puede probarlo con clang y asan. #4579 (alesapin)
  • Prevenir std::terminate cuando invalidate_query para clickhouse fuente de diccionario externo ha devuelto un conjunto de resultados incorrecto (vacío o más de una fila o más de una columna). Solucionado el problema cuando invalidate_query se realizó cada cinco segundos independientemente de la lifetime. #4583 (alexey-milovidov)
  • Evite el punto muerto cuando invalidate_query para un diccionario con clickhouse fuente estaba involucrando system.dictionaries mesa o Dictionaries base de datos (caso raro). #4599 (alexey-milovidov)
  • Correcciones para CROSS JOIN con WHERE vacío. #4598 (Artem Zuikov)
  • Segfault fijo en la función “replicate” cuando se pasa el argumento constante. #4603 (alexey-milovidov)
  • Repara la función lambda con el optimizador de predicados. #4408 (Invierno Zhang)
  • Múltiples JOINs múltiples correcciones. #4595 (Artem Zuikov)

Mejora

  • Soporte alias en la sección JOIN ON para columnas de la tabla derecha. #4412 (Artem Zuikov)
  • El resultado de múltiples JOIN necesita nombres de resultados correctos para ser utilizados en subselecciones. Reemplace los alias planos con nombres de origen en el resultado. #4474 (Artem Zuikov)
  • Mejorar la lógica push-down para sentencias unidas. #4387 (Ivan)

Mejoras de rendimiento

  • Heurística mejorada de “move to PREWHERE” optimización. #4405 (alexey-milovidov)
  • Use tablas de búsqueda adecuadas que usen la API de HashTable para claves de 8 bits y 16 bits. #4536 (Amos pájaro)
  • Mejora del rendimiento de la comparación de cadenas. #4564 (alexey-milovidov)
  • Limpie la cola DDL distribuida en un subproceso separado para que no ralentice el bucle principal que procesa las tareas DDL distribuidas. #4502 (Método de codificación de datos:)
  • Cuando min_bytes_to_use_direct_io se establece en 1, no todos los archivos se abrieron con el modo O_DIRECT porque el tamaño de los datos a leer a veces se subestimó por el tamaño de un bloque comprimido. #4526 (alexey-milovidov)

Mejora de la construcción/prueba/empaquetado

  • Se agregó soporte para clang-9 #4604 (alexey-milovidov)
  • Arreglar mal __asm__ instrucciones (de nuevo) #4621 (Konstantin Podshumok)
  • Añadir capacidad para especificar la configuración para clickhouse-performance-test desde la línea de comandos. #4437 (alesapin)
  • Agregue pruebas de diccionarios a las pruebas de integración. #4477 (alesapin)
  • Se agregaron consultas desde el punto de referencia en el sitio web a pruebas de rendimiento automatizadas. #4496 (alexey-milovidov)
  • xxhash.h no existe en lz4 externo porque es un detalle de implementación y sus símbolos tienen un espacio de nombres con XXH_NAMESPACE macro. Cuando lz4 es externo, xxHash también tiene que ser externo, y los dependientes tienen que vincularlo. #4495 (Películas De Sexo)
  • Se corrigió un caso cuando quantileTiming se puede llamar a la función de agregado con argumento de punto negativo o flotante (esto corrige la prueba de fuzz con un desinfectante de comportamiento indefinido). #4506 (alexey-milovidov)
  • Corrección de errores de ortografía. #4531 (sdk2)
  • Corregir la compilación en Mac. #4371 (Vitaly Baranov)
  • Construir correcciones para FreeBSD y varias configuraciones de compilación inusuales. #4444 (propulsor)

Lanzamiento de ClickHouse 19.3

Lanzamiento de ClickHouse 19.3.9.1, 2019-04-02

Corrección de errores

  • Fix crash en FULL/RIGHT JOIN cuando nos unimos en nullable vs no nullable. #4855 (Artem Zuikov)
  • Fijar falla de segmentación en clickhouse-copier. #4835 (propulsor)
  • Lectura fija de Array(LowCardinality) columna en caso raro cuando la columna contenía una larga secuencia de matrices vacías. #4850 (Nikolai Kochetov)

Mejora de la construcción/prueba/empaquetado

Lanzamiento de ClickHouse 19.3.7, 2019-03-12

Corrección de errores

  • Corregido el error en # 3920. Este error se manifiesta como corrupción de caché aleatoria (mensajes Unknown codec family code, Cannot seek through file) y segfaults. Este error apareció por primera vez en la versión 19.1 y está presente en las versiones hasta 19.1.10 y 19.3.6. #4623 (alexey-milovidov)

Lanzamiento de ClickHouse 19.3.6, 2019-03-02

Corrección de errores

  • Cuando hay más de 1000 subprocesos en un grupo de subprocesos, std::terminate puede suceder en la salida del hilo. Azat Khuzhin #4485 #4505 (alexey-milovidov)
  • Ahora es posible crear ReplicatedMergeTree* tablas con comentarios sobre columnas sin valores predeterminados y tablas con códecs de columnas sin comentarios y valores predeterminados. También corrige la comparación de códecs. #4523 (alesapin)
  • Se corrigió el fallo en JOIN con matriz o tupla. #4552 (Artem Zuikov)
  • Se corrigió el fallo en el clickhouse-copiadora con el mensaje ThreadStatus not created. #4540 (Artem Zuikov)
  • Se corrigió el bloqueo en el cierre del servidor si se usaban DDL distribuidos. #4472 (Método de codificación de datos:)
  • Se imprimieron números de columna incorrectos en un mensaje de error sobre el análisis de formato de texto para columnas con un número mayor que 10. #4484 (alexey-milovidov)

Mejoras de compilación / prueba / empaquetado

  • Compilación fija con AVX habilitado. #4527 (alexey-milovidov)
  • Habilite la contabilidad extendida y la contabilidad IO basada en una versión buena conocida en lugar del kernel bajo el cual se compila. #4541 (Nombre de la red inalámbrica (SSID):)
  • Permitir omitir la configuración de core_dump.size_limit, advertencia en lugar de lanzar si el conjunto de límites falla. #4473 (propulsor)
  • Eliminado el inline etiquetas de void readBinary(...) en Field.cpp. También se fusionó redundante namespace DB bloque. #4530 (Hcz)

Lanzamiento de ClickHouse 19.3.5, 2019-02-21

Corrección de errores

  • Se corrigió un error con el procesamiento de grandes consultas de inserción http. #4454 (alesapin)
  • Se corrigió la incompatibilidad hacia atrás con versiones antiguas debido a una implementación incorrecta de send_logs_level configuración. #4445 (alexey-milovidov)
  • Incompatibilidad hacia atrás fija de la función de la tabla remote introducido con comentarios de columna. #4446 (alexey-milovidov)

Lanzamiento de ClickHouse 19.3.4, 2019-02-16

Mejora

  • El tamaño del índice de tabla no se tiene en cuenta los límites de memoria al hacer ATTACH TABLE consulta. Evitó la posibilidad de que una tabla no se pueda adjuntar después de haber sido separada. #4396 (alexey-milovidov)
  • Levantó ligeramente el límite en el tamaño máximo de cadena y matriz recibido de ZooKeeper. Permite continuar trabajando con un mayor tamaño de CLIENT_JVMFLAGS=-Djute.maxbuffer=... en ZooKeeper. #4398 (alexey-milovidov)
  • Permitir reparar réplicas abandonadas incluso si ya tiene una gran cantidad de nodos en su cola. #4399 (alexey-milovidov)
  • Agregue un argumento requerido a SET índice (número máximo de filas almacenadas). #4386 (Nikita Vasilev)

Corrección de errores

  • Fijo WITH ROLLUP resultado para grupo por solo LowCardinality clave. #4384 (Nikolai Kochetov)
  • Se corrigió un error en el índice establecido (dejando caer un gránulo si contiene más de max_rows filas). #4386 (Nikita Vasilev)
  • Muchas correcciones de compilación de FreeBSD. #4397 (propulsor)
  • Se corrigió la sustitución de alias en consultas con subconsulta que contenía el mismo alias (problema #4110). #4351 (Artem Zuikov)

Mejoras de compilación / prueba / empaquetado

  • Añadir capacidad de ejecutar clickhouse-server para pruebas sin estado en la imagen de la ventana acoplable. #4347 (Vasily Nemkov)

Lanzamiento de ClickHouse 19.3.3, 2019-02-13

Novedad

  • Se agregó el KILL MUTATION declaración que permite eliminar mutaciones que por alguna razón están atascadas. Añadir latest_failed_part, latest_fail_time, latest_fail_reason campos a la system.mutations mesa para una solución de problemas más fácil. #4287 (Método de codificación de datos:)
  • Función agregada agregada entropy que calcula la entropía de Shannon. #4238 (Quid37)
  • Añadida la capacidad de enviar consultas INSERT INTO tbl VALUES (.... al servidor sin dividir en query y data parte. #4301 (alesapin)
  • Implementación genérica de arrayWithConstant se añadió la función. #4322 (alexey-milovidov)
  • Aplicado NOT BETWEEN operador de comparación. #4228 (Dmitry Naumov)
  • Implementar sumMapFiltered para poder limitar el número de claves para las cuales los valores se sumarán por sumMap. #4129 (Léo Ercolanelli)
  • Se agregó soporte de Nullable tipos en mysql función de la tabla. #4198 (Emmanuel Donin de Rosière)
  • Soporte para expresiones constantes arbitrarias en LIMIT clausula. #4246 (K3box)
  • Añadir topKWeighted función de agregado que toma argumentos adicionales con peso (entero sin signo). #4245 (Córdoba)
  • StorageJoin ahora soporta join_any_take_last_row configuración que permite sobrescribir los valores existentes de la misma clave. #3973 (Amos pájaro
  • Función añadida toStartOfInterval. #4304 (Vitaly Baranov)
  • Añadir RowBinaryWithNamesAndTypes formato. #4200 (Oleg V. Kozlyuk)
  • Añadir IPv4 y IPv6 tipos de datos. Implementaciones más efectivas de IPv* función. #3669 (Vasily Nemkov)
  • Función añadida toStartOfTenMinutes(). #4298 (Vitaly Baranov)
  • Añadir Protobuf formato de salida. #4005 #4158 (Vitaly Baranov)
  • Añadido soporte brotli para la interfaz HTTP para la importación de datos (INSERTs). #4235 (Mijaíl)
  • Se agregaron consejos mientras el usuario hace un error tipográfico en el nombre de la función o escribe el cliente de línea de comandos. #4239 (Más información)
  • Añadir Query-Id al encabezado de respuesta HTTP del servidor. #4231 (Mijaíl)

Experimental características

  • Añadir minmax y set Índices de saltos de datos para la familia de motores de tablas MergeTree. #4143 (Nikita Vasilev)
  • Añadido conversión de CROSS JOIN a INNER JOIN si es posible. #4221 #4266 (Artem Zuikov)

Corrección de errores

  • Fijo Not found column para columnas duplicadas en JOIN ON apartado. #4279 (Artem Zuikov)
  • Hacer START REPLICATED SENDS comando iniciar envíos replicados. #4229 (Nombre de la red inalámbrica (SSID):)
  • Ejecución de funciones agregadas fijas con Array(LowCardinality) argumento. #4055 (KochetovNicolai)
  • Corregido el comportamiento incorrecto al hacer INSERT ... SELECT ... FROM file(...) consulta y archivo CSVWithNames o TSVWIthNames formato y falta la primera fila de datos. #4297 (alexey-milovidov)
  • Se corrigió el fallo en la recarga del diccionario si el diccionario no está disponible. Este error apareció en 19.1.6. #4188 (propulsor)
  • Fijo ALL JOIN con duplicados en la tabla derecha. #4184 (Artem Zuikov)
  • Fallo de segmentación fijo con use_uncompressed_cache=1 y excepción con un tamaño incorrecto sin comprimir. Este error apareció en 19.1.6. #4186 (alesapin)
  • Fijo compile_expressions error con la comparación de fechas grandes (más que int16). #4341 (alesapin)
  • Bucle infinito fijo al seleccionar de la función de la tabla numbers(0). #4280 (alexey-milovidov)
  • Deshabilitar temporalmente la optimización de predicados para ORDER BY. #3890 (Invierno Zhang)
  • Fijo Illegal instruction error al usar funciones base64 en CPU antiguas. Este error se ha reproducido solo cuando ClickHouse se compiló con gcc-8. #4275 (alexey-milovidov)
  • Fijo No message received error al interactuar con PostgreSQL ODBC Driver a través de la conexión TLS. También corrige segfault cuando se utiliza MySQL ODBC Driver. #4170 (alexey-milovidov)
  • Se corrigió el resultado incorrecto cuando Date y DateTime los argumentos se usan en ramas del operador condicional (función if). Añadido caso genérico para la función if. #4243 (alexey-milovidov)
  • Los diccionarios de ClickHouse ahora se cargan dentro clickhouse proceso. #4166 (alexey-milovidov)
  • Se corrigió el punto muerto cuando SELECT de una mesa con File el motor fue reintentado después No such file or directory error. #4161 (alexey-milovidov)
  • Condición de carrera fija al seleccionar entre system.tables puede dar table doesn't exist error. #4313 (alexey-milovidov)
  • clickhouse-client puede segfault al salir mientras carga datos para sugerencias de línea de comandos si se ejecutó en modo interactivo. #4317 (alexey-milovidov)
  • Se ha corregido un error cuando la ejecución de mutaciones que contienen IN Los operadores estaban produciendo resultados incorrectos. #4099 (Método de codificación de datos:)
  • Error corregido: si hay una base de datos con Dictionary motor, todos los diccionarios obligados a cargar en el inicio del servidor, y si hay un diccionario con fuente ClickHouse de localhost, el diccionario no se puede cargar. #4255 (alexey-milovidov)
  • Se corrigió el error cuando los registros del sistema se intentaban crear de nuevo al apagar el servidor. #4254 (alexey-milovidov)
  • Devuelva correctamente el tipo correcto y maneje adecuadamente las cerraduras en joinGet función. #4153 (Amos pájaro)
  • Añadir sumMapWithOverflow función. #4151 (Léo Ercolanelli)
  • Segfault fijo con allow_experimental_multiple_joins_emulation. 52de2c (Artem Zuikov)
  • Corregido error con incorrecto Date y DateTime comparación. #4237 (Valexey)
  • Prueba de fuzz fija bajo desinfectante de comportamiento indefinido: verificación de tipo de parámetro agregada para quantile*Weighted familia de funciones. #4145 (alexey-milovidov)
  • Se corrigió la condición de carrera rara al eliminar las piezas de datos antiguas que pueden fallar con File not found error. #4378 (alexey-milovidov)
  • Arregle el paquete de instalación con /etc/clickhouse-server/config que falta.XML. #4343 (propulsor)

Mejoras de compilación / prueba / empaquetado

Cambios incompatibles hacia atrás

  • Quitar allow_experimental_low_cardinality_type configuración. LowCardinality los tipos de datos están listos para la producción. #4323 (alexey-milovidov)
  • Reduzca el tamaño de la caché de marca y el tamaño de la caché sin comprimir según la cantidad de memoria disponible. #4240 (Lopatin Konstantin
  • Palabra clave añadida INDEX en CREATE TABLE consulta. Una columna con nombre index debe citarse con retrocesos o comillas dobles: `index`. #4143 (Nikita Vasilev)
  • sumMap ahora promueve el tipo de resultado en lugar de desbordamiento. Antiguo sumMap se puede obtener mediante el uso de sumMapWithOverflow función. #4151 (Léo Ercolanelli)

Mejoras de rendimiento

  • std::sort sustituido por pdqsort para consultas sin LIMIT. #4236 (Evgenii Pravda)
  • Ahora el servidor reutiliza subprocesos del grupo de subprocesos global. Esto afecta el rendimiento en algunos casos de esquina. #4150 (alexey-milovidov)

Mejora

  • Implementado soporte AIO para FreeBSD. #4305 (urgordeadbeef)
  • SELECT * FROM a JOIN b USING a, b ahora volver a y b solo de la tabla de la izquierda. #4141 (Artem Zuikov)
  • Permitir -C opción del cliente para trabajar como -c opcion. #4232 (syominsergey)
  • Ahora opción --password utilizado sin valor requiere contraseña de stdin. #4230 (BSD_Conqueror)
  • Se agregó resaltado de metacaracteres no escapados en literales de cadena que contienen LIKE expresiones o regex. #4327 (alexey-milovidov)
  • Se agregó la cancelación de las consultas de solo lectura HTTP si el socket del cliente desaparece. #4213 (Nombre de la red inalámbrica (SSID):)
  • Ahora los informes del servidor progresan para mantener vivas las conexiones del cliente. #4215 (Ivan)
  • Mensaje ligeramente mejor con motivo para OPTIMIZE consulta con optimize_throw_if_noop configuración activada. #4294 (alexey-milovidov)
  • Se agregó soporte de --version opción para el servidor de clickhouse. #4251 (Lopatin Konstantin)
  • Añadir --help/-h opción para clickhouse-server. #4233 (Yuriy Baranov)
  • Se agregó soporte para subconsultas escalares con el resultado del estado de la función agregada. #4348 (Nikolai Kochetov)
  • Mejora del tiempo de apagado del servidor y ALTERa el tiempo de espera. #4372 (alexey-milovidov)
  • Se ha añadido información sobre la configuración de la línea de replicado_can_become_leader en el sistema.réplicas y agregue registro si la réplica no intenta convertirse en líder. #4379 (Método de codificación de datos:)

Lanzamiento de ClickHouse 19.1

Lanzamiento de ClickHouse 19.1.14, 2019-03-14

  • Error fijo Column ... queried more than once que puede suceder si la configuración asterisk_left_columns_only se establece en 1 en caso de usar GLOBAL JOIN con SELECT * (caso raro). El problema no existe en 19.3 y posteriores. 6bac7d8d (Artem Zuikov)

Lanzamiento de ClickHouse 19.1.13, 2019-03-12

Esta versión contiene exactamente el mismo conjunto de parches que 19.3.7.

Lanzamiento de ClickHouse 19.1.10, 2019-03-03

Esta versión contiene exactamente el mismo conjunto de parches que 19.3.6.

Lanzamiento de ClickHouse 19.1

Lanzamiento de ClickHouse 19.1.9, 2019-02-21

Corrección de errores

  • Se corrigió la incompatibilidad hacia atrás con versiones antiguas debido a una implementación incorrecta de send_logs_level configuración. #4445 (alexey-milovidov)
  • Incompatibilidad hacia atrás fija de la función de la tabla remote introducido con comentarios de columna. #4446 (alexey-milovidov)

Lanzamiento de ClickHouse 19.1.8, 2019-02-16

Corrección de errores

  • Arregle el paquete de instalación con /etc/clickhouse-server/config que falta.XML. #4343 (propulsor)

Lanzamiento de ClickHouse 19.1

Lanzamiento de ClickHouse 19.1.7, 2019-02-15

Corrección de errores

  • Devuelva correctamente el tipo correcto y maneje adecuadamente las cerraduras en joinGet función. #4153 (Amos pájaro)
  • Se corrigió el error cuando los registros del sistema se intentaban crear de nuevo al apagar el servidor. #4254 (alexey-milovidov)
  • Error corregido: si hay una base de datos con Dictionary motor, todos los diccionarios obligados a cargar en el inicio del servidor, y si hay un diccionario con fuente ClickHouse de localhost, el diccionario no se puede cargar. #4255 (alexey-milovidov)
  • Se ha corregido un error cuando la ejecución de mutaciones que contienen IN Los operadores estaban produciendo resultados incorrectos. #4099 (Método de codificación de datos:)
  • clickhouse-client puede segfault al salir mientras carga datos para sugerencias de línea de comandos si se ejecutó en modo interactivo. #4317 (alexey-milovidov)
  • Condición de carrera fija al seleccionar entre system.tables puede dar table doesn't exist error. #4313 (alexey-milovidov)
  • Se corrigió el punto muerto cuando SELECT de una mesa con File el motor fue reintentado después No such file or directory error. #4161 (alexey-milovidov)
  • Se ha solucionado un problema: los diccionarios locales de ClickHouse se cargan a través de TCP, pero deberían cargarse dentro del proceso. #4166 (alexey-milovidov)
  • Fijo No message received error al interactuar con PostgreSQL ODBC Driver a través de la conexión TLS. También corrige segfault cuando se utiliza MySQL ODBC Driver. #4170 (alexey-milovidov)
  • Deshabilitar temporalmente la optimización de predicados para ORDER BY. #3890 (Invierno Zhang)
  • Bucle infinito fijo al seleccionar de la función de la tabla numbers(0). #4280 (alexey-milovidov)
  • Fijo compile_expressions error con la comparación de fechas grandes (más que int16). #4341 (alesapin)
  • Fallo de segmentación fijo con uncompressed_cache=1 y excepción con un tamaño incorrecto sin comprimir. #4186 (alesapin)
  • Fijo ALL JOIN con duplicados en la tabla derecha. #4184 (Artem Zuikov)
  • Corregido el comportamiento incorrecto al hacer INSERT ... SELECT ... FROM file(...) consulta y archivo CSVWithNames o TSVWIthNames formato y falta la primera fila de datos. #4297 (alexey-milovidov)
  • Ejecución de funciones agregadas fijas con Array(LowCardinality) argumento. #4055 (KochetovNicolai)
  • Paquete de Debian: correcto /etc/clickhouse-server/preprocessed link según config. #4205 (propulsor)
  • Prueba de fuzz fija bajo desinfectante de comportamiento indefinido: verificación de tipo de parámetro agregada para quantile*Weighted familia de funciones. #4145 (alexey-milovidov)
  • Hacer START REPLICATED SENDS comando iniciar envíos replicados. #4229 (Nombre de la red inalámbrica (SSID):)
  • Fijo Not found column para columnas duplicadas en la sección JOIN ON. #4279 (Artem Zuikov)
  • Ahora /etc/ssl se utiliza como directorio predeterminado con certificados SSL. #4167 (alexey-milovidov)
  • Se corrigió el fallo en la recarga del diccionario si el diccionario no está disponible. #4188 (propulsor)
  • Corregido error con incorrecto Date y DateTime comparación. #4237 (Valexey)
  • Se corrigió el resultado incorrecto cuando Date y DateTime los argumentos se usan en ramas del operador condicional (función if). Añadido caso genérico para la función if. #4243 (alexey-milovidov)

Lanzamiento de ClickHouse 19.1.6, 2019-01-24

Novedad

  • Códecs de compresión personalizados por columna para tablas. #3899 #4111 (alesapin, Invierno Zhang, Anatoly)
  • Añadido codec de compresión Delta. #4052 (alesapin)
  • Permitir a ALTER códecs de compresión. #4054 (alesapin)
  • Funciones añadidas left, right, trim, ltrim, rtrim, timestampadd, timestampsub para la compatibilidad estándar SQL. #3826 (Ivan Blinkov)
  • Soporte para escribir en HDFS mesas y hdfs función de la tabla. #4084 (alesapin)
  • Funciones añadidas para buscar múltiples cadenas constantes de gran pajar: multiPosition, multiSearch ,firstMatch también con -UTF8, -CaseInsensitive, y -CaseInsensitiveUTF8 variante. #4053 (Más información)
  • Poda de fragmentos no utilizados si SELECT filtros de consulta por clave sharding (configuración optimize_skip_unused_shards). #3851 (Gleb Kanterov, Ivan)
  • Permitir Kafka para ignorar cierta cantidad de errores de análisis por bloque. #4094 (Ivan)
  • Añadido soporte para CatBoost evaluación de modelos multiclase. Función modelEvaluate devuelve tupla con predicciones sin procesar por clase para modelos multiclase. libcatboostmodel.so debe ser construido con #607. #3959 (KochetovNicolai)
  • Funciones añadidas filesystemAvailable, filesystemFree, filesystemCapacity. #4097 (Boris Granveaud)
  • Funciones hash añadidas xxHash64 y xxHash32. #3905 (filimonov)
  • Añadir gccMurmurHash función de hash (hash de Murmur con sabor a GCC) que usa la misma semilla de hash que Gcc #4000 (Sundyli)
  • Funciones hash añadidas javaHash, hiveHash. #3811 (shangshujie365)
  • Función de tabla añadida remoteSecure. Funciona como remote, pero usa una conexión segura. #4088 (propulsor)

Experimental características

  • Se agregaron múltiples emulaciones JOINs (allow_experimental_multiple_joins_emulation configuración). #3946 (Artem Zuikov)

Corrección de errores

  • Hacer compiled_expression_cache_size ajuste limitado por defecto para reducir el consumo de memoria. #4041 (alesapin)
  • Se corrigió un error que provocaba bloqueos en los subprocesos que realizaban ALTERs de tablas replicadas y en el subproceso que actualizaba la configuración de ZooKeeper. #2947 #3891 #3934 (Método de codificación de datos:)
  • Se corrigió una condición de carrera al ejecutar una tarea ALTER distribuida. La condición de carrera provocó que más de una réplica intentara ejecutar la tarea y todas las réplicas, excepto una que fallara con un error de ZooKeeper. #3904 (Método de codificación de datos:)
  • Corregir un error cuando from_zk Los elementos de configuración no se actualizaron después de que se agotó el tiempo de espera de una solicitud a ZooKeeper. #2947 #3947 (Método de codificación de datos:)
  • Corregir un error con el prefijo incorrecto para las máscaras de subred IPv4. #3945 (alesapin)
  • Se corrigió el fallo (std::terminate) en casos excepcionales cuando no se puede crear un nuevo subproceso debido a recursos agotados. #3956 (alexey-milovidov)
  • Corregir error cuando está en remote ejecución de la función de tabla cuando se usaron restricciones incorrectas para getStructureOfRemoteTable. #4009 (alesapin)
  • Corregir una fuga de enchufes netlink. Se colocaron en un grupo donde nunca se eliminaron y se crearon nuevos sockets al comienzo de un nuevo subproceso cuando todos los sockets actuales estaban en uso. #4017 (Método de codificación de datos:)
  • Corregir un error con el cierre /proc/self/fd directorio antes de todos los fds fueron leídos de /proc después de bifurcar odbc-bridge subproceso. #4120 (alesapin)
  • Conversión monótona de cadena a UInt fija en caso de uso de cadena en clave primaria. #3870 (Invierno Zhang)
  • Se corrigió el error en el cálculo de la monotonía de la función de conversión de enteros. #3921 (alexey-milovidov)
  • Segfault fijo en arrayEnumerateUniq, arrayEnumerateDense funciones en caso de algunos argumentos no válidos. #3909 (alexey-milovidov)
  • Reparar UB en StorageMerge. #3910 (Amos pájaro)
  • Segfault fijo en funciones addDays, subtractDays. #3913 (alexey-milovidov)
  • Corregido el error: funciones round, floor, trunc, ceil puede devolver un resultado falso cuando se ejecuta en un argumento entero y una gran escala negativa. #3914 (alexey-milovidov)
  • Se corrigió un error inducido por kill query sync lo que conduce a un volcado central. #3916 (muVulDeePecker)
  • Corregir un error con un largo retraso después de la cola de replicación vacía. #3928 #3932 (alesapin)
  • Se corrigió el uso excesivo de memoria en caso de insertar en la tabla con LowCardinality clave primaria. #3955 (KochetovNicolai)
  • Fijo LowCardinality serialización para Native formato en caso de matrices vacías. #3907 #4011 (KochetovNicolai)
  • Se corrigió el resultado incorrecto al usar distinta por una sola columna numérica LowCardinality. #3895 #4012 (KochetovNicolai)
  • Se corrigió la agregación especializada con la clave LowCardinality (en caso de compile está habilitada la configuración). #3886 (KochetovNicolai)
  • Corregir el reenvío de usuarios y contraseñas para consultas de tablas replicadas. #3957 (alesapin) (小路)
  • Se corrigió una condición de carrera muy rara que puede ocurrir al enumerar tablas en la base de datos de diccionarios mientras recargaba diccionarios. #3970 (alexey-milovidov)
  • Se corrigió el resultado incorrecto cuando se usaba HAVING con ROLLUP o CUBE. #3756 #3837 (Más información)
  • Se corrigieron alias de columna para consultas con JOIN ON sintaxis y tablas distribuidas. #3980 (Invierno Zhang)
  • Se corrigió un error en la implementación interna de quantileTDigest (encontrado por Artem Vakhrushev). Este error nunca ocurre en ClickHouse y fue relevante solo para aquellos que usan la base de código ClickHouse como una biblioteca directamente. #3935 (alexey-milovidov)

Mejora

  • Soporte para IF NOT EXISTS en ALTER TABLE ADD COLUMN declaraciones junto con IF EXISTS en DROP/MODIFY/CLEAR/COMMENT COLUMN. #3900 (Boris Granveaud)
  • Función parseDateTimeBestEffort: soporte para formatos DD.MM.YYYY, DD.MM.YY, DD-MM-YYYY, DD-Mon-YYYY, DD/Month/YYYY y similares. #3922 (alexey-milovidov)
  • CapnProtoInputStream ahora soportan estructuras dentadas. #4063 (Odin Hultgren Van Der Horst)
  • Mejora de la usabilidad: se agregó una verificación de que el proceso del servidor se inicia desde el propietario del directorio de datos. No permita iniciar el servidor desde la raíz si los datos pertenecen a un usuario no root. #3785 (Más información)
  • Mejor lógica de verificación de columnas requeridas durante el análisis de consultas con JOINs. #3930 (Artem Zuikov)
  • Disminución del número de conexiones en caso de un gran número de tablas distribuidas en un único servidor. #3726 (Invierno Zhang)
  • Fila de totales admitidos para WITH TOTALS consulta para el controlador ODBC. #3836 (Maksim Koritckiy)
  • Permitido utilizar Enums como enteros dentro de la función if. #3875 (Ivan)
  • Añadir low_cardinality_allow_in_native_format configuración. Si está desactivado, no utilice LowCadrinality escriba en Native formato. #3879 (KochetovNicolai)
  • Se eliminaron algunos objetos redundantes de la caché de expresiones compiladas para reducir el uso de memoria. #4042 (alesapin)
  • Añadir comprobar que SET send_logs_level = 'value' consulta acepta el valor apropiado. #3873 (Sabyanin Maxim)
  • Verificación de tipo de datos fijos en las funciones de conversión de tipo. #3896 (Invierno Zhang)

Mejoras de rendimiento

  • Agregar una configuración MergeTree use_minimalistic_part_header_in_zookeeper. Si está habilitada, las tablas replicadas almacenarán metadatos de piezas compactas en un único znode de piezas. Esto puede reducir drásticamente el tamaño de la instantánea ZooKeeper (especialmente si las tablas tienen muchas columnas). Tenga en cuenta que después de habilitar esta configuración, no podrá degradar a una versión que no la admita. #3960 (Método de codificación de datos:)
  • Agregar una implementación basada en DFA para funciones sequenceMatch y sequenceCount en caso de que el patrón no contenga tiempo. #4004 (Léo Ercolanelli)
  • Mejora del rendimiento para la serialización de números enteros. #3968 (Amos pájaro)
  • Cero a la izquierda relleno PODArray de modo que -1 elemento es siempre válido y puesto a cero. Se utiliza para el cálculo sin ramas de compensaciones. #3920 (Amos pájaro)
  • Revertir jemalloc versión que conducen a la degradación del rendimiento. #4018 (alexey-milovidov)

Cambios incompatibles hacia atrás

Mejoras de compilación / prueba / empaquetado

  • Añadido soporte para PowerPC (ppc64le) construir. #4132 (Más información)
  • Las pruebas funcionales con estado se ejecutan en el conjunto de datos público disponible. #3969 (alexey-milovidov)
  • Se corrigió el error cuando el servidor no puede comenzar con el bash: /usr/bin/clickhouse-extract-from-config: Operation not permitted mensaje dentro de Docker o systemd-nspawn. #4136 (alexey-milovidov)
  • Actualizar rdkafka Biblioteca a v1.0.0-RC5. Usado cppkafka en lugar de la interfaz C sin procesar. #4025 (Ivan)
  • Actualizar mariadb-client biblioteca. Se corrigió uno de los problemas encontrados por UBSan. #3924 (alexey-milovidov)
  • Algunas correcciones para compilaciones de UBSan. #3926 #3021 #3948 (alexey-milovidov)
  • Se agregaron ejecuciones de pruebas por compromiso con la compilación de UBSan.
  • Se agregaron ejecuciones por compromiso del analizador estático PVS-Studio.
  • Corregidos errores encontrados por PVS-Studio. #4013 (alexey-milovidov)
  • Se corrigieron problemas de compatibilidad con glibc. #4100 (alexey-milovidov)
  • Mueva las imágenes de Docker a 18.10 y agregue el archivo de compatibilidad para glibc> = 2.28 #3965 (alesapin)
  • Agregue la variable env si el usuario no desea chown directorios en la imagen Docker del servidor. #3967 (alesapin)
  • Habilitado la mayoría de las advertencias de -Weverything en clang. Permitir -Wpedantic. #3986 (alexey-milovidov)
  • Se agregaron algunas advertencias más que están disponibles solo en clang 8. #3993 (alexey-milovidov)
  • Enlace a libLLVM en lugar de a las librerías LLVM individuales cuando se usan enlaces compartidos. #3989 (Películas De Sexo)
  • Se agregaron variables de desinfectante para imágenes de prueba. #4072 (alesapin)
  • clickhouse-server paquete debian recomendará libcap2-bin paquete a utilizar setcap herramienta para el establecimiento de capacidades. Esto es opcional. #4093 (alexey-milovidov)
  • Mejora del tiempo de compilación, fijo incluye. #3898 (propulsor)
  • Se agregaron pruebas de rendimiento para funciones hash. #3918 (filimonov)
  • Se corrigieron las dependencias de la biblioteca cíclica. #3958 (propulsor)
  • Compilación mejorada con poca memoria disponible. #4030 (propulsor)
  • Se agregó script de prueba para reproducir la degradación del rendimiento en jemalloc. #4036 (alexey-milovidov)
  • Se corrigieron errores ortográficos en comentarios y literales de cadena bajo dbms. #4122 (maiha)
  • Se corrigieron errores tipográficos en los comentarios. #4089 (Evgenii Pravda)