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

129 KiB
Raw Blame History

machine_translated
true

Lanzamiento de ClickHouse 18.16

Lanzamiento de ClickHouse 18.16.1, 2018-12-21

Corrección de errores:

  • Se corrigió un error que provocaba problemas con la actualización de diccionarios con el origen ODBC. #3825, #3829
  • La compilación JIT de funciones agregadas ahora funciona con columnas LowCardinality. #3838

Mejora:

  • Se agregó el low_cardinality_allow_in_native_format configuración (habilitada por defecto). Cuando se deshabilita, las columnas LowCardinality se convertirán en columnas ordinarias para las consultas SELECT y se esperarán columnas ordinarias para las consultas INSERT. #3879

Mejoras de construcción:

  • Correcciones para compilaciones en macOS y ARM.

Lanzamiento de ClickHouse 18.16.0, 2018-12-14

Novedad:

  • DEFAULT Las expresiones se evalúan en busca de campos faltantes al cargar datos en formatos de entrada semiestructurados (JSONEachRow, TSKV). La función está habilitada con insert_sample_with_metadata configuración. #3555
  • El ALTER TABLE consulta ahora tiene el MODIFY ORDER BY acción para cambiar la clave de ordenación al agregar o eliminar una columna de tabla. Esto es útil para las tablas MergeTree familia que realizan tareas adicionales al fusionarse basándose en esta clave de ordenación, como SummingMergeTree, AggregatingMergeTree y así sucesivamente. #3581 #3755
  • Para las tablas en el MergeTree familia, ahora puede especificar una clave de clasificación diferente (ORDER BY) e índice (PRIMARY KEY). La clave de ordenación puede ser más larga que el índice. #3581
  • Se agregó el hdfs función de la tabla y el HDFS para importar y exportar datos a HDFS. Más información
  • Funciones añadidas para trabajar con base64: base64Encode, base64Decode, tryBase64Decode. Alejandro Krasheninnikov
  • Ahora puede usar un parámetro para configurar la precisión del uniqCombined función de agregado (seleccione el número de celdas HyperLogLog). #3406
  • Se agregó el system.contributors tabla que contiene los nombres de todos los que hicieron compromete en ClickHouse. #3452
  • Se agregó la capacidad de omitir la partición para el ALTER TABLE ... FREEZE consulta para hacer una copia de seguridad de todas las particiones a la vez. #3514
  • Añadir dictGet y dictGetOrDefault funciones que no requieren especificar el tipo de valor de retorno. El tipo se determina automáticamente a partir de la descripción del diccionario. Amos pájaro
  • Ahora puede especificar comentarios para una columna en la descripción de la tabla y cambiarla usando ALTER. #3377
  • La lectura es compatible para Join tablas de escribir con teclas simples. Amos pájaro
  • Ahora puede especificar las opciones join_use_nulls, max_rows_in_join, max_bytes_in_join, y join_overflow_mode al crear un Join tabla de tipo. Amos pájaro
  • Se agregó el joinGet función que le permite utilizar un Join tipo de tabla como un diccionario. Amos pájaro
  • Se agregó el partition_key, sorting_key, primary_key, y sampling_key columnas a la system.tables tabla con el fin de proporcionar información sobre las claves de la tabla. #3609
  • Se agregó el is_in_partition_key, is_in_sorting_key, is_in_primary_key, y is_in_sampling_key columnas a la system.columns tabla. #3609
  • Se agregó el min_time y max_time columnas a la system.parts tabla. Estas columnas se rellenan cuando la clave de partición es una expresión que consiste en DateTime columna. Emmanuel Donin de Rosière

Corrección de errores:

  • Correcciones y mejoras de rendimiento para el LowCardinality tipo de datos. GROUP BY utilizar LowCardinality(Nullable(...)). Obtener los valores de extremes. Procesamiento de funciones de orden superior. LEFT ARRAY JOIN. Distribuido GROUP BY. Funciones que devuelven Array. Ejecución de ORDER BY. Escribir a Distributed tablas (nicelulu). Compatibilidad con versiones anteriores para INSERT consultas de clientes antiguos que implementan el Native protocolo. Soporte para LowCardinality para JOIN. Rendimiento mejorado cuando se trabaja en un solo flujo. #3823 #3803 #3799 #3769 #3744 #3681 #3651 #3649 #3641 #3632 #3568 #3523 #3518
  • Corregido cómo el select_sequential_consistency opción funciona. Anteriormente, cuando se habilitaba esta configuración, a veces se devolvía un resultado incompleto después de comenzar a escribir en una nueva partición. #2863
  • Las bases de datos se especifican correctamente al ejecutar DDL ON CLUSTER consultas y ALTER UPDATE/DELETE. #3772 #3460
  • Las bases de datos se especifican correctamente para las subconsultas dentro de una VIEW. #3521
  • Se ha corregido un error en PREWHERE con FINAL para VersionedCollapsingMergeTree. 7167bfd7
  • Ahora puedes usar KILL QUERY para cancelar consultas que aún no se han iniciado porque están esperando a que se bloquee la tabla. #3517
  • Se corrigieron los cálculos de fecha y hora si los relojes se movían hacia atrás a la medianoche (esto sucede en Irán, y sucedió en Moscú de 1981 a 1983). Anteriormente, esto llevaba a que la hora se restableciera un día antes de lo necesario, y también causaba un formato incorrecto de la fecha y la hora en formato de texto. #3819
  • Se corrigieron errores en algunos casos de VIEW y subconsultas que omiten la base de datos. Invierno Zhang
  • Se corrigió una condición de carrera al leer simultáneamente desde un MATERIALIZED VIEW y eliminar un MATERIALIZED VIEW debido a no bloquear el interior MATERIALIZED VIEW. #3404 #3694
  • Corregido el error Lock handler cannot be nullptr. #3689
  • Procesamiento de consultas fijo cuando el compile_expressions la opción está habilitada (está habilitada por defecto). Expresiones constantes no deterministas como el now función ya no están desplegados. #3457
  • Se corrigió un bloqueo al especificar un argumento de escala no constante en toDecimal32/64/128 función.
  • Se corrigió un error al intentar insertar una matriz con NULL elementos en el Values formato en una columna de tipo Array sin Nullable (si input_format_values_interpret_expressions = 1). #3487 #3503
  • Se corrigió el registro continuo de errores en DDLWorker si ZooKeeper no está disponible. 8f50c620
  • Se corrigió el tipo de retorno para quantile* funciones de Date y DateTime de argumentos. #3580
  • Se corrigió el WITH cláusula si especifica un alias simple sin expresiones. #3570
  • Se corrigió el procesamiento de consultas con subconsultas con nombre y nombres de columna calificados cuando enable_optimize_predicate_expression está habilitado. Invierno Zhang
  • Corregido el error Attempt to attach to nullptr thread group cuando se trabaja con vistas materializadas. Marek Vavruša
  • Se corrigió un bloqueo al pasar ciertos argumentos incorrectos a la arrayReverse función. 73e3a7b6
  • Se corrigió el desbordamiento del búfer en el extractURLParameter función. Rendimiento mejorado. Se agregó el procesamiento correcto de cadenas que contienen cero bytes. Método de codificación de datos:
  • Desbordamiento de búfer fijo en el lowerUTF8 y upperUTF8 función. Se eliminó la capacidad de ejecutar estas funciones sobre FixedString argumentos de tipo. #3662
  • Se corrigió una rara condición de carrera al eliminar MergeTree tabla. #3680
  • Se corrigió una condición de carrera al leer desde Buffer tablas y realizar simultáneamente ALTER o DROP en las tablas de destino. #3719
  • Se corrigió una segfault si el max_temporary_non_const_columns se excedió el límite. #3788

Mejora:

  • El servidor no escribe los archivos de configuración procesados /etc/clickhouse-server/ directorio. En su lugar, los guarda en el preprocessed_configs directorio dentro path. Esto significa que el /etc/clickhouse-server/ directorio no tiene acceso de escritura para el clickhouse usuario, lo que mejora la seguridad. #2443
  • El min_merge_bytes_to_use_direct_io La opción está establecida en 10 GiB de forma predeterminada. Una combinación que forma partes grandes de tablas de la familia MergeTree se realizará en O_DIRECT modo, que evita el desalojo excesivo de la caché de la página. #3504
  • Se inicia el servidor acelerado cuando hay un gran número de tablas. #3398
  • Se agregó un grupo de conexiones y HTTP Keep-Alive para conexiones entre réplicas. #3594
  • Si la sintaxis de la consulta no es válida, 400 Bad Request el código se devuelve en el HTTP interfaz (500 se devolvió anteriormente). 31bc680a
  • El join_default_strictness opción se establece en ALL por defecto para la compatibilidad. 120e2cbe
  • Se eliminó el registro a stderr de la re2 biblioteca para expresiones regulares no válidas o complejas. #3723
  • Añadido para el Kafka motor de tabla: comprueba si hay suscripciones antes de comenzar a leer de Kafka; la configuración kafka_max_block_size para la tabla. Marek Vavruša
  • El cityHash64, farmHash64, metroHash64, sipHash64, halfMD5, murmurHash2_32, murmurHash2_64, murmurHash3_32, y murmurHash3_64 funciones ahora funcionan para cualquier número de argumentos y para argumentos en forma de tuplas. #3451 #3519
  • El arrayReverse función ahora funciona con cualquier tipo de matrices. 73e3a7b6
  • Se ha añadido un parámetro opcional: el tamaño de la ranura timeSlots función. Kirill Shvakov
  • Para FULL y RIGHT JOIN, el max_block_size configuración se utiliza para un flujo de datos no unidos de la tabla de la derecha. Amos pájaro
  • Se agregó el --secure parámetro de línea de comandos en clickhouse-benchmark y clickhouse-performance-test para habilitar TLS. #3688 #3690
  • Conversión de tipo cuando la estructura de un Buffer type table no coincide con la estructura de la tabla de destino. Vitaly Baranov
  • Se agregó el tcp_keep_alive_timeout opción para habilitar los paquetes keep-alive después de la inactividad durante el intervalo de tiempo especificado. #3441
  • Eliminado cotización innecesaria de valores para la clave de partición en el system.parts tabla si consiste en una sola columna. #3652
  • La función de módulo funciona para Date y DateTime tipos de datos. #3385
  • Sinónimos añadidos para el POWER, LN, LCASE, UCASE, REPLACE, LOCATE, SUBSTR, y MID función. #3774 #3763 Algunos nombres de funciones no distinguen entre mayúsculas y minúsculas por su compatibilidad con el estándar SQL. Azúcar sintáctico añadido SUBSTRING(expr FROM start FOR length) por compatibilidad con SQL. #3804
  • Se agregó la capacidad de mlock páginas de memoria correspondientes a clickhouse-server código ejecutable para evitar que se vea obligado a salir de la memoria. Esta función está deshabilitada de forma predeterminada. #3553
  • Rendimiento mejorado al leer desde O_DIRECT (con el min_bytes_to_use_direct_io opción activada). #3405
  • Rendimiento mejorado del dictGet...OrDefault función para un argumento de clave constante y un argumento predeterminado no constante. Amos pájaro
  • El firstSignificantSubdomain función ahora procesa los dominios gov, mil, y edu. Igor Hatarist Rendimiento mejorado. #3628
  • Posibilidad de especificar variables de entorno personalizadas para iniciar clickhouse-server utilizando el SYS-V init.d secuencia de comandos definiendo CLICKHOUSE_PROGRAM_ENV en /etc/default/clickhouse. Pavlo Bashynskyi
  • Corrija el código de retorno para el script init de clickhouse-server. #3516
  • El system.metrics ahora tiene el VersionInteger métrica, y system.build_options tiene la línea añadida VERSION_INTEGER, que contiene la forma numérica de la versión de ClickHouse, como 18016000. #3644
  • Eliminado la capacidad de comparar el Date escriba con un número para evitar posibles errores como date = 2018-12-17, donde las comillas alrededor de la fecha se omiten por error. #3687
  • Se corrigió el comportamiento de las funciones con estado como rowNumberInAllBlocks. Anteriormente generaron un resultado que era un número mayor debido al inicio durante el análisis de consultas. Amos pájaro
  • Si el force_restore_data no se puede eliminar, se muestra un mensaje de error. Amos pájaro

Mejoras de construcción:

  • Actualizado el jemalloc biblioteca, que corrige una posible pérdida de memoria. Amos pájaro
  • Perfilado con jemalloc está habilitado de forma predeterminada para depurar compilaciones. 2cc82f5c
  • Se agregó la capacidad de ejecutar pruebas de integración cuando solo Docker está instalado en el sistema. #3650
  • Se agregó la prueba de expresión fuzz en consultas SELECT. #3442
  • Se agregó una prueba de esfuerzo para confirmaciones, que realiza pruebas funcionales en paralelo y en orden aleatorio para detectar más condiciones de carrera. #3438
  • Se mejoró el método para iniciar clickhouse-server en una imagen de Docker. Método de codificación de datos:
  • Para una imagen de Docker, se agregó soporte para inicializar bases de datos utilizando /docker-entrypoint-initdb.d directorio. Konstantin Lebedev
  • Correcciones para construye en ARM. #3709

