> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Registro de cambios de 2022

> Registro de cambios de 2022

### <a id="2212" /> Lanzamiento de ClickHouse 22.12, 2022-12-15. [Presentación](https://presentations.clickhouse.com/2022-release-22.12/), [Vídeo](https://www.youtube.com/watch?v=sREupr6uc2k)

<Frame>
  <iframe src="https://www.youtube.com/embed/sREupr6uc2k" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<Warning>
  Esta versión contiene un comentario erróneo en el servicio systemd que podría hacer que la instalación de ClickHouse falle durante la actualización en algunas distribuciones de Linux. El servicio systemd cambia los permisos del propietario del directorio `/run/systemd`, lo que hace que fallen todas las operaciones posteriores de systemd. Se recomienda omitir la actualización a esta versión y, en su lugar, actualizar a una versión más reciente de ClickHouse.

  Consulta este problema en GitHub para obtener más detalles: [https://github.com/ClickHouse/ClickHouse/issues/48285](https://github.com/ClickHouse/ClickHouse/issues/48285)
</Warning>

<div id="upgrade-notes">
  #### Notas de actualización
</div>

* Se corrigió una incompatibilidad con versiones anteriores en la (de)serialización de los estados de las funciones de agregación `min`, `max`, `any*`, `argMin` y `argMax` con argumento `String`. La incompatibilidad afecta a las ramas 22.9, 22.10 y 22.11 (corregido a partir de 22.9.6, 22.10.4 y 22.11.2, respectivamente). Algunas versiones menores de las ramas 22.3, 22.7 y 22.8 también están afectadas: 22.3.13...22.3.14 (corregido a partir de 22.3.15), 22.8.6...22.8.9 (corregido a partir de 22.8.10), 22.7.6 y posteriores (no se corregirá en 22.7; recomendamos actualizar de 22.7.\* a 22.8.10 o una versión posterior). Esta nota de versión no afecta a los usuarios que nunca hayan usado las versiones afectadas. Las versiones incompatibles añaden un `'\0'` adicional a las cadenas al leer estados de las funciones de agregación mencionadas anteriormente. Por ejemplo, si una versión anterior guardó el estado de `anyState('foobar')` en `state_column`, la versión incompatible imprimirá `'foobar\0'` en `anyMerge(state_column)`. Además, las versiones incompatibles escriben los estados de las funciones de agregación sin el `'\0'` final. Las versiones más recientes (que incluyen la corrección) pueden leer correctamente los datos escritos por todas las versiones, incluidas las incompatibles, salvo en un caso límite. Si una versión incompatible guardó un estado con una cadena que realmente termina con el carácter nulo, una versión más reciente recortará el `'\0'` final al leer el estado de la función de agregación afectada. Por ejemplo, si una versión incompatible guardó el estado de `anyState('abrac\0dabra\0')` en `state_column`, las versiones más recientes imprimirán `'abrac\0dabra'` en `anyMerge(state_column)`. El problema también afecta a las consultas distribuidas cuando una versión incompatible funciona en un clúster junto con versiones anteriores o posteriores. [#43038](https://github.com/ClickHouse/ClickHouse/pull/43038) ([Alexander Tokmakov](https://github.com/tavplubix), [Raúl Marín](https://github.com/Algunenano)). Nota: todas las compilaciones oficiales de ClickHouse ya incluyen los parches. Esto no es necesariamente así en compilaciones no oficiales de terceros, que deben evitarse.

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Añade el formato de entrada/salida `BSONEachRow`. En este formato, ClickHouse formatea y analiza cada fila como un documento BSON independiente, y cada columna se formatea y analiza como un único campo BSON con el nombre de la columna como clave. [#42033](https://github.com/ClickHouse/ClickHouse/pull/42033) ([mark-polokhov](https://github.com/mark-polokhov)).
* Se añade el algoritmo JOIN `grace_hash`; se puede habilitar con `SET join_algorithm = 'grace_hash'`. [#38191](https://github.com/ClickHouse/ClickHouse/pull/38191) ([BigRedEye](https://github.com/BigRedEye), [Vladimir C](https://github.com/vdimir)).
* Permite configurar reglas de complejidad de contraseñas y comprobaciones para la creación y modificación de usuarios. [#43719](https://github.com/ClickHouse/ClickHouse/pull/43719) ([Nikolay Degterinsky](https://github.com/evillique)).
* Enmascara la información confidencial en los logs; enmascara los fragmentos sensibles en la salida de las consultas `SHOW CREATE TABLE` y `SELECT FROM system.tables`. También resuelve [#41418](https://github.com/ClickHouse/ClickHouse/issues/41418). [#43227](https://github.com/ClickHouse/ClickHouse/pull/43227) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añade la sintaxis `GROUP BY ALL`: [#37631](https://github.com/ClickHouse/ClickHouse/issues/37631). [#42265](https://github.com/ClickHouse/ClickHouse/pull/42265) ([刘陶峰](https://github.com/taofengliu)).
* Se añade la sintaxis `FROM table SELECT column`. [#41095](https://github.com/ClickHouse/ClickHouse/pull/41095) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añadieron la función `concatWithSeparator` y `concat_ws` como alias para ofrecer compatibilidad con Spark SQL. También se añadió la función `concatWithSeparatorAssumeInjective` como variante para habilitar la optimización de GROUP BY, de forma similar a `concatAssumeInjective`. [#43749](https://github.com/ClickHouse/ClickHouse/pull/43749) ([李扬](https://github.com/taiyang-li)).
* Se añadieron las funciones `multiplyDecimal` y `divideDecimal` para realizar operaciones decimales con precisión fija. [#42438](https://github.com/ClickHouse/ClickHouse/pull/42438) ([Andrey Zvonov](https://github.com/zvonand)).
* Se añadió la tabla `system.moves` con la lista de las partes que se están moviendo en este momento. [#42660](https://github.com/ClickHouse/ClickHouse/pull/42660) ([Sergei Trifonov](https://github.com/serxa)).
* Se añade soporte para un endpoint de Prometheus integrado en ClickHouse Keeper. [#43087](https://github.com/ClickHouse/ClickHouse/pull/43087) ([Antonio Andelic](https://github.com/antonio2368)).
* Se admiten literales numéricos con `_` como separador, por ejemplo, `1_000_000`. [#43925](https://github.com/ClickHouse/ClickHouse/pull/43925) ([jh0x](https://github.com/jh0x)).
* Se añadió la posibilidad de usar un array como segundo parámetro de la función `cutURLParameter`. Permitirá eliminar varios parámetros. Cierra [#6827](https://github.com/ClickHouse/ClickHouse/issues/6827). [#43788](https://github.com/ClickHouse/ClickHouse/pull/43788) ([Roman Vasin](https://github.com/rvasin)).
* Agregar a la tabla `system.data_skipping_indices` una columna con la expresión del índice. [#43308](https://github.com/ClickHouse/ClickHouse/pull/43308) ([Guillaume Tassery](https://github.com/YiuRULE)).
* Se añade la columna `engine_full` a la tabla del sistema `databases` para que puedas acceder a la definición completa del motor de una base de datos a través de las tablas del sistema. [#43468](https://github.com/ClickHouse/ClickHouse/pull/43468) ([凌涛](https://github.com/lingtaolf)).
* Se añadió una nueva función hash, [xxh3](https://github.com/Cyan4973/xxHash). Además, se ha mejorado el rendimiento de `xxHash32` y `xxHash64` en ARM gracias a una actualización de la biblioteca. [#43411](https://github.com/ClickHouse/ClickHouse/pull/43411) ([Nikita Taranov](https://github.com/nickitat)).
* Se añadió compatibilidad para definir restricciones en la configuración de MergeTree. Por ejemplo, puede impedir que los usuarios sobrescriban `storage_policy`. [#43903](https://github.com/ClickHouse/ClickHouse/pull/43903) ([Sergei Trifonov](https://github.com/serxa)).
* Se añade un nuevo ajuste `input_format_json_read_objects_as_strings` que permite analizar objetos JSON anidados como Strings en todos los formatos de entrada JSON. Este ajuste está deshabilitado de forma predeterminada. [#44052](https://github.com/ClickHouse/ClickHouse/pull/44052) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se añade compatibilidad con la deduplicación para las inserciones asíncronas. Antes de este cambio, las inserciones asíncronas no admitían deduplicación, porque varias inserciones pequeñas coexistían en un mismo lote insertado. Cierra [#38075](https://github.com/ClickHouse/ClickHouse/issues/38075). [#43304](https://github.com/ClickHouse/ClickHouse/pull/43304) ([Han Fei](https://github.com/hanfei1991)).
* Se añade compatibilidad con la distancia coseno para el índice experimental Annoy (búsqueda de similitud vectorial). [#42778](https://github.com/ClickHouse/ClickHouse/pull/42778) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* Se añaden las consultas `CREATE / ALTER / DROP NAMED COLLECTION`. [#43252](https://github.com/ClickHouse/ClickHouse/pull/43252) ([Kseniia Sumarokova](https://github.com/kssenii)). Esta funcionalidad está en desarrollo y, a partir de la versión 22.12, las consultas aún no son efectivas. Esta entrada del changelog se añade solo para evitar confusiones. Se restringe el acceso predeterminado a las colecciones con nombre al usuario definido en la configuración. Para poder verlas, es necesario establecer `show_named_collections = 1`. [#43325](https://github.com/ClickHouse/ClickHouse/pull/43325) ([Kseniia Sumarokova](https://github.com/kssenii)). Se introduce la tabla `system.named_collections` [#43147](https://github.com/ClickHouse/ClickHouse/pull/43147) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="performance-improvement">
  #### Mejora de rendimiento
</div>

* Se añaden los ajustes `max_streams_for_merge_tree_reading` y `allow_asynchronous_read_from_io_pool_for_merge_tree`. El ajuste `max_streams_for_merge_tree_reading` limita el número de flujos de lectura para las tablas MergeTree. El ajuste `allow_asynchronous_read_from_io_pool_for_merge_tree` habilita un pool de E/S en segundo plano para leer desde tablas `MergeTree`. Esto puede aumentar el rendimiento de las consultas limitadas por E/S si se usa junto con `max_streams_to_max_threads_ratio` o `max_streams_for_merge_tree_reading`. [#43260](https://github.com/ClickHouse/ClickHouse/pull/43260) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). Esto mejora el rendimiento hasta 100 veces en casos de almacenamiento de alta latencia, con pocas CPU y un gran número de partes de datos.
* Los ajustes `merge_tree_min_rows_for_concurrent_read_for_remote_filesystem/merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem` no respetaban la granularidad adaptativa. Las filas anchas no reducían el número de filas leídas (como sí ocurría con `merge_tree_min_rows_for_concurrent_read/merge_tree_min_bytes_for_concurrent_read`), lo que podía provocar un alto uso de memoria al usar sistemas de archivos remotos. [#43965](https://github.com/ClickHouse/ClickHouse/pull/43965) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se optimizó el número de solicitudes de listado a ZooKeeper o ClickHouse Keeper al seleccionar una parte para fusionar. Antes, en algunos casos, esto podía generar miles de solicitudes. Corrige [#43647](https://github.com/ClickHouse/ClickHouse/issues/43647). [#43675](https://github.com/ClickHouse/ClickHouse/pull/43675) ([Alexander Tokmakov](https://github.com/tavplubix)).
* La optimización ahora se omite si `max_size_to_preallocate_for_aggregation` tiene un valor demasiado pequeño. El valor predeterminado de este ajuste se incrementó a `10^8`. [#43945](https://github.com/ClickHouse/ClickHouse/pull/43945) ([Nikita Taranov](https://github.com/nickitat)).
* Se acelera el apagado del servidor al evitar la limpieza de partes de datos antiguas. Esto es innecesario después de [https://github.com/ClickHouse/ClickHouse/pull/41145](https://github.com/ClickHouse/ClickHouse/pull/41145). [#43760](https://github.com/ClickHouse/ClickHouse/pull/43760) ([Sema Checherinda](https://github.com/CheSema)).
* La fusión en el iniciador ahora usa el mismo enfoque limitado por memoria que la fusión de resultados de agregación locales si se establece `enable_memory_bound_merging_of_aggregation_results`. [#40879](https://github.com/ClickHouse/ClickHouse/pull/40879) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora de Keeper: se intenta sincronizar los registros en disco en paralelo con la replicación. [#43450](https://github.com/ClickHouse/ClickHouse/pull/43450) ([Antonio Andelic](https://github.com/antonio2368)).
* Mejora de Keeper: las solicitudes se agrupan en lotes con más frecuencia. Esta agrupación puede controlarse con el nuevo ajuste `max_requests_quick_batch_size`. [#43686](https://github.com/ClickHouse/ClickHouse/pull/43686) ([Antonio Andelic](https://github.com/antonio2368)).

<div id="improvement">
  #### Mejora
</div>

* Implementar dependencias referenciales y usarlas para crear tablas en el orden correcto durante la restauración a partir de una copia de seguridad. [#43834](https://github.com/ClickHouse/ClickHouse/pull/43834) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se sustituyen las UDF en la consulta `CREATE` para evitar fallos durante la carga al inicio. Además, ahora las UDF se pueden usar como expresiones `DEFAULT` para las columnas. [#43539](https://github.com/ClickHouse/ClickHouse/pull/43539) ([Antonio Andelic](https://github.com/antonio2368)).
* Se cambió la forma en que las siguientes consultas eliminan partes: TRUNCATE TABLE, ALTER TABLE DROP PART, ALTER TABLE DROP PARTITION. Ahora, estas consultas crean partes vacías que cubren las partes antiguas. Esto hace que la consulta TRUNCATE funcione sin un bloqueo exclusivo posterior, lo que significa que las lecturas concurrentes no se bloquean. También se logró durabilidad en todas esas consultas. Si la solicitud se completa correctamente, no volverán a aparecer partes eliminadas más adelante. Tenga en cuenta que la atomicidad solo se garantiza dentro del ámbito de una transacción. [#41145](https://github.com/ClickHouse/ClickHouse/pull/41145) ([Sema Checherinda](https://github.com/CheSema)).
* La consulta `SET param_x` ya no requiere serializar manualmente como cadena el valor del parámetro. Por ejemplo, la consulta `SET param_a = '[\'a\', \'b\']'` ahora puede escribirse como `SET param_a = ['a', 'b']`. [#41874](https://github.com/ClickHouse/ClickHouse/pull/41874) ([Nikolay Degterinsky](https://github.com/evillique)).
* Mostrar las filas leídas en el indicador de progreso al leer desde STDIN en el cliente. Cierra [#43423](https://github.com/ClickHouse/ClickHouse/issues/43423). [#43442](https://github.com/ClickHouse/ClickHouse/pull/43442) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Mostrar la barra de progreso al leer desde la función de tabla / motor de S3. [#43454](https://github.com/ClickHouse/ClickHouse/pull/43454) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La barra de progreso mostrará tanto las filas leídas como las filas escritas. [#43496](https://github.com/ClickHouse/ClickHouse/pull/43496) ([Ilya Yatsishin](https://github.com/qoega)).
* `filesystemAvailable` y las funciones relacionadas admiten un argumento opcional con el nombre del disco, y `filesystemFree` se cambia por `filesystemUnreserved`. Cierra [#35076](https://github.com/ClickHouse/ClickHouse/issues/35076). [#42064](https://github.com/ClickHouse/ClickHouse/pull/42064) ([flynn](https://github.com/ucasfl)).
* Integración con LDAP: se aumentó el valor predeterminado de search\_limit a 256 y se añadió una opción de configuración del servidor LDAP para cambiarlo a cualquier valor. Cierra: [#42276](https://github.com/ClickHouse/ClickHouse/issues/42276). [#42461](https://github.com/ClickHouse/ClickHouse/pull/42461) ([Vasily Nemkov](https://github.com/Enmk)).
* Permite también eliminar la información sensible (consulta `query_masking_rules` en el archivo de configuración) de los mensajes de excepción. Resuelve [#41418](https://github.com/ClickHouse/ClickHouse/issues/41418). [#42940](https://github.com/ClickHouse/ClickHouse/pull/42940) ([filimonov](https://github.com/filimonov)).
* Admite consultas como `SHOW FULL TABLES ...` para mantener la compatibilidad con MySQL. [#43910](https://github.com/ClickHouse/ClickHouse/pull/43910) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* Mejora de Keeper: se añadió el comando 4lw `rqld`, que permite asignar manualmente un nodo como líder. [#43026](https://github.com/ClickHouse/ClickHouse/pull/43026) ([JackyWoo](https://github.com/JackyWoo)).
* Aplica la configuración del tiempo de espera de conexión para async INSERT de Distributed desde la consulta. [#43156](https://github.com/ClickHouse/ClickHouse/pull/43156) ([Azat Khuzhin](https://github.com/azat)).
* La función `unhex` ahora admite argumentos de tipo `FixedString`. [issue42369](https://github.com/ClickHouse/ClickHouse/issues/42369). [#43207](https://github.com/ClickHouse/ClickHouse/pull/43207) ([DR](https://github.com/freedomDR)).
* Se prioriza la eliminación de las partes completamente expiradas de acuerdo con las reglas TTL; consulte [#42869](https://github.com/ClickHouse/ClickHouse/issues/42869). [#43222](https://github.com/ClickHouse/ClickHouse/pull/43222) ([zhongyuankai](https://github.com/zhongyuankai)).
* Indicación de la carga de CPU más precisa y con mayor capacidad de respuesta en clickhouse-client. [#43307](https://github.com/ClickHouse/ClickHouse/pull/43307) ([Sergei Trifonov](https://github.com/serxa)).
* Se admite la lectura de subcolumnas de tipos anidados desde el almacenamiento `S3` y la table function `s3` en formatos `Parquet`, `Arrow` y `ORC`. [#43329](https://github.com/ClickHouse/ClickHouse/pull/43329) ([chen](https://github.com/xiedeyantu)).
* Agregar la columna `table_uuid` a la tabla `system.parts`. [#43404](https://github.com/ClickHouse/ClickHouse/pull/43404) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió una opción en el cliente para mostrar el número de filas procesadas localmente en modo no interactivo (`--print-num-processed-rows`). [#43407](https://github.com/ClickHouse/ClickHouse/pull/43407) ([jh0x](https://github.com/jh0x)).
* Se implementó la optimización `aggregation-in-order` sobre un plan de consulta. Está habilitada de forma predeterminada (pero solo funciona junto con `optimize_aggregation_in_order`, que está deshabilitada de forma predeterminada). Configure `query_plan_aggregation_in_order = 0` para usar la versión anterior basada en AST. [#43592](https://github.com/ClickHouse/ClickHouse/pull/43592) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Permite recopilar profile events con `trace_type = 'ProfileEvent'` en `system.trace_log` con cada incremento, junto con la pila actual, el nombre del profile event y el valor del incremento. Se puede habilitar con la opción `trace_profile_events` y usarse para investigar el rendimiento de las consultas. [#43639](https://github.com/ClickHouse/ClickHouse/pull/43639) ([Anton Popov](https://github.com/CurtizJ)).
* Se añade una nueva opción de configuración `input_format_max_binary_string_size` para limitar el tamaño de las cadenas en formato RowBinary. [#43842](https://github.com/ClickHouse/ClickHouse/pull/43842) ([Kruglov Pavel](https://github.com/Avogar)).
* Cuando ClickHouse realiza una solicitud a un servidor HTTP remoto y este devuelve un error, el código HTTP numérico no se mostraba correctamente en el mensaje de excepción. Cierra [#43919](https://github.com/ClickHouse/ClickHouse/issues/43919). [#43920](https://github.com/ClickHouse/ClickHouse/pull/43920) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Informa correctamente los errores en las consultas incluso cuando se está llevando a cabo la optimización de múltiples JOINs. [#43583](https://github.com/ClickHouse/ClickHouse/pull/43583) ([Salvatore](https://github.com/tbsal)).

<div id="buildtestingpackaging-improvement">
  #### Mejora de compilación/pruebas/empaquetado
</div>

* La integración con systemd ahora notifica correctamente a systemd que el servicio se ha iniciado realmente y está listo para atender solicitudes. [#43400](https://github.com/ClickHouse/ClickHouse/pull/43400) ([Коренберг Марк](https://github.com/socketpair)).
* Se agregó la opción de compilar ClickHouse con OpenSSL mediante el [OpenSSL FIPS Module](https://www.openssl.org/docs/man3.0/man7/fips_module.html). Este tipo de compilación no se ha probado para validar su seguridad y no es compatible. [#43991](https://github.com/ClickHouse/ClickHouse/pull/43991) ([Boris Kuschel](https://github.com/bkuschel)).
* Actualización al nuevo códec de compresión `DeflateQpl`, implementado en un PR anterior (detalles: [https://github.com/ClickHouse/ClickHouse/pull/39494](https://github.com/ClickHouse/ClickHouse/pull/39494)). Este parche mejora el códec en los siguientes aspectos: 1. Actualización de QPL v0.2.0 a QPL v0.3.0 [Intel® Query Processing Library (QPL)](https://github.com/intel/qpl) 2. Mejora del archivo CMake para corregir problemas de compilación de QPL con QPL v0.3.0. 3. Enlace de la biblioteca QPL con libaccel-config en tiempo de compilación, en lugar de cargarla en tiempo de ejecución en QPL v0.2.0 (dlopen). 4. Se corrigió un problema de impresión de logs en CompressionCodecDeflateQpl.cpp. [#44024](https://github.com/ClickHouse/ClickHouse/pull/44024) ([jasperzhu](https://github.com/jinjunzh)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release">
  #### Corrección de errores (mal funcionamiento visible para el usuario en una versión oficial estable o preestable)
</div>

* Se corrigió un error que podía causar un interbloqueo al usar inserciones asíncronas. [#43233](https://github.com/ClickHouse/ClickHouse/pull/43233) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige parte de la lógica incorrecta en la optimización a nivel de AST `optimize_normalize_count_variants`. [#43873](https://github.com/ClickHouse/ClickHouse/pull/43873) ([Duc Canh Le](https://github.com/canhld94)).
* Corrige un caso en el que las mutaciones no progresaban cuando las sumas de comprobación no coincidían entre réplicas (p. ej., debido a un cambio en el formato de los datos durante una actualización). [#36877](https://github.com/ClickHouse/ClickHouse/pull/36877) ([nvartolomei](https://github.com/nvartolomei)).
* Se corrigió la optimización `skip_unavailable_shards`, que no funcionaba con la función de tabla `hdfsCluster`. [#43236](https://github.com/ClickHouse/ClickHouse/pull/43236) ([chen](https://github.com/xiedeyantu)).
* Se corrige el soporte de `s3` para el comodín `?`. Cierra [#42731](https://github.com/ClickHouse/ClickHouse/issues/42731). [#43253](https://github.com/ClickHouse/ClickHouse/pull/43253) ([chen](https://github.com/xiedeyantu)).
* Se corrigen las funciones `arrayFirstOrNull` y `arrayLastOrNull` para que devuelvan `null` cuando el array contiene elementos `Nullable`. [#43274](https://github.com/ClickHouse/ClickHouse/pull/43274) ([Duc Canh Le](https://github.com/canhld94)).
* Corrige el cálculo incorrecto de `UserTimeMicroseconds`/`SystemTimeMicroseconds` relacionado con las tablas de Kafka. [#42791](https://github.com/ClickHouse/ClickHouse/pull/42791) ([Azat Khuzhin](https://github.com/azat)).
* No se deben suprimir las excepciones en los discos `web`. Se corrigen los reintentos del disco `web`. [#42800](https://github.com/ClickHouse/ClickHouse/pull/42800) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió una condición de carrera (lógica) entre las inserciones y la eliminación de vistas materializadas. Se producía una condición de carrera cuando se eliminaba una vista materializada al mismo tiempo que un INSERT: las MV aparecían como dependencia de la inserción al comienzo de la ejecución, pero la tabla ya se había eliminado cuando la cadena de inserción intentaba acceder a ella, lo que provocaba una excepción `UNKNOWN_TABLE` o `TABLE_IS_DROPPED` y detenía la inserción. Tras este cambio, evitamos estas excepciones y simplemente continuamos con la inserción si la dependencia ya no existe. [#43161](https://github.com/ClickHouse/ClickHouse/pull/43161) ([AlfVII](https://github.com/AlfVII)).
* Corrige el comportamiento indefinido en la función `quantiles`, que podría dar lugar al uso de memoria no inicializada. Detectado por un fuzzer. Esto cierra [#44066](https://github.com/ClickHouse/ClickHouse/issues/44066). [#44067](https://github.com/ClickHouse/ClickHouse/pull/44067) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió una comprobación adicional en `CompressionCodecDelta` para el tamaño sin comprimir igual a cero. [#43255](https://github.com/ClickHouse/ClickHouse/pull/43255) ([Nikita Taranov](https://github.com/nickitat)).
* Aplanar arrays de Parquet para evitar un problema con datos inconsistentes en arrays. Estos archivos defectuosos pueden ser generados por Apache Iceberg. [#43297](https://github.com/ClickHouse/ClickHouse/pull/43297) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrige una conversión incorrecta de una columna `LowCardinality` al usar la ejecución de funciones con cortocircuito. [#43311](https://github.com/ClickHouse/ClickHouse/pull/43311) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigieron las consultas con `SAMPLE BY` con la optimización `prewhere` en tablas que usan el motor `Merge`. [#43315](https://github.com/ClickHouse/ClickHouse/pull/43315) ([Antonio Andelic](https://github.com/antonio2368)).
* Verificar y comparar el contenido del archivo `format_version` en `MergeTreeData` para que las tablas puedan cargarse incluso aunque se haya cambiado la política de almacenamiento. [#43328](https://github.com/ClickHouse/ClickHouse/pull/43328) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige el posible error lógico (muy improbable) "No column to rollback" durante INSERT en tablas `Buffer`. [#43336](https://github.com/ClickHouse/ClickHouse/pull/43336) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un error que permitía al analizador sintáctico procesar una cantidad ilimitada de paréntesis en una sola función si `allow_function_parameters` está activado. [#43350](https://github.com/ClickHouse/ClickHouse/pull/43350) ([Nikolay Degterinsky](https://github.com/evillique)).
* `MaterializeMySQL` (funcionalidad experimental) admite la DDL `drop table t1, t2` y es compatible con la mayoría de las sentencias DDL `DROP` de MySQL. [#43366](https://github.com/ClickHouse/ClickHouse/pull/43366) ([zzsmdfj](https://github.com/zzsmdfj)).
* `session_log` (función experimental): Se corrigió la imposibilidad de iniciar sesión (debida a un fallo al crear la entrada de session\_log) en un caso muy poco frecuente de perfiles de configuración mal definidos. [#42641](https://github.com/ClickHouse/ClickHouse/pull/42641) ([Vasily Nemkov](https://github.com/Enmk)).
* Corrige el posible error `Cannot create non-empty column with type Nothing` en las funciones `if`/`multiIf`. Cierra [#43356](https://github.com/ClickHouse/ClickHouse/issues/43356). [#43368](https://github.com/ClickHouse/ClickHouse/pull/43368) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió un error cuando un filtro de nivel de fila usaba el valor predeterminado de una columna. [#43387](https://github.com/ClickHouse/ClickHouse/pull/43387) ([Alexander Gololobov](https://github.com/davenger)).
* La consulta con `DISTINCT` + `LIMIT BY` + `LIMIT` puede devolver menos filas de lo esperado. Corrige [#43377](https://github.com/ClickHouse/ClickHouse/issues/43377). [#43410](https://github.com/ClickHouse/ClickHouse/pull/43410) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrige `sumMap` para `Nullable(Decimal(...))`. [#43414](https://github.com/ClickHouse/ClickHouse/pull/43414) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige `date_diff` para horas/minutos en macOS. Cierra [#42742](https://github.com/ClickHouse/ClickHouse/issues/42742). [#43466](https://github.com/ClickHouse/ClickHouse/pull/43466) ([zzsmdfj](https://github.com/zzsmdfj)).
* Se corrigió la contabilización incorrecta de memoria causada por merges/mutations. [#43516](https://github.com/ClickHouse/ClickHouse/pull/43516) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el análisis de la clave primaria con condiciones que incluyen `toString(enum)`. [#43596](https://github.com/ClickHouse/ClickHouse/pull/43596) ([Nikita Taranov](https://github.com/nickitat)). Este error fue detectado por @tisonkun.
* Garantiza la consistencia cuando `clickhouse-copier` actualiza el estado y `attach_is_done` en Keeper después de completar el attach de la partición. [#43602](https://github.com/ClickHouse/ClickHouse/pull/43602) ([lzydmxy](https://github.com/lzydmxy)).
* Durante la recuperación de una réplica perdida de una base de datos `Replicated` (funcionalidad experimental), podía darse una situación en la que fuera necesario intercambiar atómicamente los nombres de dos tablas (usar EXCHANGE). Antes intentábamos usar dos consultas RENAME, lo que, obviamente, fallaba y, además, hacía fracasar todo el proceso de recuperación de la réplica de la base de datos. [#43628](https://github.com/ClickHouse/ClickHouse/pull/43628) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrige el caso en que la función `s3Cluster` arroja el error `NOT_FOUND_COLUMN_IN_BLOCK`. Cierra [#43534](https://github.com/ClickHouse/ClickHouse/issues/43534). [#43629](https://github.com/ClickHouse/ClickHouse/pull/43629) ([chen](https://github.com/xiedeyantu)).
* Corrige un posible error lógico `Array sizes mismatched` durante el análisis de un objeto JSON con arrays que tienen los mismos nombres de clave, pero distintos niveles de anidación. Cierra [#43569](https://github.com/ClickHouse/ClickHouse/issues/43569). [#43693](https://github.com/ClickHouse/ClickHouse/pull/43693) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió una posible excepción en el caso de un `GROUP BY` distribuido con una columna `ALIAS` entre las claves de agregación. [#43709](https://github.com/ClickHouse/ClickHouse/pull/43709) ([Nikita Taranov](https://github.com/nickitat)).
* Corrige un error que puede provocar proyecciones rotas si la replicación zero-copy (funcionalidad experimental) está habilitada y en uso. [#43764](https://github.com/ClickHouse/ClickHouse/pull/43764) ([alesapin](https://github.com/alesapin)).
* Se corrige el uso de carga multiparte para objetos muy grandes en AWS S3. [#43824](https://github.com/ClickHouse/ClickHouse/pull/43824) ([ianton-ru](https://github.com/ianton-ru)).
* Se corrigió `ALTER ... RESET SETTING` con `ON CLUSTER`. Podía haberse aplicado solo a una réplica. Corrige [#43843](https://github.com/ClickHouse/ClickHouse/issues/43843). [#43848](https://github.com/ClickHouse/ClickHouse/pull/43848) ([Elena Torró](https://github.com/elenatorro)).
* Corrige un error lógico en JOIN con el motor de tabla `Join` en el lado derecho cuando se usa `USING`. [#43963](https://github.com/ClickHouse/ClickHouse/pull/43963) ([Vladimir C](https://github.com/vdimir)). Corrige un error en el orden incorrecto de las claves en el motor de tabla `Join`. [#44012](https://github.com/ClickHouse/ClickHouse/pull/44012) ([Vladimir C](https://github.com/vdimir)).
* Corrección de Keeper: lanzar una excepción si el puerto de interservidor para Raft ya está en uso. [#43984](https://github.com/ClickHouse/ClickHouse/pull/43984) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige el argumento posicional de ORDER BY (ejemplo: `ORDER BY 1, 2`) cuando se podan columnas innecesarias en las subconsultas. Cierra [#43964](https://github.com/ClickHouse/ClickHouse/issues/43964). [#43987](https://github.com/ClickHouse/ClickHouse/pull/43987) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió la excepción cuando una subconsulta contiene HAVING pero no incluye ninguna agregación real. [#44051](https://github.com/ClickHouse/ClickHouse/pull/44051) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige una condición de carrera en la carga multiparte en S3. Esta condición de carrera podía provocar el error `Part number must be an integer between 1 and 10000, inclusive. (S3_ERROR)` al restaurar a partir de una copia de seguridad. [#44065](https://github.com/ClickHouse/ClickHouse/pull/44065) ([Vitaly Baranov](https://github.com/vitlibar)).

### <a id="2211" /> Lanzamiento de ClickHouse 22.11, 2022-11-17. [Presentación](https://presentations.clickhouse.com/2022-release-22.11/), [Video](https://www.youtube.com/watch?v=LR-fckOOaFo)

<Frame>
  <iframe src="https://www.youtube.com/embed/LR-fckOOaFo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* La familia de funciones `JSONExtract` ahora intentará forzar la conversión al tipo solicitado. [#41502](https://github.com/ClickHouse/ClickHouse/pull/41502) ([Márcio Martins](https://github.com/marcioapm)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Añade compatibilidad con reintentos durante los INSERT en ReplicatedMergeTree cuando se pierde una sesión con ClickHouse Keeper. Además de mejorar la tolerancia a fallos, su objetivo es ofrecer una mejor experiencia de usuario y evitar que se le devuelva un error durante la inserción si se reinicia Keeper (por ejemplo, debido a una actualización). [#42607](https://github.com/ClickHouse/ClickHouse/pull/42607) ([Igor Nikonov](https://github.com/devcrafter)).
* Se añaden los motores de tabla `Hudi` y `DeltaLake` en modo de solo lectura, únicamente para tablas en S3. [#41054](https://github.com/ClickHouse/ClickHouse/pull/41054) ([Daniil Rubin](https://github.com/rubin-do), [Kseniia Sumarokova](https://github.com/kssenii)).
* Se agregan las funciones de tabla `hudi` y `deltaLake`. [#43080](https://github.com/ClickHouse/ClickHouse/pull/43080) ([flynn](https://github.com/ucasfl)).
* Compatibilidad con intervalos de tiempo compuestos. 1. Las operaciones de suma, resta y negación ahora están disponibles para los intervalos. En los casos en que los tipos de los intervalos sean diferentes, se transformarán en una Tuple de esos tipos. 2. Se puede sumar o restar una tupla de intervalos a un campo Date/DateTime. 3. Se añadió el análisis de intervalos con distintos tipos, por ejemplo: `INTERVAL '1 HOUR 1 MINUTE 1 SECOND'`. [#42195](https://github.com/ClickHouse/ClickHouse/pull/42195) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añadió compatibilidad con el patrón glob `**` para recorrer directorios de forma recursiva en el sistema de archivos y en S3. Resuelve [#36316](https://github.com/ClickHouse/ClickHouse/issues/36316). [#42376](https://github.com/ClickHouse/ClickHouse/pull/42376) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Introducir el tipo de disco `s3_plain` para operaciones de escritura única y lectura múltiple. Implementar `ATTACH` de la tabla `MergeTree` para el disco `s3_plain`. [#42628](https://github.com/ClickHouse/ClickHouse/pull/42628) ([Azat Khuzhin](https://github.com/azat)).
* Se añadieron las políticas de nivel de fila aplicadas a `system.query_log`. [#39819](https://github.com/ClickHouse/ClickHouse/pull/39819) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* Se añade el comando de cuatro letras `csnp` para crear instantáneas manualmente en ClickHouse Keeper. Además, se añadió `lgif` para obtener información de Raft sobre un nodo específico (p. ej., el índice de la última instantánea creada, el último índice de log confirmado). [#41766](https://github.com/ClickHouse/ClickHouse/pull/41766) ([JackyWoo](https://github.com/JackyWoo)).
* Se agregó la función `ascii`, como en Apache Spark: [https://spark.apache.org/docs/latest/api/sql/#ascii](https://spark.apache.org/docs/latest/api/sql/#ascii). [#42670](https://github.com/ClickHouse/ClickHouse/pull/42670) ([李扬](https://github.com/taiyang-li)).
* Se añade la función `pmod`, que devuelve un resultado no negativo basado en el operador módulo. [#42755](https://github.com/ClickHouse/ClickHouse/pull/42755) ([李扬](https://github.com/taiyang-li)).
* Añadir la función `formatReadableDecimalSize`. [#42774](https://github.com/ClickHouse/ClickHouse/pull/42774) ([Alejandro](https://github.com/alexon1234)).
* Se añadió la función `randCanonical`, similar a la función `rand` de Apache Spark o Impala. La función genera resultados seudoaleatorios con valores distribuidos uniformemente, independientes e idénticamente distribuidos, en \[0, 1). [#43124](https://github.com/ClickHouse/ClickHouse/pull/43124) ([李扬](https://github.com/taiyang-li)).
* Se agregó la función `displayName`, cierra [#36770](https://github.com/ClickHouse/ClickHouse/issues/36770). [#37681](https://github.com/ClickHouse/ClickHouse/pull/37681) ([hongbin](https://github.com/xlwh)).
* Se añade la configuración `min_age_to_force_merge_on_partition_only` para optimizar las partes antiguas solo a nivel de la partición completa. [#42659](https://github.com/ClickHouse/ClickHouse/pull/42659) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade una implementación genérica para las `named collections` con estructura arbitraria, el tipo de acceso y `system.named_collections`. [#43147](https://github.com/ClickHouse/ClickHouse/pull/43147) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="performance-improvement-1">
  #### mejora de rendimiento
</div>

* La función `match` puede usar el índice si la condición es sobre un prefijo de cadena. Esto cierra [#37333](https://github.com/ClickHouse/ClickHouse/issues/37333). [#42458](https://github.com/ClickHouse/ClickHouse/pull/42458) ([clarkcaoliu](https://github.com/Clark0)).
* Se aceleran los operadores AND y OR cuando se encadenan. [#42214](https://github.com/ClickHouse/ClickHouse/pull/42214) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* Se admite el parsing en paralelo para el formato de entrada `LineAsString`. Esto mejora el rendimiento solo ligeramente. Esto cierra [#42502](https://github.com/ClickHouse/ClickHouse/issues/42502). [#42780](https://github.com/ClickHouse/ClickHouse/pull/42780) ([Kruglov Pavel](https://github.com/Avogar)).
* Mejora del rendimiento de ClickHouse Keeper: se mejora el rendimiento de confirmación en los casos en que muchos nodos distintos tienen estados no confirmados. Esto debería ayudar en los casos en que un nodo seguidor no puede sincronizarse con la suficiente rapidez. [#42926](https://github.com/ClickHouse/ClickHouse/pull/42926) ([Antonio Andelic](https://github.com/antonio2368)).
* Una condición como `NOT LIKE 'prefix%'` puede usar el índice primario. [#42209](https://github.com/ClickHouse/ClickHouse/pull/42209) ([Duc Canh Le](https://github.com/canhld94)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se admite el tipo `Object` dentro de otros tipos, por ejemplo, `Array(JSON)`. [#36969](https://github.com/ClickHouse/ClickHouse/pull/36969) ([Anton Popov](https://github.com/CurtizJ)).
* Se ignora el evento SAVEPOINT del binlog de MySQL para MaterializedMySQL. [#42931](https://github.com/ClickHouse/ClickHouse/pull/42931) ([zzsmdfj](https://github.com/zzsmdfj)). Se manejan (ignoran) las consultas SAVEPOINT en MaterializedMySQL. [#43086](https://github.com/ClickHouse/ClickHouse/pull/43086) ([Stig Bakken](https://github.com/stigsb)).

<div id="improvement">
  #### Mejora
</div>

* Las consultas triviales con un `LIMIT` pequeño determinarán correctamente el número estimado de filas que deben leerse, de modo que el umbral se compruebe correctamente. Cierra [#7071](https://github.com/ClickHouse/ClickHouse/issues/7071). [#42580](https://github.com/ClickHouse/ClickHouse/pull/42580) ([Han Fei](https://github.com/hanfei1991)).
* Se añade soporte para parámetros interactivos en consultas INSERT VALUES. [#43077](https://github.com/ClickHouse/ClickHouse/pull/43077) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añadió un nuevo campo `allow_readonly` en `system.table_functions` para permitir el uso de funciones de tabla en modo readonly. Resuelve [#42414](https://github.com/ClickHouse/ClickHouse/issues/42414) Implementación: \* Se añadió un nuevo campo allow\_readonly a la tabla system.table\_functions. \* Se actualizó para usar el nuevo campo allow\_readonly y permitir el uso de funciones de tabla en modo readonly. Pruebas: \* Se añadió una prueba para el sistema de archivos tests/queries/0\_stateless/02473\_functions\_in\_readonly\_mode.sh Documentación: \* Se actualizó la documentación en inglés de Funciones de tabla. [#42708](https://github.com/ClickHouse/ClickHouse/pull/42708) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* `system.asynchronous_metrics` ahora incluye documentación integrada. Esta documentación también se exporta a Prometheus. Se corrigió un error en las métricas de los discos `cache`: se calculaban solo para un disco de caché arbitrario en lugar de para todos ellos. Esto cierra [#7644](https://github.com/ClickHouse/ClickHouse/issues/7644). [#43194](https://github.com/ClickHouse/ClickHouse/pull/43194) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El algoritmo de throttling cambió a token bucket. [#42665](https://github.com/ClickHouse/ClickHouse/pull/42665) ([Sergei Trifonov](https://github.com/serxa)).
* Se enmascaran las contraseñas y las claves secretas tanto en `system.query_log` como en `/var/log/clickhouse-server/*.log`, así como en los mensajes de error. [#42484](https://github.com/ClickHouse/ClickHouse/pull/42484) ([Vitaly Baranov](https://github.com/vitlibar)).
* Eliminar las partes cubiertas de la parte recuperada (para evitar posibles aumentos del retraso de replicación). [#39737](https://github.com/ClickHouse/ClickHouse/pull/39737) ([Azat Khuzhin](https://github.com/azat)).
* Si `/dev/tty` está disponible, el progreso en clickhouse-client y clickhouse-local se mostrará directamente en el terminal, sin escribirse en STDERR. Esto permite ver el progreso incluso si STDERR se redirige a un archivo, y evita que el archivo se llene de secuencias de escape del terminal. El progreso puede desactivarse con `--progress false`. Esto cierra [#32238](https://github.com/ClickHouse/ClickHouse/issues/32238). [#42003](https://github.com/ClickHouse/ClickHouse/pull/42003) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade compatibilidad con la entrada `FixedString` en las funciones de codificación base64. [#42285](https://github.com/ClickHouse/ClickHouse/pull/42285) ([ltrk2](https://github.com/ltrk2)).
* Añade las columnas `bytes_on_disk` y `path` a `system.detached_parts`. Cierra [#42264](https://github.com/ClickHouse/ClickHouse/issues/42264). [#42303](https://github.com/ClickHouse/ClickHouse/pull/42303) ([chen](https://github.com/xiedeyantu)).
* Se mejora el uso de la estructura de la tabla de inserción en las table functions; ahora, la configuración `use_structure_from_insertion_table_in_table_functions` tiene un nuevo valor posible: `2`, lo que significa que ClickHouse intentará determinar automáticamente si puede usar la estructura de la tabla de inserción o no. Cierra [#40028](https://github.com/ClickHouse/ClickHouse/issues/40028). [#42320](https://github.com/ClickHouse/ClickHouse/pull/42320) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige la ausencia de indicación de progreso en INSERT FROM INFILE. Cierra [#42548](https://github.com/ClickHouse/ClickHouse/issues/42548). [#42634](https://github.com/ClickHouse/ClickHouse/pull/42634) ([chen](https://github.com/xiedeyantu)).
* Se refactorizó la función `tokens` para permitir establecer el número máximo de tokens devueltos para las funciones relacionadas (desactivado de forma predeterminada). [#42673](https://github.com/ClickHouse/ClickHouse/pull/42673) ([李扬](https://github.com/taiyang-li)).
* Se permite usar argumentos `Date32` para las funciones `formatDateTime` y `FROM_UNIXTIME`. [#42737](https://github.com/ClickHouse/ClickHouse/pull/42737) ([Roman Vasin](https://github.com/rvasin)).
* Actualización de tzdata a 2022f. México dejará de aplicar el horario de verano excepto cerca de la frontera con EE. UU.: [https://www.timeanddate.com/news/time/mexico-abolishes-dst-2022.html](https://www.timeanddate.com/news/time/mexico-abolishes-dst-2022.html). Chihuahua pasará a UTC-6 durante todo el año el 2022-10-30. Fiji ya no aplica el horario de verano. Véase [https://github.com/google/cctz/pull/235](https://github.com/google/cctz/pull/235) y [https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1995209](https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1995209). [#42796](https://github.com/ClickHouse/ClickHouse/pull/42796) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la métrica de evento `FailedAsyncInsertQuery` para las inserciones asíncronas. [#42814](https://github.com/ClickHouse/ClickHouse/pull/42814) ([Krzysztof Góralski](https://github.com/kgoralski)).
* Se implementó la optimización `read-in-order` sobre el plan de consulta. Está habilitada de forma predeterminada. Establezca `query_plan_read_in_order = 0` para usar la versión anterior basada en AST. [#42829](https://github.com/ClickHouse/ClickHouse/pull/42829) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Aumentar exponencialmente el tamaño de cada parte de la carga en las copias de seguridad a S3 para evitar errores relacionados con el límite máximo de 10 000 partes de la carga multiparte a S3. [#42833](https://github.com/ClickHouse/ClickHouse/pull/42833) ([Vitaly Baranov](https://github.com/vitlibar)).
* Cuando la tarea de merge está continuamente ocupada y el espacio en disco es insuficiente, no se pueden seleccionar ni eliminar las partes que han expirado por completo, lo que deriva en falta de espacio en disco. Mi idea es que, cuando expira una parte completa, no sea necesario disponer de espacio adicional en disco para garantizar la ejecución normal del TTL. [#42869](https://github.com/ClickHouse/ClickHouse/pull/42869) ([zhongyuankai](https://github.com/zhongyuankai)).
* Añade la función `oss` y el motor de tabla `OSS` (esto resulta conveniente para los usuarios). oss es totalmente compatible con s3. [#43155](https://github.com/ClickHouse/ClickHouse/pull/43155) ([zzsmdfj](https://github.com/zzsmdfj)).
* Mejora la notificación de errores en la recopilación de información relacionada con el sistema operativo para la tabla `system.asynchronous_metrics`. [#43192](https://github.com/ClickHouse/ClickHouse/pull/43192) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Modificar las tablas `INFORMATION_SCHEMA` para que ClickHouse pueda conectarse a sí mismo mediante el protocolo de compatibilidad con MySQL. Añadir columnas en lugar de alias (relacionado con [#9769](https://github.com/ClickHouse/ClickHouse/issues/9769)). Esto mejorará la compatibilidad con diversos clientes MySQL. [#43198](https://github.com/ClickHouse/ClickHouse/pull/43198) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* Se agregaron algunas funciones para mejorar la compatibilidad con PowerBI cuando se conecta mediante el protocolo MySQL [#42612](https://github.com/ClickHouse/ClickHouse/pull/42612) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* Mejora de la usabilidad del Dashboard en los cambios [#42872](https://github.com/ClickHouse/ClickHouse/pull/42872) ([Vladimir C](https://github.com/vdimir)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Ejecutar SQLancer para cada pull request y cada commit en master. [SQLancer](https://github.com/sqlancer/sqlancer) es un fuzzer de código abierto centrado en la detección automática de errores lógicos. [#42397](https://github.com/ClickHouse/ClickHouse/pull/42397) ([Ilya Yatsishin](https://github.com/qoega)).
* Actualizar a la última versión de zlib-ng. [#42463](https://github.com/ClickHouse/ClickHouse/pull/42463) ([Boris Kuschel](https://github.com/bkuschel)).
* Añadir soporte para probar ClickHouse server con Jepsen. Por cierto, ya tenemos soporte para probar ClickHouse Keeper con Jepsen. Este pull request lo extiende a las tablas Replicated. [#42619](https://github.com/ClickHouse/ClickHouse/pull/42619) ([Antonio Andelic](https://github.com/antonio2368)).
* Usar [https://github.com/matus-chochlik/ctcache](https://github.com/matus-chochlik/ctcache) para almacenar en caché los resultados de clang-tidy. [#42913](https://github.com/ClickHouse/ClickHouse/pull/42913) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Antes de la corrección, RPM conservaba la configuración definida por el usuario en `$file.rpmsave`. Este pull request lo corrige y no reemplazará los archivos del usuario por los de los paquetes. [#42936](https://github.com/ClickHouse/ClickHouse/pull/42936) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Eliminar algunas bibliotecas de la imagen Docker de Ubuntu. [#42622](https://github.com/ClickHouse/ClickHouse/pull/42622) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-1">
  #### corrección de errores (mal funcionamiento visible para el usuario en una versión oficial estable o preestable)
</div>

* Se actualizó el normalizador para clonar el AST del alias. Resuelve [#42452](https://github.com/ClickHouse/ClickHouse/issues/42452) Implementación: \* Se actualizó QueryNormalizer para clonar el AST del alias cuando se sustituye. Anteriormente, asignar simplemente el mismo provocaba una excepción en LogicalExpressinsOptimizer, ya que se volvía a insertar el mismo nodo padre. \* Este error no se observa con el nuevo analizador (allow\_experimental\_analyzer), por lo que no se realizaron cambios en él. Añadí una prueba para ello. [#42827](https://github.com/ClickHouse/ClickHouse/pull/42827) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Se corrige una condición de carrera en la copia de seguridad de tablas en bases de datos `Lazy`. [#43104](https://github.com/ClickHouse/ClickHouse/pull/43104) ([Vitaly Baranov](https://github.com/vitlibar)).
* Corrección de `skip_unavailable_shards`: no funcionaba con la función de tabla `s3Cluster`. [#43131](https://github.com/ClickHouse/ClickHouse/pull/43131) ([chen](https://github.com/xiedeyantu)).
* Corrección de la inferencia de esquemas en `s3Cluster` y mejora en `hdfsCluster`. [#41979](https://github.com/ClickHouse/ClickHouse/pull/41979) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el manejo de los reintentos al leer desde motores de tabla URL / función de tabla. (los errores reintentables podían volver a intentarse más veces de las necesarias; los errores no reintentables provocaban un fallo de aserción en el código). [#42224](https://github.com/ClickHouse/ClickHouse/pull/42224) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se ha reportado y corregido un fallo de segmentación relacionado con DNS & c-ares. [#42234](https://github.com/ClickHouse/ClickHouse/pull/42234) ([Arthur Passos](https://github.com/arthurpassos)).
* Corrige `LOGICAL_ERROR` `Arguments of 'plus' have incorrect data types`, que puede producirse durante el análisis de PK (verificación de monotonicidad). Corrige el análisis incorrecto de PK para funciones binarias monotónicas con el primer argumento constante. [#42410](https://github.com/ClickHouse/ClickHouse/pull/42410) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige el análisis incorrecto de claves cuando los tipos de clave no pueden estar dentro de Nullable. Esto soluciona [#42456](https://github.com/ClickHouse/ClickHouse/issues/42456). [#42469](https://github.com/ClickHouse/ClickHouse/pull/42469) ([Amos Bird](https://github.com/amosbird)).
* Se corrige una errata en el nombre de una configuración que provocaba un uso incorrecto de la caché de inferencia de esquema al usar la configuración `input_format_csv_use_best_effort_in_schema_inference`. Cierra [#41735](https://github.com/ClickHouse/ClickHouse/issues/41735). [#42536](https://github.com/ClickHouse/ClickHouse/pull/42536) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la creación de un Set con una cabecera incorrecta cuando el tipo de datos es LowCardinality. Cierra [#42460](https://github.com/ClickHouse/ClickHouse/issues/42460). [#42579](https://github.com/ClickHouse/ClickHouse/pull/42579) ([flynn](https://github.com/ucasfl)).
* Los valores `(U)Int128` y `(U)Int256` se comprobaron correctamente en `PREWHERE`. [#42605](https://github.com/ClickHouse/ClickHouse/pull/42605) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió un error en el analizador de funciones que podría haber provocado un fallo de segmentación. [#42724](https://github.com/ClickHouse/ClickHouse/pull/42724) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige el bloqueo de `truncate table`. [#42728](https://github.com/ClickHouse/ClickHouse/pull/42728) ([flynn](https://github.com/ucasfl)).
* Se corrigió un posible fallo en los discos `web` cuando el archivo no existe (o en `OPTIMIZE TABLE FINAL`, que con el tiempo también podía provocar el mismo error). [#42767](https://github.com/ClickHouse/ClickHouse/pull/42767) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la asignación de `auth_type` en `system.session_log` para incluir `SSL_CERTIFICATE` entre los valores de `enum`. [#42782](https://github.com/ClickHouse/ClickHouse/pull/42782) ([Miel Donkers](https://github.com/mdonkers)).
* Se corrigió `stack-use-after-return` en la compilación con ASAN del analizador de la consulta CREATE USER. [#42804](https://github.com/ClickHouse/ClickHouse/pull/42804) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige `lowerUTF8`/`upperUTF8` cuando había un símbolo entre los límites de 16 bytes (caso muy frecuente si tiene cadenas de más de 16 bytes de longitud). [#42812](https://github.com/ClickHouse/ClickHouse/pull/42812) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió una comprobación adicional de límites a la rutina de descompresión de LZ4 para corregir un comportamiento incorrecto en caso de entrada malformada. [#42868](https://github.com/ClickHouse/ClickHouse/pull/42868) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige un bloqueo poco frecuente que podía producirse al cancelar una consulta. [#42874](https://github.com/ClickHouse/ClickHouse/pull/42874) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el comportamiento incorrecto al usar múltiples disyunciones en hash join; se cierra [#42832](https://github.com/ClickHouse/ClickHouse/issues/42832). [#42876](https://github.com/ClickHouse/ClickHouse/pull/42876) ([Vladimir C](https://github.com/vdimir)).
* Se generará un puntero nulo al ejecutar select if as en un 'join de tres tablas' , por ejemplo, con esta consulta SQL: [#42883](https://github.com/ClickHouse/ClickHouse/pull/42883) ([zzsmdfj](https://github.com/zzsmdfj)).
* Se corrige un error detectado por el sanitizador de memoria en Cluster Discovery, se cierra [#42763](https://github.com/ClickHouse/ClickHouse/issues/42763). [#42905](https://github.com/ClickHouse/ClickHouse/pull/42905) ([Vladimir C](https://github.com/vdimir)).
* Mejora de la inferencia de esquema para DateTime en caso de cadena vacía. [#42911](https://github.com/ClickHouse/ClickHouse/pull/42911) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige el poco frecuente error NOT\_FOUND\_COLUMN\_IN\_BLOCK cuando se puede usar una proyección, pero no hay ninguna disponible. Esto corrige [#42771](https://github.com/ClickHouse/ClickHouse/issues/42771) . El error se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/25563](https://github.com/ClickHouse/ClickHouse/pull/25563). [#42938](https://github.com/ClickHouse/ClickHouse/pull/42938) ([Amos Bird](https://github.com/amosbird)).
* Corrige ATTACH TABLE en el motor de base de datos `PostgreSQL` cuando la tabla contiene el tipo de datos DATETIME. Cierra [#42817](https://github.com/ClickHouse/ClickHouse/issues/42817). [#42960](https://github.com/ClickHouse/ClickHouse/pull/42960) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el análisis sintáctico de las expresiones lambda. Cierra [#41848](https://github.com/ClickHouse/ClickHouse/issues/41848). [#42979](https://github.com/ClickHouse/ClickHouse/pull/42979) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corregir el análisis incorrecto de claves cuando hay claves Nullable en medio de un hiperrectángulo. Esto corrige [#43111](https://github.com/ClickHouse/ClickHouse/issues/43111) . [#43133](https://github.com/ClickHouse/ClickHouse/pull/43133) ([Amos Bird](https://github.com/amosbird)).
* Corrige varias lecturas fuera de los límites del búfer en la deserialización de estados de funciones de agregación especialmente diseñados. [#43159](https://github.com/ClickHouse/ClickHouse/pull/43159) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige la función `if` en el caso de argumentos NULL y const Nullable. Cierra [#43069](https://github.com/ClickHouse/ClickHouse/issues/43069). [#43178](https://github.com/ClickHouse/ClickHouse/pull/43178) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el desbordamiento en la aritmética decimal al analizar DateTime con el algoritmo 'best effort'. Cierra [#43061](https://github.com/ClickHouse/ClickHouse/issues/43061). [#43180](https://github.com/ClickHouse/ClickHouse/pull/43180) ([Kruglov Pavel](https://github.com/Avogar)).
* El campo `indent` generado por la herramienta `git-import` se calculó de forma incorrecta. Consulte [https://clickhouse.com/docs/getting-started/example-datasets/github/](https://clickhouse.com/docs/getting-started/example-datasets/github/). [#43191](https://github.com/ClickHouse/ClickHouse/pull/43191) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió el comportamiento inesperado de los tipos `Interval` con las subconsultas y las conversiones de tipo. [#43193](https://github.com/ClickHouse/ClickHouse/pull/43193) ([jh0x](https://github.com/jh0x)).

### <a id="2210" /> Lanzamiento de ClickHouse 22.10, 2022-10-25. [Presentación](https://presentations.clickhouse.com/2022-release-22.10/), [Vídeo](https://www.youtube.com/watch?v=sz9SES5-mdc)

<Frame>
  <iframe src="https://www.youtube.com/embed/sz9SES5-mdc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se renombran los comandos de caché: `show caches` -> `show filesystem caches`, `describe cache` -> `describe filesystem cache`. [#41508](https://github.com/ClickHouse/ClickHouse/pull/41508) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se elimina la compatibilidad con la sección `WITH TIMEOUT` de `LIVE VIEW`. Esto cierra [#40557](https://github.com/ClickHouse/ClickHouse/issues/40557). [#42173](https://github.com/ClickHouse/ClickHouse/pull/42173) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se elimina la compatibilidad con la macro `{database}` del prompt del cliente. Se mostraba de forma incorrecta si la base de datos no estaba especificada y no se actualizaba con las sentencias `USE`. Esto cierra [#25891](https://github.com/ClickHouse/ClickHouse/issues/25891). [#42508](https://github.com/ClickHouse/ClickHouse/pull/42508) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Se añade la configuración componible de protocolos. Ahora se pueden configurar distintos protocolos con diferentes direcciones de escucha. Los envoltorios de protocolo, como PROXYv1, se pueden configurar para cualquier otro protocolo (TCP, TCP seguro, MySQL, Postgres). [#41198](https://github.com/ClickHouse/ClickHouse/pull/41198) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Añade `S3` como un nuevo tipo de destino de las copias de seguridad. Admite BACKUP en S3 con la estructura path/data tal cual. [#42333](https://github.com/ClickHouse/ClickHouse/pull/42333) ([Vitaly Baranov](https://github.com/vitlibar)), [#42232](https://github.com/ClickHouse/ClickHouse/pull/42232) ([Azat Khuzhin](https://github.com/azat)).
* Se añadieron funciones (`randUniform`, `randNormal`, `randLogNormal`, `randExponential`, `randChiSquared`, `randStudentT`, `randFisherF`, `randBernoulli`, `randBinomial`, `randNegativeBinomial`, `randPoisson`) para generar valores aleatorios de acuerdo con las distribuciones especificadas. Esto resuelve [#21834](https://github.com/ClickHouse/ClickHouse/issues/21834). [#42411](https://github.com/ClickHouse/ClickHouse/pull/42411) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Una mejora para ClickHouse Keeper: se añade compatibilidad para subir snapshots a S3. La información de S3 puede definirse dentro de `keeper_server.s3_snapshot`. [#41342](https://github.com/ClickHouse/ClickHouse/pull/41342) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añadió una función de agregación `analysisOfVariance` (`anova`) para realizar una prueba estadística sobre varios grupos de observaciones con distribución normal a fin de determinar si todos los grupos tienen la misma media o no. PR original [#37872](https://github.com/ClickHouse/ClickHouse/issues/37872). [#42131](https://github.com/ClickHouse/ClickHouse/pull/42131) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se permite limitar la cantidad de datos temporales almacenados en disco mediante los ajustes `max_temporary_data_on_disk_size_for_user`/`max_temporary_data_on_disk_size_for_query` . [#40893](https://github.com/ClickHouse/ClickHouse/pull/40893) ([Vladimir C](https://github.com/vdimir)).
* Añade la configuración `format_json_object_each_row_column_for_object_name` para escribir/parsear el nombre del objeto como valor de la columna en el formato JSONObjectEachRow. [#41703](https://github.com/ClickHouse/ClickHouse/pull/41703) ([Kruglov Pavel](https://github.com/Avogar)).
* Se agrega la función hash BLAKE3 a SQL. [#33435](https://github.com/ClickHouse/ClickHouse/pull/33435) ([BoloniniD](https://github.com/BoloniniD)).
* La función `javaHash` se ha extendido a los enteros. [#41131](https://github.com/ClickHouse/ClickHouse/pull/41131) ([JackyWoo](https://github.com/JackyWoo)).
* Añade compatibilidad de OpenTelemetry a DDL ON CLUSTER (requiere que `distributed_ddl_entry_format_version` esté configurado en 4). [#41484](https://github.com/ClickHouse/ClickHouse/pull/41484) ([Frank Chen](https://github.com/FrankChen021)).
* Se añadió la tabla del sistema `asynchronous_insert_log`. Contiene información sobre las inserciones asíncronas (incluidos los resultados de las consultas en modo fire-and-forget (con `wait_for_async_insert=0`)), lo que mejora la introspección. [#42040](https://github.com/ClickHouse/ClickHouse/pull/42040) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadió compatibilidad con los métodos de compresión `lz4`, `bz2` y `snappy` en la cabecera `Accept-Encoding` de HTTP, que es una extensión no estándar del protocolo HTTP. [#42071](https://github.com/ClickHouse/ClickHouse/pull/42071) ([Nikolay Degterinsky](https://github.com/evillique)).
* Añade funciones de codificación y descodificación de Morton (ZCurve). [#41753](https://github.com/ClickHouse/ClickHouse/pull/41753) ([Constantine Peresypkin](https://github.com/pkit)).
* Se agregó compatibilidad para `SET setting_name = DEFAULT`. [#42187](https://github.com/ClickHouse/ClickHouse/pull/42187) ([Filatenkov Artur](https://github.com/FArthur-cmd)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se agregó una nueva infraestructura para el análisis y la planificación de consultas con la configuración `allow_experimental_analyzer`. [#31796](https://github.com/ClickHouse/ClickHouse/pull/31796) ([Maksim Kita](https://github.com/kitaisreal)).
* Implementación inicial de Kusto Query Language. No la utilice. [#37961](https://github.com/ClickHouse/ClickHouse/pull/37961) ([Yong Wang](https://github.com/kashwy)).

<div id="performance-improvement">
  #### Mejora de rendimiento
</div>

* Relajar el umbral de "Too many parts". Esto cierra [#6551](https://github.com/ClickHouse/ClickHouse/issues/6551). Ahora ClickHouse permitirá más partes en una partición si el tamaño medio de las partes es lo bastante grande (al menos 10 GiB). Esto permite tener hasta petabytes de datos en una sola partición de una sola tabla en un solo servidor, algo posible con bandejas de discos o almacenamiento de objetos. [#42002](https://github.com/ClickHouse/ClickHouse/pull/42002) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Implementar un analizador de precedencia de operadores para reducir el tamaño de pila necesario. [#34892](https://github.com/ClickHouse/ClickHouse/pull/34892) ([Nikolay Degterinsky](https://github.com/evillique)).
* La optimización DISTINCT in order aprovecha las propiedades de ordenación de los streams de datos. Esta mejora permitirá la lectura en orden para DISTINCT cuando corresponda (antes era necesario proporcionar ORDER BY para las columnas de DISTINCT). [#41014](https://github.com/ClickHouse/ClickHouse/pull/41014) ([Igor Nikonov](https://github.com/devcrafter)).
* ColumnVector: optimizar el índice UInt8 con AVX512VBMI. [#41247](https://github.com/ClickHouse/ClickHouse/pull/41247) ([Guo Wangyang](https://github.com/guowangy)).
* Optimizar la contención de bloqueos para `ThreadGroupStatus::mutex`. Los experimentos de rendimiento de **SSB** (Star Schema Benchmark) en el dispositivo ICX (CPU Intel Xeon Platinum 8380, 80 núcleos, 160 hilos) muestran que este cambio podría aportar una mejora de **2.95x** en la media geométrica del QPS de todos los subcasos. [#41675](https://github.com/ClickHouse/ClickHouse/pull/41675) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* Añadir capacidades `ldapr` a las compilaciones de AArch64. Esto es compatible con instancias de Graviton 2+, Azure y GCP. Solo apareció en clang-15 [hace relativamente poco](https://github.com/llvm/llvm-project/commit/9609b5daffe9fd28d83d83da895abc5113f76c24). [#41778](https://github.com/ClickHouse/ClickHouse/pull/41778) ([Daniel Kutenin](https://github.com/danlark1)).
* Mejorar el rendimiento al comparar cadenas cuando uno de los argumentos es una cadena constante vacía. [#41870](https://github.com/ClickHouse/ClickHouse/pull/41870) ([Jiebin Sun](https://github.com/jiebinn)).
* Optimizar `insertFrom` de ColumnAggregateFunction para compartir Aggregate State en algunos casos. [#41960](https://github.com/ClickHouse/ClickHouse/pull/41960) ([flynn](https://github.com/ucasfl)).
* Acelerar la escritura en discos `azure_blob_storage` (respetar `max_single_part_upload_size` en lugar de escribir un bloque por cada tamaño de búfer). La ineficiencia se mencionó en [#41754](https://github.com/ClickHouse/ClickHouse/issues/41754). [#42041](https://github.com/ClickHouse/ClickHouse/pull/42041) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Hacer que los ID de hilo de la lista de procesos y de query\_log sean únicos para evitar desperdicio. [#42180](https://github.com/ClickHouse/ClickHouse/pull/42180) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permitir omitir por completo la caché (tanto la descarga a la caché como la lectura de datos en caché) si el rango de lectura solicitado supera el umbral definido por la configuración de caché `bypass_cache_threashold`; requiere habilitarlo con `enable_bypass_cache_with_threshold`. [#42418](https://github.com/ClickHouse/ClickHouse/pull/42418) ([Han Shukai](https://github.com/KinderRiven)). Esto ayuda en discos locales lentos.

<div id="improvement">
  #### Mejora
</div>

* Se añade la configuración `allow_implicit_no_password`: en combinación con `allow_no_password`, prohíbe crear un usuario sin contraseña a menos que se especifique explícitamente `IDENTIFIED WITH no_password`. [#41341](https://github.com/ClickHouse/ClickHouse/pull/41341) ([Nikolay Degterinsky](https://github.com/evillique)).
* Keeper integrado siempre se iniciará en segundo plano, lo que permitirá iniciar ClickHouse sin necesidad de alcanzar quorum. [#40991](https://github.com/ClickHouse/ClickHouse/pull/40991) ([Antonio Andelic](https://github.com/antonio2368)).
* Se hizo más ágil el restablecimiento de una nueva connection a ZooKeeper en caso de que expirara la anterior. Antes había una task que se ejecutaba cada minuto de forma predeterminada y, por lo tanto, una table podía quedar en estado readonly durante aproximadamente ese tiempo. [#41092](https://github.com/ClickHouse/ClickHouse/pull/41092) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ahora las proyecciones pueden usarse con la replicación zero-copy (la replicación zero-copy es una funcionalidad no apta para producción). [#41147](https://github.com/ClickHouse/ClickHouse/pull/41147) ([alesapin](https://github.com/alesapin)).
* Se admite la expresión `(EXPLAIN SELECT ...)` en una subconsulta. Consultas como `SELECT * FROM (EXPLAIN PIPELINE SELECT col FROM TABLE ORDER BY col)` ahora son válidas. [#40630](https://github.com/ClickHouse/ClickHouse/pull/40630) ([Vladimir C](https://github.com/vdimir)).
* Permite cambiar `async_insert_max_data_size` o `async_insert_busy_timeout_ms` en el ámbito de la consulta. Por ejemplo, si un usuario inserta datos con poca frecuencia y no tiene acceso a la configuración del servidor para ajustar las opciones predeterminadas. [#40668](https://github.com/ClickHouse/ClickHouse/pull/40668) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Mejoras en la lectura desde sistemas de archivos remotos; ahora se puede configurar el tamaño del threadpool para lecturas y escrituras. Cierra [#41070](https://github.com/ClickHouse/ClickHouse/issues/41070). [#41011](https://github.com/ClickHouse/ClickHouse/pull/41011) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Compatibilidad con todas las combinaciones de combinadores en el versionado de WindowTransform/arratReduce\*/initializeAggregation/funciones de agregación. Anteriormente, combinadores como `ForEach/Resample/Map` no funcionaban en estos casos; usarlos provocaba una excepción como `State function ... inserts results into non-state column`. [#41107](https://github.com/ClickHouse/ClickHouse/pull/41107) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añadió la función `tryDecrypt`, que devuelve NULL si el descifrado falla (p. ej., al descifrar con una clave incorrecta) en lugar de lanzar una excepción. [#41206](https://github.com/ClickHouse/ClickHouse/pull/41206) ([Duc Canh Le](https://github.com/canhld94)).
* Agrega la columna `unreserved_space` a la tabla `system.disks` para comprobar cuánto espacio queda sin reservar en cada disco. [#41254](https://github.com/ClickHouse/ClickHouse/pull/41254) ([filimonov](https://github.com/filimonov)).
* Compatibilidad con encabezados de autorización de S3 en los argumentos de la función de tabla. [#41261](https://github.com/ClickHouse/ClickHouse/pull/41261) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadió compatibilidad con MultiRead en Keeper y en el cliente interno de ZooKeeper (se trata de una extensión del protocolo de ZooKeeper, disponible solo en ClickHouse Keeper). [#41410](https://github.com/ClickHouse/ClickHouse/pull/41410) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade compatibilidad para comparar el tipo decimal con un literal de punto flotante en el operador IN. [#41544](https://github.com/ClickHouse/ClickHouse/pull/41544) ([liang.huang](https://github.com/lhuang09287750)).
* Permitir valores de tamaño legibles (como `1TB`) en la configuración de la caché. [#41688](https://github.com/ClickHouse/ClickHouse/pull/41688) ([Kseniia Sumarokova](https://github.com/kssenii)).
* ClickHouse podía almacenar en caché entradas DNS desactualizadas durante cierto tiempo (15 segundos de forma predeterminada) hasta que la caché se actualizara de forma asíncrona. Durante esos períodos, ClickHouse podía, no obstante, intentar establecer una conexión y generar errores. Este comportamiento se ha corregido. [#41707](https://github.com/ClickHouse/ClickHouse/pull/41707) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añadió una búsqueda interactiva en el historial con una utilidad tipo fzf (fzf/sk) para `clickhouse-client`/`clickhouse-local` (ten en cuenta que también puedes usar `FZF_DEFAULT_OPTS`/`SKIM_DEFAULT_OPTIONS` para configurar su comportamiento). [#41730](https://github.com/ClickHouse/ClickHouse/pull/41730) ([Azat Khuzhin](https://github.com/azat)).
* Permitir que los clientes que se conecten a un servidor seguro con un certificado no válido continúen únicamente con la marca '--accept-certificate'. [#41743](https://github.com/ClickHouse/ClickHouse/pull/41743) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se añade la función `tryBase58Decode`, similar a la función existente `tryBase64Decode`. [#41824](https://github.com/ClickHouse/ClickHouse/pull/41824) ([Robert Schulze](https://github.com/rschu1ze)).
* Mejora la información proporcionada al reemplazar una partición con una clave primaria distinta. Corrige [#34798](https://github.com/ClickHouse/ClickHouse/issues/34798). [#41838](https://github.com/ClickHouse/ClickHouse/pull/41838) ([Salvatore](https://github.com/tbsal)).
* Se corrige el parsing paralelo: el segmentador ahora comprueba `max_block_size`. Esto corrige la sobreasignación de memoria en caso de parsing paralelo y con un `LIMIT` pequeño. [#41852](https://github.com/ClickHouse/ClickHouse/pull/41852) ([Vitaly Baranov](https://github.com/vitlibar)).
* No añadir la excepción "TABLE\_IS\_DROPPED" a `system.errors` si se produjo durante un SELECT en una tabla del sistema y se ignoró. [#41908](https://github.com/ClickHouse/ClickHouse/pull/41908) ([AlfVII](https://github.com/AlfVII)).
* Se mejora la opción `enable_extended_results_for_datetime_functions` para devolver resultados de tipo DateTime64 en las funciones `toStartOfDay`, `toStartOfHour`, `toStartOfFifteenMinutes`, `toStartOfTenMinutes`, `toStartOfFiveMinutes`, `toStartOfMinute` y `timeSlot`. [#41910](https://github.com/ClickHouse/ClickHouse/pull/41910) ([Roman Vasin](https://github.com/rvasin)).
* Mejora la inferencia del tipo `DateTime` para formatos de texto. Ahora respeta la configuración `date_time_input_format` y no intenta inferir fechas y horas a partir de números como marcas de tiempo. Cierra [#41389](https://github.com/ClickHouse/ClickHouse/issues/41389) Cierra [#42206](https://github.com/ClickHouse/ClickHouse/issues/42206). [#41912](https://github.com/ClickHouse/ClickHouse/pull/41912) ([Kruglov Pavel](https://github.com/Avogar)).
* Se eliminó la advertencia confusa al insertar con `perform_ttl_move_on_insert` = false. [#41980](https://github.com/ClickHouse/ClickHouse/pull/41980) ([Vitaly Baranov](https://github.com/vitlibar)).
* Permitir que el usuario escriba `countState(*)`, de forma similar a `count(*)`. Esto cierra [#9338](https://github.com/ClickHouse/ClickHouse/issues/9338). [#41983](https://github.com/ClickHouse/ClickHouse/pull/41983) ([Amos Bird](https://github.com/amosbird)).
* Se corrige el desbordamiento de tamaño de `rankCorr`. [#42020](https://github.com/ClickHouse/ClickHouse/pull/42020) ([Duc Canh Le](https://github.com/canhld94)).
* Se añadió una opción para especificar cualquier cadena como nombre del entorno en la configuración de Sentry, para obtener informes más prácticos. [#42037](https://github.com/ClickHouse/ClickHouse/pull/42037) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrige el análisis de valores Date fuera de rango en CSV. [#42044](https://github.com/ClickHouse/ClickHouse/pull/42044) ([Andrey Zvonov](https://github.com/zvonand)).
* `parseDataTimeBestEffort` ahora admite el uso de una coma entre la fecha y la hora. Cierra [#42038](https://github.com/ClickHouse/ClickHouse/issues/42038). [#42049](https://github.com/ClickHouse/ClickHouse/pull/42049) ([flynn](https://github.com/ucasfl)).
* Se ha mejorado el proceso de recuperación de réplicas obsoletas para `ReplicatedMergeTree`. Si una réplica perdida tiene algunas partes que no están presentes en una réplica sana, pero estas partes deberían aparecer en el futuro según la cola de replicación de la réplica sana, la réplica perdida conservará esas partes en lugar de separarlas. [#42134](https://github.com/ClickHouse/ClickHouse/pull/42134) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se añade la posibilidad de usar argumentos `Date32` para la función date\_diff. Se corrige un problema en la función date\_diff al usar argumentos DateTime64 con una fecha de inicio anterior a la época Unix y una fecha de finalización posterior a la época Unix. [#42308](https://github.com/ClickHouse/ClickHouse/pull/42308) ([Roman Vasin](https://github.com/rvasin)).
* Al cargar partes grandes en Minio, 'Complete Multipart Upload' puede tardar bastante. Minio envía heartbeats cada 10 segundos (consulta [https://github.com/minio/minio/pull/7198](https://github.com/minio/minio/pull/7198)). Pero ClickHouse agota el tiempo de espera antes, porque el timeout predeterminado de envío/recepción está [configurado](https://github.com/ClickHouse/ClickHouse/blob/cc24fcd6d5dfb67f5f66f5483e986bd1010ad9cf/src/IO/S3/PocoHTTPClient.cpp#L123) en 5 segundos. [#42321](https://github.com/ClickHouse/ClickHouse/pull/42321) ([filimonov](https://github.com/filimonov)).
* Corrige un caso poco frecuente de conversión no válida de tipos de estado de agregación con tipos complejos como Decimal. Esto corrige [#42408](https://github.com/ClickHouse/ClickHouse/issues/42408). [#42417](https://github.com/ClickHouse/ClickHouse/pull/42417) ([Amos Bird](https://github.com/amosbird)).
* Permitir el uso de argumentos `Date32` en la función `dateName`. [#42554](https://github.com/ClickHouse/ClickHouse/pull/42554) ([Roman Vasin](https://github.com/rvasin)).
* Ahora, los filtros con literales NULL se usarán durante el análisis de índices. [#34063](https://github.com/ClickHouse/ClickHouse/issues/34063). [#41842](https://github.com/ClickHouse/ClickHouse/pull/41842) ([Amos Bird](https://github.com/amosbird)).
* Fusionar partes si cada parte del rango es más antigua que un umbral determinado. El umbral puede establecerse mediante `min_age_to_force_merge_seconds`. Esto cierra [#35836](https://github.com/ClickHouse/ClickHouse/issues/35836). [#42423](https://github.com/ClickHouse/ClickHouse/pull/42423) ([Antonio Andelic](https://github.com/antonio2368)). Esto es una continuación de [#39550i](https://github.com/ClickHouse/ClickHouse/pull/39550) de [@fastio](https://github.com/fastio), quien implementó la mayor parte de la lógica.
* Se añadió una nueva infraestructura para el análisis y la planificación de consultas, controlada por la configuración `allow_experimental_analyzer`. [#31796](https://github.com/ClickHouse/ClickHouse/pull/31796) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el tiempo de recuperación de las conexiones perdidas con Keeper. [#42541](https://github.com/ClickHouse/ClickHouse/pull/42541) ([Raúl Marín](https://github.com/Algunenano)).

<div id="buildtestingpackaging-improvement">
  #### Mejora de compilación/pruebas/empaquetado
</div>

* Se añadió un fuzzer para definiciones de tablas [#40096](https://github.com/ClickHouse/ClickHouse/pull/40096) ([Anton Popov](https://github.com/CurtizJ)). Esto representa el mayor avance en las pruebas de ClickHouse en lo que va de año.
* Se ha lanzado la versión Beta del servicio ClickHouse Cloud: [https://console.clickhouse.cloud/](https://console.clickhouse.cloud/). Proporciona la forma más sencilla de usar ClickHouse (incluso algo más fácil que la instalación con un solo comando).
* Se añadió al AST Fuzzer compatibilidad con la generación de cláusulas WHERE, así como la posibilidad de añadir o eliminar ORDER BY y la cláusula WHERE. [#38519](https://github.com/ClickHouse/ClickHouse/pull/38519) ([Ilya Yatsishin](https://github.com/qoega)).
* Los binarios Aarch64 ahora requieren al menos ARMv8.2, introducido en 2016. En particular, esto permite usar ARM LSE, es decir, operaciones atómicas nativas. Además, se ha añadido la opción de compilación de CMake "NO\_ARMV81\_OR\_HIGHER" para permitir compilar binarios para hardware ARMv8.0 más antiguo, por ejemplo, Raspberry Pi 4. [#41610](https://github.com/ClickHouse/ClickHouse/pull/41610) ([Robert Schulze](https://github.com/rschu1ze)).
* Se permite compilar ClickHouse con Musl (pequeños cambios tras haberse añadido compatibilidad previamente, aunque estaba roto). [#41987](https://github.com/ClickHouse/ClickHouse/pull/41987) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió la comprobación del archivo `$CLICKHOUSE_CRONFILE` para evitar ejecutar el comando `sed` y encontrarse con el error de archivo no encontrado durante la instalación. [#42081](https://github.com/ClickHouse/ClickHouse/pull/42081) ([Chun-Sheng, Li](https://github.com/peter279k)).
* Se actualizó cctz a `2022e` para admitir los nuevos cambios en las zonas horarias. Las transiciones de Palestina ahora son los sábados a las 02:00. Se simplifican tres zonas de Ucrania en una sola. Jordania y Siria pasan de +02/+03 con DST a +03 durante todo el año. ([https://data.iana.org/time-zones/tzdb/NEWS](https://data.iana.org/time-zones/tzdb/NEWS)). Con esto se cierra [#42252](https://github.com/ClickHouse/ClickHouse/issues/42252). [#42327](https://github.com/ClickHouse/ClickHouse/pull/42327) ([Alexey Milovidov](https://github.com/alexey-milovidov)). [#42273](https://github.com/ClickHouse/ClickHouse/pull/42273) ([Dom Del Nano](https://github.com/ddelnano)).
* Se añadió compatibilidad con código Rust en ClickHouse, con la biblioteca de funciones hash BLAKE3 como ejemplo. [#33435](https://github.com/ClickHouse/ClickHouse/pull/33435) ([BoloniniD](https://github.com/BoloniniD)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-2">
  #### Corrección de errores (mal funcionamiento visible para el usuario en una versión oficial estable o prestable)
</div>

* Elija el método de agregación adecuado para `LowCardinality` con tipos enteros grandes. [#42342](https://github.com/ClickHouse/ClickHouse/pull/42342) ([Duc Canh Le](https://github.com/canhld94)).
* Varias correcciones en el disco `web`. [#41652](https://github.com/ClickHouse/ClickHouse/pull/41652) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un problema que hace que `docker run` falle si `https_port` no está presente en la configuración. [#41693](https://github.com/ClickHouse/ClickHouse/pull/41693) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Las mutaciones no se cancelaban correctamente al apagar el servidor o al ejecutar la consulta `SYSTEM STOP MERGES`, y la cancelación podía tardar mucho; ya se ha corregido. [#41699](https://github.com/ClickHouse/ClickHouse/pull/41699) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se corrige el resultado incorrecto de las consultas con `ORDER BY` o `GROUP BY` sobre columnas del prefijo de la clave de ordenación, envueltas en funciones monotónicas, con la optimización "read in order" habilitada (configuraciones `optimize_read_in_order` y `optimize_aggregation_in_order`). [#41701](https://github.com/ClickHouse/ClickHouse/pull/41701) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un posible fallo en `SELECT` desde una tabla `Merge` con la opción `optimize_monotonous_functions_in_order_by` habilitada. Corrige [#41269](https://github.com/ClickHouse/ClickHouse/issues/41269). [#41740](https://github.com/ClickHouse/ClickHouse/pull/41740) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió el error "Part ... intersects part ..." que podía producirse en casos extremadamente raros si una réplica se reiniciaba justo después de separar alguna parte como dañada. [#41741](https://github.com/ClickHouse/ClickHouse/pull/41741) ([Alexander Tokmakov](https://github.com/tavplubix)).
* No se permite crear ni modificar tablas de MergeTree con el nombre de columna `_row_exists`, que está reservado para la eliminación ligera. Corregido en [#41716](https://github.com/ClickHouse/ClickHouse/issues/41716). [#41763](https://github.com/ClickHouse/ClickHouse/pull/41763) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Se corrige un error por el que faltaban cabeceras CORS en algunas respuestas HTTP. [#41792](https://github.com/ClickHouse/ClickHouse/pull/41792) ([Frank Chen](https://github.com/FrankChen021)).
* Es posible que 22.9 no inicie una tabla `ReplicatedMergeTree` si esa tabla se creó con la versión 20.3 o anterior y nunca se modificó; ya está corregido. Corrige [#41742](https://github.com/ClickHouse/ClickHouse/issues/41742). [#41796](https://github.com/ClickHouse/ClickHouse/pull/41796) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Cuando el envío de un lote falla por algún motivo, no puede recuperarse automáticamente y, si no se procesa a tiempo, se irá acumulando; además, el mensaje de error impreso será cada vez más largo, lo que acabará bloqueando el hilo HTTP. [#41813](https://github.com/ClickHouse/ClickHouse/pull/41813) ([zhongyuankai](https://github.com/zhongyuankai)).
* Corrige las partes compactas con la configuración de marcas comprimidas. Corrige [#41783](https://github.com/ClickHouse/ClickHouse/issues/41783) y [#41746](https://github.com/ClickHouse/ClickHouse/issues/41746). [#41823](https://github.com/ClickHouse/ClickHouse/pull/41823) ([alesapin](https://github.com/alesapin)).
* Las versiones antiguas de la base de datos Replicated no tienen un marcador especial en \[Zoo]Keeper. Solo hay que comprobar si el nodo contiene ciertos datos poco habituales en lugar de una marca especial. [#41875](https://github.com/ClickHouse/ClickHouse/pull/41875) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Corregida una posible excepción en la caché de fs. [#41884](https://github.com/ClickHouse/ClickHouse/pull/41884) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige `use_environment_credentials` para la función de tabla S3. [#41970](https://github.com/ClickHouse/ClickHouse/pull/41970) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió el error "El directorio ya existe y no está vacío" al separar una parte dañada que podía impedir que la tabla `ReplicatedMergeTree` iniciara la replicación. Corrige [#40957](https://github.com/ClickHouse/ClickHouse/issues/40957). [#41981](https://github.com/ClickHouse/ClickHouse/pull/41981) ([Alexander Tokmakov](https://github.com/tavplubix)).
* `toDateTime64` ahora devuelve el mismo resultado con argumentos enteros negativos y de coma flotante. [#42025](https://github.com/ClickHouse/ClickHouse/pull/42025) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrige la escritura en `azure_blob_storage`. Soluciona parcialmente [#41754](https://github.com/ClickHouse/ClickHouse/issues/41754). [#42034](https://github.com/ClickHouse/ClickHouse/pull/42034) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige el problema de decodificación de `bzip2` en archivos `bzip2` específicos. [#42046](https://github.com/ClickHouse/ClickHouse/pull/42046) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrigió la función SQL `toLastDayOfMonth` con la configuración "enable\_extended\_results\_for\_datetime\_functions = 1" al inicio del rango extendido (enero de 1900). - Se corrigió la función SQL "toRelativeWeekNum()" con la configuración "enable\_extended\_results\_for\_datetime\_functions = 1" al final del rango extendido (diciembre de 2299). - Se mejoró el rendimiento de las funciones SQL "toISOYear()", "toFirstDayNumOfISOYearIndex()" y "toYearWeekOfNewyearMode()" al evitar operaciones aritméticas innecesarias con índices. [#42084](https://github.com/ClickHouse/ClickHouse/pull/42084) ([Roman Vasin](https://github.com/rvasin)).
* El número máximo de fetches para cada tabla se estableció accidentalmente en 8, mientras que el tamaño del pool podía ser mayor. Ahora, el número máximo de fetches para la tabla es igual al tamaño del pool. [#42090](https://github.com/ClickHouse/ClickHouse/pull/42090) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Una tabla podía desactivarse y un Diccionario podía pasar al estado detached antes de comprobar si podían eliminarse sin romper las dependencias; esto se ha corregido. Corrige [#41982](https://github.com/ClickHouse/ClickHouse/issues/41982). [#42106](https://github.com/ClickHouse/ClickHouse/pull/42106) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige una importante ineficiencia de `remote_filesystem_read_method=read` con la caché del sistema de archivos. Cierra [#42125](https://github.com/ClickHouse/ClickHouse/issues/42125). [#42129](https://github.com/ClickHouse/ClickHouse/pull/42129) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige una posible excepción por timeout en consultas distribuidas con use\_hedged\_requests = 0. [#42130](https://github.com/ClickHouse/ClickHouse/pull/42130) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un error menor en la función `runningDifference` al usarla con el tipo `Date32`. Anteriormente se usaba `Date`, lo que podía provocar algunos errores lógicos como `Bad cast from type DB::ColumnVector<int> to DB::ColumnVector<unsigned short>'`. [#42143](https://github.com/ClickHouse/ClickHouse/pull/42143) ([Alfred Xu](https://github.com/sperlingxx)).
* Se corrigió la reutilización de archivos > 4 GB de la copia de seguridad base. [#42146](https://github.com/ClickHouse/ClickHouse/pull/42146) ([Azat Khuzhin](https://github.com/azat)).
* DISTINCT in order genera LOGICAL\_ERROR si la primera columna de la clave de ordenación contiene una función. [#42186](https://github.com/ClickHouse/ClickHouse/pull/42186) ([Igor Nikonov](https://github.com/devcrafter)).
* Soluciona un error con las proyecciones y la configuración `aggregate_functions_null_for_empty`. Este error es muy poco frecuente y solo aparece si habilitas la configuración `aggregate_functions_null_for_empty` en la configuración del servidor. Esto cierra [#41647](https://github.com/ClickHouse/ClickHouse/issues/41647). [#42198](https://github.com/ClickHouse/ClickHouse/pull/42198) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió la lectura desde tablas `Buffer` con lectura en orden descendente. [#42236](https://github.com/ClickHouse/ClickHouse/pull/42236) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrige un error que impedía que ClickHouse se iniciara cuando se establecía `background_pool_size setting` en el perfil predeterminado, pero no `background_merges_mutations_concurrency_ratio`. [#42315](https://github.com/ClickHouse/ClickHouse/pull/42315) ([nvartolomei](https://github.com/nvartolomei)).
* `ALTER UPDATE` de una parte adjunta (con columnas distintas del esquema de la tabla) podía crear metadatos `columns.txt` no válidos en disco. La lectura de esa parte podía generar errores o devolver datos no válidos. Corrige [#42161](https://github.com/ClickHouse/ClickHouse/issues/42161). [#42319](https://github.com/ClickHouse/ClickHouse/pull/42319) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* La configuración `additional_table_filters` no se aplicaba al almacenamiento `Distributed`. Soluciona [#41692](https://github.com/ClickHouse/ClickHouse/issues/41692). [#42322](https://github.com/ClickHouse/ClickHouse/pull/42322) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige una condición de carrera al finalizar/cancelar la consulta. Esto cierra [#42346](https://github.com/ClickHouse/ClickHouse/issues/42346). [#42362](https://github.com/ClickHouse/ClickHouse/pull/42362) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se revierte [#40217](https://github.com/ClickHouse/ClickHouse/issues/40217), que introdujo una regresión en las funciones de fecha/hora. [#42367](https://github.com/ClickHouse/ClickHouse/pull/42367) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige un assert en cast en join con una condición falsa, cierra [#42380](https://github.com/ClickHouse/ClickHouse/issues/42380). [#42407](https://github.com/ClickHouse/ClickHouse/pull/42407) ([Vladimir C](https://github.com/vdimir)).
* Corrige un desbordamiento de búfer al procesar tipos de datos Decimal. Esto cierra [#42451](https://github.com/ClickHouse/ClickHouse/issues/42451). [#42465](https://github.com/ClickHouse/ClickHouse/pull/42465) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* `AggregateFunctionQuantile` ahora funciona correctamente con columnas UInt128. Anteriormente, el estado del cuantíl interpretaba las columnas `UInt128` como `Int128`, lo que podía dar lugar a resultados incorrectos. [#42473](https://github.com/ClickHouse/ClickHouse/pull/42473) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el fallo de aserción bad\_cast al hacer INSERT en índices `Annoy` sobre columnas que no son Float32. Los índices `Annoy` son una funcionalidad experimental. [#42485](https://github.com/ClickHouse/ClickHouse/pull/42485) ([Robert Schulze](https://github.com/rschu1ze)).
* El operador aritmético con Date o DateTime y enteros de 128 o 256 bits hacía referencia a memoria sin inicializar. [#42453](https://github.com/ClickHouse/ClickHouse/issues/42453). [#42573](https://github.com/ClickHouse/ClickHouse/pull/42573) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió un error inesperado al cargar tablas cuando la clave de partición contiene nombres de funciones alias durante la actualización del servidor. [#36379](https://github.com/ClickHouse/ClickHouse/pull/36379) ([Amos Bird](https://github.com/amosbird)).

### <a id="229" /> Lanzamiento de ClickHouse 22.9, 2022-09-22. [Presentación](https://presentations.clickhouse.com/2022-release-22.9/), [Vídeo](https://www.youtube.com/watch?v=rK2BsaaaOCA)

<Frame>
  <iframe src="https://www.youtube.com/embed/rK2BsaaaOCA" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* La actualización de la versión 20.3 o anteriores a la 22.9 o posteriores debe realizarse a través de una versión intermedia si hay alguna tabla `ReplicatedMergeTree`; de lo contrario, el servidor con la nueva versión no se iniciará. [#40641](https://github.com/ClickHouse/ClickHouse/pull/40641) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se eliminan las funciones `accurate_Cast` y `accurate_CastOrNull` (se diferencian de `accurateCast` y `accurateCastOrNull` por el guion bajo en el nombre y no se ven afectadas por el valor de la configuración `cast_keep_nullable`). Estas funciones no estaban documentadas, no se probaban, no se usaban y no eran necesarias. Parecían seguir activas debido a la generalización del código. [#40682](https://github.com/ClickHouse/ClickHouse/pull/40682) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade una prueba para garantizar que toda nueva función de tabla quede documentada. Véase [#40649](https://github.com/ClickHouse/ClickHouse/issues/40649). Se cambia el nombre de la función de tabla `MeiliSearch` a `meilisearch`. [#40709](https://github.com/ClickHouse/ClickHouse/pull/40709) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade una prueba para garantizar que toda nueva función quede documentada. Véase [#40649](https://github.com/ClickHouse/ClickHouse/pull/40649). Las funciones `lemmatize`, `synonyms` y `stem` no distinguían entre mayúsculas y minúsculas por error. Ahora sí las distinguen. [#40711](https://github.com/ClickHouse/ClickHouse/pull/40711) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Por motivos de seguridad y estabilidad, los modelos de catboost ya no se evalúan dentro del servidor de ClickHouse. En su lugar, la evaluación ahora
  se realiza en clickhouse-library-bridge, un proceso independiente que carga la biblioteca de catboost y se comunica con el proceso del servidor mediante
  HTTP. [#40897](https://github.com/ClickHouse/ClickHouse/pull/40897) ([Robert Schulze](https://github.com/rschu1ze)).
* Se hace más convencional la interpretación de las configuraciones YAML. [#41044](https://github.com/ClickHouse/ClickHouse/pull/41044) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Compatibilidad con `insert_quorum = 'auto'` para usar el número de la mayoría. [#39970](https://github.com/ClickHouse/ClickHouse/pull/39970) ([Sachin](https://github.com/SachinSetiya)).
* Añade dashboards integrados a servidor de ClickHouse. Este es un proyecto de demostración sobre cómo lograr el 90 % de los resultados con el 1 % del esfuerzo usando funcionalidades de ClickHouse. [#40461](https://github.com/ClickHouse/ClickHouse/pull/40461) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadió el nuevo tipo de capacidad de escritura para restricciones de settings `changeable_in_readonly`. [#40631](https://github.com/ClickHouse/ClickHouse/pull/40631) ([Sergei Trifonov](https://github.com/serxa)).
* Añade compatibilidad con `INTERSECT DISTINCT` y `EXCEPT DISTINCT`. [#40792](https://github.com/ClickHouse/ClickHouse/pull/40792) ([Duc Canh Le](https://github.com/canhld94)).
* Añade un nuevo formato de entrada/salida `JSONObjectEachRow` - Compatibilidad con la importación para los formatos `JSON/JSONCompact/JSONColumnsWithMetadata`. Añade el nuevo ajuste `input_format_json_validate_types_from_metadata`, que controla si se debe comprobar que los tipos de datos de los metadatos coincidan con los tipos de datos del encabezado. - Añade el nuevo ajuste `input_format_json_validate_utf8`; cuando está habilitado, todos los formatos `JSON` validarán las secuencias UTF-8. Estará deshabilitado de forma predeterminada. Ten en cuenta que este ajuste no influye en los formatos de salida `JSON/JSONCompact/JSONColumnsWithMetadata`, que siempre validan las secuencias UTF-8 (esta excepción se hizo por razones de compatibilidad). - Añade el nuevo ajuste `input_format_json_read_numbers_as_strings `, que permite interpretar números en una columna String; este ajuste está deshabilitado de forma predeterminada. - Añade el nuevo ajuste `output_format_json_quote_decimals`, que permite generar decimales entre comillas dobles; está deshabilitado de forma predeterminada. - Permite interpretar decimales entre comillas dobles durante la importación de datos. [#40910](https://github.com/ClickHouse/ClickHouse/pull/40910) ([Kruglov Pavel](https://github.com/Avogar)).
* Se admiten parámetros de consulta en la consulta DESCRIBE TABLE. [#40952](https://github.com/ClickHouse/ClickHouse/pull/40952) ([Nikita Taranov](https://github.com/nickitat)).
* Añade compatibilidad con Parquet Time32/64 convirtiéndolo en DateTime64. Parquet time32/64 representa el tiempo transcurrido desde la medianoche, mientras que DateTime32/64 representa una marca de tiempo Unix real. La conversión simplemente aplica un desplazamiento desde `0`. [#41333](https://github.com/ClickHouse/ClickHouse/pull/41333) ([Arthur Passos](https://github.com/arthurpassos)).
* Implementa operaciones de conjuntos en Apache Datasketches. [#39919](https://github.com/ClickHouse/ClickHouse/pull/39919) ([Fangyuan Deng](https://github.com/pzhdfy)). Nota: no tiene sentido usar Apache Datasketches; son inferiores a ClickHouse y solo tienen sentido para la integración con otros sistemas.
* Permite registrar errores en un archivo especificado mientras se leen formatos de texto (`CSV`, `TSV`). [#40516](https://github.com/ClickHouse/ClickHouse/pull/40516) ([zjial](https://github.com/zjial)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se añade un índice ANN (vecino más cercano aproximado) basado en `Annoy`. [#40818](https://github.com/ClickHouse/ClickHouse/pull/40818) ([Filatenkov Artur](https://github.com/FArthur-cmd)). [#37215](https://github.com/ClickHouse/ClickHouse/pull/37215) ([VVMak](https://github.com/VVMak)).
* Se añade un nuevo motor de almacenamiento, `KeeperMap`, que usa ClickHouse Keeper o ZooKeeper como almacén clave-valor. [#39976](https://github.com/ClickHouse/ClickHouse/pull/39976) ([Antonio Andelic](https://github.com/antonio2368)). Este motor de almacenamiento está pensado para almacenar una pequeña cantidad de metadatos.
* Mejora para las partes de datos en memoria: se eliminan los archivos WAL completamente procesados. [#40592](https://github.com/ClickHouse/ClickHouse/pull/40592) ([Azat Khuzhin](https://github.com/azat)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Implementación de la compresión de las marcas y de la clave primaria. Cierra [#34437](https://github.com/ClickHouse/ClickHouse/issues/34437). [#37693](https://github.com/ClickHouse/ClickHouse/pull/37693) ([zhongyuankai](https://github.com/zhongyuankai)).
* Permite cargar los marks por adelantado mediante un pool de hilos. Se controla con la configuración `load_marks_asynchronously` (predeterminado: 0). [#40821](https://github.com/ClickHouse/ClickHouse/pull/40821) ([Kseniia Sumarokova](https://github.com/kssenii)).
* El sistema de archivos virtual sobre S3 usará nombres aleatorios para los objetos, distribuidos entre varios prefijos de ruta, para mejorar el rendimiento en AWS. [#40968](https://github.com/ClickHouse/ClickHouse/pull/40968) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Considerar el valor de `max_block_size` al generar resultados de agregación de un solo nivel. Permite ejecutar los pasos posteriores del plan de consulta con más hilos. [#39138](https://github.com/ClickHouse/ClickHouse/pull/39138) ([Nikita Taranov](https://github.com/nickitat)).
* La precarga por software se usa en la agregación para acelerar las operaciones con tablas hash. Está controlada por la configuración `enable_software_prefetch_in_aggregation`, habilitada de forma predeterminada. [#39304](https://github.com/ClickHouse/ClickHouse/pull/39304) ([Nikita Taranov](https://github.com/nickitat)).
* Mejor soporte para `optimize_read_in_order` cuando algunas de las columnas de la clave de ordenación son siempre constantes tras aplicar la cláusula `WHERE`. Por ejemplo, una consulta como `SELECT ... FROM table WHERE a = 'x' ORDER BY a, b`, donde `table` tiene la definición de almacenamiento `MergeTree ORDER BY (a, b)`. [#38715](https://github.com/ClickHouse/ClickHouse/pull/38715) ([Anton Popov](https://github.com/CurtizJ)).
* Filtrar entre sí los flujos combinados para `full_sorting_join` antes de ordenarlos. [#39418](https://github.com/ClickHouse/ClickHouse/pull/39418) ([Vladimir C](https://github.com/vdimir)).
* Descompresión LZ4 optimizada al omitir el procesamiento de literales vacíos. [#40142](https://github.com/ClickHouse/ClickHouse/pull/40142) ([Nikita Taranov](https://github.com/nickitat)).
* Se acelera el proceso de copia de seguridad usando `copy` nativo cuando es posible, en lugar de copiar a través de la memoria de `clickhouse-server`. [#40395](https://github.com/ClickHouse/ClickHouse/pull/40395) ([alesapin](https://github.com/alesapin)).
* Evitar obtener una instantánea de almacenamiento para cada bloque de INSERT (mejora ligeramente el rendimiento). [#40638](https://github.com/ClickHouse/ClickHouse/pull/40638) ([Azat Khuzhin](https://github.com/azat)).
* Se implementa el procesamiento por lotes para funciones de agregación con varios argumentos Nullable. [#41058](https://github.com/ClickHouse/ClickHouse/pull/41058) ([Raúl Marín](https://github.com/Algunenano)).
* Acelera la lectura de UniquesHashSet (`uniqState`, por ejemplo, desde disco). [#41089](https://github.com/ClickHouse/ClickHouse/pull/41089) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrigió el alto consumo de memoria al ejecutar mutaciones de partes compactas en tablas con un gran número de columnas. [#41122](https://github.com/ClickHouse/ClickHouse/pull/41122) ([lthaooo](https://github.com/lthaooo)).
* Se habilita la biblioteca vectorscan en ARM, lo que acelera la evaluación de expresiones regulares. [#41033](https://github.com/ClickHouse/ClickHouse/pull/41033) ([Robert Schulze](https://github.com/rschu1ze)).
* Se actualiza vectorscan a la versión 5.4.8, que incluye numerosas optimizaciones de rendimiento para acelerar la evaluación de expresiones regulares. [#41270](https://github.com/ClickHouse/ClickHouse/pull/41270) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrige el fallback incorrecto que hacía que se omitiera la caché local del sistema de archivos para VFS (como S3) y que ocurría con un nivel de concurrencia muy alto. [#40420](https://github.com/ClickHouse/ClickHouse/pull/40420) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Si el filtro de ROW POLICY es siempre falso, devuelve de inmediato un resultado vacío sin leer ningún dato. Esto cierra [#24012](https://github.com/ClickHouse/ClickHouse/issues/24012). [#40740](https://github.com/ClickHouse/ClickHouse/pull/40740) ([Amos Bird](https://github.com/amosbird)).
* El JOIN hash paralelo para tipos de datos Float podría no ser óptimo. Mejorarlo. [#41183](https://github.com/ClickHouse/ClickHouse/pull/41183) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvement">
  #### Mejora
</div>

* Durante el inicio y la llamada a `ATTACH`, las tablas `ReplicatedMergeTree` estarán en modo readonly hasta que se establezca la conexión con ZooKeeper y finalice la configuración. [#40148](https://github.com/ClickHouse/ClickHouse/pull/40148) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añade la opción `enable_extended_results_for_datetime_functions` para que las funciones toStartOfYear, toStartOfISOYear, toStartOfQuarter, toStartOfMonth, toStartOfWeek, toMonday y toLastDayOfMonth devuelvan resultados de tipo Date32 cuando el argumento sea Date32 o DateTime64; de lo contrario, devuelven resultados de tipo Date. Por motivos de compatibilidad, el valor predeterminado es '0'. [#41214](https://github.com/ClickHouse/ClickHouse/pull/41214) ([Roman Vasin](https://github.com/rvasin)).
* Por motivos de seguridad y estabilidad, los modelos de CatBoost ya no se evalúan dentro del servidor ClickHouse. En su lugar, ahora la evaluación se realiza en clickhouse-library-bridge, un proceso independiente que carga la biblioteca catboost y se comunica con el proceso del servidor a través de HTTP. La función `modelEvaluate()` fue sustituida por `catboostEvaluate()`. [#40897](https://github.com/ClickHouse/ClickHouse/pull/40897) ([Robert Schulze](https://github.com/rschu1ze)). [#39629](https://github.com/ClickHouse/ClickHouse/pull/39629) ([Robert Schulze](https://github.com/rschu1ze)).
* Se agregan más métricas para los datos temporales en disco; se cierra [#40206](https://github.com/ClickHouse/ClickHouse/issues/40206). [#40239](https://github.com/ClickHouse/ClickHouse/pull/40239) ([Vladimir C](https://github.com/vdimir)).
* Se añade la opción de configuración `warning_supress_regexp`, se cierra [#40330](https://github.com/ClickHouse/ClickHouse/issues/40330). [#40548](https://github.com/ClickHouse/ClickHouse/pull/40548) ([Vladimir C](https://github.com/vdimir)).
* Añade un ajuste para desactivar el límite de kafka\_num\_consumers. Cierra [#40331](https://github.com/ClickHouse/ClickHouse/issues/40331). [#40670](https://github.com/ClickHouse/ClickHouse/pull/40670) ([Kruglov Pavel](https://github.com/Avogar)).
* Soporte de `SETTINGS` en la consulta `DELETE ...`. [#41533](https://github.com/ClickHouse/ClickHouse/pull/41533) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Eventos de perfil de S3 detallados `DiskS3*`, desglosados por llamada a la API de S3 para ObjectStorage. [#41532](https://github.com/ClickHouse/ClickHouse/pull/41532) ([Sergei Trifonov](https://github.com/serxa)).
* Dos nuevas métricas en `system.asynchronous_metrics`: `NumberOfDetachedParts` y `NumberOfDetachedByUserParts`. [#40779](https://github.com/ClickHouse/ClickHouse/pull/40779) ([Sema Checherinda](https://github.com/CheSema)).
* Se permiten CONSTRAINTs en las tablas ODBC y JDBC. [#34551](https://github.com/ClickHouse/ClickHouse/pull/34551) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* No se imprime `SETTINGS` más de una vez durante el formateo de la consulta si no aparecía varias veces en la consulta original. [#38900](https://github.com/ClickHouse/ClickHouse/pull/38900) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora la propagación del contexto de trazas (OpenTelemetry) entre hilos. [#39010](https://github.com/ClickHouse/ClickHouse/pull/39010) ([Frank Chen](https://github.com/FrankChen021)).
* ClickHouse Keeper: añadir listeners para `interserver_listen_host` solo en Keeper si se especifica. [#39973](https://github.com/ClickHouse/ClickHouse/pull/39973) ([Antonio Andelic](https://github.com/antonio2368)).
* Mejora la recuperación del almacenamiento Replicated para el acceso de usuarios tras errores. [#39977](https://github.com/ClickHouse/ClickHouse/pull/39977) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se agregó compatibilidad con TTL en `EmbeddedRocksDB`. [#39986](https://github.com/ClickHouse/ClickHouse/pull/39986) ([Lloyd-Pottiger](https://github.com/Lloyd-Pottiger)).
* Añadir la inferencia de esquema a `clickhouse-obfuscator`, para que el argumento `--structure` deje de ser obligatorio. [#40120](https://github.com/ClickHouse/ClickHouse/pull/40120) ([Nikolay Degterinsky](https://github.com/evillique)).
* Mejoras y correcciones en los diccionarios en formato `Arrow`. [#40173](https://github.com/ClickHouse/ClickHouse/pull/40173) ([Kruglov Pavel](https://github.com/Avogar)).
* Conversión más natural de `Date32`, `DateTime64` y `Date` a tipos más reducidos: cuando queda fuera del rango normal, se toma el valor normal superior o inferior. [#40217](https://github.com/ClickHouse/ClickHouse/pull/40217) ([Andrey Zvonov](https://github.com/zvonand)).
* Se corrige el caso en el que la tabla `Merge` sobre una `View` no puede usar un índice. [#40233](https://github.com/ClickHouse/ClickHouse/pull/40233) ([Duc Canh Le](https://github.com/canhld94)).
* Nombres de claves personalizados para los logs del servidor en JSON. [#40251](https://github.com/ClickHouse/ClickHouse/pull/40251) ([Mallik Hassan](https://github.com/SadiHassan)).
* Ahora es posible establecer un código de error personalizado para la excepción lanzada por la función `throwIf`. [#40319](https://github.com/ClickHouse/ClickHouse/pull/40319) ([Robert Schulze](https://github.com/rschu1ze)).
* Mejora de la caché de inferencia de esquemas; se respeta la configuración de formato que puede cambiar el esquema. [#40414](https://github.com/ClickHouse/ClickHouse/pull/40414) ([Kruglov Pavel](https://github.com/Avogar)).
* Permitir interpretar `Date` como `DateTime` y `DateTime64`. Esto implementa la mejora propuesta en [#36949](https://github.com/ClickHouse/ClickHouse/issues/36949). [#40474](https://github.com/ClickHouse/ClickHouse/pull/40474) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se permite la conversión desde `String` con `DateTime64`, como `2022-08-22 01:02:03.456`, a `Date` y `Date32`. Se permite la conversión desde `String` con `DateTime`, como `2022-08-22 01:02:03`, a `Date32`. Esto cierra [#39598](https://github.com/ClickHouse/ClickHouse/issues/39598). [#40475](https://github.com/ClickHouse/ClickHouse/pull/40475) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejor compatibilidad con estructuras de datos anidadas en formato Parquet [#40485](https://github.com/ClickHouse/ClickHouse/pull/40485) ([Arthur Passos](https://github.com/arthurpassos)).
* Permite leer Array(Record) en una tabla anidada aplanada en Avro. [#40534](https://github.com/ClickHouse/ClickHouse/pull/40534) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añade compatibilidad de solo lectura para `EmbeddedRocksDB`. [#40543](https://github.com/ClickHouse/ClickHouse/pull/40543) ([Lloyd-Pottiger](https://github.com/Lloyd-Pottiger)).
* Se valida el parámetro del método de compresión del motor de tabla URL. [#40600](https://github.com/ClickHouse/ClickHouse/pull/40600) ([Frank Chen](https://github.com/FrankChen021)).
* Mejor detección del formato para la función de tabla/motor `url` cuando hay una cadena de consulta después del nombre de archivo. Cierra [#40315](https://github.com/ClickHouse/ClickHouse/issues/40315). [#40636](https://github.com/ClickHouse/ClickHouse/pull/40636) ([Kruglov Pavel](https://github.com/Avogar)).
* Se deshabilitó la proyección cuando se usa `grouping set`. Generaba resultados incorrectos. Esto corrige [#40635](https://github.com/ClickHouse/ClickHouse/issues/40635). [#40726](https://github.com/ClickHouse/ClickHouse/pull/40726) ([Amos Bird](https://github.com/amosbird)).
* Se corrige el formato incorrecto del transformador de columnas `APPLY`, que puede dañar los metadatos si se utiliza en la definición de una tabla. Esto corrige [#37590](https://github.com/ClickHouse/ClickHouse/issues/37590). [#40727](https://github.com/ClickHouse/ClickHouse/pull/40727) ([Amos Bird](https://github.com/amosbird)).
* Se añadió compatibilidad con el descriptor `%z` para formatear el desfase de la zona horaria en `formatDateTime`. [#40736](https://github.com/ClickHouse/ClickHouse/pull/40736) ([Cory Levy](https://github.com/LevyCory)).
* El modo interactivo de `clickhouse-client` ahora interpreta `.` y `/` como "ejecutar el último comando". [#40750](https://github.com/ClickHouse/ClickHouse/pull/40750) ([Robert Schulze](https://github.com/rschu1ze)).
* Se corrige un problema al pasar los tiempos de espera de MySQL para el motor de base de datos MySQL y la función de tabla MySQL. Cierra [#34168](https://github.com/ClickHouse/ClickHouse/issues/34168). [#40751](https://github.com/ClickHouse/ClickHouse/pull/40751) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Crear un archivo de estado para el directorio de la caché del sistema de archivos, a fin de garantizar que los directorios de caché no se compartan entre distintos servidores o cachés. [#40820](https://github.com/ClickHouse/ClickHouse/pull/40820) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añadió compatibilidad con `DELETE` y `UPDATE` en el motor de almacenamiento `EmbeddedRocksDB`. [#40853](https://github.com/ClickHouse/ClickHouse/pull/40853) ([Antonio Andelic](https://github.com/antonio2368)).
* ClickHouse Keeper: se corrige el cierre durante un commit largo y se aumenta el tamaño de solicitud permitido. [#40941](https://github.com/ClickHouse/ClickHouse/pull/40941) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige una condición de carrera en WriteBufferFromS3 y se añaden anotaciones de TSA. [#40950](https://github.com/ClickHouse/ClickHouse/pull/40950) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Los conjuntos de agrupación con group\_by\_use\_nulls solo deben convertir en Nullable las columnas clave. [#40997](https://github.com/ClickHouse/ClickHouse/pull/40997) ([Duc Canh Le](https://github.com/canhld94)).
* Mejora la observabilidad de INSERT en una tabla distribuida. [#41034](https://github.com/ClickHouse/ClickHouse/pull/41034) ([Frank Chen](https://github.com/FrankChen021)).
* Más métricas de bajo nivel sobre la interacción con S3. [#41039](https://github.com/ClickHouse/ClickHouse/pull/41039) ([mateng915](https://github.com/mateng0915)).
* Se admite una ruta relativa en el encabezado Location tras una redirección HTTP. Cierra [#40985](https://github.com/ClickHouse/ClickHouse/issues/40985). [#41162](https://github.com/ClickHouse/ClickHouse/pull/41162) ([Kruglov Pavel](https://github.com/Avogar)).
* Aplicar cambios a los manejadores HTTP en caliente sin reiniciar el servidor. [#41177](https://github.com/ClickHouse/ClickHouse/pull/41177) ([Azat Khuzhin](https://github.com/azat)).
* ClickHouse Keeper: cerrar correctamente las sesiones activas durante el apagado. [#41215](https://github.com/ClickHouse/ClickHouse/pull/41215) ([Antonio Andelic](https://github.com/antonio2368)). Esto reduce el tiempo durante el que se producen errores de "la tabla es de solo lectura".
* Se añadió la posibilidad de comentar automáticamente consultas SQL en clickhouse-client/local (con `Alt-#`, como en readline). [#41224](https://github.com/ClickHouse/ClickHouse/pull/41224) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la incompatibilidad de la caché tras cambiar la configuración `do_no_evict_index_and_mark_files` de 1 a 0 y de 0 a 1. [#41330](https://github.com/ClickHouse/ClickHouse/pull/41330) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade la configuración `allow_suspicious_fixed_string_types` para evitar que los usuarios creen columnas de tipo FixedString con tamaño > 256. [#41495](https://github.com/ClickHouse/ClickHouse/pull/41495) ([Duc Canh Le](https://github.com/canhld94)).
* Se añade `has_lightweight_delete` a system.parts. [#41564](https://github.com/ClickHouse/ClickHouse/pull/41564) ([Kseniia Sumarokova](https://github.com/kssenii)).

<div id="buildtestingpackaging-improvement-3">
  #### Mejoras en compilación, pruebas y empaquetado
</div>

* Exigir documentación para cada parámetro de configuración. [#40644](https://github.com/ClickHouse/ClickHouse/pull/40644) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Garantizar la documentación de todas las métricas actuales. [#40645](https://github.com/ClickHouse/ClickHouse/pull/40645) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Exigir documentación para cada contador de eventos de perfil. Redactar la documentación donde faltaba. [#40646](https://github.com/ClickHouse/ClickHouse/pull/40646) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permite una compilación mínima de `clickhouse-local` corrigiendo algunas dependencias. [#40460](https://github.com/ClickHouse/ClickHouse/pull/40460) ([Alexey Milovidov](https://github.com/alexey-milovidov)). Ocupa menos de 50 MiB.
* Calcular e informar sobre la cobertura de funciones SQL en las pruebas. [#40593](https://github.com/ClickHouse/ClickHouse/issues/40593). [#40647](https://github.com/ClickHouse/ClickHouse/pull/40647) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer obligatoria la documentación de cada configuración de MergeTree. [#40648](https://github.com/ClickHouse/ClickHouse/pull/40648) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Un prototipo de documentación de referencia integrada para componentes uniformes del servidor de alto nivel. [#40649](https://github.com/ClickHouse/ClickHouse/pull/40649) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Comprobaremos todas las consultas de las pruebas de rendimiento modificadas para asegurarnos de que se hayan probado todas las consultas modificadas. [#40322](https://github.com/ClickHouse/ClickHouse/pull/40322) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrigen los paquetes TGZ. [#40681](https://github.com/ClickHouse/ClickHouse/pull/40681) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se corrigieron los símbolos de depuración. [#40873](https://github.com/ClickHouse/ClickHouse/pull/40873) ([Azat Khuzhin](https://github.com/azat)).
* Se amplió la configuración de CI para crear una compilación x86 compatible solo con SSE2. Útil para hardware antiguo o embebido. [#40999](https://github.com/ClickHouse/ClickHouse/pull/40999) ([Robert Schulze](https://github.com/rschu1ze)).
* Se cambia a llvm/clang 15. [#41046](https://github.com/ClickHouse/ClickHouse/pull/41046) ([Azat Khuzhin](https://github.com/azat)).
* Continuación de [#40938](https://github.com/ClickHouse/ClickHouse/issues/40938). Corrige una violación de ODR en la clase `Loggers`. Corrige [#40398](https://github.com/ClickHouse/ClickHouse/issues/40398), [#40937](https://github.com/ClickHouse/ClickHouse/issues/40937). [#41060](https://github.com/ClickHouse/ClickHouse/pull/41060) ([Dmitry Novik](https://github.com/novikd)).
* Se añaden binarios de macOS a los assets de la versión de GitHub; esto corrige [#37718](https://github.com/ClickHouse/ClickHouse/issues/37718). [#41088](https://github.com/ClickHouse/ClickHouse/pull/41088) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* La biblioteca c-ares ahora viene incluida con el sistema de compilación de ClickHouse. [#41239](https://github.com/ClickHouse/ClickHouse/pull/41239) ([Robert Schulze](https://github.com/rschu1ze)).
* Se eliminó `dlopen` del código principal de ClickHouse. Sigue presente en library-bridge y odbc-bridge. [#41428](https://github.com/ClickHouse/ClickHouse/pull/41428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* No se debe permitir `dlopen` en el binario principal de ClickHouse, porque es perjudicial e inseguro. No lo usamos. Pero algunas bibliotecas pueden usarlo para implementar "plugins". Desaconsejamos absolutamente la antigua técnica de cargar en el espacio de direcciones del proceso bibliotecas peligrosas y no controladas de terceros, porque es una locura. [#41429](https://github.com/ClickHouse/ClickHouse/pull/41429) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade el campo `source` a los paquetes deb y se actualiza nfpm. [#41531](https://github.com/ClickHouse/ClickHouse/pull/41531) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Compatibilidad con DWARF-5 en el analizador DWARF propio. [#40710](https://github.com/ClickHouse/ClickHouse/pull/40710) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió inyección de fallos en el cliente de ZooKeeper para pruebas [#30498](https://github.com/ClickHouse/ClickHouse/pull/30498) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se añaden pruebas sin estado con almacenamiento S3, con debug y tsan [#35262](https://github.com/ClickHouse/ClickHouse/pull/35262) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Pruebas de estrés sobre S3 [#36837](https://github.com/ClickHouse/ClickHouse/pull/36837) ([alesapin](https://github.com/alesapin)).
* Se habilita `concurrency-mt-unsafe` en `clang-tidy` [#40224](https://github.com/ClickHouse/ClickHouse/pull/40224) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix">
  #### Corrección de errores
</div>

* Corrige una posible pérdida de datos debida a [un error en AWS SDK](https://github.com/aws/aws-sdk-cpp/issues/658). El error solo puede producirse cuando ClickHouse se usa sobre S3. [#40506](https://github.com/ClickHouse/ClickHouse/pull/40506) ([alesapin](https://github.com/alesapin)). Este error llevaba 5 años abierto en AWS SDK y se cerró tras nuestro informe.
* Los datos maliciosos en formato Native podrían provocar un fallo. [#41441](https://github.com/ClickHouse/ClickHouse/pull/41441) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La función de agregación `categorialInformationValue` tenía propiedades mal definidas, lo que podría provocar una desreferenciación de puntero nulo en tiempo de ejecución. Esto cierra [#41443](https://github.com/ClickHouse/ClickHouse/issues/41443). [#41449](https://github.com/ClickHouse/ClickHouse/pull/41449) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Escribir datos en formato Apache `ORC` podría causar un desbordamiento de búfer. [#41458](https://github.com/ClickHouse/ClickHouse/pull/41458) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigen problemas de seguridad de memoria en las funciones `encrypt` y `contingency` cuando se usa `Array` de `Nullable` como argumento. Esto corrige [#41004](https://github.com/ClickHouse/ClickHouse/issues/41004). [#40195](https://github.com/ClickHouse/ClickHouse/pull/40195) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige fallos en MergeJoin cuando 'not\_processed' no es null. [#40335](https://github.com/ClickHouse/ClickHouse/pull/40335) ([liql2007](https://github.com/liql2007)).
* Corrige el resultado incorrecto en caso de pérdida de precisión decimal en el operador IN; véase [#41125](https://github.com/ClickHouse/ClickHouse/issues/41125). [#41130](https://github.com/ClickHouse/ClickHouse/pull/41130) ([Vladimir C](https://github.com/vdimir)).
* Se corrige el relleno de las columnas `Nested` faltantes en múltiples niveles. [#37152](https://github.com/ClickHouse/ClickHouse/pull/37152) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige la consulta SYSTEM UNFREEZE para la base de datos Ordinary (en desuso). Corrección de [https://github.com/ClickHouse/ClickHouse/pull/36424](https://github.com/ClickHouse/ClickHouse/pull/36424). [#38262](https://github.com/ClickHouse/ClickHouse/pull/38262) ([Vadim Volodin](https://github.com/PolyProgrammist)).
* Se corrigen las columnas desconocidas no utilizadas introducidas por la sentencia WITH. Esto corrige [#37812](https://github.com/ClickHouse/ClickHouse/issues/37812) . [#39131](https://github.com/ClickHouse/ClickHouse/pull/39131) ([Amos Bird](https://github.com/amosbird)).
* Corrige el análisis de consultas con ORDER BY en presencia de funciones de ventana. Soluciona [#38741](https://github.com/ClickHouse/ClickHouse/issues/38741) Soluciona [#24892](https://github.com/ClickHouse/ClickHouse/issues/24892). [#39354](https://github.com/ClickHouse/ClickHouse/pull/39354) ([Dmitry Novik](https://github.com/novikd)).
* Se corrigió la excepción `Unknown identifier (aggregate-function)` que se produce cuando un usuario intenta calcular expresiones WINDOW ORDER BY/PARTITION BY sobre funciones de agregación. [#39762](https://github.com/ClickHouse/ClickHouse/pull/39762) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* Limita la cantidad de análisis para una consulta con la configuración `max_analyze_depth`. Evita el crecimiento exponencial del tiempo de análisis en consultas con un número de subconsultas extraordinariamente grande. [#40334](https://github.com/ClickHouse/ClickHouse/pull/40334) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió un error poco frecuente relacionado con el TTL de columnas en la familia de motores MergeTree: en caso de una fusión vertical repetida, podía producirse el error `Cannot unlink file ColumnName.bin ... No such file or directory.`. [#40346](https://github.com/ClickHouse/ClickHouse/pull/40346) ([alesapin](https://github.com/alesapin)).
* Usa registros DNS tanto para IPv4 como para IPv6 si están presentes. [#40353](https://github.com/ClickHouse/ClickHouse/pull/40353) ([Maksim Kita](https://github.com/kitaisreal)).
* Permite leer archivos comprimidos con Snappy desde Hadoop. [#40482](https://github.com/ClickHouse/ClickHouse/pull/40482) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió un fallo al analizar valores del tipo `Object` (característica experimental) que contiene arrays de dimensión variable. [#40483](https://github.com/ClickHouse/ClickHouse/pull/40483) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrigió la opción de configuración `input_format_tsv_skip_first_lines`. [#40491](https://github.com/ClickHouse/ClickHouse/pull/40491) ([mini4](https://github.com/mini4)).
* Se corrige un fallo (condición de carrera) al iniciar el motor MaterializedPostgreSQL de base de datos o de tabla. [#40262](https://github.com/ClickHouse/ClickHouse/issues/40262). Se corrige el error al alcanzar el límite de slots de relcache\_callback\_list. [#40511](https://github.com/ClickHouse/ClickHouse/pull/40511) ([Maksim Buren](https://github.com/maks-buren630501)).
* Corrige un posible error 'Desbordamiento aritmético de Decimal' al analizar DateTime64. [#40546](https://github.com/ClickHouse/ClickHouse/pull/40546) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige la fusión vertical de partes con filas eliminadas con eliminación ligera. [#40559](https://github.com/ClickHouse/ClickHouse/pull/40559) ([Alexander Gololobov](https://github.com/davenger)).
* Se corrige un fallo de segmentación al escribir datos en el motor de tabla URL si la compresión está habilitada. [#40565](https://github.com/ClickHouse/ClickHouse/pull/40565) ([Frank Chen](https://github.com/FrankChen021)).
* Se corrige un posible error lógico `'Invalid Field get from type UInt64 to type String'` en la función arrayElement con Map. [#40572](https://github.com/ClickHouse/ClickHouse/pull/40572) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige una posible condición de carrera en la caché del sistema de archivos. [#40586](https://github.com/ClickHouse/ClickHouse/pull/40586) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se dejó de omitir mutaciones en las particiones no afectadas de las tablas `MergeTree`, porque esta funcionalidad nunca funcionó correctamente y podría provocar la reaparición de mutaciones ya finalizadas. [#40589](https://github.com/ClickHouse/ClickHouse/pull/40589) ([Alexander Tokmakov](https://github.com/tavplubix)).
* El servidor de ClickHouse fallará si se añade en tiempo de ejecución a la configuración un puerto `grpc` que ya está en uso. [#40597](https://github.com/ClickHouse/ClickHouse/pull/40597) ([何李夫](https://github.com/helifu)).
* Se corrige el manejo de 0 / '1' al inicio en `base58Encode / base58Decode`. [#40620](https://github.com/ClickHouse/ClickHouse/pull/40620) ([Andrey Zvonov](https://github.com/zvonand)).
* keeper-fix: corrige una condición de carrera al acceder a los logs durante la instalación de la instantánea. [#40627](https://github.com/ClickHouse/ClickHouse/pull/40627) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige la evaluación de cortocircuito de la función toFixedString. Resuelve (parcialmente) [#40622](https://github.com/ClickHouse/ClickHouse/issues/40622). [#40628](https://github.com/ClickHouse/ClickHouse/pull/40628) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige la conversión de una columna int8 de SQLite a una columna int64 en ClickHouse. Corrige [#40639](https://github.com/ClickHouse/ClickHouse/issues/40639). [#40642](https://github.com/ClickHouse/ClickHouse/pull/40642) ([Barum Rho](https://github.com/barumrho)).
* Se corrige el desbordamiento de pila en tablas `Buffer` recursivas. Esto cierra [#40637](https://github.com/ClickHouse/ClickHouse/issues/40637). [#40643](https://github.com/ClickHouse/ClickHouse/pull/40643) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Durante la inserción de una nueva consulta en `ProcessList` se realizan asignaciones de memoria. Si alcanzamos el límite de memoria durante estas asignaciones, no podemos usar `OvercommitTracker`, porque `ProcessList::mutex` ya se ha adquirido. Corrige [#40611](https://github.com/ClickHouse/ClickHouse/issues/40611). [#40677](https://github.com/ClickHouse/ClickHouse/pull/40677) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige LOGICAL\_ERROR con max\_read\_buffer\_size=0 al leer marks. [#40705](https://github.com/ClickHouse/ClickHouse/pull/40705) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige una fuga de memoria al enviar datos a MVs sin contexto de consulta (desde Kafka/...). [#40732](https://github.com/ClickHouse/ClickHouse/pull/40732) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el posible error "Attempt to read after eof" en la inferencia de esquema de CSV. [#40746](https://github.com/ClickHouse/ClickHouse/pull/40746) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige el error lógico en la caché write-through "Solo el descargador puede completar el segmento de archivo". Cierra [#40748](https://github.com/ClickHouse/ClickHouse/issues/40748). [#40759](https://github.com/ClickHouse/ClickHouse/pull/40759) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Hacer que el resultado de la función GROUPING sea igual que en SQL y otros SGBD. [#40762](https://github.com/ClickHouse/ClickHouse/pull/40762) ([Dmitry Novik](https://github.com/novikd)).
* En [#40595](https://github.com/ClickHouse/ClickHouse/issues/40595) se informó de que la funcionalidad `host_regexp` no funcionaba correctamente con la resolución de nombres a direcciones en `/etc/hosts`. Ya está corregido. [#40769](https://github.com/ClickHouse/ClickHouse/pull/40769) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrigen las copias de seguridad incrementales para la familia Log. [#40827](https://github.com/ClickHouse/ClickHouse/pull/40827) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrigió un error extremadamente raro que puede provocar una posible pérdida de datos en la replicación zero-copy. [#40844](https://github.com/ClickHouse/ClickHouse/pull/40844) ([alesapin](https://github.com/alesapin)).
* Se corrigen los fallos al analizar la condición de clave cuando la misma expresión Set se construye a partir de distintas columnas. [#40850](https://github.com/ClickHouse/ClickHouse/pull/40850) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrige la inferencia del esquema de objetos JSON anidados. [#40851](https://github.com/ClickHouse/ClickHouse/pull/40851) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el problema por el que no se eliminaba el directorio con prefijo de 3 dígitos de los archivos de la caché del sistema de archivos cuando estaba vacío. Cierra [#40797](https://github.com/ClickHouse/ClickHouse/issues/40797). [#40867](https://github.com/ClickHouse/ClickHouse/pull/40867) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un DNS\_ERROR no detectado al fallar la conexión con las réplicas. [#40881](https://github.com/ClickHouse/ClickHouse/pull/40881) ([Robert Coelho](https://github.com/coelho)).
* Se corrige un error al eliminar columnas innecesarias en una subconsulta. [#40884](https://github.com/ClickHouse/ClickHouse/pull/40884) ([luocongkai](https://github.com/TKaxe)).
* Se corrige la asignación extra de memoria para los búferes de lectura remota. [#40896](https://github.com/ClickHouse/ClickHouse/pull/40896) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió un comportamiento por el que un usuario al que se le había revocado explícitamente el privilegio para eliminar bases de datos aún podía hacerlo. [#40906](https://github.com/ClickHouse/ClickHouse/pull/40906) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Una corrección para ClickHouse Keeper: comparar correctamente los paths de las solicitudes de escritura con los paths de los nodos internos del sistema de Keeper. [#40918](https://github.com/ClickHouse/ClickHouse/pull/40918) ([Antonio Andelic](https://github.com/antonio2368)).
* Se ha corregido un interbloqueo en WriteBufferFromS3. [#40943](https://github.com/ClickHouse/ClickHouse/pull/40943) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregir los permisos de acceso de `DESCRIBE TABLE url()` y de algunas otras `DESCRIBE TABLE <table_function>()`. [#40975](https://github.com/ClickHouse/ClickHouse/pull/40975) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se elimina la lógica incorrecta del analizador sintáctico para `WITH GROUPING SETS`, que podría provocar la desreferenciación de un `nullptr`. [#41049](https://github.com/ClickHouse/ClickHouse/pull/41049) ([Duc Canh Le](https://github.com/canhld94)).
* Una corrección para ClickHouse Keeper: se corrige un posible fallo de segmentación al cerrar Keeper. [#41075](https://github.com/ClickHouse/ClickHouse/pull/41075) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigen posibles errores de segmentación, use-heap-after-free y fugas de memoria en los combinadores de funciones de agregación. Cierra [#40848](https://github.com/ClickHouse/ClickHouse/issues/40848). [#41083](https://github.com/ClickHouse/ClickHouse/pull/41083) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige query\_views\_log con Window views. [#41132](https://github.com/ClickHouse/ClickHouse/pull/41132) ([Raúl Marín](https://github.com/Algunenano)).
* Desactiva optimize\_monotonous\_functions\_in\_order\_by de forma predeterminada; mitiga: [#40094](https://github.com/ClickHouse/ClickHouse/issues/40094). [#41136](https://github.com/ClickHouse/ClickHouse/pull/41136) ([Denny Crane](https://github.com/den-crane)).
* Se corrigió el error "possible deadlock avoided" durante la conversión automática del motor de base de datos de Ordinary a Atomic. [#41146](https://github.com/ClickHouse/ClickHouse/pull/41146) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se corrigió SIGSEGV en SortedBlocksWriter en caso de bloque vacío (puede ocurrir con `optimize_aggregation_in_order` y `join_algorithm=auto`). [#41154](https://github.com/ClickHouse/ClickHouse/pull/41154) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un resultado de consulta incorrecto cuando está activa la optimización de recuento trivial con array join. Esto corrige [#39431](https://github.com/ClickHouse/ClickHouse/issues/39431). [#41158](https://github.com/ClickHouse/ClickHouse/pull/41158) ([Denny Crane](https://github.com/den-crane)).
* Se corrige un error de uso de la pila después del retorno en GetPriorityForLoadBalancing::getPriorityFunc(). [#41159](https://github.com/ClickHouse/ClickHouse/pull/41159) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la excepción de argumentos posicionales: argumento posicional fuera de rango. Cierra [#40634](https://github.com/ClickHouse/ClickHouse/issues/40634). [#41189](https://github.com/ClickHouse/ClickHouse/pull/41189) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la limpieza en segundo plano de las partes `detached` corruptas. [#41190](https://github.com/ClickHouse/ClickHouse/pull/41190) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la reescritura exponencial de consultas cuando hay muchos cross joins con where; cierra [#21557](https://github.com/ClickHouse/ClickHouse/issues/21557). [#41223](https://github.com/ClickHouse/ClickHouse/pull/41223) ([Vladimir C](https://github.com/vdimir)).
* Se corrige un posible error lógico en la caché write-through, que se producía porque no se controlaban adecuadamente todos los tipos de excepciones. Cierra [#41208](https://github.com/ClickHouse/ClickHouse/issues/41208). [#41232](https://github.com/ClickHouse/ClickHouse/pull/41232) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregida la entrada de registro de tipo String en system.filesystem\_cache\_log. [#41233](https://github.com/ClickHouse/ClickHouse/pull/41233) ([jmimbrero](https://github.com/josemimbrero-tinybird)).
* Las consultas con la cláusula `OFFSET` en una subconsulta y la cláusula `WHERE` en la consulta externa podían devolver un resultado incorrecto; ya se corrigió. Soluciona [#40416](https://github.com/ClickHouse/ClickHouse/issues/40416). [#41280](https://github.com/ClickHouse/ClickHouse/pull/41280) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se corrige un posible resultado incorrecto de una consulta con `query_plan_optimize_primary_key` habilitado. Corrige [#40599](https://github.com/ClickHouse/ClickHouse/issues/40599). [#41281](https://github.com/ClickHouse/ClickHouse/pull/41281) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* No permitir que las secuencias no válidas afecten a otras filas en lowerUTF8/upperUTF8. [#41286](https://github.com/ClickHouse/ClickHouse/pull/41286) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen las consultas `ALTER <table> ADD COLUMN` al añadir columnas de tipo `Object`. [#41290](https://github.com/ClickHouse/ClickHouse/pull/41290) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió el error "No node" al consultar `system.distributed_ddl_queue` cuando no hay un `distributed_ddl.path` en la configuración. Corrige [#41096](https://github.com/ClickHouse/ClickHouse/issues/41096). [#41296](https://github.com/ClickHouse/ClickHouse/pull/41296) ([young scott](https://github.com/young-scott)).
* Se corrigió el error lógico incorrecto `Expected relative path` en el almacenamiento de objetos en disco. Relacionado con [#41246](https://github.com/ClickHouse/ClickHouse/issues/41246). [#41297](https://github.com/ClickHouse/ClickHouse/pull/41297) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Añadir una comprobación del tipo de columna antes de insertar UUID en formato MsgPack. [#41309](https://github.com/ClickHouse/ClickHouse/pull/41309) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un posible fallo tras insertar de forma asíncrona (con la configuración `async_insert` habilitada) datos malformados en columnas de tipo `Object`. Podía ocurrir si los JSON de todos los lotes de async inserts no eran válidos y no podían analizarse. [#41336](https://github.com/ClickHouse/ClickHouse/pull/41336) ([Anton Popov](https://github.com/CurtizJ)).
* Se ha corregido un posible interbloqueo con async\_socket\_for\_remote/use\_hedged\_requests y KILL en paralelo. [#41343](https://github.com/ClickHouse/ClickHouse/pull/41343) ([Azat Khuzhin](https://github.com/azat)).
* Deshabilita optimize\_rewrite\_sum\_if\_to\_count\_if de forma predeterminada; mitiga: [#38605](https://github.com/ClickHouse/ClickHouse/issues/38605) [#38683](https://github.com/ClickHouse/ClickHouse/issues/38683). [#41388](https://github.com/ClickHouse/ClickHouse/pull/41388) ([Denny Crane](https://github.com/den-crane)).
* Desde la versión 22.8, la cláusula `ON CLUSTER` se ignora si la base de datos es `Replicated` y el nombre del cluster coincide con el de la base de datos. Debido a esto, `DROP PARTITION ON CLUSTER` funcionaba de forma inesperada con `Replicated`. Ya se ha corregido: ahora la cláusula `ON CLUSTER` se ignora solo en las consultas que se replican a nivel de base de datos. Corrige [#41299](https://github.com/ClickHouse/ClickHouse/issues/41299). [#41390](https://github.com/ClickHouse/ClickHouse/pull/41390) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige un posible bloqueo/interbloqueo al cancelar una consulta (`KILL QUERY` o apagado del servidor). [#41467](https://github.com/ClickHouse/ClickHouse/pull/41467) ([Azat Khuzhin](https://github.com/azat)).
* Corrige un posible cierre inesperado del servidor al usar la función JBOD. Esto corrige [#41365](https://github.com/ClickHouse/ClickHouse/issues/41365). [#41483](https://github.com/ClickHouse/ClickHouse/pull/41483) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la conversión de Nullable FixedString a String. [#41541](https://github.com/ClickHouse/ClickHouse/pull/41541) ([Duc Canh Le](https://github.com/canhld94)).
* Se evita un fallo al pasar estados de agregación incorrectos a groupBitmap\*. [#41563](https://github.com/ClickHouse/ClickHouse/pull/41563) ([Raúl Marín](https://github.com/Algunenano)).
* Las consultas con `ORDER BY` y `1500 <= LIMIT <= max_block_size` podían devolver un resultado incorrecto, sin algunas de las primeras filas. Corrige [#41182](https://github.com/ClickHouse/ClickHouse/issues/41182). [#41576](https://github.com/ClickHouse/ClickHouse/pull/41576) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrección de los bytes/filas leídos en X-ClickHouse-Summary con vistas materializadas. [#41586](https://github.com/ClickHouse/ClickHouse/pull/41586) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige una posible excepción `pipeline stuck` en consultas con `OFFSET`. El error se detectó con `enable_optimize_predicate_expression = 0` y una condición siempre falsa en `WHERE`. Corrige [#41383](https://github.com/ClickHouse/ClickHouse/issues/41383). [#41588](https://github.com/ClickHouse/ClickHouse/pull/41588) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

### <a id="228" /> Lanzamiento de ClickHouse 22.8, 2022-08-18. [Presentación](https://presentations.clickhouse.com/2022-release-22.8/), [Vídeo](https://www.youtube.com/watch?v=yob7AnaBJz0)

<Frame>
  <iframe src="https://www.youtube.com/embed/yob7AnaBJz0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se amplió el rango de `Date32` y `DateTime64` para admitir fechas desde el año 1900 hasta 2299. En versiones anteriores, el intervalo admitido era solo del año 1925 al 2283. La implementación utiliza el calendario gregoriano proléptico (que cumple con [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601):2004 (clause 3.2.1 The Gregorian calendar)) en lugar de tener en cuenta las transiciones históricas del calendario juliano al gregoriano. Este cambio afecta al comportamiento específico de la implementación para argumentos fuera de rango. Por ejemplo, si en versiones anteriores el valor `1899-01-01` se ajustaba a `1925-01-01`, en la nueva versión se ajustará a `1900-01-01`. También cambia el comportamiento del redondeo con `toStartOfInterval` si se pasa `INTERVAL 3 QUARTER`, con una diferencia de hasta un trimestre, porque los intervalos se cuentan desde un punto temporal específico de la implementación. Cierra [#28216](https://github.com/ClickHouse/ClickHouse/issues/28216), mejora [#38393](https://github.com/ClickHouse/ClickHouse/issues/38393). [#39425](https://github.com/ClickHouse/ClickHouse/pull/39425) ([Roman Vasin](https://github.com/rvasin)).
* Ahora, todas las fuentes de diccionario relevantes respetan el ajuste `remote_url_allow_hosts`. Esto ya se había hecho para HTTP, Cassandra y Redis. Se añadieron ClickHouse, MongoDB, MySQL y PostgreSQL. El host solo se comprueba para los diccionarios creados a partir de DDL. [#39184](https://github.com/ClickHouse/ClickHouse/pull/39184) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Los binarios x86 precompilados de ClickHouse ahora requieren compatibilidad con instrucciones AVX, es decir, una CPU no anterior a Intel Sandy Bridge / AMD Bulldozer, ambas lanzadas en 2011. [#39000](https://github.com/ClickHouse/ClickHouse/pull/39000) ([Robert Schulze](https://github.com/rschu1ze)).
* La caché remota del sistema de archivos pasa a ser componible, permite no expulsar ciertos archivos (como idx, mrk, ..) y elimina la versión antigua de la caché. Ahora es posible configurar la caché sobre un disco de Azure blob storage, sobre un disco local, sobre un disco StaticWeb, etc. Este PR está marcado como incompatible con versiones anteriores porque cambia la configuración de la caché y, para que la caché funcione, es necesario actualizar el archivo de configuración. La caché antigua seguirá utilizándose con la nueva configuración. El servidor se iniciará correctamente con la configuración antigua de la caché. Cierra [https://github.com/ClickHouse/ClickHouse/issues/36140](https://github.com/ClickHouse/ClickHouse/issues/36140). Cierra [https://github.com/ClickHouse/ClickHouse/issues/37889](https://github.com/ClickHouse/ClickHouse/issues/37889). ([Kseniia Sumarokova](https://github.com/kssenii)). [#36171](https://github.com/ClickHouse/ClickHouse/pull/36171))

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Compatibilidad con la sintaxis estándar de SQL `DELETE FROM` en tablas MergeTree y con la implementación de eliminación ligera para la familia MergeTree. [#37893](https://github.com/ClickHouse/ClickHouse/pull/37893) ([Jianmei Zhang](https://github.com/zhangjmruc)) ([Alexander Gololobov](https://github.com/davenger)). Nota: esta nueva funcionalidad no convierte a ClickHouse en un SGBD HTAP.
* Los parámetros de consulta pueden establecerse en modo interactivo como `SET param_abc = 'def'` y transferirse mediante el protocolo nativo como configuraciones. [#39906](https://github.com/ClickHouse/ClickHouse/pull/39906) ([Nikita Taranov](https://github.com/nickitat)).
* La clave de cuota puede establecerse en el protocolo nativo ([Yakov Olkhovsky](https://github.com/ClickHouse/ClickHouse/pull/39874)).
* Se añadió la configuración `exact_rows_before_limit` (0/1). Cuando está habilitada, ClickHouse proporcionará el valor exacto de la estadística `rows_before_limit_at_least`, pero a costa de tener que leer por completo los datos previos al límite. Esto cierra [#6613](https://github.com/ClickHouse/ClickHouse/issues/6613). [#25333](https://github.com/ClickHouse/ClickHouse/pull/25333) ([kevin wan](https://github.com/MaxWk)).
* Se añadió compatibilidad con `insert select` distribuido en paralelo con la función de tabla `s3Cluster` en tablas con motor `Distributed` y `Replicated` [#34670](https://github.com/ClickHouse/ClickHouse/issues/34670). [#39107](https://github.com/ClickHouse/ClickHouse/pull/39107) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añaden nuevas configuraciones para controlar la inferencia de esquema a partir de formatos de texto: - `input_format_try_infer_dates` - intentar inferir fechas a partir de cadenas. - `input_format_try_infer_datetimes` - intentar inferir DateTimes a partir de cadenas. - `input_format_try_infer_integers` - intentar inferir `Int64` en lugar de `Float64`. - `input_format_json_try_infer_numbers_from_strings` - intentar inferir números a partir de cadenas JSON en formatos JSON. [#39186](https://github.com/ClickHouse/ClickHouse/pull/39186) ([Kruglov Pavel](https://github.com/Avogar)).
* Una opción para proporcionar salida de logs en formato JSON. El objetivo es facilitar la ingestión y la consulta en herramientas de análisis de logs. [#39277](https://github.com/ClickHouse/ClickHouse/pull/39277) ([Mallik Hassan](https://github.com/SadiHassan)).
* Se añade la función `nowInBlock`, que permite obtener la hora actual durante consultas de larga duración y continuas. Cierra [#39522](https://github.com/ClickHouse/ClickHouse/issues/39522). Nota: no existen las funciones `now64InBlock` ni `todayInBlock`. [#39533](https://github.com/ClickHouse/ClickHouse/pull/39533) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la posibilidad de especificar configuraciones para una función de tabla `executable()`. [#39681](https://github.com/ClickHouse/ClickHouse/pull/39681) ([Constantine Peresypkin](https://github.com/pkit)).
* Se implementó la conversión automática del database motor de `Ordinary` a `Atomic`. Cree un archivo vacío `convert_ordinary_to_atomic` en el directorio `flags` y todas las bases de datos `Ordinary` se convertirán automáticamente en el siguiente inicio del servidor. Resuelve [#39546](https://github.com/ClickHouse/ClickHouse/issues/39546). [#39933](https://github.com/ClickHouse/ClickHouse/pull/39933) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Compatibilidad con `SELECT ... INTO OUTFILE '...' AND STDOUT`. [#37490](https://github.com/ClickHouse/ClickHouse/issues/37490). [#39054](https://github.com/ClickHouse/ClickHouse/pull/39054) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Se añaden los formatos `PrettyMonoBlock`, `PrettyNoEscapesMonoBlock`, `PrettyCompactNoEscapes`, `PrettyCompactNoEscapesMonoBlock`, `PrettySpaceNoEscapes`, `PrettySpaceMonoBlock`, `PrettySpaceNoEscapesMonoBlock`. [#39646](https://github.com/ClickHouse/ClickHouse/pull/39646) ([Kruglov Pavel](https://github.com/Avogar)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Mejora del uso de memoria durante la fusión de resultados de agregación con uso eficiente de memoria. [#39429](https://github.com/ClickHouse/ClickHouse/pull/39429) ([Nikita Taranov](https://github.com/nickitat)).
* Se añadió lógica de control de concurrencia para limitar el número total de hilos concurrentes creados por las consultas. [#37558](https://github.com/ClickHouse/ClickHouse/pull/37558) ([Sergei Trifonov](https://github.com/serxa)). Se añadió el `concurrent_threads_soft_limit parameter` para mejorar el rendimiento cuando el QPS es alto, limitando el número total de hilos de todas las consultas. [#37285](https://github.com/ClickHouse/ClickHouse/pull/37285) ([Roman Vasin](https://github.com/rvasin)).
* Se añade la política de caché `SLRU` para la caché no comprimida y la caché de marcas. ([Kseniia Sumarokova](https://github.com/kssenii)). [#34651](https://github.com/ClickHouse/ClickHouse/pull/34651) ([alexX512](https://github.com/alexX512)). Desacoplamiento entre la función de caché local y el algoritmo de caché [#38048](https://github.com/ClickHouse/ClickHouse/pull/38048) ([Han Shukai](https://github.com/KinderRiven)).
* Intel® In-Memory Analytics Accelerator (Intel® IAA) es un acelerador de hardware disponible en la próxima generación de procesadores Intel® Xeon® Scalable ("Sapphire Rapids"). Su objetivo es acelerar operaciones habituales de analítica, como la compresión/descompresión de datos y el filtrado. ClickHouse incorporó el nuevo codec de compresión "DeflateQpl", que utiliza la tecnología de descarga de Intel® IAA para ofrecer una implementación de DEFLATE de alto rendimiento. El codec utiliza la [Intel® Query Processing Library (QPL)](https://github.com/intel/qpl), que abstrae el acceso al acelerador de hardware o, en su defecto, a una alternativa de software cuando el acelerador de hardware no está disponible. En general, DEFLATE proporciona mayores tasas de compresión que el codec predeterminado LZ4 de ClickHouse y, como resultado, reduce la E/S de disco y el consumo de memoria principal. [#36654](https://github.com/ClickHouse/ClickHouse/pull/36654) ([jasperzhu](https://github.com/jinjunzh)). [#39494](https://github.com/ClickHouse/ClickHouse/pull/39494) ([Robert Schulze](https://github.com/rschu1ze)).
* `DISTINCT` en orden con `ORDER BY`: Deducir la forma de ordenar a partir de la descripción de ordenación del flujo de entrada. Omitir la ordenación si el flujo de entrada ya está ordenado. [#38719](https://github.com/ClickHouse/ClickHouse/pull/38719) ([Igor Nikonov](https://github.com/devcrafter)). Mejorar significativamente el uso de memoria y el tiempo de ejecución de la consulta + usar `DistinctSortedChunkTransform` para el `DISTINCT` final cuando las columnas de `DISTINCT` coincidan con las de `ORDER BY`, pero renombrarlo a `DistinctSortedStreamTransform` en `EXPLAIN PIPELINE` → esto mejora significativamente el uso de memoria + eliminar asignaciones de memoria innecesarias en el bucle crítico de `DistinctSortedChunkTransform`. [#39432](https://github.com/ClickHouse/ClickHouse/pull/39432) ([Igor Nikonov](https://github.com/devcrafter)). Usar `DistinctSortedTransform` solo cuando la descripción de ordenación sea aplicable a las columnas de `DISTINCT`; en caso contrario, recurrir a la implementación habitual de `DISTINCT` + esto permite realizar menos comprobaciones durante la ejecución de `DistinctSortedTransform`. [#39528](https://github.com/ClickHouse/ClickHouse/pull/39528) ([Igor Nikonov](https://github.com/devcrafter)). Corrección: `DistinctSortedTransform` no aprovechaba la ordenación. Nunca vaciaba el HashSet porque `clearing&#95;columns` se detectaba incorrectamente (siempre vacío). Así que, en la práctica, funcionaba como un `DISTINCT` normal (`DistinctTransform`). La corrección reduce significativamente el uso de memoria. [#39538](https://github.com/ClickHouse/ClickHouse/pull/39538) ([Igor Nikonov](https://github.com/devcrafter)).
* Use el nodo local como primera opción para obtener la estructura de la tabla remota al ejecutar `cluster` y funciones de tabla similares. [#39440](https://github.com/ClickHouse/ClickHouse/pull/39440) ([Mingliang Pan](https://github.com/liangliangpan)).
* Optimiza el filtrado por columnas numéricas con compress store de AVX512VBMI2. [#39633](https://github.com/ClickHouse/ClickHouse/pull/39633) ([Guo Wangyang](https://github.com/guowangy)). Para sistemas con AVX512 VBMI2, este PR mejora el rendimiento en aprox. un 6 % para las consultas 3.1, 3.2 y 3.3 del benchmark SSB (SF=100). Probado en Intel Icelake Xeon 8380 de 2 sockets. [#40033](https://github.com/ClickHouse/ClickHouse/pull/40033) ([Robert Schulze](https://github.com/rschu1ze)).
* Optimización del análisis de índices con expresiones funcionales en escenarios multihilo. [#39812](https://github.com/ClickHouse/ClickHouse/pull/39812) ([Guo Wangyang](https://github.com/guowangy)).
* Optimizaciones para consultas complejas: No recorrer el AST de las UDFs si no hay ninguna registrada. [#40069](https://github.com/ClickHouse/ClickHouse/pull/40069) ([Raúl Marín](https://github.com/Algunenano)). Optimización de alloc y free de CurrentMemoryTracker. [#40078](https://github.com/ClickHouse/ClickHouse/pull/40078) ([Raúl Marín](https://github.com/Algunenano)).
* Se ha mejorado la codificación/decodificación de Base58. [#39292](https://github.com/ClickHouse/ClickHouse/pull/39292) ([Andrey Zvonov](https://github.com/zvonand)).
* Mejora de la transformación de máscara de bytes a bits para SSE/AVX/AVX512. [#39586](https://github.com/ClickHouse/ClickHouse/pull/39586) ([Guo Wangyang](https://github.com/guowangy)).

<div id="improvement">
  #### Mejora
</div>

* Normalizar los tipos `AggregateFunction` y las representaciones de estado, porque optimizaciones como [#35788](https://github.com/ClickHouse/ClickHouse/pull/35788) tratarán `count(not null columns)` como `count()`, lo que podría hacer que los intérpretes distribuidos muestren el siguiente error: `Conversion from AggregateFunction(count) to AggregateFunction(count, Int64) is not supported`. [#39420](https://github.com/ClickHouse/ClickHouse/pull/39420) ([Amos Bird](https://github.com/amosbird)). Las funciones con estados idénticos pueden usarse indistintamente en vistas materializadas.
* Reestructurar y simplificar la tabla `system.backups`, eliminar la columna `internal`, permitir al usuario establecer el ID de la operación y añadir las columnas `num_files`, `uncompressed_size`, `compressed_size`, `start_time`, `end_time`. [#39503](https://github.com/ClickHouse/ClickHouse/pull/39503) ([Vitaly Baranov](https://github.com/vitlibar)).
* Estructura mejorada de la tabla de resultados de consultas DDL para la base de datos `Replicated` (columnas separadas para el nombre del segmento y de la réplica, y un estado más claro): las consultas `CREATE TABLE ... ON CLUSTER` pueden normalizarse primero en el nodo iniciador si `distributed_ddl_entry_format_version` está establecido en 3 (valor predeterminado). Esto significa que las consultas `ON CLUSTER` pueden no funcionar si el nodo iniciador no pertenece al clúster especificado en la consulta. Corrige [#37318](https://github.com/ClickHouse/ClickHouse/issues/37318), [#39500](https://github.com/ClickHouse/ClickHouse/issues/39500): ignorar la cláusula `ON CLUSTER` si la base de datos es `Replicated` y el nombre del clúster coincide con el nombre de la base de datos. Relacionado con [#35570](https://github.com/ClickHouse/ClickHouse/issues/35570): varias correcciones menores para el motor de base de datos `Replicated`: comprobar la consistencia de los metadatos al iniciar la base de datos `Replicated` e iniciar la recuperación de la réplica en caso de discrepancia entre los metadatos locales y los metadatos en Keeper. Resuelve [#24880](https://github.com/ClickHouse/ClickHouse/issues/24880). [#37198](https://github.com/ClickHouse/ClickHouse/pull/37198) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Añadir result\_rows y result\_bytes a los informes de progreso (`X-ClickHouse-Summary`). [#39567](https://github.com/ClickHouse/ClickHouse/pull/39567) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora del análisis de la clave primaria en MergeTree. [#25563](https://github.com/ClickHouse/ClickHouse/pull/25563) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* `timeSlots` ahora funciona con DateTime64; la duración con precisión de subsegundos y el tamaño del intervalo están disponibles al trabajar con DateTime64. [#37951](https://github.com/ClickHouse/ClickHouse/pull/37951) ([Andrey Zvonov](https://github.com/zvonand)).
* Se añadió compatibilidad para `direct join` `LEFT SEMI` y `LEFT ANTI` con tablas `EmbeddedRocksDB`. [#38956](https://github.com/ClickHouse/ClickHouse/pull/38956) ([Vladimir C](https://github.com/vdimir)).
* Añadir eventos de perfil para las operaciones `fsync`. [#39179](https://github.com/ClickHouse/ClickHouse/pull/39179) ([Azat Khuzhin](https://github.com/azat)).
* Añadido el segundo argumento a la función ordinaria `file(path[, default])`, que es el valor que devuelve la función en caso de que el archivo no exista. [#39218](https://github.com/ClickHouse/ClickHouse/pull/39218) ([Nikolay Degterinsky](https://github.com/evillique)).
* Algunas correcciones menores para la lectura a través de HTTP permiten reintentar contenido parcial en caso de recibir 200 OK. [#39244](https://github.com/ClickHouse/ClickHouse/pull/39244) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Admite consultas `CREATE TEMPORARY TABLE ... (<list of columns>) AS ...`. [#39462](https://github.com/ClickHouse/ClickHouse/pull/39462) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añade soporte para `!`/`*` (signo de exclamación/asterisco) en TLD personalizados (`cutToFirstSignificantSubdomainCustom()`/`cutToFirstSignificantSubdomainCustomWithWWW()`/`firstSignificantSubdomainCustom()`). [#39496](https://github.com/ClickHouse/ClickHouse/pull/39496) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió compatibilidad con conexiones TLS a NATS. Implementa [#39525](https://github.com/ClickHouse/ClickHouse/issues/39525). [#39527](https://github.com/ClickHouse/ClickHouse/pull/39527) ([Constantine Peresypkin](https://github.com/pkit)).
* `clickhouse-obfuscator` (una herramienta de ofuscación de bases de datos para pruebas y generación de carga) ahora cuenta con los nuevos parámetros `--save` y `--load` para trabajar con modelos preentrenados. Esto cierra [#39534](https://github.com/ClickHouse/ClickHouse/issues/39534). [#39541](https://github.com/ClickHouse/ClickHouse/pull/39541) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige el comportamiento incorrecto de la rotación de logs durante el reinicio. [#39558](https://github.com/ClickHouse/ClickHouse/pull/39558) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se corrige la creación de proyecciones agregadas cuando la agregación externa está activada. Se clasifica como una mejora porque este caso es poco frecuente y existe una solución sencilla cambiando la configuración. Esto corrige [#39667](https://github.com/ClickHouse/ClickHouse/issues/39667) . [#39671](https://github.com/ClickHouse/ClickHouse/pull/39671) ([Amos Bird](https://github.com/amosbird)).
* Se permite ejecutar funciones hash con argumentos de tipo `Map`. [#39685](https://github.com/ClickHouse/ClickHouse/pull/39685) ([Anton Popov](https://github.com/CurtizJ)).
* Se añade un parámetro de configuración para ocultar direcciones en las trazas de pila. Puede mejorar ligeramente la seguridad, pero en general es perjudicial y no debe usarse. [#39690](https://github.com/ClickHouse/ClickHouse/pull/39690) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se cambió el tamaño del prefijo de AggregateFunctionDistinct para garantizar que el segmento de memoria de los datos de la función anidada quede alineado. [#39696](https://github.com/ClickHouse/ClickHouse/pull/39696) ([Pxl](https://github.com/BiteTheDDDDt)).
* Escapar correctamente las credenciales proporcionadas a la herramienta `clickhouse-diagnostic`. [#39707](https://github.com/ClickHouse/ClickHouse/pull/39707) ([Dale McDiarmid](https://github.com/gingerwizard)).
* Mejora de ClickHouse Keeper: crear un snapshot al cerrar. Se puede controlar con la configuración `keeper_server.create_snapshot_on_exit`; `true` de forma predeterminada. [#39755](https://github.com/ClickHouse/ClickHouse/pull/39755) ([Antonio Andelic](https://github.com/antonio2368)).
* Permite el análisis de la clave primaria para `row_policy_filter` y `additional_filter`. También ayuda a corregir problemas como [#37454](https://github.com/ClickHouse/ClickHouse/issues/37454). [#39826](https://github.com/ClickHouse/ClickHouse/pull/39826) ([Amos Bird](https://github.com/amosbird)).
* Se corrigen dos problemas de usabilidad en la UI de Play: - no se veía pixel-perfect en iPad debido a bordes redondeados y márgenes parásitos; - la indicación de progreso no se mostraba después de la primera consulta. Esto cierra [#39957](https://github.com/ClickHouse/ClickHouse/issues/39957). Esto cierra [#39960](https://github.com/ClickHouse/ClickHouse/issues/39960). [#39961](https://github.com/ClickHouse/ClickHouse/pull/39961) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* UI de Play: añadir numeración de filas; añadir selección de celdas al hacer clic; añadir histéresis en las celdas de la tabla. [#39962](https://github.com/ClickHouse/ClickHouse/pull/39962) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* UI de Play: reconocer la tecla Tab en el área de texto, pero sin afectar al mismo tiempo la navegación con Tab. [#40053](https://github.com/ClickHouse/ClickHouse/pull/40053) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* El cliente mostrará el tiempo transcurrido en el servidor. Esto es importante para comparar el rendimiento de los servicios de ClickHouse en datacenters remotos. Esto cierra [#38070](https://github.com/ClickHouse/ClickHouse/issues/38070). Consulte también [esto](https://github.com/ClickHouse/ClickBench/blob/main/hardware/benchmark-cloud.sh#L37) para conocer la motivación. [#39968](https://github.com/ClickHouse/ClickHouse/pull/39968) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se agregan las funciones `parseDateTime64BestEffortUS`, `parseDateTime64BestEffortUSOrNull` y `parseDateTime64BestEffortUSOrZero`, lo que cierra [#37492](https://github.com/ClickHouse/ClickHouse/issues/37492). [#40015](https://github.com/ClickHouse/ClickHouse/pull/40015) ([Tanya Bragin](https://github.com/tbragin)).
* Se amplió `system.processors_profile_log` con más información, como las filas de entrada. [#40121](https://github.com/ClickHouse/ClickHouse/pull/40121) ([Amos Bird](https://github.com/amosbird)).
* Mostrar de forma predeterminada la hora del servidor en `clickhouse-benchmark` si está disponible (desde la versión 22.8 de ClickHouse). Esto es necesario para comparar correctamente el rendimiento de las Clouds. Este comportamiento puede cambiarse con la nueva opción de línea de comandos `--client-side-time`. Cambiar la opción de línea de comandos `--randomize` de `--randomize 1` a la forma sin argumento. [#40193](https://github.com/ClickHouse/ClickHouse/pull/40193) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añadir contadores (ProfileEvents) para los casos en que se haya configurado una limitación de la complejidad de la consulta y se haya alcanzado (un contador independiente para `overflow_mode` = `break` y `throw`). Por ejemplo, si ha configurado `max_rows_to_read` con `read_overflow_mode = 'break'`, consultar el valor del contador `OverflowBreak` permitirá distinguir los resultados incompletos. [#40205](https://github.com/ClickHouse/ClickHouse/pull/40205) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió la contabilidad de memoria en caso de errores de "Memory limit exceeded" (anteriormente, el uso de memoria \[peak] tenía en cuenta las asignaciones fallidas). [#40249](https://github.com/ClickHouse/ClickHouse/pull/40249) ([Azat Khuzhin](https://github.com/azat)).
* Se añaden métricas para la caché del sistema de archivos: `FilesystemCacheSize` y `FilesystemCacheElements`. [#40260](https://github.com/ClickHouse/ClickHouse/pull/40260) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite la transferencia RPC segura de Hadoop (hadoop.rpc.protection=privacy y hadoop.rpc.protection=integrity). [#39411](https://github.com/ClickHouse/ClickHouse/pull/39411) ([michael1589](https://github.com/michael1589)).
* Evita el crecimiento continuo del consumo de memoria de la caché de patrones al usar las funciones multi(Fuzzy)Match(Any|AllIndices|AnyIndex)(). [#40264](https://github.com/ClickHouse/ClickHouse/pull/40264) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="buildtestingpackaging-improvement-4">
  #### mejora en compilación, pruebas y empaquetado
</div>

* [ClickFiddle](https://fiddle.clickhouse.com/): Una nueva herramienta para probar versiones de ClickHouse en modo de lectura/escritura (**Igor Baliuk**).
* El binario de ClickHouse ahora es autoextraíble [#35775](https://github.com/ClickHouse/ClickHouse/pull/35775) ([Yakov Olkhovskiy, Arthur Filatenkov](https://github.com/yakov-olkhovskiy)).
* Actualiza tzdata a 2022b para admitir los nuevos cambios de zona horaria. Consulta [https://github.com/google/cctz/pull/226](https://github.com/google/cctz/pull/226). El inicio del horario de verano de Chile en 2022 se retrasa del 4 de septiembre al 11 de septiembre. Irán planea dejar de observar el horario de verano de forma permanente, después de atrasar el reloj el 2022-09-21. Hay correcciones de la zona horaria histórica de Asia/Tehran en el año 1977: Irán adoptó la hora estándar en 1935, no en 1946. En 1977 observó horario de verano desde 03-21 23:00 hasta 10-20 24:00; sus transiciones de 1978 fueron el 03-24 y el 08-05, no el 03-20 y el 10-20; y su transición de primavera de 1979 fue el 05-27, no el 03-21 ([https://data.iana.org/time-zones/tzdb/NEWS](https://data.iana.org/time-zones/tzdb/NEWS)). ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Antes, los paquetes instalaban el archivo systemd.service en `/etc`. Los archivos allí se marcan como `conf`, no se eliminan ni se actualizan automáticamente. Este PR los elimina. [#39323](https://github.com/ClickHouse/ClickHouse/pull/39323) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Asegúrese de que LSan funcione correctamente. [#39430](https://github.com/ClickHouse/ClickHouse/pull/39430) ([Azat Khuzhin](https://github.com/azat)).
* TSAN presenta problemas con clang-14 ([https://github.com/google/sanitizers/issues/1552](https://github.com/google/sanitizers/issues/1552), [https://github.com/google/sanitizers/issues/1540](https://github.com/google/sanitizers/issues/1540)), por lo que aquí compilamos los binarios de TSAN con clang-15. [#39450](https://github.com/ClickHouse/ClickHouse/pull/39450) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se elimina la posibilidad de compilar las herramientas de ClickHouse como programas ejecutables independientes. Esto corrige [#37847](https://github.com/ClickHouse/ClickHouse/issues/37847). [#39520](https://github.com/ClickHouse/ClickHouse/pull/39520) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajustes menores para la compilación en s390x (que es big-endian). [#39627](https://github.com/ClickHouse/ClickHouse/pull/39627) ([Harry Lee](https://github.com/HarryLeeIBM)). [#39656](https://github.com/ClickHouse/ClickHouse/pull/39656) ([Harry Lee](https://github.com/HarryLeeIBM)). Se corrigió un problema de endianness en BitHelpers para s390x. [#39656](https://github.com/ClickHouse/ClickHouse/pull/39656) ([Harry Lee](https://github.com/HarryLeeIBM)). Se implementó una parte de código relacionada con SipHash para la arquitectura s390x (no compatible con ClickHouse). [#39732](https://github.com/ClickHouse/ClickHouse/pull/39732) ([Harry Lee](https://github.com/HarryLeeIBM)). Se corrigió un problema de endianness en el código de instantáneas de coordinación para la arquitectura s390x (no compatible con ClickHouse). [#39931](https://github.com/ClickHouse/ClickHouse/pull/39931) ([Harry Lee](https://github.com/HarryLeeIBM)). Se corrigieron problemas de endianness en el código de codec para la arquitectura s390x (no compatible con ClickHouse). [#40008](https://github.com/ClickHouse/ClickHouse/pull/40008) ([Harry Lee](https://github.com/HarryLeeIBM)). Se corrigieron problemas de endianness en la lectura y escritura de datos binarios BigEndian en el código de ReadHelpers y WriteHelpers para la arquitectura s390x (no compatible con ClickHouse). [#40179](https://github.com/ClickHouse/ClickHouse/pull/40179) ([Harry Lee](https://github.com/HarryLeeIBM)).
* Se admite la compilación con `clang-16` (trunk). Esto cierra [#39949](https://github.com/ClickHouse/ClickHouse/issues/39949). [#40181](https://github.com/ClickHouse/ClickHouse/pull/40181) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Preparación de la compilación de RISC-V 64 para ejecutarse en CI. Esto es para [#40141](https://github.com/ClickHouse/ClickHouse/issues/40141). [#40197](https://github.com/ClickHouse/ClickHouse/pull/40197) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se simplificó la interfaz de la macro de registro de funciones (`FUNCTION_REGISTER*`) para eliminar el paso de agregar y llamar a una función `extern` en `registerFunctions.cpp`; además, esto agiliza las compilaciones incrementales de una función nueva. [#38615](https://github.com/ClickHouse/ClickHouse/pull/38615) ([Li Yin](https://github.com/liyinsg)).
* Docker: Ahora `entrypoint.sh` en la imagen de Docker crea y ejecuta `chown` para todas las carpetas que encuentra en la configuración de una instalación multidisco [#17717](https://github.com/ClickHouse/ClickHouse/issues/17717). [#39121](https://github.com/ClickHouse/ClickHouse/pull/39121) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="bug-fix">
  #### Corrección de errores
</div>

* Corrige una posible falla de segmentación en el formato de entrada `CapnProto`. Este error fue detectado y reportado por *kiojj* a través del [programa](https://github.com/ClickHouse/ClickHouse/issues/38986) de recompensas por errores de ClickHouse. [#40241](https://github.com/ClickHouse/ClickHouse/pull/40241) ([Kruglov Pavel](https://github.com/Avogar)).
* Soluciona un caso muy poco frecuente de comportamiento incorrecto del operador de subíndice de arrays. Esto cierra [#28720](https://github.com/ClickHouse/ClickHouse/issues/28720). [#40185](https://github.com/ClickHouse/ClickHouse/pull/40185) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió la validación insuficiente de argumentos en las funciones de cifrado (detectada por el fuzzer de consultas). Esto cierra [#39987](https://github.com/ClickHouse/ClickHouse/issues/39987). [#40194](https://github.com/ClickHouse/ClickHouse/pull/40194) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige un caso en el que el orden de las columnas puede ser incorrecto si el operador `IN` se usa con una tabla con `ENGINE = Set` que contiene varias columnas. Esto corrige [#13014](https://github.com/ClickHouse/ClickHouse/issues/13014). [#40225](https://github.com/ClickHouse/ClickHouse/pull/40225) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige el reposicionamiento al leer desde un disco cifrado. Este PR corrige [#38381](https://github.com/ClickHouse/ClickHouse/issues/38381). [#39687](https://github.com/ClickHouse/ClickHouse/pull/39687) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrigen las columnas duplicadas en el plan de ejecución de JOIN. Por fin, se resuelve [#26809](https://github.com/ClickHouse/ClickHouse/issues/26809). [#40009](https://github.com/ClickHouse/ClickHouse/pull/40009) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió el cuelgue de la consulta para SELECT con ORDER BY WITH FILL con distintos tipos de fecha/hora. [#37849](https://github.com/ClickHouse/ClickHouse/pull/37849) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corregido el ORDER BY para que coincida con el ORDER BY de las proyecciones (antes simplemente devolvía un resultado sin ordenar). [#38725](https://github.com/ClickHouse/ClickHouse/pull/38725) ([Azat Khuzhin](https://github.com/azat)).
* No optimice las funciones en las sentencias `GROUP BY` si entran en conflicto con una de las columnas o expresiones de la tabla. Corrige [#37032](https://github.com/ClickHouse/ClickHouse/issues/37032). [#39103](https://github.com/ClickHouse/ClickHouse/pull/39103) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Se corrigió el nombre de tabla incorrecto en los logs tras RENAME TABLE. Esto corrige [#38018](https://github.com/ClickHouse/ClickHouse/issues/38018). [#39227](https://github.com/ClickHouse/ClickHouse/pull/39227) ([Amos Bird](https://github.com/amosbird)).
* Se corrigen los argumentos posicionales en caso de poda de columnas durante la optimización de la consulta. Cierra [#38433](https://github.com/ClickHouse/ClickHouse/issues/38433). [#39293](https://github.com/ClickHouse/ClickHouse/pull/39293) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un error en la inferencia de esquema en el caso de mensajes vacíos en los formatos Protobuf/CapnProto, que permitía crear una columna con un tipo `Tuple` vacío. Cierra [#39051](https://github.com/ClickHouse/ClickHouse/issues/39051) Se añaden 2 nuevas opciones de configuración `input_format_{protobuf/capnproto}_skip_fields_with_unsupported_types_in_schema_inference` que permiten omitir campos con tipos no compatibles durante la inferencia de esquema para los formatos Protobuf y CapnProto. [#39357](https://github.com/ClickHouse/ClickHouse/pull/39357) ([Kruglov Pavel](https://github.com/Avogar)).
* (Window View es una característica experimental) Se corrige un fallo de segmentación en `CREATE WINDOW VIEW .. ON CLUSTER ... INNER`. Cierra [#39363](https://github.com/ClickHouse/ClickHouse/issues/39363). [#39384](https://github.com/ClickHouse/ClickHouse/pull/39384) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió la finalización de WriteBuffer al cancelar `insert into function` (en versiones anteriores podía provocar `std::terminate`). [#39458](https://github.com/ClickHouse/ClickHouse/pull/39458) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el almacenamiento de las columnas de tipo `Object` en la serialización dispersa. [#39464](https://github.com/ClickHouse/ClickHouse/pull/39464) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige la posible excepción "No se encontró la columna en el bloque" al usar proyecciones. Esto cierra [#39469](https://github.com/ClickHouse/ClickHouse/issues/39469). [#39470](https://github.com/ClickHouse/ClickHouse/pull/39470) ([小路](https://github.com/nicelulu)).
* Se corrige una excepción en una condición de carrera entre DROP e INSERT con vistas materializadas. [#39477](https://github.com/ClickHouse/ClickHouse/pull/39477) ([Azat Khuzhin](https://github.com/azat)).
* Un error en la biblioteca Apache Avro: se corrige una condición de carrera y un posible desbordamiento de búfer del montón en el formato Avro. Cierra [#39094](https://github.com/ClickHouse/ClickHouse/issues/39094) Cierra [#33652](https://github.com/ClickHouse/ClickHouse/issues/33652). [#39498](https://github.com/ClickHouse/ClickHouse/pull/39498) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un error poco frecuente en la lectura asíncrona (con la configuración `local_filesystem_read_method='pread_threadpool'`) cuando `O_DIRECT` está habilitado (mediante la configuración `min_bytes_to_use_direct_io`). [#39506](https://github.com/ClickHouse/ClickHouse/pull/39506) ([Anton Popov](https://github.com/CurtizJ)).
* (solo en FreeBSD) Corrige "Code: 49. DB::Exception: FunctionFactory: the function name '' is not unique. (LOGICAL\_ERROR)", observado en FreeBSD al iniciar ClickHouse. [#39551](https://github.com/ClickHouse/ClickHouse/pull/39551) ([Alexander Gololobov](https://github.com/davenger)).
* Se corrigió un error en el argumento "maxsplit", introducido recientemente para `splitByChar`, que no funcionaba correctamente. [#39552](https://github.com/ClickHouse/ClickHouse/pull/39552) ([filimonov](https://github.com/filimonov)).
* Se corrigió un error en ASOF JOIN con `enable_optimize_predicate_expression`; se cierra [#37813](https://github.com/ClickHouse/ClickHouse/issues/37813). [#39556](https://github.com/ClickHouse/ClickHouse/pull/39556) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió la consulta `CREATE/DROP INDEX` con `ON CLUSTER` o con una base de datos `Replicated` y `ReplicatedMergeTree`. Antes se ejecutaba en todas las réplicas (lo que provocaba errores o que la cola de DDL se quedara atascada). Corrige [#39511](https://github.com/ClickHouse/ClickHouse/issues/39511). [#39565](https://github.com/ClickHouse/ClickHouse/pull/39565) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige el error "column not found" en push down con join, cierra [#39505](https://github.com/ClickHouse/ClickHouse/issues/39505). [#39575](https://github.com/ClickHouse/ClickHouse/pull/39575) ([Vladimir C](https://github.com/vdimir)).
* Se corrige el alias incorrecto de `REGEXP_REPLACE`. Esto corrige [https://github.com/ClickHouse/ClickBench/issues/9](https://github.com/ClickHouse/ClickBench/issues/9). [#39592](https://github.com/ClickHouse/ClickHouse/pull/39592) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se fijó el punto de origen de las window functions de decaimiento exponencial en el último valor de la ventana. Anteriormente, el decaimiento se calculaba con la fórmula `exp((t - curr_row_t) / decay_length)`, lo que es incorrecto cuando el límite derecho de la ventana no es `CURRENT ROW`. Se cambió a: `exp((t - last_row_t) / decay_length)`. No hay cambios en los resultados para las ventanas con `ROWS BETWEEN (smth) AND CURRENT ROW`. [#39593](https://github.com/ClickHouse/ClickHouse/pull/39593) ([Vladimir Chebotaryov](https://github.com/quickhouse)).
* Se corrige el desbordamiento en la división de Decimal, que puede detectarse según la escala de los operandos. [#39600](https://github.com/ClickHouse/ClickHouse/pull/39600) ([Andrey Zvonov](https://github.com/zvonand)).
* Se corrigió el funcionamiento conjunto de las configuraciones `output_format_arrow_string_as_string` y `output_format_arrow_low_cardinality_as_dictionary`. Cierra [#39624](https://github.com/ClickHouse/ClickHouse/issues/39624). [#39647](https://github.com/ClickHouse/ClickHouse/pull/39647) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió un error en la resolución de la base de datos predeterminada al leer tablas distribuidas. [#39674](https://github.com/ClickHouse/ClickHouse/pull/39674) ([Anton Kozlov](https://github.com/tonickkozlov)).
* (Solo con las bases de datos Ordinary obsoletas) SELECT podría leer datos de una tabla eliminada si se usa la caché de E/S mmap, el motor de base de datos es Ordinary y se crearon tablas nuevas con el mismo nombre que tenía la tabla eliminada. Ya está corregido. [#39708](https://github.com/ClickHouse/ClickHouse/pull/39708) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige un posible error `Invalid column type for ColumnUnique::insertRangeFrom. Expected String, got ColumnLowCardinality`. Resuelve [#38460](https://github.com/ClickHouse/ClickHouse/issues/38460). [#39716](https://github.com/ClickHouse/ClickHouse/pull/39716) ([Arthur Passos](https://github.com/arthurpassos)).
* Los nombres de campo en la sección `meta` del formato JSON se escapaban por error dos veces. Esto corrige [#39693](https://github.com/ClickHouse/ClickHouse/issues/39693). [#39747](https://github.com/ClickHouse/ClickHouse/pull/39747) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Corrige el análisis incorrecto de índices con tuplas y el operador `IN`, que podía producir un resultado incorrecto en la consulta. [#39752](https://github.com/ClickHouse/ClickHouse/pull/39752) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el filtrado de tablas `EmbeddedRocksDB` por clave mediante parámetros. [#39757](https://github.com/ClickHouse/ClickHouse/pull/39757) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el error `Invalid number of columns in chunk pushed to OutputPort`, causado por la optimización de ARRAY JOIN. Corrige [#39164](https://github.com/ClickHouse/ClickHouse/issues/39164). [#39799](https://github.com/ClickHouse/ClickHouse/pull/39799) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Una solución alternativa para un error del kernel de Linux. Corrige la excepción `CANNOT_READ_ALL_DATA` con `local_filesystem_read_method=pread_threadpool`. Según [man](https://manpages.debian.org/testing/manpages-dev/preadv2.2.en.html#BUGS), este error solo afectaba a las versiones 5.9 y 5.10 del kernel de Linux. [#39800](https://github.com/ClickHouse/ClickHouse/pull/39800) ([Anton Popov](https://github.com/CurtizJ)).
* (Solo en NFS) Se corrigió el `mkdir` defectuoso de NFS para volúmenes `root-squashed`. [#39898](https://github.com/ClickHouse/ClickHouse/pull/39898) ([Constantine Peresypkin](https://github.com/pkit)).
* Eliminar los diccionarios de las métricas de Prometheus en DETACH/DROP. [#39926](https://github.com/ClickHouse/ClickHouse/pull/39926) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la lectura de StorageFile con columnas virtuales. Cierra [#39907](https://github.com/ClickHouse/ClickHouse/issues/39907). [#39943](https://github.com/ClickHouse/ClickHouse/pull/39943) ([flynn](https://github.com/ucasfl)).
* Corrige el elevado uso de memoria durante los fetches. Corrige [#39915](https://github.com/ClickHouse/ClickHouse/issues/39915). [#39990](https://github.com/ClickHouse/ClickHouse/pull/39990) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* (funcionalidad experimental) Se corrige el fallo de `hashId` y el problema por el que no se usaba el parámetro salt. [#40002](https://github.com/ClickHouse/ClickHouse/pull/40002) ([Raúl Marín](https://github.com/Algunenano)).
* Los operadores `EXCEPT` e `INTERSECT` pueden provocar un fallo cuando se utiliza una combinación específica de columnas constantes y no constantes. [#40020](https://github.com/ClickHouse/ClickHouse/pull/40020) ([Duc Canh Le](https://github.com/canhld94)).
* Se corrigieron los errores "Part directory doesn't exist" y "`tmp_<part_name>` ... No such file or directory" durante un `INSERT` demasiado lento o una operación de merge/mutación demasiado prolongada. También se corrigió un problema que podía hacer que algunas entradas de la cola de replicación se quedaran bloqueadas sin ningún error ni advertencia en los logs si había fallado un intento previo de obtener una parte, pero no se había limpiado el directorio `tmp-fetch_<part_name>`. [#40031](https://github.com/ClickHouse/ClickHouse/pull/40031) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Corrige casos poco frecuentes en el análisis sintáctico de arrays de tuplas en el formato `Values`. [#40034](https://github.com/ClickHouse/ClickHouse/pull/40034) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige la conversión en el formato ArrowColumn de Dictionary(X) & Dictionary(Nullable(X)) a ClickHouse LowCardinality(X) & LowCardinality(Nullable(X)), respectivamente. [#40037](https://github.com/ClickHouse/ClickHouse/pull/40037) ([Arthur Passos](https://github.com/arthurpassos)).
* Corregir un posible interbloqueo al escribir en S3 durante un fallo al programar tareas. [#40070](https://github.com/ClickHouse/ClickHouse/pull/40070) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrigió un error en collectFilesToSkip() al añadir la extensión de archivo correcta (.idx o idx2) para los índices que debían recalcularse, evitando enlaces físicos erróneos. Corregido en [#39896](https://github.com/ClickHouse/ClickHouse/issues/39896). [#40095](https://github.com/ClickHouse/ClickHouse/pull/40095) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Una corrección para la resolución inversa de DNS. [#40134](https://github.com/ClickHouse/ClickHouse/pull/40134) ([Arthur Passos](https://github.com/arthurpassos)).
* Se corrigió el resultado inesperado de `arrayDifference` de \`Array(UInt32). [#40211](https://github.com/ClickHouse/ClickHouse/pull/40211) ([Duc Canh Le](https://github.com/canhld94)).

### <a id="227" /> Lanzamiento de ClickHouse 22.7, 2022-07-21. [Presentación](https://presentations.clickhouse.com/2022-release-22.7/), [Vídeo](https://www.youtube.com/watch?v=IOJyo14BpTQ)

<Frame>
  <iframe src="https://www.youtube.com/embed/IOJyo14BpTQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### Notas de actualización
</div>

* Se habilita la configuración `enable_positional_arguments` de forma predeterminada. Permite consultas como `SELECT ... ORDER BY 1, 2`, donde 1 y 2 son referencias a la cláusula `SELECT`. Si necesita recuperar el comportamiento anterior, desactive esta configuración. [#38204](https://github.com/ClickHouse/ClickHouse/pull/38204) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se deshabilita `format_csv_allow_single_quotes` de forma predeterminada. Consulte [#37096](https://github.com/ClickHouse/ClickHouse/issues/37096). ([Kruglov Pavel](https://github.com/Avogar)).
* El motor de database `Ordinary` y la sintaxis antigua de definición de almacenamiento para las tablas `*MergeTree` están obsoletos. De forma predeterminada, no es posible crear nuevas databases con el motor `Ordinary`. Si la database `system` tiene el motor `Ordinary`, se convertirá automáticamente a `Atomic` al iniciar el server. Existen configuraciones para mantener el comportamiento anterior (`allow_deprecated_database_ordinary` y `allow_deprecated_syntax_for_merge_tree`), pero pueden eliminarse en futuras versiones. [#38335](https://github.com/ClickHouse/ClickHouse/pull/38335) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se fuerza de forma predeterminada la reescritura de `comma join` a `inner` (se establece el valor predeterminado `cross_to_inner_join_rewrite = 2`). Para recuperar el comportamiento anterior, establezca `cross_to_inner_join_rewrite = 1`. [#39326](https://github.com/ClickHouse/ClickHouse/pull/39326) ([Vladimir C](https://github.com/vdimir)). Si encuentra alguna incompatibilidad, puede volver a cambiar esta configuración.

<div id="new-feature-5">
  #### nueva funcionalidad
</div>

* Se admiten expresiones con funciones de ventana. Cierra [#19857](https://github.com/ClickHouse/ClickHouse/issues/19857). [#37848](https://github.com/ClickHouse/ClickHouse/pull/37848) ([Dmitry Novik](https://github.com/novikd)).
* Se añadió un nuevo algoritmo de join `direct` para las tablas `EmbeddedRocksDB`; véase [#33582](https://github.com/ClickHouse/ClickHouse/issues/33582). [#35363](https://github.com/ClickHouse/ClickHouse/pull/35363) ([Vladimir C](https://github.com/vdimir)).
* Se añadió el algoritmo de join por mezcla con ordenación total. [#35796](https://github.com/ClickHouse/ClickHouse/pull/35796) ([Vladimir C](https://github.com/vdimir)).
* Implementación del motor de tabla NATS, que permite publicar y suscribirse a NATS. Cierra [#32388](https://github.com/ClickHouse/ClickHouse/issues/32388). [#37171](https://github.com/ClickHouse/ClickHouse/pull/37171) ([tchepavel](https://github.com/tchepavel)). ([Kseniia Sumarokova](https://github.com/kssenii))
* Implementa la función de tabla `mongodb`. Permite escribir en el almacenamiento / función de tabla `MongoDB`. [#37213](https://github.com/ClickHouse/ClickHouse/pull/37213) ([aaapetrenko](https://github.com/aaapetrenko)). ([Kseniia Sumarokova](https://github.com/kssenii))
* Se añade el formato de salida `SQLInsert`. Cierra [#38441](https://github.com/ClickHouse/ClickHouse/issues/38441). [#38477](https://github.com/ClickHouse/ClickHouse/pull/38477) ([Kruglov Pavel](https://github.com/Avogar)).
* Se introdujo el ajuste `additional_table_filters`. Con este ajuste, puede especificar una condición de filtrado adicional para una tabla, que se aplicará directamente después de la lectura. Ejemplo: `select number, x, y from (select number from system.numbers limit 5) f any left join (select x, y from table_1) s on f.number = s.x settings additional_table_filters={'system.numbers : 'number != 3', 'table_1' : 'x != 2'}`. Se introdujo el ajuste `additional_result_filter`, que especifica una condición de filtrado adicional para el resultado de la consulta. Cierra [#37918](https://github.com/ClickHouse/ClickHouse/issues/37918). [#38475](https://github.com/ClickHouse/ClickHouse/pull/38475) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añade la configuración `compatibility` y la tabla del sistema `system.settings_changes`, que contiene información sobre los cambios en la configuración entre versiones de ClickHouse. Cierra [#35972](https://github.com/ClickHouse/ClickHouse/issues/35972). [#38957](https://github.com/ClickHouse/ClickHouse/pull/38957) ([Kruglov Pavel](https://github.com/Avogar)).
* Añadidas las funciones `translate(string, from_string, to_string)` y `translateUTF8(string, from_string, to_string)`. Traducen algunos caracteres a otros. [#38935](https://github.com/ClickHouse/ClickHouse/pull/38935) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se admite la función `parseTimeDelta`. Puede usarse de la siguiente manera: ` ;-+,:` se pueden usar como separadores, por ejemplo, `1yr-2mo`, `2m:6s`: `SELECT parseTimeDelta('1yr-2mo-4w + 12 days, 3 hours : 1 minute ; 33 seconds')`. [#39071](https://github.com/ClickHouse/ClickHouse/pull/39071) ([jiahui-97](https://github.com/jiahui-97)).
* Se añadió la consulta `CREATE TABLE ... EMPTY AS SELECT`. Deduce automáticamente la estructura de la tabla a partir de la consulta SELECT, pero no llena la tabla después de crearla. Resuelve [#38049](https://github.com/ClickHouse/ClickHouse/issues/38049). [#38272](https://github.com/ClickHouse/ClickHouse/pull/38272) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se añadieron opciones para limitar las operaciones de E/S con almacenamiento remoto: `max_remote_read_network_bandwidth_for_server` y `max_remote_write_network_bandwidth_for_server`. [#39095](https://github.com/ClickHouse/ClickHouse/pull/39095) ([Sergei Trifonov](https://github.com/serxa)).
* Añade la configuración `group_by_use_nulls` para que las columnas clave de agregación admitan NULL en el caso de ROLLUP, CUBE y GROUPING SETS. Cierra [#37359](https://github.com/ClickHouse/ClickHouse/issues/37359). [#38642](https://github.com/ClickHouse/ClickHouse/pull/38642) ([Dmitry Novik](https://github.com/novikd)).
* Se añadió la posibilidad de especificar el nivel de compresión durante la exportación de datos. [#38907](https://github.com/ClickHouse/ClickHouse/pull/38907) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añadió una opción para exigir grants explícitos para realizar `SELECT` en la base de datos `system`. Detalles: [#38970](https://github.com/ClickHouse/ClickHouse/pull/38970) ([Vitaly Baranov](https://github.com/vitlibar)).
* Las funciones `multiMatchAny`, `multiMatchAnyIndex`, `multiMatchAllIndices` y sus variantes difusas ahora aceptan un argumento de array de patrones no constante. [#38485](https://github.com/ClickHouse/ClickHouse/pull/38485) ([Robert Schulze](https://github.com/rschu1ze)). La función SQL `multiSearchAllPositions` ahora acepta argumentos de búsqueda no constantes. [#39167](https://github.com/ClickHouse/ClickHouse/pull/39167) ([Robert Schulze](https://github.com/rschu1ze)).
* Añade la opción de configuración `zstd_window_log_max` para establecer el uso máximo de memoria durante la decodificación zstd al importar archivos externos. Cierra [#35693](https://github.com/ClickHouse/ClickHouse/issues/35693). [#37015](https://github.com/ClickHouse/ClickHouse/pull/37015) ([wuxiaobai24](https://github.com/wuxiaobai24)).
* Añade la configuración `send_logs_source_regexp`. Envía los logs de texto del servidor cuyo nombre de origen coincida con la expresión regular especificada. Vacío significa todos los orígenes. [#39161](https://github.com/ClickHouse/ClickHouse/pull/39161) ([Amos Bird](https://github.com/amosbird)).
* Soporte para `ALTER` en tablas `Hive`. [#38214](https://github.com/ClickHouse/ClickHouse/pull/38214) ([lgbo](https://github.com/lgbo-ustc)).
* Se admite la función `isNullable`. Esta función comprueba si su argumento es de tipo Nullable y devuelve 1 o 0. Cierra [#38611](https://github.com/ClickHouse/ClickHouse/issues/38611). [#38841](https://github.com/ClickHouse/ClickHouse/pull/38841) ([lokax](https://github.com/lokax)).
* Se añadieron funciones para codificar y decodificar en base58. [#38159](https://github.com/ClickHouse/ClickHouse/pull/38159) ([Andrey Zvonov](https://github.com/zvonand)).
* Añadir visualizaciones de gráficos a la UI de Play. [#38197](https://github.com/ClickHouse/ClickHouse/pull/38197) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añadieron funciones para calcular la distancia L2 al cuadrado y la norma tanto para arrays como para tuplas. [#38545](https://github.com/ClickHouse/ClickHouse/pull/38545) ([Julian Gilyadov](https://github.com/israelg99)).
* Se añade la posibilidad de pasar encabezados HTTP a la función de tabla / almacenamiento `url` mediante SQL. Cierra [#37897](https://github.com/ClickHouse/ClickHouse/issues/37897). [#38176](https://github.com/ClickHouse/ClickHouse/pull/38176) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Añadir el binario `clickhouse-diagnostics` a los paquetes. [#38647](https://github.com/ClickHouse/ClickHouse/pull/38647) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Añade la nueva configuración `implicit_transaction` para ejecutar consultas independientes dentro de una transacción. Se encarga automáticamente tanto de la creación como del cierre de la transacción (mediante COMMIT si la consulta se ejecuta correctamente o ROLLBACK si no es así). [#38344](https://github.com/ClickHouse/ClickHouse/pull/38344) ([Raúl Marín](https://github.com/Algunenano)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Optimización de `distinct` para columnas ordenadas. Use la transformación especializada de `distinct` cuando el flujo de entrada esté ordenado por la(s) columna(s) de `distinct`. La optimización puede aplicarse a pre-distinct, distinct final o a ambos. Implementación inicial por @dimarub2000. [#37803](https://github.com/ClickHouse/ClickHouse/pull/37803) ([Igor Nikonov](https://github.com/devcrafter)).
* Mejora el rendimiento de `ORDER BY`, las fusiones de `MergeTree` y las funciones de ventana gracias al uso de la versión por lotes de `BinaryHeap`. [#38022](https://github.com/ClickHouse/ClickHouse/pull/38022) ([Maksim Kita](https://github.com/kitaisreal)).
* Mayor paralelismo en la ejecución de consultas con `FINAL` [#36396](https://github.com/ClickHouse/ClickHouse/pull/36396) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige una regresión importante en el rendimiento de `join` que se introdujo en [#35616](https://github.com/ClickHouse/ClickHouse/pull/35616). Llama la atención que consultas `join` comunes, como las consultas ssb, hayan sido 10 veces más lentas durante casi 3 meses sin que nadie se quejara. [#38052](https://github.com/ClickHouse/ClickHouse/pull/38052) ([Amos Bird](https://github.com/amosbird)).
* Se migra de la biblioteca Intel hyperscan a vectorscan, lo que acelera muchas operaciones de coincidencia de cadenas en plataformas no x86. [#38171](https://github.com/ClickHouse/ClickHouse/pull/38171) ([Robert Schulze](https://github.com/rschu1ze)).
* Aumento del paralelismo en los pasos del plan de consulta ejecutados después de la agregación. [#38295](https://github.com/ClickHouse/ClickHouse/pull/38295) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora el rendimiento de las inserciones en columnas de tipo `JSON`. [#38320](https://github.com/ClickHouse/ClickHouse/pull/38320) ([Anton Popov](https://github.com/CurtizJ)).
* Se optimizaron la inserción y las búsquedas en la HashTable. [#38413](https://github.com/ClickHouse/ClickHouse/pull/38413) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige la degradación del rendimiento de [#32493](https://github.com/ClickHouse/ClickHouse/issues/32493). [#38417](https://github.com/ClickHouse/ClickHouse/pull/38417) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora el rendimiento de los `join` con columnas numéricas mediante instrucciones SIMD. [#37235](https://github.com/ClickHouse/ClickHouse/pull/37235) ([zzachimed](https://github.com/zzachimed)). [#38565](https://github.com/ClickHouse/ClickHouse/pull/38565) ([Maksim Kita](https://github.com/kitaisreal)).
* Las funciones de norma y distancia para arrays se han acelerado entre 1,2 y 2 veces. [#38740](https://github.com/ClickHouse/ClickHouse/pull/38740) ([Alexander Gololobov](https://github.com/davenger)).
* Se añade `copyOverlap32Shuffle` optimizado con AVX-512 VBMI para la descompresión de LZ4. En otras palabras, mejora el rendimiento de la descompresión de LZ4. [#37891](https://github.com/ClickHouse/ClickHouse/pull/37891) ([Guo Wangyang](https://github.com/guowangy)).
* `ORDER BY (a, b)` ofrecerá las mismas ventajas que `ORDER BY a, b`. [#38873](https://github.com/ClickHouse/ClickHouse/pull/38873) ([Igor Nikonov](https://github.com/devcrafter)).
* Alinear los saltos dentro de un límite de 32B para que el benchmark sea más estable. [#38988](https://github.com/ClickHouse/ClickHouse/pull/38988) ([Guo Wangyang](https://github.com/guowangy)). Mejora el rendimiento entre un 1 y un 2 % de media en Intel.
* Las UDF ejecutables, los diccionarios ejecutables y las tablas ejecutables evitarán perder un segundo mientras esperan a que termine el subproceso. [#38929](https://github.com/ClickHouse/ClickHouse/pull/38929) ([Constantine Peresypkin](https://github.com/pkit)).
* Se optimizan los accesos a la tabla `system.stack_trace` si no se seleccionan todas las columnas. [#39177](https://github.com/ClickHouse/ClickHouse/pull/39177) ([Azat Khuzhin](https://github.com/azat)).
* Mejora del rendimiento de isNullable/isConstant/isNull/isNotNull para el argumento LowCardinality. [#39192](https://github.com/ClickHouse/ClickHouse/pull/39192) ([Kruglov Pavel](https://github.com/Avogar)).
* Se optimizó el procesamiento de ORDER BY en las funciones de ventana. [#34632](https://github.com/ClickHouse/ClickHouse/pull/34632) ([Vladimir Chebotarev](https://github.com/excitoon)).
* La tabla `system.asynchronous_metric_log` está mejor optimizada en cuanto al espacio de almacenamiento. Esto corrige [#38134](https://github.com/ClickHouse/ClickHouse/issues/38134). Consulte el [video de YouTube](https://www.youtube.com/watch?v=0fSp9SF8N8A). [#38428](https://github.com/ClickHouse/ClickHouse/pull/38428) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="improvement">
  #### Mejora
</div>

* Se admite la sintaxis estándar de SQL para CREATE INDEX y DROP INDEX. [#35166](https://github.com/ClickHouse/ClickHouse/pull/35166) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Enviar eventos de perfil para consultas INSERT (anteriormente, solo se admitía SELECT). [#37391](https://github.com/ClickHouse/ClickHouse/pull/37391) ([Azat Khuzhin](https://github.com/azat)).
* Implementación de la agregación in order (`optimize_aggregation_in_order`) para proyecciones totalmente materializadas. [#37469](https://github.com/ClickHouse/ClickHouse/pull/37469) ([Azat Khuzhin](https://github.com/azat)).
* Se eliminó la llamada a un subproceso para la inicialización de Kerberos. Se añadió una nueva prueba de integración. Cierra [#27651](https://github.com/ClickHouse/ClickHouse/issues/27651). [#38105](https://github.com/ClickHouse/ClickHouse/pull/38105) ([Roman Vasin](https://github.com/rvasin)).
* * Añadir la configuración `multiple_joins_try_to_keep_original_names` para no reescribir el nombre del identificador al reescribir múltiples JOIN, cierra [#34697](https://github.com/ClickHouse/ClickHouse/issues/34697). [#38149](https://github.com/ClickHouse/ClickHouse/pull/38149) ([Vladimir C](https://github.com/vdimir)).
* Se ha mejorado la experiencia de usuario del visualizador de trazas. [#38169](https://github.com/ClickHouse/ClickHouse/pull/38169) ([Sergei Trifonov](https://github.com/serxa)).
* Se habilita la recopilación de trazas de pila y el perfilador de consultas para AArch64. [#38181](https://github.com/ClickHouse/ClickHouse/pull/38181) ([Maksim Kita](https://github.com/kitaisreal)).
* No omitir los enlaces simbólicos del directorio `user_defined` durante la carga de funciones SQL definidas por el usuario. Cierra [#38042](https://github.com/ClickHouse/ClickHouse/issues/38042). [#38184](https://github.com/ClickHouse/ClickHouse/pull/38184) ([Maksim Kita](https://github.com/kitaisreal)).
* Se agregó la limpieza en segundo plano de los subdirectorios en `store/`. En algunos casos, `clickhouse-server` podía dejar subdirectorios residuales en `store/` (por ejemplo, al intentar crear una tabla sin éxito) y esos directorios nunca se eliminaban. Corrige [#33710](https://github.com/ClickHouse/ClickHouse/issues/33710). [#38265](https://github.com/ClickHouse/ClickHouse/pull/38265) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Se añade la consulta `DESCRIBE CACHE` para mostrar la configuración de la caché desde la configuración. Se añade la consulta `SHOW CACHES` para mostrar la lista de cachés del sistema de archivos disponibles. [#38279](https://github.com/ClickHouse/ClickHouse/pull/38279) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade una verificación de acceso para `system drop filesystem cache`. Se admite ON CLUSTER. [#38319](https://github.com/ClickHouse/ClickHouse/pull/38319) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la incompatibilidad del motor de base de datos PostgreSQL al actualizar de la versión 21.3 a la 22.3. Cierra [#36659](https://github.com/ClickHouse/ClickHouse/issues/36659). [#38369](https://github.com/ClickHouse/ClickHouse/pull/38369) ([Kseniia Sumarokova](https://github.com/kssenii)).
* `filesystemAvailable` y funciones similares ahora funcionan en `clickhouse-local`. Esto resuelve [#38423](https://github.com/ClickHouse/ClickHouse/issues/38423). [#38424](https://github.com/ClickHouse/ClickHouse/pull/38424) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se añade la función `revision`. [#38555](https://github.com/ClickHouse/ClickHouse/pull/38555) ([Azat Khuzhin](https://github.com/azat)).
* Corregido el uso de GCS a través de un túnel proxy. [#38726](https://github.com/ClickHouse/ClickHouse/pull/38726) ([Azat Khuzhin](https://github.com/azat)).
* Soporte para `\i file` en clickhouse client / local (similar a psql \i). [#38813](https://github.com/ClickHouse/ClickHouse/pull/38813) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Nueva opción `optimize = 1` en `EXPLAIN AST`. Si está activada, muestra el AST después de su reescritura; de lo contrario, el AST de la consulta original. Desactivada de forma predeterminada. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)).
* Se permite la coma final en la lista de columnas. Cierra [#38425](https://github.com/ClickHouse/ClickHouse/issues/38425). [#38440](https://github.com/ClickHouse/ClickHouse/pull/38440) ([chen](https://github.com/xiedeyantu)).
* Corrección de errores y mejoras de rendimiento del método JOIN `parallel_hash`. [#37648](https://github.com/ClickHouse/ClickHouse/pull/37648) ([Vladimir C](https://github.com/vdimir)).
* Se admite la transferencia RPC segura de Hadoop (hadoop.rpc.protection=privacy y hadoop.rpc.protection=integrity). [#37852](https://github.com/ClickHouse/ClickHouse/pull/37852) ([Peng Liu](https://github.com/michael1589)).
* Se añade soporte para el tipo `struct` en `StorageHive`. [#38118](https://github.com/ClickHouse/ClickHouse/pull/38118) ([lgbo](https://github.com/lgbo-ustc)).
* Los objetos individuales de S3 ahora se eliminan con `RemoveObjectRequest`. Se implementó compatibilidad con GCP, que no permitía usar `removeFileIfExists`, lo que en la práctica inutilizaba aproximadamente la mitad de la funcionalidad de `remove`. Detección automática de la API de S3 `DeleteObjects`, que GCS no admite. Esto permitirá usar GCS sin tener que especificar explícitamente `support_batch_delete=0` en la configuración. [#37882](https://github.com/ClickHouse/ClickHouse/pull/37882) ([Vladimir Chebotarev](https://github.com/excitoon)).
* Exponer datos básicos de monitoreo de ClickHouse Keeper (a través de ProfileEvents y CurrentMetrics). [#38072](https://github.com/ClickHouse/ClickHouse/pull/38072) ([lingpeng0314](https://github.com/lingpeng0314)).
* Se admite la opción `auto_close` para la conexión del motor PostgreSQL. Cierra [#31486](https://github.com/ClickHouse/ClickHouse/issues/31486). [#38363](https://github.com/ClickHouse/ClickHouse/pull/38363) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Permitir el modificador `NULL` en la declaración de columnas de las funciones de tabla. [#38816](https://github.com/ClickHouse/ClickHouse/pull/38816) ([Kruglov Pavel](https://github.com/Avogar)).
* Desactive `mutations_finalizing_task` antes de apagar para evitar errores benignos `TABLE_IS_READ_ONLY` durante el apagado. [#38851](https://github.com/ClickHouse/ClickHouse/pull/38851) ([Raúl Marín](https://github.com/Algunenano)).
* Se elimina la espera innecesaria de las consultas SELECT tras las consultas ALTER cuando hay consultas INSERT si usa bases de datos Ordinary obsoletas. [#38864](https://github.com/ClickHouse/ClickHouse/pull/38864) ([Azat Khuzhin](https://github.com/azat)).
* Nueva opción `rewrite` en `EXPLAIN AST`. Si está habilitada, muestra el AST tras la reescritura; de lo contrario, muestra el AST de la consulta original. Deshabilitada de forma predeterminada. [#38910](https://github.com/ClickHouse/ClickHouse/pull/38910) ([Igor Nikonov](https://github.com/devcrafter)).
* Dejar de reportar las excepciones de Zookeeper "Node exists" en system.errors cuando son esperadas. [#38961](https://github.com/ClickHouse/ClickHouse/pull/38961) ([Raúl Marín](https://github.com/Algunenano)).
* `clickhouse-keeper`: se añade compatibilidad con el cálculo y la verificación de resúmenes en tiempo real. Está desactivado por defecto. [#37555](https://github.com/ClickHouse/ClickHouse/pull/37555) ([Antonio Andelic](https://github.com/antonio2368)).
* Se permite especificar globs `* or {expr1, expr2, expr3}` dentro de una clave para la herramienta `clickhouse-extract-from-config`. [#38966](https://github.com/ClickHouse/ClickHouse/pull/38966) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* clearOldLogs: No notificar KEEPER\_EXCEPTION en eliminaciones concurrentes. [#39016](https://github.com/ClickHouse/ClickHouse/pull/39016) ([Raúl Marín](https://github.com/Algunenano)).
* mejora de clickhouse-keeper: persistir la metainformación sobre los servidores de Keeper en disco. [#39069](https://github.com/ClickHouse/ClickHouse/pull/39069) ([Antonio Andelic](https://github.com/antonio2368)). Esto facilitará la operación si apaga o reinicia todos los nodos de Keeper al mismo tiempo.
* Continuar sin lanzar una excepción cuando se agote el espacio en disco al usar la caché del sistema de archivos. [#39106](https://github.com/ClickHouse/ClickHouse/pull/39106) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Manejo de señales SIGTERM en k8s. [#39130](https://github.com/ClickHouse/ClickHouse/pull/39130) ([Timur Solodovnikov](https://github.com/tsolodov)).
* Añadir la columna `merge_algorithm` (Undecided, Horizontal, Vertical) a system.part\_log. [#39181](https://github.com/ClickHouse/ClickHouse/pull/39181) ([Azat Khuzhin](https://github.com/azat)).
* No incrementar un contador en `system.errors` cuando el disco no sea giratorio. [#39216](https://github.com/ClickHouse/ClickHouse/pull/39216) ([Raúl Marín](https://github.com/Algunenano)).
* La métrica `result_bytes` para las consultas `INSERT` en `system.query_log` muestra el número de bytes insertados. Anteriormente, el valor era incorrecto y almacenaba el mismo valor que `result_rows`. [#39225](https://github.com/ClickHouse/ClickHouse/pull/39225) ([Ilya Yatsishin](https://github.com/qoega)).
* La métrica de uso de CPU en clickhouse-client se mostrará de forma más clara. Corrige [#38756](https://github.com/ClickHouse/ClickHouse/issues/38756). [#39280](https://github.com/ClickHouse/ClickHouse/pull/39280) ([Sergei Trifonov](https://github.com/serxa)).
* Se vuelve a lanzar la excepción durante la inicialización de la caché del sistema de archivos al iniciar el servidor; se mejora el mensaje de error. [#39386](https://github.com/ClickHouse/ClickHouse/pull/39386) ([Kseniia Sumarokova](https://github.com/kssenii)).
* OpenTelemetry ahora recopila trazas sin spans de Processors de forma predeterminada (hay demasiados). Para habilitar la recopilación de spans de Processors, use la configuración `opentelemetry_trace_processors`. [#39170](https://github.com/ClickHouse/ClickHouse/pull/39170) ([Ilya Yatsishin](https://github.com/qoega)).
* Funciones `multiMatch[Fuzzy](AllIndices/Any/AnyIndex)` - no generan un error lógico si el argumento needle está vacío. [#39012](https://github.com/ClickHouse/ClickHouse/pull/39012) ([Robert Schulze](https://github.com/rschu1ze)).
* Permite declarar la cola de `RabbitMQ` sin los argumentos predeterminados `x-max-length` y `x-overflow`. [#39259](https://github.com/ClickHouse/ClickHouse/pull/39259) ([rnbondarenko](https://github.com/rnbondarenko)).

<div id="buildtestingpackaging-improvement-4">
  #### mejora en compilación, pruebas y empaquetado
</div>

* Aplicación de anotaciones de Clang Thread Safety Analysis (TSA) a ClickHouse. [#38068](https://github.com/ClickHouse/ClickHouse/pull/38068) ([Robert Schulze](https://github.com/rschu1ze)).
* Adaptación del script de instalación universal para FreeBSD. [#39302](https://github.com/ClickHouse/ClickHouse/pull/39302) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Preparación para la compilación en la plataforma `s390x`. [#39193](https://github.com/ClickHouse/ClickHouse/pull/39193) ([Harry Lee](https://github.com/HarryLeeIBM)).
* Corrección de un error en la biblioteca `jemalloc`. [#38757](https://github.com/ClickHouse/ClickHouse/pull/38757) ([Azat Khuzhin](https://github.com/azat)).
* El benchmark de hardware ahora admite la carga automática de resultados. [#38427](https://github.com/ClickHouse/ClickHouse/pull/38427) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* La tabla del sistema "system.licenses" ahora se completa correctamente en Mac (Darwin). [#38294](https://github.com/ClickHouse/ClickHouse/pull/38294) ([Robert Schulze](https://github.com/rschu1ze)).
* Cambio de los paquetes `all|noarch` para que dependan de la arquitectura - Corrección de parte de la documentación al respecto - Publicación de paquetes aarch64|arm64 en Artifactory y en los recursos de la versión - Corrige [#36443](https://github.com/ClickHouse/ClickHouse/issues/36443). [#38580](https://github.com/ClickHouse/ClickHouse/pull/38580) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-3">
  #### Corrección de errores (fallo visible para el usuario en una versión oficial estable o preestable)
</div>

* Se corrige el redondeo de `Decimal128/Decimal256` con una escala de más de 19 dígitos. [#38027](https://github.com/ClickHouse/ClickHouse/pull/38027) ([Igor Nikonov](https://github.com/devcrafter)).
* Se corrigió un bloqueo causado por una condición de carrera en el almacenamiento `Hive` (motor de tabla de integración). [#38887](https://github.com/ClickHouse/ClickHouse/pull/38887) ([lgbo](https://github.com/lgbo-ustc)).
* Se corrige un fallo al ejecutar GRANT ALL ON *.* con ON CLUSTER. Se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/35767](https://github.com/ClickHouse/ClickHouse/pull/35767). Esto cierra [#38618](https://github.com/ClickHouse/ClickHouse/issues/38618). [#38674](https://github.com/ClickHouse/ClickHouse/pull/38674) ([Vitaly Baranov](https://github.com/vitlibar)).
* Corrige la expansión de glob en el caso de las formas `{0..10}`. Soluciona [#38498](https://github.com/ClickHouse/ClickHouse/issues/38498). La implementación actual es similar a lo que hace el shell, como mencionó @rschu1ze [aquí](https://github.com/ClickHouse/ClickHouse/pull/38502#issuecomment-1169057723). [#38502](https://github.com/ClickHouse/ClickHouse/pull/38502) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* Se corrige un fallo de `mapUpdate` y `mapFilter` al usarlas con un argumento `map` constante. Cierra [#38547](https://github.com/ClickHouse/ClickHouse/issues/38547). [#38553](https://github.com/ClickHouse/ClickHouse/pull/38553) ([hexiaoting](https://github.com/hexiaoting)).
* Corrige la información sobre la monotonicidad de `toHour` para la optimización de consultas, lo que puede dar lugar a resultados incorrectos en las consultas (análisis de índices incorrecto). Esto corrige [#38333](https://github.com/ClickHouse/ClickHouse/issues/38333). [#38675](https://github.com/ClickHouse/ClickHouse/pull/38675) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la comprobación de si el almacenamiento S3 admite escrituras en paralelo. Esto hacía que las escrituras en paralelo en S3 no funcionaran. [#38792](https://github.com/ClickHouse/ClickHouse/pull/38792) ([chen](https://github.com/xiedeyantu)).
* Corregir las lecturas con seek en S3 con un búfer de lectura en paralelo. (Afectaba al uso de memoria durante la consulta). Cierra [#38258](https://github.com/ClickHouse/ClickHouse/issues/38258). [#38802](https://github.com/ClickHouse/ClickHouse/pull/38802) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se actualiza `simdjson`. Esto corrige [#38621](https://github.com/ClickHouse/ClickHouse/issues/38621): un desbordamiento de búfer en equipos con las CPU Intel más recientes con AVX-512 VBMI. [#38838](https://github.com/ClickHouse/ClickHouse/pull/38838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió un posible error lógico en las fusiones verticales. [#38859](https://github.com/ClickHouse/ClickHouse/pull/38859) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrigió el perfil de configuración con la unidad en segundos. [#38896](https://github.com/ClickHouse/ClickHouse/pull/38896) ([Raúl Marín](https://github.com/Algunenano)).
* Corrige la poda incorrecta de particiones cuando hay una clave de partición Nullable. Nota: lo más probable es que no uses claves de partición Nullable; es una funcionalidad poco habitual que no deberías usar. Las claves Nullable no tienen sentido y esta funcionalidad solo es necesaria para algunos casos de uso extravagantes. Esto corrige [#38941](https://github.com/ClickHouse/ClickHouse/issues/38941). [#38946](https://github.com/ClickHouse/ClickHouse/pull/38946) ([Amos Bird](https://github.com/amosbird)).
* Se mejora `fsync_part_directory` para fetches. [#38993](https://github.com/ClickHouse/ClickHouse/pull/38993) ([Azat Khuzhin](https://github.com/azat)).
* Soluciona un posible interbloqueo en `OvercommitTracker`. Corrige [#37794](https://github.com/ClickHouse/ClickHouse/issues/37794). [#39030](https://github.com/ClickHouse/ClickHouse/pull/39030) ([Dmitry Novik](https://github.com/novikd)).
* Se corrige un error en la caché del sistema de archivos que podía producirse en ciertos casos límite, cuando la capacidad de la caché alcanzaba su límite. Cierra [#39066](https://github.com/ClickHouse/ClickHouse/issues/39066). [#39070](https://github.com/ClickHouse/ClickHouse/pull/39070) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige algunos casos límite en la interpretación de los argumentos de las expresiones de ventana. Corrige [#38538](https://github.com/ClickHouse/ClickHouse/issues/38538) Permite usar funciones de orden superior en las expresiones de ventana. [#39112](https://github.com/ClickHouse/ClickHouse/pull/39112) ([Dmitry Novik](https://github.com/novikd)).
* Mantiene el tipo `LowCardinality` en la función `tuple`. Anteriormente, se descartaba el tipo `LowCardinality` y los elementos de la tupla creada pasaban a tener el tipo subyacente de `LowCardinality`. [#39113](https://github.com/ClickHouse/ClickHouse/pull/39113) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió el error `Block structure mismatch`, que podía producirse al hacer INSERT en una tabla con MATERIALIZED VIEW adjunta y la opción `extremes = 1` habilitada. Cierra [#29759](https://github.com/ClickHouse/ClickHouse/issues/29759) y [#38729](https://github.com/ClickHouse/ClickHouse/issues/38729). [#39125](https://github.com/ClickHouse/ClickHouse/pull/39125) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige un resultado inesperado de la consulta cuando tanto `optimize_trivial_count_query` como `empty_result_for_aggregation_by_empty_set` se establecen en true. Esto corrige [#39140](https://github.com/ClickHouse/ClickHouse/issues/39140). [#39155](https://github.com/ClickHouse/ClickHouse/pull/39155) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió el error `Not found column Type in block` en consultas con `PREWHERE` y optimizaciones de lectura en orden. [#39157](https://github.com/ClickHouse/ClickHouse/pull/39157) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Corregida una condición de carrera extremadamente rara durante la creación de enlaces físicos en el sistema de archivos remoto. La única forma de reproducirla es mediante la ejecución concurrente de copias de seguridad. [#39190](https://github.com/ClickHouse/ClickHouse/pull/39190) ([alesapin](https://github.com/alesapin)).
* (la replicación zero-copy es una funcionalidad experimental que no debe usarse en producción) Se corrige la recuperación de una parte en memoria con `allow_remote_fs_zero_copy_replication`. [#39214](https://github.com/ClickHouse/ClickHouse/pull/39214) ([Azat Khuzhin](https://github.com/azat)).
* (MaterializedPostgreSQL - característica experimental). Se corrige un fallo de segmentación en el motor de base de datos MaterializedPostgreSQL, que podía producirse si ocurría alguna excepción durante la inicialización de la replicación. Cierra [#36939](https://github.com/ClickHouse/ClickHouse/issues/36939). [#39272](https://github.com/ClickHouse/ClickHouse/pull/39272) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige la recuperación incorrecta de los metadatos de la tabla desde el motor de base de datos PostgreSQL. Cierra [#33502](https://github.com/ClickHouse/ClickHouse/issues/33502). [#39283](https://github.com/ClickHouse/ClickHouse/pull/39283) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la excepción de proyección cuando las claves de agregación están encapsuladas en otras funciones. Esto corrige [#37151](https://github.com/ClickHouse/ClickHouse/issues/37151). [#37155](https://github.com/ClickHouse/ClickHouse/pull/37155) ([Amos Bird](https://github.com/amosbird)).
* Se corrige un posible error lógico `... with argument with type Nothing and default implementation for Nothing is expected to return result with type Nothing, got ...` en algunas funciones. Cierra: [#37610](https://github.com/ClickHouse/ClickHouse/issues/37610) Cierra: [#37741](https://github.com/ClickHouse/ClickHouse/issues/37741). [#37759](https://github.com/ClickHouse/ClickHouse/pull/37759) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el orden incorrecto de las columnas en las subconsultas de UNION (en caso de columnas duplicadas en las subselecciones, puede producirse un resultado incorrecto). [#37887](https://github.com/ClickHouse/ClickHouse/pull/37887) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el funcionamiento incorrecto de MODIFY ALTER Column cuando los nombres de columna contienen puntos. Cierra [#37907](https://github.com/ClickHouse/ClickHouse/issues/37907). [#37971](https://github.com/ClickHouse/ClickHouse/pull/37971) ([Kruglov Pavel](https://github.com/Avogar)).
* Se ha corregido la lectura de columnas dispersas de tablas `MergeTree` que almacenan sus datos en S3. [#37978](https://github.com/ClickHouse/ClickHouse/pull/37978) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige un posible fallo de `Distributed` async insert al eliminar una réplica de la configuración. [#38029](https://github.com/ClickHouse/ClickHouse/pull/38029) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigió "Faltan columnas" para GLOBAL JOIN con CTE sin alias. [#38056](https://github.com/ClickHouse/ClickHouse/pull/38056) ([Azat Khuzhin](https://github.com/azat)).
* Reescribir las funciones de tupla como literales en el modo de compatibilidad retroactiva. [#38096](https://github.com/ClickHouse/ClickHouse/pull/38096) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Se corrige la reserva redundante de memoria para el bloque de salida durante `ORDER BY`. [#38127](https://github.com/ClickHouse/ClickHouse/pull/38127) ([iyupeng](https://github.com/iyupeng)).
* Se corrige un posible error lógico `Bad cast from type DB::IColumn* to DB::ColumnNullable*` en funciones de mapeo de arrays. Cierra [#38006](https://github.com/ClickHouse/ClickHouse/issues/38006). [#38132](https://github.com/ClickHouse/ClickHouse/pull/38132) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige una colisión temporal de nombres en partial merge join, se cierra [#37928](https://github.com/ClickHouse/ClickHouse/issues/37928). [#38135](https://github.com/ClickHouse/ClickHouse/pull/38135) ([Vladimir C](https://github.com/vdimir)).
* Un pequeño problema con consultas como `CREATE TABLE nested_name_tuples (`a` Tuple(x String, y Tuple(i Int32, j String))) ENGINE = Memory;` [#38136](https://github.com/ClickHouse/ClickHouse/pull/38136) ([lgbo](https://github.com/lgbo-ustc)).
* Se corrige un error en las funciones anidadas con cortocircuito que provocaba la ejecución de argumentos incluso cuando la condición era falsa. Cierra [#38040](https://github.com/ClickHouse/ClickHouse/issues/38040). [#38173](https://github.com/ClickHouse/ClickHouse/pull/38173) ([Kruglov Pavel](https://github.com/Avogar)).
* (Window View es una función experimental) Se corrige LOGICAL\_ERROR en WINDOW VIEW con una estructura incorrecta. [#38205](https://github.com/ClickHouse/ClickHouse/pull/38205) ([Azat Khuzhin](https://github.com/azat)).
* Actualizar el submódulo librdkafka para corregir un fallo cuando se configura un callback de actualización de OAUTHBEARER. [#38225](https://github.com/ClickHouse/ClickHouse/pull/38225) ([Rafael Acevedo](https://github.com/racevedoo)).
* Se corrigió un bloqueo de INSERT en Distributed debido a ProfileEvents. [#38307](https://github.com/ClickHouse/ClickHouse/pull/38307) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen los reintentos en el motor PostgreSQL. [#38310](https://github.com/ClickHouse/ClickHouse/pull/38310) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige una optimización en PartialSortingTransform (SIGSEGV y posible resultado incorrecto). [#38324](https://github.com/ClickHouse/ClickHouse/pull/38324) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige RabbitMQ con formatos basados en PeekableReadBuffer. Cierra [#38061](https://github.com/ClickHouse/ClickHouse/issues/38061). [#38356](https://github.com/ClickHouse/ClickHouse/pull/38356) ([Kseniia Sumarokova](https://github.com/kssenii)).
* MaterializedPostgreSQL: característica experimental. Corrige un posible error `Invalid number of rows in Chunk` en MaterializedPostgreSQL. Cierra [#37323](https://github.com/ClickHouse/ClickHouse/issues/37323). [#38360](https://github.com/ClickHouse/ClickHouse/pull/38360) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la configuración de RabbitMQ con el ajuste de cadena de conexión. Cierra [#36531](https://github.com/ClickHouse/ClickHouse/issues/36531). [#38365](https://github.com/ClickHouse/ClickHouse/pull/38365) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el motor PostgreSQL, que no usaba el esquema de PostgreSQL al obtener el tamaño de la dimensión de Array. Cierra [#36755](https://github.com/ClickHouse/ClickHouse/issues/36755). Cierra [#36772](https://github.com/ClickHouse/ClickHouse/issues/36772). [#38366](https://github.com/ClickHouse/ClickHouse/pull/38366) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige posibles resultados incorrectos en consultas distribuidas con `DISTINCT` y `LIMIT`. Corrige [#38282](https://github.com/ClickHouse/ClickHouse/issues/38282). [#38371](https://github.com/ClickHouse/ClickHouse/pull/38371) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige resultados incorrectos de countSubstrings() y position() en patrones con bytes nulos. [#38589](https://github.com/ClickHouse/ClickHouse/pull/38589) ([Robert Schulze](https://github.com/rschu1ze)).
* Ahora es posible iniciar un clickhouse-server y hacer attach/detach de tablas, incluso de tablas con valores incorrectos en la representación de IPv4/IPv6. Corrección definitiva del problema [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#38590](https://github.com/ClickHouse/ClickHouse/pull/38590) ([alesapin](https://github.com/alesapin)).
* La función `rankCorr` funcionará correctamente aunque algunos argumentos sean NaN. Esto corrige [#38396](https://github.com/ClickHouse/ClickHouse/issues/38396). [#38722](https://github.com/ClickHouse/ClickHouse/pull/38722) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrige `parallel_view_processing=1` con `optimize_trivial_insert_select=1`. Se corrige `max_insert_threads` al insertar en vistas. [#38731](https://github.com/ClickHouse/ClickHouse/pull/38731) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un error de uso de memoria ya liberada en funciones de agregación con el combinador `Map`, que provocaba resultados incorrectos. [#38748](https://github.com/ClickHouse/ClickHouse/pull/38748) ([Azat Khuzhin](https://github.com/azat)).

### <a id="226" /> Lanzamiento de ClickHouse 22.6, 2022-06-16. [Presentación](https://presentations.clickhouse.com/2022-release-22.6/), [Vídeo](https://www.youtube.com/watch?v=0fSp9SF8N8A)

<Frame>
  <iframe src="https://www.youtube.com/embed/0fSp9SF8N8A" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Se elimina la compatibilidad con los literales numéricos octales en SQL. En versiones anteriores, se interpretaban como Float64. [#37765](https://github.com/ClickHouse/ClickHouse/pull/37765) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Cambia la forma de interpretar las configuraciones que usan `seconds` como tipo para admitir valores de coma flotante (por ejemplo, `max_execution_time=0.5`). Los valores Infinity o NaN provocarán una excepción. [#37187](https://github.com/ClickHouse/ClickHouse/pull/37187) ([Raúl Marín](https://github.com/Algunenano)).
* Se ha cambiado el formato de la serialización binaria de las columnas del tipo experimental `Object`. El nuevo formato es más fácil de implementar en clientes de terceros. [#37482](https://github.com/ClickHouse/ClickHouse/pull/37482) ([Anton Popov](https://github.com/CurtizJ)).
* La configuración `output_format_json_named_tuples_as_objects` ahora está activada de forma predeterminada. Permite serializar tuplas con nombre como objetos JSON en formatos JSON. [#37756](https://github.com/ClickHouse/ClickHouse/pull/37756) ([Anton Popov](https://github.com/CurtizJ)).
* Los patrones LIKE con un símbolo de escape al final ('\\') ya no están permitidos (como exige el estándar SQL). [#37764](https://github.com/ClickHouse/ClickHouse/pull/37764) ([Robert Schulze](https://github.com/rschu1ze)).
* Si ejecuta distintas versiones de ClickHouse en un cluster con CPU AArch64, o mezcla AArch64 y amd64 en un cluster, y usa consultas distribuidas con GROUP BY sobre varias claves de tipo de tamaño fijo que caben en 256 bits pero no en 64 bits, y el tamaño del resultado es enorme, los datos no se agregarán completamente en el resultado de estas consultas durante la actualización. Solución temporal: actualice con tiempo de inactividad en lugar de realizar una actualización gradual.

<div id="new-feature-6">
  #### funcionalidad
</div>

* Añade la función `GROUPING`. Permite desambiguar los registros en las consultas con `ROLLUP`, `CUBE` o `GROUPING SETS`. Cierra [#19426](https://github.com/ClickHouse/ClickHouse/issues/19426). [#37163](https://github.com/ClickHouse/ClickHouse/pull/37163) ([Dmitry Novik](https://github.com/novikd)).
* Un nuevo algoritmo `codec` [FPC](https://userweb.cs.txstate.edu/~burtscher/papers/dcc07a.pdf) para la compresión de datos de punto flotante. [#37553](https://github.com/ClickHouse/ClickHouse/pull/37553) ([Mikhail Guzov](https://github.com/koloshmet)).
* Se añaden nuevos formatos JSON columnares: `JSONColumns`, `JSONCompactColumns`, `JSONColumnsWithMetadata`. Cierra [#36338](https://github.com/ClickHouse/ClickHouse/issues/36338) Cierra [#34509](https://github.com/ClickHouse/ClickHouse/issues/34509). [#36975](https://github.com/ClickHouse/ClickHouse/pull/36975) ([Kruglov Pavel](https://github.com/Avogar)).
* Se agregó una herramienta para visualizar trazas de OpenTelemetry basada en d3js. [#37810](https://github.com/ClickHouse/ClickHouse/pull/37810) ([Sergei Trifonov](https://github.com/serxa)).
* Se admiten INSERTs en la tabla `system.zookeeper`. Cierra [#22130](https://github.com/ClickHouse/ClickHouse/issues/22130). [#37596](https://github.com/ClickHouse/ClickHouse/pull/37596) ([Han Fei](https://github.com/hanfei1991)).
* Admite argumentos `pattern` no constantes para las funciones `LIKE`, `ILIKE` y `match`. [#37251](https://github.com/ClickHouse/ClickHouse/pull/37251) ([Robert Schulze](https://github.com/rschu1ze)).
* Las funciones ejecutables definidas por el usuario ahora admiten parámetros. Ejemplo: `SELECT test_function(parameters)(arguments)`. Se cierra [#37578](https://github.com/ClickHouse/ClickHouse/issues/37578). [#37720](https://github.com/ClickHouse/ClickHouse/pull/37720) ([Maksim Kita](https://github.com/kitaisreal)).
* Añadir la columna `merge_reason` a la tabla `system.part&#95;log`. [#36912](https://github.com/ClickHouse/ClickHouse/pull/36912) ([Sema Checherinda](https://github.com/CheSema)).
* Se añade compatibilidad con Maps y Records en formato Avro. Se añade la nueva configuración `input_format_avro_null_as_default `, que permite insertar null como valor predeterminado en formato Avro. Cierra [#18925](https://github.com/ClickHouse/ClickHouse/issues/18925) Cierra [#37378](https://github.com/ClickHouse/ClickHouse/issues/37378) Cierra [#32899](https://github.com/ClickHouse/ClickHouse/issues/32899). [#37525](https://github.com/ClickHouse/ClickHouse/pull/37525) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añade la herramienta `clickhouse-disks` para inspeccionar y trabajar con sistemas de archivos virtuales configurados para ClickHouse. [#36060](https://github.com/ClickHouse/ClickHouse/pull/36060) ([Artyom Yurkov](https://github.com/Varinara)).
* Añade funciones para aristas unidireccionales de H3. [#36843](https://github.com/ClickHouse/ClickHouse/pull/36843) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añadió soporte para calcular [hashids](https://hashids.org/) a partir de enteros sin signo. [#37013](https://github.com/ClickHouse/ClickHouse/pull/37013) ([Michael Nutt](https://github.com/mnutt)).
* Se permite especificar explícitamente `SALT` para `CREATE USER <user> IDENTIFIED WITH sha256_hash`. [#37377](https://github.com/ClickHouse/ClickHouse/pull/37377) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se añaden dos nuevas opciones de configuración `input_format_csv_skip_first_lines/input_format_tsv_skip_first_lines` para permitir omitir un número determinado de líneas al inicio del archivo en formatos CSV/TSV. [#37537](https://github.com/ClickHouse/ClickHouse/pull/37537) ([Kruglov Pavel](https://github.com/Avogar)).
* La función `showCertificate` muestra el certificado SSL actual del servidor. [#37540](https://github.com/ClickHouse/ClickHouse/pull/37540) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se admite un origen HTTP para Dictionaries en named collections. [#37581](https://github.com/ClickHouse/ClickHouse/pull/37581) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se agregó una nueva window function `nonNegativeDerivative(metric_column, timestamp_column[, INTERVAL x SECOND])`. [#37628](https://github.com/ClickHouse/ClickHouse/pull/37628) ([Andrey Zvonov](https://github.com/zvonand)).
* Se implementó la posibilidad de cambiar el comentario de las tablas `ReplicatedMergeTree`. [#37416](https://github.com/ClickHouse/ClickHouse/pull/37416) ([Vasily Nemkov](https://github.com/Enmk)).
* Se añadió la consulta `SYSTEM UNFREEZE`, que elimina toda la copia de seguridad independientemente de que la tabla correspondiente se haya eliminado o no. [#36424](https://github.com/ClickHouse/ClickHouse/pull/36424) ([Vadim Volodin](https://github.com/PolyProgrammist)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Habilita `POPULATE` para `WINDOW VIEW`. [#36945](https://github.com/ClickHouse/ClickHouse/pull/36945) ([vxider](https://github.com/Vxider)).
* Se añade compatibilidad con `ALTER TABLE ... MODIFY QUERY` para `WINDOW VIEW`. [#37188](https://github.com/ClickHouse/ClickHouse/pull/37188) ([vxider](https://github.com/Vxider)).
* Este PR cambia el comportamiento de la sintaxis `ENGINE` en `WINDOW VIEW` para que sea igual que en `MATERIALIZED VIEW`. [#37214](https://github.com/ClickHouse/ClickHouse/pull/37214) ([vxider](https://github.com/Vxider)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Se añadieron numerosas optimizaciones para ARM NEON [#38093](https://github.com/ClickHouse/ClickHouse/pull/38093)([Daniel Kutenin](https://github.com/danlark1)), ([Alexandra Pilipyuk](https://github.com/chalice19)) Nota: si ejecuta distintas versiones de ClickHouse en un clúster con CPU ARM y utiliza consultas distribuidas con GROUP BY de varias claves de tamaño fijo que caben en 256 bits, pero no en 64 bits, el resultado de la consulta de agregación será incorrecto durante la actualización. Solución alternativa: actualice con tiempo de inactividad en lugar de realizar una actualización gradual.
* Mejora el rendimiento y el uso de memoria al hacer `select` de un subconjunto de columnas en los formatos Native, Protobuf, CapnProto, JSONEachRow, TSKV y en todos los formatos con sufijos WithNames/WithNamesAndTypes. Anteriormente, al seleccionar solo un subconjunto de columnas de archivos en estos formatos, se leían todas las columnas y se almacenaban en memoria. Ahora solo se leen las columnas necesarias. Este PR habilita la opción `input_format_skip_unknown_fields` de forma predeterminada, ya que, de lo contrario, al hacer `select` de un subconjunto de columnas, se lanzará una excepción. [#37192](https://github.com/ClickHouse/ClickHouse/pull/37192) ([Kruglov Pavel](https://github.com/Avogar)).
* Ahora se pueden aplicar más filtros en el join. [#37472](https://github.com/ClickHouse/ClickHouse/pull/37472) ([Amos Bird](https://github.com/amosbird)).
* Cargar marcas solo para las columnas necesarias al leer partes en formato wide. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Mejora del rendimiento de la agregación cuando se usan columnas dispersas (que pueden habilitarse con la configuración experimental `ratio_of_defaults_for_sparse_serialization` en tablas `MergeTree`) como argumentos de funciones de agregado. [#37617](https://github.com/ClickHouse/ClickHouse/pull/37617) ([Anton Popov](https://github.com/CurtizJ)).
* Optimizada la función `COALESCE` con dos argumentos. [#37666](https://github.com/ClickHouse/ClickHouse/pull/37666) ([Anton Popov](https://github.com/CurtizJ)).
* Sustituir `multiIf` por `if` cuando `multiIf` tenga solo una condición, ya que la función `if` ofrece mejor rendimiento. [#37695](https://github.com/ClickHouse/ClickHouse/pull/37695) ([Anton Popov](https://github.com/CurtizJ)).
* Mejora el rendimiento de las funciones `dictGetDescendants` y `dictGetChildren`: crea un índice jerárquico temporal de padre a hijos por consulta, en lugar de por cada llamada a función dentro de la consulta. Permite especificar `BIDIRECTIONAL` para atributos `HIERARHICAL`; el diccionario mantendrá en memoria el índice de padre a hijos, de modo que las funciones `dictGetDescendants` y `dictGetChildren` no creen un índice temporal por consulta. Cierra [#32481](https://github.com/ClickHouse/ClickHouse/issues/32481). [#37148](https://github.com/ClickHouse/ClickHouse/pull/37148) ([Maksim Kita](https://github.com/kitaisreal)).
* La destrucción del estado de los agregados ahora puede enviarse a un pool de hilos. Para las consultas con LIMIT y un estado grande, esto supone una mejora significativa del rendimiento; por ejemplo, `select uniq(number) from numbers_mt(1e7) group by number limit 100` pasó a ser aproximadamente 2,5 veces más rápida. [#37855](https://github.com/ClickHouse/ClickHouse/pull/37855) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora del rendimiento al ordenar por una sola columna. [#37195](https://github.com/ClickHouse/ClickHouse/pull/37195) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora del rendimiento de la ordenación por una sola columna mediante especializaciones de la cola de ordenación. [#37990](https://github.com/ClickHouse/ClickHouse/pull/37990) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora del rendimiento de 2x a 4x en las funciones de norma y distancia de arrays. [#37394](https://github.com/ClickHouse/ClickHouse/pull/37394) ([Alexander Gololobov](https://github.com/davenger)).
* Mejora el rendimiento de las funciones de comparación numérica mediante despacho dinámico. [#37399](https://github.com/ClickHouse/ClickHouse/pull/37399) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de ORDER BY con LIMIT. [#37481](https://github.com/ClickHouse/ClickHouse/pull/37481) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de la función `hasAll` con la infraestructura de despacho dinámico. [#37484](https://github.com/ClickHouse/ClickHouse/pull/37484) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora del rendimiento de las funciones `greatCircleAngle`, `greatCircleDistance` y `geoDistance`. [#37524](https://github.com/ClickHouse/ClickHouse/pull/37524) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de `insert` en MergeTree si hay varias columnas en ORDER BY. [#35762](https://github.com/ClickHouse/ClickHouse/pull/35762) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige el uso excesivo de CPU en segundo plano cuando hay muchas tablas. [#38028](https://github.com/ClickHouse/ClickHouse/pull/38028) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora del rendimiento de la función `not` mediante despacho dinámico. [#38058](https://github.com/ClickHouse/ClickHouse/pull/38058) ([Maksim Kita](https://github.com/kitaisreal)).
* Se optimizó el almacenamiento en caché interno de los patrones de re2 que aparecen, por ejemplo, en las funciones LIKE y MATCH. [#37544](https://github.com/ClickHouse/ClickHouse/pull/37544) ([Robert Schulze](https://github.com/rschu1ze)).
* Mejora de la función todo en uno para generar máscaras de bits de filtro con instrucciones AVX-512. [#37588](https://github.com/ClickHouse/ClickHouse/pull/37588) ([yaqi-zhao](https://github.com/yaqi-zhao)).
* Se aplica el método de lectura `threadpool` al motor de integración de Hive. Esto acelerará significativamente la lectura. [#36328](https://github.com/ClickHouse/ClickHouse/pull/36328) ([李扬](https://github.com/taiyang-li)).
* Cuando todas las columnas que se van a leer son claves de partición, construye las columnas a partir del número de fila del archivo sin leer realmente el archivo de Hive. [#37103](https://github.com/ClickHouse/ClickHouse/pull/37103) ([lgbo](https://github.com/lgbo-ustc)).
* Compatibilidad con varios discos para la caché de archivos de Hive. [#37279](https://github.com/ClickHouse/ClickHouse/pull/37279) ([lgbo](https://github.com/lgbo-ustc)).
* Limitar el uso máximo de caché por consulta puede prevenir eficazmente la contaminación del pool de caché. [Incidencias relacionadas](https://github.com/ClickHouse/ClickHouse/issues/28961). [#37859](https://github.com/ClickHouse/ClickHouse/pull/37859) ([Han Shukai](https://github.com/KinderRiven)).
* Actualmente, ClickHouse descarga directamente todos los archivos remotos a la caché local (incluso si solo se leen una vez), lo que con frecuencia provoca E/S en el disco local. En algunos casos, estas E/S pueden no ser necesarias y pueden causar fácilmente una degradación del rendimiento. Como se muestra en la figura siguiente, al ejecutar SSB Q1-Q4, el uso de la caché ha provocado una degradación del rendimiento. [#37516](https://github.com/ClickHouse/ClickHouse/pull/37516) ([Han Shukai](https://github.com/KinderRiven)).
* Permite filtrar la lista de archivos mediante columnas virtuales como `_file` y `_path` al leer desde S3. Relacionado con [#37174](https://github.com/ClickHouse/ClickHouse/issues/37174), [#23494](https://github.com/ClickHouse/ClickHouse/issues/23494). [#37356](https://github.com/ClickHouse/ClickHouse/pull/37356) ([Amos Bird](https://github.com/amosbird)).
* En la función: CompressedWriteBuffer::nextImpl(), hay un paso innecesario de copia en escritura que ocurría con frecuencia durante la inserción de datos. A continuación se muestra la diferencia con este parche: - Antes: 1. Comprimir "working\_buffer" en "compressed\_buffer" 2. copiar al escribir en "out" - Después: Comprimir directamente "working\_buffer" en "out". [#37242](https://github.com/ClickHouse/ClickHouse/pull/37242) ([jasperzhu](https://github.com/jinjunzh)).

<div id="improvement">
  #### Mejora
</div>

* Se admiten tipos con valores predeterminados no estándar en ROLLUP, CUBE y GROUPING SETS. Cierra [#37360](https://github.com/ClickHouse/ClickHouse/issues/37360). [#37667](https://github.com/ClickHouse/ClickHouse/pull/37667) ([Dmitry Novik](https://github.com/novikd)).
* Corrige la recopilación de stack traces en ARM. Cierra [#37044](https://github.com/ClickHouse/ClickHouse/issues/37044). Cierra [#15638](https://github.com/ClickHouse/ClickHouse/issues/15638). [#37797](https://github.com/ClickHouse/ClickHouse/pull/37797) ([Maksim Kita](https://github.com/kitaisreal)).
* El cliente probará cada dirección IP devuelta por la resolución DNS hasta establecer correctamente la conexión. [#37273](https://github.com/ClickHouse/ClickHouse/pull/37273) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Permite usar el tipo String en lugar de Binary en los formatos Arrow/Parquet/ORC. Este PR introduce 3 nuevos ajustes para ello: `output_format_arrow_string_as_string`, `output_format_parquet_string_as_string`, `output_format_orc_string_as_string`. El valor predeterminado de todos ellos es `false`. [#37327](https://github.com/ClickHouse/ClickHouse/pull/37327) ([Kruglov Pavel](https://github.com/Avogar)).
* Aplicar la configuración `input_format_max_rows_to_read_for_schema_inference` al total de filas leídas de todos los archivos incluidos en los globs. Anteriormente, la configuración `input_format_max_rows_to_read_for_schema_inference` se aplicaba por separado a cada archivo del glob y, en caso de haber una gran cantidad de valores nulos, podíamos leer las primeras `input_format_max_rows_to_read_for_schema_inference` filas de cada archivo y no obtener nada. Además, aumentar el valor predeterminado de esta configuración a 25000. [#37332](https://github.com/ClickHouse/ClickHouse/pull/37332) ([Kruglov Pavel](https://github.com/Avogar)).
* Añadir un privilegio `CLUSTER` independiente (y la directiva de configuración `access_control_improvements.on_cluster_queries_require_cluster_grant`, para mantener la compatibilidad con versiones anteriores, con valor predeterminado `false`). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)).
* Se añadió compatibilidad con la inferencia de esquemas en `hdfsCluster`. [#35812](https://github.com/ClickHouse/ClickHouse/pull/35812) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se implementó el algoritmo de balanceo de carga `least_used` para discos dentro de un volumen (configuración multidisco). [#36686](https://github.com/ClickHouse/ClickHouse/pull/36686) ([Azat Khuzhin](https://github.com/azat)).
* Modificar el endpoint HTTP para que devuelva las estadísticas completas en la cabecera `X-ClickHouse-Summary` cuando `send_progress_in_http_headers=0` (antes devolvía solo ceros). - Modificar el endpoint HTTP para que devuelva la cabecera `X-ClickHouse-Exception-Code` cuando ya se haya enviado el progreso (`send_progress_in_http_headers=1`) - Modificar el endpoint HTTP para que devuelva `HTTP_REQUEST_TIMEOUT` (408) en lugar de `HTTP_INTERNAL_SERVER_ERROR` (500) en caso de errores `TIMEOUT_EXCEEDED`. [#36884](https://github.com/ClickHouse/ClickHouse/pull/36884) ([Raúl Marín](https://github.com/Algunenano)).
* Permitir a un usuario inspeccionar los grants de los roles concedidos. [#36941](https://github.com/ClickHouse/ClickHouse/pull/36941) ([nvartolomei](https://github.com/nvartolomei)).
* No calcule una integral numéricamente; use funciones CDF en su lugar. Esto acelerará la ejecución y aumentará la precisión. Esto corrige [#36714](https://github.com/ClickHouse/ClickHouse/issues/36714). [#36953](https://github.com/ClickHouse/ClickHouse/pull/36953) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se agregó la implementación predeterminada para Nothing en las funciones. Ahora, la mayoría de las funciones devolverán una columna de tipo Nothing si uno de sus argumentos es Nothing. Esto también resuelve el problema con funciones como arrayMap/arrayFilter y similares cuando reciben un array vacío como argumento. Anteriormente, consultas como `select arrayMap(x -> 2 * x, []);` fallaban porque la función dentro de la lambda no podía trabajar con el tipo `Nothing`; ahora, dichas consultas devuelven un array vacío de tipo `Array(Nothing)`. También se agregó compatibilidad con arrays de tipos Nullable en funciones como arrayFilter/arrayFill. Anteriormente, consultas como `select arrayFilter(x -> x % 2, [1, NULL])` fallaban; ahora funcionan (si el resultado de la lambda es NULL, este valor no se incluirá en el resultado). Cierra [#37000](https://github.com/ClickHouse/ClickHouse/issues/37000). [#37048](https://github.com/ClickHouse/ClickHouse/pull/37048) ([Kruglov Pavel](https://github.com/Avogar)).
* Ahora, si un segmento tiene una réplica local, creamos un plan local y otro para leer de todas las réplicas remotas. Comparten un iniciador que coordina la lectura. [#37204](https://github.com/ClickHouse/ClickHouse/pull/37204) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ya no se aborta el inicio del servidor si la opción de configuración "mark\_cache\_size" no está establecida explícitamente. [#37326](https://github.com/ClickHouse/ClickHouse/pull/37326) ([Robert Schulze](https://github.com/rschu1ze)).
* Permite indicar `NULL`/`NOT NULL` inmediatamente después del tipo en la declaración de una columna. [#37337](https://github.com/ClickHouse/ClickHouse/pull/37337) ([Igor Nikonov](https://github.com/devcrafter)).
* optimiza la obtención del búfer de lectura para el segmento de archivo PARTIALLY\_DOWNLOADED. [#37338](https://github.com/ClickHouse/ClickHouse/pull/37338) ([xiedeyantu](https://github.com/xiedeyantu)).
* Se intentó mejorar el procesamiento de las funciones de cortocircuito para corregir problemas en las pruebas de estrés. [#37384](https://github.com/ClickHouse/ClickHouse/pull/37384) ([Kruglov Pavel](https://github.com/Avogar)).
* Cierra [#37395](https://github.com/ClickHouse/ClickHouse/issues/37395). [#37415](https://github.com/ClickHouse/ClickHouse/pull/37415) ([Memo](https://github.com/Joeywzr)).
* Se corrige un bloqueo mutuo extremadamente raro durante la recuperación de partes en la replicación zero-copy. Corrige [#37423](https://github.com/ClickHouse/ClickHouse/issues/37423). [#37424](https://github.com/ClickHouse/ClickHouse/pull/37424) ([metahys](https://github.com/metahys)).
* No permitir la creación de almacenamiento con un formato de datos desconocido. [#37450](https://github.com/ClickHouse/ClickHouse/pull/37450) ([Kruglov Pavel](https://github.com/Avogar)).
* Se establece el valor predeterminado de `global_memory_usage_overcommit_max_wait_microseconds` en 5 segundos. Se añade información sobre `OvercommitTracker` al mensaje de excepción OOM. Se añade el evento de profile `MemoryOvercommitWaitTimeMicroseconds`. [#37460](https://github.com/ClickHouse/ClickHouse/pull/37460) ([Dmitry Novik](https://github.com/novikd)).
* No mostrar `-0.0` como tiempo de CPU en clickhouse-client. Puede aparecer debido a errores de redondeo. Esto cierra [#38003](https://github.com/ClickHouse/ClickHouse/issues/38003). Esto cierra [#38038](https://github.com/ClickHouse/ClickHouse/issues/38038). [#38064](https://github.com/ClickHouse/ClickHouse/pull/38064) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* UI de Play: mantener los controles en su lugar cuando la página se desplaza horizontalmente. Esto hace que la edición sea cómoda incluso si la tabla es ancha y se ha desplazado mucho hacia la derecha. La función fue propuesta por Maksym Tereshchenko, de CaspianDB. [#37470](https://github.com/ClickHouse/ClickHouse/pull/37470) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Modificar el `div` de consulta en play.html para que pueda ampliarse más allá del 20% de altura. En el caso de consultas muy largas, resulta útil ampliar el elemento `textarea`; actualmente, como el `div` tiene una altura fija, el `textarea` ampliado oculta el `div` de datos que está debajo. Con esta corrección, al ampliar el elemento `textarea`, el `div` de datos se desplazará hacia abajo o hacia arriba, de modo que el `textarea` ampliado no lo oculte. Además, mantiene el ancho del cuadro de consulta al 100 % incluso cuando el usuario ajusta el tamaño del `textarea` de la consulta. [#37488](https://github.com/ClickHouse/ClickHouse/pull/37488) ([guyco87](https://github.com/guyco87)).
* Se añadieron `ProfileEvents` para la introspección del tipo de partes escritas (insertadas o fusionadas) (`Inserted{Wide/Compact/InMemory}Parts`, `MergedInto{Wide/Compact/InMemory}Parts`. Se añadió la columna `part_type` a `system.part_log`. Resuelve [#37495](https://github.com/ClickHouse/ClickHouse/issues/37495). [#37536](https://github.com/ClickHouse/ClickHouse/pull/37536) ([Anton Popov](https://github.com/CurtizJ)).
* mejora de ClickHouse Keeper: mover los logs dañados a una carpeta con marca temporal. [#37565](https://github.com/ClickHouse/ClickHouse/pull/37565) ([Antonio Andelic](https://github.com/antonio2368)).
* No escribir columnas expiradas por TTL en fusiones posteriores (antes, solo la primera fusión/optimización de la parte no escribía las columnas expiradas por TTL; todas las demás sí lo hacían). [#37570](https://github.com/ClickHouse/ClickHouse/pull/37570) ([Azat Khuzhin](https://github.com/azat)).
* Resultado más preciso de la función miscelánea `dumpColumnStructure` cuando hay columnas LowCardinality o Sparse. En versiones anteriores, estas funciones convertían el argumento en una columna completa antes de devolver el resultado. Esto es necesario para dar una respuesta en [#6935](https://github.com/ClickHouse/ClickHouse/issues/6935). [#37633](https://github.com/ClickHouse/ClickHouse/pull/37633) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* clickhouse-keeper: almacenar solo IDs de sesión únicos para los watches. [#37641](https://github.com/ClickHouse/ClickHouse/pull/37641) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el posible error "Cannot write to finalized buffer". [#37645](https://github.com/ClickHouse/ClickHouse/pull/37645) ([Azat Khuzhin](https://github.com/azat)).
* Agregar la configuración `support_batch_delete` para `DiskS3` a fin de deshabilitar las llamadas para eliminar varios objetos, que Google Cloud Storage no admite. [#37659](https://github.com/ClickHouse/ClickHouse/pull/37659) ([Fred Wulff](https://github.com/frew)).
* Se añadió una opción para desactivar el pool de conexiones en ODBC bridge. [#37705](https://github.com/ClickHouse/ClickHouse/pull/37705) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Las funciones `dictGetHierarchy`, `dictIsIn`, `dictGetChildren`, `dictGetDescendants` añadieron compatibilidad con el atributo `HIERARCHICAL` de tipo Nullable en los diccionarios. Cierra [#35521](https://github.com/ClickHouse/ClickHouse/issues/35521). [#37805](https://github.com/ClickHouse/ClickHouse/pull/37805) ([Maksim Kita](https://github.com/kitaisreal)).
* Se añadió información relacionada con la versión de BoringSSL en la tabla `system.build_options`. [#37850](https://github.com/ClickHouse/ClickHouse/pull/37850) ([Bharat Nallan](https://github.com/bharatnc)).
* Ahora, clickhouse-server elimina los directorios `delete_tmp` al iniciar el servidor. Corrige [#26503](https://github.com/ClickHouse/ClickHouse/issues/26503). [#37906](https://github.com/ClickHouse/ClickHouse/pull/37906) ([alesapin](https://github.com/alesapin)).
* Limpia las partes detached dañadas tras un timeout. Cierra [#25195](https://github.com/ClickHouse/ClickHouse/issues/25195). [#37975](https://github.com/ClickHouse/ClickHouse/pull/37975) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Ahora, en la familia de motores de tablas MergeTree, las partes que no se hayan podido mover se eliminarán de inmediato. [#37994](https://github.com/ClickHouse/ClickHouse/pull/37994) ([alesapin](https://github.com/alesapin)).
* Ahora, si está habilitada la configuración `always_fetch_merged_part` para ReplicatedMergeTree, los merges intentarán buscar partes en otras réplicas con menos frecuencia, reduciendo la carga en \[Zoo]Keeper. [#37995](https://github.com/ClickHouse/ClickHouse/pull/37995) ([alesapin](https://github.com/alesapin)).
* Se añaden también privilegios implícitos con opción de concesión. Por ejemplo, `GRANT CREATE TABLE ON test.* TO A WITH GRANT OPTION` ahora permite que `A` ejecute `GRANT CREATE VIEW ON test.* TO B`. [#38017](https://github.com/ClickHouse/ClickHouse/pull/38017) ([Vitaly Baranov](https://github.com/vitlibar)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Usar `clang-14` y la versión 14 de la infraestructura LLVM para las compilaciones. Esto cierra [#34681](https://github.com/ClickHouse/ClickHouse/issues/34681). [#34754](https://github.com/ClickHouse/ClickHouse/pull/34754) ([Alexey Milovidov](https://github.com/alexey-milovidov)). Nota: `clang-14` tiene [un error](https://github.com/google/sanitizers/issues/1540) en ThreadSanitizer que empeora el funcionamiento de nuestro CI.
* Permitir reducir privilegios al inicio. Esto simplifica las imágenes de Docker. Cierra [#36293](https://github.com/ClickHouse/ClickHouse/issues/36293). [#36341](https://github.com/ClickHouse/ClickHouse/pull/36341) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añadir al CI la comprobación ortográfica de la documentación. [#37790](https://github.com/ClickHouse/ClickHouse/pull/37790) ([Vladimir C](https://github.com/vdimir)).
* Corregir un proceso de stripping demasiado agresivo que eliminaba el hash integrado necesario para verificar la consistencia del ejecutable. [#37993](https://github.com/ClickHouse/ClickHouse/pull/37993) ([Robert Schulze](https://github.com/rschu1ze)).

<div id="bug-fix">
  #### Corrección de errores
</div>

* Se corrigen las sentencias `SELECT ... INTERSECT` y `EXCEPT SELECT` con tipos String constantes. [#37738](https://github.com/ClickHouse/ClickHouse/pull/37738) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrigió `GROUP BY` con `AggregateFunction` (es decir, se hace `GROUP BY` sobre la columna que tiene el tipo `AggregateFunction`). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)).
* (WINDOW VIEW experimental) Se corrigió `addDependency` en WindowView. Este error se puede reproducir igual que en [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37224](https://github.com/ClickHouse/ClickHouse/pull/37224) ([vxider](https://github.com/Vxider)).
* Se corrige una inconsistencia en la funcionalidad ORDER BY ... WITH FILL. Una consulta que contiene ORDER BY ... WITH FILL puede generar filas adicionales cuando hay varias columnas WITH FILL. [#38074](https://github.com/ClickHouse/ClickHouse/pull/38074) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Este PR mueve `addDependency` del constructor a `startup()` para evitar añadir una dependencia a una tabla *eliminada*; corrige [#37237](https://github.com/ClickHouse/ClickHouse/issues/37237). [#37243](https://github.com/ClickHouse/ClickHouse/pull/37243) ([vxider](https://github.com/Vxider)).
* Se corrigió la inserción de valores predeterminados para valores ausentes en formatos columnares. Antes, las columnas ausentes se rellenaban con los valores predeterminados de los tipos, no con los de las columnas. [#37253](https://github.com/ClickHouse/ClickHouse/pull/37253) ([Kruglov Pavel](https://github.com/Avogar)).
* (tipo `Object` experimental) Se corrigen algunos casos de inserción de arrays anidados en columnas de tipo `Object`. [#37305](https://github.com/ClickHouse/ClickHouse/pull/37305) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige errores inesperados debidos a conflictos entre cadenas constantes en funciones de agregación, prewhere y join. Cierra [#36891](https://github.com/ClickHouse/ClickHouse/issues/36891). [#37336](https://github.com/ClickHouse/ClickHouse/pull/37336) ([Vladimir C](https://github.com/vdimir)).
* Se corrigieron las proyecciones con GROUP/ORDER BY en la consulta y optimize\_aggregation\_in\_order (antes el resultado era incorrecto, ya que solo se realizaba la ordenación final). [#37342](https://github.com/ClickHouse/ClickHouse/pull/37342) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió un error relacionado con símbolos en el nombre de la clave en S3. Soluciona [#33009](https://github.com/ClickHouse/ClickHouse/issues/33009). [#37344](https://github.com/ClickHouse/ClickHouse/pull/37344) ([Vladimir Chebotarev](https://github.com/excitoon)).
* Generar una excepción cuando GROUPING SETS se utilice con ROLLUP o CUBE. [#37367](https://github.com/ClickHouse/ClickHouse/pull/37367) ([Dmitry Novik](https://github.com/novikd)).
* Corregido LOGICAL\_ERROR en getMaxSourcePartsSizeForMerge durante los merges (en caso de que se hayan especificado en `config.xml` (la forma nueva), y no en `users.xml` (la forma obsoleta), valores no estándar más altos de `background_pool_size`/`background_merges_mutations_concurrency_ratio`). [#37413](https://github.com/ClickHouse/ClickHouse/pull/37413) ([Azat Khuzhin](https://github.com/azat)).
* Se deja de eliminar la BOM UTF-8 en el formato RowBinary. [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)). [#37428](https://github.com/ClickHouse/ClickHouse/pull/37428) ([Paul Loyd](https://github.com/loyd)).
* corrección de clickhouse-keeper: corrige la recuperación forzada en clústeres de un solo nodo. [#37440](https://github.com/ClickHouse/ClickHouse/pull/37440) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el error lógico en las funciones normalizeUTF8. Cierra [#37298](https://github.com/ClickHouse/ClickHouse/issues/37298). [#37443](https://github.com/ClickHouse/ClickHouse/pull/37443) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrigió el cast lowcard de Nullable en JoinSwitcher, se cierra [#37385](https://github.com/ClickHouse/ClickHouse/issues/37385). [#37453](https://github.com/ClickHouse/ClickHouse/pull/37453) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió la salida de tuplas con nombre en los formatos ORC/Arrow/Parquet. [#37458](https://github.com/ClickHouse/ClickHouse/pull/37458) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la optimización de funciones monótonas en la cláusula ORDER BY en presencia de GROUPING SETS. Corrige [#37401](https://github.com/ClickHouse/ClickHouse/issues/37401). [#37493](https://github.com/ClickHouse/ClickHouse/pull/37493) ([Dmitry Novik](https://github.com/novikd)).
* Corrige un error al hacer join con un diccionario en determinadas condiciones. Cierra [#37386](https://github.com/ClickHouse/ClickHouse/issues/37386). [#37530](https://github.com/ClickHouse/ClickHouse/pull/37530) ([Vladimir C](https://github.com/vdimir)).
* Se prohíbe `optimize_aggregation_in_order` con `GROUPING SETS` (corrige `LOGICAL_ERROR`). [#37542](https://github.com/ClickHouse/ClickHouse/pull/37542) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la información errónea del volcado de ActionsDAG. [#37587](https://github.com/ClickHouse/ClickHouse/pull/37587) ([zhanglistar](https://github.com/zhanglistar)).
* Se corrige la conversión de tipos para consultas UNION (puede producir LOGICAL\_ERROR). [#37593](https://github.com/ClickHouse/ClickHouse/pull/37593) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el modificador `WITH FILL` con intervalos negativos en la cláusula `STEP`. Corrige [#37514](https://github.com/ClickHouse/ClickHouse/issues/37514). [#37600](https://github.com/ClickHouse/ClickHouse/pull/37600) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el uso no válido de arrays en joinGet cuando ` join_use_nulls = 1`. Esto corrige [#37562](https://github.com/ClickHouse/ClickHouse/issues/37562). [#37650](https://github.com/ClickHouse/ClickHouse/pull/37650) ([Amos Bird](https://github.com/amosbird)).
* Corrige el desajuste en el número de columnas en cross join, cierra [#37561](https://github.com/ClickHouse/ClickHouse/issues/37561). [#37653](https://github.com/ClickHouse/ClickHouse/pull/37653) ([Vladimir C](https://github.com/vdimir)).
* Corrige un fallo de segmentación en `show create table` de una base de datos MySQL cuando está configurada con named collections. Cierra [#37683](https://github.com/ClickHouse/ClickHouse/issues/37683). [#37690](https://github.com/ClickHouse/ClickHouse/pull/37690) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió un problema por el que RabbitMQ Storage no podía iniciarse tras reiniciar el servidor si el almacenamiento se había creado sin la cláusula SETTINGS. Cierra [#37463](https://github.com/ClickHouse/ClickHouse/issues/37463). [#37691](https://github.com/ClickHouse/ClickHouse/pull/37691) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Las funciones definidas por el usuario en SQL deshabilitan CREATE/DROP en modo readonly. Cierra [#37280](https://github.com/ClickHouse/ClickHouse/issues/37280). [#37699](https://github.com/ClickHouse/ClickHouse/pull/37699) ([Maksim Kita](https://github.com/kitaisreal)).
* Corrige el formato de los argumentos Nullable de las funciones ejecutables definidas por el usuario. Cierra [#35897](https://github.com/ClickHouse/ClickHouse/issues/35897). [#37711](https://github.com/ClickHouse/ClickHouse/pull/37711) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige la optimización habilitada al establecer `optimize_monotonous_functions_in_order_by` en las consultas distribuidas. Corrige [#36037](https://github.com/ClickHouse/ClickHouse/issues/36037). [#37724](https://github.com/ClickHouse/ClickHouse/pull/37724) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige un posible error lógico: `Invalid Field get from type UInt64 to type Float64` en la table function `values`. Cierra [#37602](https://github.com/ClickHouse/ClickHouse/issues/37602). [#37754](https://github.com/ClickHouse/ClickHouse/pull/37754) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un posible segfault durante la inferencia del esquema en caso de una excepción en el constructor de SchemaReader. Cierra [#37680](https://github.com/ClickHouse/ClickHouse/issues/37680). [#37760](https://github.com/ClickHouse/ClickHouse/pull/37760) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la configuración cast\_ipv4\_ipv6\_default\_on\_conversion\_error de la función interna cast. Cierra [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#37761](https://github.com/ClickHouse/ClickHouse/pull/37761) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige el error de toString en DatatypeDate32. [#37775](https://github.com/ClickHouse/ClickHouse/pull/37775) ([LiuNeng](https://github.com/liuneng1994)).
* La configuración `dead_session_check_period_ms` de clickhouse-keeper se convirtió a microsegundos (se multiplicó por 1000), lo que provocó que las sesiones inactivas solo se limpiaran al cabo de varios minutos (en lugar de 500 ms). [#37824](https://github.com/ClickHouse/ClickHouse/pull/37824) ([Michael Lex](https://github.com/mlex)).
* Soluciona el posible error "No more packets are available" en las consultas distribuidas (en caso de que `async_socket_for_remote`/`use_hedged_requests` esté deshabilitado). [#37826](https://github.com/ClickHouse/ClickHouse/pull/37826) ([Azat Khuzhin](https://github.com/azat)).
* (WINDOW VIEW experimental) No se elimina la tabla de destino interna al ejecutar `ALTER TABLE ... MODIFY QUERY` en WindowView. [#37879](https://github.com/ClickHouse/ClickHouse/pull/37879) ([vxider](https://github.com/Vxider)).
* Se corrige el propietario del directorio de coordinación en la imagen de Docker de clickhouse-keeper. Corrige [#37914](https://github.com/ClickHouse/ClickHouse/issues/37914). [#37915](https://github.com/ClickHouse/ClickHouse/pull/37915) ([James Maidment](https://github.com/jamesmaidment)).
* Dictionaries corrige una consulta personalizada con el campo de actualización y `{condition}`. Cierra [#33746](https://github.com/ClickHouse/ClickHouse/issues/33746). [#37947](https://github.com/ClickHouse/ClickHouse/pull/37947) ([Maksim Kita](https://github.com/kitaisreal)).
* Corrige un posible resultado incorrecto de `SELECT ... WITH FILL` cuando `ORDER BY` debe aplicarse después del resultado de `WITH FILL` (p. ej., en una consulta externa). El resultado incorrecto se debía a una optimización de las expresiones de `ORDER BY` ([#35623](https://github.com/ClickHouse/ClickHouse/issues/35623)). Cierra [#37904](https://github.com/ClickHouse/ClickHouse/issues/37904). [#37959](https://github.com/ClickHouse/ClickHouse/pull/37959) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* (WINDOW VIEW experimental) Añade las columnas predeterminadas que faltan al insertar en la tabla de destino en WindowView, corrige [#37815](https://github.com/ClickHouse/ClickHouse/issues/37815). [#37965](https://github.com/ClickHouse/ClickHouse/pull/37965) ([vxider](https://github.com/Vxider)).
* Se corrigió un marco de pila demasiado grande que provocaba un error de compilación. [#37996](https://github.com/ClickHouse/ClickHouse/pull/37996) ([Han Shukai](https://github.com/KinderRiven)).
* Al activar enable\_filesystem\_query\_cache\_limit, se lanza la excepción Reserved cache size exceeds the remaining cache size. [#38004](https://github.com/ClickHouse/ClickHouse/pull/38004) ([xiedeyantu](https://github.com/xiedeyantu)).
* Corregida la conversión de tipos en consultas UNION (puede producir LOGICAL\_ERROR). [#34775](https://github.com/ClickHouse/ClickHouse/pull/34775) ([Azat Khuzhin](https://github.com/azat)).
* Es posible que la fusión TTL no se vuelva a programar si BackgroundExecutor está ocupado. --merges\_with\_ttl\_counter se incrementa en selectPartsToMerge() -- la tarea --merge se ignorará si BackgroundExecutor está ocupado -- mer​ges\_with\_ttl\_counter no disminuirá. [#36387](https://github.com/ClickHouse/ClickHouse/pull/36387) ([lthaooo](https://github.com/lthaooo)).
* Se corrigió el valor sobrescrito de la configuración `normalize_function_names`. [#36937](https://github.com/ClickHouse/ClickHouse/pull/36937) ([李扬](https://github.com/taiyang-li)).
* Corrección de las funciones de ventana con decaimiento temporal exponencial. Ahora se respetan los límites de la ventana. [#36944](https://github.com/ClickHouse/ClickHouse/pull/36944) ([Vladimir Chebotarev](https://github.com/excitoon)).
* Se corrige un posible error de uso de memoria tras su liberación al leer system.projection\_parts y system.projection\_parts\_columns . Esto corrige [#37184](https://github.com/ClickHouse/ClickHouse/issues/37184). [#37185](https://github.com/ClickHouse/ClickHouse/pull/37185) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió el comportamiento de los segundos fraccionarios de `DateTime64` antes de la época de Unix. [#37697](https://github.com/ClickHouse/ClickHouse/pull/37697) ([Andrey Zvonov](https://github.com/zvonand)). [#37039](https://github.com/ClickHouse/ClickHouse/pull/37039) ([李扬](https://github.com/taiyang-li)).

### <a id="225" /> Lanzamiento de ClickHouse 22.5, 2022-05-19. [Presentación](https://presentations.clickhouse.com/2022-release-22.5/), [Vídeo](https://www.youtube.com/watch?v=jkXmXrmjaKQ)

<Frame>
  <iframe src="https://www.youtube.com/embed/jkXmXrmjaKQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### Notas de actualización
</div>

* Ahora, las background merges, las mutations y `OPTIMIZE` ya no incrementarán las métricas `SelectedRows` y `SelectedBytes`. Seguirán incrementando `MergedRows` y `MergedUncompressedBytes`, como antes. Esto solo afecta a los valores de las métricas y los mejora. Este cambio no introduce ninguna incompatibilidad, pero como puede llamar la atención el cambio en las métricas, lo incluimos en esta categoría. [#37040](https://github.com/ClickHouse/ClickHouse/pull/37040) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se actualizó el módulo BoringSSL a la versión oficial compatible con FIPS. Esto hace que ClickHouse cumpla con FIPS. [#35914](https://github.com/ClickHouse/ClickHouse/pull/35914) ([Meena-Renganathan](https://github.com/Meena-Renganathan)). Se eliminaron los cifrados `aes-192-cfb128` y `aes-256-cfb128` porque no están incluidos en la versión de BoringSSL certificada para FIPS.
* La configuración `max_memory_usage` se eliminó del perfil de usuario predeterminado en `users.xml`. Esto permite límites de memoria flexibles para las consultas, en lugar del antiguo límite rígido de 10 GB.
* La configuración `log_query_threads` se desactiva de forma predeterminada. Controla el registro de estadísticas sobre cada hilo que participa en la ejecución de consultas. Tras añadir compatibilidad con lecturas asíncronas, el número total de identificadores de hilo distintos pasó a ser demasiado grande, y el registro en `query_thread_log` se volvió demasiado costoso. [#37077](https://github.com/ClickHouse/ClickHouse/pull/37077) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se elimina la función `groupArraySorted`, que tiene un error. [#36822](https://github.com/ClickHouse/ClickHouse/pull/36822) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Habilita memory overcommit de forma predeterminada. [#35921](https://github.com/ClickHouse/ClickHouse/pull/35921) ([Dmitry Novik](https://github.com/novikd)).
* Añade compatibilidad con GROUPING SETS en la cláusula GROUP BY. Esta implementación admite el procesamiento en paralelo de los conjuntos de agrupación. [#33631](https://github.com/ClickHouse/ClickHouse/pull/33631) ([Dmitry Novik](https://github.com/novikd)).
* Añade la tabla `system.certificates`. [#37142](https://github.com/ClickHouse/ClickHouse/pull/37142) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Añade las funciones `h3Line`, `h3Distance` y `h3HexRing`. [#37030](https://github.com/ClickHouse/ClickHouse/pull/37030) ([Bharat Nallan](https://github.com/bharatnc)).
* Nueva herramienta de diagnóstico basada en un único binary (clickhouse-diagnostics). [#36705](https://github.com/ClickHouse/ClickHouse/pull/36705) ([Dale McDiarmid](https://github.com/gingerwizard)).
* Añade el formato de salida `Prometheus` [#36051](https://github.com/ClickHouse/ClickHouse/issues/36051). [#36206](https://github.com/ClickHouse/ClickHouse/pull/36206) ([Vladimir C](https://github.com/vdimir)).
* Añade el formato de entrada `MySQLDump`. Lee todos los datos de las consultas INSERT que pertenecen a una tabla del dump. Si hay más de una tabla, de forma predeterminada lee los datos de la primera. [#36667](https://github.com/ClickHouse/ClickHouse/pull/36667) ([Kruglov Pavel](https://github.com/Avogar)).
* Muestra los campos `total_rows` y `total_bytes` en `system.tables` para las tablas temporales. [#36401](https://github.com/ClickHouse/ClickHouse/issues/36401). [#36439](https://github.com/ClickHouse/ClickHouse/pull/36439) ([xiedeyantu](https://github.com/xiedeyantu)).
* Permite sobrescribir `parts_to_delay_insert` y `parts_to_throw_insert` con configuraciones a nivel de consulta. Si están definidas, prevalecerán sobre las configuraciones a nivel de tabla. [#36371](https://github.com/ClickHouse/ClickHouse/pull/36371) ([Memo](https://github.com/Joeywzr)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se implementaron funciones de distancia L1, L2, Linf y coseno para arrays, y funciones de norma L1, L2 y Linf para arrays.
  [#37033](https://github.com/ClickHouse/ClickHouse/pull/37033) ([qieqieplus](https://github.com/qieqieplus)). Advertencia: estas funciones se renombrarán.
* Se mejoró la consulta `WATCH` en WindowView: 1. Reduce la latencia de entrega de resultados de la consulta al llamar a la señal `fire_condition`. 2. Hace más rápida la operación de cancelación de consultas (ctrl-c) al comprobar `isCancelled()` con más frecuencia. [#37226](https://github.com/ClickHouse/ClickHouse/pull/37226) ([vxider](https://github.com/Vxider)).
* Introspección para la eliminación de la caché del sistema de archivos. [#36802](https://github.com/ClickHouse/ClickHouse/pull/36802) ([Han Shukai](https://github.com/KinderRiven)).
* Se añadió una nueva función hash `wyHash64` para SQL. [#36467](https://github.com/ClickHouse/ClickHouse/pull/36467) ([olevino](https://github.com/olevino)).
* Mejora para bases de datos replicadas: se añadió la consulta `SYSTEM SYNC DATABASE REPLICA`, que permite sincronizar los metadatos de las tablas dentro de una base de datos Replicated, ya que actualmente la sincronización es asíncrona. [#35944](https://github.com/ClickHouse/ClickHouse/pull/35944) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Mejora para la caché remota del sistema de archivos: mejor lectura desde la caché. [#37054](https://github.com/ClickHouse/ClickHouse/pull/37054) ([Kseniia Sumarokova](https://github.com/kssenii)). Mejora de la consulta `SYSTEM DROP FILESYSTEM CACHE`: opción `<path>` y opción `FORCE`. [#36639](https://github.com/ClickHouse/ClickHouse/pull/36639) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Mejora para datos semiestructurados: permite convertir columnas de tipo `Object(...)` a `Object(Nullable(...))`. [#36564](https://github.com/ClickHouse/ClickHouse/pull/36564) ([awakeljw](https://github.com/awakeljw)).
* Mejora para réplicas paralelas: creamos un intérprete local si queremos ejecutar una consulta en la réplica localhost. Pero, al ejecutar una consulta en varias réplicas, dependemos de que exista una conexión para que las réplicas puedan comunicarse con el coordinador. Ahora esto se ha mejorado y la réplica localhost puede comunicarse con el coordinador directamente dentro del mismo proceso. [#36281](https://github.com/ClickHouse/ClickHouse/pull/36281) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Mejora el rendimiento de las funciones de agregación `avg` y `sum` cuando se usan sin una expresión GROUP BY. [#37257](https://github.com/ClickHouse/ClickHouse/pull/37257) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de las funciones aritméticas unarias (`bitCount`, `bitNot`, `abs`, `intExp2`, `intExp10`, `negate`, `roundAge`, `roundDuration`, `roundToExp2`, `sign`) mediante despacho dinámico. [#37289](https://github.com/ClickHouse/ClickHouse/pull/37289) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de ORDER BY, MergeJoin y la inserción en MergeTree mediante compilación JIT del comparador de columnas de ordenación. [#34469](https://github.com/ClickHouse/ClickHouse/pull/34469) ([Maksim Kita](https://github.com/kitaisreal)).
* Cambia la estructura de `system.asynchronous_metric_log`. Ocupará unas 10 veces menos espacio. Esto cierra [#36357](https://github.com/ClickHouse/ClickHouse/issues/36357). Se eliminó el campo `event_time_microseconds` porque es inútil. [#36360](https://github.com/ClickHouse/ClickHouse/pull/36360) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Carga marks solo para las columnas necesarias al leer partes wide. [#36879](https://github.com/ClickHouse/ClickHouse/pull/36879) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Mejora el rendimiento de la caché de descriptores de archivo al reducir el alcance de los mutex. [#36682](https://github.com/ClickHouse/ClickHouse/pull/36682) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Mejora el rendimiento de la lectura desde el motor de almacenamiento `File` y las table functions `file` cuando la path tiene globs y el directory coincidente contiene una gran cantidad de files. [#36647](https://github.com/ClickHouse/ClickHouse/pull/36647) ([Anton Popov](https://github.com/CurtizJ)).
* Aplica parsing en paralelo al input format `HiveText`, lo que puede acelerar 2x el parsing de HiveText al leer un file local. [#36650](https://github.com/ClickHouse/ClickHouse/pull/36650) ([李扬](https://github.com/taiyang-li)).
* `HashJoin` predeterminado no es seguro para subprocesos al insertar filas de la tabla derecha, por lo que se ejecuta en un solo thread. Cuando la tabla derecha es grande, el proceso de join es demasiado lento y aprovecha poco la CPU. [#36415](https://github.com/ClickHouse/ClickHouse/pull/36415) ([lgbo](https://github.com/lgbo-ustc)).
* Permite reescribir `select countDistinct(a) from t` como `select count(1) from (select a from t groupBy a)`. [#35993](https://github.com/ClickHouse/ClickHouse/pull/35993) ([zhanglistar](https://github.com/zhanglistar)).
* Transforma una chain de OR LIKE en multiMatchAny. Se habilitará cuando tengamos más confianza en que funciona correctamente. [#34932](https://github.com/ClickHouse/ClickHouse/pull/34932) ([Daniel Kutenin](https://github.com/danlark1)).
* Mejora el rendimiento de algunas funciones mediante inlining. [#34544](https://github.com/ClickHouse/ClickHouse/pull/34544) ([Daniel Kutenin](https://github.com/danlark1)).
* Añade una rama para evitar memcpy innecesarios en readBig. Esto mejora algo el rendimiento. [#36095](https://github.com/ClickHouse/ClickHouse/pull/36095) ([jasperzhu](https://github.com/jinjunzh)).
* Implementa una clave GROUP BY parcial para optimize\_aggregation\_in\_order. [#35111](https://github.com/ClickHouse/ClickHouse/pull/35111) ([Azat Khuzhin](https://github.com/azat)).

<div id="improvement">
  #### Mejora
</div>

* Mostrar los nombres de los archivos con errores en caso de errores de análisis al ejecutar las funciones de tabla `file`, `s3` y `url`. [#36314](https://github.com/ClickHouse/ClickHouse/pull/36314) ([Anton Popov](https://github.com/CurtizJ)).
* Se permitió aumentar en tiempo de ejecución el número de hilos para ejecutar operaciones en segundo plano (merges, mutations, moves y fetches) si este se especifica en la configuración de nivel superior. [#36425](https://github.com/ClickHouse/ClickHouse/pull/36425) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Ahora, las funciones de conversión de fecha y hora que generan una hora anterior a 1970-01-01 00:00:00 con zonas horarias con desfases parciales de horas/minutos se saturarán a cero en lugar de provocar un desbordamiento. Esto da continuidad a [https://github.com/ClickHouse/ClickHouse/pull/29953](https://github.com/ClickHouse/ClickHouse/pull/29953), que aborda [https://github.com/ClickHouse/ClickHouse/pull/29953#discussion\&#95;r800550280](https://github.com/ClickHouse/ClickHouse/pull/29953#discussion\&#95;r800550280) . Se marca como mejora porque es un comportamiento definido por la implementación (y un caso muy poco frecuente) y está permitido cambiarlo. [#36656](https://github.com/ClickHouse/ClickHouse/pull/36656) ([Amos Bird](https://github.com/amosbird)).
* Añadir una advertencia si alguien ejecuta clickhouse-server con el nivel de log "test". El nivel de log "test" se añadió recientemente y no puede usarse en producción debido a una degradación del rendimiento inevitable, irreparable, fatal y potencialmente mortal. [#36824](https://github.com/ClickHouse/ClickHouse/pull/36824) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Analizar colaciones en CREATE TABLE, lanzar una excepción o ignorarlas. Cierra [#35892](https://github.com/ClickHouse/ClickHouse/issues/35892). [#36271](https://github.com/ClickHouse/ClickHouse/pull/36271) ([yuuch](https://github.com/yuuch)).
* La opción `compatibility_ignore_auto_increment_in_create_table` permite ignorar la palabra clave `AUTO_INCREMENT` en la definición de una columna para facilitar la migración desde MySQL. [#37178](https://github.com/ClickHouse/ClickHouse/pull/37178) ([Igor Nikonov](https://github.com/devcrafter)).
* Se añaden los alias `JSONLines` y `NDJSON` para `JSONEachRow`. Cierra [#36303](https://github.com/ClickHouse/ClickHouse/issues/36303). [#36327](https://github.com/ClickHouse/ClickHouse/pull/36327) ([flynn](https://github.com/ucasfl)).
* Se limita el número máximo de particiones que se pueden consultar para cada tabla de Hive. Evita el consumo excesivo de recursos. [#37281](https://github.com/ClickHouse/ClickHouse/pull/37281) ([lgbo](https://github.com/lgbo-ustc)).
* Se añadió un CAST implícito al segundo argumento de la función `h3kRing` para mejorar su usabilidad. Cierra [#35432](https://github.com/ClickHouse/ClickHouse/issues/35432). [#37189](https://github.com/ClickHouse/ClickHouse/pull/37189) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige la indicación de progreso de `INSERT SELECT` en `clickhouse-local` para cualquier consulta y la del progreso de archivos en el cliente; ahora el progreso de archivos es más preciso. [#37075](https://github.com/ClickHouse/ClickHouse/pull/37075) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un error que puede hacer que algunas partes obsoletas de la familia de motores de tabla MergeTree queden olvidadas en caso de fallos del sistema de archivos durante la eliminación de partes. Antes de esta corrección, solo se eliminaban tras el primer reinicio del servidor. [#37014](https://github.com/ClickHouse/ClickHouse/pull/37014) ([alesapin](https://github.com/alesapin)).
* Se implementó un nuevo modo de gestión de las políticas de fila que puede habilitarse en la configuración principal y permite a los usuarios sin políticas de fila permisivas leer filas. [#36997](https://github.com/ClickHouse/ClickHouse/pull/36997) ([Vitaly Baranov](https://github.com/vitlibar)).
* UI de Play: los números Nullable se alinearán a la derecha en las celdas de la tabla. Con esto se cierra [#36982](https://github.com/ClickHouse/ClickHouse/issues/36982). [#36988](https://github.com/ClickHouse/ClickHouse/pull/36988) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* UI de Play: Si hay una fila en el resultado y más de unas cuantas columnas, se muestra el resultado en vertical. Continuación de [#36811](https://github.com/ClickHouse/ClickHouse/issues/36811). [#36842](https://github.com/ClickHouse/ClickHouse/pull/36842) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se limpió el CSS de la UI de Play. Los píxeles están distribuidos de manera más uniforme. Mejor usabilidad para contenido largo en las celdas de tabla. [#36569](https://github.com/ClickHouse/ClickHouse/pull/36569) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Finalizar los búferes de escritura en caso de excepción para evitar hacerlo en los destructores. Se espera que esto corrija: [#36907](https://github.com/ClickHouse/ClickHouse/issues/36907). [#36979](https://github.com/ClickHouse/ClickHouse/pull/36979) ([Kruglov Pavel](https://github.com/Avogar)).
* Después de [#36425](https://github.com/ClickHouse/ClickHouse/issues/36425), ajustes como `background_fetches_pool_size` quedaron obsoletos y pueden aparecer en la configuración de nivel superior, pero ClickHouse lanza una excepción como `Error updating configuration from '/etc/clickhouse-server/config.xml' config.: Code: 137. DB::Exception: A setting 'background_fetches_pool_size' appeared at top level in config /etc/clickhouse-server/config.xml.` Esto se ha corregido. [#36917](https://github.com/ClickHouse/ClickHouse/pull/36917) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Añadir información de diagnóstico adicional (si procede) al enviar una excepción a otro servidor. [#36872](https://github.com/ClickHouse/ClickHouse/pull/36872) ([tavplubix](https://github.com/tavplubix)).
* Se permite ejecutar funciones hash con argumentos de tipo `Array(Tuple(..))`. [#36812](https://github.com/ClickHouse/ClickHouse/pull/36812) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadió la opción de configuración `user_defined_path`. [#36753](https://github.com/ClickHouse/ClickHouse/pull/36753) ([Maksim Kita](https://github.com/kitaisreal)).
* Permitir el uso de la macro de clúster en la función de tabla `s3Cluster`. [#36726](https://github.com/ClickHouse/ClickHouse/pull/36726) ([Vadim Volodin](https://github.com/PolyProgrammist)).
* Cancelar correctamente las consultas INSERT en `clickhouse-client`/`clickhouse-local`. [#36710](https://github.com/ClickHouse/ClickHouse/pull/36710) ([Azat Khuzhin](https://github.com/azat)).
* Permite cancelar una consulta y seguir manteniendo un id de consulta adecuado en `MySQLHandler`. [#36699](https://github.com/ClickHouse/ClickHouse/pull/36699) ([Amos Bird](https://github.com/amosbird)).
* Añadir la columna `is_all_data_sent` a `system.processes` y mejorar la comprobación de robustez de las pruebas internas basada en ella. [#36649](https://github.com/ClickHouse/ClickHouse/pull/36649) ([Azat Khuzhin](https://github.com/azat)).
* Las métricas sobre el tiempo dedicado a la lectura desde S3 ahora se calculan correctamente. Cierra [#35483](https://github.com/ClickHouse/ClickHouse/issues/35483). [#36572](https://github.com/ClickHouse/ClickHouse/pull/36572) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Permitir descriptores de archivo en la table function file si se ejecuta en clickhouse-local. [#36562](https://github.com/ClickHouse/ClickHouse/pull/36562) ([wuxiaobai24](https://github.com/wuxiaobai24)).
* Permitir nombres de elementos de tupla que comiencen por dígitos. [#36544](https://github.com/ClickHouse/ClickHouse/pull/36544) ([Anton Popov](https://github.com/CurtizJ)).
* Ahora, clickhouse-benchmark puede leer la información de autenticación de variables de entorno. [#36497](https://github.com/ClickHouse/ClickHouse/pull/36497) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Mejora de `clickhouse-keeper`: se añade compatibilidad con la recuperación forzada, lo que permite reconfigurar el cluster sin quorum. [#36258](https://github.com/ClickHouse/ClickHouse/pull/36258) ([Antonio Andelic](https://github.com/antonio2368)).
* Mejora de la inferencia de esquemas para objetos JSON. [#36207](https://github.com/ClickHouse/ClickHouse/pull/36207) ([Kruglov Pavel](https://github.com/Avogar)).
* Refactorización del código relacionado con la inferencia de esquemas con globs. Probar el siguiente archivo del glob solo si tiene sentido (antes se probaba el siguiente archivo ante cualquier error). Además, corrige [#36317](https://github.com/ClickHouse/ClickHouse/issues/36317). [#36205](https://github.com/ClickHouse/ClickHouse/pull/36205) ([Kruglov Pavel](https://github.com/Avogar)).
* Agregar un privilegio `CLUSTER` separado (y la directiva de configuración `access_control_improvements.on_cluster_queries_require_cluster_grant`, para mantener la compatibilidad con versiones anteriores, con el valor predeterminado `false`). [#35767](https://github.com/ClickHouse/ClickHouse/pull/35767) ([Azat Khuzhin](https://github.com/azat)).
* Si la cantidad necesaria de memoria está disponible antes de que se detenga la consulta seleccionada, todas las consultas en espera continúan ejecutándose. Ahora no detenemos ninguna consulta si la memoria se libera antes de que la consulta seleccionada tenga conocimiento de la cancelación. [#35637](https://github.com/ClickHouse/ClickHouse/pull/35637) ([Dmitry Novik](https://github.com/novikd)).
* Detección de Nullable en Protobuf. En proto3, los valores predeterminados no se envían en la codificación wire. Esto hace que no sea trivial distinguir entre valores null y valores predeterminados en columnas Nullable. Una forma estándar de abordar este problema es usar wrappers de Google para anidar el valor de destino dentro de un mensaje interno (consulte [https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wrappers.proto](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/wrappers.proto)). En este caso, un campo ausente se interpreta como valor null, un campo presente con el valor ausente se interpreta como valor predeterminado y un campo con un valor normal se interpreta como un valor normal. Sin embargo, ClickHouse interpreta los wrappers de Google como columnas anidadas. Proponemos introducir un comportamiento especial para detectar los wrappers de Google e interpretarlos como se describe arriba. Por ejemplo, para serializar valores de una columna Nullable `test`, usaríamos `google.protobuf.StringValue test` en nuestro esquema .proto. Tenga en cuenta que estos tipos son los llamados "tipos bien conocidos" en Protobuf, implementados en la propia biblioteca. [#35149](https://github.com/ClickHouse/ClickHouse/pull/35149) ([Jakub Kuklis](https://github.com/jkuklis)).
* Se añadió compatibilidad con la especificación de `content_type` en la configuración predefinida y estática del controlador HTTP. [#34916](https://github.com/ClickHouse/ClickHouse/pull/34916) ([Roman Nikonov](https://github.com/nic11)).
* Advertir adecuadamente si se usa clickhouse-client --file sin un --external previo. Cierra [#34747](https://github.com/ClickHouse/ClickHouse/issues/34747). [#34765](https://github.com/ClickHouse/ClickHouse/pull/34765) ([李扬](https://github.com/taiyang-li)).
* Se mejoró el motor de base de datos MySQL para que sea compatible con el tipo de dato binary(0). [#37232](https://github.com/ClickHouse/ClickHouse/pull/37232) ([zzsmdfj](https://github.com/zzsmdfj)).
* Mejora del informe en JSON de clickhouse-benchmark. [#36473](https://github.com/ClickHouse/ClickHouse/pull/36473) ([Tian Xinhui](https://github.com/xinhuitian)).
* El servidor podría negarse a arrancar si no puede resolver el hostname de un diccionario externo de ClickHouse. Corregido. Corrige [#36451](https://github.com/ClickHouse/ClickHouse/issues/36451). [#36463](https://github.com/ClickHouse/ClickHouse/pull/36463) ([tavplubix](https://github.com/tavplubix)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Ahora `clickhouse-keeper` para la arquitectura `x86_64` está enlazado de forma estática con [musl](https://musl.libc.org/) y no depende de ninguna biblioteca del sistema. [#31833](https://github.com/ClickHouse/ClickHouse/pull/31833) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Las builds de ClickHouse para la arquitectura `PowerPC64LE` ya están disponibles en el script de instalación universal `curl https://clickhouse.com/ | sh` y mediante enlace directo `https://builds.clickhouse.com/master/powerpc64le/clickhouse`. [#37095](https://github.com/ClickHouse/ClickHouse/pull/37095) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Limitar la generación de código PowerPC a Power8 para mejorar la compatibilidad. Esto cierra [#36025](https://github.com/ClickHouse/ClickHouse/issues/36025). [#36529](https://github.com/ClickHouse/ClickHouse/pull/36529) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Simplificar la prueba de rendimiento. Esto nos permitirá usarla. [#36769](https://github.com/ClickHouse/ClickHouse/pull/36769) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Hacer que la comparación de rendimiento falle si hay errores en el informe. [#34797](https://github.com/ClickHouse/ClickHouse/pull/34797) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Añadir compatibilidad con ZSTD en Arrow. Esto corrige [#35283](https://github.com/ClickHouse/ClickHouse/issues/35283). [#35486](https://github.com/ClickHouse/ClickHouse/pull/35486) ([Sean Lafferty](https://github.com/seanlaff)).

<div id="bug-fix">
  #### Corrección de errores
</div>

* Extrae el ID de versión del URI, si está presente, y añade una solicitud al URI HTTP de AWS. Cierra [#31221](https://github.com/ClickHouse/ClickHouse/issues/31221). - \[x] Extraer el `Version ID` del URI, si está presente, y reconstruirlo sin él. - \[x] Configurar el objeto `AWS HTTP URI` con la solicitud. - \[x] Pruebas unitarias: [`gtest_s3_uri`](https://github.com/ClickHouse/ClickHouse/blob/2340a6c6849ebc05a8efbf97ba8de3ff9dc0eff4/src/IO/tests/gtest_s3_uri.cpp) - \[x] Se eliminó el commit de instrumentación. [#34571](https://github.com/ClickHouse/ClickHouse/pull/34571) ([Saad Ur Rahman](https://github.com/surahman)).
* Se corrigió el alias attribute.values de system.opentelemetry\_span\_log para que use values en lugar de keys. [#37275](https://github.com/ClickHouse/ClickHouse/pull/37275) ([Aleksandr Razumov](https://github.com/ernado)).
* Se corrige la conversión de Nullable(String) a Nullable(Bool/IPv4/IPv6). Cierra [#37221](https://github.com/ClickHouse/ClickHouse/issues/37221). [#37270](https://github.com/ClickHouse/ClickHouse/pull/37270) ([Kruglov Pavel](https://github.com/Avogar)).
* Funcionalidad experimental: Se corrige la ejecución de mutaciones en tablas en las que existen columnas de tipo `Object`. Ahora también se permite usar subcolumnas de tipo `Object` en la expresión `WHERE` de consultas `UPDATE` o `DELETE`, así como manipular (`DROP`, `MODIFY`) subcolumnas individuales. Corrige [#37205](https://github.com/ClickHouse/ClickHouse/issues/37205). [#37266](https://github.com/ClickHouse/ClickHouse/pull/37266) ([Anton Popov](https://github.com/CurtizJ)).
* Kafka no necesita `group.id` en la etapa del productor. En el registro de la consola puede encontrar una advertencia que describe este problema: `2022.05.15 17:59:13.270227 [ 137 ] {} <Warning> StorageKafka (topic-name): [rdk:CONFWARN] [thrd:app]: Configuration property group.id is a consumer property and will be ignored by this producer instance`. [#37228](https://github.com/ClickHouse/ClickHouse/pull/37228) ([Mark Andreev](https://github.com/mrk-andreev)).
* Función experimental (WindowView): Actualiza `max_fired_watermark ` después de que los bloques se hayan emitido realmente, en caso de eliminar datos que aún no se hayan emitido. [#37225](https://github.com/ClickHouse/ClickHouse/pull/37225) ([vxider](https://github.com/Vxider)).
* Se corrige "No se puede crear una columna de tipo Set" en consultas distribuidas con LIMIT BY. [#37193](https://github.com/ClickHouse/ClickHouse/pull/37193) ([Azat Khuzhin](https://github.com/azat)).
* Funcionalidad experimental: Ahora la consulta `WATCH EVENTS` de WindowView ya no se interrumpirá debido al fragmento no vacío creado en `WindowViewSource.h:58`. [#37182](https://github.com/ClickHouse/ClickHouse/pull/37182) ([vxider](https://github.com/Vxider)).
* Se habilita `enable_global_with_statement` para las subconsultas, se cierra [#37141](https://github.com/ClickHouse/ClickHouse/issues/37141). [#37166](https://github.com/ClickHouse/ClickHouse/pull/37166) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió la conversión implícita en optimize\_skip\_unused\_shards\_rewrite\_in. [#37153](https://github.com/ClickHouse/ClickHouse/pull/37153) ([Azat Khuzhin](https://github.com/azat)).
* La función ILIKE en columnas FixedString podría haber devuelto resultados incorrectos (es decir, encontrar menos coincidencias de las debidas). [#37117](https://github.com/ClickHouse/ClickHouse/pull/37117) ([Robert Schulze](https://github.com/rschu1ze)).
* Corregido `GROUP BY` con `AggregateFunction` (es decir, se hace `GROUP BY` por la columna de tipo `AggregateFunction`). [#37093](https://github.com/ClickHouse/ClickHouse/pull/37093) ([Azat Khuzhin](https://github.com/azat)).
* Funcionalidad experimental: Se corrige optimize\_aggregation\_in\_order con GROUP BY por prefijo y funciones de agregación \*Array. [#37050](https://github.com/ClickHouse/ClickHouse/pull/37050) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la degradación del rendimiento en algunas consultas INSERT SELECT con agregación implícita. Soluciona [#36792](https://github.com/ClickHouse/ClickHouse/issues/36792). [#37047](https://github.com/ClickHouse/ClickHouse/pull/37047) ([tavplubix](https://github.com/tavplubix)).
* Funcionalidad experimental: corrección de `GROUP BY` en orden (`optimize_aggregation_in_order=1`) con funciones de agregación `*Array` (`groupArrayArray`/...). [#37046](https://github.com/ClickHouse/ClickHouse/pull/37046) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la salida inválida de LowCardinality->ArrowDictionary cuando el tipo de los índices no es UInt8. Cierra [#36832](https://github.com/ClickHouse/ClickHouse/issues/36832). [#37043](https://github.com/ClickHouse/ClickHouse/pull/37043) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió el problema con los valores `inf` en `quantileTDigest`. Corrige [#32107](https://github.com/ClickHouse/ClickHouse/issues/32107). [#37021](https://github.com/ClickHouse/ClickHouse/pull/37021) ([Vladimir Chebotarev](https://github.com/excitoon)).
* Se corrige el envío de datos de tablas externas en HedgedConnections cuando max\_parallel\_replicas != 1. [#36981](https://github.com/ClickHouse/ClickHouse/pull/36981) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió un error lógico en la consulta `TRUNCATE` de la base de datos `Replicated`. Corrige [#33747](https://github.com/ClickHouse/ClickHouse/issues/33747). [#36976](https://github.com/ClickHouse/ClickHouse/pull/36976) ([tavplubix](https://github.com/tavplubix)).
* Característica experimental: Se corrige un bloqueo al eliminar la tabla de origen en WindowView. Cierra [#35678](https://github.com/ClickHouse/ClickHouse/issues/35678). [#36967](https://github.com/ClickHouse/ClickHouse/pull/36967) ([vxider](https://github.com/Vxider)).
* Función experimental (caché de rocksdb): se corrigió el problema: [#36671](https://github.com/ClickHouse/ClickHouse/issues/36671). [#36929](https://github.com/ClickHouse/ClickHouse/pull/36929) ([李扬](https://github.com/taiyang-li)).
* Función experimental: Se corrigen errores al usar varias columnas en WindowView, añadiendo acciones de conversión para poder llamar a `writeIntoWindowView` con un esquema ligeramente diferente. [#36928](https://github.com/ClickHouse/ClickHouse/pull/36928) ([vxider](https://github.com/Vxider)).
* Se corrige un error en clickhouse-keeper que puede provocar la corrupción de archivos de registro comprimidos en caso de baja carga y reinicios. [#36910](https://github.com/ClickHouse/ClickHouse/pull/36910) ([alesapin](https://github.com/alesapin)).
* Corrige un resultado incorrecto de una consulta al realizar una agregación constante. Esto corrige [#36728](https://github.com/ClickHouse/ClickHouse/issues/36728) . [#36888](https://github.com/ClickHouse/ClickHouse/pull/36888) ([Amos Bird](https://github.com/amosbird)).
* Funcionalidad experimental: Se corrigió el recuento de `current_size` en la memoria caché. [#36887](https://github.com/ClickHouse/ClickHouse/pull/36887) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Función experimental: Se corrigió el disparo en la window view con hop window [#34044](https://github.com/ClickHouse/ClickHouse/issues/34044). [#36861](https://github.com/ClickHouse/ClickHouse/pull/36861) ([vxider](https://github.com/Vxider)).
* Función experimental: Corrige un cast incorrecto en el búfer en caché del sistema de archivos remoto. [#36809](https://github.com/ClickHouse/ClickHouse/pull/36809) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió la creación de tablas con `flatten_nested = 0`. Antes, las columnas `Nested` sin aplanar podían aplanarse tras reiniciar el servidor. [#36803](https://github.com/ClickHouse/ClickHouse/pull/36803) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige algunos problemas con las lecturas asíncronas desde sistemas de archivos remotos que se producían al leer datos de baja cardinalidad. [#36763](https://github.com/ClickHouse/ClickHouse/pull/36763) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Característica experimental: Se corrige la inserción en columnas de tipo `Object` a partir de varios archivos, p. ej., mediante la función de tabla `file` con globs. [#36762](https://github.com/ClickHouse/ClickHouse/pull/36762) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigen los tiempos de espera en las solicitudes hedged. Un bloqueo de la conexión justo después de enviar una consulta remota podía provocar una espera indefinida. [#36749](https://github.com/ClickHouse/ClickHouse/pull/36749) ([Kruglov Pavel](https://github.com/Avogar)).
* Característica experimental: Se corrige un error de `groupBitmapAndState`/`groupBitmapOrState`/`groupBitmapXorState` en una tabla distribuida. [#36739](https://github.com/ClickHouse/ClickHouse/pull/36739) ([Zhang Yifan](https://github.com/zhangyifan27)).
* Funcionalidad experimental: Durante la [prueba](https://s3.amazonaws.com/clickhouse-test-reports/36376/1cb1c7275cb53769ab826772db9b71361bb3e413/stress_test__thread__actions_/clickhouse-server.clean.log) en la [PR](https://github.com/ClickHouse/ClickHouse/pull/36376), descubrí que una clase de caché se inicializaba dos veces, lo que provocaba una excepción. Aunque la causa de este problema no está clara, parece haber en ClickHouse una lógica de código que carga el disco repetidamente, por lo que debemos realizar una comprobación especial para esta situación. [#36737](https://github.com/ClickHouse/ClickHouse/pull/36737) ([Han Shukai](https://github.com/KinderRiven)).
* Corregidas las fusiones verticales en las partes wide. Antes, durante la fusión, podía lanzarse la excepción `There is no column`. [#36707](https://github.com/ClickHouse/ClickHouse/pull/36707) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió la recarga del servidor al cambiar el puerto (sin esperar a las conexiones actuales del contexto de consulta). [#36700](https://github.com/ClickHouse/ClickHouse/pull/36700) ([Azat Khuzhin](https://github.com/azat)).
* Función experimental: En el [PR](https://github.com/ClickHouse/ClickHouse/pull/36376) anterior, descubrí que las pruebas (stateless tests, comprobación flaky (address, actions)) terminan agotando el tiempo de espera. Además, las pruebas en local también pueden desencadenar interbloqueos inestables del sistema. Este problema sigue existiendo al usar el código fuente más reciente de master. [#36697](https://github.com/ClickHouse/ClickHouse/pull/36697) ([Han Shukai](https://github.com/KinderRiven)).
* Característica experimental: Se corrige el reinicio del servidor si cambia la configuración de la caché. [#36685](https://github.com/ClickHouse/ClickHouse/pull/36685) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un posible acceso a memoria del heap después de liberarla en la inferencia de esquemas. Cierra [#36661](https://github.com/ClickHouse/ClickHouse/issues/36661). [#36679](https://github.com/ClickHouse/ClickHouse/pull/36679) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió el análisis de la configuración en la consulta `CREATE` cuando no se especifica el motor. Corrige [https://github.com/ClickHouse/ClickHouse/pull/34187#issuecomment-1103812419](https://github.com/ClickHouse/ClickHouse/pull/34187#issuecomment-1103812419). [#36642](https://github.com/ClickHouse/ClickHouse/pull/36642) ([tavplubix](https://github.com/tavplubix)).
* Funcionalidad experimental: Corregidas las fusiones de partes en formato `wide` con tipo `Object`. [#36637](https://github.com/ClickHouse/ClickHouse/pull/36637) ([Anton Popov](https://github.com/CurtizJ)).
* Corregido el fallo del formato cuando la expresión por defecto que sigue a EPHEMERAL no es un literal. Cierra [#36618](https://github.com/ClickHouse/ClickHouse/issues/36618). [#36633](https://github.com/ClickHouse/ClickHouse/pull/36633) ([flynn](https://github.com/ucasfl)).
* Se corrige la excepción `Missing column`, que podía producirse al usar `INTERPOLATE` con una tabla `ENGINE = MergeTree`. [#36549](https://github.com/ClickHouse/ClickHouse/pull/36549) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se corrige un posible error con literales en `WHERE` en consultas con JOIN. Cierra [#36279](https://github.com/ClickHouse/ClickHouse/issues/36279). [#36542](https://github.com/ClickHouse/ClickHouse/pull/36542) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió la actualización del desplazamiento en ReadBufferFromEncryptedFile, que podía provocar un comportamiento indefinido. [#36493](https://github.com/ClickHouse/ClickHouse/pull/36493) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigen las comprobaciones de validez del hostname en la configuración del clúster de Keeper. Se añade la configuración `keeper_server.host_checks_enabled` para activar/desactivar dichas comprobaciones. [#36492](https://github.com/ClickHouse/ClickHouse/pull/36492) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el uso de las funciones ejecutables definidas por el usuario en GROUP BY. Antes, las funciones ejecutables definidas por el usuario no se podían usar como expresiones en GROUP BY. Cierra [#36448](https://github.com/ClickHouse/ClickHouse/issues/36448). [#36486](https://github.com/ClickHouse/ClickHouse/pull/36486) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrigió una posible excepción causada por un paquete desconocido del servidor en el cliente. [#36481](https://github.com/ClickHouse/ClickHouse/pull/36481) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Característica experimental (por favor, no use nunca `system.session_log`, se va a eliminar): Añade los valores `enum` que faltan en la tabla system.session\_log. Cierra [#36474](https://github.com/ClickHouse/ClickHouse/issues/36474). [#36480](https://github.com/ClickHouse/ClickHouse/pull/36480) ([Memo](https://github.com/Joeywzr)).
* Se corrigió un error en la inferencia de esquema de s3Cluster que provocaba que no se leyeran todos los datos en el `select` desde s3Cluster. El error se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/35544](https://github.com/ClickHouse/ClickHouse/pull/35544). [#36434](https://github.com/ClickHouse/ClickHouse/pull/36434) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige la desreferenciación de nullptr en el comparador de JOIN y COLUMNS. Esto corrige [#36416](https://github.com/ClickHouse/ClickHouse/issues/36416). Corresponde a [https://github.com/ClickHouse/ClickHouse/pull/36417](https://github.com/ClickHouse/ClickHouse/pull/36417). [#36430](https://github.com/ClickHouse/ClickHouse/pull/36430) ([Amos Bird](https://github.com/amosbird)).
* Se corrige la recarga del Diccionario de `ClickHouseDictionarySource` si contiene subconsultas escalares. [#36390](https://github.com/ClickHouse/ClickHouse/pull/36390) ([lthaooo](https://github.com/lthaooo)).
* Se corrige una aserción en JOIN, se cierra [#36199](https://github.com/ClickHouse/ClickHouse/issues/36199). [#36201](https://github.com/ClickHouse/ClickHouse/pull/36201) ([Vladimir C](https://github.com/vdimir)).
* Las consultas con alias dentro de operadores especiales devolvían un error de análisis sintáctico (no funcionaba en la versión 22.1). Ejemplo: `SELECT substring('test' AS t, 1, 1)`. [#36167](https://github.com/ClickHouse/ClickHouse/pull/36167) ([Maksim Kita](https://github.com/kitaisreal)).
* Funcionalidad experimental: Se corrige la inserción de JSON complejos con arrays anidados en columnas de tipo `Object`. [#36077](https://github.com/ClickHouse/ClickHouse/pull/36077) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige `ALTER DROP COLUMN` en una columna anidada con partes compactas (es decir, `ALTER TABLE x DROP COLUMN n`, cuando existe la columna `n.d`). [#35797](https://github.com/ClickHouse/ClickHouse/pull/35797) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el error de longitud fuera de rango de la función substring cuando `offset` y `length` son constantes negativas y `s` no es constante. [#33861](https://github.com/ClickHouse/ClickHouse/pull/33861) ([RogerYK](https://github.com/RogerYK)).

### <a id="224" /> Lanzamiento de ClickHouse 22.4, 2022-04-19. [Presentación](https://presentations.clickhouse.com/2022-release-22.4/), [Video](https://www.youtube.com/watch?v=aFQs_zoYoXY)

<Frame>
  <iframe src="https://www.youtube.com/embed/aFQs_zoYoXY" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Ya no se permite usar SETTINGS después de FORMAT en las consultas INSERT (existe la configuración de compatibilidad `allow_settings_after_format_in_insert` para aceptar estas consultas, pero está desactivada de forma predeterminada). [#35883](https://github.com/ClickHouse/ClickHouse/pull/35883) ([Azat Khuzhin](https://github.com/azat)).
* La función `yandexConsistentHash` (algoritmo de hash consistente de Konstantin "kostik" Oblakov) pasa a llamarse `kostikConsistentHash`. El nombre anterior se mantiene como alias por compatibilidad. Aunque este cambio es compatible con versiones anteriores, es posible que eliminemos el alias en versiones futuras, por lo que se recomienda actualizar el uso de esta función en sus aplicaciones. [#35553](https://github.com/ClickHouse/ClickHouse/pull/35553) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

<div id="new-feature-6">
  #### funcionalidad
</div>

* Se añadió la extensión INTERPOLATE a ORDER BY ... WITH FILL. Se cierra [#34903](https://github.com/ClickHouse/ClickHouse/issues/34903). [#35349](https://github.com/ClickHouse/ClickHouse/pull/35349) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Perfilado a nivel de processors (con la configuración `log_processors_profiles`, ClickHouse escribirá en la tabla `system.processors_profile_log` el tiempo que cada processor dedicó a la ejecución/a la espera de datos). [#34355](https://github.com/ClickHouse/ClickHouse/pull/34355) ([Azat Khuzhin](https://github.com/azat)).
* Se añadieron las funciones makeDate(year, month, day) y makeDate32(year, month, day). [#35628](https://github.com/ClickHouse/ClickHouse/pull/35628) ([Alexander Gololobov](https://github.com/davenger)). Se implementaron makeDateTime() y makeDateTIme64(). [#35934](https://github.com/ClickHouse/ClickHouse/pull/35934) ([Alexander Gololobov](https://github.com/davenger)).
* Se admite un nuevo tipo de cuota `WRITTEN BYTES` para limitar la cantidad de bytes escritos durante las consultas de `insert`. [#35736](https://github.com/ClickHouse/ClickHouse/pull/35736) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadió la función `flattenTuple`. Recibe como argumento un `Tuple` anidado con elementos con nombre y devuelve un `Tuple` aplanado cuyos elementos son las rutas del `Tuple` original. P. ej.: `Tuple(a Int, Tuple(b Int, c Int)) -> Tuple(a Int, b Int, c Int)`. `flattenTuple` puede usarse para seleccionar todas las rutas del tipo `Object` como columnas independientes. [#35690](https://github.com/ClickHouse/ClickHouse/pull/35690) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadieron las funciones `arrayFirstOrNull` y `arrayLastOrNull`. Cierra [#35238](https://github.com/ClickHouse/ClickHouse/issues/35238). [#35414](https://github.com/ClickHouse/ClickHouse/pull/35414) ([Maksim Kita](https://github.com/kitaisreal)).
* Se añadieron las funciones `minSampleSizeContinous` y `minSampleSizeConversion`. Autor: [achimbab](https://github.com/achimbab). [#35360](https://github.com/ClickHouse/ClickHouse/pull/35360) ([Maksim Kita](https://github.com/kitaisreal)).
* Nuevas funciones minSampleSizeContinous y minSampleSizeConversion. [#34354](https://github.com/ClickHouse/ClickHouse/pull/34354) ([achimbab](https://github.com/achimbab)).
* Se introduce el formato `ProtobufList` (todos los registros como mensajes repetidos en la salida Protobuf). Cierra [#16436](https://github.com/ClickHouse/ClickHouse/issues/16436). [#35152](https://github.com/ClickHouse/ClickHouse/pull/35152) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añaden las funciones `h3PointDistM`, `h3PointDistKm`, `h3PointDistRads`, `h3GetRes0Indexes` y `h3GetPentagonIndexes`. [#34568](https://github.com/ClickHouse/ClickHouse/pull/34568) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añade la función `toLastDayOfMonth`, que redondea hacia arriba una fecha o una fecha con hora al último día del mes. [#33501](https://github.com/ClickHouse/ClickHouse/issues/33501). [#34394](https://github.com/ClickHouse/ClickHouse/pull/34394) ([Habibullah Oladepo](https://github.com/holadepo)).
* Se añadió una opción de balanceo de carga para el cliente de \[Zoo]Keeper. Cierra [#29617](https://github.com/ClickHouse/ClickHouse/issues/29617). [#30325](https://github.com/ClickHouse/ClickHouse/pull/30325) ([小路](https://github.com/nicelulu)).
* Añade un nuevo tipo de políticas de fila llamado `simple`. Antes de este PR teníamos dos tipos de políticas de fila: `permissive` y `restrictive`. Una política de fila `simple` añade un nuevo filtro a una tabla sin efectos secundarios, a diferencia de lo que ocurría con las políticas `permissive` y `restrictive`. [#35345](https://github.com/ClickHouse/ClickHouse/pull/35345) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se añadió la posibilidad de especificar el secreto del clúster en una base de datos Replicated. [#35333](https://github.com/ClickHouse/ClickHouse/pull/35333) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añadieron comprobaciones básicas al iniciar el servidor (memoria disponible y espacio en disco, número máximo de hilos, etc.). [#34566](https://github.com/ClickHouse/ClickHouse/pull/34566) ([Sergei Trifonov](https://github.com/serxa)).
* Mejora de INTERVAL: ahora puede usarse con `[MILLI|MICRO|NANO]SECOND`. Se añadieron las funciones `toStartOf[Milli|Micro|Nano]second()`. Se añadieron `[add|subtract][Milli|Micro|Nano]seconds()`. [#34353](https://github.com/ClickHouse/ClickHouse/pull/34353) ([Andrey Zvonov](https://github.com/zvonand)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Se añadió compatibilidad con transacciones para tablas `MergeTree` simples. Esta funcionalidad es muy experimental y no se recomienda para producción. Parte de [#22086](https://github.com/ClickHouse/ClickHouse/issues/22086). [#24258](https://github.com/ClickHouse/ClickHouse/pull/24258) ([tavplubix](https://github.com/tavplubix)).
* Se añadió compatibilidad con la inferencia de esquema para el tipo `Object` en el formato `JSONEachRow`. Permite convertir columnas de tipo `Map` en columnas de tipo `Object`. [#35629](https://github.com/ClickHouse/ClickHouse/pull/35629) ([Anton Popov](https://github.com/CurtizJ)).
* Se permite escribir en la caché del sistema de archivos remoto en todas las operaciones de escritura. Se añade la tabla `system.remote_filesystem_cache`. Se añade la consulta `drop remote filesystem cache`. Se añade introspección para los metadatos de S3 con la tabla `system.remote_data_paths`. Cierra [#34021](https://github.com/ClickHouse/ClickHouse/issues/34021). Se añade una opción de caché para merges al incorporar el modo `read_from_filesystem_cache_if_exists_otherwise_bypass_cache` (activado de forma predeterminada para merges y que también puede activarse mediante una configuración de consulta con el mismo nombre). Se cambian de nombre las configuraciones relacionadas con la caché (`remote_fs_enable_cache -> enable_filesystem_cache`, etc.). [#35475](https://github.com/ClickHouse/ClickHouse/pull/35475) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade una opción para almacenar los metadatos de las partes en RocksDB. Acelera la carga de partes de MergeTree para reducir el tiempo de arranque de clickhouse-server. Con esta mejora, clickhouse-server pudo reducir el tiempo de arranque de 75 minutos a 20 segundos, con 700k partes de MergeTree. [#32928](https://github.com/ClickHouse/ClickHouse/pull/32928) ([李扬](https://github.com/taiyang-li)).

<div id="performance-improvement-8">
  #### mejora del rendimiento
</div>

* Nueva optimización del plan de consulta. Evalúa las funciones después de `ORDER BY` cuando es posible. Por ejemplo, en la consulta `SELECT sipHash64(number) FROM numbers(1e8) ORDER BY number LIMIT 5`, la función `sipHash64` se evaluaría después de `ORDER BY` y `LIMIT`, lo que proporciona una aceleración de \~20x. [#35623](https://github.com/ClickHouse/ClickHouse/pull/35623) ([Nikita Taranov](https://github.com/nickitat)).
* Los tamaños de las tablas hash usadas durante la agregación ahora se recopilan y se reutilizan en consultas posteriores para evitar redimensionamientos de las tablas hash. [#33439](https://github.com/ClickHouse/ClickHouse/pull/33439) ([Nikita Taranov](https://github.com/nickitat)).
* Mejora de la función hasAll mediante instrucciones SIMD (SSE y AVX2). [#27653](https://github.com/ClickHouse/ClickHouse/pull/27653) ([youennL-cs](https://github.com/youennL-cs)). [#35723](https://github.com/ClickHouse/ClickHouse/pull/35723) ([Maksim Kita](https://github.com/kitaisreal)).
* Múltiples cambios para mejorar el rendimiento de ASOF JOIN (entre 1,2 y 1,6 veces más rápido). También añade compatibilidad con enteros grandes. [#34733](https://github.com/ClickHouse/ClickHouse/pull/34733) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora el rendimiento de ASOF JOIN si la clave es un entero nativo. [#35525](https://github.com/ClickHouse/ClickHouse/pull/35525) ([Maksim Kita](https://github.com/kitaisreal)).
* Paralelización de la carga multiparte en almacenamiento S3. [#35343](https://github.com/ClickHouse/ClickHouse/pull/35343) ([Sergei Trifonov](https://github.com/serxa)).
* El motor de almacenamiento URL ahora descarga varios fragmentos en paralelo si el endpoint admite HTTP Range. Se añadieron dos ajustes adicionales, `max_download_threads` y `max_download_buffer_size`, que controlan el número máximo de hilos que una sola consulta puede usar para descargar el archivo y el número máximo de bytes que cada hilo puede procesar. [#35150](https://github.com/ClickHouse/ClickHouse/pull/35150) ([Antonio Andelic](https://github.com/antonio2368)).
* Usa varios hilos para descargar objetos desde S3. La descarga se puede controlar mediante los ajustes `max_download_threads` y `max_download_buffer_size`. [#35571](https://github.com/ClickHouse/ClickHouse/pull/35571) ([Antonio Andelic](https://github.com/antonio2368)).
* Reduce el alcance del mutex al interactuar con HDFS. Relacionado con [#35292](https://github.com/ClickHouse/ClickHouse/issues/35292). [#35646](https://github.com/ClickHouse/ClickHouse/pull/35646) ([shuchaome](https://github.com/shuchaome)).
* Requiere mutations para el TTL por tabla solo cuando este se haya modificado. [#35953](https://github.com/ClickHouse/ClickHouse/pull/35953) ([Azat Khuzhin](https://github.com/azat)).

<div id="improvement">
  #### Mejora
</div>

* Múltiples mejoras en la inferencia de esquema. Se usan algunos ajustes y heurísticas para determinar números, cadenas, arrays, tuples y maps en los formatos de datos CSV, TSV y TSVRaw. Se añade la configuración `input_format_csv_use_best_effort_in_schema_inference` para el formato CSV, que habilita o deshabilita el uso de estas heurísticas; si está deshabilitada, todo se trata como string. Se añade una configuración similar, `input_format_tsv_use_best_effort_in_schema_inference`, para el formato TSV/TSVRaw. Estas configuraciones están habilitadas de forma predeterminada. - Se añade compatibilidad con Maps en la inferencia de esquema del formato Values. - Se corrige un posible segfault en la inferencia de esquema del formato Values. - Se permite omitir columnas con tipos no compatibles en los formatos Arrow/ORC/Parquet. Se añaden las configuraciones correspondientes para ello: `input_format_{parquet|orc|arrow}_skip_columns_with_unsupported_types_in_schema_inference`. Estas configuraciones están deshabilitadas de forma predeterminada. - Se permite convertir una columna de tipo Null en una columna Nullable con todos los valores NULL en los formatos Arrow/Parquet. - Se permite especificar nombres de columna en la inferencia de esquema mediante la configuración `column_names_for_schema_inference` para formatos que no contienen nombres de columna (como CSV, TSV, JSONCompactEachRow, etc.). - Se corrige la inferencia de esquema en los formatos ORC/Arrow/Parquet en lo relativo al uso de columnas Nullable. Anteriormente, ninguno de los tipos inferidos era Nullable, lo que impedía leer columnas Nullable a partir de los datos; ahora está corregido y todos los tipos inferidos son siempre Nullable (porque no podemos determinar si una columna es Nullable o no leyendo el esquema). - Se corrige la inferencia de esquema en el formato Template con reglas de escape de CSV. [#35582](https://github.com/ClickHouse/ClickHouse/pull/35582) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añaden el análisis en paralelo y la inferencia de esquema para el formato `JSONAsObject`. [#35592](https://github.com/ClickHouse/ClickHouse/pull/35592) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadió soporte para la inferencia automática de esquema a la función de tabla `s3Cluster`. Se sincronizaron las firmas de `s3 ` y `s3Cluster`. [#35544](https://github.com/ClickHouse/ClickHouse/pull/35544) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añadió compatibilidad con la inferencia de esquema para `hdfsCluster`. [#35602](https://github.com/ClickHouse/ClickHouse/pull/35602) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se añade la nueva configuración `input_format_json_read_bools_as_numbers`, que permite inferir e interpretar los valores booleanos como números en formatos de entrada JSON. Está activada de forma predeterminada. Propuesta por @alexey-milovidov. [#35735](https://github.com/ClickHouse/ClickHouse/pull/35735) ([Kruglov Pavel](https://github.com/Avogar)).
* Se mejora el orden de las columnas en la inferencia de esquemas para los formatos TSKV y JSONEachRow, cierra [#35640](https://github.com/ClickHouse/ClickHouse/issues/35640). La inferencia de esquemas ya no se detiene al leer una fila vacía en los formatos TSKV y JSONEachRow. [#35724](https://github.com/ClickHouse/ClickHouse/pull/35724) ([Kruglov Pavel](https://github.com/Avogar)).
* Se agregan las configuraciones `input_format_orc_case_insensitive_column_matching`, `input_format_arrow_case_insensitive_column_matching` e `input_format_parquet_case_insensitive_column_matching`, que permiten a ClickHouse hacer coincidir columnas sin distinguir entre mayúsculas y minúsculas al leer datos de archivos ORC, Arrow o Parquet. [#35459](https://github.com/ClickHouse/ClickHouse/pull/35459) ([Antonio Andelic](https://github.com/antonio2368)).
* Se añadió la columna `is_secure` a `system.query_log`, que indica si el cliente utiliza una conexión segura a través de TCP o HTTP. [#35705](https://github.com/ClickHouse/ClickHouse/pull/35705) ([Antonio Andelic](https://github.com/antonio2368)).
* Ahora `kafka_num_consumers` puede ser mayor que el número de núcleos físicos en el caso de una máquina con pocos recursos (menos de 16 núcleos). [#35926](https://github.com/ClickHouse/ClickHouse/pull/35926) ([alesapin](https://github.com/alesapin)).
* Añadir algunas métricas básicas para monitorizar las tablas con engine=Kafka. [#35916](https://github.com/ClickHouse/ClickHouse/pull/35916) ([filimonov](https://github.com/filimonov)).
* Ahora ya no se permite usar `ALTER TABLE ... RESET SETTING` con configuraciones inexistentes en la familia de motores MergeTree. Corrige [#35816](https://github.com/ClickHouse/ClickHouse/issues/35816). [#35884](https://github.com/ClickHouse/ClickHouse/pull/35884) ([alesapin](https://github.com/alesapin)).
* Ahora, algunas consultas `ALTER MODIFY COLUMN` para los tipos `Arrays` y `Nullable` pueden realizarse a nivel de metadatos sin necesidad de mutaciones. Por ejemplo, cambiar de `Array(Enum8('Option1'=1))` a `Array(Enum8('Option1'=1, 'Option2'=2))`. [#35882](https://github.com/ClickHouse/ClickHouse/pull/35882) ([alesapin](https://github.com/alesapin)).
* Se añadió una animación al icono del reloj de arena para indicar al usuario que se está ejecutando una consulta. [#35860](https://github.com/ClickHouse/ClickHouse/pull/35860) ([peledni](https://github.com/peledni)).
* Se admite ALTER TABLE t DETACH PARTITION (ALL). [#35794](https://github.com/ClickHouse/ClickHouse/pull/35794) ([awakeljw](https://github.com/awakeljw)).
* Mejorar el análisis de proyecciones para optimizar consultas simples como `count()`. [#35788](https://github.com/ClickHouse/ClickHouse/pull/35788) ([Amos Bird](https://github.com/amosbird)).
* Se admite la inferencia de esquema para insert select con la función de tabla `input`. Obtiene el esquema de la tabla de inserción en lugar de inferirlo a partir de los datos en el caso de insert select desde funciones de tabla que admiten inferencia de esquema. Cierra [#35639](https://github.com/ClickHouse/ClickHouse/issues/35639). [#35760](https://github.com/ClickHouse/ClickHouse/pull/35760) ([Kruglov Pavel](https://github.com/Avogar)).
* Se respeta `remote_url_allow_hosts` para las tablas de Hive. [#35743](https://github.com/ClickHouse/ClickHouse/pull/35743) ([李扬](https://github.com/taiyang-li)).
* Se implementa `send_logs_level` para clickhouse-local. Cierra [#35653](https://github.com/ClickHouse/ClickHouse/issues/35653). [#35716](https://github.com/ClickHouse/ClickHouse/pull/35716) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Cierra [#35641](https://github.com/ClickHouse/ClickHouse/issues/35641) Permite columnas `EPHEMERAL` sin una expresión predeterminada explícita. [#35706](https://github.com/ClickHouse/ClickHouse/pull/35706) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se añade el contador de eventos de perfil `AsyncInsertBytes` para el tamaño de los `INSERT` asíncronos. [#35644](https://github.com/ClickHouse/ClickHouse/pull/35644) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Mejora la descripción del pipeline de JOIN. [#35612](https://github.com/ClickHouse/ClickHouse/pull/35612) ([何李夫](https://github.com/helifu)).
* Inferir la ruta absoluta de configuración de HDFS. [#35572](https://github.com/ClickHouse/ClickHouse/pull/35572) ([李扬](https://github.com/taiyang-li)).
* Mejora el rendimiento al pegar y la compatibilidad de clickhouse-client. Esto ayuda con [#35501](https://github.com/ClickHouse/ClickHouse/issues/35501). [#35541](https://github.com/ClickHouse/ClickHouse/pull/35541) ([Amos Bird](https://github.com/amosbird)).
* Podía producirse un desbordamiento de pila en consultas distribuidas si estaba habilitada alguna de las opciones de configuración `async_socket_for_remote` y `use_hedged_requests` al analizar un tipo de dato con un nivel de anidamiento muy profundo (al menos en una compilación de depuración). Cierra [#35509](https://github.com/ClickHouse/ClickHouse/issues/35509). [#35524](https://github.com/ClickHouse/ClickHouse/pull/35524) ([Kruglov Pavel](https://github.com/Avogar)).
* Añadir los tamaños de las subcolumnas a la tabla `system.parts_columns`. [#35488](https://github.com/ClickHouse/ClickHouse/pull/35488) ([Anton Popov](https://github.com/CurtizJ)).
* Añade información explícita sobre la tabla al nodo de escaneo del plan de consulta y del pipeline. [#35460](https://github.com/ClickHouse/ClickHouse/pull/35460) ([何李夫](https://github.com/helifu)).
* Permitir que el servidor escuche en puertos con números bajos (p. ej., 443). El script de instalación de ClickHouse establecerá `cap_net_bind_service` en el binario. [#35451](https://github.com/ClickHouse/ClickHouse/pull/35451) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Se corrigió INSERT INTO table FROM INFILE: no mostraba la barra de progreso. [#35429](https://github.com/ClickHouse/ClickHouse/pull/35429) ([xiedeyantu](https://github.com/xiedeyantu)).
* Se añaden los argumentos `--user`, `--password`, `--host`, `--port` a la herramienta `clickhouse-diagnostics`. [#35422](https://github.com/ClickHouse/ClickHouse/pull/35422) ([李扬](https://github.com/taiyang-li)).
* Se admite uuid para motores Postgres. Cierra [#35384](https://github.com/ClickHouse/ClickHouse/issues/35384). [#35403](https://github.com/ClickHouse/ClickHouse/pull/35403) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Para la table function `s3cluster`, `HDFSCluster` o `hive`, no podemos obtener el `AccessType` correcto con `StorageFactory::instance().getSourceAccessType(getStorageTypeName())`. Este PR lo corrige. [#35365](https://github.com/ClickHouse/ClickHouse/pull/35365) ([李扬](https://github.com/taiyang-li)).
* Se elimina la opción `--testmode` para clickhouse-client y se habilita de forma incondicional. [#35354](https://github.com/ClickHouse/ClickHouse/pull/35354) ([Kseniia Sumarokova](https://github.com/kssenii)).
* No permitir la operación `wchc` (comando de cuatro letras) en clickhouse-keeper. [#35320](https://github.com/ClickHouse/ClickHouse/pull/35320) ([zhangyuli1](https://github.com/zhangyuli1)).
* Se añade la función `getTypeSerializationStreams`. Para un tipo especificado (que se detecta a partir de la columna), devuelve un array con todas las rutas de los subflujos de serialización. Esta función resulta útil principalmente para desarrolladores. [#35290](https://github.com/ClickHouse/ClickHouse/pull/35290) ([李扬](https://github.com/taiyang-li)).
* Si no se especifica `port` en la configuración del clúster, se usará el puerto predeterminado del servidor. Con esto se cierra [#34769](https://github.com/ClickHouse/ClickHouse/issues/34769). [#34772](https://github.com/ClickHouse/ClickHouse/pull/34772) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Use el índice `minmax` para archivos orc/parquet en Hive Engine. PR relacionada: [https://github.com/ClickHouse/arrow/pull/10](https://github.com/ClickHouse/arrow/pull/10). [#34631](https://github.com/ClickHouse/ClickHouse/pull/34631) ([李扬](https://github.com/taiyang-li)).
* Las tablas de registro del sistema ahora permiten especificar COMMENT en la declaración de ENGINE. Cierra [#33768](https://github.com/ClickHouse/ClickHouse/issues/33768). [#34536](https://github.com/ClickHouse/ClickHouse/pull/34536) ([Maksim Kita](https://github.com/kitaisreal)).
* Compatibilidad adecuada con la configuración `max_rows_to_read` al leer según el orden de la clave de ordenación y con un límite especificado. Anteriormente, podía lanzarse la excepción `Limit for rows or bytes to read exceeded` incluso si la consulta en realidad requería leer una cantidad menor de filas. [#33230](https://github.com/ClickHouse/ClickHouse/pull/33230) ([Anton Popov](https://github.com/CurtizJ)).
* Respetar solo quota & period de cgroups e ignorar shares (que en realidad no limitan la cantidad de núcleos que se pueden usar). [#35815](https://github.com/ClickHouse/ClickHouse/pull/35815) ([filimonov](https://github.com/filimonov)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Añadir el siguiente lote de configuraciones de aleatorización en las pruebas funcionales. [#35047](https://github.com/ClickHouse/ClickHouse/pull/35047) ([Kruglov Pavel](https://github.com/Avogar)).
* Añadir una comprobación de compatibilidad con versiones anteriores en la prueba de estrés. Cierra [#25088](https://github.com/ClickHouse/ClickHouse/issues/25088). [#27928](https://github.com/ClickHouse/ClickHouse/pull/27928) ([Kruglov Pavel](https://github.com/Avogar)).
* Migrar la compilación de paquetes a `nfpm` - Dejar obsoleto el script `release` en favor de `packages/build` - Compilar todo en la imagen clickhouse/binary-builder (limpieza: clickhouse/deb-builder) - Añadir el stripping de símbolos a cmake (pendiente: usar $prefix/lib/$bin\_dir/clickhouse/\$binary.debug) - Corregir el problema con los símbolos DWARF - Añadir paquetes APK de Alpine - Renombrar `alien` a `additional_pkgs`. [#33664](https://github.com/ClickHouse/ClickHouse/pull/33664) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Añadir un escaneo nocturno y la carga de resultados para Coverity. [#34895](https://github.com/ClickHouse/ClickHouse/pull/34895) ([Boris Kuschel](https://github.com/bkuschel)).
* Un paquete pequeño específico para `clickhouse-keeper`. [#35308](https://github.com/ClickHouse/ClickHouse/pull/35308) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* La ejecución con podman estaba fallando: se queja de que el mismo volumen se especifica dos veces. [#35978](https://github.com/ClickHouse/ClickHouse/pull/35978) ([Roman Nikonov](https://github.com/nic11)).
* Mejora menor en la configuración de compilación de contrib/krb5. [#35832](https://github.com/ClickHouse/ClickHouse/pull/35832) ([Anton Kozlov](https://github.com/tonickkozlov)).
* Añadir una etiqueta para identificar una tarea de compilación para cada imagen. [#35583](https://github.com/ClickHouse/ClickHouse/pull/35583) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Aplicar el formateador `black` al código Python y añadir una comprobación por commit. [#35466](https://github.com/ClickHouse/ClickHouse/pull/35466) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Rehacer la imagen de Alpine para usar un Dockerfile limpio. Crear un script en tests/ci para compilar imágenes tanto de Ubuntu como de Alpine. Añadir la imagen de clickhouse-keeper (cc @nikitamikhaylov). Añadir una comprobación de compilación a PullRequestCI. Añadir un job a ReleaseCI. Añadir un job a MasterCI para compilar y publicar las imágenes `clickhouse/clickhouse-server:head` y `clickhouse/clickhouse-keeper:head` para cada PR fusionada. [#35211](https://github.com/ClickHouse/ClickHouse/pull/35211) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Corregir el informe de la prueba de estrés en CI; ahora cargamos el runlog con información sobre las pruebas de estrés iniciadas una sola vez. [#35093](https://github.com/ClickHouse/ClickHouse/pull/35093) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Cambiar a libcxx / libcxxabi de LLVM 14. [#34906](https://github.com/ClickHouse/ClickHouse/pull/34906) ([Raúl Marín](https://github.com/Algunenano)).
* Actualizar unixodbc para mitigar CVE-2018-7485. Nota: este CVE no es relevante para ClickHouse, ya que implementa su propia capa de aislamiento para ODBC. [#35943](https://github.com/ClickHouse/ClickHouse/pull/35943) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).

<div id="bug-fix">
  #### Corrección de errores
</div>

* Se añadieron las configuraciones `input_format_ipv4_default_on_conversion_error`, `input_format_ipv6_default_on_conversion_error` para permitir insertar en las tablas, como valores predeterminados, direcciones IP no válidas. Cierra [#35726](https://github.com/ClickHouse/ClickHouse/issues/35726). [#35733](https://github.com/ClickHouse/ClickHouse/pull/35733) ([Maksim Kita](https://github.com/kitaisreal)).
* Evitar borrar columnas de un bloque si no existen al leer datos de Hive. [#35393](https://github.com/ClickHouse/ClickHouse/pull/35393) ([lgbo](https://github.com/lgbo-ustc)).
* Añadir comprobación de tipos al crear una vista materializada. Cierra: [#23684](https://github.com/ClickHouse/ClickHouse/issues/23684). [#24896](https://github.com/ClickHouse/ClickHouse/pull/24896) ([hexiaoting](https://github.com/hexiaoting)).
* Se corrigió el formato de las consultas INSERT INFILE (faltaban comillas). [#35886](https://github.com/ClickHouse/ClickHouse/pull/35886) ([Azat Khuzhin](https://github.com/azat)).
* Se deshabilita `session_log` porque se detectó un problema de seguridad de memoria mediante fuzzing. Véase [#35714](https://github.com/ClickHouse/ClickHouse/issues/35714). [#35873](https://github.com/ClickHouse/ClickHouse/pull/35873) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Evita procesar varias veces el TTL por columna. [#35820](https://github.com/ClickHouse/ClickHouse/pull/35820) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen las inserciones en columnas de tipo `Object` cuando hay datos correspondientes a varias particiones en la consulta de inserción. [#35806](https://github.com/ClickHouse/ClickHouse/pull/35806) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un error en los índices de columnas no incluidas en los formatos -WithNames que provocaba el error `INCORRECT_NUMBER_OF_COLUMNS ` cuando el número de columnas supera las 256. Cierra [#35793](https://github.com/ClickHouse/ClickHouse/issues/35793). [#35803](https://github.com/ClickHouse/ClickHouse/pull/35803) ([Kruglov Pavel](https://github.com/Avogar)).
* Soluciona [#35751](https://github.com/ClickHouse/ClickHouse/issues/35751). [#35799](https://github.com/ClickHouse/ClickHouse/pull/35799) ([Nikolay Degterinsky](https://github.com/evillique)).
* Corrección para leer desde HDFS en formato Snappy. [#35771](https://github.com/ClickHouse/ClickHouse/pull/35771) ([shuchaome](https://github.com/shuchaome)).
* Corrige un error en la conversión de tipos personalizados a String que podía provocar un segfault o mensajes de error inesperados. Cierra [#35752](https://github.com/ClickHouse/ClickHouse/issues/35752). [#35755](https://github.com/ClickHouse/ClickHouse/pull/35755) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió la implementación de any/all (subconsulta). Cierra [#35489](https://github.com/ClickHouse/ClickHouse/issues/35489). [#35727](https://github.com/ClickHouse/ClickHouse/pull/35727) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la eliminación de una base de datos no vacía en clickhouse-local. Cierra [#35692](https://github.com/ClickHouse/ClickHouse/issues/35692). [#35711](https://github.com/ClickHouse/ClickHouse/pull/35711) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un error al crear una vista materializada con una subconsulta tras reiniciar el servidor. La vista materializada no se actualizaba después de insertar datos en la tabla subyacente tras reiniciar el servidor. Cierra [#35511](https://github.com/ClickHouse/ClickHouse/issues/35511). [#35691](https://github.com/ClickHouse/ClickHouse/pull/35691) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la posible excepción `Can't adjust last granule` al leer subcolumnas del tipo experimental `Object`. [#35687](https://github.com/ClickHouse/ClickHouse/pull/35687) ([Anton Popov](https://github.com/CurtizJ)).
* Se habilita de forma predeterminada la compilación con JIT. [#35683](https://github.com/ClickHouse/ClickHouse/pull/35683) ([Maksim Kita](https://github.com/kitaisreal)).
* Corrige una posible pérdida de subcolumnas en el tipo experimental `Object`. [#35682](https://github.com/ClickHouse/ClickHouse/pull/35682) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la comprobación de nulabilidad de la clave de ASOF JOIN, cierra [#35565](https://github.com/ClickHouse/ClickHouse/issues/35565). [#35674](https://github.com/ClickHouse/ClickHouse/pull/35674) ([Vladimir C](https://github.com/vdimir)).
* Corrige la lógica de comprobación para partes con proyecciones. Se producía un error cuando la proyección y la parte principal tenían tipos diferentes. Es similar a [https://github.com/ClickHouse/ClickHouse/pull/33774](https://github.com/ClickHouse/ClickHouse/pull/33774) . El error fue corregido por @caoyang10. [#35667](https://github.com/ClickHouse/ClickHouse/pull/35667) ([Amos Bird](https://github.com/amosbird)).
* Corrige el fallo del servidor al pasar un gran número de argumentos a la función `format`. Consulta el archivo de prueba para ver cómo reproducir el fallo. [#35651](https://github.com/ClickHouse/ClickHouse/pull/35651) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió el uso de las cuotas con inserciones asíncronas. [#35645](https://github.com/ClickHouse/ClickHouse/pull/35645) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige los argumentos posicionales con alias. Cierra [#35600](https://github.com/ClickHouse/ClickHouse/issues/35600). [#35620](https://github.com/ClickHouse/ClickHouse/pull/35620) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Comprobar `remote_url_allow_hosts` antes de la inferencia de esquema en el motor URL. Cierra [#35064](https://github.com/ClickHouse/ClickHouse/issues/35064). [#35619](https://github.com/ClickHouse/ClickHouse/pull/35619) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige `HashJoin` cuando se usan columnas de tipo `LowCardinality`. Esto cierra [#35548](https://github.com/ClickHouse/ClickHouse/issues/35548). [#35616](https://github.com/ClickHouse/ClickHouse/pull/35616) ([Antonio Andelic](https://github.com/antonio2368)).
* Corrige un posible fallo de segmentación en MaterializedPostgreSQL que se producía si ocurría una excepción al sincronizar los datos recopilados en memoria con las tablas subyacentes. Cierra [#35611](https://github.com/ClickHouse/ClickHouse/issues/35611). [#35614](https://github.com/ClickHouse/ClickHouse/pull/35614) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La configuración `database_atomic_wait_for_drop_and_detach_synchronously` funcionaba de forma incorrecta para la consulta `ATTACH TABLE` cuando una tabla previamente desasociada seguía en uso. Esto ya se ha corregido. [#35594](https://github.com/ClickHouse/ClickHouse/pull/35594) ([tavplubix](https://github.com/tavplubix)).
* Corrige las cabeceras HTTP con colecciones nombradas, añade compression\_method. Cierra [#35273](https://github.com/ClickHouse/ClickHouse/issues/35273). Cierra [#35269](https://github.com/ClickHouse/ClickHouse/issues/35269). [#35593](https://github.com/ClickHouse/ClickHouse/pull/35593) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la obtención de columnas virtuales por parte del motor S3. Cierra [#35411](https://github.com/ClickHouse/ClickHouse/issues/35411). [#35586](https://github.com/ClickHouse/ClickHouse/pull/35586) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió la deducción del tipo de retorno de `caseWithExpression`. Ahora se tiene correctamente en cuenta el tipo de la rama ELSE. [#35576](https://github.com/ClickHouse/ClickHouse/pull/35576) ([Antonio Andelic](https://github.com/antonio2368)).
* Se corrige el análisis de direcciones IPv6 con más de 39 caracteres. Cierra [#34022](https://github.com/ClickHouse/ClickHouse/issues/34022). [#35539](https://github.com/ClickHouse/ClickHouse/pull/35539) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige CAST a direcciones IPv4 e IPv6 en la sección IN. Corrige [#35528](https://github.com/ClickHouse/ClickHouse/issues/35528). [#35534](https://github.com/ClickHouse/ClickHouse/pull/35534) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige el fallo durante la evaluación de funciones con cortocircuito cuando uno de los argumentos es una constante Nullable. Cierra [#35497](https://github.com/ClickHouse/ClickHouse/issues/35497). Cierra [#35496](https://github.com/ClickHouse/ClickHouse/issues/35496). [#35502](https://github.com/ClickHouse/ClickHouse/pull/35502) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige un bloqueo de la función `throwIf` con argumentos constantes. [#35500](https://github.com/ClickHouse/ClickHouse/pull/35500) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige un error en Keeper que puede provocar inestabilidad en las conexiones de los clientes. Introducido en [#35031](https://github.com/ClickHouse/ClickHouse/issues/35031). [#35498](https://github.com/ClickHouse/ClickHouse/pull/35498) ([alesapin](https://github.com/alesapin)).
* Se corrige un error en la función `if` cuando el tipo de la columna resultante difería del tipo de dato resultante, lo que daba lugar a errores lógicos como `Logical error: 'Bad cast from type DB::ColumnVector<int> to DB::ColumnVector<long>'.`. Cierra [#35367](https://github.com/ClickHouse/ClickHouse/issues/35367). [#35476](https://github.com/ClickHouse/ClickHouse/pull/35476) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige el exceso de registros al usar S3 como backend de MergeTree o como motor de tabla o función independientes. Corrige [#30559](https://github.com/ClickHouse/ClickHouse/issues/30559). [#35434](https://github.com/ClickHouse/ClickHouse/pull/35434) ([alesapin](https://github.com/alesapin)).
* Ahora, las operaciones de merge ejecutadas con replicación zero copy (experimental) ya no llenarán los logs con el mensaje `Found parts with the same min block and with the same max block as the missing part _ on replica _. Hoping that it will eventually appear as a result of a merge.`. [#35430](https://github.com/ClickHouse/ClickHouse/pull/35430) ([alesapin](https://github.com/alesapin)).
* Se evita una posible excepción si aparecen fragmentos vacíos en GroupingAggregatedTransform. [#35417](https://github.com/ClickHouse/ClickHouse/pull/35417) ([Nikita Taranov](https://github.com/nickitat)).
* Se corrige el manejo de columnas que no son necesarias en la consulta en los formatos Arrow/Parquet/ORC; esto evita posibles errores como `Unsupported <format> type <type> of an input column <column_name>` cuando el archivo contiene una columna con un tipo no compatible y no se usa en la consulta. [#35406](https://github.com/ClickHouse/ClickHouse/pull/35406) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrección de la caché local para el sistema de archivos remoto (funcionalidad experimental) en casos límite con alta concurrencia. [#35381](https://github.com/ClickHouse/ClickHouse/pull/35381) ([Kseniia Sumarokova](https://github.com/kssenii)). Se corrige un posible interbloqueo en la caché. [#35378](https://github.com/ClickHouse/ClickHouse/pull/35378) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige la poda de particiones al comparar con una constante en `WHERE`. Si la columna y la constante tenían tipos distintos, podía producirse un desbordamiento. La consulta podía devolver incorrectamente un resultado vacío. Esto corrige [#35304](https://github.com/ClickHouse/ClickHouse/issues/35304). [#35334](https://github.com/ClickHouse/ClickHouse/pull/35334) ([Amos Bird](https://github.com/amosbird)).
* Se corrige la inferencia de esquema para el formato TSKV al usar un `max&#95;read&#95;buffer&#95;size` pequeño. [#35332](https://github.com/ClickHouse/ClickHouse/pull/35332) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigen las mutaciones en tablas con columnas dispersas habilitadas. [#35284](https://github.com/ClickHouse/ClickHouse/pull/35284) ([Anton Popov](https://github.com/CurtizJ)).
* No retrasar por defecto la escritura de la parte final (corrige un posible `Memory limit exceeded` durante `INSERT` al añadir `max_insert_delayed_streams_for_parallel_write`, con valor predeterminado de 1000 para escrituras en S3 y deshabilitado, como antes, en los demás casos). [#34780](https://github.com/ClickHouse/ClickHouse/pull/34780) ([Azat Khuzhin](https://github.com/azat)).

### <a id="223" /> Lanzamiento de ClickHouse v22.3-lts, 2022-03-17. [Presentación](https://presentations.clickhouse.com/2022-release-22.3/), [Vídeo](https://www.youtube.com/watch?v=GzeANZzPras)

<Frame>
  <iframe src="https://www.youtube.com/embed/GzeANZzPras" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="backward-incompatible-change">
  #### Cambio incompatible con versiones anteriores
</div>

* Hacer que la función `arrayCompact` se comporte como otras funciones de orden superior: realizar la compactación no sobre los resultados de la función lambda, sino sobre el array original. Si usas funciones lambda no triviales en `arrayCompact`, puedes restaurar el comportamiento anterior envolviendo los argumentos de `arrayCompact` en `arrayMap`. Cierra [#34010](https://github.com/ClickHouse/ClickHouse/issues/34010) [#18535](https://github.com/ClickHouse/ClickHouse/issues/18535) [#14778](https://github.com/ClickHouse/ClickHouse/issues/14778). [#34795](https://github.com/ClickHouse/ClickHouse/pull/34795) ([Alexandre Snarskii](https://github.com/snar)).
* Cambiar el comportamiento específico de la implementación en caso de overflow de la función `toDatetime`. Ahora se saturará al instante mínimo o máximo compatible más cercano de datetime en lugar de hacer wraparound. Este cambio se destaca como "incompatible con versiones anteriores" porque alguien podría depender involuntariamente del comportamiento anterior. [#32898](https://github.com/ClickHouse/ClickHouse/pull/32898) ([HaiBo Li](https://github.com/marising)).
* Hacer que las funciones `cast(value, 'IPv4')` y `cast(value, 'IPv6')` se comporten igual que las funciones `toIPv4` y `toIPv6`. Se cambió el comportamiento para las direcciones IP incorrectas pasadas a las funciones `toIPv4`, `toIPv6`; ahora, si se pasa una dirección IP no válida a estas funciones, se lanzará una excepción; antes, estas funciones devolvían el valor predeterminado. Se añadieron las funciones `IPv4StringToNumOrDefault`, `IPv4StringToNumOrNull`, `IPv6StringToNumOrDefault`, `IPv6StringOrNull` `toIPv4OrDefault`, `toIPv4OrNull`, `toIPv6OrDefault`, `toIPv6OrNull`. Las funciones `IPv4StringToNumOrDefault `, `toIPv4OrDefault `, `toIPv6OrDefault ` deben usarse si la lógica anterior dependía de que `IPv4StringToNum`, `toIPv4`, `toIPv6` devolvieran el valor predeterminado para una dirección no válida. Se añadió la configuración `cast_ipv4_ipv6_default_on_conversion_error`; si esta configuración está habilitada, las funciones de conversión de direcciones IP se comportarán como antes. Cierra [#22825](https://github.com/ClickHouse/ClickHouse/issues/22825). Cierra [#5799](https://github.com/ClickHouse/ClickHouse/issues/5799). Cierra [#35156](https://github.com/ClickHouse/ClickHouse/issues/35156). [#35240](https://github.com/ClickHouse/ClickHouse/pull/35240) ([Maksim Kita](https://github.com/kitaisreal)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Soporte para el almacenamiento en caché local de datos para sistemas de archivos remotos. Se puede habilitar para discos `s3`. Cierra [#28961](https://github.com/ClickHouse/ClickHouse/issues/28961). [#33717](https://github.com/ClickHouse/ClickHouse/pull/33717) ([Kseniia Sumarokova](https://github.com/kssenii)). Mientras tanto, habilitamos la suite de pruebas en el sistema de archivos s3 y ya no hay problemas conocidos, por lo que está empezando a estar lista para producción.
* Se añade la nueva función de tabla `hive`. Se puede usar de la siguiente manera: `hive('<hive metastore url>', '<hive database>', '<hive table name>', '<columns definition>', '<partition columns>')`, por ejemplo `SELECT * FROM hive('thrift://hivetest:9083', 'test', 'demo', 'id Nullable(String), score Nullable(Int32), day Nullable(String)', 'day')`. [#34946](https://github.com/ClickHouse/ClickHouse/pull/34946) ([lgbo](https://github.com/lgbo-ustc)).
* Soporte para la autenticación de usuarios conectados mediante SSL a través de su certificado X.509. [#31484](https://github.com/ClickHouse/ClickHouse/pull/31484) ([eungenue](https://github.com/eungenue)).
* Soporte para la inferencia de esquema al insertar en las funciones de tabla `file`/`hdfs`/`s3`/`url`. [#34732](https://github.com/ClickHouse/ClickHouse/pull/34732) ([Kruglov Pavel](https://github.com/Avogar)).
* Ahora puede leer la tabla `system.zookeeper` sin restricciones de ruta ni usando la expresión `like`. Estas lecturas pueden generar una carga bastante alta en ZooKeeper, por lo que, para habilitar esta capacidad, debe activar el ajuste `allow_unrestricted_reads_from_keeper`. [#34609](https://github.com/ClickHouse/ClickHouse/pull/34609) ([Sergei Trifonov](https://github.com/serxa)).
* Muestra métricas de CPU y memoria en clickhouse-local. Cierra [#34545](https://github.com/ClickHouse/ClickHouse/issues/34545). [#34605](https://github.com/ClickHouse/ClickHouse/pull/34605) ([李扬](https://github.com/taiyang-li)).
* Implementa las funciones `startsWith` y `endsWith` para arrays, cierra [#33982](https://github.com/ClickHouse/ClickHouse/issues/33982). [#34368](https://github.com/ClickHouse/ClickHouse/pull/34368) ([usurai](https://github.com/usurai)).
* Se añaden tres funciones para el tipo de datos Map: 1. `mapReplace(map1, map2)` - reemplaza los valores de las claves de map1 por los valores de las claves correspondientes de map2; añade las claves de map2 que no existen en map1. 2. `mapFilter` 3. `mapMap`. mapFilter y mapMap son funciones de orden superior que aceptan dos argumentos: el primer argumento es una función lambda con el par k, v como argumentos; el segundo argumento es una columna de tipo Map. [#33698](https://github.com/ClickHouse/ClickHouse/pull/33698) ([hexiaoting](https://github.com/hexiaoting)).
* Permite obtener el usuario y la contraseña predeterminados para clickhouse-client a partir de las variables de entorno `CLICKHOUSE_USER` y `CLICKHOUSE_PASSWORD`. Cierra [#34538](https://github.com/ClickHouse/ClickHouse/issues/34538). [#34947](https://github.com/ClickHouse/ClickHouse/pull/34947) ([DR](https://github.com/freedomDR)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Nuevo tipo de datos `Object(<schema_format>)`, que permite almacenar datos semiestructurados (por ahora, solo JSON). Los datos se escriben en estos tipos como una cadena. Luego, todas las rutas se extraen según el formato de los datos semiestructurados y se escriben como columnas independientes en los tipos más adecuados que puedan almacenar todos sus valores. Estas columnas pueden consultarse mediante nombres que coincidan con las rutas de los datos de origen. Por ejemplo, `data.key1.key2` o con el operador CAST `data.key1.key2::Int64`.
* Se añadió la configuración `database_replicated_allow_only_replicated_engine`. Cuando está habilitada, solo se permite crear tablas `Replicated` o tablas con motores sin estado en bases de datos `Replicated`. [#35214](https://github.com/ClickHouse/ClickHouse/pull/35214) ([Nikolai Kochetov](https://github.com/KochetovNicolai)). Tenga en cuenta que la base de datos `Replicated` sigue siendo una funcionalidad experimental.

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Se mejora el rendimiento de la inserción en tablas `MergeTree` optimizando la ordenación. Se observa una mejora de hasta 2x en benchmarks realistas. [#34750](https://github.com/ClickHouse/ClickHouse/pull/34750) ([Maksim Kita](https://github.com/kitaisreal)).
* Poda de columnas al leer archivos Parquet, ORC y Arrow desde URL y S3. Cierra [#34163](https://github.com/ClickHouse/ClickHouse/issues/34163). [#34849](https://github.com/ClickHouse/ClickHouse/pull/34849) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Poda de columnas al leer archivos Parquet, ORC y Arrow desde Hive. [#34954](https://github.com/ClickHouse/ClickHouse/pull/34954) ([lgbo](https://github.com/lgbo-ustc)).
* Varias optimizaciones de rendimiento de un superhéroe del rendimiento. Mejora del rendimiento al procesar consultas con cláusulas `IN` grandes. Mejora del rendimiento del diccionario `direct` si su fuente es `ClickHouse`. Mejora del rendimiento de las funciones `detectCharset ` y `detectLanguageUnknown `. [#34888](https://github.com/ClickHouse/ClickHouse/pull/34888) ([Maksim Kita](https://github.com/kitaisreal)).
* Se mejora el rendimiento de la función de agregación `any` mediante un mayor procesamiento por lotes. [#34760](https://github.com/ClickHouse/ClickHouse/pull/34760) ([Raúl Marín](https://github.com/Algunenano)).
* Múltiples mejoras en el rendimiento de `clickhouse-keeper`: menos bloqueos [#35010](https://github.com/ClickHouse/ClickHouse/pull/35010) ([zhanglistar](https://github.com/zhanglistar)), menor uso de memoria mediante lectura y escritura en streaming de snapshot en lugar de una copia completa [#34584](https://github.com/ClickHouse/ClickHouse/pull/34584) ([zhanglistar](https://github.com/zhanglistar)), optimización de la compactación del almacén de logs en la implementación de RAFT [#34534](https://github.com/ClickHouse/ClickHouse/pull/34534) ([zhanglistar](https://github.com/zhanglistar)), versionado de la estructura de datos interna [#34486](https://github.com/ClickHouse/ClickHouse/pull/34486) ([zhanglistar](https://github.com/zhanglistar)).

<div id="improvement">
  #### Mejora
</div>

* Permite inserciones asíncronas en funciones de tabla. Corrige [#34864](https://github.com/ClickHouse/ClickHouse/issues/34864). [#34866](https://github.com/ClickHouse/ClickHouse/pull/34866) ([Anton Popov](https://github.com/CurtizJ)).
* Conversión implícita de tipo del argumento key en las funciones `dictGetHierarchy`, `dictIsIn`, `dictGetChildren`, `dictGetDescendants`. Cierra [#34970](https://github.com/ClickHouse/ClickHouse/issues/34970). [#35027](https://github.com/ClickHouse/ClickHouse/pull/35027) ([Maksim Kita](https://github.com/kitaisreal)).
* La consulta `EXPLAIN AST` puede mostrar el AST en forma de gráfico en formato Graphviz: `EXPLAIN AST graph = 1 SELECT * FROM system.parts`. [#35173](https://github.com/ClickHouse/ClickHouse/pull/35173) ([李扬](https://github.com/taiyang-li)).
* Al escribir archivos grandes con la función de tabla `s3` o el motor de tabla, el tipo de contenido de los archivos se establecía por error como `application/xml` debido a un fallo en el SDK de AWS. Esto resuelve [#33964](https://github.com/ClickHouse/ClickHouse/issues/33964). [#34433](https://github.com/ClickHouse/ClickHouse/pull/34433) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ajustar ligeramente las row policies restrictivas para que sean una alternativa más sencilla a las políticas permisivas en los casos simples. Si para una tabla concreta solo existen políticas restrictivas (sin políticas permisivas), los usuarios podrán ver algunas filas. Además, `SHOW CREATE ROW POLICY` siempre mostrará `AS permissive` o `AS restrictive` en la definición de la row policy. [#34596](https://github.com/ClickHouse/ClickHouse/pull/34596) ([Vitaly Baranov](https://github.com/vitlibar)).
* Mejora la inferencia de esquema con globs en los motores File/S3/HDFS/URL. Intenta usar la ruta siguiente para la inferencia de esquema en caso de error. [#34465](https://github.com/ClickHouse/ClickHouse/pull/34465) ([Kruglov Pavel](https://github.com/Avogar)).
* La UI de Play ahora detecta correctamente el tema claro u oscuro preferido del sistema operativo. [#35068](https://github.com/ClickHouse/ClickHouse/pull/35068) ([peledni](https://github.com/peledni)).
* Se añadió `date_time_input_format = 'best_effort_us'`. Cierra [#34799](https://github.com/ClickHouse/ClickHouse/issues/34799). [#34982](https://github.com/ClickHouse/ClickHouse/pull/34982) ([WenYao](https://github.com/Cai-Yao)).
* Se agregan en la configuración del servidor nuevos ajustes llamados `allow_plaintext_password` y `allow_no_password`, que activan o desactivan tipos de autenticación que pueden ser potencialmente inseguros en algunos entornos. Están permitidos de forma predeterminada. [#34738](https://github.com/ClickHouse/ClickHouse/pull/34738) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* Soporte para el tipo de dato `DateTime64` en el formato `Arrow`; cierra [#8280](https://github.com/ClickHouse/ClickHouse/issues/8280) y [#28574](https://github.com/ClickHouse/ClickHouse/issues/28574). [#34561](https://github.com/ClickHouse/ClickHouse/pull/34561) ([李扬](https://github.com/taiyang-li)).
* Recargar `remote_url_allow_hosts` (filtrado de las conexiones salientes) al actualizar la configuración. [#35294](https://github.com/ClickHouse/ClickHouse/pull/35294) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se añadió compatibilidad con el parámetro `--testmode` para `clickhouse-local`. Este parámetro permite interpretar las indicaciones de prueba que usamos en las pruebas funcionales. [#35264](https://github.com/ClickHouse/ClickHouse/pull/35264) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se añade `distributed_depth` al registro de consultas. Es una variante más detallada de `is_initial_query` [#35207](https://github.com/ClickHouse/ClickHouse/pull/35207) ([李扬](https://github.com/taiyang-li)).
* Se respeta `remote_url_allow_hosts` para las funciones de tabla `MySQL` y `PostgreSQL`. [#35191](https://github.com/ClickHouse/ClickHouse/pull/35191) ([Heena Bansal](https://github.com/HeenaBansal2009)).
* Se añadió el campo `disk_name` a `system.part_log`. [#35178](https://github.com/ClickHouse/ClickHouse/pull/35178) ([Artyom Yurkov](https://github.com/Varinara)).
* No reintente errores no reintentables al consultar URL remotas. Cierra [#35161](https://github.com/ClickHouse/ClickHouse/issues/35161). [#35172](https://github.com/ClickHouse/ClickHouse/pull/35172) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Admite consultas INSERT SELECT distribuidas (configuración `parallel_distributed_insert_select`) para la función de tabla `view()`. [#35132](https://github.com/ClickHouse/ClickHouse/pull/35132) ([Azat Khuzhin](https://github.com/azat)).
* Seguimiento de memoria más preciso al realizar `INSERT` en `Buffer` con `AggregateFunction`. [#35072](https://github.com/ClickHouse/ClickHouse/pull/35072) ([Azat Khuzhin](https://github.com/azat)).
* Evita la división por cero en el Query Profiler si el kernel de Linux tiene un fallo. Cierra [#34787](https://github.com/ClickHouse/ClickHouse/issues/34787). [#35032](https://github.com/ClickHouse/ClickHouse/pull/35032) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Añade más comprobaciones de coherencia para la configuración de Keeper: ahora no se permite mezclar localhost y servidores no locales; además, se añaden comprobaciones para verificar que el puerto interno de raft y el puerto cliente de Keeper no tengan el mismo valor. [#35004](https://github.com/ClickHouse/ClickHouse/pull/35004) ([alesapin](https://github.com/alesapin)).
* Actualmente, si el usuario cambia la configuración de las system tables, se generarán muchísimos logs y ClickHouse cambiará el nombre de las tablas cada minuto. Esto corrige [#34929](https://github.com/ClickHouse/ClickHouse/issues/34929). [#34949](https://github.com/ClickHouse/ClickHouse/pull/34949) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Usar un pool de conexiones para el cliente del metastore de Hive. [#34940](https://github.com/ClickHouse/ClickHouse/pull/34940) ([lgbo](https://github.com/lgbo-ustc)).
* Ignorar el `TTL` por columna en `CREATE TABLE AS` si el nuevo motor de tabla no lo admite (es decir, si el motor no pertenece a la familia `MergeTree`). [#34938](https://github.com/ClickHouse/ClickHouse/pull/34938) ([Azat Khuzhin](https://github.com/azat)).
* Permitir cadenas `LowCardinality` en los índices `ngrambf_v1`/`tokenbf_v1`. Cierra [#21865](https://github.com/ClickHouse/ClickHouse/issues/21865). [#34911](https://github.com/ClickHouse/ClickHouse/pull/34911) ([Lars Hiller Eidnes](https://github.com/larspars)).
* Permitir abrir una base de datos SQLite vacía si el archivo no existe. Cierra [#33367](https://github.com/ClickHouse/ClickHouse/issues/33367). [#34907](https://github.com/ClickHouse/ClickHouse/pull/34907) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Implementar estadísticas de memoria para FreeBSD; esto es necesario para que `max_server_memory_usage` funcione correctamente. [#34902](https://github.com/ClickHouse/ClickHouse/pull/34902) ([Alexandre Snarskii](https://github.com/snar)).
* En versiones anteriores, la barra de progreso de clickhouse-client puede dar un salto hacia adelante cerca del 50 % sin motivo alguno. Esto resuelve [#34324](https://github.com/ClickHouse/ClickHouse/issues/34324). [#34801](https://github.com/ClickHouse/ClickHouse/pull/34801) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Ahora, las consultas `ALTER TABLE DROP COLUMN columnX` para los motores de tabla `MergeTree` funcionarán de forma instantánea cuando `columnX` sea una columna `ALIAS`. Corrige [#34660](https://github.com/ClickHouse/ClickHouse/issues/34660). [#34786](https://github.com/ClickHouse/ClickHouse/pull/34786) ([alesapin](https://github.com/alesapin)).
* Mostrar sugerencias cuando el usuario escriba mal el nombre de un índice de omisión de datos. Cierra [#29698](https://github.com/ClickHouse/ClickHouse/issues/29698). [#34764](https://github.com/ClickHouse/ClickHouse/pull/34764) ([flynn](https://github.com/ucasfl)).
* Compatibilidad con las funciones de tabla `remote()`/`cluster()` para `parallel_distributed_insert_select`. [#34728](https://github.com/ClickHouse/ClickHouse/pull/34728) ([Azat Khuzhin](https://github.com/azat)).
* No restablecer el logging configurado mediante las opciones de línea de comandos `--log-file`/`--errorlog-file` cuando haya una configuración vacía en el archivo de configuración. [#34718](https://github.com/ClickHouse/ClickHouse/pull/34718) ([Amos Bird](https://github.com/amosbird)).
* Extraer el schema solo una vez al crear la table y evitar leer de archivos locales/fuentes externas para extraer el schema en cada inicio del server. [#34684](https://github.com/ClickHouse/ClickHouse/pull/34684) ([Kruglov Pavel](https://github.com/Avogar)).
* Permite especificar nombres para los argumentos de UDF ejecutables. Esto es necesario en formatos en los que el nombre del argumento forma parte de la serialización, como `Native` y `JSONEachRow`. Cierra [#34604](https://github.com/ClickHouse/ClickHouse/issues/34604). [#34653](https://github.com/ClickHouse/ClickHouse/pull/34653) ([Maksim Kita](https://github.com/kitaisreal)).
* `MaterializedMySQL` (funcionalidad experimental) ahora admite `materialized_mysql_tables_list` (una lista de tablas de la base de datos MySQL separadas por comas, que serán replicadas por el engine de base de datos MaterializedMySQL. Valor predeterminado: lista vacía; significa que se replicarán todas las tablas), mencionado en [#32977](https://github.com/ClickHouse/ClickHouse/issues/32977). [#34487](https://github.com/ClickHouse/ClickHouse/pull/34487) ([zzsmdfj](https://github.com/zzsmdfj)).
* Mejorar los logs de spans de OpenTelemetry para la operación INSERT en tabla distribuida. [#34480](https://github.com/ClickHouse/ClickHouse/pull/34480) ([Frank Chen](https://github.com/FrankChen021)).
* Hacer que `ctime` y `mtime` del znode sean consistentes entre los servidores de ClickHouse Keeper. [#33441](https://github.com/ClickHouse/ClickHouse/pull/33441) ([小路](https://github.com/nicelulu)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Migración del repositorio de paquetes a JFrog Artifactory (**Mikhail f. Shiryaev**).
* Se aleatorizan algunos ajustes en las pruebas funcionales para probar más combinaciones posibles. Este es otro método de fuzzing para mejorar la cobertura de las pruebas. Esto cierra [#32268](https://github.com/ClickHouse/ClickHouse/issues/32268). [#34092](https://github.com/ClickHouse/ClickHouse/pull/34092) ([Kruglov Pavel](https://github.com/Avogar)).
* Eliminar PVS-Studio de nuestro CI. [#34680](https://github.com/ClickHouse/ClickHouse/pull/34680) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Añadir la capacidad de compilar binarios sin símbolos con CMake. En versiones anteriores esto lo realizaba dh-tools. [#35196](https://github.com/ClickHouse/ClickHouse/pull/35196) ([alesapin](https://github.com/alesapin)).
* Versión más ligera "sin extras" de `clickhouse-keeper`. [#35031](https://github.com/ClickHouse/ClickHouse/pull/35031) ([alesapin](https://github.com/alesapin)).
* Usar @robot-clickhouse como autor y committer para PR como [https://github.com/ClickHouse/ClickHouse/pull/34685](https://github.com/ClickHouse/ClickHouse/pull/34685). [#34793](https://github.com/ClickHouse/ClickHouse/pull/34793) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Limitar a 4 como máximo la versión de DWARF para la información de depuración, porque nuestro simbolizador interno de trazas de pila no puede interpretar DWARF versión 5. Esto tiene sentido si compilas ClickHouse con clang-15. [#34777](https://github.com/ClickHouse/ClickHouse/pull/34777) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Eliminar el paquete Debian `clickhouse-test` por ser una complicación innecesaria. El CI usa pruebas del repositorio y ya no se admiten pruebas independientes mediante el paquete deb. [#34606](https://github.com/ClickHouse/ClickHouse/pull/34606) ([Ilya Yatsishin](https://github.com/qoega)).

<div id="bug-fix-user-visible-misbehaviour-in-official-stable-or-prestable-release">
  #### Corrección de errores (comportamiento incorrecto perceptible para el usuario en una versión oficial estable o preestable)
</div>

* Una corrección para la integración de HDFS: cuando el tamaño del búfer interno es demasiado pequeño, NEED\_MORE\_INPUT en `HadoopSnappyDecoder` se ejecuta varias veces (>=3) para un mismo bloque comprimido. Esto hace que los datos de entrada se copien en una ubicación incorrecta dentro de `HadoopSnappyDecoder::buffer`. [#35116](https://github.com/ClickHouse/ClickHouse/pull/35116) ([lgbo](https://github.com/lgbo-ustc)).
* Ignora los privilegios obsoletos en las sentencias ATTACH GRANT. Este PR corrige [#34815](https://github.com/ClickHouse/ClickHouse/issues/34815). [#34855](https://github.com/ClickHouse/ClickHouse/pull/34855) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige un segfault en la base de datos Postgres al obtener la consulta CREATE TABLE si la base de datos se había creado mediante named collections. Cierra [#35312](https://github.com/ClickHouse/ClickHouse/issues/35312). [#35313](https://github.com/ClickHouse/ClickHouse/pull/35313) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige un error que provocaba filas duplicadas en partial merge join, cierra [#31009](https://github.com/ClickHouse/ClickHouse/issues/31009). [#35311](https://github.com/ClickHouse/ClickHouse/pull/35311) ([Vladimir C](https://github.com/vdimir)).
* Se corrigió el posible error `Assertion 'position() != working_buffer.end()' failed` al usar compresión bzip2 con un valor pequeño del ajuste `max_read_buffer_size`. El error se encontró en [https://github.com/ClickHouse/ClickHouse/pull/35047](https://github.com/ClickHouse/ClickHouse/pull/35047). [#35300](https://github.com/ClickHouse/ClickHouse/pull/35300) ([Kruglov Pavel](https://github.com/Avogar)). Al usar compresión lz4 con un valor pequeño del ajuste max\_read\_buffer\_size. [#35296](https://github.com/ClickHouse/ClickHouse/pull/35296) ([Kruglov Pavel](https://github.com/Avogar)). Al usar compresión lzma con un valor pequeño del ajuste `max_read_buffer_size`. [#35295](https://github.com/ClickHouse/ClickHouse/pull/35295) ([Kruglov Pavel](https://github.com/Avogar)). Al usar compresión `brotli` con un valor pequeño del ajuste `max_read_buffer_size`. El error se encontró en [https://github.com/ClickHouse/ClickHouse/pull/35047](https://github.com/ClickHouse/ClickHouse/pull/35047). [#35281](https://github.com/ClickHouse/ClickHouse/pull/35281) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige un posible segfault en la inferencia del esquema de `JSONEachRow`. [#35291](https://github.com/ClickHouse/ClickHouse/pull/35291) ([Kruglov Pavel](https://github.com/Avogar)).
* Corregida la consulta `CHECK TABLE` cuando la tabla tiene habilitadas columnas dispersas. [#35274](https://github.com/ClickHouse/ClickHouse/pull/35274) ([Anton Popov](https://github.com/CurtizJ)).
* Evita `std::terminate` en caso de excepción al leer desde el VFS remoto. [#35257](https://github.com/ClickHouse/ClickHouse/pull/35257) ([Azat Khuzhin](https://github.com/azat)).
* Corregida la lectura del puerto desde la configuración; cierra [#34776](https://github.com/ClickHouse/ClickHouse/issues/34776). [#35193](https://github.com/ClickHouse/ClickHouse/pull/35193) ([Vladimir C](https://github.com/vdimir)).
* Se corrige un error en una consulta con `WITH TOTALS` en caso de que `HAVING` devolviera un resultado vacío. Esto soluciona [#33711](https://github.com/ClickHouse/ClickHouse/issues/33711). [#35186](https://github.com/ClickHouse/ClickHouse/pull/35186) ([Amos Bird](https://github.com/amosbird)).
* Se corrige un caso extremo de `replaceRegexpAll` y se cierra [#35117](https://github.com/ClickHouse/ClickHouse/issues/35117). [#35182](https://github.com/ClickHouse/ClickHouse/pull/35182) ([Vladimir C](https://github.com/vdimir)).
* La inferencia de esquemas no funcionaba correctamente en el caso de `INSERT INTO FUNCTION s3(...) FROM ...`: intentaba leer el esquema desde el archivo de S3 en lugar de hacerlo desde la consulta SELECT. [#35176](https://github.com/ClickHouse/ClickHouse/pull/35176) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige las `table overrides` de MaterializedPostgreSQL (característica experimental) para partition by, etc. Cierra [#35048](https://github.com/ClickHouse/ClickHouse/issues/35048). [#35162](https://github.com/ClickHouse/ClickHouse/pull/35162) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige MaterializedPostgreSQL (funcionalidad experimental) al añadir una nueva tabla a la replicación (ATTACH TABLE) después de eliminarla manualmente (DETACH TABLE). Cierra [#33800](https://github.com/ClickHouse/ClickHouse/issues/33800). Cierra [#34922](https://github.com/ClickHouse/ClickHouse/issues/34922). Cierra [#34315](https://github.com/ClickHouse/ClickHouse/issues/34315). [#35158](https://github.com/ClickHouse/ClickHouse/pull/35158) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el error de poda de particiones cuando se usa una función no monótona con el operador IN. Esto corrige [#35136](https://github.com/ClickHouse/ClickHouse/issues/35136). [#35146](https://github.com/ClickHouse/ClickHouse/pull/35146) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió una traducción a XML ligeramente incorrecta de las configuraciones YAML. [#35135](https://github.com/ClickHouse/ClickHouse/pull/35135) ([Miel Donkers](https://github.com/mdonkers)).
* Se corrigió `optimize_skip_unused_shards_rewrite_in` para columnas con signo y valores negativos. [#35134](https://github.com/ClickHouse/ClickHouse/pull/35134) ([Azat Khuzhin](https://github.com/azat)).
* La opción `update_lag` de la configuración del diccionario externo no se podía utilizar y mostraba el mensaje de error ``Unexpected key `update_lag` in dictionary source configuration``. [#35089](https://github.com/ClickHouse/ClickHouse/pull/35089) ([Jason Chu](https://github.com/1lann)).
* Evita un posible bloqueo mutuo al apagar el servidor. [#35081](https://github.com/ClickHouse/ClickHouse/pull/35081) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la ausencia de alias después de que la función se optimiza a una subcolumna cuando la configuración `optimize_functions_to_subcolumns` está habilitada. Cierra [#33798](https://github.com/ClickHouse/ClickHouse/issues/33798). [#35079](https://github.com/ClickHouse/ClickHouse/pull/35079) ([qieqieplus](https://github.com/qieqieplus)).
* Se corrige la lectura de la tabla `system.asynchronous_inserts` si existe una inserción asíncrona en una table function. [#35050](https://github.com/ClickHouse/ClickHouse/pull/35050) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige una posible excepción `Reading for MergeTree family tables must be done with last position boundary` (relevante para operaciones en VFS remotos). Cierra [#34979](https://github.com/ClickHouse/ClickHouse/issues/34979). [#35001](https://github.com/ClickHouse/ClickHouse/pull/35001) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige el resultado inesperado al usar una aggregate function de tipo -State en el frame de una ventana. [#34999](https://github.com/ClickHouse/ClickHouse/pull/34999) ([metahys](https://github.com/metahys)).
* Corregido un posible fallo de segmentación en FileLog (característica experimental). Cierra [#30749](https://github.com/ClickHouse/ClickHouse/issues/30749). [#34996](https://github.com/ClickHouse/ClickHouse/pull/34996) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un posible error poco frecuente `Cannot push block to port which already has data`. [#34993](https://github.com/ClickHouse/ClickHouse/pull/34993) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige una inferencia de esquema errónea para fechas sin comillas en CSV. Cierra [#34768](https://github.com/ClickHouse/ClickHouse/issues/34768). [#34961](https://github.com/ClickHouse/ClickHouse/pull/34961) ([Kruglov Pavel](https://github.com/Avogar)).
* Integración con Hive: Se corrige un resultado inesperado al usar `in` en `where` en una consulta de Hive. [#34945](https://github.com/ClickHouse/ClickHouse/pull/34945) ([lgbo](https://github.com/lgbo-ustc)).
* Evitar el sondeo activo en ClickHouse Keeper al buscar archivos de changelog que deben eliminarse. [#34931](https://github.com/ClickHouse/ClickHouse/pull/34931) ([Azat Khuzhin](https://github.com/azat)).
* Corregida la conversión de DateTime64 desde PostgreSQL. Cierra [#33364](https://github.com/ClickHouse/ClickHouse/issues/33364). [#34910](https://github.com/ClickHouse/ClickHouse/pull/34910) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió un posible "El directorio de la parte no existe" durante `INSERT` en una tabla MergeTree basada en VFS sobre S3. [#34876](https://github.com/ClickHouse/ClickHouse/pull/34876) ([Azat Khuzhin](https://github.com/azat)).
* Permitir que DDLs como CREATE USER se ejecuten en un clúster con replicación cruzada. [#34860](https://github.com/ClickHouse/ClickHouse/pull/34860) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Corrige errores en el `group by` de múltiples columnas en `WindowView` (funcionalidad experimental). [#34859](https://github.com/ClickHouse/ClickHouse/pull/34859) ([vxider](https://github.com/Vxider)).
* Corrige posibles fallos en las funciones S2 cuando las consultas incluyen columnas constantes. [#34745](https://github.com/ClickHouse/ClickHouse/pull/34745) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrigió un error en las funciones H3 que contienen columnas `const` y provocaba que las consultas fallaran. [#34743](https://github.com/ClickHouse/ClickHouse/pull/34743) ([Bharat Nallan](https://github.com/bharatnc)).
* Se corrige `No such file or directory` con `fsync_part_directory` habilitado y la fusión vertical. [#34739](https://github.com/ClickHouse/ClickHouse/pull/34739) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la serialización/visualización de las consultas del sistema `RELOAD MODEL`, `RELOAD FUNCTION`, `RESTART DISK` cuando se usa `ON CLUSTER`. Cierra [#34514](https://github.com/ClickHouse/ClickHouse/issues/34514). [#34696](https://github.com/ClickHouse/ClickHouse/pull/34696) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige `allow_experimental_projection_optimization` con `enable_global_with_statement` (antes podía provocar el error `Stack size too large` en caso de varias expresiones en la cláusula `WITH`, y además ejecutaba las subconsultas escalares una y otra vez, por lo que ahora será más eficiente). [#34650](https://github.com/ClickHouse/ClickHouse/pull/34650) ([Azat Khuzhin](https://github.com/azat)).
* Dejar de seleccionar una parte para una mutación cuando la otra réplica ya haya actualizado el registro de transacciones del motor `ReplatedMergeTree`. [#34633](https://github.com/ClickHouse/ClickHouse/pull/34633) ([Jianmei Zhang](https://github.com/zhangjmruc)).
* Corrige el resultado incorrecto de una consulta `count` trivial al usar la funcionalidad de movimiento de partes [#34089](https://github.com/ClickHouse/ClickHouse/issues/34089). [#34385](https://github.com/ClickHouse/ClickHouse/pull/34385) ([nvartolomei](https://github.com/nvartolomei)).
* Corrige la inconsistencia del límite de `max_query_size` en las subconsultas distribuidas. [#34078](https://github.com/ClickHouse/ClickHouse/pull/34078) ([Chao Ma](https://github.com/godliness)).

### <a id="222" /> Lanzamiento de ClickHouse v22.2, 2022-02-17. [Presentación](https://presentations.clickhouse.com/2022-release-22.2/), [Video](https://www.youtube.com/watch?v=6EG1gwhSTPg)

<Frame>
  <iframe src="https://www.youtube.com/embed/6EG1gwhSTPg" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### Notas de actualización
</div>

* Aplicar índices de omisión de datos en consultas con FINAL puede producir resultados incorrectos. En esta versión, los índices de omisión de datos están deshabilitados de forma predeterminada para las consultas con FINAL (se introduce una nueva configuración, `use_skip_indexes_if_final`, deshabilitada de forma predeterminada). [#34243](https://github.com/ClickHouse/ClickHouse/pull/34243) ([Azat Khuzhin](https://github.com/azat)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Las proyecciones ya están listas para producción. `allow_experimental_projection_optimization` se establece de forma predeterminada y esta configuración queda obsoleta. [#34456](https://github.com/ClickHouse/ClickHouse/pull/34456) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Una opción para crear archivos nuevos al insertar en los motores `File`/`S3`/`HDFS`. Permite sobrescribir un archivo en `HDFS`. De forma predeterminada, lanza una excepción al intentar sobrescribir un archivo en `S3`. Lanza una excepción al intentar añadir datos a un archivo en formatos que tienen un sufijo (y, por lo tanto, no admiten anexos, como `Parquet`, `ORC`). Cierra [#31640](https://github.com/ClickHouse/ClickHouse/issues/31640) Cierra [#31622](https://github.com/ClickHouse/ClickHouse/issues/31622) Cierra [#23862](https://github.com/ClickHouse/ClickHouse/issues/23862) Cierra [#15022](https://github.com/ClickHouse/ClickHouse/issues/15022) Cierra [#16674](https://github.com/ClickHouse/ClickHouse/issues/16674). [#33302](https://github.com/ClickHouse/ClickHouse/pull/33302) ([Kruglov Pavel](https://github.com/Avogar)).
* Añade una configuración que permite al usuario proporcionar su propia semántica de deduplicación en `MergeTree`/`ReplicatedMergeTree`. Si se proporciona, se utiliza en lugar del resumen de datos para generar el ID de bloque. Así, por ejemplo, al proporcionar un valor único para la configuración en cada sentencia INSERT, el usuario puede evitar que los mismos datos insertados se deduplicen. Esto cierra: [#7461](https://github.com/ClickHouse/ClickHouse/issues/7461). [#32304](https://github.com/ClickHouse/ClickHouse/pull/32304) ([Igor Nikonov](https://github.com/devcrafter)).
* Se añade compatibilidad con la palabra clave `DEFAULT` en las sentencias INSERT. Cierra [#6331](https://github.com/ClickHouse/ClickHouse/issues/6331). [#33141](https://github.com/ClickHouse/ClickHouse/pull/33141) ([Andrii Buriachevskyi](https://github.com/1over)).
* Se añadió el especificador de columna `EPHEMERAL` a la consulta `CREATE TABLE`. Cierra [#9436](https://github.com/ClickHouse/ClickHouse/issues/9436). [#34424](https://github.com/ClickHouse/ClickHouse/pull/34424) ([yakov-olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Se añade compatibilidad con la cláusula `IF EXISTS` para la funcionalidad `TTL expr TO [DISK|VOLUME] [IF EXISTS] 'xxx'`. Las partes se moverán al disco o volumen solo si existen en la réplica, por lo que las reglas de `MOVE TTL` podrán comportarse de forma distinta en las réplicas según las políticas de almacenamiento existentes. Resuelve [#34455](https://github.com/ClickHouse/ClickHouse/issues/34455). [#34504](https://github.com/ClickHouse/ClickHouse/pull/34504) ([Anton Popov](https://github.com/CurtizJ)).
* Permite establecer un motor de tabla predeterminado y crear tablas sin especificar ENGINE. [#34187](https://github.com/ClickHouse/ClickHouse/pull/34187) ([Ilya Yatsishin](https://github.com/qoega)).
* Se añadió la función de tabla `format(format_name, data)`. [#34125](https://github.com/ClickHouse/ClickHouse/pull/34125) ([Kruglov Pavel](https://github.com/Avogar)).
* Detectar el formato en `clickhouse-local` a partir del nombre del archivo incluso cuando se pasa mediante stdin. [#33829](https://github.com/ClickHouse/ClickHouse/pull/33829) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añadió la inferencia de esquema para la función de tabla `values`. Cierra [#33811](https://github.com/ClickHouse/ClickHouse/issues/33811). [#34017](https://github.com/ClickHouse/ClickHouse/pull/34017) ([Kruglov Pavel](https://github.com/Avogar)).
* Recarga dinámica de los certificados TLS del servidor al recargar la configuración. Corrige [#15764](https://github.com/ClickHouse/ClickHouse/issues/15764). [#15765](https://github.com/ClickHouse/ClickHouse/pull/15765) ([johnskopis](https://github.com/johnskopis)). [#31257](https://github.com/ClickHouse/ClickHouse/pull/31257) ([Filatenkov Artur](https://github.com/FArthur-cmd)).
* Ahora ReplicatedMergeTree puede recuperar los datos cuando algunos de sus discos se dañan. [#13544](https://github.com/ClickHouse/ClickHouse/pull/13544) ([Amos Bird](https://github.com/amosbird)).
* Conexiones con tolerancia a fallos en clickhouse-client: `clickhouse-client ... --host host1 --host host2 --port port2 --host host3 --port port --host host4`. [#34490](https://github.com/ClickHouse/ClickHouse/pull/34490) ([Kruglov Pavel](https://github.com/Avogar)). [#33824](https://github.com/ClickHouse/ClickHouse/pull/33824) ([Filippov Denis](https://github.com/DF5HSE)).
* Se añaden las funciones `DEGREES` y `RADIANS` para garantizar la compatibilidad con MySQL. [#33769](https://github.com/ClickHouse/ClickHouse/pull/33769) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añadió la función `h3ToCenterChild`. [#33313](https://github.com/ClickHouse/ClickHouse/pull/33313) ([Bharat Nallan](https://github.com/bharatnc)). Se añadieron nuevas funciones varias de H3: `edgeLengthKm`,`exactEdgeLengthKm`,`exactEdgeLengthM`,`exactEdgeLengthRads`,`numHexagons`. [#33621](https://github.com/ClickHouse/ClickHouse/pull/33621) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añade la función `bitSlice` para extraer subsecuencias de bits de String/FixedString. [#33360](https://github.com/ClickHouse/ClickHouse/pull/33360) ([RogerYK](https://github.com/RogerYK)).
* Se implementó la función de agregación `meanZTest`. [#33354](https://github.com/ClickHouse/ClickHouse/pull/33354) ([achimbab](https://github.com/achimbab)).
* Se añaden intervalos de confianza a las funciones de agregación de pruebas t. [#33260](https://github.com/ClickHouse/ClickHouse/pull/33260) ([achimbab](https://github.com/achimbab)).
* Se agrega la función `addressToLineWithInlines`. Cierra [#26211](https://github.com/ClickHouse/ClickHouse/issues/26211). [#33467](https://github.com/ClickHouse/ClickHouse/pull/33467) ([SuperDJY](https://github.com/cmsxbc)).
* Se añadieron `#!` y `# ` como inicios reconocidos de un comentario de una sola línea. Cierra [#34138](https://github.com/ClickHouse/ClickHouse/issues/34138). [#34230](https://github.com/ClickHouse/ClickHouse/pull/34230) ([Aaron Katz](https://github.com/aaronstephenkatz)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Funciones para la clasificación de texto: detección de idioma y de juego de caracteres. Véase [#23271](https://github.com/ClickHouse/ClickHouse/issues/23271). [#33314](https://github.com/ClickHouse/ClickHouse/pull/33314) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se añadió memory overcommit a `MemoryTracker`. Se añadieron ajustes `guaranteed` para los límites de memoria, que representan límites de memoria suaves. En caso de que se alcance el límite estricto de memoria, `MemoryTracker` intenta cancelar la consulta con mayor overcommit. El nuevo ajuste `memory_usage_overcommit_max_wait_microseconds` especifica cuánto tiempo pueden esperar las consultas a que se detenga otra consulta. Cierra [#28375](https://github.com/ClickHouse/ClickHouse/issues/28375). [#31182](https://github.com/ClickHouse/ClickHouse/pull/31182) ([Dmitry Novik](https://github.com/novikd)).
* Se habilita el join entre stream y tabla en WindowView. [#33729](https://github.com/ClickHouse/ClickHouse/pull/33729) ([vxider](https://github.com/Vxider)).
* Se añade compatibilidad con los tipos de datos `SET`, `YEAR`, `TIME` y `GEOMETRY` en `MaterializedMySQL` (característica experimental). Corrige [#18091](https://github.com/ClickHouse/ClickHouse/issues/18091), [#21536](https://github.com/ClickHouse/ClickHouse/issues/21536), [#26361](https://github.com/ClickHouse/ClickHouse/issues/26361). [#33429](https://github.com/ClickHouse/ClickHouse/pull/33429) ([zzsmdfj](https://github.com/zzsmdfj)).
* Se corrigen varios problemas cuando las proyecciones están habilitadas de forma predeterminada. Cada problema se describe en un commit independiente. Esto corresponde a [#33678](https://github.com/ClickHouse/ClickHouse/issues/33678). Esto corrige [#34273](https://github.com/ClickHouse/ClickHouse/issues/34273). [#34305](https://github.com/ClickHouse/ClickHouse/pull/34305) ([Amos Bird](https://github.com/amosbird)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Se admite `optimize_read_in_order` si el prefijo de la clave de ordenación ya está ordenado. Por ejemplo, si tenemos la clave de ordenación `ORDER BY (a, b)` en una tabla y una consulta con las cláusulas `WHERE a = const ORDER BY b`, ahora se aplicará leyendo en el orden de la clave de ordenación en lugar de realizar una ordenación completa. [#32748](https://github.com/ClickHouse/ClickHouse/pull/32748) ([Anton Popov](https://github.com/CurtizJ)).
* Mejora el rendimiento de las inserciones particionadas en las funciones de tabla `URL`, `S3`, `File`, `HDFS`. Cierra [#34348](https://github.com/ClickHouse/ClickHouse/issues/34348). [#34510](https://github.com/ClickHouse/ClickHouse/pull/34510) ([Maksim Kita](https://github.com/kitaisreal)).
* Múltiples mejoras de rendimiento en clickhouse-keeper. [#34484](https://github.com/ClickHouse/ClickHouse/pull/34484) [#34587](https://github.com/ClickHouse/ClickHouse/pull/34587) ([zhanglistar](https://github.com/zhanglistar)).
* `FlatDictionary` mejora el rendimiento de la carga de datos en diccionarios. [#33871](https://github.com/ClickHouse/ClickHouse/pull/33871) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora el rendimiento de la función `mapPopulateSeries`. Cierra [#33944](https://github.com/ClickHouse/ClickHouse/issues/33944). [#34318](https://github.com/ClickHouse/ClickHouse/pull/34318) ([Maksim Kita](https://github.com/kitaisreal)).
* `_file` y `_path`, columnas virtuales (en motores de tabla de tipo archivo), pasan a ser `LowCardinality`; esto hará que las consultas sobre varios archivos sean más rápidas. Cierra [#34300](https://github.com/ClickHouse/ClickHouse/issues/34300). [#34317](https://github.com/ClickHouse/ClickHouse/pull/34317) ([flynn](https://github.com/ucasfl)).
* Se acelera la carga de las partes de datos. Antes no se paralelizaba: la configuración `part_loading_threads` no surtía efecto. Consulta [#4699](https://github.com/ClickHouse/ClickHouse/issues/4699). [#34310](https://github.com/ClickHouse/ClickHouse/pull/34310) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Mejora el rendimiento del formato `LineAsString`. Esto cierra [#34303](https://github.com/ClickHouse/ClickHouse/issues/34303). [#34306](https://github.com/ClickHouse/ClickHouse/pull/34306) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se optimiza `quantilesExact{Low,High}` para usar `nth_element` en lugar de `sort`. [#34287](https://github.com/ClickHouse/ClickHouse/pull/34287) ([Danila Kutenin](https://github.com/danlark1)).
* Ligera mejora del rendimiento del formato `Regexp`. [#34202](https://github.com/ClickHouse/ClickHouse/pull/34202) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Mejora menor en el análisis de subconsultas escalares. [#34128](https://github.com/ClickHouse/ClickHouse/pull/34128) ([Federico Rodriguez](https://github.com/fedrod)).
* Hacer que ORDER BY de tupla sea casi tan rápido como ORDER BY de columnas. Tenemos optimizaciones especiales para ORDER BY de varias columnas: [https://github.com/ClickHouse/ClickHouse/pull/10831](https://github.com/ClickHouse/ClickHouse/pull/10831) . También resulta beneficioso aplicarlas a las columnas de tupla. [#34060](https://github.com/ClickHouse/ClickHouse/pull/34060) ([Amos Bird](https://github.com/amosbird)).
* Rediseño y reintroducción de la caché de subconsultas escalares para la ejecución de vistas materializadas. [#33958](https://github.com/ClickHouse/ClickHouse/pull/33958) ([Raúl Marín](https://github.com/Algunenano)).
* Mejora ligeramente el rendimiento de `ORDER BY` al añadir compatibilidad con x86-64 AVX-512 para las funciones `memcmpSmall`, con el fin de acelerar la comparación en memoria. Solo funciona si compilas ClickHouse por tu cuenta. [#33706](https://github.com/ClickHouse/ClickHouse/pull/33706) ([hanqf-git](https://github.com/hanqf-git)).
* Mejora el rendimiento del diccionario `range_hashed` cuando una clave tiene muchos intervalos. Corrige [#23821](https://github.com/ClickHouse/ClickHouse/issues/23821). [#33516](https://github.com/ClickHouse/ClickHouse/pull/33516) ([Maksim Kita](https://github.com/kitaisreal)).
* Para las inserciones y fusiones en S3, escriba archivos en paralelo siempre que sea posible (TODO: comprobar si se ha fusionado). [#33291](https://github.com/ClickHouse/ClickHouse/pull/33291) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se mejora el rendimiento de `clickhouse-keeper` y se corrigen varias fugas de memoria en la biblioteca NuRaft. [#33329](https://github.com/ClickHouse/ClickHouse/pull/33329) ([alesapin](https://github.com/alesapin)).

<div id="improvement">
  #### Mejora
</div>

* Se admiten las inserciones asíncronas en `clickhouse-client` para consultas con datos embebidos. [#34267](https://github.com/ClickHouse/ClickHouse/pull/34267) ([Anton Popov](https://github.com/CurtizJ)).
* Las funciones `dictGet`, `dictHas` convierten implícitamente el argumento de clave a la estructura de clave del diccionario si son diferentes. [#33672](https://github.com/ClickHouse/ClickHouse/pull/33672) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejoras en los diccionarios `range_hashed`. Se mejoró el rendimiento del tiempo de carga cuando hay varios atributos. Se permite CREATE un diccionario sin atributos. Se añadió una opción para especificar la estrategia cuando los intervalos `start` y `end` tienen el tipo `Nullable`; `convert_null_range_bound_to_open` es `true` de forma predeterminada. Cierra [#29791](https://github.com/ClickHouse/ClickHouse/issues/29791). Se permite especificar `Float`, `Decimal`, `DateTime64`, `Int128`, `Int256`, `UInt128`, `UInt256` como tipos de rango. Se añadió soporte en `RangeHashedDictionary` para valores de rango que superan el tipo `Int64`. Cierra [#28322](https://github.com/ClickHouse/ClickHouse/issues/28322). Se añadió la opción `range_lookup_strategy` para especificar el tipo de lookup de rango `min`, `max`; `min` es el valor predeterminado. Cierra [#21647](https://github.com/ClickHouse/ClickHouse/issues/21647). Se corrigieron los cálculos de bytes asignados. Se corrigió el type name en `system.dictionaries` en el caso de `ComplexKeyHashedDictionary`. [#33927](https://github.com/ClickHouse/ClickHouse/pull/33927) ([Maksim Kita](https://github.com/kitaisreal)).
* Los diccionarios `flat`, `hashed` y `hashed_array` ahora permiten crearse con atributos vacíos, con soporte para leer las claves y usar `dictHas`. Corrige [#33820](https://github.com/ClickHouse/ClickHouse/issues/33820). [#33918](https://github.com/ClickHouse/ClickHouse/pull/33918) ([Maksim Kita](https://github.com/kitaisreal)).
* Se añadió compatibilidad con el tipo de datos `DateTime64` en los diccionarios. [#33914](https://github.com/ClickHouse/ClickHouse/pull/33914) ([Maksim Kita](https://github.com/kitaisreal)).
* Permite usar `s3(url, access_key_id, secret_access_key)` (detección automática del formato de los datos y de la estructura de la tabla, pero con credenciales explícitas). [#34503](https://github.com/ClickHouse/ClickHouse/pull/34503) ([Kruglov Pavel](https://github.com/Avogar)).
* Se añadió el envío del formato de salida al cliente, tal como se hace en el protocolo HTTP, según lo sugerido en [#34362](https://github.com/ClickHouse/ClickHouse/issues/34362). Cierra [#34362](https://github.com/ClickHouse/ClickHouse/issues/34362). [#34499](https://github.com/ClickHouse/ClickHouse/pull/34499) ([Vitaly Baranov](https://github.com/vitlibar)).
* Enviar estadísticas de ProfileEvents en el caso de consultas INSERT SELECT (para mostrar métricas de consulta en `clickhouse-client` en este tipo de consultas). [#34498](https://github.com/ClickHouse/ClickHouse/pull/34498) ([Dmitry Novik](https://github.com/novikd)).
* Se reconoce la extensión `.jsonl` para el formato JSONEachRow. [#34496](https://github.com/ClickHouse/ClickHouse/pull/34496) ([Kruglov Pavel](https://github.com/Avogar)).
* Mejora la inferencia de esquema en clickhouse-local. Permite escribir simplemente `clickhouse-local -q "select * from table" < data.format`. [#34495](https://github.com/ClickHouse/ClickHouse/pull/34495) ([Kruglov Pavel](https://github.com/Avogar)).
* Los privilegios CREATE/ALTER/DROP ROW POLICY ahora también se pueden conceder sobre una tabla o sobre `database.*`, así como globalmente sobre `*.*`. [#34489](https://github.com/ClickHouse/ClickHouse/pull/34489) ([Vitaly Baranov](https://github.com/vitlibar)).
* Permite exportar archivos de tamaño arbitrario a `s3`. Añade dos nuevas configuraciones: `s3_upload_part_size_multiply_factor` y `s3_upload_part_size_multiply_parts_count_threshold`. Ahora, cada vez que desde una sola consulta se suben a S3 `s3_upload_part_size_multiply_parts_count_threshold` partes, `s3_min_upload_part_size` se multiplica por `s3_upload_part_size_multiply_factor`. Corrige [#34244](https://github.com/ClickHouse/ClickHouse/issues/34244). [#34422](https://github.com/ClickHouse/ClickHouse/pull/34422) ([alesapin](https://github.com/alesapin)).
* Se permite omitir las URL no encontradas (404) en `globs` al usar el almacenamiento URL / función de tabla. También cierra [#34359](https://github.com/ClickHouse/ClickHouse/issues/34359). [#34392](https://github.com/ClickHouse/ClickHouse/pull/34392) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Formatos predeterminados de entrada y salida para `clickhouse-local` que se pueden anular con --input-format y --output-format. Cierra [#30631](https://github.com/ClickHouse/ClickHouse/issues/30631). [#34352](https://github.com/ClickHouse/ClickHouse/pull/34352) ([李扬](https://github.com/taiyang-li)).
* Agregar opciones para `clickhouse-format`. Esto cierra [#30528](https://github.com/ClickHouse/ClickHouse/issues/30528): `max_query_size` - `max_parser_depth`. [#34349](https://github.com/ClickHouse/ClickHouse/pull/34349) ([李扬](https://github.com/taiyang-li)).
* Mejor gestión de las entradas previas al inicio del cliente. Esto es para [#34308](https://github.com/ClickHouse/ClickHouse/issues/34308). [#34336](https://github.com/ClickHouse/ClickHouse/pull/34336) ([Amos Bird](https://github.com/amosbird)).
* Alias de las funciones `REGEXP_MATCHES` y `REGEXP_REPLACE` para compatibilidad con PostgreSQL. Cierra [#30885](https://github.com/ClickHouse/ClickHouse/issues/30885). [#34334](https://github.com/ClickHouse/ClickHouse/pull/34334) ([李扬](https://github.com/taiyang-li)).
* Algunos servidores esperan una cabecera `User-Agent` en sus solicitudes HTTP. Se ha añadido una cabecera `User-Agent` a las solicitudes HTTP con el formato: User-Agent: ClickHouse/VERSION\_STRING. [#34330](https://github.com/ClickHouse/ClickHouse/pull/34330) ([Saad Ur Rahman](https://github.com/surahman)).
* Cancelar las fusiones antes de adquirir el bloqueo de la tabla para la consulta `TRUNCATE` evita el error `DEADLOCK_AVOIDED` en algunos casos. Corrige [#34302](https://github.com/ClickHouse/ClickHouse/issues/34302). [#34304](https://github.com/ClickHouse/ClickHouse/pull/34304) ([tavplubix](https://github.com/tavplubix)).
* Cambiar la severidad del mensaje "Se canceló la fusión de partes" en los logs, porque no es un error. Esto cierra [#34148](https://github.com/ClickHouse/ClickHouse/issues/34148). [#34232](https://github.com/ClickHouse/ClickHouse/pull/34232) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se añadió la capacidad de combinar el operador de conversión de tipo `::` de estilo PostgreSQL con expresiones que usan los operadores `[]` y `.` (indexación de arrays y tuplas). [#34229](https://github.com/ClickHouse/ClickHouse/pull/34229) ([Nikolay Degterinsky](https://github.com/evillique)).
* Se reconoce el formato `YYYYMMDD-hhmmss` en la función `parseDateTimeBestEffort`. Con esto se cierra [#34206](https://github.com/ClickHouse/ClickHouse/issues/34206). [#34208](https://github.com/ClickHouse/ClickHouse/pull/34208) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se permite el retorno de carro en medio de la línea durante el análisis con el formato `Regexp`. Esto cierra [#34200](https://github.com/ClickHouse/ClickHouse/issues/34200). [#34205](https://github.com/ClickHouse/ClickHouse/pull/34205) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Permite analizar la `PRIMARY KEY` del Diccionario como `PRIMARY KEY (id, value)`; anteriormente solo se admitía `PRIMARY KEY id, value`. Cierra [#34135](https://github.com/ClickHouse/ClickHouse/issues/34135). [#34141](https://github.com/ClickHouse/ClickHouse/pull/34141) ([Maksim Kita](https://github.com/kitaisreal)).
* Un argumento opcional para `splitByChar` que limita el número de elementos resultantes. Cierra [#34081](https://github.com/ClickHouse/ClickHouse/issues/34081). [#34140](https://github.com/ClickHouse/ClickHouse/pull/34140) ([李扬](https://github.com/taiyang-li)).
* Se ha mejorado la experiencia de edición de varias líneas en clickhouse-client. Se trata de una continuación de [#31123](https://github.com/ClickHouse/ClickHouse/pull/31123). [#34114](https://github.com/ClickHouse/ClickHouse/pull/34114) ([Amos Bird](https://github.com/amosbird)).
* Se agregó compatibilidad con `UUID` en el formato de entrada/salida `MsgPack`. [#34065](https://github.com/ClickHouse/ClickHouse/pull/34065) ([Kruglov Pavel](https://github.com/Avogar)).
* El contexto de tracing (para OpenTelemetry) ahora se propaga a partir de los metadatos del cliente GRPC (este cambio afecta al protocolo cliente-servidor de GRPC). [#34064](https://github.com/ClickHouse/ClickHouse/pull/34064) ([andremarianiello](https://github.com/andremarianiello)).
* Admite todo tipo de consultas `SYSTEM` con la cláusula `ON CLUSTER`. [#34005](https://github.com/ClickHouse/ClickHouse/pull/34005) ([小路](https://github.com/nicelulu)).
* Mejora la contabilización de memoria para las consultas que usan menos de `max_untracker_memory`. [#34001](https://github.com/ClickHouse/ClickHouse/pull/34001) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió la búsqueda sin distinción entre mayúsculas y minúsculas en cadenas UTF-8 cuando los caracteres en minúscula y mayúscula se representan con un número diferente de bytes. Un ejemplo es `ẞ` y `ß`. Esto cierra [#7334](https://github.com/ClickHouse/ClickHouse/issues/7334). [#33992](https://github.com/ClickHouse/ClickHouse/pull/33992) ([Harry Lee](https://github.com/HarryLeeIBM)).
* Detectar el formato y el esquema a partir de stdin en `clickhouse-local`. [#33960](https://github.com/ClickHouse/ClickHouse/pull/33960) ([Kruglov Pavel](https://github.com/Avogar)).
* Gestiona correctamente el caso de una configuración incorrecta cuando varios discos usan la misma ruta en el sistema de archivos. [#29072](https://github.com/ClickHouse/ClickHouse/issues/29072). [#33905](https://github.com/ClickHouse/ClickHouse/pull/33905) ([zhongyuankai](https://github.com/zhongyuankai)).
* Probar todas las direcciones IP resueltas al obtener un proxy de S3. Los proxies de S3 rara vez se usan, principalmente en Yandex Cloud. [#33862](https://github.com/ClickHouse/ClickHouse/pull/33862) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se admite la consulta EXPLAIN AST CREATE FUNCTION: `EXPLAIN AST CREATE FUNCTION mycast AS (n) -> cast(n as String)` devolverá `EXPLAIN AST CREATE FUNCTION mycast AS n -> CAST(n, 'String')`. [#33819](https://github.com/ClickHouse/ClickHouse/pull/33819) ([李扬](https://github.com/taiyang-li)).
* Se añadió compatibilidad con la conversión de `Map(Key, Value)` a `Array(Tuple(Key, Value))`. [#33794](https://github.com/ClickHouse/ClickHouse/pull/33794) ([Maksim Kita](https://github.com/kitaisreal)).
* Se añaden algunas mejoras y correcciones para el tipo de datos `Bool`. Corrige [#33244](https://github.com/ClickHouse/ClickHouse/issues/33244). [#33737](https://github.com/ClickHouse/ClickHouse/pull/33737) ([Kruglov Pavel](https://github.com/Avogar)).
* Analiza y almacena el trace-id de OpenTelemetry en orden big-endian. [#33723](https://github.com/ClickHouse/ClickHouse/pull/33723) ([Frank Chen](https://github.com/FrankChen021)).
* Mejora en las funciones de la familia `fromUnixTimestamp64`.. Ahora aceptan cualquier valor entero que pueda convertirse en `Int64`. Esto cierra: [#14648](https://github.com/ClickHouse/ClickHouse/issues/14648). [#33505](https://github.com/ClickHouse/ClickHouse/pull/33505) ([Andrey Zvonov](https://github.com/zvonand)).
* Volver a implementar `_shard_num` a partir de constantes (véase [#7624](https://github.com/ClickHouse/ClickHouse/issues/7624)) mediante la función `shardNum()` (véase [#27020](https://github.com/ClickHouse/ClickHouse/issues/27020)), para evitar posibles problemas (como los detectados en [#16947](https://github.com/ClickHouse/ClickHouse/issues/16947)). [#33392](https://github.com/ClickHouse/ClickHouse/pull/33392) ([Azat Khuzhin](https://github.com/azat)).
* Habilita las operaciones aritméticas binarias (suma, resta, multiplicación, división, mínimo, máximo) entre Decimal y Float. [#33355](https://github.com/ClickHouse/ClickHouse/pull/33355) ([flynn](https://github.com/ucasfl)).
* Se respetan los límites de cgroups en la autodetección de max\_threads. [#33342](https://github.com/ClickHouse/ClickHouse/pull/33342) ([JaySon](https://github.com/JaySon-Huang)).
* Se añade la nueva configuración de clickhouse-keeper `min_session_timeout_ms`. Ahora clickhouse-keeper determinará el timeout de sesión del cliente según la configuración `min_session_timeout_ms` y `session_timeout_ms`. [#33288](https://github.com/ClickHouse/ClickHouse/pull/33288) ([JackyWoo](https://github.com/JackyWoo)).
* Se añadió compatibilidad con el tipo de datos `UUID` en las funciones `hex` y `bin`. [#32170](https://github.com/ClickHouse/ClickHouse/pull/32170) ([Frank Chen](https://github.com/FrankChen021)).
* Se corrige la lectura de subcolumnas con puntos en sus nombres. En particular, se corrigió la lectura de las columnas `Nested` cuando los nombres de sus elementos contienen puntos (p. ej., ``Nested(`keys.name` String, `keys.id` UInt64, values UInt64)``). [#34228](https://github.com/ClickHouse/ClickHouse/pull/34228) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige un problema por el que `parallel_view_processing = 0` no funcionaba al insertar en una tabla mediante `VALUES`. - Corrige que `view_duration_ms` en `query_views_log` no se estableciera correctamente para las vistas materializadas. [#34067](https://github.com/ClickHouse/ClickHouse/pull/34067) ([Raúl Marín](https://github.com/Algunenano)).
* Se corrige el análisis de la estructura de las tablas desde ZooKeeper: ahora los metadatos de ZooKeeper se comparan con los metadatos locales en su forma canónica. Esto ayuda cuando los nombres canónicos de las funciones pueden cambiar entre versiones de ClickHouse. [#33933](https://github.com/ClickHouse/ClickHouse/pull/33933) ([sunny](https://github.com/sunny19930321)).
* Escapar correctamente ciertos caracteres al interactuar con LDAP. [#33401](https://github.com/ClickHouse/ClickHouse/pull/33401) ([IlyaTsoi](https://github.com/IlyaTsoi)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Eliminar la compatibilidad con compilaciones no incluidas en el paquete. [#33690](https://github.com/ClickHouse/ClickHouse/pull/33690) ([Azat Khuzhin](https://github.com/azat)).
* Garantizar que las pruebas no dependan del resultado de una ordenación no estable de elementos iguales. Se añadió la aleatorización de rangos de elementos iguales en modo debug después de ordenar para evitar problemas cuando se depende del orden de clasificación de elementos iguales. [#34393](https://github.com/ClickHouse/ClickHouse/pull/34393) ([Maksim Kita](https://github.com/kitaisreal)).
* Añadir más detalle a una comprobación de estilo. [#34289](https://github.com/ClickHouse/ClickHouse/pull/34289) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Eliminar el paquete Debian `clickhouse-test` porque está obsoleto. [#33948](https://github.com/ClickHouse/ClickHouse/pull/33948) ([Ilya Yatsishin](https://github.com/qoega)).
* Varias mejoras en el sistema de compilación para eliminar la posibilidad de usar ocasionalmente paquetes del sistema operativo y garantizar compilaciones herméticas. [#33695](https://github.com/ClickHouse/ClickHouse/pull/33695) ([Amos Bird](https://github.com/amosbird)).

<div id="bug-fix-user-visible-misbehaviour-in-official-stable-or-prestable-release">
  #### Corrección de errores (comportamiento incorrecto perceptible para el usuario en una versión oficial estable o preestable)
</div>

* Se corrigió la aserción al usar `allow_experimental_parallel_reading_from_replicas` con `max_parallel_replicas` igual a 1. Esto corrige [#34525](https://github.com/ClickHouse/ClickHouse/issues/34525). [#34613](https://github.com/ClickHouse/ClickHouse/pull/34613) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se corrigió un error poco frecuente al leer arrays vacíos, que podía provocar el error `Data compressed with different methods`. Puede reproducirse si hay mayormente arrays vacíos, aunque no siempre. Además, la lectura debe realizarse en dirección inversa con ORDER BY ... DESC. Es extremadamente improbable que este error llegue a producirse. [#34327](https://github.com/ClickHouse/ClickHouse/pull/34327) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige el resultado erróneo de `round`/`roundBankers` al redondear valores enteros de tipos pequeños. Cierra [#33267](https://github.com/ClickHouse/ClickHouse/issues/33267). [#34562](https://github.com/ClickHouse/ClickHouse/pull/34562) ([李扬](https://github.com/taiyang-li)).
* A veces, la cancelación de consultas no surtía efecto de inmediato al leer varios archivos de S3 o HDFS. Corrige [#34301](https://github.com/ClickHouse/ClickHouse/issues/34301). Relacionado con [#34397](https://github.com/ClickHouse/ClickHouse/issues/34397). [#34539](https://github.com/ClickHouse/ClickHouse/pull/34539) ([Dmitry Novik](https://github.com/novikd)).
* Soluciona la excepción `Chunk should have AggregatedChunkInfo in MergingAggregatedTransform` (en caso de `optimize_aggregation_in_order = 1` y `distributed_aggregation_memory_efficient = 0`). Soluciona [#34526](https://github.com/ClickHouse/ClickHouse/issues/34526). [#34532](https://github.com/ClickHouse/ClickHouse/pull/34532) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la comparación entre enteros y números de coma flotante en el análisis de índices. Anteriormente, esto podía provocar que se omitieran por error algunos gránulos durante la lectura. Corrige [#34493](https://github.com/ClickHouse/ClickHouse/issues/34493). [#34528](https://github.com/ClickHouse/ClickHouse/pull/34528) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la compatibilidad con la compresión en el motor URL. [#34524](https://github.com/ClickHouse/ClickHouse/pull/34524) ([Frank Chen](https://github.com/FrankChen021)).
* Corrige el posible error 'file\_size: Operation not supported' en la detección automática del esquema de los archivos. [#34479](https://github.com/ClickHouse/ClickHouse/pull/34479) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige una posible condición de carrera al eliminar tablas. [#34416](https://github.com/ClickHouse/ClickHouse/pull/34416) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige un posible error `Cannot convert column Function to mask` en la evaluación de funciones con cortocircuito. Cierra [#34171](https://github.com/ClickHouse/ClickHouse/issues/34171). [#34415](https://github.com/ClickHouse/ClickHouse/pull/34415) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige un posible cierre inesperado al realizar la inferencia de esquema a partir de una URL. Cierra [#34147](https://github.com/ClickHouse/ClickHouse/issues/34147). [#34405](https://github.com/ClickHouse/ClickHouse/pull/34405) ([Kruglov Pavel](https://github.com/Avogar)).
* En los UDFs, los permisos de acceso se comprobaron a nivel de base de datos en lugar de a nivel global, como debería haber sido. Cierra [#34281](https://github.com/ClickHouse/ClickHouse/issues/34281). [#34404](https://github.com/ClickHouse/ClickHouse/pull/34404) ([Maksim Kita](https://github.com/kitaisreal)).
* Corrige la sintaxis incorrecta del motor en el resultado de la consulta `SHOW CREATE DATABASE` para las bases de datos con el motor `Memory`. Esto cierra [#34335](https://github.com/ClickHouse/ClickHouse/issues/34335). [#34345](https://github.com/ClickHouse/ClickHouse/pull/34345) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se corrigieron un par de condiciones de carrera extremadamente raras que podrían provocar un estado inconsistente de la cola de replicación y el error de "partes superpuestas". [#34297](https://github.com/ClickHouse/ClickHouse/pull/34297) ([tavplubix](https://github.com/tavplubix)).
* Se corrigió el ancho de la barra de progreso. Se redondeaba incorrectamente a un número entero de caracteres. [#34275](https://github.com/ClickHouse/ClickHouse/pull/34275) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se corrigieron los campos de información del cliente current\_user/current\_address para la comunicación entre servidores (antes de este parche, current\_user/current\_address se conservaban de la consulta anterior). [#34263](https://github.com/ClickHouse/ClickHouse/pull/34263) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió una fuga de memoria en caso de alguna excepción durante el procesamiento de consultas con `optimize_aggregation_in_order=1`. [#34234](https://github.com/ClickHouse/ClickHouse/pull/34234) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige la métrica `Query`, que muestra el número de consultas en ejecución. En las últimas versiones, siempre era 0. [#34224](https://github.com/ClickHouse/ClickHouse/pull/34224) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió la inferencia de esquemas para la función de tabla `s3`. [#34186](https://github.com/ClickHouse/ClickHouse/pull/34186) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige una condición de carrera poco frecuente e inocua en los motores de almacenamiento `HDFS`, `S3` y `URL`, que puede provocar conexiones adicionales. [#34172](https://github.com/ClickHouse/ClickHouse/pull/34172) ([alesapin](https://github.com/alesapin)).
* Corrige un error que, en raras ocasiones, puede provocar el error "Cannot read all data" al leer columnas LowCardinality de la familia de motores de tabla MergeTree que almacenan datos en un sistema de archivos remoto como S3 (el sistema de archivos virtual sobre S3 es una funcionalidad experimental que no está lista para producción). [#34139](https://github.com/ClickHouse/ClickHouse/pull/34139) ([alesapin](https://github.com/alesapin)).
* Se corrigen las inserciones en tablas distribuidas en caso de que cambie el protocolo nativo. El último cambio se produjo en la versión 22.1, por lo que puede haber fallos en las inserciones en tablas distribuidas después de actualizar a esa versión. [#34132](https://github.com/ClickHouse/ClickHouse/pull/34132) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige una posible condición de carrera en el motor de tabla `File` que se introdujo en [#33960](https://github.com/ClickHouse/ClickHouse/pull/33960). Cierra [#34111](https://github.com/ClickHouse/ClickHouse/issues/34111). [#34113](https://github.com/ClickHouse/ClickHouse/pull/34113) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió una condición de carrera menor que, en casos extremadamente raros, podía provocar el error de "partes superpuestas" tras perderse la conexión con ZooKeeper. [#34096](https://github.com/ClickHouse/ClickHouse/pull/34096) ([tavplubix](https://github.com/tavplubix)).
* Se corrigieron las inserciones asíncronas con el formato `Native`. [#34068](https://github.com/ClickHouse/ClickHouse/pull/34068) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un error que impedía que el servidor se iniciara cuando se usaban tanto el almacenamiento de accesos replicados como Keeper (integrado en clickhouse-server). Se introducen dos ajustes para el tiempo de espera del socket de Keeper, en lugar de usar los ajustes del usuario predeterminado: `keeper_server.socket_receive_timeout_sec` y `keeper_server.socket_send_timeout_sec`. Corrige [#33973](https://github.com/ClickHouse/ClickHouse/issues/33973). [#33988](https://github.com/ClickHouse/ClickHouse/pull/33988) ([alesapin](https://github.com/alesapin)).
* Corrige un fallo de segmentación al analizar un archivo ORC con el footer dañado. Cierra [#33797](https://github.com/ClickHouse/ClickHouse/issues/33797). [#33984](https://github.com/ClickHouse/ClickHouse/pull/33984) ([Kruglov Pavel](https://github.com/Avogar)).
* Corrige el análisis de IPv6 en un parámetro de consulta (sentencias preparadas) y la conversión de IPv6 a cadena. Cierra [#33928](https://github.com/ClickHouse/ClickHouse/issues/33928). [#33971](https://github.com/ClickHouse/ClickHouse/pull/33971) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un bloqueo al leer tuplas anidadas. Corrige [#33838](https://github.com/ClickHouse/ClickHouse/issues/33838). [#33956](https://github.com/ClickHouse/ClickHouse/pull/33956) ([Anton Popov](https://github.com/CurtizJ)).
* Corrige el uso de las funciones `array` y `tuple` con argumentos literales en consultas distribuidas. Anteriormente, esto podía provocar la excepción `Not found columns`. [#33938](https://github.com/ClickHouse/ClickHouse/pull/33938) ([Anton Popov](https://github.com/CurtizJ)).
* El combinador de funciones de agregado `-If` no procesaba correctamente el argumento de filtro `Nullable`. Esto cierra [#27073](https://github.com/ClickHouse/ClickHouse/issues/27073). [#33920](https://github.com/ClickHouse/ClickHouse/pull/33920) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Corrige una posible condición de carrera durante la lectura desde un disco remoto (el sistema de archivos virtual sobre S3 es una funcionalidad experimental que no está lista para producción). [#33912](https://github.com/ClickHouse/ClickHouse/pull/33912) ([Amos Bird](https://github.com/amosbird)).
* Se corrige un fallo al crear una UDF SQL con una lambda cuyos argumentos no son identificadores. Cierra [#33866](https://github.com/ClickHouse/ClickHouse/issues/33866). [#33868](https://github.com/ClickHouse/ClickHouse/pull/33868) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrigió el uso de columnas dispersas (que pueden habilitarse con la configuración experimental `ratio_of_defaults_for_sparse_serialization`). [#33849](https://github.com/ClickHouse/ClickHouse/pull/33849) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrigió el error lógico `replica is not readonly` en la consulta `SYSTEM RESTORE REPLICA` cuando la réplica estaba realmente en modo readonly. Corrige [#33806](https://github.com/ClickHouse/ClickHouse/issues/33806). [#33847](https://github.com/ClickHouse/ClickHouse/pull/33847) ([tavplubix](https://github.com/tavplubix)).
* Se corrige una fuga de memoria en `clickhouse-keeper` cuando se usa compresión (por defecto). [#33840](https://github.com/ClickHouse/ClickHouse/pull/33840) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigió el análisis de índices cuando no había tipos comunes disponibles. [#33833](https://github.com/ClickHouse/ClickHouse/pull/33833) ([Amos Bird](https://github.com/amosbird)).
* Se corrigió la inferencia de esquema para `JSONEachRow` y `JSONCompactEachRow`. [#33830](https://github.com/ClickHouse/ClickHouse/pull/33830) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió el uso de diccionarios externos con la fuente `redis` y una gran cantidad de claves. [#33804](https://github.com/ClickHouse/ClickHouse/pull/33804) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige un error en el cliente que provocaba 'Connection reset by peer' en el servidor. Cierra [#33309](https://github.com/ClickHouse/ClickHouse/issues/33309). [#33790](https://github.com/ClickHouse/ClickHouse/pull/33790) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige el análisis sintáctico de la consulta INSERT INTO ... VALUES SETTINGS ... (...), ... [#33776](https://github.com/ClickHouse/ClickHouse/pull/33776) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un error en la comprobación de la tabla al crear una parte de datos con formato ancho y proyección. [#33774](https://github.com/ClickHouse/ClickHouse/pull/33774) ([李扬](https://github.com/taiyang-li)).
* Se corrige una pequeña condición de carrera entre count() e INSERT/merges/... en MergeTree (es posible que se devuelva un número incorrecto de filas para SELECT con optimize\_trivial\_count\_query). [#33753](https://github.com/ClickHouse/ClickHouse/pull/33753) ([Azat Khuzhin](https://github.com/azat)).
* Generar una excepción cuando falle la solicitud de listado de directorio en el almacenamiento HDFS. [#33724](https://github.com/ClickHouse/ClickHouse/pull/33724) ([LiuNeng](https://github.com/liuneng1994)).
* Se corrige la mutación cuando la tabla contiene proyecciones. Esto corrige [#33010](https://github.com/ClickHouse/ClickHouse/issues/33010). Esto corrige [#33275](https://github.com/ClickHouse/ClickHouse/issues/33275). [#33679](https://github.com/ClickHouse/ClickHouse/pull/33679) ([Amos Bird](https://github.com/amosbird)).
* Determina correctamente la base de datos actual si `CREATE TEMPORARY TABLE AS SELECT` se ejecuta dentro de una sesión HTTP con nombre. Este es un caso de uso muy poco frecuente. Esto cierra [#8340](https://github.com/ClickHouse/ClickHouse/issues/8340). [#33676](https://github.com/ClickHouse/ClickHouse/pull/33676) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Permite ciertas consultas con ordenación, LIMIT BY, ARRAY JOIN y funciones lambda. Esto cierra [#7462](https://github.com/ClickHouse/ClickHouse/issues/7462). [#33675](https://github.com/ClickHouse/ClickHouse/pull/33675) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Corrige un error en "zero copy replication" (una funcionalidad que está en desarrollo y no debe usarse en producción) que provocaba la duplicación de datos en casos de TTL move. Corrige [#33643](https://github.com/ClickHouse/ClickHouse/issues/33643). [#33642](https://github.com/ClickHouse/ClickHouse/pull/33642) ([alesapin](https://github.com/alesapin)).
* Se corrigió `Chunk should have AggregatedChunkInfo in GroupingAggregatedTransform` (en caso de `optimize_aggregation_in_order = 1`). [#33637](https://github.com/ClickHouse/ClickHouse/pull/33637) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige el error `Bad cast from type ... to DB::DataTypeArray`, que puede producirse cuando una tabla tiene una columna `Nested` con puntos en el nombre y se le genera un valor predeterminado (por ejemplo, durante `insert`, cuando la columna no se incluye en la lista). Continuación de [#28762](https://github.com/ClickHouse/ClickHouse/issues/28762). [#33588](https://github.com/ClickHouse/ClickHouse/pull/33588) ([Alexey Pavlenko](https://github.com/alexeypavlenko)).
* Se ha corregido la exportación a archivos `lz4`. Cierra [#31421](https://github.com/ClickHouse/ClickHouse/issues/31421). [#31862](https://github.com/ClickHouse/ClickHouse/pull/31862) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un posible fallo si `group_by_overflow_mode` estaba configurado como `any` (GROUP BY aproximado) y la agregación se realizaba sobre una única columna de tipo `LowCardinality`. [#34506](https://github.com/ClickHouse/ClickHouse/pull/34506) ([DR](https://github.com/freedomDR)).
* Se corrige la inserción en tablas temporales a través del protocolo cliente-servidor gRPC. Corrige [#34347](https://github.com/ClickHouse/ClickHouse/issues/34347), problema `#2`. [#34364](https://github.com/ClickHouse/ClickHouse/pull/34364) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrige el problema [#19429](https://github.com/ClickHouse/ClickHouse/issues/19429). [#34225](https://github.com/ClickHouse/ClickHouse/pull/34225) ([Vitaly Baranov](https://github.com/vitlibar)).
* Se corrigió el problema [#18206](https://github.com/ClickHouse/ClickHouse/issues/18206). [#33977](https://github.com/ClickHouse/ClickHouse/pull/33977) ([Vitaly Baranov](https://github.com/vitlibar)).
* Este PR permite usar varios almacenamientos LDAP en la misma lista de directorios de usuarios. Antes funcionaba, pero se rompió porque las pruebas de LDAP están deshabilitadas (forman parte de las pruebas de testflows). [#33574](https://github.com/ClickHouse/ClickHouse/pull/33574) ([Vitaly Baranov](https://github.com/vitlibar)).

### <a id="221" /> Lanzamiento de ClickHouse v22.1, 2022-01-18. [Presentación](https://presentations.clickhouse.com/2022-release-22.1/), [Video](https://www.youtube.com/watch?v=gP7I2SUBXig)

<Frame>
  <iframe src="https://www.youtube.com/embed/gP7I2SUBXig" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>

<div id="upgrade-notes">
  #### Notas de actualización
</div>

* Las funciones `left` y `right` antes estaban implementadas en el analizador y ahora tienen funcionalidad completa. Las consultas distribuidas con funciones `left` o `right` sin alias pueden lanzar una excepción si el clúster contiene distintas versiones de clickhouse-server. Si está actualizando su clúster y encuentra este error, debe completar la actualización del clúster para asegurarse de que todos los nodos tengan la misma versión. También puede añadir alias (`AS something`) a las columnas de sus consultas para evitar este problema. [#33407](https://github.com/ClickHouse/ClickHouse/pull/33407) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* El uso de recursos de las subconsultas escalares se contabiliza por completo a partir de esta versión. Con este cambio, las filas leídas en las subconsultas escalares ahora se registran en el `query_log`. Si la subconsulta escalar está almacenada en caché (se repite o se llama para varias filas), las filas leídas solo se cuentan una vez. Este cambio permite finalizar consultas con KILL e informar del progreso mientras ejecutan subconsultas escalares. [#32271](https://github.com/ClickHouse/ClickHouse/pull/32271) ([Raúl Marín](https://github.com/Algunenano)).

<div id="new-feature">
  #### Nueva funcionalidad
</div>

* Implementar la inferencia de esquemas de datos para los formatos de entrada. Permitir omitir la estructura (o escribir solo `auto`) en las funciones de tabla `file`, `url`, `s3`, `hdfs` y en los parámetros de `clickhouse-local` . Permitir omitir la estructura en la consulta CREATE para los motores de tabla `File`, `HDFS`, `S3`, `URL`, `Merge`, `Buffer`, `Distributed` y `ReplicatedMergeTree` (si añadimos nuevas réplicas). [#32455](https://github.com/ClickHouse/ClickHouse/pull/32455) ([Kruglov Pavel](https://github.com/Avogar)).
* Detectar el formato a partir de la extensión del archivo en las funciones de tabla `file`/`hdfs`/`s3`/`url` y en los motores de tabla `HDFS`/`S3`/`URL`, así como en `SELECT INTO OUTFILE` e `INSERT FROM INFILE` [#33565](https://github.com/ClickHouse/ClickHouse/pull/33565) ([Kruglov Pavel](https://github.com/Avogar)). Cierra [#30918](https://github.com/ClickHouse/ClickHouse/issues/30918). [#33443](https://github.com/ClickHouse/ClickHouse/pull/33443) ([OnePiece](https://github.com/zhongyuankai)).
* Una herramienta para recopilar datos de diagnóstico si necesita asistencia técnica. [#33175](https://github.com/ClickHouse/ClickHouse/pull/33175) ([Alexander Burmak](https://github.com/Alex-Burmak)).
* Descubrimiento automático del clúster mediante Zoo/Keeper. Permite añadir réplicas al clúster sin cambiar la configuración en cada servidor. [#31442](https://github.com/ClickHouse/ClickHouse/pull/31442) ([vdimir](https://github.com/vdimir)).
* Implementa el motor de tabla Hive para acceder a Apache Hive desde ClickHouse. Esto implementa: [#29245](https://github.com/ClickHouse/ClickHouse/issues/29245). [#31104](https://github.com/ClickHouse/ClickHouse/pull/31104) ([taiyang-li](https://github.com/taiyang-li)).
* Se añaden las funciones de agregación `cramersV`, `cramersVBiasCorrected`, `theilsU` y `contingency`. Estas funciones calculan la dependencia (una medida de asociación) entre valores categóricos. Todas ellas usan una tabla cruzada (un histograma de pares) para su implementación. Puede entenderse como un coeficiente de correlación, pero para cualquier valor discreto (no necesariamente numérico). [#33366](https://github.com/ClickHouse/ClickHouse/pull/33366) ([alexey-milovidov](https://github.com/alexey-milovidov)). Implementación inicial de [Vanyok-All-is-OK](https://github.com/Vanyok-All-is-OK) y [antikvist](https://github.com/antikvist).
* Se añadió la función de tabla `hdfsCluster`, que permite procesar en paralelo archivos de HDFS desde varios nodos de un clúster especificado, de forma similar a `s3Cluster`. [#32400](https://github.com/ClickHouse/ClickHouse/pull/32400) ([Zhichang Yu](https://github.com/yuzhichang)).
* Se añade compatibilidad con discos basados en Azure Blob Storage, de forma similar a como se ha hecho con los discos basados en S3 de AWS. [#31505](https://github.com/ClickHouse/ClickHouse/pull/31505) ([Jakub Kuklis](https://github.com/jkuklis)).
* Se permite `COMMENT` en `CREATE VIEW` (para todos los tipos de VIEW). [#31062](https://github.com/ClickHouse/ClickHouse/pull/31062) ([Vasily Nemkov](https://github.com/Enmk)).
* Reinicializa dinámicamente los puertos y protocolos de escucha cuando cambia la configuración. [#30549](https://github.com/ClickHouse/ClickHouse/pull/30549) ([Kevin Michel](https://github.com/kmichel-aiven)).
* Se añadieron las funciones `left`, `right`, `leftUTF8`, `rightUTF8`. Se corrigió un error en la implementación de la función `substringUTF8` con un offset negativo (desplazamiento desde el final de la cadena). [#33407](https://github.com/ClickHouse/ClickHouse/pull/33407) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se añaden nuevas funciones para el sistema de coordenadas `H3`: `h3HexAreaKm2`, `h3CellAreaM2`, `h3CellAreaRads2`. [#33479](https://github.com/ClickHouse/ClickHouse/pull/33479) ([Bharat Nallan](https://github.com/bharatnc)).
* Se añade la función `MONTHNAME`. [#33436](https://github.com/ClickHouse/ClickHouse/pull/33436) ([usurai](https://github.com/usurai)).
* Se añadió la función `arrayLast`. Cierra [#33390](https://github.com/ClickHouse/ClickHouse/issues/33390). [#33415](https://github.com/ClickHouse/ClickHouse/pull/33415) Se añadió la función `arrayLastIndex`. [#33465](https://github.com/ClickHouse/ClickHouse/pull/33465) ([Maksim Kita](https://github.com/kitaisreal)).
* Se añade la función `decodeURLFormComponent`, ligeramente distinta de `decodeURLComponent`. Cierra [#10298](https://github.com/ClickHouse/ClickHouse/issues/10298). [#33451](https://github.com/ClickHouse/ClickHouse/pull/33451) ([SuperDJY](https://github.com/cmsxbc)).
* Permite separar las reglas de rollup de `GraphiteMergeTree` para métricas simples y etiquetadas (campo rule\_type opcional). [#33494](https://github.com/ClickHouse/ClickHouse/pull/33494) ([Michail Safronov](https://github.com/msaf1980)).

<div id="performance-improvement-3">
  #### Mejora del rendimiento
</div>

* Se admite mover condiciones a `PREWHERE` (configuración `optimize_move_to_prewhere`) para tablas con motor `Merge` si todas sus tablas subyacentes admiten `PREWHERE`. [#33300](https://github.com/ClickHouse/ClickHouse/pull/33300) ([Anton Popov](https://github.com/CurtizJ)).
* Manejo más eficiente de globs para el almacenamiento URL. Ahora puede consultar fácilmente un millón de URL en paralelo con reintentos. Cierra [#32866](https://github.com/ClickHouse/ClickHouse/issues/32866). [#32907](https://github.com/ClickHouse/ClickHouse/pull/32907) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Evita el backtracking exponencial en el parser. Esto cierra [#20158](https://github.com/ClickHouse/ClickHouse/issues/20158). [#33481](https://github.com/ClickHouse/ClickHouse/pull/33481) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* El uso indebido de la función `untuple` provocaba una complejidad exponencial en el análisis de consultas (detectado por un fuzzer). Esto cierra [#33297](https://github.com/ClickHouse/ClickHouse/issues/33297). [#33445](https://github.com/ClickHouse/ClickHouse/pull/33445) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Reduce la memoria asignada a diccionarios con atributos de tipo cadena. [#33466](https://github.com/ClickHouse/ClickHouse/pull/33466) ([Maksim Kita](https://github.com/kitaisreal)).
* Ligera mejora del rendimiento de la función `reinterpret`. [#32587](https://github.com/ClickHouse/ClickHouse/pull/32587) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Cambio poco significativo. En casos extremadamente raros en los que se pierde una parte de datos en cada réplica, después de fusionar algunas partes de datos, las consultas posteriores pueden omitir menos particiones durante la poda de particiones. Esto prácticamente no afecta a nada. [#32220](https://github.com/ClickHouse/ClickHouse/pull/32220) ([Azat Khuzhin](https://github.com/azat)).
* Mejora el rendimiento de escritura de `clickhouse-keeper` al optimizar la lógica de cálculo del tamaño. [#32366](https://github.com/ClickHouse/ClickHouse/pull/32366) ([zhanglistar](https://github.com/zhanglistar)).
* Optimiza la materialización de proyecciones de una sola parte. Esto cierra [#31669](https://github.com/ClickHouse/ClickHouse/issues/31669). [#31885](https://github.com/ClickHouse/ClickHouse/pull/31885) ([Amos Bird](https://github.com/amosbird)).
* Mejora el rendimiento de las consultas en las tablas del sistema. [#33312](https://github.com/ClickHouse/ClickHouse/pull/33312) ([OnePiece](https://github.com/zhongyuankai)).
* Optimiza la selección de partes de MergeTree que pueden moverse entre volúmenes. [#33225](https://github.com/ClickHouse/ClickHouse/pull/33225) ([OnePiece](https://github.com/zhongyuankai)).
* Corrige el rendimiento del diccionario `sparse_hashed` con claves secuenciales (función hash incorrecta). [#32536](https://github.com/ClickHouse/ClickHouse/pull/32536) ([Azat Khuzhin](https://github.com/azat)).

<div id="experimental-feature">
  #### Funcionalidad experimental
</div>

* Lectura paralela desde múltiples réplicas dentro de un segmento durante una consulta distribuida sin usar una clave de muestreo. Para habilitar esto, establezca `allow_experimental_parallel_reading_from_replicas = 1` y `max_parallel_replicas` en cualquier valor numérico. Esto cierra [#26748](https://github.com/ClickHouse/ClickHouse/issues/26748). [#29279](https://github.com/ClickHouse/ClickHouse/pull/29279) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Se implementó la serialización dispersa. Puede reducir el uso de espacio en disco y mejorar el rendimiento de algunas consultas en columnas que contienen muchos valores predeterminados (cero). Puede habilitarse configurando `ratio_for_sparse_serialization`. La serialización dispersa se elegirá dinámicamente para una columna si la proporción entre la cantidad de valores predeterminados y la cantidad total de valores supera ese umbral. La serialización (predeterminada o dispersa) será fija para cada columna en una parte, pero puede variar entre partes. [#22535](https://github.com/ClickHouse/ClickHouse/pull/22535) ([Anton Popov](https://github.com/CurtizJ)).
* Se añadió la funcionalidad "TABLE OVERRIDE" para personalizar los esquemas de tabla de MaterializedMySQL. [#32325](https://github.com/ClickHouse/ClickHouse/pull/32325) ([Stig Bakken](https://github.com/stigsb)).
* Se añadió la consulta `EXPLAIN TABLE OVERRIDE`. [#32836](https://github.com/ClickHouse/ClickHouse/pull/32836) ([Stig Bakken](https://github.com/stigsb)).
* Se añadió compatibilidad con la cláusula TABLE OVERRIDE para MaterializedPostgreSQL. RFC: [#31480](https://github.com/ClickHouse/ClickHouse/issues/31480). [#32749](https://github.com/ClickHouse/ClickHouse/pull/32749) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se cambió la ruta de ZooKeeper para las marks de zero-copy de shared data. Tenga en cuenta que "zero-copy replication" es una funcionalidad no apta para producción (en una fase temprana de desarrollo) que, en cualquier caso, no debería usar. Pero, si la ha usado, tenga presente este cambio. [#32061](https://github.com/ClickHouse/ClickHouse/pull/32061) ([ianton-ru](https://github.com/ianton-ru)).
* Se añadió compatibilidad con la cláusula Events para la consulta watch de WINDOW VIEW. [#32607](https://github.com/ClickHouse/ClickHouse/pull/32607) ([vxider](https://github.com/Vxider)).
* Se corrigió la ACL con hash numérico explícito en `clickhouse-keeper`: ahora el comportamiento es consistente con ZooKeeper y el digest generado siempre se acepta. [#33249](https://github.com/ClickHouse/ClickHouse/pull/33249) ([小路](https://github.com/nicelulu)). [#33246](https://github.com/ClickHouse/ClickHouse/pull/33246).
* Se corrigió la eliminación inesperada de una proyección al desacoplar partes. [#32067](https://github.com/ClickHouse/ClickHouse/pull/32067) ([Amos Bird](https://github.com/amosbird)).

<div id="improvement">
  #### Mejora
</div>

* Ahora, las funciones de conversión de fecha y hora que generen una fecha anterior a `1970-01-01 00:00:00` se saturarán a cero en lugar de provocar un desbordamiento. [#29953](https://github.com/ClickHouse/ClickHouse/pull/29953) ([Amos Bird](https://github.com/amosbird)). También corrige un error en el análisis de índices cuando la función de truncado de fecha producía un resultado anterior a la época Unix.
* Mostrar siempre en el cliente el uso de recursos (uso total de CPU, uso total de RAM y uso máximo de RAM por host). [#33271](https://github.com/ClickHouse/ClickHouse/pull/33271) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se mejora la serialización y deserialización del tipo `Bool` y se comprueba el rango de valores. [#32984](https://github.com/ClickHouse/ClickHouse/pull/32984) ([Kruglov Pavel](https://github.com/Avogar)).
* Si se define una configuración no válida mediante la consulta `SET` o mediante los parámetros de consulta de la solicitud HTTP, el mensaje de error incluirá sugerencias similares a la cadena de configuración no válida (si existe alguna). [#32946](https://github.com/ClickHouse/ClickHouse/pull/32946) ([Antonio Andelic](https://github.com/antonio2368)).
* Compatibilidad con sugerencias para nombres de configuración mal escritos en clickhouse-client y clickhouse-local. Cierra [#32237](https://github.com/ClickHouse/ClickHouse/issues/32237). [#32841](https://github.com/ClickHouse/ClickHouse/pull/32841) ([凌涛](https://github.com/lingtaolf)).
* Se permite usar columnas virtuales en las vistas materializadas. Cierra [#11210](https://github.com/ClickHouse/ClickHouse/issues/11210). [#33482](https://github.com/ClickHouse/ClickHouse/pull/33482) ([OnePiece](https://github.com/zhongyuankai)).
* Se añade una configuración para deshabilitar IPv6 en clickhouse-keeper si es necesario. Esto cierra [#33381](https://github.com/ClickHouse/ClickHouse/issues/33381). [#33450](https://github.com/ClickHouse/ClickHouse/pull/33450) ([Wu Xueyang](https://github.com/wuxueyang96)).
* Se añadió más información a `system.build_options` sobre la revisión actual de git. [#33431](https://github.com/ClickHouse/ClickHouse/pull/33431) ([taiyang-li](https://github.com/taiyang-li)).
* `clickhouse-local`: seguimiento de la memoria con la opción `--max_memory_usage_in_client`. [#33341](https://github.com/ClickHouse/ClickHouse/pull/33341) ([Azat Khuzhin](https://github.com/azat)).
* Permitir intervalos negativos en la función `intervalLengthSum`. Su duración también se sumará. Esto cierra [#33323](https://github.com/ClickHouse/ClickHouse/issues/33323). [#33335](https://github.com/ClickHouse/ClickHouse/pull/33335) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* `LineAsString` se puede usar como formato de salida. Esto cierra [#30919](https://github.com/ClickHouse/ClickHouse/issues/30919). [#33331](https://github.com/ClickHouse/ClickHouse/pull/33331) ([Sergei Trifonov](https://github.com/serxa)).
* Se admite `<secure/>` en la configuración del clúster, como forma alternativa de `<secure>1</secure>`. Cierra [#33270](https://github.com/ClickHouse/ClickHouse/issues/33270). [#33330](https://github.com/ClickHouse/ClickHouse/pull/33330) ([SuperDJY](https://github.com/cmsxbc)).
* Al pulsar Ctrl+C dos veces, `clickhouse-benchmark` se terminará de inmediato sin esperar a las consultas en curso. Esto cierra [#32586](https://github.com/ClickHouse/ClickHouse/issues/32586). [#33303](https://github.com/ClickHouse/ClickHouse/pull/33303) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se admite timestamp de Unix con milisegundos en la función `parseDateTimeBestEffort`. [#33276](https://github.com/ClickHouse/ClickHouse/pull/33276) ([Ben](https://github.com/benbiti)).
* Permite cancelar la consulta mientras se leen datos de una tabla externa en los formatos `Arrow` / `Parquet` / `ORC`; antes no se podía cancelar en el caso de archivos grandes cuando input\_format\_allow\_seeks estaba establecido en false. Cierra [#29678](https://github.com/ClickHouse/ClickHouse/issues/29678). [#33238](https://github.com/ClickHouse/ClickHouse/pull/33238) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Si el motor de la tabla admite la cláusula `SETTINGS`, se permite pasar la configuración como pares clave-valor o mediante la configuración. Se añade esta compatibilidad para MySQL. [#33231](https://github.com/ClickHouse/ClickHouse/pull/33231) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Impedir correctamente las claves primarias Nullable cuando sea necesario. Esto es para [#32780](https://github.com/ClickHouse/ClickHouse/issues/32780). [#33218](https://github.com/ClickHouse/ClickHouse/pull/33218) ([Amos Bird](https://github.com/amosbird)).
* Añadir reintentos para las conexiones de `PostgreSQL` en caso de que aún no se haya obtenido nada. Cierra [#33199](https://github.com/ClickHouse/ClickHouse/issues/33199). [#33209](https://github.com/ClickHouse/ClickHouse/pull/33209) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Validar las claves de configuración de los diccionarios externos. [#33095](https://github.com/ClickHouse/ClickHouse/issues/33095#issuecomment-1000577517). [#33130](https://github.com/ClickHouse/ClickHouse/pull/33130) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Enviar información de perfil desde `clickhouse-local`. Cierra [#33093](https://github.com/ClickHouse/ClickHouse/issues/33093). [#33097](https://github.com/ClickHouse/ClickHouse/pull/33097) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Evaluación de cortocircuito: compatibilidad con la función `throwIf`. Cierra [#32969](https://github.com/ClickHouse/ClickHouse/issues/32969). [#32973](https://github.com/ClickHouse/ClickHouse/pull/32973) ([Maksim Kita](https://github.com/kitaisreal)).
* (Esto solo ocurre en compilaciones no oficiales). Se corrigió un segfault al insertar datos en columnas comprimidas de tipo Decimal, String, FixedString y Array. Esto resuelve [#32939](https://github.com/ClickHouse/ClickHouse/issues/32939). [#32940](https://github.com/ClickHouse/ClickHouse/pull/32940) ([N. Kolotov](https://github.com/nkolotov)).
* Se añadió compatibilidad para especificar una subconsulta como una función definida por el usuario en SQL. Ejemplo: `CREATE FUNCTION test AS () -> (SELECT 1)`. Cierra [#30755](https://github.com/ClickHouse/ClickHouse/issues/30755). [#32758](https://github.com/ClickHouse/ClickHouse/pull/32758) ([Maksim Kita](https://github.com/kitaisreal)).
* Mejora la compatibilidad con la compresión de gRPC para [#28671](https://github.com/ClickHouse/ClickHouse/issues/28671). [#32747](https://github.com/ClickHouse/ClickHouse/pull/32747) ([Vitaly Baranov](https://github.com/vitlibar)).
* Volcar todas las partes de datos en memoria cuando WAL no está habilitado al apagar el servidor o desacoplar la tabla. [#32742](https://github.com/ClickHouse/ClickHouse/pull/32742) ([nauta](https://github.com/nautaa)).
* Permite controlar los tiempos de espera de conexión para MySQL (anteriormente, esto solo era compatible con el origen del Diccionario). Cierra [#16669](https://github.com/ClickHouse/ClickHouse/issues/16669). Antes, el valor predeterminado de connect\_timeout era bastante bajo; ahora es configurable. [#32734](https://github.com/ClickHouse/ClickHouse/pull/32734) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite la opción `authSource` para el almacenamiento `MongoDB`. Cierra [#32594](https://github.com/ClickHouse/ClickHouse/issues/32594). [#32702](https://github.com/ClickHouse/ClickHouse/pull/32702) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se admite el tipo `Date32` en la función de tabla `genarateRandom`. [#32643](https://github.com/ClickHouse/ClickHouse/pull/32643) ([nauta](https://github.com/nautaa)).
* Se añaden las configuraciones `max_concurrent_select_queries` y `max_concurrent_insert_queries` para controlar las consultas concurrentes según el tipo de consulta. Cierra [#3575](https://github.com/ClickHouse/ClickHouse/issues/3575). [#32609](https://github.com/ClickHouse/ClickHouse/pull/32609) ([SuperDJY](https://github.com/cmsxbc)).
* Mejora en el manejo de estructuras anidadas con columnas faltantes al leer datos en formato `Protobuf`. Como continuación de [https://github.com/ClickHouse/ClickHouse/pull/31988](https://github.com/ClickHouse/ClickHouse/pull/31988). [#32531](https://github.com/ClickHouse/ClickHouse/pull/32531) ([Vitaly Baranov](https://github.com/vitlibar)).
* Permitir credenciales vacías para el motor `MongoDB`. Cierra [#26267](https://github.com/ClickHouse/ClickHouse/issues/26267). [#32460](https://github.com/ClickHouse/ClickHouse/pull/32460) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Deshabilita algunas optimizaciones de las funciones de ventana que pueden provocar excepciones. Cierra [#31535](https://github.com/ClickHouse/ClickHouse/issues/31535). Cierra [#31620](https://github.com/ClickHouse/ClickHouse/issues/31620). [#32453](https://github.com/ClickHouse/ClickHouse/pull/32453) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Permite la conexión a MongoDB 5.0. Cierra [#31483](https://github.com/ClickHouse/ClickHouse/issues/31483). [#32416](https://github.com/ClickHouse/ClickHouse/pull/32416) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se habilita la comparación entre `Decimal` y `Float`. Cierra [#22626](https://github.com/ClickHouse/ClickHouse/issues/22626). [#31966](https://github.com/ClickHouse/ClickHouse/pull/31966) ([flynn](https://github.com/ucasFL)).
* Se agregaron las configuraciones `command_read_timeout` y `command_write_timeout` para `StorageExecutable`, `StorageExecutablePool`, `ExecutableDictionary`, `ExecutablePoolDictionary` y `ExecutableUserDefinedFunctions`. La configuración `command_read_timeout` controla el tiempo de espera para leer datos desde la salida estándar (stdout) del comando, en milisegundos. La configuración `command_write_timeout` controla el tiempo de espera para escribir datos en la entrada estándar (stdin) del comando, en milisegundos. Se agregó la configuración `command_termination_timeout` para `ExecutableUserDefinedFunction`, `ExecutableDictionary` y `StorageExecutable`. Se agregó la configuración `execute_direct` para `ExecutableUserDefinedFunction`; su valor predeterminado es true. Se agregó la configuración `execute_direct` para `ExecutableDictionary` y `ExecutablePoolDictionary`; su valor predeterminado es false. [#30957](https://github.com/ClickHouse/ClickHouse/pull/30957) ([Maksim Kita](https://github.com/kitaisreal)).
* Las funciones de agregación de bitmap devolverán el resultado correcto para argumentos fuera de rango, en lugar de hacer wraparound. [#33127](https://github.com/ClickHouse/ClickHouse/pull/33127) ([DR](https://github.com/freedomDR)).
* Se corrige el análisis sintáctico de consultas incorrectas con la sentencia `FROM INFILE`. [#33521](https://github.com/ClickHouse/ClickHouse/pull/33521) ([Kruglov Pavel](https://github.com/Avogar)).
* No se permite escribir en `S3` si la ruta contiene globs. [#33142](https://github.com/ClickHouse/ClickHouse/pull/33142) ([Kruglov Pavel](https://github.com/Avogar)).
* La opción `--echo` no se usaba en `clickhouse-client` en modo por lotes con una sola consulta. [#32843](https://github.com/ClickHouse/ClickHouse/pull/32843) ([N. Kolotov](https://github.com/nkolotov)).
* Usa la opción `--database` con clickhouse-local. [#32797](https://github.com/ClickHouse/ClickHouse/pull/32797) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrigió un código sorprendentemente deficiente en la función SQL ordinaria `file`. Ahora admite enlaces simbólicos. [#32640](https://github.com/ClickHouse/ClickHouse/pull/32640) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Actualización de `modification_time` de la parte de datos en `system.parts` tras mover la parte [#32964](https://github.com/ClickHouse/ClickHouse/issues/32964). [#32965](https://github.com/ClickHouse/ClickHouse/pull/32965) ([save-my-heart](https://github.com/save-my-heart)).
* Posible problema, no es explotable: puede producirse un desbordamiento de enteros al redimensionar un array. [#33024](https://github.com/ClickHouse/ClickHouse/pull/33024) ([varadarajkumar](https://github.com/varadarajkumar)).

<div id="buildtestingpackaging-improvement-1">
  #### Mejoras de compilación/pruebas/empaquetado
</div>

* Se añadieron paquetes, pruebas funcionales y compilaciones de Docker para la versión AArch64 (ARM) de ClickHouse. [#32911](https://github.com/ClickHouse/ClickHouse/pull/32911) ([Mikhail f. Shiryaev](https://github.com/Felixoid)). [#32415](https://github.com/ClickHouse/ClickHouse/pull/32415)
* Se preparó ClickHouse para compilarse con musl-libc. No está habilitado de forma predeterminada. [#33134](https://github.com/ClickHouse/ClickHouse/pull/33134) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se hizo que el script de instalación funcionara en FreeBSD. Esto cierra [#33384](https://github.com/ClickHouse/ClickHouse/issues/33384). [#33418](https://github.com/ClickHouse/ClickHouse/pull/33418) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se añadió `actionlint` para los flujos de trabajo de GitHub Actions y se verificaron los archivos del flujo de trabajo con `act --list` para comprobar que la sintaxis fuera correcta. [#33612](https://github.com/ClickHouse/ClickHouse/pull/33612) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Se añadieron más pruebas para la funcionalidad de clave primaria Nullable. También se añadieron más pruebas con distintos types y tipos de MergeTree, además de datos generados aleatoriamente. [#33228](https://github.com/ClickHouse/ClickHouse/pull/33228) ([Amos Bird](https://github.com/amosbird)).
* Se añadió una herramienta sencilla para visualizar pruebas inestables en el navegador web. [#33185](https://github.com/ClickHouse/ClickHouse/pull/33185) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se habilitó la compilación hermética para las builds compartidas. Esto es principalmente para desarrolladores. [#32968](https://github.com/ClickHouse/ClickHouse/pull/32968) ([Amos Bird](https://github.com/amosbird)).
* Se actualizaron `libc++` y `libc++abi` a la versión más reciente. [#32484](https://github.com/ClickHouse/ClickHouse/pull/32484) ([Raúl Marín](https://github.com/Algunenano)).
* Se añadió una prueba de integración para el cliente externo de .NET ([ClickHouse.Client](https://github.com/DarkWanderer/ClickHouse.Client)). [#23230](https://github.com/ClickHouse/ClickHouse/pull/23230) ([Oleg V. Kozlyuk](https://github.com/DarkWanderer)).
* Se inyectó información de git en el archivo binary de clickhouse. Así, podemos obtener fácilmente la revisión del código fuente a partir del archivo binary de clickhouse. [#33124](https://github.com/ClickHouse/ClickHouse/pull/33124) ([taiyang-li](https://github.com/taiyang-li)).
* Se eliminó código obsoleto de ConfigProcessor. El código específico de Yandex ya no se usa. Contenía un defecto menor. Este defecto fue reportado por [Mallik Hassan](https://github.com/SadiHassan) en [#33032](https://github.com/ClickHouse/ClickHouse/issues/33032). Esto cierra [#33032](https://github.com/ClickHouse/ClickHouse/issues/33032). [#33026](https://github.com/ClickHouse/ClickHouse/pull/33026) ([alexey-milovidov](https://github.com/alexey-milovidov)).

<div id="bug-fix-user-visible-misbehavior-in-official-stable-or-prestable-release-3">
  #### Corrección de errores (fallo visible para el usuario en una versión oficial estable o preestable)
</div>

* Varias correcciones en el análisis de formatos. Esto es relevante si un adversario tiene acceso de escritura a `clickhouse-server`. Los datos de entrada específicamente diseñados para el formato `Native` pueden provocar la lectura de memoria no inicializada o un fallo. Esto es relevante si un adversario tiene acceso de escritura a `clickhouse-server`. [#33050](https://github.com/ClickHouse/ClickHouse/pull/33050) ([Heena Bansal](https://github.com/HeenaBansal2009)). Se corrigió un problema de índice fuera de rango en el tipo Union de Apache Avro en el formato binario de Apache Avro. [#33022](https://github.com/ClickHouse/ClickHouse/pull/33022) ([Harry Lee](https://github.com/HarryLeeIBM)). Se corrigió una desreferenciación de puntero nulo en datos `LowCardinality` al deserializar datos `LowCardinality` en el formato Native. [#33021](https://github.com/ClickHouse/ClickHouse/pull/33021) ([Harry Lee](https://github.com/HarryLeeIBM)).
* El manejador de ClickHouse Keeper eliminará correctamente la operación una vez enviada la respuesta. [#32988](https://github.com/ClickHouse/ClickHouse/pull/32988) ([JackyWoo](https://github.com/JackyWoo)).
* Posible error de cálculo por desfase de una unidad en las cuotas: no se alcanzó el límite de la cuota, pero aun así se excedió. Esto corrige [#31174](https://github.com/ClickHouse/ClickHouse/issues/31174). [#31656](https://github.com/ClickHouse/ClickHouse/pull/31656) ([sunny](https://github.com/sunny19930321)).
* Se corrigió la conversión mediante CAST de String a IPv4 o IPv6, y viceversa. Se corrigió el mensaje de error en caso de que la conversión fallara. [#29224](https://github.com/ClickHouse/ClickHouse/pull/29224) ([Dmitry Novik](https://github.com/novikd)) [#27914](https://github.com/ClickHouse/ClickHouse/pull/27914) ([Vasily Nemkov](https://github.com/Enmk)).
* Se corrigió una excepción del tipo `Unknown aggregate function nothing` durante la ejecución en un servidor remoto. Esto corrige [#16689](https://github.com/ClickHouse/ClickHouse/issues/16689). [#26074](https://github.com/ClickHouse/ClickHouse/pull/26074) ([hexiaoting](https://github.com/hexiaoting)).
* Se corrigió la base de datos incorrecta para JOIN sin una base de datos explícita en consultas distribuidas (Corrige: [#10471](https://github.com/ClickHouse/ClickHouse/issues/10471)). [#33611](https://github.com/ClickHouse/ClickHouse/pull/33611) ([Azat Khuzhin](https://github.com/azat)).
* Se corrige un segfault en el formato Apache `Avro` que aparece después de la segunda inserción en un archivo. [#33566](https://github.com/ClickHouse/ClickHouse/pull/33566) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrigió un segfault en el formato Apache `Arrow` si el esquema contiene el tipo `Dictionary`. Cierra [#33507](https://github.com/ClickHouse/ClickHouse/issues/33507). [#33529](https://github.com/ClickHouse/ClickHouse/pull/33529) ([Kruglov Pavel](https://github.com/Avogar)).
* La configuración de `offset` y `limit` fuera de banda puede aplicarse de forma incorrecta a las vistas. Cierra [#33289](https://github.com/ClickHouse/ClickHouse/issues/33289) [#33518](https://github.com/ClickHouse/ClickHouse/pull/33518) ([hexiaoting](https://github.com/hexiaoting)).
* Se corrige una excepción, `Block structure mismatch`, que puede producirse durante la inserción en una tabla con una columna anidada `LowCardinality` predeterminada. Corrige [#33028](https://github.com/ClickHouse/ClickHouse/issues/33028). [#33504](https://github.com/ClickHouse/ClickHouse/pull/33504) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrigen las expresiones del Diccionario para los atributos de rango mínimo y máximo de `range_hashed` cuando se crean mediante DDL. Cierra [#30809](https://github.com/ClickHouse/ClickHouse/issues/30809). [#33478](https://github.com/ClickHouse/ClickHouse/pull/33478) ([Maksim Kita](https://github.com/kitaisreal)).
* Se corrige un posible uso de memoria después de liberarla en `INSERT` sobre una vista materializada con `DROP` concurrente ([Azat Khuzhin](https://github.com/azat)).
* No intente leer más allá de EOF (como solución temporal para un error del kernel de Linux); este error puede reproducirse en kernels (3.14..5.9) y requiere `index_granularity_bytes=0` (es decir, desactivar la granularidad adaptativa del índice). [#33372](https://github.com/ClickHouse/ClickHouse/pull/33372) ([Azat Khuzhin](https://github.com/azat)).
* Los comandos `SYSTEM SUSPEND` y `SYSTEM ... THREAD FUZZER` no tenían control de acceso. Se ha corregido. Autor: Kevin Michel. [#33333](https://github.com/ClickHouse/ClickHouse/pull/33333) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se corrige un problema por el que `COMMENT` de los diccionarios no aparece en `system.tables` ni en `system.dictionaries`. Se permite modificar el comentario del motor `Dictionary`. Cierra [#33251](https://github.com/ClickHouse/ClickHouse/issues/33251). [#33261](https://github.com/ClickHouse/ClickHouse/pull/33261) ([Maksim Kita](https://github.com/kitaisreal)).
* Se agregan las inserciones asíncronas (con la opción `async_insert` habilitada) al registro de consultas. Antes, estas consultas no aparecían en el registro de consultas. [#33239](https://github.com/ClickHouse/ClickHouse/pull/33239) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige el envío de expresiones `WHERE 1 = 0` en consultas a bases de datos externas. Cierra [#33152](https://github.com/ClickHouse/ClickHouse/issues/33152). [#33214](https://github.com/ClickHouse/ClickHouse/pull/33214) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corrige la validación de DDL para MaterializedPostgreSQL. Corrige el ajuste `materialized_postgresql_allow_automatic_update`. Cierra [#29535](https://github.com/ClickHouse/ClickHouse/issues/29535). [#33200](https://github.com/ClickHouse/ClickHouse/pull/33200) ([Kseniia Sumarokova](https://github.com/kssenii)). Garantiza que los slots de replicación no utilizados se eliminen siempre. Detectado en [#26952](https://github.com/ClickHouse/ClickHouse/issues/26952). [#33187](https://github.com/ClickHouse/ClickHouse/pull/33187) ([Kseniia Sumarokova](https://github.com/kssenii)). Corrige detach/attach de MaterializedPostreSQL (eliminación/adición a la replicación) para tablas con un esquema distinto del predeterminado. Detectado en [#29535](https://github.com/ClickHouse/ClickHouse/issues/29535). [#33179](https://github.com/ClickHouse/ClickHouse/pull/33179) ([Kseniia Sumarokova](https://github.com/kssenii)). Corrige DROP de la base de datos MaterializedPostgreSQL. [#33468](https://github.com/ClickHouse/ClickHouse/pull/33468) ([Kseniia Sumarokova](https://github.com/kssenii)).
* La métrica `StorageBufferBytes` a veces se calculó incorrectamente. [#33159](https://github.com/ClickHouse/ClickHouse/pull/33159) ([xuyatian](https://github.com/xuyatian)).
* Corregido el error `Invalid version for SerializationLowCardinality key column` al leer una columna `LowCardinality` con `local_filesystem_read_prefetch` o `remote_filesystem_read_prefetch` habilitado. [#33046](https://github.com/ClickHouse/ClickHouse/pull/33046) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige la `table function` `s3` al leer archivos vacíos. Cierra [#33008](https://github.com/ClickHouse/ClickHouse/issues/33008). [#33037](https://github.com/ClickHouse/ClickHouse/pull/33037) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Se corrige una fuga de Context en el caso de cancel\_http\_readonly\_queries\_on\_client\_close (es decir, la fuga de tablas externas que se habían subido al servidor y de otros recursos). [#32982](https://github.com/ClickHouse/ClickHouse/pull/32982) ([Azat Khuzhin](https://github.com/azat)).
* Corrige la salida incorrecta de tuplas en formato `CSV` cuando se usa un delimitador CSV personalizado. [#32981](https://github.com/ClickHouse/ClickHouse/pull/32981) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la comprobación de la URL de HDFS, que no permitía usar la dirección del namenode de alta disponibilidad. El error se introdujo en [https://github.com/ClickHouse/ClickHouse/pull/31042](https://github.com/ClickHouse/ClickHouse/pull/31042). [#32976](https://github.com/ClickHouse/ClickHouse/pull/32976) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige una excepción del tipo `positional argument out of bounds` que se producía con argumentos no posicionales. Cierra [#31173](https://github.com/ClickHouse/ClickHouse/issues/31173)#event-5789668239. [#32961](https://github.com/ClickHouse/ClickHouse/pull/32961) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregir UB en caso de EOF inesperado durante el llenado de un Set desde una consulta por HTTP (es decir, si el cliente interrumpe a mitad del proceso; por ejemplo, `timeout 0.15s curl -Ss -F 's=@t.csv;' 'http://127.0.0.1:8123/?s_structure=key+Int&query=SELECT+dummy+IN+s'` y con un `t.csv` lo bastante grande). [#32955](https://github.com/ClickHouse/ClickHouse/pull/32955) ([Azat Khuzhin](https://github.com/azat)).
* Corrige una regresión en la función `replaceRegexpAll`. La función se comportaba incorrectamente cuando la subcadena coincidente estaba vacía. Esto cierra [#32777](https://github.com/ClickHouse/ClickHouse/issues/32777). Esto cierra [#30245](https://github.com/ClickHouse/ClickHouse/issues/30245). [#32945](https://github.com/ClickHouse/ClickHouse/pull/32945) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Se corrige la lectura de `stripe` en el formato `ORC`. [#32929](https://github.com/ClickHouse/ClickHouse/pull/32929) ([kreuzerkrieg](https://github.com/kreuzerkrieg)).
* `topKWeightedState` falló con algunos tipos de entrada. [#32487](https://github.com/ClickHouse/ClickHouse/issues/32487). [#32914](https://github.com/ClickHouse/ClickHouse/pull/32914) ([vdimir](https://github.com/vdimir)).
* Se corrige la excepción `Single chunk is expected from view inner query (LOGICAL_ERROR)` en una vista materializada. Corrige [#31419](https://github.com/ClickHouse/ClickHouse/issues/31419). [#32862](https://github.com/ClickHouse/ClickHouse/pull/32862) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Corrige la optimización con seek diferido para lecturas asíncronas desde sistemas de archivos remotos. Cierra [#32803](https://github.com/ClickHouse/ClickHouse/issues/32803). [#32835](https://github.com/ClickHouse/ClickHouse/pull/32835) ([Kseniia Sumarokova](https://github.com/kssenii)).
* El motor de tabla `MergeTree` podría omitir silenciosamente algunas mutaciones si hay demasiadas mutaciones en ejecución o en caso de alto consumo de memoria; ya se ha corregido. Corrige [#17882](https://github.com/ClickHouse/ClickHouse/issues/17882). [#32814](https://github.com/ClickHouse/ClickHouse/pull/32814) ([tavplubix](https://github.com/tavplubix)).
* Se evita reutilizar la caché de subconsultas escalares al procesar bloques de MV. Esto corrige un error que se producía cuando la consulta escalar hacía referencia a la tabla de origen, pero implica que todas las subconsultas escalares de la definición de la MV se calcularán para cada bloque. [#32811](https://github.com/ClickHouse/ClickHouse/pull/32811) ([Raúl Marín](https://github.com/Algunenano)).
* Es posible que el servidor no pudiera iniciarse si una base de datos con motor `MySQL` no podía conectarse al servidor MySQL; esto ya se ha corregido. Corrige [#14441](https://github.com/ClickHouse/ClickHouse/issues/14441). [#32802](https://github.com/ClickHouse/ClickHouse/pull/32802) ([tavplubix](https://github.com/tavplubix)).
* Se corrige el bloqueo al usar la función `fuzzBits`; se cierra [#32737](https://github.com/ClickHouse/ClickHouse/issues/32737). [#32755](https://github.com/ClickHouse/ClickHouse/pull/32755) ([SuperDJY](https://github.com/cmsxbc)).
* Se corrige el error `Column is not under aggregate function` en el caso de una MV con `GROUP BY (list of columns)` (que se interpreta como `GROUP BY tuple(...)`) sobre `Kafka`/`RabbitMQ`. Corrige [#32668](https://github.com/ClickHouse/ClickHouse/issues/32668) y [#32744](https://github.com/ClickHouse/ClickHouse/issues/32744). [#32751](https://github.com/ClickHouse/ClickHouse/pull/32751) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige la consulta `ALTER TABLE ... MATERIALIZE TTL` en los modos `TTL ... DELETE WHERE ...` y `TTL ... GROUP BY ...`. [#32695](https://github.com/ClickHouse/ClickHouse/pull/32695) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la optimización `optimize_read_in_order` en los casos en que el motor de tabla sea `Distributed` o `Merge` y las tablas `MergeTree` subyacentes tengan una función monótona en el prefijo de la clave de ordenación. [#32670](https://github.com/ClickHouse/ClickHouse/pull/32670) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige la excepción LOGICAL\_ERROR cuando el destino de una vista materializada es una tabla JOIN o SET. [#32669](https://github.com/ClickHouse/ClickHouse/pull/32669) ([Raúl Marín](https://github.com/Algunenano)).
* La inserción en S3 con carga multiparte en Google Cloud Storage puede desencadenar una cancelación. [#32504](https://github.com/ClickHouse/ClickHouse/issues/32504). [#32649](https://github.com/ClickHouse/ClickHouse/pull/32649) ([vdimir](https://github.com/vdimir)).
* Se corrige una posible excepción al iniciar el almacenamiento `RabbitMQ` retrasando la creación del canal. [#32584](https://github.com/ClickHouse/ClickHouse/pull/32584) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Corregido el ciclo de vida de la tabla (es decir, un posible uso de memoria ya liberada) en caso de DROP TABLE e INSERT en paralelo. [#32572](https://github.com/ClickHouse/ClickHouse/pull/32572) ([Azat Khuzhin](https://github.com/azat)).
* Se corrigen las inserciones asíncronas con los formatos `CustomSeparated`, `Template`, `Regexp`, `MsgPack` y `JSONAsString`. Anteriormente, las inserciones asíncronas con estos formatos no leían datos. [#32530](https://github.com/ClickHouse/ClickHouse/pull/32530) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige la función `groupBitmapAnd` en tabla distribuida. [#32529](https://github.com/ClickHouse/ClickHouse/pull/32529) ([minhthucdao](https://github.com/dmthuc)).
* Se corrige un fallo en JOIN detectado por el fuzzer; cierra [#32458](https://github.com/ClickHouse/ClickHouse/issues/32458). [#32508](https://github.com/ClickHouse/ClickHouse/pull/32508) ([vdimir](https://github.com/vdimir)).
* Corrección del manejo de casos con duplicación de columnas en Apache Arrow. [#32507](https://github.com/ClickHouse/ClickHouse/pull/32507) ([Dmitriy Mokhnatkin](https://github.com/DMokhnatkin)).
* Se corrigió un problema de formato ambiguo en consultas distribuidas que provocaba errores cuando algunas columnas de la tabla se llamaban `ALL` o `DISTINCT`. Esto cierra [#32391](https://github.com/ClickHouse/ClickHouse/issues/32391). [#32490](https://github.com/ClickHouse/ClickHouse/pull/32490) ([alexey-milovidov](https://github.com/alexey-milovidov)).
* Corrige fallos en las consultas que intentan usar índices de omisión que aún no se han materializado. Corrige [#32292](https://github.com/ClickHouse/ClickHouse/issues/32292) y [#30343](https://github.com/ClickHouse/ClickHouse/issues/30343). [#32359](https://github.com/ClickHouse/ClickHouse/pull/32359) ([Anton Popov](https://github.com/CurtizJ)).
* Se corrige una consulta `select` que fallaba cuando hay más de 2 políticas de fila en la misma columna, a partir de la segunda consulta de la misma sesión. [#31606](https://github.com/ClickHouse/ClickHouse/issues/31606). [#32291](https://github.com/ClickHouse/ClickHouse/pull/32291) ([SuperDJY](https://github.com/cmsxbc)).
* Se corrige la conversión de marcas de tiempo Unix fraccionarias a `DateTime64`; la parte fraccionaria estaba invertida para las marcas de tiempo Unix negativas (anteriores a 1970-01-01). [#32240](https://github.com/ClickHouse/ClickHouse/pull/32240) ([Ben](https://github.com/benbiti)).
* Algunas entradas de la cola de replicación podrían quedarse bloqueadas durante `temporary_directories_lifetime` (1 día de forma predeterminada) con `Directory tmp_merge_<part_name>` o `Part ... (state Deleting) already exists, but it will be deleted soon` u otro error similar. Se ha corregido. Soluciona [#29616](https://github.com/ClickHouse/ClickHouse/issues/29616). [#32201](https://github.com/ClickHouse/ClickHouse/pull/32201) ([tavplubix](https://github.com/tavplubix)).
* Se corrige el análisis del transformador de columnas `APPLY lambda`, que podía provocar un bloqueo del cliente o del servidor. [#32138](https://github.com/ClickHouse/ClickHouse/pull/32138) ([Kruglov Pavel](https://github.com/Avogar)).
* Se corrige un problema por el que `base64Encode` agregaba bytes finales en cadenas pequeñas. [#31797](https://github.com/ClickHouse/ClickHouse/pull/31797) ([Kevin Michel](https://github.com/kmichel-aiven)).
* Se corrige un posible fallo (o un resultado incorrecto) en el caso de argumentos `LowCardinality` en una función de ventana. Corrige [#31114](https://github.com/ClickHouse/ClickHouse/issues/31114). [#31888](https://github.com/ClickHouse/ClickHouse/pull/31888) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Se corrige el cuelgue con el comando `DROP TABLE system.query_log sync`. [#33293](https://github.com/ClickHouse/ClickHouse/pull/33293) ([zhanghuajie](https://github.com/zhanghuajieHIT)).

<div id="changelog-for-2021">
  ## [Registro de cambios de 2021](/es/resources/changelogs/oss/2021)
</div>
