ClickHouse/docs/es/whats-new/changelog/2018.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

1064 lines
129 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_priority: 78
toc_title: '2018'
---
## Lanzamiento de ClickHouse 18.16 {#clickhouse-release-18-16}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-16-1-2018-12-21}
#### Corrección de errores: {#bug-fixes}
- Se corrigió un error que provocaba problemas con la actualización de diccionarios con el origen ODBC. [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829)
- La compilación JIT de funciones agregadas ahora funciona con columnas LowCardinality. [\#3838](https://github.com/ClickHouse/ClickHouse/issues/3838)
#### Mejora: {#improvements}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3879)
#### Mejoras de construcción: {#build-improvements}
- Correcciones para compilaciones en macOS y ARM.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-16-0-2018-12-14}
#### Novedad: {#new-features}
- `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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3581) [\#3755](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3581)
- Se agregó el `hdfs` función de la tabla y el `HDFS` para importar y exportar datos a HDFS. [Más información](https://github.com/ClickHouse/ClickHouse/pull/3617)
- Funciones añadidas para trabajar con base64: `base64Encode`, `base64Decode`, `tryBase64Decode`. [Alejandro Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3350)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3406)
- Se agregó el `system.contributors` tabla que contiene los nombres de todos los que hicieron compromete en ClickHouse. [\#3452](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3564)
- Ahora puede especificar comentarios para una columna en la descripción de la tabla y cambiarla usando `ALTER`. [\#3377](https://github.com/ClickHouse/ClickHouse/pull/3377)
- La lectura es compatible para `Join` tablas de escribir con teclas simples. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3728)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3728)
- Se agregó el `joinGet` función que le permite utilizar un `Join` tipo de tabla como un diccionario. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3728)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3800)
#### Corrección de errores: {#bug-fixes-1}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3823) [\#3803](https://github.com/ClickHouse/ClickHouse/pull/3803) [\#3799](https://github.com/ClickHouse/ClickHouse/pull/3799) [\#3769](https://github.com/ClickHouse/ClickHouse/pull/3769) [\#3744](https://github.com/ClickHouse/ClickHouse/pull/3744) [\#3681](https://github.com/ClickHouse/ClickHouse/pull/3681) [\#3651](https://github.com/ClickHouse/ClickHouse/pull/3651) [\#3649](https://github.com/ClickHouse/ClickHouse/pull/3649) [\#3641](https://github.com/ClickHouse/ClickHouse/pull/3641) [\#3632](https://github.com/ClickHouse/ClickHouse/pull/3632) [\#3568](https://github.com/ClickHouse/ClickHouse/pull/3568) [\#3523](https://github.com/ClickHouse/ClickHouse/pull/3523) [\#3518](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2863)
- Las bases de datos se especifican correctamente al ejecutar DDL `ON CLUSTER` consultas y `ALTER UPDATE/DELETE`. [\#3772](https://github.com/ClickHouse/ClickHouse/pull/3772) [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460)
- Las bases de datos se especifican correctamente para las subconsultas dentro de una VIEW. [\#3521](https://github.com/ClickHouse/ClickHouse/pull/3521)
- Se ha corregido un error en `PREWHERE` con `FINAL` para `VersionedCollapsingMergeTree`. [7167bfd7](https://github.com/ClickHouse/ClickHouse/commit/7167bfd7b365538f7a91c4307ad77e552ab4e8c1)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3819)
- Se corrigieron errores en algunos casos de `VIEW` y subconsultas que omiten la base de datos. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3521)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3404) [\#3694](https://github.com/ClickHouse/ClickHouse/pull/3694)
- Corregido el error `Lock handler cannot be nullptr.` [\#3689](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3487) [\#3503](https://github.com/ClickHouse/ClickHouse/pull/3503)
- Se corrigió el registro continuo de errores en `DDLWorker` si ZooKeeper no está disponible. [8f50c620](https://github.com/ClickHouse/ClickHouse/commit/8f50c620334988b28018213ec0092fe6423847e2)
- Se corrigió el tipo de retorno para `quantile*` funciones de `Date` y `DateTime` de argumentos. [\#3580](https://github.com/ClickHouse/ClickHouse/pull/3580)
- Se corrigió el `WITH` cláusula si especifica un alias simple sin expresiones. [\#3570](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3588)
- Corregido el error `Attempt to attach to nullptr thread group` cuando se trabaja con vistas materializadas. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3623)
- Se corrigió un bloqueo al pasar ciertos argumentos incorrectos a la `arrayReverse` función. [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871)
- 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:](https://github.com/ClickHouse/ClickHouse/commit/141e9799e49201d84ea8e951d1bed4fb6d3dacb5)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3662)
- Se corrigió una rara condición de carrera al eliminar `MergeTree` tabla. [\#3680](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3719)
- Se corrigió una segfault si el `max_temporary_non_const_columns` se excedió el límite. [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788)
#### Mejora: {#improvements-1}
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3504)
- Se inicia el servidor acelerado cuando hay un gran número de tablas. [\#3398](https://github.com/ClickHouse/ClickHouse/pull/3398)
- Se agregó un grupo de conexiones y HTTP `Keep-Alive` para conexiones entre réplicas. [\#3594](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/commit/31bc680ac5f4bb1d0360a8ba4696fa84bb47d6ab)
- El `join_default_strictness` opción se establece en `ALL` por defecto para la compatibilidad. [120e2cbe](https://github.com/ClickHouse/ClickHouse/commit/120e2cbe2ff4fbad626c28042d9b28781c805afe)
- Se eliminó el registro a `stderr` de la `re2` biblioteca para expresiones regulares no válidas o complejas. [\#3723](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3396)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3451) [\#3519](https://github.com/ClickHouse/ClickHouse/pull/3519)
- El `arrayReverse` función ahora funciona con cualquier tipo de matrices. [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871)
- Se ha añadido un parámetro opcional: el tamaño de la ranura `timeSlots` función. [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/3724)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3699)
- Se agregó el `--secure` parámetro de línea de comandos en `clickhouse-benchmark` y `clickhouse-performance-test` para habilitar TLS. [\#3688](https://github.com/ClickHouse/ClickHouse/pull/3688) [\#3690](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3603)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3652)
- La función de módulo funciona para `Date` y `DateTime` tipos de datos. [\#3385](https://github.com/ClickHouse/ClickHouse/pull/3385)
- Sinónimos añadidos para el `POWER`, `LN`, `LCASE`, `UCASE`, `REPLACE`, `LOCATE`, `SUBSTR`, y `MID` función. [\#3774](https://github.com/ClickHouse/ClickHouse/pull/3774) [\#3763](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3553)
- Rendimiento mejorado al leer desde `O_DIRECT` (con el `min_bytes_to_use_direct_io` opción activada). [\#3405](https://github.com/ClickHouse/ClickHouse/pull/3405)
- Rendimiento mejorado del `dictGet...OrDefault` función para un argumento de clave constante y un argumento predeterminado no constante. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3563)
- El `firstSignificantSubdomain` función ahora procesa los dominios `gov`, `mil`, y `edu`. [Igor Hatarist](https://github.com/ClickHouse/ClickHouse/pull/3601) Rendimiento mejorado. [\#3628](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3612)
- Corrija el código de retorno para el script init de clickhouse-server. [\#3516](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3729)
- Si el `force_restore_data` no se puede eliminar, se muestra un mensaje de error. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3794)
#### Mejoras de construcción: {#build-improvements-1}
- Actualizado el `jemalloc` biblioteca, que corrige una posible pérdida de memoria. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3557)
- Perfilado con `jemalloc` está habilitado de forma predeterminada para depurar compilaciones. [2cc82f5c](https://github.com/ClickHouse/ClickHouse/commit/2cc82f5cbe266421cd4c1165286c2c47e5ffcb15)
- Se agregó la capacidad de ejecutar pruebas de integración cuando solo `Docker` está instalado en el sistema. [\#3650](https://github.com/ClickHouse/ClickHouse/pull/3650)
- Se agregó la prueba de expresión fuzz en consultas SELECT. [\#3442](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3438)
- Se mejoró el método para iniciar clickhouse-server en una imagen de Docker. [Método de codificación de datos:](https://github.com/ClickHouse/ClickHouse/pull/3663)
- Para una imagen de Docker, se agregó soporte para inicializar bases de datos utilizando `/docker-entrypoint-initdb.d` directorio. [Konstantin Lebedev](https://github.com/ClickHouse/ClickHouse/pull/3695)
- Correcciones para construye en ARM. [\#3709](https://github.com/ClickHouse/ClickHouse/pull/3709)
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3687)
## Lanzamiento de ClickHouse 18.14 {#clickhouse-release-18-14}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-14-19-2018-12-19}
#### Corrección de errores: {#bug-fixes-2}
- Se corrigió un error que provocaba problemas con la actualización de diccionarios con el origen ODBC. [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829)
- Las bases de datos se especifican correctamente al ejecutar DDL `ON CLUSTER` consulta. [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460)
- Se corrigió una segfault si el `max_temporary_non_const_columns` se excedió el límite. [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788)
#### Mejoras de construcción: {#build-improvements-2}
- Correcciones para construye en ARM.
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-18-2018-12-04}
#### Corrección de errores: {#bug-fixes-3}
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3749)
- Segfault fijo en la función `empty` para argumento de `FixedString` tipo. [Método de codificación de datos:](https://github.com/ClickHouse/ClickHouse/pull/3703)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3720)
#### Crear cambios: {#build-changes}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3582)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-17-2018-11-30}
#### Corrección de errores: {#bug-fixes-4}
- Se corrigieron casos en los que el proceso de puente ODBC no terminaba con el proceso del servidor principal. [\#3642](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3673)
- Se corrigió una rara condición de carrera que podía provocar un bloqueo al soltar una tabla MergeTree. [\#3643](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3692)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-15-2018-11-21}
#### Corrección de errores: {#bug-fixes-5}
- 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](https://github.com/ClickHouse/ClickHouse/issues/3589)
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-14-14-2018-11-20}
#### Corrección de errores: {#bug-fixes-6}
- Fijo `ON CLUSTER` consultas cuando el clúster está configurado como seguro (indicador `<secure>`). [\#3599](https://github.com/ClickHouse/ClickHouse/pull/3599)
#### Crear cambios: {#build-changes-1}
- Problemas solucionados (llvm-7 del sistema, macos) [\#3582](https://github.com/ClickHouse/ClickHouse/pull/3582)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-13-2018-11-08}
#### Corrección de errores: {#bug-fixes-7}
- Se corrigió el `Block structure mismatch in MergingSorted stream` error. [\#3162](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/pull/3465)
- Se corrigió un error en las consultas que utilizaban `SAMPLE`, `PREWHERE` y columnas de alias. [\#3543](https://github.com/ClickHouse/ClickHouse/pull/3543)
- Se corrigió un raro `unknown compression method` error cuando el `min_bytes_to_use_direct_io` se habilitó la configuración. [3544](https://github.com/ClickHouse/ClickHouse/pull/3544)
#### Mejoras de rendimiento: {#performance-improvements}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3512)
- Regresión de rendimiento fija de las consultas que procesan cadenas largas. [\#3530](https://github.com/ClickHouse/ClickHouse/pull/3530)
#### Mejoras de construcción: {#build-improvements-3}
- Mejoras para simplificar la compilación de Arcadia. [\#3475](https://github.com/ClickHouse/ClickHouse/pull/3475), [\#3535](https://github.com/ClickHouse/ClickHouse/pull/3535)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-12-2018-11-02}
#### Corrección de errores: {#bug-fixes-8}
- Se corrigió un bloqueo al unir dos subconsultas sin nombre. [\#3505](https://github.com/ClickHouse/ClickHouse/pull/3505)
- Se corrigió la generación de consultas incorrectas (con un vacío `WHERE` cláusula) al consultar bases de datos externas. [hotid](https://github.com/ClickHouse/ClickHouse/pull/3477)
- Se corrigió usando un valor de tiempo de espera incorrecto en los diccionarios ODBC. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3511)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-11-2018-10-29}
#### Corrección de errores: {#bug-fixes-9}
- Corregido el error `Block structure mismatch in UNION stream: different number of columns` en consultas LIMIT. [\#2156](https://github.com/ClickHouse/ClickHouse/issues/2156)
- Se corrigieron errores al fusionar datos en tablas que contienen matrices dentro de estructuras anidadas. [\#3397](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3429)
- Se corrigió un error en las inserciones en una tabla distribuida en formato nativo. [\#3411](https://github.com/ClickHouse/ClickHouse/issues/3411)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-14-10-2018-10-23}
- El `compile_expressions` configuración (compilación JIT de expresiones) está deshabilitada de forma predeterminada. [\#3410](https://github.com/ClickHouse/ClickHouse/pull/3410)
- El `enable_optimize_predicate_expression` configuración está deshabilitada de forma predeterminada.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-14-9-2018-10-16}
#### Novedad: {#new-features-1}
- El `WITH CUBE` modificador para `GROUP BY` (la sintaxis alternativa `GROUP BY CUBE(...)` también está disponible). [\#3172](https://github.com/ClickHouse/ClickHouse/pull/3172)
- Se agregó el `formatDateTime` función. [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2770)
- Se agregó el `JDBC` motor de mesa y `jdbc` función de tabla (requiere la instalación de clickhouse-jdbc-bridge). [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3210)
- Funciones añadidas para trabajar con el número de semana ISO: `toISOWeek`, `toISOYear`, `toStartOfISOYear`, y `toDayOfYear`. [\#3146](https://github.com/ClickHouse/ClickHouse/pull/3146)
- Ahora puedes usar `Nullable` de columnas para `MySQL` y `ODBC` tabla. [\#3362](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3144)
- El procesamiento paralelo está disponible para muchos `MATERIALIZED VIEW`s al insertar datos. Ver el `parallel_view_processing` configuración. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3208)
- Se agregó el `SYSTEM FLUSH LOGS` consulta (vacíos de registro forzados a tablas del sistema como `query_log`) [\#3321](https://github.com/ClickHouse/ClickHouse/pull/3321)
- Ahora puedes usar predefinidos `database` y `table` macros al declarar `Replicated` tabla. [\#3251](https://github.com/ClickHouse/ClickHouse/pull/3251)
- Se agregó la capacidad de leer `Decimal` valores de tipo en notación de ingeniería (indicando potencias de diez). [\#3153](https://github.com/ClickHouse/ClickHouse/pull/3153)
#### Experimental Características: {#experimental-features}
- Optimización de la cláusula GROUP BY para `LowCardinality data types.` [\#3138](https://github.com/ClickHouse/ClickHouse/pull/3138)
- Cálculo optimizado de expresiones para `LowCardinality data types.` [\#3200](https://github.com/ClickHouse/ClickHouse/pull/3200)
#### Mejora: {#improvements-2}
- Consumo de memoria significativamente reducido para consultas con `ORDER BY` y `LIMIT`. Ver el `max_bytes_before_remerge_sort` configuración. [\#3205](https://github.com/ClickHouse/ClickHouse/pull/3205)
- En ausencia de `JOIN` (`LEFT`, `INNER`, …), `INNER JOIN` se supone. [\#3147](https://github.com/ClickHouse/ClickHouse/pull/3147)
- Los asteriscos calificados funcionan correctamente en consultas con `JOIN`. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3202)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3210)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3182)
- Cálculo correcto del ancho de fila en el terminal para `Pretty` formatos, incluyendo cadenas con jeroglíficos. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/3257).
- `ON CLUSTER` se puede especificar para `ALTER UPDATE` consulta.
- Rendimiento mejorado para leer datos en `JSONEachRow` formato. [\#3332](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3306)
- Se agregó el `TIMESTAMP` sinónimo de la `DateTime` tipo. [\#3390](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3215).
- Soporte para lectura `Tuple` y `Nested` de estructuras como `struct` en el `Cap'n'Proto format`. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3216)
- La lista de dominios de nivel superior `firstSignificantSubdomain` función ahora incluye el dominio `biz`. [disminución](https://github.com/ClickHouse/ClickHouse/pull/3219)
- En la configuración de diccionarios externos, `null_value` se interpreta como el valor del tipo de datos predeterminado. [\#3330](https://github.com/ClickHouse/ClickHouse/pull/3330)
- Soporte para el `intDiv` y `intDivOrZero` funciones para `Decimal`. [b48402e8](https://github.com/ClickHouse/ClickHouse/commit/b48402e8712e2b9b151e0eef8193811d433a1264)
- Soporte para el `Date`, `DateTime`, `UUID`, y `Decimal` tipos como una clave para el `sumMap` función de agregado. [\#3281](https://github.com/ClickHouse/ClickHouse/pull/3281)
- Soporte para el `Decimal` tipo de datos en diccionarios externos. [\#3324](https://github.com/ClickHouse/ClickHouse/pull/3324)
- Soporte para el `Decimal` tipo de datos en `SummingMergeTree` tabla. [\#3348](https://github.com/ClickHouse/ClickHouse/pull/3348)
- Añadido especializaciones para `UUID` en `if`. [\#3366](https://github.com/ClickHouse/ClickHouse/pull/3366)
- Reducido el número de `open` y `close` llamadas al sistema al leer desde un `MergeTree table`. [\#3283](https://github.com/ClickHouse/ClickHouse/pull/3283)
- A `TRUNCATE TABLE` consulta se puede ejecutar en cualquier réplica (la consulta se pasa a la réplica líder). [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/3375)
#### Corrección de errores: {#bug-fixes-10}
- Se corrigió un problema con `Dictionary` tablas para `range_hashed` diccionario. Este error se produjo en la versión 18.12.17. [\#1702](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3331) [\#3341](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3344)
- Se corrigió la funcionalidad de `CREATE TABLE ... ON CLUSTER ... AS SELECT ...` Este error se produjo en la versión 18.12.13. [\#3247](https://github.com/ClickHouse/ClickHouse/pull/3247)
- Se corrigió la preparación innecesaria de estructuras de datos para `JOIN`s en el servidor que inicia la consulta si `JOIN` sólo se realiza en servidores remotos. [\#3340](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3215).
- Para `Kafka` mesas, el opcional `schema` no se aprobó el parámetro (el esquema del `Cap'n'Proto` formato). [Vojtech Splichal](https://github.com/ClickHouse/ClickHouse/pull/3150)
- 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):](https://github.com/ClickHouse/ClickHouse/commit/8218cf3a5f39a43401953769d6d12a0bb8d29da9)
- Si el conjunto de servidores ZooKeeper contiene servidores para los que la consulta DNS devuelve un error, estos servidores se ignoran. [17b8e209](https://github.com/ClickHouse/ClickHouse/commit/17b8e209221061325ad7ba0539f03c6e65f87f29)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3229)
- Conversión de tipo corregida entre `Decimal` y números enteros. [\#3211](https://github.com/ClickHouse/ClickHouse/pull/3211)
- Se corrigieron errores en el `enable_optimize_predicate_expression` configuración. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3231)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3155)
- Se corrigió el `arrayCumSumNonNegative` (no acumula valores negativos si el acumulador es menor que cero). [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/3163)
- Corregido cómo `Merge` las tablas funcionan encima de `Distributed` cuando se utiliza `PREWHERE`. [\#3165](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3197)
- Se corrigió el funcionamiento de las funciones agregadas con `StateArray` combinadores. [\#3188](https://github.com/ClickHouse/ClickHouse/pull/3188)
- Se corrigió un bloqueo al dividir un `Decimal` valor por cero. [Método de codificación de datos:](https://github.com/ClickHouse/ClickHouse/commit/69dd6609193beb4e7acd3e6ad216eca0ccfb8179)
- Salida fija de tipos para operaciones usando `Decimal` y argumentos enteros. [\#3224](https://github.com/ClickHouse/ClickHouse/pull/3224)
- Corregido el segfault durante `GROUP BY` en `Decimal128`. [Método de codificación de datos:](https://github.com/ClickHouse/ClickHouse/commit/3359ba06c39fcd05bfdb87d6c64154819621e13a)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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:](https://github.com/ClickHouse/ClickHouse/commit/292a885533b8e3b41ce8993867069d14cbd5a664)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3263)
- Se corrigió un error al usar `FINAL` con `PREWHERE`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/3298)
- Se corrigió un error al usar `PREWHERE` sobre las columnas que se agregaron durante `ALTER`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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.](https://github.com/ClickHouse/ClickHouse/pull/3339)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3351) [\#3352](https://github.com/ClickHouse/ClickHouse/pull/3352)
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-1}
- Eliminado el `allow_experimental_decimal_type` opcion. El `Decimal` tipo de datos está disponible para su uso predeterminado. [\#3329](https://github.com/ClickHouse/ClickHouse/pull/3329)
## Lanzamiento de ClickHouse 18.12 {#clickhouse-release-18-12}
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-12-17-2018-09-16}
#### Novedad: {#new-features-2}
- `invalidate_query` (la capacidad de especificar una consulta para comprobar si es necesario actualizar un diccionario externo) `clickhouse` fuente. [\#3126](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3123)
- El `Decimal` tipo ahora soporta `var*` y `stddev*` funciones agregadas. [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129)
- El `Decimal` tipo ahora soporta funciones matemáticas (`exp`, `sin` y así sucesivamente.) [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129)
- El `system.part_log` ahora tiene el `partition_id` columna. [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089)
#### Corrección de errores: {#bug-fixes-11}
- `Merge` ahora funciona correctamente en `Distributed` tabla. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3159)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3130)
- Se corrigieron errores en el `enable_optimize_predicate_expression` configuración. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3107)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3122)
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-2}
- 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](https://github.com/ClickHouse/ClickHouse/pull/3107)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-12-14-2018-09-13}
#### Novedad: {#new-features-3}
- Añadido soporte para `ALTER UPDATE` consulta. [\#3035](https://github.com/ClickHouse/ClickHouse/pull/3035)
- Se agregó el `allow_ddl` opción, que restringe el acceso del usuario a consultas DDL. [\#3104](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3117)
- El `system.merges` tabla del sistema ahora contiene el `partition_id` columna. [\#3099](https://github.com/ClickHouse/ClickHouse/pull/3099)
#### Mejora {#improvements-3}
- Si una parte de datos permanece sin cambios durante la mutación, no se descarga mediante réplicas. [\#3103](https://github.com/ClickHouse/ClickHouse/pull/3103)
- Autocompletar está disponible para nombres de configuraciones cuando se trabaja con `clickhouse-client`. [\#3106](https://github.com/ClickHouse/ClickHouse/pull/3106)
#### Corrección de errores: {#bug-fixes-12}
- Se agregó una verificación para los tamaños de las matrices que son elementos de `Nested` escriba campos al insertar. [\#3118](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3098)
- Se corrigió un error en las funciones agregadas para matrices que pueden tener `NULL` elemento. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/3097)
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-18-12-13-2018-09-10}
#### Novedad: {#new-features-4}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2846) [\#2970](https://github.com/ClickHouse/ClickHouse/pull/2970) [\#3008](https://github.com/ClickHouse/ClickHouse/pull/3008) [\#3047](https://github.com/ClickHouse/ClickHouse/pull/3047)
- Nuevo `WITH ROLLUP` modificador para `GROUP BY` (sintaxis alternativa: `GROUP BY ROLLUP(...)`). [\#2948](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2787)
- Se agregó soporte para JOIN con funciones de tabla. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2907)
- Autocompletar presionando Tab en clickhouse-cliente. [Sergey Shcherbin](https://github.com/ClickHouse/ClickHouse/pull/2447)
- Ctrl + C en clickhouse-client borra una consulta que se ingresó. [\#2877](https://github.com/ClickHouse/ClickHouse/pull/2877)
- Se agregó el `join_default_strictness` ajuste (valores: `"`, `'any'`, `'all'`). Esto le permite no especificar `ANY` o `ALL` para `JOIN`. [\#2982](https://github.com/ClickHouse/ClickHouse/pull/2982)
- Cada línea del registro del servidor relacionada con el procesamiento de consultas muestra el ID de consulta. [\#2482](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2482)
- Añadir `ProfileEvents`contadores 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2482)
- El `system.metrics` y `system.events` las tablas ahora tienen documentación incorporada. [\#3016](https://github.com/ClickHouse/ClickHouse/pull/3016)
- Se agregó el `arrayEnumerateDense` función. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2975)
- Se agregó el `arrayCumSumNonNegative` y `arrayDifference` función. [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/2942)
- Se agregó el `retention` función de agregado. [Sundy Li](https://github.com/ClickHouse/ClickHouse/pull/2887)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3062) [\#3034](https://github.com/ClickHouse/ClickHouse/pull/3034)
- Las tablas de la familia MergeTree ahora tienen la columna virtual `_partition_id`. [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089)
#### Experimental Características: {#experimental-features-1}
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2990) [\#3077](https://github.com/ClickHouse/ClickHouse/pull/3077)
#### Mejora: {#improvements-4}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2977) [\#2980](https://github.com/ClickHouse/ClickHouse/pull/2980)
- Mejora del rendimiento de las cadenas de lectura y matrices en formatos binarios. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2955)
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2938)
- Las condiciones se lanzan a la vista (cuando `enable_optimize_predicate_expression` está habilitado). [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2907)
- Mejoras en la funcionalidad del `UUID` tipo de datos. [\#3074](https://github.com/ClickHouse/ClickHouse/pull/3074) [\#2985](https://github.com/ClickHouse/ClickHouse/pull/2985)
- El `UUID` tipo de datos es compatible con los diccionarios de The-Alchemist. [\#2822](https://github.com/ClickHouse/ClickHouse/pull/2822)
- El `visitParamExtractRaw` funciona correctamente con estructuras anidadas. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2974)
- Cuando el `input_format_skip_unknown_fields` la configuración está habilitada, los campos de objeto `JSONEachRow` se omiten correctamente. [BlahGeek](https://github.com/ClickHouse/ClickHouse/pull/2958)
- Para un `CASE` expresión con condiciones, ahora puede omitir `ELSE`, que es equivalente a `ELSE NULL`. [\#2920](https://github.com/ClickHouse/ClickHouse/pull/2920)
- El tiempo de espera de la operación ahora se puede configurar cuando se trabaja con ZooKeeper. [urykhy](https://github.com/ClickHouse/ClickHouse/pull/2971)
- Puede especificar un desplazamiento para `LIMIT n, m` como `LIMIT n OFFSET m`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/2840)
- Puede usar el `SELECT TOP n` sintaxis como una alternativa para `LIMIT`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2801)
- Las columnas duplicadas se pueden usar en un `USING` cláusula para `JOIN`. [\#3006](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/3003)
- El `odbc` función de tabla ahora le permite especificar el nombre de la base de datos / esquema. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2885)
- Se agregó la capacidad de usar un nombre de usuario especificado en el `clickhouse-client` archivo de configuración. [Vladimir Kozbin](https://github.com/ClickHouse/ClickHouse/pull/2909)
- 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](https://github.com/ClickHouse/ClickHouse/pull/3025)
#### Corrección de errores: {#bug-fixes-13}
- 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](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2939) [\#2949](https://github.com/ClickHouse/ClickHouse/pull/2949) [\#2964](https://github.com/ClickHouse/ClickHouse/pull/2964)
- Se corrigió una falla seg durante `JOIN ... ON`. [\#3000](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2226) [\#3037](https://github.com/ClickHouse/ClickHouse/pull/3037) [\#3055](https://github.com/ClickHouse/ClickHouse/pull/3055) [\#3065](https://github.com/ClickHouse/ClickHouse/pull/3065) [\#3073](https://github.com/ClickHouse/ClickHouse/pull/3073) [\#3090](https://github.com/ClickHouse/ClickHouse/pull/3090) [\#3093](https://github.com/ClickHouse/ClickHouse/pull/3093)
- Se corrigió el `pointInPolygon` función para ciertos casos de polígonos no convexos. [\#2910](https://github.com/ClickHouse/ClickHouse/pull/2910)
- Se corrigió el resultado incorrecto al comparar `nan` con enteros. [\#3024](https://github.com/ClickHouse/ClickHouse/pull/3024)
- Se corrigió un error en el `zlib-ng` biblioteca que podría conducir a segfault en casos raros. [\#2854](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2989)
- Se corrigió la posibilidad de un segfault al ejecutar ciertos `ON CLUSTER` consulta. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2960)
- Se corrigió un error en el `arrayDistinct` función para `Nullable` elementos de matriz. [\#2845](https://github.com/ClickHouse/ClickHouse/pull/2845) [\#2937](https://github.com/ClickHouse/ClickHouse/pull/2937)
- El `enable_optimize_predicate_expression` opción ahora soporta correctamente casos con `SELECT *`. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2929)
- Se corrigió el segfault al reinicializar la sesión de ZooKeeper. [\#2917](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2808)
#### Corrección de seguridad: {#security-fix}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2828) [\#2879](https://github.com/ClickHouse/ClickHouse/pull/2879) [\#2886](https://github.com/ClickHouse/ClickHouse/pull/2886) [\#2893](https://github.com/ClickHouse/ClickHouse/pull/2893) [\#2921](https://github.com/ClickHouse/ClickHouse/pull/2921)
- Se corrigió la validación incorrecta de la ruta del archivo en el `catBoostPool` función de la tabla. [\#2894](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2856)
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-3}
- 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: {#build-changes-2}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2912)
- Al usar clang para compilar, algunas advertencias de `-Weverything` se han añadido, además de la `-Wall-Wextra -Werror`. [\#2957](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2950)
## Lanzamiento de ClickHouse 18.10 {#clickhouse-release-18-10}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-10-3-2018-08-13}
#### Novedad: {#new-features-5}
- HTTPS se puede utilizar para la replicación. [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760)
- Se agregaron las funciones `murmurHash2_64`, `murmurHash3_32`, `murmurHash3_64`, y `murmurHash3_128` además de la existente `murmurHash2_32`. [\#2791](https://github.com/ClickHouse/ClickHouse/pull/2791)
- Compatibilidad con tipos Nullable en el controlador ODBC de ClickHouse (`ODBCDriver2` formato de salida). [\#2834](https://github.com/ClickHouse/ClickHouse/pull/2834)
- Soporte para `UUID` en las columnas clave.
#### Mejora: {#improvements-5}
- Los clústeres se pueden quitar sin reiniciar el servidor cuando se eliminan de los archivos de configuración. [\#2777](https://github.com/ClickHouse/ClickHouse/pull/2777)
- Los diccionarios externos se pueden quitar sin reiniciar el servidor cuando se eliminan de los archivos de configuración. [\#2779](https://github.com/ClickHouse/ClickHouse/pull/2779)
- Añadir `SETTINGS` soporte para el `Kafka` motor de mesa. [Alejandro Marshalov](https://github.com/ClickHouse/ClickHouse/pull/2781)
- Mejoras para el `UUID` tipo de datos (aún no completo). [\#2618](https://github.com/ClickHouse/ClickHouse/pull/2618)
- Soporte para piezas vacías después de fusiones en el `SummingMergeTree`, `CollapsingMergeTree` y `VersionedCollapsingMergeTree` motor. [\#2815](https://github.com/ClickHouse/ClickHouse/pull/2815)
- Se eliminan los registros antiguos de mutaciones completadas (`ALTER DELETE`). [\#2784](https://github.com/ClickHouse/ClickHouse/pull/2784)
- Se agregó el `system.merge_tree_settings` tabla. [Kirill Shvakov](https://github.com/ClickHouse/ClickHouse/pull/2841)
- El `system.tables` la tabla ahora tiene columnas de dependencia: `dependencies_database` y `dependencies_table`. [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2851)
- Se agregó el `max_partition_size_to_drop` opción de configuración. [\#2782](https://github.com/ClickHouse/ClickHouse/pull/2782)
- Se agregó el `output_format_json_escape_forward_slashes` opcion. [Alejandro Bocharov](https://github.com/ClickHouse/ClickHouse/pull/2812)
- Se agregó el `max_fetch_partition_retries_count` configuración. [\#2831](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2855)
#### Corrección de errores: {#bug-fixes-14}
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2930)
- Se corrigió un error para concurrente `Set` o `Join`. [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2823)
- 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](https://github.com/ClickHouse/ClickHouse/pull/2094)
- 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](https://github.com/ClickHouse/ClickHouse/issues/2795)
#### Cambios incompatibles hacia atrás {#backward-incompatible-changes-4}
- Se ha eliminado el soporte para consultas CHECK TABLE para tablas distribuidas.
#### Crear cambios: {#build-changes-3}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2773)
- Uso de libressl desde un submódulo. [\#1983](https://github.com/ClickHouse/ClickHouse/pull/1983) [\#2807](https://github.com/ClickHouse/ClickHouse/pull/2807)
- Uso de unixodbc desde un submódulo. [\#2789](https://github.com/ClickHouse/ClickHouse/pull/2789)
- Uso de mariadb-connector-c desde un submódulo. [\#2785](https://github.com/ClickHouse/ClickHouse/pull/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 {#clickhouse-release-18-6}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-6-0-2018-08-02}
#### Novedad: {#new-features-6}
- 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://github.com/ClickHouse/ClickHouse/pull/2742)
- HTTPS se puede habilitar para la replicación. [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760)
#### Mejora: {#improvements-6}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2646)
## Lanzamiento de ClickHouse 18.5 {#clickhouse-release-18-5}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-5-1-2018-07-31}
#### Novedad: {#new-features-7}
- Se agregó la función hash `murmurHash2_32` [\#2756](https://github.com/ClickHouse/ClickHouse/pull/2756).
#### Mejora: {#improvements-7}
- Ahora puedes usar el `from_env` [\#2741](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2752).
#### Corrección de errores: {#bug-fixes-15}
- Se corrigió un posible error al iniciar una réplica [\#2759](https://github.com/ClickHouse/ClickHouse/pull/2759).
## Lanzamiento de ClickHouse 18.4 {#clickhouse-release-18-4}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-4-0-2018-07-28}
#### Novedad: {#new-features-8}
- Tablas de sistema añadidas: `formats`, `data_type_families`, `aggregate_function_combinators`, `table_functions`, `table_engines`, `collations` [\#2721](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2708).
- Soporte para `HTTP Basic` autenticación en el protocolo de replicación [\#2727](https://github.com/ClickHouse/ClickHouse/pull/2727).
- El `has` función ahora permite buscar un valor numérico en una matriz de `Enum` valor [Maxim Khrisanfov](https://github.com/ClickHouse/ClickHouse/pull/2699).
- Soporte para agregar separadores de mensajes arbitrarios al leer desde `Kafka` [Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2701).
#### Mejora: {#improvements-8}
- El `ALTER TABLE t DELETE WHERE` La consulta no reescribe partes de datos que no se vieron afectadas por la condición WHERE [\#2694](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2689).
#### Corrección de errores: {#bug-fixes-16}
- 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](https://github.com/ClickHouse/ClickHouse/commit/bbdd780be0be06a0f336775941cdd536878dd2c2))
- Se ha corregido un error en el `windowFunnel aggregate function` [Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2735).
- Se ha corregido un error en el `anyHeavy` función agregada ([a2101df2](https://github.com/ClickHouse/ClickHouse/commit/a2101df25a6a0fba99aa71f8793d762af2b801ee))
- Se corrigió el bloqueo del servidor al usar el `countArray()` función de agregado.
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-5}
- 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 {#clickhouse-release-18-1}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-18-1-0-2018-07-23}
#### Novedad: {#new-features-9}
- Soporte para el `ALTER TABLE t DELETE WHERE` consulta para tablas MergeTree no replicadas ([\#2634](https://github.com/ClickHouse/ClickHouse/pull/2634)).
- Soporte para tipos arbitrarios para el `uniq*` familia de funciones agregadas ([\#2010](https://github.com/ClickHouse/ClickHouse/issues/2010)).
- Soporte para tipos arbitrarios en operadores de comparación ([\#2026](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/pull/2637)).
- Se agregó el `arrayDistinct` función ([\#2670](https://github.com/ClickHouse/ClickHouse/pull/2670)).
- El motor SummingMergeTree ahora puede funcionar con columnas de tipo AggregateFunction ([Constantin S. Pan](https://github.com/ClickHouse/ClickHouse/pull/2566)).
#### Mejora: {#improvements-9}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2664)).
- 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](https://github.com/ClickHouse/ClickHouse/pull/2669)).
#### Corrección de errores: {#bug-fixes-17}
- Se corrigió el comando TRUNCATE para tablas temporales ([Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2624)).
- 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](https://github.com/ClickHouse/ClickHouse/commit/c315200e64b87e44bdf740707fc857d1fdf7e947)).
- Se corrigió un error durante un CAST a Nullable tipos ([\#1322](https://github.com/ClickHouse/ClickHouse/issues/1322)).
- Se corrigió el resultado incorrecto de la `maxIntersection()` función cuando los límites de los intervalos coincidieron ([Miguel Furmur](https://github.com/ClickHouse/ClickHouse/pull/2657)).
- Se corrigió la transformación incorrecta de la cadena de expresión OR en un argumento de función ([Más información](https://github.com/ClickHouse/ClickHouse/pull/2663)).
- Se corrigió la degradación del rendimiento para las consultas que contenían `IN (subquery)` expresiones dentro de otra subconsulta ([\#2571](https://github.com/ClickHouse/ClickHouse/issues/2571)).
- Se corrigió la incompatibilidad entre servidores con diferentes versiones en consultas distribuidas `CAST` función que no está en letras mayúsculas ([fe8c4d6](https://github.com/ClickHouse/ClickHouse/commit/fe8c4d64e434cacd4ceef34faa9005129f2190a5)).
- Se agregaron citas faltantes de identificadores para consultas a un DBMS externo ([\#2635](https://github.com/ClickHouse/ClickHouse/issues/2635)).
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-6}
- 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 {#clickhouse-release-1-1}
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54394-2018-07-12}
#### Novedad: {#new-features-10}
- Se agregó el `histogram` función agregada ([Mikhail Surin](https://github.com/ClickHouse/ClickHouse/pull/2521)).
- Ahora `OPTIMIZE TABLE ... FINAL` se puede utilizar sin especificar particiones para `ReplicatedMergeTree` ([Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2600)).
#### Corrección de errores: {#bug-fixes-18}
- 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](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/issues/2563)).
- El `system.zookeeper` table funciona si el valor del nodo en ZooKeeper es NULL.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54390-2018-07-06}
#### Novedad: {#new-features-11}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2490)).
- 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](https://github.com/ClickHouse/ClickHouse/pull/2574)).
- Ahora `OPTIMIZE TABLE ... FINAL` se puede utilizar sin especificar la partición para variantes no replicadas de `MergeTree` ([Amos pájaro](https://github.com/ClickHouse/ClickHouse/pull/2599)).
#### Mejora: {#improvements-10}
- 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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2573)).
- Añadir `Nullable` soporte para el `runningDifference` función ([\#2594](https://github.com/ClickHouse/ClickHouse/pull/2594)).
- Mejora del rendimiento del análisis de consultas cuando hay un gran número de expresiones ([\#2572](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/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](https://github.com/ClickHouse/ClickHouse/pull/2593)).
#### Corrección de errores: {#bug-fixes-19}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2553)).
- 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](https://github.com/ClickHouse/ClickHouse/pull/2603)).
- Segfault fijo si `macros` se usan pero no están en el archivo de configuración ([\#2570](https://github.com/ClickHouse/ClickHouse/pull/2570)).
- Se corrigió el cambio a la base de datos predeterminada al volver a conectar el cliente ([\#2583](https://github.com/ClickHouse/ClickHouse/pull/2583)).
- Se corrigió un error que ocurría cuando el `use_index_for_in_with_subqueries` la configuración estaba deshabilitada.
#### Corrección de seguridad: {#security-fix-1}
- El envío de archivos ya no es posible cuando se conecta a MySQL (`LOAD DATA LOCAL INFILE`).
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54388-2018-06-28}
#### Novedad: {#new-features-12}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2260))
- 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](https://github.com/ClickHouse/ClickHouse/pull/2294)).
- Se agregó el `url()` función de la tabla y el `URL` motor de mesa ([Alejandro Sapin](https://github.com/ClickHouse/ClickHouse/pull/2501)).
- Se agregó el `windowFunnel` función agregada ([sundy-li](https://github.com/ClickHouse/ClickHouse/pull/2352)).
- Nuevo `startsWith` y `endsWith` funciones para cadenas ([Vadim Plakhtinsky](https://github.com/ClickHouse/ClickHouse/pull/2429)).
- El `numbers()` función de tabla ahora le permite especificar el desplazamiento ([Invierno Zhang](https://github.com/ClickHouse/ClickHouse/pull/2535)).
- La contraseña para `clickhouse-client` se puede introducir de forma interactiva.
- Los registros del servidor ahora se pueden enviar a syslog ([Alejandro Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2459)).
- Compatibilidad con el inicio de sesión en diccionarios con una fuente de biblioteca compartida ([Alejandro Sapin](https://github.com/ClickHouse/ClickHouse/pull/2472)).
- Soporte para delimitadores CSV personalizados ([Ivan Zhukov](https://github.com/ClickHouse/ClickHouse/pull/2263))
- 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: {#experimental-features-2}
- Se agregó la capacidad de calcular `and` solo donde se necesitan ([Anastasia Tsarkova](https://github.com/ClickHouse/ClickHouse/pull/2272))
- La compilación JIT a código nativo ya está disponible para algunas expresiones ([pyos](https://github.com/ClickHouse/ClickHouse/pull/2277)).
#### Corrección de errores: {#bug-fixes-20}
- 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](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/issues/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](https://github.com/ClickHouse/ClickHouse/issues/2342)).
- Las fusiones ahora son posibles después `CLEAR COLUMN IN PARTITION` ([\#2315](https://github.com/ClickHouse/ClickHouse/issues/2315)).
- Se ha corregido la asignación de tipos en la función de tabla ODBC ([sundy-li](https://github.com/ClickHouse/ClickHouse/pull/2268)).
- Las comparaciones de tipos se han fijado para `DateTime` con y sin la zona horaria ([Alejandro Bocharov](https://github.com/ClickHouse/ClickHouse/pull/2400)).
- 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é](https://github.com/ClickHouse/ClickHouse/pull/2411)).
- Se corrigió una condición de carrera al escribir datos desde el `Kafka` motor a vistas materializadas ([Información adicional](https://github.com/ClickHouse/ClickHouse/pull/2448)).
- SSRF fijo en la función de tabla remota ().
- Comportamiento de salida fijo de `clickhouse-client` en modo multilínea ([\#2510](https://github.com/ClickHouse/ClickHouse/issues/2510)).
#### Mejora: {#improvements-11}
- 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](https://github.com/ClickHouse/ClickHouse/pull/1722)).
- 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](https://github.com/ClickHouse/ClickHouse/pull/2325)).
- Se agregó chown para los directorios de configuración en el archivo de configuración systemd ([Mikhail Shiryaev](https://github.com/ClickHouse/ClickHouse/pull/2421)).
#### Crear cambios: {#build-changes-4}
- 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é](https://github.com/ClickHouse/ClickHouse/pull/2274)).
- 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](https://github.com/ClickHouse/ClickHouse/pull/2519)).
- Se corrigió un conflicto de archivos de encabezado en Fedora Rawhide ([\#2520](https://github.com/ClickHouse/ClickHouse/issues/2520)).
#### Cambios incompatibles hacia atrás: {#backward-incompatible-changes-7}
- 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.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54385-2018-06-01}
#### Corrección de errores: {#bug-fixes-21}
- Se corrigió un error que en algunos casos causaba que las operaciones de ZooKeeper se bloquearan.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54383-2018-05-22}
#### Corrección de errores: {#bug-fixes-22}
- Se corrigió una desaceleración de la cola de replicación si una tabla tiene muchas réplicas.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54381-2018-05-14}
#### Corrección de errores: {#bug-fixes-23}
- Se corrigió una fuga de nodos en ZooKeeper cuando ClickHouse pierde la conexión con el servidor ZooKeeper.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54380-2018-04-21}
#### Novedad: {#new-features-13}
- 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: {#improvements-12}
- 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: {#bug-fixes-24}
- 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: {#backward-incompatible-changes-8}
- 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.
### ¿Qué puedes encontrar en Neodigit {#clickhouse-release-1-1-54378-2018-04-16}
#### Novedad: {#new-features-14}
- 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: {#improvements-13}
- `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: {#bug-fixes-25}
- 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: {#build-changes-5}
- 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: {#backward-incompatible-changes-9}
- 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.
### Somos una empresa especializada en el desarrollo de soluciones tecnológicas {#clickhouse-release-1-1-54370-2018-03-16}
#### Novedad: {#new-features-15}
- 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](https://github.com/ClickHouse/ClickHouse/pull/2012)).
#### Mejora: {#improvements-14}
- 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: {#bug-fixes-26}
- Se corrigió el `Illegal PREWHERE` error al leer de las tablas Merge para `Distributed`tabla.
- 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 {#clickhouse-release-1-1-54362-2018-03-11}
#### Novedad: {#new-features-16}
- 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.tables`tabla . El `metadata_modification_time` columna es virtual.
- Se agregó el `data_path` y `metadata_path` columnas a `system.tables`y`system.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_try`pará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: {#improvements-15}
- 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: {#bug-fixes-27}
- 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: {#backward-incompatible-changes-10}
- 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 {#clickhouse-release-1-1-54343-2018-02-05}
- 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 {#clickhouse-release-1-1-54342-2018-01-22}
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 {#clickhouse-release-1-1-54337-2018-01-18}
#### Novedad: {#new-features-17}
- 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: {#performance-optimizations}
- 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: {#bug-fixes-28}
- 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: {#build-improvements-4}
- 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: {#backward-incompatible-changes-11}
- 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: {#please-note-when-upgrading}
- 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.
## [Nivel de Cifrado WEP](./2017.md#clickhouse-release-1-1-54327-2017-12-21) {#changelog-for-2017}