Cambios incompatibles hacia atrás:

  • Eliminado la capacidad de comparar el Date escriba con un número. En lugar de toDate('2018-12-18') = 17883, debe usar la conversión de tipo explícita = toDate(17883) #3687

Lanzamiento de ClickHouse 18.14

Lanzamiento de ClickHouse 18.14.19, 2018-12-19

Corrección de errores:

  • Se corrigió un error que provocaba problemas con la actualización de diccionarios con el origen ODBC. #3825, #3829
  • Las bases de datos se especifican correctamente al ejecutar DDL ON CLUSTER consulta. #3460
  • Se corrigió una segfault si el max_temporary_non_const_columns se excedió el límite. #3788

Mejoras de construcción:

  • Correcciones para construye en ARM.

Lanzamiento de ClickHouse 18.14.18, 2018-12-04

Corrección de errores:

  • Corregido el error en dictGet... función para diccionarios de tipo range, si uno de los argumentos es constante y otro no lo es. #3751
  • Se corrigió el error que causaba mensajes netlink: '...': attribute type 1 has an invalid length para imprimirse en el registro del kernel de Linux, eso estaba sucediendo solo en versiones suficientemente frescas del kernel de Linux. #3749
  • Segfault fijo en la función empty para argumento de FixedString tipo. Método de codificación de datos:
  • Se corrigió la asignación excesiva de memoria al usar un gran valor de max_query_size configuración (un fragmento de memoria de max_query_size bytes fue preasignado a la vez). #3720

Crear cambios:

  • Compilación fija con las bibliotecas LLVM / Clang de la versión 7 de los paquetes del sistema operativo (estas bibliotecas se utilizan para la compilación de consultas en tiempo de ejecución). #3582

Lanzamiento de ClickHouse 18.14.17, 2018-11-30

Corrección de errores:

  • Se corrigieron casos en los que el proceso de puente ODBC no terminaba con el proceso del servidor principal. #3642
  • Inserción síncrona fija en el Distributed tabla con una lista de columnas que difiere de la lista de columnas de la tabla remota. #3673
  • Se corrigió una rara condición de carrera que podía provocar un bloqueo al soltar una tabla MergeTree. #3643
  • Se corrigió un punto muerto de consulta en caso de que la creación del hilo de consulta fallara con el Resource temporarily unavailable error. #3643
  • Análisis fijo del ENGINE cláusula cuando el CREATE AS table se utilizó la sintaxis y el ENGINE cláusula se especificó antes de la AS table (el error resultó en ignorar el motor especificado). #3692

Lanzamiento de ClickHouse 18.14.15, 2018-11-21

Corrección de errores:

  • El tamaño del fragmento de memoria se sobreestimó al deserializar la columna de tipo Array(String) que conduce a “Memory limit exceeded” error. El problema apareció en la versión 18.12.13. #3589

Lanzamiento de ClickHouse 18.14.14, 2018-11-20

Corrección de errores:

  • Fijo ON CLUSTER consultas cuando el clúster está configurado como seguro (indicador <secure>). #3599

Crear cambios:

  • Problemas solucionados (llvm-7 del sistema, macos) #3582

Lanzamiento de ClickHouse 18.14.13, 2018-11-08

Corrección de errores:

  • Se corrigió el Block structure mismatch in MergingSorted stream error. #3162
  • Fijo ON CLUSTER consultas en caso de que se hayan activado las conexiones seguras en la configuración del clúster (el <secure> bandera). #3465
  • Se corrigió un error en las consultas que utilizaban SAMPLE, PREWHERE y columnas de alias. #3543
  • Se corrigió un raro unknown compression method error cuando el min_bytes_to_use_direct_io se habilitó la configuración. 3544

Mejoras de rendimiento:

  • Regresión de rendimiento fija de consultas con GROUP BY de columnas de tipo UInt16 o Date cuando se ejecuta en procesadores AMD EPYC. Igor Lapko
  • Regresión de rendimiento fija de las consultas que procesan cadenas largas. #3530

Mejoras de construcción:

  • Mejoras para simplificar la compilación de Arcadia. #3475, #3535

Lanzamiento de ClickHouse 18.14.12, 2018-11-02

Corrección de errores:

  • Se corrigió un bloqueo al unir dos subconsultas sin nombre. #3505
  • Se corrigió la generación de consultas incorrectas (con un vacío WHERE cláusula) al consultar bases de datos externas. hotid
  • Se corrigió usando un valor de tiempo de espera incorrecto en los diccionarios ODBC. Marek Vavruša

Lanzamiento de ClickHouse 18.14.11, 2018-10-29

Corrección de errores:

  • Corregido el error Block structure mismatch in UNION stream: different number of columns en consultas LIMIT. #2156
  • Se corrigieron errores al fusionar datos en tablas que contienen matrices dentro de estructuras anidadas. #3397
  • Se corrigieron los resultados de la consulta incorrecta si el merge_tree_uniform_read_distribution la configuración está deshabilitada (está habilitada por defecto). #3429
  • Se corrigió un error en las inserciones en una tabla distribuida en formato nativo. #3411

Lanzamiento de ClickHouse 18.14.10, 2018-10-23

  • El compile_expressions configuración (compilación JIT de expresiones) está deshabilitada de forma predeterminada. #3410
  • El enable_optimize_predicate_expression configuración está deshabilitada de forma predeterminada.

Lanzamiento de ClickHouse 18.14.9, 2018-10-16

Novedad:

  • El WITH CUBE modificador para GROUP BY (la sintaxis alternativa GROUP BY CUBE(...) también está disponible). #3172
  • Se agregó el formatDateTime función. Alexandr Krasheninnikov
  • Se agregó el JDBC motor de mesa y jdbc función de tabla (requiere la instalación de clickhouse-jdbc-bridge). Alexandr Krasheninnikov
  • Funciones añadidas para trabajar con el número de semana ISO: toISOWeek, toISOYear, toStartOfISOYear, y toDayOfYear. #3146
  • Ahora puedes usar Nullable de columnas para MySQL y ODBC tabla. #3362
  • Las estructuras de datos anidadas se pueden leer como objetos anidados en JSONEachRow formato. Se agregó el input_format_import_nested_json configuración. Veloman Yunkan
  • El procesamiento paralelo está disponible para muchos MATERIALIZED VIEWs al insertar datos. Ver el parallel_view_processing configuración. Marek Vavruša
  • Se agregó el SYSTEM FLUSH LOGS consulta (vacíos de registro forzados a tablas del sistema como query_log) #3321
  • Ahora puedes usar predefinidos database y table macros al declarar Replicated tabla. #3251
  • Se agregó la capacidad de leer Decimal valores de tipo en notación de ingeniería (indicando potencias de diez). #3153

Experimental características:

  • Optimización de la cláusula GROUP BY para LowCardinality data types. #3138
  • Cálculo optimizado de expresiones para LowCardinality data types. #3200

Mejora:

  • Consumo de memoria significativamente reducido para consultas con ORDER BY y LIMIT. Ver el max_bytes_before_remerge_sort configuración. #3205
  • En ausencia de JOIN (LEFT, INNER, …), INNER JOIN se supone. #3147
  • Los asteriscos calificados funcionan correctamente en consultas con JOIN. Invierno Zhang
  • El ODBC El motor de tabla elige correctamente el método para citar identificadores en el dialecto SQL de una base de datos remota. Alexandr Krasheninnikov
  • El compile_expressions configuración (compilación JIT de expresiones) está habilitada de forma predeterminada.
  • Comportamiento fijo para DROP DATABASE / TABLA SI EXISTE simultáneamente y CREATE DATABASE / TABLA SI NO EXISTE. Anteriormente, un CREATE DATABASE ... IF NOT EXISTS consulta podría devolver el mensaje de error “File … already exists” y el CREATE TABLE ... IF NOT EXISTS y DROP TABLE IF EXISTS las consultas podrían volver Table ... is creating or attaching right now. #3101
  • Las expresiones LIKE e IN con una mitad derecha constante se pasan al servidor remoto al realizar consultas desde tablas MySQL u ODBC. #3182
  • Las comparaciones con expresiones constantes en una cláusula WHERE se pasan al servidor remoto al realizar consultas desde tablas MySQL y ODBC. Anteriormente, solo se pasaban las comparaciones con constantes. #3182
  • Cálculo correcto del ancho de fila en el terminal para Pretty formatos, incluyendo cadenas con jeroglíficos. Amos pájaro.
  • ON CLUSTER se puede especificar para ALTER UPDATE consulta.
  • Rendimiento mejorado para leer datos en JSONEachRow formato. #3332
  • Sinónimos añadidos para el LENGTH y CHARACTER_LENGTH funciones de compatibilidad. El CONCAT la función ya no distingue entre mayúsculas y minúsculas. #3306
  • Se agregó el TIMESTAMP sinónimo de la DateTime tipo. #3390
  • Siempre hay espacio reservado para query_id en los registros del servidor, incluso si la línea de registro no está relacionada con una consulta. Esto hace que sea más fácil analizar los registros de texto del servidor con herramientas de terceros.
  • El consumo de memoria de una consulta se registra cuando supera el siguiente nivel de un número entero de gigabytes. #3205
  • Se agregó el modo de compatibilidad para el caso cuando la biblioteca cliente que usa el protocolo nativo envía menos columnas por error de lo que el servidor espera para la consulta INSERT. Este escenario fue posible cuando se utiliza la biblioteca clickhouse-cpp. Anteriormente, este escenario hacía que el servidor se bloqueara. #3171
  • En una expresión WHERE definida por el usuario en clickhouse-copier, ahora puede usar un partition_key alias (para filtrado adicional por partición de tabla de origen). Esto es útil si el esquema de partición cambia durante la copia, pero solo cambia ligeramente. #3166
  • El flujo de trabajo del Kafka el motor se ha movido a un grupo de subprocesos en segundo plano para reducir automáticamente la velocidad de lectura de datos a altas cargas. Marek Vavruša.
  • Soporte para lectura Tuple y Nested de estructuras como struct en el Cap'n'Proto format. Marek Vavruša
  • La lista de dominios de nivel superior firstSignificantSubdomain función ahora incluye el dominio biz. disminución
  • En la configuración de diccionarios externos, null_value se interpreta como el valor del tipo de datos predeterminado. #3330
  • Soporte para el intDiv y intDivOrZero funciones para Decimal. b48402e8
  • Soporte para el Date, DateTime, UUID, y Decimal tipos como una clave para el sumMap función de agregado. #3281
  • Soporte para el Decimal tipo de datos en diccionarios externos. #3324
  • Soporte para el Decimal tipo de datos en SummingMergeTree tabla. #3348
  • Añadido especializaciones para UUID en if. #3366
  • Reducido el número de open y close llamadas al sistema al leer desde un MergeTree table. #3283
  • A TRUNCATE TABLE consulta se puede ejecutar en cualquier réplica (la consulta se pasa a la réplica líder). Kirill Shvakov

