Merge branch 'master' into multi_auth_methods

This commit is contained in:
Arthur Passos 2024-06-26 09:03:58 -03:00
commit c2dd3bb5d2
300 changed files with 3865 additions and 1604 deletions

View File

@ -6,6 +6,7 @@ tests/ci/cancel_and_rerun_workflow_lambda/app.py
--> -->
### Changelog category (leave one): ### Changelog category (leave one):
- New Feature - New Feature
- Experimental Feature
- Improvement - Improvement
- Performance Improvement - Performance Improvement
- Backward Incompatible Change - Backward Incompatible Change

View File

@ -1,4 +1,5 @@
### Table of Contents ### Table of Contents
**[ClickHouse release v24.6, 2024-06-27](#246)**<br/>
**[ClickHouse release v24.5, 2024-05-30](#245)**<br/> **[ClickHouse release v24.5, 2024-05-30](#245)**<br/>
**[ClickHouse release v24.4, 2024-04-30](#244)**<br/> **[ClickHouse release v24.4, 2024-04-30](#244)**<br/>
**[ClickHouse release v24.3 LTS, 2024-03-26](#243)**<br/> **[ClickHouse release v24.3 LTS, 2024-03-26](#243)**<br/>
@ -8,6 +9,179 @@
# 2024 Changelog # 2024 Changelog
### <a id="246"></a> ClickHouse release 24.6, 2024-06-27
#### Backward Incompatible Change
* Enable asynchronous load of databases and tables by default. See the `async_load_databases` in config.xml. While this change is fully compatible, it can introduce a difference in behavior. When `async_load_databases` is false, as in the previous versions, the server will not accept connections until all tables are loaded. When `async_load_databases` is true, as in the new version, the server can accept connections before all the tables are loaded. If a query is made to a table that is not yet loaded, it will wait for the table's loading, which can take considerable time. It can change the behavior of the server if it is part of a large distributed system under a load balancer. In the first case, the load balancer can get a connection refusal and quickly failover to another server. In the second case, the load balancer can connect to a server that is still loading the tables, and the query will have a higher latency. Moreover, if many queries accumulate in the waiting state, it can lead to a "thundering herd" problem when they start processing simultaneously. This can make a difference only for highly loaded distributed backends. You can set the value of `async_load_databases` to false to avoid this problem. [#57695](https://github.com/ClickHouse/ClickHouse/pull/57695) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Some invalid queries will fail earlier during parsing. Note: disabled the support for inline KQL expressions (the experimental Kusto language) when they are put into a `kql` table function without a string literal, e.g. `kql(garbage | trash)` instead of `kql('garbage | trash')` or `kql($$garbage | trash$$)`. This feature was introduced unintentionally and should not exist. [#61500](https://github.com/ClickHouse/ClickHouse/pull/61500) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
* Rework parallel processing in `Ordered` mode of storage `S3Queue`. This PR is backward incompatible for Ordered mode if you used settings `s3queue_processing_threads_num` or `s3queue_total_shards_num`. Setting `s3queue_total_shards_num` is deleted, previously it was allowed to use only under `s3queue_allow_experimental_sharded_mode`, which is now deprecated. A new setting is added - `s3queue_buckets`. [#64349](https://github.com/ClickHouse/ClickHouse/pull/64349) ([Kseniia Sumarokova](https://github.com/kssenii)).
* New functions `snowflakeIDToDateTime`, `snowflakeIDToDateTime64`, `dateTimeToSnowflakeID`, and `dateTime64ToSnowflakeID` were added. Unlike the existing functions `snowflakeToDateTime`, `snowflakeToDateTime64`, `dateTimeToSnowflake`, and `dateTime64ToSnowflake`, the new functions are compatible with function `generateSnowflakeID`, i.e. they accept the snowflake IDs generated by `generateSnowflakeID` and produce snowflake IDs of the same type as `generateSnowflakeID` (i.e. `UInt64`). Furthermore, the new functions default to the UNIX epoch (aka. 1970-01-01), just like `generateSnowflakeID`. If necessary, a different epoch, e.g. Twitter's/X's epoch 2010-11-04 aka. 1288834974657 msec since UNIX epoch, can be passed. The old conversion functions are deprecated and will be removed after a transition period: to use them regardless, enable setting `allow_deprecated_snowflake_conversion_functions`. [#64948](https://github.com/ClickHouse/ClickHouse/pull/64948) ([Robert Schulze](https://github.com/rschu1ze)).
#### New Feature
* Introduce statistics of type "number of distinct values". [#59357](https://github.com/ClickHouse/ClickHouse/pull/59357) ([Han Fei](https://github.com/hanfei1991)).
* Add Hilbert Curve encode and decode functions. [#60156](https://github.com/ClickHouse/ClickHouse/pull/60156) ([Artem Mustafin](https://github.com/Artemmm91)).
* Added support for reading LINESTRING geometry in WKT format using function `readWKTLineString`. [#62519](https://github.com/ClickHouse/ClickHouse/pull/62519) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Allow to attach parts from a different disk. [#63087](https://github.com/ClickHouse/ClickHouse/pull/63087) ([Unalian](https://github.com/Unalian)).
* Allow proxy to be bypassed for hosts specified in `no_proxy` env variable and ClickHouse proxy configuration. [#63314](https://github.com/ClickHouse/ClickHouse/pull/63314) ([Arthur Passos](https://github.com/arthurpassos)).
* Added a new table function `loop` to support returning query results in an infinite loop. [#63452](https://github.com/ClickHouse/ClickHouse/pull/63452) ([Sariel](https://github.com/sarielwxm)).
* Added new SQL functions `generateSnowflakeID` for generating Twitter-style Snowflake IDs. [#63577](https://github.com/ClickHouse/ClickHouse/pull/63577) ([Danila Puzov](https://github.com/kazalika)).
* Add the ability to reshuffle rows during insert to optimize for size without violating the order set by `PRIMARY KEY`. It's controlled by the setting `optimize_row_order` (off by default). [#63578](https://github.com/ClickHouse/ClickHouse/pull/63578) ([Igor Markelov](https://github.com/ElderlyPassionFruit)).
* Added `merge_workload` and `mutation_workload` settings to regulate how resources are utilized and shared between merges, mutations and other workloads. [#64061](https://github.com/ClickHouse/ClickHouse/pull/64061) ([Sergei Trifonov](https://github.com/serxa)).
* Add support for comparing IPv4 and IPv6 types using the `=` operator. [#64292](https://github.com/ClickHouse/ClickHouse/pull/64292) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* Allow to store named collections in zookeeper. [#64574](https://github.com/ClickHouse/ClickHouse/pull/64574) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Support decimal arguments in binary math functions (pow(), atan2(), max2, min2(), hypot(). [#64582](https://github.com/ClickHouse/ClickHouse/pull/64582) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Add support for index analysis over `hilbertEncode`. [#64662](https://github.com/ClickHouse/ClickHouse/pull/64662) ([Artem Mustafin](https://github.com/Artemmm91)).
* Added SQL functions `parseReadableSize` (along with `OrNull` and `OrZero` variants). [#64742](https://github.com/ClickHouse/ClickHouse/pull/64742) ([Francisco J. Jurado Moreno](https://github.com/Beetelbrox)).
* Add server settings `max_table_num_to_throw` and `max_database_num_to_throw` to limit the number of databases or tables on `CREATE` queries. [#64781](https://github.com/ClickHouse/ClickHouse/pull/64781) ([Xu Jia](https://github.com/XuJia0210)).
* Add _time virtual column to file alike storages (s3/file/hdfs/url/azureBlobStorage). [#64947](https://github.com/ClickHouse/ClickHouse/pull/64947) ([Ilya Golshtein](https://github.com/ilejn)).
* Introduced new functions `base64UrlEncode`, `base64UrlDecode` and `tryBase64UrlDecode`. [#64991](https://github.com/ClickHouse/ClickHouse/pull/64991) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Add new function `editDistanceUTF8`, which calculates the [edit distance](https://en.wikipedia.org/wiki/Edit_distance) between two UTF8 strings. [#65269](https://github.com/ClickHouse/ClickHouse/pull/65269) ([LiuNeng](https://github.com/liuneng1994)).
#### Performance Improvement
* Add a native parquet reader, which can read parquet binary to ClickHouse Columns directly. It's controlled by the setting `input_format_parquet_use_native_reader` (disabled by default). [#60361](https://github.com/ClickHouse/ClickHouse/pull/60361) ([ZhiHong Zhang](https://github.com/copperybean)).
* Reduce the number of virtual function calls in ColumnNullable::size(). [#60556](https://github.com/ClickHouse/ClickHouse/pull/60556) ([HappenLee](https://github.com/HappenLee)).
* Speedup `splitByRegexp` when the regular expression argument is a single-character. [#62696](https://github.com/ClickHouse/ClickHouse/pull/62696) ([Robert Schulze](https://github.com/rschu1ze)).
* Speed up FixedHashTable by keeping track of the min and max keys used. This allows to reduce the number of cells that need to be verified. [#62746](https://github.com/ClickHouse/ClickHouse/pull/62746) ([Jiebin Sun](https://github.com/jiebinn)).
* Optimize the resolution of in(LowCardinality, ConstantSet). [#64060](https://github.com/ClickHouse/ClickHouse/pull/64060) ([Zhiguo Zhou](https://github.com/ZhiguoZh)).
* Use a thread pool to initialize and destroy hash tables inside `ConcurrentHashJoin`. [#64241](https://github.com/ClickHouse/ClickHouse/pull/64241) ([Nikita Taranov](https://github.com/nickitat)).
* Optimized vertical merges in tables with sparse columns. [#64311](https://github.com/ClickHouse/ClickHouse/pull/64311) ([Anton Popov](https://github.com/CurtizJ)).
* Enabled prefetches of data from remote filesystem during vertical merges. It improves latency of vertical merges in tables with data stored on remote filesystem. [#64314](https://github.com/ClickHouse/ClickHouse/pull/64314) ([Anton Popov](https://github.com/CurtizJ)).
* Reduce redundant calls to `isDefault()` of `ColumnSparse::filter` to improve performance. [#64426](https://github.com/ClickHouse/ClickHouse/pull/64426) ([Jiebin Sun](https://github.com/jiebinn)).
* Speedup `find_super_nodes` and `find_big_family` keeper-client commands by making multiple asynchronous getChildren requests. [#64628](https://github.com/ClickHouse/ClickHouse/pull/64628) ([Alexander Gololobov](https://github.com/davenger)).
* Improve function least/greatest for nullable numberic type arguments. [#64668](https://github.com/ClickHouse/ClickHouse/pull/64668) ([KevinyhZou](https://github.com/KevinyhZou)).
* Allow merging two consequent `FilterSteps` of a query plan. This improves filter-push-down optimization if the filter condition can be pushed down from the parent step. [#64760](https://github.com/ClickHouse/ClickHouse/pull/64760) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Remove bad optimization in vertical final implementation and re-enable vertical final algorithm by default. [#64783](https://github.com/ClickHouse/ClickHouse/pull/64783) ([Duc Canh Le](https://github.com/canhld94)).
* Remove ALIAS nodes from the filter expression. This slightly improves performance for queries with `PREWHERE` (with new analyzer). [#64793](https://github.com/ClickHouse/ClickHouse/pull/64793) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix performance regression in cross join introduced in [#60459](https://github.com/ClickHouse/ClickHouse/issues/60459) (24.5). [#65243](https://github.com/ClickHouse/ClickHouse/pull/65243) ([Nikita Taranov](https://github.com/nickitat)).
#### Improvement
* Support empty tuples. [#55061](https://github.com/ClickHouse/ClickHouse/pull/55061) ([Amos Bird](https://github.com/amosbird)).
* Hot reload storage policy for distributed tables when adding a new disk. [#58285](https://github.com/ClickHouse/ClickHouse/pull/58285) ([Duc Canh Le](https://github.com/canhld94)).
* Avoid possible deadlock during MergeTree index analysis when scheduling threads in a saturated service. [#59427](https://github.com/ClickHouse/ClickHouse/pull/59427) ([Sean Haynes](https://github.com/seandhaynes)).
* Support partial trivial count optimization when the query filter is able to select exact ranges from merge tree tables. [#60463](https://github.com/ClickHouse/ClickHouse/pull/60463) ([Amos Bird](https://github.com/amosbird)).
* Reduce max memory usage of multithreaded `INSERT`s by collecting chunks of multiple threads in a single transform. [#61047](https://github.com/ClickHouse/ClickHouse/pull/61047) ([Yarik Briukhovetskyi](https://github.com/yariks5s)).
* Reduce the memory usage when using Azure object storage by using fixed memory allocation, avoiding the allocation of an extra buffer. [#63160](https://github.com/ClickHouse/ClickHouse/pull/63160) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Several minor corner case fixes to proxy support & tunneling. [#63427](https://github.com/ClickHouse/ClickHouse/pull/63427) ([Arthur Passos](https://github.com/arthurpassos)).
* Add `http_response_headers` setting to support custom response headers in custom HTTP handlers. [#63562](https://github.com/ClickHouse/ClickHouse/pull/63562) ([Grigorii](https://github.com/GSokol)).
* Improve io_uring resubmits visibility. Rename profile event `IOUringSQEsResubmits` -> `IOUringSQEsResubmitsAsync` and add a new one `IOUringSQEsResubmitsSync`. [#63699](https://github.com/ClickHouse/ClickHouse/pull/63699) ([Tomer Shafir](https://github.com/tomershafir)).
* Introduce assertions to verify all functions are called with columns of the right size. [#63723](https://github.com/ClickHouse/ClickHouse/pull/63723) ([Raúl Marín](https://github.com/Algunenano)).
* `SHOW CREATE TABLE` executed on top of system tables will now show the super handy comment unique for each table which will explain why this table is needed. [#63788](https://github.com/ClickHouse/ClickHouse/pull/63788) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Added setting `metadata_storage_type` to keep free space on metadata storage disk. [#64128](https://github.com/ClickHouse/ClickHouse/pull/64128) ([MikhailBurdukov](https://github.com/MikhailBurdukov)).
* Add metrics to track the number of directories created and removed by the plain_rewritable metadata storage, and the number of entries in the local-to-remote in-memory map. [#64175](https://github.com/ClickHouse/ClickHouse/pull/64175) ([Julia Kartseva](https://github.com/jkartseva)).
* The query cache now considers identical queries with different settings as different. This increases robustness in cases where different settings (e.g. `limit` or `additional_table_filters`) would affect the query result. [#64205](https://github.com/ClickHouse/ClickHouse/pull/64205) ([Robert Schulze](https://github.com/rschu1ze)).
* Better Exception Message in Delete Table with Projection, users can understand the error and the steps should be taken. [#64212](https://github.com/ClickHouse/ClickHouse/pull/64212) ([jsc0218](https://github.com/jsc0218)).
* Support the non standard error code `QpsLimitExceeded` in object storage as a retryable error. [#64225](https://github.com/ClickHouse/ClickHouse/pull/64225) ([Sema Checherinda](https://github.com/CheSema)).
* Forbid converting a MergeTree table to replicated if the zookeeper path for this table already exists. [#64244](https://github.com/ClickHouse/ClickHouse/pull/64244) ([Kirill](https://github.com/kirillgarbar)).
* If "replica group" is configured for a `Replicated` database, automatically create a cluster that includes replicas from all groups. [#64312](https://github.com/ClickHouse/ClickHouse/pull/64312) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Added settings to disable materialization of skip indexes and statistics on inserts (`materialize_skip_indexes_on_insert` and `materialize_statistics_on_insert`). [#64391](https://github.com/ClickHouse/ClickHouse/pull/64391) ([Anton Popov](https://github.com/CurtizJ)).
* Use the allocated memory size to calculate the row group size and reduce the peak memory of the parquet writer in single-threaded mode. [#64424](https://github.com/ClickHouse/ClickHouse/pull/64424) ([LiuNeng](https://github.com/liuneng1994)).
* Added new configuration input_format_parquet_prefer_block_bytes to control the average output block bytes, and modified the default value of input_format_parquet_max_block_size to 65409. [#64427](https://github.com/ClickHouse/ClickHouse/pull/64427) ([LiuNeng](https://github.com/liuneng1994)).
* Always start Keeper with sufficient amount of threads in global thread pool. [#64444](https://github.com/ClickHouse/ClickHouse/pull/64444) ([Duc Canh Le](https://github.com/canhld94)).
* Settings from user config doesn't affect merges and mutations for MergeTree on top of object storage. [#64456](https://github.com/ClickHouse/ClickHouse/pull/64456) ([alesapin](https://github.com/alesapin)).
* Setting `replace_long_file_name_to_hash` is enabled by default for `MergeTree` tables. [#64457](https://github.com/ClickHouse/ClickHouse/pull/64457) ([Anton Popov](https://github.com/CurtizJ)).
* Improve the iterator of sparse column to reduce call of size(). [#64497](https://github.com/ClickHouse/ClickHouse/pull/64497) ([Jiebin Sun](https://github.com/jiebinn)).
* Update condition to use copy for azure blob storage. [#64518](https://github.com/ClickHouse/ClickHouse/pull/64518) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Support the non standard error code `TotalQpsLimitExceeded` in object storage as a retryable error. [#64520](https://github.com/ClickHouse/ClickHouse/pull/64520) ([Sema Checherinda](https://github.com/CheSema)).
* Optimized memory usage of vertical merges for tables with high number of skip indexes. [#64580](https://github.com/ClickHouse/ClickHouse/pull/64580) ([Anton Popov](https://github.com/CurtizJ)).
* Introduced two additional columns in the `system.query_log`: `used_privileges` and `missing_privileges`. `used_privileges` is populated with the privileges that were checked during query execution, and `missing_privileges` contains required privileges that are missing. [#64597](https://github.com/ClickHouse/ClickHouse/pull/64597) ([Alexey Katsman](https://github.com/alexkats)).
* Add settings `parallel_replicas_custom_key_range_lower` and `parallel_replicas_custom_key_range_upper` to control how parallel replicas with dynamic shards parallelizes queries when using a range filter. [#64604](https://github.com/ClickHouse/ClickHouse/pull/64604) ([josh-hildred](https://github.com/josh-hildred)).
* Updated Advanced Dashboard for both open-source and ClickHouse Cloud versions to include a chart for 'Maximum concurrent network connections'. [#64610](https://github.com/ClickHouse/ClickHouse/pull/64610) ([Thom O'Connor](https://github.com/thomoco)).
* The second argument (scale) of functions `round()`, `roundBankers()`, `floor()`, `ceil()` and `trunc()` can now be non-const. [#64798](https://github.com/ClickHouse/ClickHouse/pull/64798) ([Mikhail Gorshkov](https://github.com/mgorshkov)).
* Improve progress report on zeros_mt and generateRandom. [#64804](https://github.com/ClickHouse/ClickHouse/pull/64804) ([Raúl Marín](https://github.com/Algunenano)).
* Add an asynchronous metric jemalloc.profile.active to show whether sampling is currently active. This is an activation mechanism in addition to prof.active; both must be active for the calling thread to sample. [#64842](https://github.com/ClickHouse/ClickHouse/pull/64842) ([Unalian](https://github.com/Unalian)).
* Support statistics with ReplicatedMergeTree. [#64934](https://github.com/ClickHouse/ClickHouse/pull/64934) ([Han Fei](https://github.com/hanfei1991)).
* Remove mark of `allow_experimental_join_condition` as important. This mark may have prevented distributed queries in a mixed versions cluster from being executed successfully. [#65008](https://github.com/ClickHouse/ClickHouse/pull/65008) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Added server Asynchronous metrics `DiskGetObjectThrottler*` and `DiskGetObjectThrottler*` reflecting request per second rate limit defined with `s3_max_get_rps` and `s3_max_put_rps` disk settings and currently available number of requests that could be sent without hitting throttling limit on the disk. Metrics are defined for every disk that has a configured limit. [#65050](https://github.com/ClickHouse/ClickHouse/pull/65050) ([Sergei Trifonov](https://github.com/serxa)).
* Added a setting `output_format_pretty_display_footer_column_names` which when enabled displays column names at the end of the table for long tables (50 rows by default), with the threshold value for minimum number of rows controlled by `output_format_pretty_display_footer_column_names_min_rows`. [#65144](https://github.com/ClickHouse/ClickHouse/pull/65144) ([Shaun Struwig](https://github.com/Blargian)).
* Returned back the behaviour of how ClickHouse works and interprets Tuples in CSV format. This change effectively reverts https://github.com/ClickHouse/ClickHouse/pull/60994 and makes it available only under a few settings: `output_format_csv_serialize_tuple_into_separate_columns`, `input_format_csv_deserialize_separate_columns_into_tuple` and `input_format_csv_try_infer_strings_from_quoted_tuples`. [#65170](https://github.com/ClickHouse/ClickHouse/pull/65170) ([Nikita Mikhaylov](https://github.com/nikitamikhaylov)).
* Initialize global trace collector for Poco::ThreadPool (needed for keeper, etc). [#65239](https://github.com/ClickHouse/ClickHouse/pull/65239) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Add validation when creating a user with bcrypt_hash. [#65242](https://github.com/ClickHouse/ClickHouse/pull/65242) ([Raúl Marín](https://github.com/Algunenano)).
* Unite s3/hdfs/azure storage implementations into a single class working with IObjectStorage. Same for *Cluster, data lakes and Queue storages. [#59767](https://github.com/ClickHouse/ClickHouse/pull/59767) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Refactor data part writer to remove dependencies on MergeTreeData and DataPart. [#63620](https://github.com/ClickHouse/ClickHouse/pull/63620) ([Alexander Gololobov](https://github.com/davenger)).
* Add profile events for number of rows read during/after prewhere. [#64198](https://github.com/ClickHouse/ClickHouse/pull/64198) ([Nikita Taranov](https://github.com/nickitat)).
* Print query in explain plan with parallel replicas. [#64298](https://github.com/ClickHouse/ClickHouse/pull/64298) ([vdimir](https://github.com/vdimir)).
* Rename `allow_deprecated_functions` to `allow_deprecated_error_prone_window_functions`. [#64358](https://github.com/ClickHouse/ClickHouse/pull/64358) ([Raúl Marín](https://github.com/Algunenano)).
* Respect `max_read_buffer_size` setting for file descriptors as well in file() table function. [#64532](https://github.com/ClickHouse/ClickHouse/pull/64532) ([Azat Khuzhin](https://github.com/azat)).
* Disable transactions for unsupported storages even for materialized views. [#64918](https://github.com/ClickHouse/ClickHouse/pull/64918) ([alesapin](https://github.com/alesapin)).
* Refactor `KeyCondition` and key analysis to improve PartitionPruner and trivial count optimization. This is separated from [#60463](https://github.com/ClickHouse/ClickHouse/issues/60463) . [#61459](https://github.com/ClickHouse/ClickHouse/pull/61459) ([Amos Bird](https://github.com/amosbird)).
#### Bug Fix (user-visible misbehavior in an official stable release)
* Fix a permission error where a user in a specific situation can escalate their privileges on the default database without necessary grants. [#64769](https://github.com/ClickHouse/ClickHouse/pull/64769) ([pufit](https://github.com/pufit)).
* Fix crash with UniqInjectiveFunctionsEliminationPass and uniqCombined. [#65188](https://github.com/ClickHouse/ClickHouse/pull/65188) ([Raúl Marín](https://github.com/Algunenano)).
* Fix a bug in ClickHouse Keeper that causes digest mismatch during closing session. [#65198](https://github.com/ClickHouse/ClickHouse/pull/65198) ([Aleksei Filatov](https://github.com/aalexfvk)).
* Forbid `QUALIFY` clause in the old analyzer. The old analyzer ignored `QUALIFY`, so it could lead to unexpected data removal in mutations. [#65356](https://github.com/ClickHouse/ClickHouse/pull/65356) ([Dmitry Novik](https://github.com/novikd)).
* Use correct memory alignment for Distinct combinator. Previously, crash could happen because of invalid memory allocation when the combinator was used. [#65379](https://github.com/ClickHouse/ClickHouse/pull/65379) ([Antonio Andelic](https://github.com/antonio2368)).
* Fix crash with `DISTINCT` and window functions. [#64767](https://github.com/ClickHouse/ClickHouse/pull/64767) ([Igor Nikonov](https://github.com/devcrafter)).
* Fixed 'set' skip index not working with IN and indexHint(). [#62083](https://github.com/ClickHouse/ClickHouse/pull/62083) ([Michael Kolupaev](https://github.com/al13n321)).
* Support executing function during assignment of parameterized view value. [#63502](https://github.com/ClickHouse/ClickHouse/pull/63502) ([SmitaRKulkarni](https://github.com/SmitaRKulkarni)).
* Fixed parquet memory tracking. [#63584](https://github.com/ClickHouse/ClickHouse/pull/63584) ([Michael Kolupaev](https://github.com/al13n321)).
* Fixed reading of columns of type `Tuple(Map(LowCardinality(String), String), ...)`. [#63956](https://github.com/ClickHouse/ClickHouse/pull/63956) ([Anton Popov](https://github.com/CurtizJ)).
* Fix an `Cyclic aliases` error for cyclic aliases of different type (expression and function). [#63993](https://github.com/ClickHouse/ClickHouse/pull/63993) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* This fix will use a proper redefined context with the correct definer for each individual view in the query pipeline. [#64079](https://github.com/ClickHouse/ClickHouse/pull/64079) ([pufit](https://github.com/pufit)).
* Fix analyzer: "Not found column" error is fixed when using INTERPOLATE. [#64096](https://github.com/ClickHouse/ClickHouse/pull/64096) ([Yakov Olkhovskiy](https://github.com/yakov-olkhovskiy)).
* Fix creating backups to S3 buckets with different credentials from the disk containing the file. [#64153](https://github.com/ClickHouse/ClickHouse/pull/64153) ([Antonio Andelic](https://github.com/antonio2368)).
* The query cache now considers two identical queries against different databases as different. The previous behavior could be used to bypass missing privileges to read from a table. [#64199](https://github.com/ClickHouse/ClickHouse/pull/64199) ([Robert Schulze](https://github.com/rschu1ze)).
* Fix possible abort on uncaught exception in ~WriteBufferFromFileDescriptor in StatusFile. [#64206](https://github.com/ClickHouse/ClickHouse/pull/64206) ([Kruglov Pavel](https://github.com/Avogar)).
* Fix `duplicate alias` error for distributed queries with `ARRAY JOIN`. [#64226](https://github.com/ClickHouse/ClickHouse/pull/64226) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix unexpected accurateCast from string to integer. [#64255](https://github.com/ClickHouse/ClickHouse/pull/64255) ([wudidapaopao](https://github.com/wudidapaopao)).
* Fixed CNF simplification, in case any OR group contains mutually exclusive atoms. [#64256](https://github.com/ClickHouse/ClickHouse/pull/64256) ([Eduard Karacharov](https://github.com/korowa)).
* Fix Query Tree size validation. [#64377](https://github.com/ClickHouse/ClickHouse/pull/64377) ([Dmitry Novik](https://github.com/novikd)).
* Fix `Logical error: Bad cast` for `Buffer` table with `PREWHERE`. [#64388](https://github.com/ClickHouse/ClickHouse/pull/64388) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Prevent recursive logging in `blob_storage_log` when it's stored on object storage. [#64393](https://github.com/ClickHouse/ClickHouse/pull/64393) ([vdimir](https://github.com/vdimir)).
* Fixed `CREATE TABLE AS` queries for tables with default expressions. [#64455](https://github.com/ClickHouse/ClickHouse/pull/64455) ([Anton Popov](https://github.com/CurtizJ)).
* Fixed `optimize_read_in_order` behaviour for ORDER BY ... NULLS FIRST / LAST on tables with nullable keys. [#64483](https://github.com/ClickHouse/ClickHouse/pull/64483) ([Eduard Karacharov](https://github.com/korowa)).
* Fix the `Expression nodes list expected 1 projection names` and `Unknown expression or identifier` errors for queries with aliases to `GLOBAL IN.`. [#64517](https://github.com/ClickHouse/ClickHouse/pull/64517) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix an error `Cannot find column` in distributed queries with constant CTE in the `GROUP BY` key. [#64519](https://github.com/ClickHouse/ClickHouse/pull/64519) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fixed ORC statistics calculation, when writing, for unsigned types on all platforms and Int8 on ARM. [#64563](https://github.com/ClickHouse/ClickHouse/pull/64563) ([Michael Kolupaev](https://github.com/al13n321)).
* Fix the crash loop when restoring from backup is blocked by creating an MV with a definer that hasn't been restored yet. [#64595](https://github.com/ClickHouse/ClickHouse/pull/64595) ([pufit](https://github.com/pufit)).
* Fix the output of function `formatDateTimeInJodaSyntax` when a formatter generates an uneven number of characters and the last character is `0`. For example, `SELECT formatDateTimeInJodaSyntax(toDate('2012-05-29'), 'D')` now correctly returns `150` instead of previously `15`. [#64614](https://github.com/ClickHouse/ClickHouse/pull/64614) ([LiuNeng](https://github.com/liuneng1994)).
* Do not rewrite aggregation if `-If` combinator is already used. [#64638](https://github.com/ClickHouse/ClickHouse/pull/64638) ([Dmitry Novik](https://github.com/novikd)).
* Fix type inference for float (in case of small buffer, i.e. `--max_read_buffer_size 1`). [#64641](https://github.com/ClickHouse/ClickHouse/pull/64641) ([Azat Khuzhin](https://github.com/azat)).
* Fix bug which could lead to non-working TTLs with expressions. [#64694](https://github.com/ClickHouse/ClickHouse/pull/64694) ([alesapin](https://github.com/alesapin)).
* Fix removing the `WHERE` and `PREWHERE` expressions, which are always true (for the new analyzer). [#64695](https://github.com/ClickHouse/ClickHouse/pull/64695) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fixed excessive part elimination by token-based text indexes (`ngrambf` , `full_text`) when filtering by result of `startsWith`, `endsWith`, `match`, `multiSearchAny`. [#64720](https://github.com/ClickHouse/ClickHouse/pull/64720) ([Eduard Karacharov](https://github.com/korowa)).
* Fixes incorrect behaviour of ANSI CSI escaping in the `UTF8::computeWidth` function. [#64756](https://github.com/ClickHouse/ClickHouse/pull/64756) ([Shaun Struwig](https://github.com/Blargian)).
* Fix a case of incorrect removal of `ORDER BY` / `LIMIT BY` across subqueries. [#64766](https://github.com/ClickHouse/ClickHouse/pull/64766) ([Raúl Marín](https://github.com/Algunenano)).
* Fix (experimental) unequal join with subqueries for sets which are in the mixed join conditions. [#64775](https://github.com/ClickHouse/ClickHouse/pull/64775) ([lgbo](https://github.com/lgbo-ustc)).
* Fix crash in a local cache over `plain_rewritable` disk. [#64778](https://github.com/ClickHouse/ClickHouse/pull/64778) ([Julia Kartseva](https://github.com/jkartseva)).
* Keeper fix: return correct value for `zk_latest_snapshot_size` in `mntr` command. [#64784](https://github.com/ClickHouse/ClickHouse/pull/64784) ([Antonio Andelic](https://github.com/antonio2368)).
* Fix `Cannot find column` in distributed query with `ARRAY JOIN` by `Nested` column. Fixes [#64755](https://github.com/ClickHouse/ClickHouse/issues/64755). [#64801](https://github.com/ClickHouse/ClickHouse/pull/64801) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix memory leak in slru cache policy. [#64803](https://github.com/ClickHouse/ClickHouse/pull/64803) ([Kseniia Sumarokova](https://github.com/kssenii)).
* Fixed possible incorrect memory tracking in several kinds of queries: queries that read any data from S3, queries via http protocol, asynchronous inserts. [#64844](https://github.com/ClickHouse/ClickHouse/pull/64844) ([Anton Popov](https://github.com/CurtizJ)).
* Fix the `Block structure mismatch` error for queries reading with `PREWHERE` from the materialized view when the materialized view has columns of different types than the source table. Fixes [#64611](https://github.com/ClickHouse/ClickHouse/issues/64611). [#64855](https://github.com/ClickHouse/ClickHouse/pull/64855) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix rare crash when table has TTL with subquery + database replicated + parallel replicas + analyzer. It's really rare, but please don't use TTLs with subqueries. [#64858](https://github.com/ClickHouse/ClickHouse/pull/64858) ([alesapin](https://github.com/alesapin)).
* Fix duplicating `Delete` events in `blob_storage_log` in case of large batch to delete. [#64924](https://github.com/ClickHouse/ClickHouse/pull/64924) ([vdimir](https://github.com/vdimir)).
* Fixed `Session moved to another server` error from [Zoo]Keeper that might happen after server startup when the config has includes from [Zoo]Keeper. [#64986](https://github.com/ClickHouse/ClickHouse/pull/64986) ([Alexander Tokmakov](https://github.com/tavplubix)).
* Fix `ALTER MODIFY COMMENT` query that was broken for parameterized VIEWs in https://github.com/ClickHouse/ClickHouse/pull/54211. [#65031](https://github.com/ClickHouse/ClickHouse/pull/65031) ([Nikolay Degterinsky](https://github.com/evillique)).
* Fix `host_id` in DatabaseReplicated when `cluster_secure_connection` parameter is enabled. Previously all the connections within the cluster created by DatabaseReplicated were not secure, even if the parameter was enabled. [#65054](https://github.com/ClickHouse/ClickHouse/pull/65054) ([Nikolay Degterinsky](https://github.com/evillique)).
* Fixing the `Not-ready Set` error after the `PREWHERE` optimization for StorageMerge. [#65057](https://github.com/ClickHouse/ClickHouse/pull/65057) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Avoid writing to finalized buffer in File-like storages. [#65063](https://github.com/ClickHouse/ClickHouse/pull/65063) ([Kruglov Pavel](https://github.com/Avogar)).
* Fix possible infinite query duration in case of cyclic aliases. Fixes [#64849](https://github.com/ClickHouse/ClickHouse/issues/64849). [#65081](https://github.com/ClickHouse/ClickHouse/pull/65081) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix the `Unknown expression identifier` error for remote queries with `INTERPOLATE (alias)` (new analyzer). Fixes [#64636](https://github.com/ClickHouse/ClickHouse/issues/64636). [#65090](https://github.com/ClickHouse/ClickHouse/pull/65090) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Fix pushing arithmetic operations out of aggregation. In the new analyzer, optimization was applied only once. [#65104](https://github.com/ClickHouse/ClickHouse/pull/65104) ([Dmitry Novik](https://github.com/novikd)).
* Fix aggregate function name rewriting in the new analyzer. [#65110](https://github.com/ClickHouse/ClickHouse/pull/65110) ([Dmitry Novik](https://github.com/novikd)).
* Respond with 5xx instead of 200 OK in case of receive timeout while reading (parts of) the request body from the client socket. [#65118](https://github.com/ClickHouse/ClickHouse/pull/65118) ([Julian Maicher](https://github.com/jmaicher)).
* Fix possible crash for hedged requests. [#65206](https://github.com/ClickHouse/ClickHouse/pull/65206) ([Azat Khuzhin](https://github.com/azat)).
* Fix the bug in Hashed and Hashed_Array dictionary short circuit evaluation, which may read uninitialized number, leading to various errors. [#65256](https://github.com/ClickHouse/ClickHouse/pull/65256) ([jsc0218](https://github.com/jsc0218)).
* This PR ensures that the type of the constant(IN operator's second parameter) is always visible during the IN operator's type conversion process. Otherwise, losing type information may cause some conversions to fail, such as the conversion from DateTime to Date. This fixes ([#64487](https://github.com/ClickHouse/ClickHouse/issues/64487)). [#65315](https://github.com/ClickHouse/ClickHouse/pull/65315) ([pn](https://github.com/chloro-pn)).
#### Build/Testing/Packaging Improvement
* Make `network` service be required when using the rc init script to start the ClickHouse server daemon. [#60650](https://github.com/ClickHouse/ClickHouse/pull/60650) ([Chun-Sheng, Li](https://github.com/peter279k)).
* Fix typo in test_hdfsCluster_unset_skip_unavailable_shards. The test writes data to unskip_unavailable_shards, but uses skip_unavailable_shards from the previous test. [#64243](https://github.com/ClickHouse/ClickHouse/pull/64243) ([Mikhail Artemenko](https://github.com/Michicosun)).
* Reduce the size of some slow tests. [#64387](https://github.com/ClickHouse/ClickHouse/pull/64387) ([Raúl Marín](https://github.com/Algunenano)).
* Reduce the size of some slow tests. [#64452](https://github.com/ClickHouse/ClickHouse/pull/64452) ([Raúl Marín](https://github.com/Algunenano)).
* Fix test_lost_part_other_replica. [#64512](https://github.com/ClickHouse/ClickHouse/pull/64512) ([Raúl Marín](https://github.com/Algunenano)).
* Add tests for experimental unequal joins and randomize new settings in clickhouse-test. [#64535](https://github.com/ClickHouse/ClickHouse/pull/64535) ([Nikita Fomichev](https://github.com/fm4v)).
* Upgrade tests: Update config and work with release candidates. [#64542](https://github.com/ClickHouse/ClickHouse/pull/64542) ([Raúl Marín](https://github.com/Algunenano)).
* Add support for LLVM XRay. [#64592](https://github.com/ClickHouse/ClickHouse/pull/64592) ([Tomer Shafir](https://github.com/tomershafir)).
* Speed up 02995_forget_partition. [#64761](https://github.com/ClickHouse/ClickHouse/pull/64761) ([Raúl Marín](https://github.com/Algunenano)).
* Fix 02790_async_queries_in_query_log. [#64764](https://github.com/ClickHouse/ClickHouse/pull/64764) ([Raúl Marín](https://github.com/Algunenano)).
* Support LLVM XRay on Linux amd64 only. [#64837](https://github.com/ClickHouse/ClickHouse/pull/64837) ([Tomer Shafir](https://github.com/tomershafir)).
* Get rid of custom code in `tests/ci/download_release_packages.py` and `tests/ci/get_previous_release_tag.py` to avoid issues after the https://github.com/ClickHouse/ClickHouse/pull/64759 is merged. [#64848](https://github.com/ClickHouse/ClickHouse/pull/64848) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Decrease the `unit-test` image a few times. [#65102](https://github.com/ClickHouse/ClickHouse/pull/65102) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Replay ZooKeeper logs using keeper-bench. [#62481](https://github.com/ClickHouse/ClickHouse/pull/62481) ([Antonio Andelic](https://github.com/antonio2368)).
* Re-enable OpenSSL session caching. [#65111](https://github.com/ClickHouse/ClickHouse/pull/65111) ([Robert Schulze](https://github.com/rschu1ze)).
### <a id="245"></a> ClickHouse release 24.5, 2024-05-30 ### <a id="245"></a> ClickHouse release 24.5, 2024-05-30
#### Backward Incompatible Change #### Backward Incompatible Change

View File

@ -26,7 +26,7 @@ namespace Poco
{ {
namespace Net namespace Net
{ {
constexpr size_t HTTP_DEFAULT_BUFFER_SIZE = 1024 * 1024; constexpr size_t HTTP_DEFAULT_BUFFER_SIZE = 8 * 1024;
typedef Poco::BasicBufferedStreamBuf<char, std::char_traits<char>> HTTPBasicStreamBuf; typedef Poco::BasicBufferedStreamBuf<char, std::char_traits<char>> HTTPBasicStreamBuf;

View File

@ -17,6 +17,7 @@
#ifndef NetSSL_SSLManager_INCLUDED #ifndef NetSSL_SSLManager_INCLUDED
#define NetSSL_SSLManager_INCLUDED #define NetSSL_SSLManager_INCLUDED
#include <unordered_map>
#include <openssl/ssl.h> #include <openssl/ssl.h>
#include "Poco/BasicEvent.h" #include "Poco/BasicEvent.h"
@ -219,6 +220,13 @@ namespace Net
/// Unless initializeClient() has been called, the first call to this method initializes the default Context /// Unless initializeClient() has been called, the first call to this method initializes the default Context
/// from the application configuration. /// from the application configuration.
Context::Ptr getCustomServerContext(const std::string & name);
/// Return custom Context used by the server.
Context::Ptr setCustomServerContext(const std::string & name, Context::Ptr ctx);
/// Set custom Context used by the server.
/// Return pointer on inserted Context or on old Context if exists.
PrivateKeyPassphraseHandlerPtr serverPassphraseHandler(); PrivateKeyPassphraseHandlerPtr serverPassphraseHandler();
/// Returns the configured passphrase handler of the server. If none is set, the method will create a default one /// Returns the configured passphrase handler of the server. If none is set, the method will create a default one
/// from an application configuration. /// from an application configuration.
@ -258,6 +266,40 @@ namespace Net
static const std::string CFG_SERVER_PREFIX; static const std::string CFG_SERVER_PREFIX;
static const std::string CFG_CLIENT_PREFIX; static const std::string CFG_CLIENT_PREFIX;
static const std::string CFG_PRIV_KEY_FILE;
static const std::string CFG_CERTIFICATE_FILE;
static const std::string CFG_CA_LOCATION;
static const std::string CFG_VER_MODE;
static const Context::VerificationMode VAL_VER_MODE;
static const std::string CFG_VER_DEPTH;
static const int VAL_VER_DEPTH;
static const std::string CFG_ENABLE_DEFAULT_CA;
static const bool VAL_ENABLE_DEFAULT_CA;
static const std::string CFG_CIPHER_LIST;
static const std::string CFG_CYPHER_LIST; // for backwards compatibility
static const std::string VAL_CIPHER_LIST;
static const std::string CFG_PREFER_SERVER_CIPHERS;
static const std::string CFG_DELEGATE_HANDLER;
static const std::string VAL_DELEGATE_HANDLER;
static const std::string CFG_CERTIFICATE_HANDLER;
static const std::string VAL_CERTIFICATE_HANDLER;
static const std::string CFG_CACHE_SESSIONS;
static const std::string CFG_SESSION_ID_CONTEXT;
static const std::string CFG_SESSION_CACHE_SIZE;
static const std::string CFG_SESSION_TIMEOUT;
static const std::string CFG_EXTENDED_VERIFICATION;
static const std::string CFG_REQUIRE_TLSV1;
static const std::string CFG_REQUIRE_TLSV1_1;
static const std::string CFG_REQUIRE_TLSV1_2;
static const std::string CFG_DISABLE_PROTOCOLS;
static const std::string CFG_DH_PARAMS_FILE;
static const std::string CFG_ECDH_CURVE;
#ifdef OPENSSL_FIPS
static const std::string CFG_FIPS_MODE;
static const bool VAL_FIPS_MODE;
#endif
protected: protected:
static int verifyClientCallback(int ok, X509_STORE_CTX * pStore); static int verifyClientCallback(int ok, X509_STORE_CTX * pStore);
/// The return value of this method defines how errors in /// The return value of this method defines how errors in
@ -314,39 +356,7 @@ namespace Net
InvalidCertificateHandlerPtr _ptrClientCertificateHandler; InvalidCertificateHandlerPtr _ptrClientCertificateHandler;
Poco::FastMutex _mutex; Poco::FastMutex _mutex;
static const std::string CFG_PRIV_KEY_FILE; std::unordered_map<std::string, Context::Ptr> _mapPtrServerContexts;
static const std::string CFG_CERTIFICATE_FILE;
static const std::string CFG_CA_LOCATION;
static const std::string CFG_VER_MODE;
static const Context::VerificationMode VAL_VER_MODE;
static const std::string CFG_VER_DEPTH;
static const int VAL_VER_DEPTH;
static const std::string CFG_ENABLE_DEFAULT_CA;
static const bool VAL_ENABLE_DEFAULT_CA;
static const std::string CFG_CIPHER_LIST;
static const std::string CFG_CYPHER_LIST; // for backwards compatibility
static const std::string VAL_CIPHER_LIST;
static const std::string CFG_PREFER_SERVER_CIPHERS;
static const std::string CFG_DELEGATE_HANDLER;
static const std::string VAL_DELEGATE_HANDLER;
static const std::string CFG_CERTIFICATE_HANDLER;
static const std::string VAL_CERTIFICATE_HANDLER;
static const std::string CFG_CACHE_SESSIONS;
static const std::string CFG_SESSION_ID_CONTEXT;
static const std::string CFG_SESSION_CACHE_SIZE;
static const std::string CFG_SESSION_TIMEOUT;
static const std::string CFG_EXTENDED_VERIFICATION;
static const std::string CFG_REQUIRE_TLSV1;
static const std::string CFG_REQUIRE_TLSV1_1;
static const std::string CFG_REQUIRE_TLSV1_2;
static const std::string CFG_DISABLE_PROTOCOLS;
static const std::string CFG_DH_PARAMS_FILE;
static const std::string CFG_ECDH_CURVE;
#ifdef OPENSSL_FIPS
static const std::string CFG_FIPS_MODE;
static const bool VAL_FIPS_MODE;
#endif
friend class Poco::SingletonHolder<SSLManager>; friend class Poco::SingletonHolder<SSLManager>;
friend class Context; friend class Context;

View File

@ -428,6 +428,23 @@ void SSLManager::initCertificateHandler(bool server)
} }
Context::Ptr SSLManager::getCustomServerContext(const std::string & name)
{
Poco::FastMutex::ScopedLock lock(_mutex);
auto it = _mapPtrServerContexts.find(name);
if (it != _mapPtrServerContexts.end())
return it->second;
return nullptr;
}
Context::Ptr SSLManager::setCustomServerContext(const std::string & name, Context::Ptr ctx)
{
Poco::FastMutex::ScopedLock lock(_mutex);
ctx = _mapPtrServerContexts.insert({name, ctx}).first->second;
return ctx;
}
Poco::Util::AbstractConfiguration& SSLManager::appConfig() Poco::Util::AbstractConfiguration& SSLManager::appConfig()
{ {
try try

2
contrib/openssl vendored

@ -1 +1 @@
Subproject commit 277de2ba202af4eb2291b363456d32ff0960e559 Subproject commit 5d81fa7068fc8c07f4d0997d5b703f3c541a637c

2
contrib/re2 vendored

@ -1 +1 @@
Subproject commit a807e8a3aac2cc33c77b7071efea54fcabe38e0c Subproject commit 85dd7ad833a73095ecf3e3baea608ba051bbe2c7

View File

@ -28,16 +28,20 @@ set(RE2_SOURCES
add_library(_re2 ${RE2_SOURCES}) add_library(_re2 ${RE2_SOURCES})
target_include_directories(_re2 PUBLIC "${SRC_DIR}") target_include_directories(_re2 PUBLIC "${SRC_DIR}")
target_link_libraries(_re2 PRIVATE target_link_libraries(_re2 PRIVATE
absl::absl_check
absl::absl_log
absl::base absl::base
absl::core_headers absl::core_headers
absl::fixed_array absl::fixed_array
absl::flags
absl::flat_hash_map absl::flat_hash_map
absl::flat_hash_set absl::flat_hash_set
absl::hash
absl::inlined_vector absl::inlined_vector
absl::strings
absl::str_format
absl::synchronization
absl::optional absl::optional
absl::span) absl::span
absl::str_format
absl::strings
absl::synchronization)
add_library(ch_contrib::re2 ALIAS _re2) add_library(ch_contrib::re2 ALIAS _re2)

View File

@ -37,6 +37,7 @@ RUN pip3 install \
tqdm==4.66.4 \ tqdm==4.66.4 \
types-requests \ types-requests \
unidiff \ unidiff \
jwt \
&& rm -rf /root/.cache/pip && rm -rf /root/.cache/pip
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen en_US.UTF-8 RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen en_US.UTF-8

View File

@ -0,0 +1,30 @@
---
sidebar_position: 1
sidebar_label: 2024
---
# 2024 Changelog
### ClickHouse release v24.4.3.25-stable (a915dd4eda4) FIXME as compared to v24.4.2.141-stable (9e23d27bd11)
#### Build/Testing/Packaging Improvement
* Backported in [#65130](https://github.com/ClickHouse/ClickHouse/issues/65130): Decrease the `unit-test` image a few times. [#65102](https://github.com/ClickHouse/ClickHouse/pull/65102) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
#### Bug Fix (user-visible misbehavior in an official stable release)
* Backported in [#64982](https://github.com/ClickHouse/ClickHouse/issues/64982): Fix the `Block structure mismatch` error for queries reading with `PREWHERE` from the materialized view when the materialized view has columns of different types than the source table. Fixes [#64611](https://github.com/ClickHouse/ClickHouse/issues/64611). [#64855](https://github.com/ClickHouse/ClickHouse/pull/64855) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Backported in [#64974](https://github.com/ClickHouse/ClickHouse/issues/64974): Fix rare crash when table has TTL with subquery + database replicated + parallel replicas + analyzer. It's really rare, but please don't use TTLs with subqueries. [#64858](https://github.com/ClickHouse/ClickHouse/pull/64858) ([alesapin](https://github.com/alesapin)).
* Backported in [#65072](https://github.com/ClickHouse/ClickHouse/issues/65072): Fix `ALTER MODIFY COMMENT` query that was broken for parameterized VIEWs in https://github.com/ClickHouse/ClickHouse/pull/54211. [#65031](https://github.com/ClickHouse/ClickHouse/pull/65031) ([Nikolay Degterinsky](https://github.com/evillique)).
* Backported in [#65177](https://github.com/ClickHouse/ClickHouse/issues/65177): Fix the `Unknown expression identifier` error for remote queries with `INTERPOLATE (alias)` (new analyzer). Fixes [#64636](https://github.com/ClickHouse/ClickHouse/issues/64636). [#65090](https://github.com/ClickHouse/ClickHouse/pull/65090) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).
* Backported in [#65263](https://github.com/ClickHouse/ClickHouse/issues/65263): Fix the bug in Hashed and Hashed_Array dictionary short circuit evaluation, which may read uninitialized number, leading to various errors. [#65256](https://github.com/ClickHouse/ClickHouse/pull/65256) ([jsc0218](https://github.com/jsc0218)).
#### Critical Bug Fix (crash, LOGICAL_ERROR, data loss, RBAC)
* Backported in [#65285](https://github.com/ClickHouse/ClickHouse/issues/65285): Fix crash with UniqInjectiveFunctionsEliminationPass and uniqCombined. [#65188](https://github.com/ClickHouse/ClickHouse/pull/65188) ([Raúl Marín](https://github.com/Algunenano)).
#### NOT FOR CHANGELOG / INSIGNIFICANT
* Backported in [#65114](https://github.com/ClickHouse/ClickHouse/issues/65114): Adjust the `version_helper` and script to a new release scheme. [#64759](https://github.com/ClickHouse/ClickHouse/pull/64759) ([Mikhail f. Shiryaev](https://github.com/Felixoid)).
* Backported in [#65225](https://github.com/ClickHouse/ClickHouse/issues/65225): Capture weak_ptr of ContextAccess for safety. [#65051](https://github.com/ClickHouse/ClickHouse/pull/65051) ([Alexander Gololobov](https://github.com/davenger)).
* Backported in [#65217](https://github.com/ClickHouse/ClickHouse/issues/65217): Fix false positives leaky memory warnings in OpenSSL. [#65125](https://github.com/ClickHouse/ClickHouse/pull/65125) ([Robert Schulze](https://github.com/rschu1ze)).

View File

@ -193,6 +193,7 @@ You can pass parameters to `clickhouse-client` (all parameters have a default va
- `--hardware-utilization` — Print hardware utilization information in progress bar. - `--hardware-utilization` — Print hardware utilization information in progress bar.
- `--print-profile-events` Print `ProfileEvents` packets. - `--print-profile-events` Print `ProfileEvents` packets.
- `--profile-events-delay-ms` Delay between printing `ProfileEvents` packets (-1 - print only totals, 0 - print every single packet). - `--profile-events-delay-ms` Delay between printing `ProfileEvents` packets (-1 - print only totals, 0 - print every single packet).
- `--jwt` If specified, enables authorization via JSON Web Token. Server JWT authorization is available only in ClickHouse Cloud.
Instead of `--host`, `--port`, `--user` and `--password` options, ClickHouse client also supports connection strings (see next section). Instead of `--host`, `--port`, `--user` and `--password` options, ClickHouse client also supports connection strings (see next section).

View File

@ -5418,11 +5418,14 @@ When set to `false` than all attempts are made with identical timeouts.
Default value: `true`. Default value: `true`.
## uniform_snowflake_conversion_functions {#uniform_snowflake_conversion_functions} ## allow_deprecated_snowflake_conversion_functions {#allow_deprecated_snowflake_conversion_functions}
If set to `true`, then functions `snowflakeIDToDateTime`, `snowflakeIDToDateTime64`, `dateTimeToSnowflakeID`, and `dateTime64ToSnowflakeID` are enabled, and functions `snowflakeToDateTime`, `snowflakeToDateTime64`, `dateTimeToSnowflake`, and `dateTime64ToSnowflake` are disabled (and vice versa if set to `false`). Functions `snowflakeToDateTime`, `snowflakeToDateTime64`, `dateTimeToSnowflake`, and `dateTime64ToSnowflake` are deprecated and disabled by default.
Please use functions `snowflakeIDToDateTime`, `snowflakeIDToDateTime64`, `dateTimeToSnowflakeID`, and `dateTime64ToSnowflakeID` instead.
Default value: `true` To re-enable the deprecated functions (e.g., during a transition period), please set this setting to `true`.
Default value: `false`
## allow_experimental_variant_type {#allow_experimental_variant_type} ## allow_experimental_variant_type {#allow_experimental_variant_type}

View File

@ -36,9 +36,24 @@ $ echo 0 | sudo tee /proc/sys/vm/overcommit_memory
Use `perf top` to watch the time spent in the kernel for memory management. Use `perf top` to watch the time spent in the kernel for memory management.
Permanent huge pages also do not need to be allocated. Permanent huge pages also do not need to be allocated.
:::warning ### Using less than 16GB of RAM
If your system has less than 16 GB of RAM, you may experience various memory exceptions because default settings do not match this amount of memory. The recommended amount of RAM is 32 GB or more. You can use ClickHouse in a system with a small amount of RAM, even with 2 GB of RAM, but it requires additional tuning and can ingest at a low rate.
::: The recommended amount of RAM is 32 GB or more.
If your system has less than 16 GB of RAM, you may experience various memory exceptions because default settings do not match this amount of memory. You can use ClickHouse in a system with a small amount of RAM (as low as 2 GB), but these setups require additional tuning and can only ingest at a low rate.
When using ClickHouse with less than 16GB of RAM, we recommend the following:
- Lower the size of the mark cache in the `config.xml`. It can be set as low as 500 MB, but it cannot be set to zero.
- Lower the number of query processing threads down to `1`.
- Lower the `max_block_size` to `8192`. Values as low as `1024` can still be practical.
- Lower `max_download_threads` to `1`.
- Set `input_format_parallel_parsing` and `output_format_parallel_formatting` to `0`.
Additional notes:
- To flush the memory cached by the memory allocator, you can run the `SYSTEM JEMALLOC PURGE`
command.
- We do not recommend using S3 or Kafka integrations on low-memory machines because they require significant memory for buffers.
## Storage Subsystem {#storage-subsystem} ## Storage Subsystem {#storage-subsystem}

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/analysis_of_variance slug: /en/sql-reference/aggregate-functions/reference/analysis_of_variance
sidebar_position: 6 sidebar_position: 101
--- ---
# analysisOfVariance # analysisOfVariance

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/any slug: /en/sql-reference/aggregate-functions/reference/any
sidebar_position: 6 sidebar_position: 102
--- ---
# any # any

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/anyheavy slug: /en/sql-reference/aggregate-functions/reference/anyheavy
sidebar_position: 103 sidebar_position: 104
--- ---
# anyHeavy # anyHeavy

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/anylast slug: /en/sql-reference/aggregate-functions/reference/anylast
sidebar_position: 104 sidebar_position: 105
--- ---
# anyLast # anyLast

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/anylast_respect_nulls slug: /en/sql-reference/aggregate-functions/reference/anylast_respect_nulls
sidebar_position: 104 sidebar_position: 106
--- ---
# anyLast_respect_nulls # anyLast_respect_nulls

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/approxtopk slug: /en/sql-reference/aggregate-functions/reference/approxtopk
sidebar_position: 212 sidebar_position: 107
--- ---
# approx_top_k # approx_top_k

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/approxtopsum slug: /en/sql-reference/aggregate-functions/reference/approxtopsum
sidebar_position: 212 sidebar_position: 108
--- ---
# approx_top_sum # approx_top_sum

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/argmax slug: /en/sql-reference/aggregate-functions/reference/argmax
sidebar_position: 106 sidebar_position: 109
--- ---
# argMax # argMax

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/argmin slug: /en/sql-reference/aggregate-functions/reference/argmin
sidebar_position: 105 sidebar_position: 110
--- ---
# argMin # argMin

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/array_concat_agg slug: /en/sql-reference/aggregate-functions/reference/array_concat_agg
sidebar_position: 110 sidebar_position: 111
--- ---
# array_concat_agg # array_concat_agg

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/avg slug: /en/sql-reference/aggregate-functions/reference/avg
sidebar_position: 5 sidebar_position: 112
--- ---
# avg # avg

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/avgweighted slug: /en/sql-reference/aggregate-functions/reference/avgweighted
sidebar_position: 107 sidebar_position: 113
--- ---
# avgWeighted # avgWeighted

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/boundingRatio slug: /en/sql-reference/aggregate-functions/reference/boundingRatio
sidebar_position: 2 sidebar_position: 114
title: boundingRatio title: boundingRatio
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/categoricalinformationvalue slug: /en/sql-reference/aggregate-functions/reference/categoricalinformationvalue
sidebar_position: 250 sidebar_position: 115
title: categoricalInformationValue title: categoricalInformationValue
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/contingency slug: /en/sql-reference/aggregate-functions/reference/contingency
sidebar_position: 350 sidebar_position: 116
--- ---
# contingency # contingency

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/corr slug: /en/sql-reference/aggregate-functions/reference/corr
sidebar_position: 107 sidebar_position: 117
--- ---
# corr # corr

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/corrmatrix slug: /en/sql-reference/aggregate-functions/reference/corrmatrix
sidebar_position: 108 sidebar_position: 118
--- ---
# corrMatrix # corrMatrix

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/corrstable slug: /en/sql-reference/aggregate-functions/reference/corrstable
sidebar_position: 107 sidebar_position: 119
--- ---
# corrStable # corrStable

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/count slug: /en/sql-reference/aggregate-functions/reference/count
sidebar_position: 1 sidebar_position: 120
--- ---
# count # count

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarpop slug: /en/sql-reference/aggregate-functions/reference/covarpop
sidebar_position: 37 sidebar_position: 121
--- ---
# covarPop # covarPop

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarpopmatrix slug: /en/sql-reference/aggregate-functions/reference/covarpopmatrix
sidebar_position: 36 sidebar_position: 122
--- ---
# covarPopMatrix # covarPopMatrix

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarpopstable slug: /en/sql-reference/aggregate-functions/reference/covarpopstable
sidebar_position: 36 sidebar_position: 123
--- ---
# covarPopStable # covarPopStable

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarsamp slug: /en/sql-reference/aggregate-functions/reference/covarsamp
sidebar_position: 37 sidebar_position: 124
--- ---
# covarSamp # covarSamp

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarsampmatrix slug: /en/sql-reference/aggregate-functions/reference/covarsampmatrix
sidebar_position: 38 sidebar_position: 125
--- ---
# covarSampMatrix # covarSampMatrix

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/covarsampstable slug: /en/sql-reference/aggregate-functions/reference/covarsampstable
sidebar_position: 37 sidebar_position: 126
--- ---
# covarSampStable # covarSampStable

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/cramersv slug: /en/sql-reference/aggregate-functions/reference/cramersv
sidebar_position: 351 sidebar_position: 127
--- ---
# cramersV # cramersV

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/cramersvbiascorrected slug: /en/sql-reference/aggregate-functions/reference/cramersvbiascorrected
sidebar_position: 352 sidebar_position: 128
--- ---
# cramersVBiasCorrected # cramersVBiasCorrected

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/deltasum slug: /en/sql-reference/aggregate-functions/reference/deltasum
sidebar_position: 141 sidebar_position: 129
--- ---
# deltaSum # deltaSum

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/deltasumtimestamp slug: /en/sql-reference/aggregate-functions/reference/deltasumtimestamp
sidebar_position: 141 sidebar_position: 130
title: deltaSumTimestamp title: deltaSumTimestamp
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/entropy slug: /en/sql-reference/aggregate-functions/reference/entropy
sidebar_position: 302 sidebar_position: 131
--- ---
# entropy # entropy

View File

@ -1,7 +1,7 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/exponentialmovingaverage slug: /en/sql-reference/aggregate-functions/reference/exponentialMovingAverage
sidebar_position: 108 sidebar_position: 132
sidebar_title: exponentialMovingAverage title: exponentialMovingAverage
--- ---
## exponentialMovingAverage ## exponentialMovingAverage
@ -96,56 +96,56 @@ Result:
``` text ``` text
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────────────────────────────────────┐ ┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────────────────────────────────────┐
│ 1 │ 0 │ 0.067 │ ███▎ │ │ 1 │ 0 │ 0.067 │ ███▎
│ 0 │ 1 │ 0.062 │ ███ │ │ 0 │ 1 │ 0.062 │ ███ │
│ 0 │ 2 │ 0.058 │ ██▊ │ │ 0 │ 2 │ 0.058 │ ██▊
│ 0 │ 3 │ 0.054 │ ██▋ │ │ 0 │ 3 │ 0.054 │ ██▋
│ 0 │ 4 │ 0.051 │ ██▌ │ │ 0 │ 4 │ 0.051 │ ██▌ │
│ 0 │ 5 │ 0.047 │ ██▎ │ │ 0 │ 5 │ 0.047 │ ██▎
│ 0 │ 6 │ 0.044 │ ██▏ │ │ 0 │ 6 │ 0.044 │ ██▏
│ 0 │ 7 │ 0.041 │ ██ │ │ 0 │ 7 │ 0.041 │ ██ │
│ 0 │ 8 │ 0.038 │ █▊ │ │ 0 │ 8 │ 0.038 │ █▊
│ 0 │ 9 │ 0.036 │ █▋ │ │ 0 │ 9 │ 0.036 │ █▋
│ 0 │ 10 │ 0.033 │ █▋ │ │ 0 │ 10 │ 0.033 │ █▋
│ 0 │ 11 │ 0.031 │ █▌ │ │ 0 │ 11 │ 0.031 │ █▌ │
│ 0 │ 12 │ 0.029 │ █▍ │ │ 0 │ 12 │ 0.029 │ █▍
│ 0 │ 13 │ 0.027 │ █▎ │ │ 0 │ 13 │ 0.027 │ █▎
│ 0 │ 14 │ 0.025 │ █▎ │ │ 0 │ 14 │ 0.025 │ █▎
│ 0 │ 15 │ 0.024 │ █▏ │ │ 0 │ 15 │ 0.024 │ █▏
│ 0 │ 16 │ 0.022 │ █ │ │ 0 │ 16 │ 0.022 │ █ │
│ 0 │ 17 │ 0.021 │ █ │ │ 0 │ 17 │ 0.021 │ █ │
│ 0 │ 18 │ 0.019 │ ▊ │ │ 0 │ 18 │ 0.019 │ ▊
│ 0 │ 19 │ 0.018 │ ▊ │ │ 0 │ 19 │ 0.018 │ ▊
│ 0 │ 20 │ 0.017 │ ▋ │ │ 0 │ 20 │ 0.017 │ ▋
│ 0 │ 21 │ 0.016 │ ▋ │ │ 0 │ 21 │ 0.016 │ ▋
│ 0 │ 22 │ 0.015 │ ▋ │ │ 0 │ 22 │ 0.015 │ ▋
│ 0 │ 23 │ 0.014 │ ▋ │ │ 0 │ 23 │ 0.014 │ ▋
│ 0 │ 24 │ 0.013 │ ▋ │ │ 0 │ 24 │ 0.013 │ ▋
│ 1 │ 25 │ 0.079 │ ███▊ │ │ 1 │ 25 │ 0.079 │ ███▊
│ 1 │ 26 │ 0.14 │ ███████ │ │ 1 │ 26 │ 0.14 │ ███████ │
│ 1 │ 27 │ 0.198 │ █████████▊ │ │ 1 │ 27 │ 0.198 │ █████████▊
│ 1 │ 28 │ 0.252 │ ████████████▌ │ │ 1 │ 28 │ 0.252 │ ████████████▌ │
│ 1 │ 29 │ 0.302 │ ███████████████ │ │ 1 │ 29 │ 0.302 │ ███████████████ │
│ 1 │ 30 │ 0.349 │ █████████████████▍ │ │ 1 │ 30 │ 0.349 │ █████████████████▍
│ 1 │ 31 │ 0.392 │ ███████████████████▌ │ │ 1 │ 31 │ 0.392 │ ███████████████████▌ │
│ 1 │ 32 │ 0.433 │ █████████████████████▋ │ │ 1 │ 32 │ 0.433 │ █████████████████████▋
│ 1 │ 33 │ 0.471 │ ███████████████████████▌ │ │ 1 │ 33 │ 0.471 │ ███████████████████████▌ │
│ 1 │ 34 │ 0.506 │ █████████████████████████▎ │ │ 1 │ 34 │ 0.506 │ █████████████████████████▎
│ 1 │ 35 │ 0.539 │ ██████████████████████████▊ │ │ 1 │ 35 │ 0.539 │ ██████████████████████████▊
│ 1 │ 36 │ 0.57 │ ████████████████████████████▌ │ │ 1 │ 36 │ 0.57 │ ████████████████████████████▌ │
│ 1 │ 37 │ 0.599 │ █████████████████████████████▊ │ │ 1 │ 37 │ 0.599 │ █████████████████████████████▊
│ 1 │ 38 │ 0.626 │ ███████████████████████████████▎ │ │ 1 │ 38 │ 0.626 │ ███████████████████████████████▎
│ 1 │ 39 │ 0.651 │ ████████████████████████████████▌ │ │ 1 │ 39 │ 0.651 │ ████████████████████████████████▌ │
│ 1 │ 40 │ 0.674 │ █████████████████████████████████▋ │ │ 1 │ 40 │ 0.674 │ █████████████████████████████████▋
│ 1 │ 41 │ 0.696 │ ██████████████████████████████████▋ │ │ 1 │ 41 │ 0.696 │ ██████████████████████████████████▋
│ 1 │ 42 │ 0.716 │ ███████████████████████████████████▋ │ │ 1 │ 42 │ 0.716 │ ███████████████████████████████████▋
│ 1 │ 43 │ 0.735 │ ████████████████████████████████████▋ │ │ 1 │ 43 │ 0.735 │ ████████████████████████████████████▋
│ 1 │ 44 │ 0.753 │ █████████████████████████████████████▋ │ │ 1 │ 44 │ 0.753 │ █████████████████████████████████████▋
│ 1 │ 45 │ 0.77 │ ██████████████████████████████████████▍ │ │ 1 │ 45 │ 0.77 │ ██████████████████████████████████████▍
│ 1 │ 46 │ 0.785 │ ███████████████████████████████████████▎ │ │ 1 │ 46 │ 0.785 │ ███████████████████████████████████████▎
│ 1 │ 47 │ 0.8 │ ███████████████████████████████████████▊ │ │ 1 │ 47 │ 0.8 │ ███████████████████████████████████████▊
│ 1 │ 48 │ 0.813 │ ████████████████████████████████████████▋ │ │ 1 │ 48 │ 0.813 │ ████████████████████████████████████████▋
│ 1 │ 49 │ 0.825 │ █████████████████████████████████████████▎│ │ 1 │ 49 │ 0.825 │ █████████████████████████████████████████▎
└───────┴──────┴──────────────────────┴────────────────────────────────────────────┘ └───────┴──────┴──────────────────────┴────────────────────────────────────────────┘
``` ```

View File

@ -0,0 +1,105 @@
---
slug: /en/sql-reference/aggregate-functions/reference/exponentialTimeDecayedAvg
sidebar_position: 133
title: exponentialTimeDecayedAvg
---
## exponentialTimeDecayedAvg
Returns the exponentially smoothed weighted moving average of values of a time series at point `t` in time.
**Syntax**
```sql
exponentialTimeDecayedAvg(x)(v, t)
```
**Arguments**
- `v` — Value. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `t` — Time. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md), [DateTime](../../data-types/datetime.md), [DateTime64](../../data-types/datetime64.md).
**Parameters**
- `x` — Half-life period. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
**Returned values**
- Returns an exponentially smoothed weighted moving average at index `t` in time. [Float64](../../data-types/float.md).
**Examples**
Query:
```sql
SELECT
value,
time,
round(exp_smooth, 3),
bar(exp_smooth, 0, 5, 50) AS bar
FROM
(
SELECT
(number = 0) OR (number >= 25) AS value,
number AS time,
exponentialTimeDecayedAvg(10)(value, time) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS exp_smooth
FROM numbers(50)
);
```
Response:
```sql
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────┐
1. │ 1 │ 0 │ 1 │ ██████████ │
2. │ 0 │ 1 │ 0.475 │ ████▊ │
3. │ 0 │ 2 │ 0.301 │ ███ │
4. │ 0 │ 3 │ 0.214 │ ██▏ │
5. │ 0 │ 4 │ 0.162 │ █▌ │
6. │ 0 │ 5 │ 0.128 │ █▎ │
7. │ 0 │ 6 │ 0.104 │ █ │
8. │ 0 │ 7 │ 0.086 │ ▊ │
9. │ 0 │ 8 │ 0.072 │ ▋ │
0. │ 0 │ 9 │ 0.061 │ ▌ │
1. │ 0 │ 10 │ 0.052 │ ▌ │
2. │ 0 │ 11 │ 0.045 │ ▍ │
3. │ 0 │ 12 │ 0.039 │ ▍ │
4. │ 0 │ 13 │ 0.034 │ ▎ │
5. │ 0 │ 14 │ 0.03 │ ▎ │
6. │ 0 │ 15 │ 0.027 │ ▎ │
7. │ 0 │ 16 │ 0.024 │ ▏ │
8. │ 0 │ 17 │ 0.021 │ ▏ │
9. │ 0 │ 18 │ 0.018 │ ▏ │
0. │ 0 │ 19 │ 0.016 │ ▏ │
1. │ 0 │ 20 │ 0.015 │ ▏ │
2. │ 0 │ 21 │ 0.013 │ ▏ │
3. │ 0 │ 22 │ 0.012 │ │
4. │ 0 │ 23 │ 0.01 │ │
5. │ 0 │ 24 │ 0.009 │ │
6. │ 1 │ 25 │ 0.111 │ █ │
7. │ 1 │ 26 │ 0.202 │ ██ │
8. │ 1 │ 27 │ 0.283 │ ██▊ │
9. │ 1 │ 28 │ 0.355 │ ███▌ │
0. │ 1 │ 29 │ 0.42 │ ████▏ │
1. │ 1 │ 30 │ 0.477 │ ████▊ │
2. │ 1 │ 31 │ 0.529 │ █████▎ │
3. │ 1 │ 32 │ 0.576 │ █████▊ │
4. │ 1 │ 33 │ 0.618 │ ██████▏ │
5. │ 1 │ 34 │ 0.655 │ ██████▌ │
6. │ 1 │ 35 │ 0.689 │ ██████▉ │
7. │ 1 │ 36 │ 0.719 │ ███████▏ │
8. │ 1 │ 37 │ 0.747 │ ███████▍ │
9. │ 1 │ 38 │ 0.771 │ ███████▋ │
0. │ 1 │ 39 │ 0.793 │ ███████▉ │
1. │ 1 │ 40 │ 0.813 │ ████████▏ │
2. │ 1 │ 41 │ 0.831 │ ████████▎ │
3. │ 1 │ 42 │ 0.848 │ ████████▍ │
4. │ 1 │ 43 │ 0.862 │ ████████▌ │
5. │ 1 │ 44 │ 0.876 │ ████████▊ │
6. │ 1 │ 45 │ 0.888 │ ████████▉ │
7. │ 1 │ 46 │ 0.898 │ ████████▉ │
8. │ 1 │ 47 │ 0.908 │ █████████ │
9. │ 1 │ 48 │ 0.917 │ █████████▏ │
0. │ 1 │ 49 │ 0.925 │ █████████▏ │
└───────┴──────┴──────────────────────┴────────────┘
```

View File

@ -0,0 +1,104 @@
---
slug: /en/sql-reference/aggregate-functions/reference/exponentialTimeDecayedCount
sidebar_position: 134
title: exponentialTimeDecayedCount
---
## exponentialTimeDecayedCount
Returns the cumulative exponential decay over a time series at the index `t` in time.
**Syntax**
```sql
exponentialTimeDecayedCount(x)(t)
```
**Arguments**
- `t` — Time. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md), [DateTime](../../data-types/datetime.md), [DateTime64](../../data-types/datetime64.md).
**Parameters**
- `x` — Half-life period. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
**Returned values**
- Returns the cumulative exponential decay at the given point in time. [Float64](../../data-types/float.md).
**Example**
Query:
```sql
SELECT
value,
time,
round(exp_smooth, 3),
bar(exp_smooth, 0, 20, 50) AS bar
FROM
(
SELECT
(number % 5) = 0 AS value,
number AS time,
exponentialTimeDecayedCount(10)(time) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS exp_smooth
FROM numbers(50)
);
```
Result:
```response
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────────────────────┐
1. │ 1 │ 0 │ 1 │ ██▌ │
2. │ 0 │ 1 │ 1.905 │ ████▊ │
3. │ 0 │ 2 │ 2.724 │ ██████▊ │
4. │ 0 │ 3 │ 3.464 │ ████████▋ │
5. │ 0 │ 4 │ 4.135 │ ██████████▎ │
6. │ 1 │ 5 │ 4.741 │ ███████████▊ │
7. │ 0 │ 6 │ 5.29 │ █████████████▏ │
8. │ 0 │ 7 │ 5.787 │ ██████████████▍ │
9. │ 0 │ 8 │ 6.236 │ ███████████████▌ │
10. │ 0 │ 9 │ 6.643 │ ████████████████▌ │
11. │ 1 │ 10 │ 7.01 │ █████████████████▌ │
12. │ 0 │ 11 │ 7.343 │ ██████████████████▎ │
13. │ 0 │ 12 │ 7.644 │ ███████████████████ │
14. │ 0 │ 13 │ 7.917 │ ███████████████████▊ │
15. │ 0 │ 14 │ 8.164 │ ████████████████████▍ │
16. │ 1 │ 15 │ 8.387 │ ████████████████████▉ │
17. │ 0 │ 16 │ 8.589 │ █████████████████████▍ │
18. │ 0 │ 17 │ 8.771 │ █████████████████████▉ │
19. │ 0 │ 18 │ 8.937 │ ██████████████████████▎ │
20. │ 0 │ 19 │ 9.086 │ ██████████████████████▋ │
21. │ 1 │ 20 │ 9.222 │ ███████████████████████ │
22. │ 0 │ 21 │ 9.344 │ ███████████████████████▎ │
23. │ 0 │ 22 │ 9.455 │ ███████████████████████▋ │
24. │ 0 │ 23 │ 9.555 │ ███████████████████████▉ │
25. │ 0 │ 24 │ 9.646 │ ████████████████████████ │
26. │ 1 │ 25 │ 9.728 │ ████████████████████████▎ │
27. │ 0 │ 26 │ 9.802 │ ████████████████████████▌ │
28. │ 0 │ 27 │ 9.869 │ ████████████████████████▋ │
29. │ 0 │ 28 │ 9.93 │ ████████████████████████▊ │
30. │ 0 │ 29 │ 9.985 │ ████████████████████████▉ │
31. │ 1 │ 30 │ 10.035 │ █████████████████████████ │
32. │ 0 │ 31 │ 10.08 │ █████████████████████████▏ │
33. │ 0 │ 32 │ 10.121 │ █████████████████████████▎ │
34. │ 0 │ 33 │ 10.158 │ █████████████████████████▍ │
35. │ 0 │ 34 │ 10.191 │ █████████████████████████▍ │
36. │ 1 │ 35 │ 10.221 │ █████████████████████████▌ │
37. │ 0 │ 36 │ 10.249 │ █████████████████████████▌ │
38. │ 0 │ 37 │ 10.273 │ █████████████████████████▋ │
39. │ 0 │ 38 │ 10.296 │ █████████████████████████▋ │
40. │ 0 │ 39 │ 10.316 │ █████████████████████████▊ │
41. │ 1 │ 40 │ 10.334 │ █████████████████████████▊ │
42. │ 0 │ 41 │ 10.351 │ █████████████████████████▉ │
43. │ 0 │ 42 │ 10.366 │ █████████████████████████▉ │
44. │ 0 │ 43 │ 10.379 │ █████████████████████████▉ │
45. │ 0 │ 44 │ 10.392 │ █████████████████████████▉ │
46. │ 1 │ 45 │ 10.403 │ ██████████████████████████ │
47. │ 0 │ 46 │ 10.413 │ ██████████████████████████ │
48. │ 0 │ 47 │ 10.422 │ ██████████████████████████ │
49. │ 0 │ 48 │ 10.43 │ ██████████████████████████ │
50. │ 0 │ 49 │ 10.438 │ ██████████████████████████ │
└───────┴──────┴──────────────────────┴────────────────────────────┘
```

View File

@ -0,0 +1,105 @@
---
slug: /en/sql-reference/aggregate-functions/reference/exponentialTimeDecayedMax
sidebar_position: 135
title: exponentialTimeDecayedMax
---
## exponentialTimeDecayedMax
Returns the maximum of the computed exponentially smoothed moving average at index `t` in time with that at `t-1`.
**Syntax**
```sql
exponentialTimeDecayedMax(x)(value, timeunit)
```
**Arguments**
- `value` — Value. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `timeunit` — Timeunit. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md), [DateTime](../../data-types/datetime.md), [DateTime64](../../data-types/datetime64.md).
**Parameters**
- `x` — Half-life period. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
**Returned values**
- Returns the maximum of the exponentially smoothed weighted moving average at `t` and `t-1`. [Float64](../../data-types/float.md).
**Example**
Query:
```sql
SELECT
value,
time,
round(exp_smooth, 3),
bar(exp_smooth, 0, 5, 50) AS bar
FROM
(
SELECT
(number = 0) OR (number >= 25) AS value,
number AS time,
exponentialTimeDecayedMax(10)(value, time) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS exp_smooth
FROM numbers(50)
);
```
Result:
```response
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar────────┐
1. │ 1 │ 0 │ 1 │ ██████████ │
2. │ 0 │ 1 │ 0.905 │ █████████ │
3. │ 0 │ 2 │ 0.819 │ ████████▏ │
4. │ 0 │ 3 │ 0.741 │ ███████▍ │
5. │ 0 │ 4 │ 0.67 │ ██████▋ │
6. │ 0 │ 5 │ 0.607 │ ██████ │
7. │ 0 │ 6 │ 0.549 │ █████▍ │
8. │ 0 │ 7 │ 0.497 │ ████▉ │
9. │ 0 │ 8 │ 0.449 │ ████▍ │
10. │ 0 │ 9 │ 0.407 │ ████ │
11. │ 0 │ 10 │ 0.368 │ ███▋ │
12. │ 0 │ 11 │ 0.333 │ ███▎ │
13. │ 0 │ 12 │ 0.301 │ ███ │
14. │ 0 │ 13 │ 0.273 │ ██▋ │
15. │ 0 │ 14 │ 0.247 │ ██▍ │
16. │ 0 │ 15 │ 0.223 │ ██▏ │
17. │ 0 │ 16 │ 0.202 │ ██ │
18. │ 0 │ 17 │ 0.183 │ █▊ │
19. │ 0 │ 18 │ 0.165 │ █▋ │
20. │ 0 │ 19 │ 0.15 │ █▍ │
21. │ 0 │ 20 │ 0.135 │ █▎ │
22. │ 0 │ 21 │ 0.122 │ █▏ │
23. │ 0 │ 22 │ 0.111 │ █ │
24. │ 0 │ 23 │ 0.1 │ █ │
25. │ 0 │ 24 │ 0.091 │ ▉ │
26. │ 1 │ 25 │ 1 │ ██████████ │
27. │ 1 │ 26 │ 1 │ ██████████ │
28. │ 1 │ 27 │ 1 │ ██████████ │
29. │ 1 │ 28 │ 1 │ ██████████ │
30. │ 1 │ 29 │ 1 │ ██████████ │
31. │ 1 │ 30 │ 1 │ ██████████ │
32. │ 1 │ 31 │ 1 │ ██████████ │
33. │ 1 │ 32 │ 1 │ ██████████ │
34. │ 1 │ 33 │ 1 │ ██████████ │
35. │ 1 │ 34 │ 1 │ ██████████ │
36. │ 1 │ 35 │ 1 │ ██████████ │
37. │ 1 │ 36 │ 1 │ ██████████ │
38. │ 1 │ 37 │ 1 │ ██████████ │
39. │ 1 │ 38 │ 1 │ ██████████ │
40. │ 1 │ 39 │ 1 │ ██████████ │
41. │ 1 │ 40 │ 1 │ ██████████ │
42. │ 1 │ 41 │ 1 │ ██████████ │
43. │ 1 │ 42 │ 1 │ ██████████ │
44. │ 1 │ 43 │ 1 │ ██████████ │
45. │ 1 │ 44 │ 1 │ ██████████ │
46. │ 1 │ 45 │ 1 │ ██████████ │
47. │ 1 │ 46 │ 1 │ ██████████ │
48. │ 1 │ 47 │ 1 │ ██████████ │
49. │ 1 │ 48 │ 1 │ ██████████ │
50. │ 1 │ 49 │ 1 │ ██████████ │
└───────┴──────┴──────────────────────┴────────────┘
```

View File

@ -0,0 +1,105 @@
---
slug: /en/sql-reference/aggregate-functions/reference/exponentialTimeDecayedSum
sidebar_position: 136
title: exponentialTimeDecayedSum
---
## exponentialTimeDecayedSum
Returns the sum of exponentially smoothed moving average values of a time series at the index `t` in time.
**Syntax**
```sql
exponentialTimeDecayedSum(x)(v, t)
```
**Arguments**
- `v` — Value. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
- `t` — Time. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md), [DateTime](../../data-types/datetime.md), [DateTime64](../../data-types/datetime64.md).
**Parameters**
- `x` — Half-life period. [Integer](../../../sql-reference/data-types/int-uint.md), [Float](../../../sql-reference/data-types/float.md) or [Decimal](../../../sql-reference/data-types/decimal.md).
**Returned values**
- Returns the sum of exponentially smoothed moving average values at the given point in time. [Float64](../../data-types/float.md).
**Example**
Query:
```sql
SELECT
value,
time,
round(exp_smooth, 3),
bar(exp_smooth, 0, 10, 50) AS bar
FROM
(
SELECT
(number = 0) OR (number >= 25) AS value,
number AS time,
exponentialTimeDecayedSum(10)(value, time) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS exp_smooth
FROM numbers(50)
);
```
Result:
```response
┌─value─┬─time─┬─round(exp_smooth, 3)─┬─bar───────────────────────────────────────────────┐
1. │ 1 │ 0 │ 1 │ █████ │
2. │ 0 │ 1 │ 0.905 │ ████▌ │
3. │ 0 │ 2 │ 0.819 │ ████ │
4. │ 0 │ 3 │ 0.741 │ ███▋ │
5. │ 0 │ 4 │ 0.67 │ ███▎ │
6. │ 0 │ 5 │ 0.607 │ ███ │
7. │ 0 │ 6 │ 0.549 │ ██▋ │
8. │ 0 │ 7 │ 0.497 │ ██▍ │
9. │ 0 │ 8 │ 0.449 │ ██▏ │
10. │ 0 │ 9 │ 0.407 │ ██ │
11. │ 0 │ 10 │ 0.368 │ █▊ │
12. │ 0 │ 11 │ 0.333 │ █▋ │
13. │ 0 │ 12 │ 0.301 │ █▌ │
14. │ 0 │ 13 │ 0.273 │ █▎ │
15. │ 0 │ 14 │ 0.247 │ █▏ │
16. │ 0 │ 15 │ 0.223 │ █ │
17. │ 0 │ 16 │ 0.202 │ █ │
18. │ 0 │ 17 │ 0.183 │ ▉ │
19. │ 0 │ 18 │ 0.165 │ ▊ │
20. │ 0 │ 19 │ 0.15 │ ▋ │
21. │ 0 │ 20 │ 0.135 │ ▋ │
22. │ 0 │ 21 │ 0.122 │ ▌ │
23. │ 0 │ 22 │ 0.111 │ ▌ │
24. │ 0 │ 23 │ 0.1 │ ▌ │
25. │ 0 │ 24 │ 0.091 │ ▍ │
26. │ 1 │ 25 │ 1.082 │ █████▍ │
27. │ 1 │ 26 │ 1.979 │ █████████▉ │
28. │ 1 │ 27 │ 2.791 │ █████████████▉ │
29. │ 1 │ 28 │ 3.525 │ █████████████████▋ │
30. │ 1 │ 29 │ 4.19 │ ████████████████████▉ │
31. │ 1 │ 30 │ 4.791 │ ███████████████████████▉ │
32. │ 1 │ 31 │ 5.335 │ ██████████████████████████▋ │
33. │ 1 │ 32 │ 5.827 │ █████████████████████████████▏ │
34. │ 1 │ 33 │ 6.273 │ ███████████████████████████████▎ │
35. │ 1 │ 34 │ 6.676 │ █████████████████████████████████▍ │
36. │ 1 │ 35 │ 7.041 │ ███████████████████████████████████▏ │
37. │ 1 │ 36 │ 7.371 │ ████████████████████████████████████▊ │
38. │ 1 │ 37 │ 7.669 │ ██████████████████████████████████████▎ │
39. │ 1 │ 38 │ 7.939 │ ███████████████████████████████████████▋ │
40. │ 1 │ 39 │ 8.184 │ ████████████████████████████████████████▉ │
41. │ 1 │ 40 │ 8.405 │ ██████████████████████████████████████████ │
42. │ 1 │ 41 │ 8.605 │ ███████████████████████████████████████████ │
43. │ 1 │ 42 │ 8.786 │ ███████████████████████████████████████████▉ │
44. │ 1 │ 43 │ 8.95 │ ████████████████████████████████████████████▊ │
45. │ 1 │ 44 │ 9.098 │ █████████████████████████████████████████████▍ │
46. │ 1 │ 45 │ 9.233 │ ██████████████████████████████████████████████▏ │
47. │ 1 │ 46 │ 9.354 │ ██████████████████████████████████████████████▊ │
48. │ 1 │ 47 │ 9.464 │ ███████████████████████████████████████████████▎ │
49. │ 1 │ 48 │ 9.563 │ ███████████████████████████████████████████████▊ │
50. │ 1 │ 49 │ 9.653 │ ████████████████████████████████████████████████▎ │
└───────┴──────┴──────────────────────┴───────────────────────────────────────────────────┘
```

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/first_value slug: /en/sql-reference/aggregate-functions/reference/first_value
sidebar_position: 7 sidebar_position: 137
--- ---
# first_value # first_value

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/flamegraph slug: /en/sql-reference/aggregate-functions/reference/flame_graph
sidebar_position: 110 sidebar_position: 138
--- ---
# flameGraph # flameGraph

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparray slug: /en/sql-reference/aggregate-functions/reference/grouparray
sidebar_position: 110 sidebar_position: 139
--- ---
# groupArray # groupArray

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparrayinsertat slug: /en/sql-reference/aggregate-functions/reference/grouparrayinsertat
sidebar_position: 112 sidebar_position: 140
--- ---
# groupArrayInsertAt # groupArrayInsertAt

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparrayintersect slug: /en/sql-reference/aggregate-functions/reference/grouparrayintersect
sidebar_position: 115 sidebar_position: 141
--- ---
# groupArrayIntersect # groupArrayIntersect

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparraylast slug: /en/sql-reference/aggregate-functions/reference/grouparraylast
sidebar_position: 110 sidebar_position: 142
--- ---
# groupArrayLast # groupArrayLast

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparraymovingavg slug: /en/sql-reference/aggregate-functions/reference/grouparraymovingavg
sidebar_position: 114 sidebar_position: 143
--- ---
# groupArrayMovingAvg # groupArrayMovingAvg

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparraymovingsum slug: /en/sql-reference/aggregate-functions/reference/grouparraymovingsum
sidebar_position: 113 sidebar_position: 144
--- ---
# groupArrayMovingSum # groupArrayMovingSum

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/grouparraysample slug: /en/sql-reference/aggregate-functions/reference/grouparraysample
sidebar_position: 114 sidebar_position: 145
--- ---
# groupArraySample # groupArraySample

View File

@ -1,6 +1,7 @@
--- ---
toc_priority: 112 slug: /en/sql-reference/aggregate-functions/reference/grouparraysorted
--- sidebar_position: 146
---
# groupArraySorted {#groupArraySorted} # groupArraySorted {#groupArraySorted}

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitand slug: /en/sql-reference/aggregate-functions/reference/groupbitand
sidebar_position: 125 sidebar_position: 147
--- ---
# groupBitAnd # groupBitAnd

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitmap slug: /en/sql-reference/aggregate-functions/reference/groupbitmap
sidebar_position: 128 sidebar_position: 148
--- ---
# groupBitmap # groupBitmap

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitmapand slug: /en/sql-reference/aggregate-functions/reference/groupbitmapand
sidebar_position: 129 sidebar_position: 149
title: groupBitmapAnd title: groupBitmapAnd
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitmapor slug: /en/sql-reference/aggregate-functions/reference/groupbitmapor
sidebar_position: 130 sidebar_position: 150
title: groupBitmapOr title: groupBitmapOr
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitmapxor slug: /en/sql-reference/aggregate-functions/reference/groupbitmapxor
sidebar_position: 131 sidebar_position: 151
title: groupBitmapXor title: groupBitmapXor
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitor slug: /en/sql-reference/aggregate-functions/reference/groupbitor
sidebar_position: 126 sidebar_position: 152
--- ---
# groupBitOr # groupBitOr

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupbitxor slug: /en/sql-reference/aggregate-functions/reference/groupbitxor
sidebar_position: 127 sidebar_position: 153
--- ---
# groupBitXor # groupBitXor

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/groupuniqarray slug: /en/sql-reference/aggregate-functions/reference/groupuniqarray
sidebar_position: 111 sidebar_position: 154
--- ---
# groupUniqArray # groupUniqArray

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/intervalLengthSum slug: /en/sql-reference/aggregate-functions/reference/intervalLengthSum
sidebar_position: 146 sidebar_position: 155
sidebar_label: intervalLengthSum sidebar_label: intervalLengthSum
title: intervalLengthSum title: intervalLengthSum
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/kolmogorovsmirnovtest slug: /en/sql-reference/aggregate-functions/reference/kolmogorovsmirnovtest
sidebar_position: 300 sidebar_position: 156
sidebar_label: kolmogorovSmirnovTest sidebar_label: kolmogorovSmirnovTest
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/kurtpop slug: /en/sql-reference/aggregate-functions/reference/kurtpop
sidebar_position: 153 sidebar_position: 157
--- ---
# kurtPop # kurtPop

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/kurtsamp slug: /en/sql-reference/aggregate-functions/reference/kurtsamp
sidebar_position: 154 sidebar_position: 158
--- ---
# kurtSamp # kurtSamp

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/largestTriangleThreeBuckets slug: /en/sql-reference/aggregate-functions/reference/largestTriangleThreeBuckets
sidebar_position: 312 sidebar_position: 159
sidebar_label: largestTriangleThreeBuckets sidebar_label: largestTriangleThreeBuckets
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/last_value slug: /en/sql-reference/aggregate-functions/reference/last_value
sidebar_position: 8 sidebar_position: 160
--- ---
# last_value # last_value

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/mannwhitneyutest slug: /en/sql-reference/aggregate-functions/reference/mannwhitneyutest
sidebar_position: 310 sidebar_position: 161
sidebar_label: mannWhitneyUTest sidebar_label: mannWhitneyUTest
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/max slug: /en/sql-reference/aggregate-functions/reference/max
sidebar_position: 3 sidebar_position: 162
title: max title: max
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/maxintersections slug: /en/sql-reference/aggregate-functions/reference/maxintersections
sidebar_position: 360 sidebar_position: 163
title: maxIntersections title: maxIntersections
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/maxintersectionsposition slug: /en/sql-reference/aggregate-functions/reference/maxintersectionsposition
sidebar_position: 361 sidebar_position: 164
title: maxIntersectionsPosition title: maxIntersectionsPosition
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/maxmap slug: /en/sql-reference/aggregate-functions/reference/maxmap
sidebar_position: 143 sidebar_position: 165
--- ---
# maxMap # maxMap

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/meanztest slug: /en/sql-reference/aggregate-functions/reference/meanztest
sidebar_position: 303 sidebar_position: 166
sidebar_label: meanZTest sidebar_label: meanZTest
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/median slug: /en/sql-reference/aggregate-functions/reference/median
sidebar_position: 212 sidebar_position: 167
--- ---
# median # median

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/min slug: /en/sql-reference/aggregate-functions/reference/min
sidebar_position: 2 sidebar_position: 168
title: min title: min
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/minmap slug: /en/sql-reference/aggregate-functions/reference/minmap
sidebar_position: 142 sidebar_position: 169
--- ---
# minMap # minMap

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantile slug: /en/sql-reference/aggregate-functions/reference/quantile
sidebar_position: 200 sidebar_position: 170
--- ---
# quantile # quantile

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantileGK slug: /en/sql-reference/aggregate-functions/reference/quantileGK
sidebar_position: 204 sidebar_position: 175
--- ---
# quantileGK # quantileGK

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantilebfloat16 slug: /en/sql-reference/aggregate-functions/reference/quantilebfloat16
sidebar_position: 209 sidebar_position: 171
title: quantileBFloat16 title: quantileBFloat16
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantileddsketch slug: /en/sql-reference/aggregate-functions/reference/quantileddsketch
sidebar_position: 211 sidebar_position: 171
title: quantileDD title: quantileDD
--- ---

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiledeterministic slug: /en/sql-reference/aggregate-functions/reference/quantiledeterministic
sidebar_position: 206 sidebar_position: 172
--- ---
# quantileDeterministic # quantileDeterministic

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantileexact slug: /en/sql-reference/aggregate-functions/reference/quantileexact
sidebar_position: 202 sidebar_position: 173
--- ---
# quantileExact Functions # quantileExact Functions

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantileexactweighted slug: /en/sql-reference/aggregate-functions/reference/quantileexactweighted
sidebar_position: 203 sidebar_position: 174
--- ---
# quantileExactWeighted # quantileExactWeighted

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantileInterpolatedWeighted slug: /en/sql-reference/aggregate-functions/reference/quantileInterpolatedWeighted
sidebar_position: 203 sidebar_position: 176
--- ---
# quantileInterpolatedWeighted # quantileInterpolatedWeighted

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiles slug: /en/sql-reference/aggregate-functions/reference/quantiles
sidebar_position: 201 sidebar_position: 177
--- ---
# quantiles Functions # quantiles Functions

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiletdigest slug: /en/sql-reference/aggregate-functions/reference/quantiletdigest
sidebar_position: 207 sidebar_position: 178
--- ---
# quantileTDigest # quantileTDigest

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiletdigestweighted slug: /en/sql-reference/aggregate-functions/reference/quantiletdigestweighted
sidebar_position: 208 sidebar_position: 179
--- ---
# quantileTDigestWeighted # quantileTDigestWeighted

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiletiming slug: /en/sql-reference/aggregate-functions/reference/quantiletiming
sidebar_position: 204 sidebar_position: 180
--- ---
# quantileTiming # quantileTiming

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/quantiletimingweighted slug: /en/sql-reference/aggregate-functions/reference/quantiletimingweighted
sidebar_position: 205 sidebar_position: 181
--- ---
# quantileTimingWeighted # quantileTimingWeighted

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/rankCorr slug: /en/sql-reference/aggregate-functions/reference/rankCorr
sidebar_position: 145 sidebar_position: 182
--- ---
# rankCorr # rankCorr

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/simplelinearregression slug: /en/sql-reference/aggregate-functions/reference/simplelinearregression
sidebar_position: 220 sidebar_position: 183
--- ---
# simpleLinearRegression # simpleLinearRegression

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/singlevalueornull slug: /en/sql-reference/aggregate-functions/reference/singlevalueornull
sidebar_position: 220 sidebar_position: 184
--- ---
# singleValueOrNull # singleValueOrNull

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/skewpop slug: /en/sql-reference/aggregate-functions/reference/skewpop
sidebar_position: 150 sidebar_position: 185
--- ---
# skewPop # skewPop

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/skewsamp slug: /en/sql-reference/aggregate-functions/reference/skewsamp
sidebar_position: 151 sidebar_position: 186
--- ---
# skewSamp # skewSamp

View File

@ -1,6 +1,6 @@
--- ---
slug: /en/sql-reference/aggregate-functions/reference/sparkbar slug: /en/sql-reference/aggregate-functions/reference/sparkbar
sidebar_position: 311 sidebar_position: 187
sidebar_label: sparkbar sidebar_label: sparkbar
--- ---

Some files were not shown because too many files have changed in this diff Show More