Corrección de errores:

  • Se corrigió un problema con Dictionary tablas para range_hashed diccionario. Este error se produjo en la versión 18.12.17. #1702
  • Se corrigió un error al cargar range_hashed diccionarios (el mensaje Unsupported type Nullable (...)). Este error se produjo en la versión 18.12.17. #3362
  • Se corrigieron errores en el pointInPolygon función debido a la acumulación de cálculos inexactos para polígonos con un gran número de vértices ubicados cerca uno del otro. #3331 #3341
  • Si después de fusionar partes de datos, la suma de comprobación de la parte resultante difiere del resultado de la misma fusión en otra réplica, el resultado de la fusión se elimina y la parte de datos se descarga de la otra réplica (este es el comportamiento correcto). Pero después de descargar la parte de datos, no se pudo agregar al conjunto de trabajo debido a un error de que la parte ya existe (porque la parte de datos se eliminó con cierto retraso después de la fusión). Esto llevó a intentos cíclicos de descargar los mismos datos. #3194
  • Se corrigió el cálculo incorrecto del consumo total de memoria por consultas (debido a un cálculo incorrecto, el max_memory_usage_for_all_queries la configuración funcionó incorrectamente y el MemoryTracking métrica tenía un valor incorrecto). Este error se produjo en la versión 18.12.13. Marek Vavruša
  • Se corrigió la funcionalidad de CREATE TABLE ... ON CLUSTER ... AS SELECT ... Este error se produjo en la versión 18.12.13. #3247
  • Se corrigió la preparación innecesaria de estructuras de datos para JOINs en el servidor que inicia la consulta si JOIN sólo se realiza en servidores remotos. #3340
  • Se corrigieron errores en el Kafka engine: interbloqueos después de las excepciones al comenzar a leer datos, y se bloquea al finalizar Marek Vavruša.
  • Para Kafka mesas, el opcional schema no se aprobó el parámetro (el esquema del Cap'n'Proto formato). Vojtech Splichal
  • Si el conjunto de servidores ZooKeeper tiene servidores que aceptan la conexión pero luego la cierran inmediatamente en lugar de responder al protocolo de enlace, ClickHouse elige conectar otro servidor. Anteriormente, esto produjo el error Cannot read all data. Bytes read: 0. Bytes expected: 4. y el servidor no pudo iniciarse. Nombre de la red inalámbrica (SSID):
  • Si el conjunto de servidores ZooKeeper contiene servidores para los que la consulta DNS devuelve un error, estos servidores se ignoran. 17b8e209
  • Conversión de tipo fijo entre Date y DateTime al insertar datos en el VALUES formato (si input_format_values_interpret_expressions = 1). Anteriormente, la conversión se realizaba entre el valor numérico del número de días en tiempo de Época Unix y la marca de tiempo Unix, lo que dio lugar a resultados inesperados. #3229
  • Conversión de tipo corregida entre Decimal y números enteros. #3211
  • Se corrigieron errores en el enable_optimize_predicate_expression configuración. Invierno Zhang
  • Se ha corregido un error de análisis en formato CSV con números de coma flotante si se utiliza un separador CSV no predeterminado, como por ejemplo ; #3155
  • Se corrigió el arrayCumSumNonNegative (no acumula valores negativos si el acumulador es menor que cero). Aleksey Studnev
  • Corregido cómo Merge las tablas funcionan encima de Distributed cuando se utiliza PREWHERE. #3165
  • Corrección de errores en el ALTER UPDATE consulta.
  • Se corrigieron errores en el odbc función de tabla que apareció en la versión 18.12. #3197
  • Se corrigió el funcionamiento de las funciones agregadas con StateArray combinadores. #3188
  • Se corrigió un bloqueo al dividir un Decimal valor por cero. Método de codificación de datos:
  • Salida fija de tipos para operaciones usando Decimal y argumentos enteros. #3224
  • Corregido el segfault durante GROUP BY en Decimal128. Método de codificación de datos:
  • El log_query_threads configuración (información de registro sobre cada subproceso de ejecución de la consulta) ahora sólo tiene efecto si log_queries opción (información de registro sobre consultas) se establece en 1. Desde el log_query_threads la opción está habilitada de forma predeterminada, la información sobre los subprocesos se registró previamente incluso si el registro de consultas estaba deshabilitado. #3241
  • Se corrigió un error en la operación distribuida de la función de agregado de cuantiles (el mensaje de error Not found column quantile...). Método de codificación de datos:
  • Se corrigió el problema de compatibilidad al trabajar en un clúster de servidores de la versión 18.12.17 y servidores anteriores al mismo tiempo. Para consultas distribuidas con claves GROUP BY de longitud fija y no fija, si había una gran cantidad de datos para agregar, los datos devueltos no siempre se agregaron completamente (dos filas diferentes contenían las mismas claves de agregación). #3254
  • Manejo fijo de sustituciones en clickhouse-performance-test, si la consulta contiene sólo una parte de las sustituciones declaradas en la prueba. #3263
  • Se corrigió un error al usar FINAL con PREWHERE. #3298
  • Se corrigió un error al usar PREWHERE sobre las columnas que se agregaron durante ALTER. #3298
  • Se agregó un cheque por la ausencia de arrayJoin para DEFAULT y MATERIALIZED expresiones. Previamente, arrayJoin llevado a un error al insertar datos. #3337
  • Se agregó un cheque por la ausencia de arrayJoin en una PREWHERE clausula. Anteriormente, esto llevó a mensajes como Size ... doesn't match o Unknown compression method al ejecutar consultas. #3357
  • Se corrigió el segfault que podía ocurrir en casos raros después de la optimización que reemplazaba las cadenas AND de las evaluaciones de igualdad con la expresión IN correspondiente. Bienvenido a WordPress.
  • Correcciones menores a clickhouse-benchmark: anteriormente, la información del cliente no se enviaba al servidor; ahora el número de consultas ejecutadas se calcula con mayor precisión al apagar y para limitar el número de iteraciones. #3351 #3352

Cambios incompatibles hacia atrás:

  • Eliminado el allow_experimental_decimal_type opcion. El Decimal tipo de datos está disponible para su uso predeterminado. #3329

Lanzamiento de ClickHouse 18.12

Lanzamiento de ClickHouse 18.12.17, 2018-09-16

Novedad:

  • invalidate_query (la capacidad de especificar una consulta para comprobar si es necesario actualizar un diccionario externo) clickhouse fuente. #3126
  • Se agregó la capacidad de usar UInt*, Int*, y DateTime tipos de datos (junto con el Date tipo) como un range_hashed clave de diccionario externa que define los límites de los rangos. Ahora NULL se puede utilizar para designar un rango abierto. Vasily Nemkov
  • El Decimal tipo ahora soporta var* y stddev* funciones agregadas. #3129
  • El Decimal tipo ahora soporta funciones matemáticas (exp, sin y así sucesivamente.) #3129
  • El system.part_log ahora tiene el partition_id columna. #3089

Corrección de errores:

  • Merge ahora funciona correctamente en Distributed tabla. Invierno Zhang
  • Incompatibilidad fija (dependencia innecesaria del glibc versión) que hizo imposible ejecutar ClickHouse en Ubuntu Precise y versiones anteriores. La incompatibilidad surgió en la versión 18.12.13. #3130
  • Se corrigieron errores en el enable_optimize_predicate_expression configuración. Invierno Zhang
  • Se corrigió un problema menor con compatibilidad con versiones anteriores que aparecía al trabajar con un clúster de réplicas en versiones anteriores a 18.12.13 y al mismo tiempo crear una nueva réplica de una tabla en un servidor con una versión más reciente (que se muestra en el mensaje Can not clone replica, because the ... updated to new ClickHouse version, lo cual es lógico, pero no debería suceder). #3122

Cambios incompatibles hacia atrás:

  • El enable_optimize_predicate_expression opción está habilitada por defecto (que es bastante optimista). Si se producen errores de análisis de consultas relacionados con la búsqueda de los nombres de columna, establezca enable_optimize_predicate_expression a 0. Invierno Zhang

Lanzamiento de ClickHouse 18.12.14, 2018-09-13

Novedad:

  • Añadido soporte para ALTER UPDATE consulta. #3035
  • Se agregó el allow_ddl opción, que restringe el acceso del usuario a consultas DDL. #3104
  • Se agregó el min_merge_bytes_to_use_direct_io opción para MergeTree los motores, que le permite establecer un umbral para el tamaño total de la fusión (cuando está por encima del umbral, los archivos de partes de datos se manejarán usando O_DIRECT). #3117
  • El system.merges tabla del sistema ahora contiene el partition_id columna. #3099

Mejora

  • Si una parte de datos permanece sin cambios durante la mutación, no se descarga mediante réplicas. #3103
  • Autocompletar está disponible para nombres de configuraciones cuando se trabaja con clickhouse-client. #3106

Corrección de errores:

  • Se agregó una verificación para los tamaños de las matrices que son elementos de Nested escriba campos al insertar. #3118
  • Se corrigió un error al actualizar los diccionarios externos con el ODBC fuente y hashed almacenamiento. Este error se produjo en la versión 18.12.13.
  • Se corrigió un bloqueo al crear una tabla temporal a partir de una consulta con un IN condición. Invierno Zhang
  • Se corrigió un error en las funciones agregadas para matrices que pueden tener NULL elemento. Invierno Zhang

Lanzamiento de ClickHouse 18.12.13, 2018-09-10

Novedad:

  • Se agregó el DECIMAL(digits, scale) tipo de datos (Decimal32(scale), Decimal64(scale), Decimal128(scale)). Para habilitarlo, use la configuración allow_experimental_decimal_type. #2846 #2970 #3008 #3047
  • Nuevo WITH ROLLUP modificador para GROUP BY (sintaxis alternativa: GROUP BY ROLLUP(...)). #2948
  • En consultas con JOIN, el carácter estrella se expande a una lista de columnas en todas las tablas, de acuerdo con el estándar SQL. Puede restaurar el comportamiento anterior configurando asterisk_left_columns_only a 1 en el nivel de configuración del usuario. Invierno Zhang
  • Se agregó soporte para JOIN con funciones de tabla. Invierno Zhang
  • Autocompletar presionando Tab en clickhouse-cliente. Sergey Shcherbin
  • Ctrl + C en clickhouse-client borra una consulta que se ingresó. #2877
  • Se agregó el join_default_strictness ajuste (valores: ", 'any', 'all'). Esto le permite no especificar ANY o ALL para JOIN. #2982
  • Cada línea del registro del servidor relacionada con el procesamiento de consultas muestra el ID de consulta. #2482
  • Ahora puede obtener registros de ejecución de consultas en clickhouse-client (use el send_logs_level configuración). Con el procesamiento de consultas distribuidas, los registros se conectan en cascada desde todos los servidores. #2482
  • El system.query_log y system.processes (SHOW PROCESSLIST) las tablas ahora tienen información sobre todas las configuraciones modificadas al ejecutar una consulta (la estructura anidada Settings datos). Se agregó el log_query_settings configuración. #2482
  • El system.query_log y system.processes las tablas ahora muestran información sobre el número de subprocesos que participan en la ejecución de la consulta (consulte thread_numbers columna). #2482
  • Añadir ProfileEvents contadores que miden el tiempo dedicado a leer y escribir a través de la red y a leer y escribir en el disco, el número de errores de red y el tiempo dedicado a esperar cuando el ancho de banda de la red es limitado. #2482
  • Añadir ProfileEventscontadores que contienen las métricas del sistema de rusage (puede usarlas para obtener información sobre el uso de CPU en el espacio de usuario y el kernel, errores de página y modificadores de contexto), así como métricas de taskstats (utilícelas para obtener información sobre el tiempo de espera de E / S, el tiempo de espera de CPU y la cantidad de datos leídos #2482
  • El ProfileEvents los contadores se aplican globalmente y para cada consulta, así como para cada subproceso de ejecución de consulta, lo que le permite perfilar el consumo de recursos por consulta en detalle. #2482
  • Se agregó el system.query_thread_log tabla, que contiene información sobre cada subproceso de ejecución de consultas. Se agregó el log_query_threads configuración. #2482
  • El system.metrics y system.events las tablas ahora tienen documentación incorporada. #3016
  • Se agregó el arrayEnumerateDense función. Amos pájaro
  • Se agregó el arrayCumSumNonNegative y arrayDifference función. Aleksey Studnev
  • Se agregó el retention función de agregado. Sundy Li
  • Ahora puede agregar (fusionar) estados de funciones agregadas utilizando el operador más y multiplicar los estados de funciones agregadas por una constante no negativa. #3062 #3034
  • Las tablas de la familia MergeTree ahora tienen la columna virtual _partition_id. #3089

Experimental características:

  • Se agregó el LowCardinality(T) tipo de datos. Este tipo de datos crea automáticamente un diccionario local de valores y permite el procesamiento de datos sin desempaquetar el diccionario. #2830
  • Se agregó un caché de funciones compiladas por JIT y un contador para el número de usos antes de compilar. Para compilar expresiones JIT, habilite la compile_expressions configuración. #2990 #3077

Mejora:

  • Se ha solucionado el problema con la acumulación ilimitada del registro de replicación cuando hay réplicas abandonadas. Se agregó un modo de recuperación efectivo para réplicas con un largo retraso.
  • Rendimiento mejorado de GROUP BY con múltiples campos de agregación cuando uno de ellos es cadena y los otros son de longitud fija.
  • Rendimiento mejorado al usar PREWHERE y con transferencia implícita de expresiones en PREWHERE.
  • Rendimiento de análisis mejorado para formatos de texto (CSV, TSV). Amos pájaro #2980
  • Mejora del rendimiento de las cadenas de lectura y matrices en formatos binarios. Amos pájaro
  • Mayor rendimiento y menor consumo de memoria para consultas a system.tables y system.columns cuando hay un gran número de tablas en un solo servidor. #2953
  • Se corrigió un problema de rendimiento en el caso de una gran secuencia de consultas que resultaban en un error (el _dl_addr la función es visible en perf top, pero el servidor no está usando mucha CPU). #2938
  • Las condiciones se lanzan a la vista (cuando enable_optimize_predicate_expression está habilitado). Invierno Zhang
  • Mejoras en la funcionalidad del UUID tipo de datos. #3074 #2985
  • El UUID tipo de datos es compatible con los diccionarios de The-Alchemist. #2822
  • El visitParamExtractRaw funciona correctamente con estructuras anidadas. Invierno Zhang
  • Cuando el input_format_skip_unknown_fields la configuración está habilitada, los campos de objeto JSONEachRow se omiten correctamente. BlahGeek
  • Para un CASE expresión con condiciones, ahora puede omitir ELSE, que es equivalente a ELSE NULL. #2920
  • El tiempo de espera de la operación ahora se puede configurar cuando se trabaja con ZooKeeper. urykhy
  • Puede especificar un desplazamiento para LIMIT n, m como LIMIT n OFFSET m. #2840
  • Puede usar el SELECT TOP n sintaxis como una alternativa para LIMIT. #2840
  • Aumentó el tamaño de la cola para escribir en las tablas del sistema, por lo que SystemLog parameter queue is full el error no ocurre tan a menudo.
  • El windowFunnel La función de agregado ahora admite eventos que cumplen múltiples condiciones. Amos pájaro
  • Las columnas duplicadas se pueden usar en un USING cláusula para JOIN. #3006
  • Pretty los formatos ahora tienen un límite en la alineación de columnas por ancho. Utilice el output_format_pretty_max_column_pad_width configuración. Si un valor es más amplio, aún se mostrará en su totalidad, pero las otras celdas de la tabla no serán demasiado anchas. #3003
  • El odbc función de tabla ahora le permite especificar el nombre de la base de datos / esquema. Amos pájaro
  • Se agregó la capacidad de usar un nombre de usuario especificado en el clickhouse-client archivo de configuración. Vladimir Kozbin
  • El ZooKeeperExceptions se ha dividido en tres contadores: ZooKeeperUserExceptions, ZooKeeperHardwareExceptions, y ZooKeeperOtherExceptions.
  • ALTER DELETE las consultas funcionan para vistas materializadas.
  • Se agregó aleatorización al ejecutar el hilo de limpieza periódicamente para ReplicatedMergeTree para evitar picos de carga periódicos cuando hay un gran número de ReplicatedMergeTree tabla.
  • Soporte para ATTACH TABLE ... ON CLUSTER consulta. #3025

Corrección de errores:

  • Se corrigió un problema con Dictionary tablas (lanza el Size of offsets doesn't match size of column o Unknown compression method salvedad). Este error apareció en la versión 18.10.3. #2913
  • Se ha corregido un error al fusionar CollapsingMergeTree tablas si una de las partes de datos está vacía (estas partes se forman durante la fusión o ALTER DELETE si se han eliminado todos los datos), y vertical se utilizó el algoritmo para la fusión. #3049
  • Se corrigió una condición de carrera durante DROP o TRUNCATE para Memory tablas con una simultánea SELECT, lo que podría conducir a bloqueos del servidor. Este error apareció en la versión 1.1.54388. #3038
  • Se corrigió la posibilidad de pérdida de datos al insertar en Replicated tablas si el Session is expired se devuelve un error (la pérdida de datos puede ser detectada por el ReplicatedDataLoss métrica). Este error se produjo en la versión 1.1.54378. #2939 #2949 #2964
  • Se corrigió una falla seg durante JOIN ... ON. #3000
  • Se corrigió el error de búsqueda de nombres de columna cuando el WHERE la expresión consiste completamente en un nombre de columna completo, como WHERE table.column. #2994
  • Se corrigió el “Not found column” error que se produjo al ejecutar consultas distribuidas si se solicita una sola columna que consta de una expresión IN con una subconsulta desde un servidor remoto. #3087
  • Se corrigió el Block structure mismatch in UNION stream: different number of columns error que se produjo para las consultas distribuidas si uno de los fragmentos es local y el otro no, y la optimización del movimiento a PREWHERE se activa. #2226 #3037 #3055 #3065 #3073 #3090 #3093
  • Se corrigió el pointInPolygon función para ciertos casos de polígonos no convexos. #2910
  • Se corrigió el resultado incorrecto al comparar nan con enteros. #3024
  • Se corrigió un error en el zlib-ng biblioteca que podría conducir a segfault en casos raros. #2854
  • Se corrigió una pérdida de memoria al insertar en una tabla con AggregateFunction columnas, si el estado de la función agregada no es simple (asigna memoria por separado), y si una sola solicitud de inserción da como resultado múltiples bloques pequeños. #3084
  • Se corrigió una condición de carrera al crear y eliminar la misma Buffer o MergeTree mesa simultáneamente.
  • Se corrigió la posibilidad de una segfault al comparar tuplas formadas por ciertos tipos no triviales, como tuplas. #2989
  • Se corrigió la posibilidad de un segfault al ejecutar ciertos ON CLUSTER consulta. Invierno Zhang
  • Se corrigió un error en el arrayDistinct función para Nullable elementos de matriz. #2845 #2937
  • El enable_optimize_predicate_expression opción ahora soporta correctamente casos con SELECT *. Invierno Zhang
  • Se corrigió el segfault al reinicializar la sesión de ZooKeeper. #2917
  • Se corrigió el bloqueo de potencial cuando se trabajaba con ZooKeeper.
  • Se corrigió el código incorrecto para agregar estructuras de datos anidadas en un SummingMergeTree.
  • Al asignar memoria para estados de funciones agregadas, la alineación se tiene en cuenta correctamente, lo que permite utilizar operaciones que requieren alineación al implementar estados de funciones agregadas. Más información

Solución de seguridad:

  • Uso seguro de las fuentes de datos ODBC. La interacción con los controladores ODBC utiliza un clickhouse-odbc-bridge proceso. Los errores en los controladores ODBC de terceros ya no causan problemas con la estabilidad del servidor o vulnerabilidades. #2828 #2879 #2886 #2893 #2921
  • Se corrigió la validación incorrecta de la ruta del archivo en el catBoostPool función de la tabla. #2894
  • El contenido de las tablas del sistema (tables, databases, parts, columns, parts_columns, merges, mutations, replicas, y replication_queue) se filtran de acuerdo con el acceso configurado por el usuario a las bases de datos (allow_databases). Invierno Zhang

Cambios incompatibles hacia atrás:

  • En consultas con JOIN, el carácter estrella se expande a una lista de columnas en todas las tablas, de acuerdo con el estándar SQL. Puede restaurar el comportamiento anterior configurando asterisk_left_columns_only a 1 en el nivel de configuración del usuario.

Crear cambios:

  • La mayoría de las pruebas de integración ahora se pueden ejecutar mediante confirmación.
  • Las comprobaciones de estilo de código también se pueden ejecutar mediante confirmación.
  • El memcpy la implementación se elige correctamente cuando se construye en CentOS7 / Fedora. Etienne Champetier
  • Al usar clang para compilar, algunas advertencias de -Weverything se han añadido, además de la -Wall-Wextra -Werror. #2957
  • La depuración de la compilación utiliza el jemalloc opción de depuración.
  • La interfaz de la biblioteca para interactuar con ZooKeeper se declara abstracta. #2950

Lanzamiento de ClickHouse 18.10

Lanzamiento de ClickHouse 18.10.3, 2018-08-13

Novedad:

  • HTTPS se puede utilizar para la replicación. #2760
  • Se agregaron las funciones murmurHash2_64, murmurHash3_32, murmurHash3_64, y murmurHash3_128 además de la existente murmurHash2_32. #2791
  • Compatibilidad con tipos Nullable en el controlador ODBC de ClickHouse (ODBCDriver2 formato de salida). #2834
  • Soporte para UUID en las columnas clave.

Mejora:

  • Los clústeres se pueden quitar sin reiniciar el servidor cuando se eliminan de los archivos de configuración. #2777
  • Los diccionarios externos se pueden quitar sin reiniciar el servidor cuando se eliminan de los archivos de configuración. #2779
  • Añadir SETTINGS soporte para el Kafka motor de mesa. Alejandro Marshalov
  • Mejoras para el UUID tipo de datos (aún no completo). #2618
  • Soporte para piezas vacías después de fusiones en el SummingMergeTree, CollapsingMergeTree y VersionedCollapsingMergeTree motor. #2815
  • Se eliminan los registros antiguos de mutaciones completadas (ALTER DELETE). #2784
  • Se agregó el system.merge_tree_settings tabla. Kirill Shvakov
  • El system.tables la tabla ahora tiene columnas de dependencia: dependencies_database y dependencies_table. Invierno Zhang
  • Se agregó el max_partition_size_to_drop opción de configuración. #2782
  • Se agregó el output_format_json_escape_forward_slashes opcion. Alejandro Bocharov
  • Se agregó el max_fetch_partition_retries_count configuración. #2831
  • Se agregó el prefer_localhost_replica configuración para deshabilitar la preferencia de una réplica local e ir a una réplica local sin interacción entre procesos. #2832
  • El quantileExact devoluciones de la función agregada nan en el caso de la agregación en un vacío Float32 o Float64 establecer. Sundy Li

Corrección de errores:

  • Se eliminó el escape innecesario de los parámetros de cadena de conexión para ODBC, lo que hizo imposible establecer una conexión. Este error se produjo en la versión 18.6.0.
  • Se corrigió la lógica para el procesamiento REPLACE PARTITION comandos en la cola de replicación. Si hay dos REPLACE comandos para la misma partición, la lógica incorrecta podría hacer que uno de ellos permanezca en la cola de replicación y no se ejecute. #2814
  • Se corrigió un error de fusión cuando todas las partes de datos estaban vacías (partes que se formaron a partir de una fusión o de ALTER DELETE si se han eliminado todos los datos). Este error apareció en la versión 18.1.0. #2930
  • Se corrigió un error para concurrente Set o Join. Amos pájaro
  • Se corrigió el Block structure mismatch in UNION stream: different number of columns error que ocurrió para UNION ALL consultas dentro de una subconsulta si una de las SELECT queries contiene nombres de columna duplicados. Invierno Zhang
  • Se corrigió una pérdida de memoria si se producía una excepción al conectarse a un servidor MySQL.
  • Se corrigió el código de respuesta incorrecto de clickhouse-cliente en caso de un error de consulta.
  • Se corrigió el comportamiento incorrecto de las vistas materializadas que contenían DISTINCT. #2795

Cambios incompatibles hacia atrás

  • Se ha eliminado el soporte para consultas CHECK TABLE para tablas distribuidas.

Crear cambios:

  • El asignador ha sido reemplazado: jemalloc ahora se utiliza en lugar de tcmalloc. En algunos escenarios, esto aumenta la velocidad hasta un 20%. Sin embargo, hay consultas que se han ralentizado hasta en un 20%. El consumo de memoria se ha reducido en aproximadamente un 10% en algunos escenarios, con una estabilidad mejorada. Con cargas altamente competitivas, el uso de CPU en el espacio de usuario y en el sistema muestra solo un ligero aumento. #2773
  • Uso de libressl desde un submódulo. #1983 #2807
  • Uso de unixodbc desde un submódulo. #2789
  • Uso de mariadb-connector-c desde un submódulo. #2785
  • Se agregaron archivos de prueba funcionales al repositorio que dependen de la disponibilidad de los datos de prueba (por el momento, sin los datos de prueba en sí).

Lanzamiento de ClickHouse 18.6

Lanzamiento de ClickHouse 18.6.0, 2018-08-02

Novedad:

  • Se agregó soporte para expresiones ON para la sintaxis JOIN ON: JOIN ON Expr([table.]column ...) = Expr([table.]column, ...) [AND Expr([table.]column, ...) = Expr([table.]column, ...) ...] La expresión debe ser una cadena de igualdad unida por el operador AND. Cada lado de la igualdad puede ser una expresión arbitraria sobre las columnas de una de las tablas. Se admite el uso de nombres de columna completos (table.name, database.table.name, table_alias.name, subquery_alias.name) para la tabla correcta. #2742
  • HTTPS se puede habilitar para la replicación. #2760

Mejora:

  • El servidor pasa el componente de parche de su versión al cliente. Los datos sobre el componente de la versión del parche se encuentran en system.processes y query_log. #2646

Lanzamiento de ClickHouse 18.5

Lanzamiento de ClickHouse 18.5.1, 2018-07-31

Novedad:

  • Se agregó la función hash murmurHash2_32 #2756.

Mejora:

  • Ahora puedes usar el from_env #2741 atributo para establecer valores en archivos de configuración a partir de variables de entorno.
  • Se agregaron versiones que no distinguen entre mayúsculas y minúsculas del coalesce, ifNull, y nullIf functions #2752.

Corrección de errores:

  • Se corrigió un posible error al iniciar una réplica #2759.

Lanzamiento de ClickHouse 18.4

Lanzamiento de ClickHouse 18.4.0, 2018-07-28

Novedad:

  • Tablas de sistema añadidas: formats, data_type_families, aggregate_function_combinators, table_functions, table_engines, collations #2721.
  • Se agregó la capacidad de usar una función de tabla en lugar de una tabla como argumento de un remote o cluster table function #2708.
  • Soporte para HTTP Basic autenticación en el protocolo de replicación #2727.
  • El has función ahora permite buscar un valor numérico en una matriz de Enum valor Maxim Khrisanfov.
  • Soporte para agregar separadores de mensajes arbitrarios al leer desde Kafka Amos pájaro.

Mejora:

  • El ALTER TABLE t DELETE WHERE La consulta no reescribe partes de datos que no se vieron afectadas por la condición WHERE #2694.
  • El use_minimalistic_checksums_in_zookeeper opción para ReplicatedMergeTree tables está habilitada de forma predeterminada. Esta configuración se agregó en la versión 1.1.54378, 16-04-2018. Las versiones que son anteriores a 1.1.54378 ya no se pueden instalar.
  • Soporte para correr KILL y OPTIMIZE consultas que especifican ON CLUSTER Invierno Zhang.

Corrección de errores:

  • Corregido el error Column ... is not under an aggregate function and not in GROUP BY para la agregación con una expresión IN. Este error apareció en la versión 18.1.0. (bbdd780b)
  • Se ha corregido un error en el windowFunnel aggregate function Invierno Zhang.
  • Se ha corregido un error en el anyHeavy función agregada (a2101df2)
  • Se corrigió el bloqueo del servidor al usar el countArray() función de agregado.

Cambios incompatibles hacia atrás:

  • Parámetros para Kafka el motor fue cambiado de Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_schema, kafka_num_consumers]) a Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_row_delimiter, kafka_schema, kafka_num_consumers]). Si sus tablas usan kafka_schema o kafka_num_consumers parámetros, debe editar manualmente los archivos de metadatos path/metadata/database/table.sql y añadir kafka_row_delimiter parámetro con '' valor.

Lanzamiento de ClickHouse 18.1

Lanzamiento de ClickHouse 18.1.0, 2018-07-23

Novedad:

  • Soporte para el ALTER TABLE t DELETE WHERE consulta para tablas MergeTree no replicadas (#2634).
  • Soporte para tipos arbitrarios para el uniq* familia de funciones agregadas (#2010).
  • Soporte para tipos arbitrarios en operadores de comparación (#2026).
  • El users.xml archivo permite establecer una máscara de subred en el formato 10.0.0.1/255.255.255.0. Esto es necesario para usar máscaras para redes IPv6 con ceros en el medio (#2637).
  • Se agregó el arrayDistinct función (#2670).
  • El motor SummingMergeTree ahora puede funcionar con columnas de tipo AggregateFunction (Constantin S. Pan).

Mejora:

  • Se ha cambiado el esquema de numeración para las versiones de lanzamiento. Ahora la primera parte contiene el año de lanzamiento (A.D., zona horaria de Moscú, menos 2000), la segunda parte contiene el número de cambios importantes (aumentos para la mayoría de las versiones) y la tercera parte es la versión del parche. Las versiones siguen siendo compatibles con versiones anteriores, a menos que se indique lo contrario en el registro de cambios.
  • Conversiones más rápidas de números de coma flotante a una cadena (Amos pájaro).
  • Si se omitieron algunas filas durante una inserción debido a errores de análisis (esto es posible con el input_allow_errors_num y input_allow_errors_ratio configuración activada), el número de filas omitidas ahora se escribe en el registro del servidor (Leonardo Cecchi).

Corrección de errores:

  • Se corrigió el comando TRUNCATE para tablas temporales (Amos pájaro).
  • Se corrigió un punto muerto raro en la biblioteca de cliente ZooKeeper que se producía cuando había un error de red al leer la respuesta (c315200).
  • Se corrigió un error durante un CAST a Nullable tipos (#1322).
  • Se corrigió el resultado incorrecto de la maxIntersection() función cuando los límites de los intervalos coincidieron (Miguel Furmur).
  • Se corrigió la transformación incorrecta de la cadena de expresión OR en un argumento de función (Más información).
  • Se corrigió la degradación del rendimiento para las consultas que contenían IN (subquery) expresiones dentro de otra subconsulta (#2571).
  • Se corrigió la incompatibilidad entre servidores con diferentes versiones en consultas distribuidas CAST función que no está en letras mayúsculas (fe8c4d6).
  • Se agregaron citas faltantes de identificadores para consultas a un DBMS externo (#2635).

Cambios incompatibles hacia atrás:

  • La conversión de una cadena que contiene el número cero a DateTime no funciona. Ejemplo: SELECT toDateTime('0'). Esta es también la razón por la que DateTime DEFAULT '0' no funciona en tablas, así como <null_value>0</null_value> en los diccionarios. Solución: reemplazar 0 con 0000-00-00 00:00:00.

Lanzamiento de ClickHouse 1.1

Lanzamiento de ClickHouse 1.1.54394, 2018-07-12

Novedad:

  • Se agregó el histogram función agregada (Mikhail Surin).
  • Ahora OPTIMIZE TABLE ... FINAL se puede utilizar sin especificar particiones para ReplicatedMergeTree (Amos pájaro).

Corrección de errores:

  • Se corrigió un problema con un tiempo de espera muy pequeño para los sockets (un segundo) para leer y escribir al enviar y descargar datos replicados, lo que hacía imposible descargar partes más grandes si hay una carga en la red o el disco (resultó en intentos cíclicos para descargar partes). Este error se produjo en la versión 1.1.54388.
  • Se corrigieron problemas al usar chroot en ZooKeeper si insertaba bloques de datos duplicados en la tabla.
  • El has la función ahora funciona correctamente para una matriz con elementos Nullable (#2115).
  • El system.tables la tabla ahora funciona correctamente cuando se usa en consultas distribuidas. El metadata_modification_time y engine_full Las columnas ahora no son virtuales. Se corrigió un error que se producía si solo se consultaban estas columnas desde la tabla.
  • Se corrigió cómo un vacío TinyLog la tabla funciona después de insertar un bloque de datos vacío (#2563).
  • El system.zookeeper table funciona si el valor del nodo en ZooKeeper es NULL.

Lanzamiento de ClickHouse 1.1.54390, 2018-07-06

Novedad:

  • Las consultas se pueden enviar en multipart/form-data formato (en el query campo), que es útil si también se envían datos externos para el procesamiento de consultas (Olga Hvostikova).
  • Se agregó la capacidad de habilitar o deshabilitar el procesamiento de comillas simples o dobles al leer datos en formato CSV. Puede configurar esto en el format_csv_allow_single_quotes y format_csv_allow_double_quotes configuración (Amos pájaro).
  • Ahora OPTIMIZE TABLE ... FINAL se puede utilizar sin especificar la partición para variantes no replicadas de MergeTree (Amos pájaro).

Mejora:

  • Rendimiento mejorado, consumo de memoria reducido y seguimiento correcto del consumo de memoria con el uso del operador IN cuando se podría usar un índice de tabla (#2584).
  • Se eliminó la comprobación redundante de las sumas de comprobación al agregar una parte de datos. Esto es importante cuando hay un gran número de réplicas, porque en estos casos el número total de comprobaciones fue igual a N^2.
  • Añadido soporte para Array(Tuple(...)) los argumentos para el arrayEnumerateUniq función (#2573).
  • Añadir Nullable soporte para el runningDifference función (#2594).
  • Mejora del rendimiento del análisis de consultas cuando hay un gran número de expresiones (#2572).
  • Selección más rápida de partes de datos para la fusión en ReplicatedMergeTree tabla. Recuperación más rápida de la sesión ZooKeeper (#2597).
  • El format_version.txt archivo para MergeTree tables se vuelve a crear si falta, lo que tiene sentido si ClickHouse se inicia después de copiar la estructura de directorios sin archivos (Películas De Sexo).

Corrección de errores:

  • Se corrigió un error al trabajar con ZooKeeper que podría hacer imposible recuperar la sesión y los estados de solo lectura de las tablas antes de reiniciar el servidor.
  • Se ha corregido un error al trabajar con ZooKeeper que podría hacer que los nodos antiguos no se eliminen si se interrumpe la sesión.
  • Se corrigió un error en el quantileTDigest función para argumentos Float (este error se introdujo en la versión 1.1.54388) (Mikhail Surin).
  • Se corrigió un error en el índice de las tablas MergeTree si la columna de clave principal se encuentra dentro de la función para convertir tipos entre enteros con signo y sin signo del mismo tamaño (#2603).
  • Segfault fijo si macros se usan pero no están en el archivo de configuración (#2570).
  • Se corrigió el cambio a la base de datos predeterminada al volver a conectar el cliente (#2583).
  • Se corrigió un error que ocurría cuando el use_index_for_in_with_subqueries la configuración estaba deshabilitada.

Solución de seguridad:

  • El envío de archivos ya no es posible cuando se conecta a MySQL (LOAD DATA LOCAL INFILE).

Lanzamiento de ClickHouse 1.1.54388, 2018-06-28

Novedad:

  • Soporte para el ALTER TABLE t DELETE WHERE consulta para tablas replicadas. Se agregó el system.mutations para realizar un seguimiento del progreso de este tipo de consultas.
  • Soporte para el ALTER TABLE t [REPLACE|ATTACH] PARTITION consulta para tablas *MergeTree.
  • Soporte para el TRUNCATE TABLE consulta (Invierno Zhang)
  • Varios nuevos SYSTEM consultas para tablas replicadas (RESTART REPLICAS, SYNC REPLICA, [STOP|START] [MERGES|FETCHES|SENDS REPLICATED|REPLICATION QUEUES]).
  • Se agregó la capacidad de escribir en una tabla con el motor MySQL y la función de tabla correspondiente (sundy-li).
  • Se agregó el url() función de la tabla y el URL motor de mesa (Alejandro Sapin).
  • Se agregó el windowFunnel función agregada (sundy-li).
  • Nuevo startsWith y endsWith funciones para cadenas (Vadim Plakhtinsky).
  • El numbers() función de tabla ahora le permite especificar el desplazamiento (Invierno Zhang).
  • La contraseña para clickhouse-client se puede introducir de forma interactiva.
  • Los registros del servidor ahora se pueden enviar a syslog (Alejandro Krasheninnikov).
  • Compatibilidad con el inicio de sesión en diccionarios con una fuente de biblioteca compartida (Alejandro Sapin).
  • Soporte para delimitadores CSV personalizados (Ivan Zhukov)
  • Se agregó el date_time_input_format configuración. Si cambia esta configuración a 'best_effort', DateTime valores se leerán en una amplia gama de formatos.
  • Se agregó el clickhouse-obfuscator utilidad para la ofuscación de datos. Ejemplo de uso: publicación de datos utilizados en pruebas de rendimiento.

Experimental características:

  • Se agregó la capacidad de calcular and solo donde se necesitan (Anastasia Tsarkova)
  • La compilación JIT a código nativo ya está disponible para algunas expresiones (pyos).

Corrección de errores:

  • Los duplicados ya no aparecen para una consulta con DISTINCT y ORDER BY.
  • Consultas con ARRAY JOIN y arrayFilter ya no devuelve un resultado incorrecto.
  • Se corrigió un error al leer una columna de matriz desde una estructura anidada (#2066).
  • Se corrigió un error al analizar consultas con una cláusula HAVING como HAVING tuple IN (...).
  • Se ha corregido un error al analizar consultas con alias recursivos.
  • Se corrigió un error al leer desde ReplacingMergeTree con una condición en PREWHERE que filtra todas las filas (#2525).
  • La configuración del perfil de usuario no se aplicó al usar sesiones en la interfaz HTTP.
  • Se corrigió cómo se aplican los ajustes desde los parámetros de línea de comandos en clickhouse-local.
  • La biblioteca de cliente ZooKeeper ahora usa el tiempo de espera de sesión recibido del servidor.
  • Se ha corregido un error en la biblioteca de cliente ZooKeeper cuando el cliente esperaba la respuesta del servidor más tiempo que el tiempo de espera.
  • Poda fija de piezas para consultas con condiciones en columnas de clave de partición (#2342).
  • Las fusiones ahora son posibles después CLEAR COLUMN IN PARTITION (#2315).
  • Se ha corregido la asignación de tipos en la función de tabla ODBC (sundy-li).
  • Las comparaciones de tipos se han fijado para DateTime con y sin la zona horaria (Alejandro Bocharov).
  • Análisis sintáctico fijo y formato del CAST operador.
  • Inserción fija en una vista materializada para el motor de tabla distribuida (Babacar Diassé).
  • Se corrigió una condición de carrera al escribir datos desde el Kafka motor a vistas materializadas (Información adicional).
  • SSRF fijo en la función de tabla remota ().
  • Comportamiento de salida fijo de clickhouse-client en modo multilínea (#2510).

Mejora:

  • Las tareas en segundo plano de las tablas replicadas ahora se realizan en un grupo de subprocesos en lugar de en subprocesos separados (Silviu Caragea).
  • Mejora del rendimiento de compresión LZ4.
  • Análisis más rápido para consultas con un gran número de JOIN y subconsultas.
  • La caché DNS ahora se actualiza automáticamente cuando hay demasiados errores de red.
  • Las inserciones de tabla ya no se producen si la inserción en una de las vistas materializadas no es posible porque tiene demasiadas partes.
  • Se ha corregido la discrepancia en los contadores de eventos Query, SelectQuery, y InsertQuery.
  • Expresiones como tuple IN (SELECT tuple) se permiten si los tipos de tupla coinciden.
  • Un servidor con tablas replicadas puede iniciarse incluso si no ha configurado ZooKeeper.
  • Al calcular el número de núcleos de CPU disponibles, ahora se tienen en cuenta los límites en cgroups (Más información).
  • Se agregó chown para los directorios de configuración en el archivo de configuración systemd (Mikhail Shiryaev).

Crear cambios:

  • El compilador gcc8 se puede usar para compilaciones.
  • Se agregó la capacidad de construir llvm desde el submódulo.
  • La versión de la biblioteca librdkafka se ha actualizado a v0.11.4.
  • Se agregó la capacidad de usar la biblioteca libcpuid del sistema. La versión de la biblioteca se ha actualizado a 0.4.0.
  • Se corrigió la compilación usando la biblioteca vectorclass (Babacar Diassé).
  • Cmake ahora genera archivos para ninja de forma predeterminada (como cuando se usa -G Ninja).
  • Se agregó la capacidad de usar la biblioteca libtinfo en lugar de libtermcap (Nuestros Servicios).
  • Se corrigió un conflicto de archivos de encabezado en Fedora Rawhide (#2520).

Cambios incompatibles hacia atrás:

  • Eliminado escapar en Vertical y Pretty* formatea y elimina el VerticalRaw formato.
  • Si los servidores con la versión 1.1.54388 (o posterior) y los servidores con una versión anterior se utilizan simultáneamente en una consulta distribuida y la consulta tiene cast(x, 'Type') expresión sin AS palabra clave y no tiene la palabra cast en mayúsculas, se lanzará una excepción con un mensaje como Not found column cast(0, 'UInt8') in block. Solución: actualice el servidor en todo el clúster.

Lanzamiento de ClickHouse 1.1.54385, 2018-06-01

Corrección de errores:

  • Se corrigió un error que en algunos casos causaba que las operaciones de ZooKeeper se bloquearan.

Lanzamiento de ClickHouse 1.1.54383, 2018-05-22

Corrección de errores:

  • Se corrigió una desaceleración de la cola de replicación si una tabla tiene muchas réplicas.

Lanzamiento de ClickHouse 1.1.54381, 2018-05-14

Corrección de errores:

  • Se corrigió una fuga de nodos en ZooKeeper cuando ClickHouse pierde la conexión con el servidor ZooKeeper.

Lanzamiento de ClickHouse 1.1.54380, 2018-04-21

Novedad:

  • Se agregó la función de tabla file(path, format, structure). Un ejemplo de lectura de bytes de /dev/urandom: ln -s /dev/urandom /var/lib/clickhouse/user_files/random``clickhouse-client -q "SELECT * FROM file('random', 'RowBinary', 'd UInt8') LIMIT 10".

Mejora:

  • Las subconsultas se pueden envolver en () para mejorar la legibilidad de las consultas. Por ejemplo: (SELECT 1) UNION ALL (SELECT 1).
  • Simple SELECT consultas de la system.processes no están incluidos en el max_concurrent_queries limite.

Corrección de errores:

  • Corregido el comportamiento incorrecto del IN operador cuando seleccione de MATERIALIZED VIEW.
  • Se corrigió el filtrado incorrecto por índice de partición en expresiones como partition_key_column IN (...).
  • Se corrigió la imposibilidad de ejecutar OPTIMIZE consulta sobre réplica no líder si REANAME se realizó sobre la mesa.
  • Se corrigió el error de autorización al ejecutar OPTIMIZE o ALTER consultas en una réplica que no sea de líder.
  • Congelación fija de KILL QUERY.
  • Se corrigió un error en la biblioteca de cliente ZooKeeper que provocaba la pérdida de observaciones, la congelación de la cola DDL distribuida y ralentizaciones en la cola de replicación si no estaba vacía chroot prefijo se utiliza en la configuración ZooKeeper.

Cambios incompatibles hacia atrás:

  • Se eliminó el soporte para expresiones como (a, b) IN (SELECT (a, b)) (puede usar la expresión equivalente (a, b) IN (SELECT a, b)). En versiones anteriores, estas expresiones conducían a WHERE filtrado o errores causados.

Lanzamiento de ClickHouse 1.1.54378, 2018-04-16

Novedad:

  • El nivel de registro se puede cambiar sin reiniciar el servidor.
  • Se agregó el SHOW CREATE DATABASE consulta.
  • El query_id se puede pasar a clickhouse-client (elBroom).
  • Nueva configuración: max_network_bandwidth_for_all_users.
  • Añadido soporte para ALTER TABLE ... PARTITION ... para MATERIALIZED VIEW.
  • Se agregó información sobre el tamaño de las partes de datos en forma sin comprimir en la tabla del sistema.
  • Soporte de cifrado de servidor a servidor para tablas distribuidas (<secure>1</secure> en la configuración de réplica en <remote_servers>).
  • Configuración del nivel de tabla para el ReplicatedMergeTree familia con el fin de minimizar la cantidad de datos almacenados en Zookeeper: : use_minimalistic_checksums_in_zookeeper = 1
  • Configuración del clickhouse-client pedir. De forma predeterminada, los nombres de servidor ahora se envían al mensaje. El nombre para mostrar del servidor se puede cambiar. También se envía en el X-ClickHouse-Display-Name Encabezado HTTP (Kirill Shvakov).
  • Múltiples separados por comas topics se puede especificar para el Kafka motor (Tobias Adamson)
  • Cuando una consulta es detenida por KILL QUERY o replace_running_query el cliente recibe el Query was canceled excepción en lugar de un resultado incompleto.

Mejora:

  • ALTER TABLE ... DROP/DETACH PARTITION las consultas se ejecutan en la parte frontal de la cola de replicación.
  • SELECT ... FINAL y OPTIMIZE ... FINAL se puede utilizar incluso cuando la tabla tiene una única parte de datos.
  • A query_log se recrea sobre la marcha si se eliminó manualmente (Kirill Shvakov).
  • El lengthUTF8 funciona más rápido (zhang2014).
  • Rendimiento mejorado de los insertos síncronos en Distributed tabla (insert_distributed_sync = 1) cuando hay una gran cantidad de fragmentos.
  • El servidor acepta el send_timeout y receive_timeout configuraciones del cliente y las aplica cuando se conecta al cliente (se aplican en orden inverso: el socket del servidor send_timeout se establece en el receive_timeout valor recibido del cliente, y viceversa).
  • Recuperación de bloqueos más robusta para la inserción asincrónica en Distributed tabla.
  • El tipo de devolución del countEqual función cambiada de UInt32 a UInt64 (谢磊).

Corrección de errores:

  • Se corrigió un error con IN cuando el lado izquierdo de la expresión es Nullable.
  • Ahora se devuelven los resultados correctos cuando se usan tuplas con IN cuando algunos de los componentes de la tupla están en el índice de la tabla.
  • El max_execution_time limit ahora funciona correctamente con consultas distribuidas.
  • Se corrigieron errores al calcular el tamaño de las columnas compuestas en el system.columns tabla.
  • Se corrigió un error al crear una tabla temporal CREATE TEMPORARY TABLE IF NOT EXISTS.
  • Corregidos errores en StorageKafka (##2075)
  • Se corrigieron fallos del servidor por argumentos no válidos de ciertas funciones agregadas.
  • Se corrigió el error que impedía el DETACH DATABASE consulta de detener las tareas en segundo plano para ReplicatedMergeTree tabla.
  • Too many parts es menos probable que ocurra al insertar en vistas materializadas agregadas (## 2084).
  • Se corrigió el manejo recursivo de sustituciones en la configuración si una sustitución debe ir seguida de otra sustitución en el mismo nivel.
  • Se ha corregido la sintaxis en el archivo de metadatos al crear un VIEW que usa una consulta con UNION ALL.
  • SummingMergeTree ahora funciona correctamente para la suma de estructuras de datos anidadas con una clave compuesta.
  • Se corrigió la posibilidad de una condición de carrera al elegir el líder para ReplicatedMergeTree tabla.

Crear cambios:

  • La compilación admite ninja en lugar de make y usos ninja de forma predeterminada para la creación de versiones.
  • Paquetes renombrados: clickhouse-server-base en clickhouse-common-static; clickhouse-server-common en clickhouse-server; clickhouse-common-dbg en clickhouse-common-static-dbg. Para instalar, utilice clickhouse-server clickhouse-client. Los paquetes con los nombres antiguos aún se cargarán en los repositorios por compatibilidad con versiones anteriores.

Cambios incompatibles hacia atrás:

  • Se eliminó la interpretación especial de una expresión IN si se especifica una matriz en el lado izquierdo. Anteriormente, la expresión arr IN (set) se interpretó como “at least one arr element belongs to the set”. Para obtener el mismo comportamiento en la nueva versión, escriba arrayExists(x -> x IN (set), arr).
  • Deshabilitado el uso incorrecto de la opción de socket SO_REUSEPORT, que se habilitó incorrectamente de forma predeterminada en la biblioteca Poco. Tenga en cuenta que en Linux ya no hay ninguna razón para especificar simultáneamente las direcciones :: y 0.0.0.0 for listen use just ::, que permite escuchar la conexión tanto a través de IPv4 como IPv6 (con los ajustes de configuración predeterminados del kernel). También puede volver al comportamiento de versiones anteriores especificando <listen_reuse_port>1</listen_reuse_port> en la configuración.

Lanzamiento de ClickHouse 1.1.54370, 2018-03-16

Novedad:

  • Se agregó el system.macros tabla y actualización automática de macros cuando se cambia el archivo de configuración.
  • Se agregó el SYSTEM RELOAD CONFIG consulta.
  • Se agregó el maxIntersections(left_col, right_col) función de agregado, que devuelve el número máximo de intervalos de intersección simultáneamente [left; right]. El maxIntersectionsPosition(left, right) función devuelve el comienzo de la “maximum” intervalo. (Miguel Furmur).

Mejora:

  • Al insertar datos en un Replicated se hacen menos solicitudes para ZooKeeper (y la mayoría de los errores de nivel de usuario han desaparecido del ZooKeeper registro).
  • Se agregó la capacidad de crear alias para conjuntos de datos. Ejemplo: WITH (1, 2, 3) AS set SELECT number IN set FROM system.numbers LIMIT 10.

Corrección de errores:

  • Se corrigió el Illegal PREWHERE error al leer de las tablas Merge para Distributedtabla.
  • Se agregaron correcciones que le permiten iniciar clickhouse-server en contenedores Docker solo para IPv4.
  • Se corrigió una condición de carrera al leer desde el sistema system.parts_columns tables.
  • Se eliminó el doble almacenamiento en búfer durante una inserción síncrona en un Distributed tabla, lo que podría haber causado que la conexión agotara el tiempo de espera.
  • Se corrigió un error que causaba esperas excesivamente largas para una réplica no disponible antes de comenzar un SELECT consulta.
  • Se corrigieron fechas incorrectas en el system.parts tabla.
  • Se corrigió un error que hacía imposible insertar datos en un Replicated mesa si chroot no estaba vacío en la configuración del ZooKeeper Cluster.
  • Se corrigió el algoritmo de fusión vertical para un vacío ORDER BY tabla.
  • Se restauró la capacidad de usar diccionarios en consultas a tablas remotas, incluso si estos diccionarios no están presentes en el servidor del solicitante. Esta funcionalidad se perdió en la versión 1.1.54362.
  • Restauró el comportamiento para consultas como SELECT * FROM remote('server2', default.table) WHERE col IN (SELECT col2 FROM default.table) cuando el lado derecho de la IN debe utilizar un control remoto default.table en lugar de uno local. Este comportamiento se rompió en la versión 1.1.54358.
  • Se eliminó el registro de nivel de error extraño de Not found column ... in block.

¿Qué puedes encontrar en Neodigit

Novedad:

  • Agregación sin GROUP BY para un conjunto vacío (como SELECT count(*) FROM table WHERE 0) ahora devuelve un resultado con una fila con valores nulos para funciones agregadas, de acuerdo con el estándar SQL. Para restaurar el comportamiento anterior (devolver un resultado vacío), establezca empty_result_for_aggregation_by_empty_set a 1.
  • Añadido tipo de conversión para UNION ALL. Se permiten diferentes nombres de alias en SELECT posiciones en UNION ALL, de acuerdo con el estándar SQL.
  • Las expresiones arbitrarias se admiten en LIMIT BY clausula. Anteriormente, solo era posible usar columnas resultantes de SELECT.
  • Un índice de MergeTree se utiliza cuando IN se aplica a una tupla de expresiones de las columnas de la clave principal. Ejemplo: WHERE (UserID, EventDate) IN ((123, '2000-01-01'), ...) (Anastasiya Tsarkova).
  • Se agregó el clickhouse-copier herramienta para copiar entre clústeres y resharding datos (beta).
  • Se agregaron funciones hash consistentes: yandexConsistentHash, jumpConsistentHash, sumburConsistentHash. Se pueden usar como una clave de fragmentación para reducir la cantidad de tráfico de red durante los subsiguientes reshardings.
  • Funciones añadidas: arrayAny, arrayAll, hasAny, hasAll, arrayIntersect, arrayResize.
  • Se agregó el arrayCumSum (Javi Santana).
  • Se agregó el parseDateTimeBestEffort, parseDateTimeBestEffortOrZero, y parseDateTimeBestEffortOrNull funciones para leer el DateTime de una cadena que contiene texto en una amplia variedad de formatos posibles.
  • Los datos se pueden volver a cargar parcialmente de diccionarios externos durante la actualización (cargar sólo los registros en los que el valor del campo especificado mayor que en la descarga anterior) (Arsen Hakobyan).
  • Se agregó el cluster función de la tabla. Ejemplo: cluster(cluster_name, db, table). El remote función de tabla puede aceptar el nombre del clúster como el primer argumento, si se especifica como un identificador.
  • El remote y cluster las funciones de la tabla se pueden utilizar en INSERT consulta.
  • Se agregó el create_table_query y engine_full columnas virtuales a la system.tablestabla . El metadata_modification_time columna es virtual.
  • Se agregó el data_path y metadata_path columnas a system.tablesysystem.databases tablas, y añadió el path columna a la system.parts y system.parts_columns tabla.
  • Se agregó información adicional sobre fusiones en el system.part_log tabla.
  • Se puede utilizar una clave de partición arbitraria para system.query_log (Kirill Shvakov).
  • El SHOW TABLES consulta ahora también muestra tablas temporales. Se agregaron tablas temporales y el is_temporary columna a system.tables (zhang2014).
  • Añadir DROP TEMPORARY TABLE y EXISTS TEMPORARY TABLE consultas (zhang2014).
  • Soporte para SHOW CREATE TABLE para tablas temporales (zhang2014).
  • Se agregó el system_profile parámetro de configuración para los ajustes utilizados por los procesos internos.
  • Soporte para carga object_id como un atributo en MongoDB diccionarios (Pavel Litvinenko).
  • Lectura null como el valor predeterminado al cargar datos para un diccionario externo con el MongoDB fuente (Pavel Litvinenko).
  • Lectura DateTime valores en el Values formato de una marca de tiempo Unix sin comillas simples.
  • La conmutación por error se admite en remote funciones de tabla para los casos en que a algunas de las réplicas les falta la tabla solicitada.
  • Los valores de configuración se pueden anular en la línea de comandos al ejecutar clickhouse-server. Ejemplo: clickhouse-server -- --logger.level=information.
  • Implementado el empty función de un FixedString argumento: la función devuelve 1 si la cadena consta completamente de bytes nulos (zhang2014).
  • Se agregó el listen_tryparámetro de configuración para escuchar al menos una de las direcciones de escucha sin salir, si algunas de las direcciones no se pueden escuchar (útil para sistemas con soporte deshabilitado para IPv4 o IPv6).
  • Se agregó el VersionedCollapsingMergeTree motor de mesa.
  • Soporte para filas y tipos numéricos arbitrarios para el library fuente del diccionario.
  • MergeTree las tablas se pueden usar sin una clave principal (debe especificar ORDER BY tuple()).
  • A Nullable tipo puede ser CAST a un no-Nullable escriba si el argumento no es NULL.
  • RENAME TABLE se puede realizar para VIEW.
  • Se agregó el throwIf función.
  • Se agregó el odbc_default_field_size opción, que le permite extender el tamaño máximo del valor cargado desde una fuente ODBC (por defecto, es 1024).
  • El system.processes mesa y SHOW PROCESSLIST ahora tienen el is_cancelled y peak_memory_usage columna.

Mejora:

  • Los límites y las cuotas sobre el resultado ya no se aplican a los datos intermedios para INSERT SELECT consultas o para SELECT subconsultas.
  • Menos desencadenantes falsos de force_restore_data al comprobar el estado de Replicated cuando se inicia el servidor.
  • Se agregó el allow_distributed_ddl opcion.
  • Las funciones no deterministas no están permitidas en expresiones para MergeTree teclas de mesa.
  • Archivos con sustituciones de config.d los directorios se cargan en orden alfabético.
  • Rendimiento mejorado del arrayElement función en el caso de una matriz multidimensional constante con una matriz vacía como uno de los elementos. Ejemplo: [[1], []][x].
  • El servidor se inicia más rápido ahora cuando se utilizan archivos de configuración con sustituciones muy grandes (por ejemplo, listas muy grandes de redes IP).
  • Al ejecutar una consulta, las funciones de valor de tabla se ejecutan una vez. Previamente, remote y mysql las funciones de valor de tabla realizaron la misma consulta dos veces para recuperar la estructura de tabla de un servidor remoto.
  • El MkDocs se utiliza el generador de documentación.
  • Cuando intenta eliminar una columna de tabla que DEFAULT/MATERIALIZED expresiones de otras columnas dependen, se lanza una excepción (zhang2014).
  • Se agregó la capacidad de analizar una línea vacía en formatos de texto como el número 0 para Float tipos de datos. Esta característica estaba disponible anteriormente, pero se perdió en la versión 1.1.54342.
  • Enum se pueden utilizar en min, max, sum y algunas otras funciones. En estos casos, utiliza los valores numéricos correspondientes. Esta característica estaba disponible anteriormente, pero se perdió en la versión 1.1.54337.
  • Añadir max_expanded_ast_elements para restringir el tamaño del AST después de expandir recursivamente los alias.

Corrección de errores:

  • Fijo casos innecesarios columnas fueron retirados de las subconsultas en error, o no se quitan de subconsultas que contiene UNION ALL.
  • Se corrigió un error en las fusiones para ReplacingMergeTree tabla.
  • Inserciones síncronas fijas en Distributed tabla (insert_distributed_sync = 1).
  • Segfault fijo para ciertos usos de FULL y RIGHT JOIN con columnas duplicadas en subconsultas.
  • Segfault fijo para ciertos usos de replace_running_query y KILL QUERY.
  • Se corrigió el orden de la source y last_exception columnas en el system.dictionaries tabla.
  • Se corrigió un error cuando el DROP DATABASE la consulta no eliminó el archivo con metadatos.
  • Se corrigió el DROP DATABASE consulta para Dictionary base.
  • Se corrigió la baja precisión de uniqHLL12 y uniqCombined funciones para cardinalidades superiores a 100 millones de artículos (Alex Bocharov).
  • Se corrigió el cálculo de valores predeterminados implícitos cuando era necesario para calcular simultáneamente expresiones explícitas predeterminadas en INSERT consultas (zhang2014).
  • Se corrigió un caso raro cuando una consulta a un MergeTree la tabla no pudo terminar (chenxing-xc).
  • Se corrigió un bloqueo que se produjo al ejecutar un CHECK consulta para Distributed tablas si todos los fragmentos son locales (chenxing.xc).
  • Se corrigió una ligera regresión de rendimiento con funciones que usan expresiones regulares.
  • Se corrigió una regresión de rendimiento al crear matrices multidimensionales a partir de expresiones complejas.
  • Se corrigió un error que podía causar un extra FORMAT sección para aparecer en una .sql archivo con metadatos.
  • Se corrigió un error que causaba la max_table_size_to_drop límite para aplicar cuando se intenta eliminar un MATERIALIZED VIEW mirando una tabla explícitamente especificada.
  • Se corrigió la incompatibilidad con clientes antiguos (a los clientes antiguos a veces se enviaban datos con el DateTime('timezone') tipo, que no entienden).
  • Se ha corregido un error al leer Nested elementos de columna de estructuras que se agregaron usando ALTER pero que están vacíos para las particiones antiguas, cuando las condiciones para estas columnas se movieron a PREWHERE.
  • Se corrigió un error al filtrar tablas por virtual _table columnas en consultas a Merge tabla.
  • Se corrigió un error al usar ALIAS columnas en Distributed tabla.
  • Se corrigió un error que hacía imposible la compilación dinámica para consultas con funciones agregadas del quantile familia.
  • Se corrigió una condición de carrera en la canalización de ejecución de consultas que ocurría en casos muy raros al usar Merge con un gran número de tablas, y cuando se utiliza GLOBAL subconsultas.
  • Se corrigió un bloqueo al pasar matrices de diferentes tamaños a un arrayReduce función cuando se utilizan funciones agregadas de múltiples argumentos.
  • Prohibido el uso de consultas con UNION ALL en una MATERIALIZED VIEW.
  • Se corrigió un error durante la inicialización del part_log tabla del sistema cuando se inicia el servidor (de forma predeterminada, part_log está deshabilitado).

Cambios incompatibles hacia atrás:

  • Eliminado el distributed_ddl_allow_replicated_alter opcion. Este comportamiento está habilitado de forma predeterminada.
  • Eliminado el strict_insert_defaults configuración. Si estaba utilizando esta funcionalidad, escriba en clickhouse-feedback@yandex-team.com.
  • Eliminado el UnsortedMergeTree motor.

¿Qué puedes encontrar en Neodigit

  • Se agregó soporte de macros para definir nombres de clúster en consultas DDL distribuidas y constructores de tablas distribuidas: CREATE TABLE distr ON CLUSTER '{cluster}' (...) ENGINE = Distributed('{cluster}', 'db', 'table').
  • Ahora consultas como SELECT ... FROM table WHERE expr IN (subquery) se procesan utilizando el table Indice.
  • Se ha mejorado el procesamiento de duplicados al insertar en tablas replicadas, por lo que ya no ralentizan la ejecución de la cola de replicación.

¿Qué puedes encontrar en Neodigit

Esta versión contiene correcciones de errores para la versión anterior 1.1.54337:

  • Se corrigió una regresión en 1.1.54337: si el usuario predeterminado tiene acceso de solo lectura, entonces el servidor se niega a iniciar con el mensaje Cannot create database in readonly mode.
  • Se corrigió una regresión en 1.1.54337: en sistemas con systemd, los registros siempre se escriben en syslog independientemente de la configuración; el script de vigilancia todavía usa init .d.
  • Se corrigió una regresión en 1.1.54337: configuración predeterminada incorrecta en la imagen de Docker.
  • Comportamiento no determinista fijo de GraphiteMergeTree (se puede ver en los mensajes de registro Data after merge is not byte-identical to the data on another replicas).
  • Se corrigió un error que podía provocar fusiones inconsistentes después de OPTIMIZE consulta a tablas replicadas (es posible que lo vea en los mensajes de registro Part ... intersects the previous part).
  • Las tablas de búfer ahora funcionan correctamente cuando las columnas MATERIALIZED están presentes en la tabla de destino (por zhang2014).
  • Se corrigió un error en la implementación de NULL.

¿Qué puedes encontrar en Neodigit

Novedad:

  • Se agregó soporte para el almacenamiento de matrices multidimensionales y tuplas (Tuple tipo de datos) en las tablas.
  • Soporte para funciones de mesa para DESCRIBE y INSERT consulta. Se agregó soporte para subconsultas en DESCRIBE. Ejemplos: DESC TABLE remote('host', default.hits); DESC TABLE (SELECT 1); INSERT INTO TABLE FUNCTION remote('host', default.hits). Soporte para INSERT INTO TABLE además de INSERT INTO.
  • Soporte mejorado para zonas horarias. El DateTime tipo de datos se puede anotar con la zona horaria que se utiliza para el análisis y el formato en formatos de texto. Ejemplo: DateTime('Europe/Moscow'). Cuando las zonas horarias se especifican en DateTime argumentos, el tipo de devolución rastreará la zona horaria y el valor se mostrará como se esperaba.
  • Se agregaron las funciones toTimeZone, timeDiff, toQuarter, toRelativeQuarterNum. El toRelativeHour/Minute/Second funciones pueden tomar un valor de tipo Date como argumento. El now nombre de la función distingue entre mayúsculas y minúsculas.
  • Se agregó el toStartOfFifteenMinutes (Kirill Shvakov).
  • Se agregó el clickhouse format herramienta para formatear consultas.
  • Se agregó el format_schema_path configuration parameter (Marek Vavruşa). It is used for specifying a schema in Cap'n Proto formato. Los archivos de esquema solo se pueden ubicar en el directorio especificado.
  • Se agregó soporte para sustituciones de configuración (incl y conf.d) para la configuración de diccionarios y modelos externos (Pavel Yakunin).
  • Se agregó una columna con documentación para el system.settings (Kirill Shvakov).
  • Se agregó el system.parts_columns tabla con información sobre los tamaños de columna en cada parte de datos MergeTree tabla.
  • Se agregó el system.models tabla con información sobre CatBoost modelos de aprendizaje automático.
  • Se agregó el mysql y odbc función de la tabla y correspondiente MySQL y ODBC para acceder a bases de datos remotas. Esta funcionalidad se encuentra en la fase beta.
  • Se agregó la posibilidad de pasar un argumento de tipo AggregateFunction para el groupArray función agregada (para que pueda crear una matriz de estados de alguna función agregada).
  • Se eliminaron restricciones en varias combinaciones de combinadores de funciones agregadas. Por ejemplo, puede usar avgForEachIf así como avgIfForEach funciones agregadas, que tienen diferentes comportamientos.
  • El -ForEach el combinador de funciones agregadas se extiende para el caso de funciones agregadas de múltiples argumentos.
  • Se agregó soporte para funciones agregadas de Nullable argumentos incluso para los casos en que la función devuelve un no-Nullable resultado (añadido con la contribución de Silviu Caragea). Ejemplo: groupArray, groupUniqArray, topK.
  • Se agregó el max_client_network_bandwidth para clickhouse-client (Kirill Shvakov).
  • Los usuarios con readonly = 2 setting are allowed to work with TEMPORARY tables (CREATE, DROP, INSERT…) (Kirill Shvakov).
  • Se agregó soporte para el uso de múltiples consumidores con el Kafka motor. Opciones de configuración ampliadas para Kafka (Marek Vavruša).
  • Se agregó el intExp3 y intExp4 función.
  • Se agregó el sumKahan función de agregado.
  • Se agregaron las funciones * Number* OrNull, donde * Number* es un tipo numérico.
  • Añadido soporte para WITH para una INSERT SELECT consulta (autor: zhang2014).
  • Configuración añadida: http_connection_timeout, http_send_timeout, http_receive_timeout. En particular, estos valores se utilizan para descargar partes de datos para la replicación. Cambiar esta configuración permite una conmutación por error más rápida si la red está sobrecargada.
  • Añadido soporte para ALTER para tablas de tipo Null (Anastasiya Tsarkova).
  • El reinterpretAsString se extiende para todos los tipos de datos que se almacenan contiguamente en la memoria.
  • Se agregó el --silent opción para el clickhouse-local herramienta. Suprime la información de ejecución de consultas de impresión en stderr.
  • Se agregó soporte para leer valores de tipo Date de texto en un formato donde el mes y / o día del mes se especifica utilizando un solo dígito en lugar de dos dígitos (Amos Bird).

Optimizaciones de rendimiento:

  • Rendimiento mejorado de las funciones agregadas min, max, any, anyLast, anyHeavy, argMin, argMax de argumentos de cadena.
  • Mejora del rendimiento de las funciones isInfinite, isFinite, isNaN, roundToExp2.
  • Rendimiento mejorado del análisis y el formato Date y DateTime valores de tipo en formato de texto.
  • Mejora del rendimiento y la precisión del análisis de números de coma flotante.
  • Menor uso de memoria para JOIN en el caso cuando las partes izquierda y derecha tienen columnas con nombres idénticos que no están contenidos en USING .
  • Rendimiento mejorado de las funciones agregadas varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr reduciendo la estabilidad computacional. Las funciones antiguas están disponibles bajo los nombres varSampStable, varPopStable, stddevSampStable, stddevPopStable, covarSampStable, covarPopStable, corrStable.

Corrección de errores:

  • Deduplicación de datos fija después de ejecutar un DROP o DETACH PARTITION consulta. En la versión anterior, soltar una partición e insertar los mismos datos de nuevo no funcionaba porque los bloques insertados se consideraban duplicados.
  • Se corrigió un error que podía conducir a una interpretación incorrecta de la WHERE cláusula para CREATE MATERIALIZED VIEW consultas con POPULATE .
  • Se corrigió un error al usar el root_path parámetro en el zookeeper_servers configuración.
  • Se corrigieron los resultados inesperados de pasar el Date argumento a toStartOfDay .
  • Se corrigió el addMonths y subtractMonths funciones y la aritmética para INTERVAL n MONTH en los casos en que el resultado tiene el año anterior.
  • Se agregó soporte faltante para el UUID tipo de datos para DISTINCT , JOIN , y uniq funciones agregadas y diccionarios externos (Evgeniy Ivanov). Soporte para UUID todavía está incompleto.
  • Fijo SummingMergeTree comportamiento en los casos en que las filas suman a cero.
  • Varias correcciones para el Kafka engine (Marek Vavruša).
  • Corregido el comportamiento incorrecto del Join motor de mesa (Amos Bird).
  • Se corrigió el comportamiento incorrecto del asignador en FreeBSD y OS X.
  • El extractAll la función ahora admite coincidencias vacías.
  • Se corrigió un error que bloqueaba el uso de libressl en lugar de openssl .
  • Se corrigió el CREATE TABLE AS SELECT consulta de tablas temporales.
  • Se corrigió la no anatomía de la actualización de la cola de replicación. Esto podría provocar que las réplicas no estén sincronizadas hasta que se reinicie el servidor.
  • Posible desbordamiento fijo en gcd , lcm y modulo (% (Maks Skorokhod).
  • -preprocessed los archivos ahora se crean después de cambiar umask (umask se puede cambiar en la configuración).
  • Se corrigió un error en la verificación de antecedentes de las piezas (MergeTreePartChecker ) cuando se utiliza una clave de partición personalizada.
  • Análisis fijo de tuplas (valores de la Tuple tipo de datos) en formatos de texto.
  • Mensajes de error mejorados sobre tipos incompatibles pasados a multiIf , array y algunas otras funciones.
  • Soporte rediseñado para Nullable tipo. Se corrigieron errores que podían provocar un bloqueo del servidor. Se corrigieron casi todos los demás errores relacionados con NULL soporte: conversiones de tipo incorrectas en INSERT SELECT, soporte insuficiente para Nullable en HAVING y PREWHERE, join_use_nulls modo, tipos anulables como argumentos de OR operador, etc.
  • Se corrigieron varios errores relacionados con la semántica interna de los tipos de datos. Ejemplos: suma innecesaria de Enum campos de tipo en SummingMergeTree ; alineación de Enum tipos en Pretty formatos, etc.
  • Comprueba más estrictamente las combinaciones permitidas de columnas compuestas.
  • Se corrigió el desbordamiento al especificar un parámetro muy grande para el FixedString tipo de datos.
  • Se ha corregido un error en el topK función de agregado en un caso genérico.
  • Se agregó la verificación faltante de igualdad de tamaños de matriz en argumentos de variantes narias de funciones agregadas con un -Array combinador.
  • Se ha corregido un error en --pager para clickhouse-client (autor: ks1322).
  • Se corrigió la precisión del exp10 función.
  • Se corrigió el comportamiento del visitParamExtract función para un mejor cumplimiento de la documentación.
  • Se corrigió el bloqueo cuando se especifican tipos de datos incorrectos.
  • Se corrigió el comportamiento de DISTINCT en el caso cuando todas las columnas son constantes.
  • Se corrigió el formato de consulta en el caso de usar el tupleElement función con una expresión constante compleja como el índice del elemento de tupla.
  • Se ha corregido un error en Dictionary tablas para range_hashed diccionario.
  • Se corrigió un error que provocaba filas excesivas en el resultado de FULL y RIGHT JOIN (Amós De Aves).
  • Se corrigió un bloqueo del servidor al crear y eliminar archivos temporales en config.d directorios durante la recarga de configuración.
  • Se corrigió el SYSTEM DROP DNS CACHE consulta: la memoria caché se vació pero las direcciones de los nodos del clúster no se actualizaron.
  • Se corrigió el comportamiento de MATERIALIZED VIEW después de ejecutar DETACH TABLE for the table under the view (Marek Vavruša).

Mejoras de construcción:

  • El pbuilder herramienta se utiliza para compilaciones. El proceso de compilación es casi completamente independiente del entorno de host de compilación.
  • Una sola compilación se utiliza para diferentes versiones del sistema operativo. Los paquetes y binarios se han hecho compatibles con una amplia gama de sistemas Linux.
  • Se agregó el clickhouse-test paquete. Se puede usar para ejecutar pruebas funcionales.
  • El archivo tarball de origen ahora se puede publicar en el repositorio. Se puede usar para reproducir la compilación sin usar GitHub.
  • Se agregó una integración limitada con Travis CI. Debido a los límites en el tiempo de compilación en Travis, solo se prueba la compilación de depuración y se ejecuta un subconjunto limitado de pruebas.
  • Añadido soporte para Cap'n'Proto en la compilación predeterminada.
  • Se ha cambiado el formato de las fuentes de documentación de Restricted Text a Markdown.
  • Añadido soporte para systemd (Vladimir Smirnov). Está deshabilitado por defecto debido a la incompatibilidad con algunas imágenes del sistema operativo y se puede habilitar manualmente.
  • Para la generación de código dinámico, clang y lld están incrustados en el clickhouse binario. También se pueden invocar como clickhouse clang y clickhouse lld .
  • Se eliminó el uso de extensiones GNU del código. Habilitado el -Wextra opcion. Al construir con clang el valor predeterminado es libc++ en lugar de libstdc++.
  • Extraer clickhouse_parsers y clickhouse_common_io bibliotecas para acelerar las compilaciones de varias herramientas.

Cambios incompatibles hacia atrás:

  • El formato de las marcas en Log tablas de tipos que contienen Nullable columnas se cambió de una manera incompatible con versiones anteriores. Si tiene estas tablas, debe convertirlas a la TinyLog escriba antes de iniciar la nueva versión del servidor. Para hacer esto, reemplace ENGINE = Log con ENGINE = TinyLog en el correspondiente .sql archivo en el metadata directorio. Si su tabla no tiene Nullable o si el tipo de su tabla no es Log, entonces usted no tiene que hacer nada.
  • Eliminado el experimental_allow_extended_storage_definition_syntax configuración. Ahora esta característica está habilitada de forma predeterminada.
  • El runningIncome función fue renombrada a runningDifferenceStartingWithFirstvalue para evitar confusiones.
  • Eliminado el FROM ARRAY JOIN arr sintaxis cuando ARRAY JOIN se especifica directamente después de FROM sin tabla (Amos Bird).
  • Eliminado el BlockTabSeparated formato que se utilizó únicamente con fines de demostración.
  • Se ha cambiado el formato de estado para las funciones agregadas varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr. Si ha almacenado estados de estas funciones agregadas en tablas (utilizando AggregateFunction tipo de datos o vistas materializadas con los estados correspondientes), por favor escriba a clickhouse-feedback@yandex-team.com.
  • En versiones anteriores del servidor había una característica no documentada: si una función agregada depende de parámetros, aún puede especificarla sin parámetros en el tipo de datos AggregateFunction . Ejemplo: AggregateFunction(quantiles, UInt64) en lugar de AggregateFunction(quantiles(0.5, 0.9), UInt64). Esta característica se perdió. Aunque no estaba documentado, planeamos apoyarlo nuevamente en futuras versiones.
  • Los tipos de datos de enumeración no se pueden usar en funciones de agregado mínimo / máximo. Esta habilidad se devolverá en la próxima versión.

Tenga en cuenta al actualizar:

  • Al realizar una actualización continua en un clúster, en el momento en que algunas de las réplicas ejecutan la versión anterior de ClickHouse y otras ejecutan la nueva versión, la replicación se detiene temporalmente y el mensaje unknown parameter 'shard' aparece en el registro. La replicación continuará después de que se actualicen todas las réplicas del clúster.
  • Si se están ejecutando diferentes versiones de ClickHouse en los servidores de clúster, es posible que las consultas distribuidas que utilizan las siguientes funciones tengan resultados incorrectos: varSamp, varPop, stddevSamp, stddevPop, covarSamp, covarPop, corr. Debe actualizar todos los nodos del clúster.