mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-27 01:51:59 +00:00
19 KiB
19 KiB
ClickHouse release v20.12.1.5236-prestable FIXME as compared to v20.11.1.5109-prestable
Backward Incompatible Change
- Accept user settings related to file formats (e.g.
format_csv_delimiter
) in theSETTINGS
clause when creating a table that usesFile
engine, and use these settings in allINSERT
s andSELECT
s. The file format settings changed in the current user session, or in theSETTINGS
clause of a DML query itself, no longer affect the query. #16591 (Alexander Kuzmenkov). - Enable
use_compact_format_in_distributed_parts_names
by default (see the documentation for the reference). #16728 (Azat Khuzhin).
New Feature
- Added new ALTER UPDATE/DELETE IN PARTITION syntax. #13403 (Vladimir Chebotarev).
- Add StorageEmbeddedRocksdb Engine. #15073 (sundyli).
- Introduce the query
ALTER TABLE ... DROP|DETACH PART 'part_name'
. #15511 (nvartolomei). - Make it possible to change the path to history file in
clickhouse-client
using the--history_file
parameter. #15960 (Maksim Kita). - Updated DateTime, DateTime64 formatting to accept string Date literal format. #16040 (Maksim Kita).
- Add setting
aggregate_functions_null_for_empty
, this option will rewrite all aggregate functions in a query, adding -OrNull suffix to them. fix 10273. #16123 (flynn). - Add COLLATE support for Nullable, LowCardinality, Array and Tuple, where nested type is String. Also refactor the code associated with collations in ColumnString.cpp. #16273 (Kruglov Pavel).
- Possibility to distribute the merges between different replicas. Introduces the
execute_merges_on_single_replica_time_threshold
mergetree setting. #16424 (filimonov). - add
*.xz
compression/decompression support.It enables using*.xz
infile()
function.This closes #8828. #16578 (Abi Palagashvili). - Add new
cmath
functions: - acosh - asinh - atan2 - atanh - cosh - hypot - log1p - sinh. #16636 (Konstantin Malanchev). - Add a possibility to input enum value as it's id in TSV and CSV formats by default. #16834 (Kruglov Pavel).
- New tcpPort() function returns TCP port listened by this server. #17134 (Ivan).
Performance Improvement
- Now we can safely prune partitions with exact match. Useful case: Suppose table is partitioned by intHash64(x) % 100 and the query has condition on intHash64(x) % 100 verbatim, not on x. #16253 (Amos Bird).
- Use Floyd-Rivest algorithm, it should be the best for the ClickHouse use case of partial sorting. Bechmarks are in https://github.com/danlark1/miniselect and here. #16825 (Daniel Kutenin).
Improvement
- Add
VIEW
subquery description toEXPLAIN
. Limit push down optimisation forVIEW
. Add local replicas ofDistributed
to query plan. #14936 (Nikolai Kochetov). - Made
indexOf()
use BloomFilter. #14977 (achimbab). - Throw exception about right sync privileges when MySQL sync user has error privileges. #15977 (TCeason).
- Fix possible stack overflow if a loop of materialized views is created. This closes #15732. #16048 (Alexey Milovidov).
- Support SNI in https connections to remote resources. This will allow to connect to Cloudflare servers that require SNI. This fixes #10055. #16252 (Alexey Milovidov).
- Now
ReplicatedMergeTree
tree engines family uses a separate thread pool for replicated fetches. Size of the pool limited by settingbackground_fetches_pool_size
which can be tuned with a server restart. The default value of the setting is 3 and it means that the maximum amount of parallel fetches is equal to 3 (and it allows to utilize 10G network). Fixes #520. #16390 (alesapin). - Now,
<auxiliary_zookeepers>
configuration can be changed inconfig.xml
and reloaded without server startup. #16627 (Amos Bird). - Allow reinterpret between integers and floats of the same size. fix 16640. #16657 (flynn).
- Workaround for use S3 with nginx server as proxy. Nginx currenty does not accept urls with empty path like
http://domain.com?delete
, but vanilla aws-sdk-cpp produces this kind of urls. This commit uses patched aws-sdk-cpp version, which makes urls with "/" as path in this cases, likehttp://domain.com/?delete
. #16709 (ianton-ru). - Remove empty directories for async INSERT at start of Distributed engine. #16729 (Azat Khuzhin).
- Usability improvement: better suggestions in syntax error message when
CODEC
expression is misplaced inCREATE TABLE
query. This fixes #12493. #16768 (Alexey Milovidov). - Better exception message when configuration for distributed DDL is absent. This fixes #5075. #16769 (Nikita Mikhaylov).
- Apply
use_compact_format_in_distributed_parts_names
for each INSERT (with internal_replication). #16788 (Azat Khuzhin). - Server refused to startup with exception message if wrong config is given (
metric_log
.collect_interval_milliseconds
is missing). #16815 (Ivan). - Add cutToFirstSignificantSubdomainWithWWW(). #16845 (Azat Khuzhin).
- Throw an informative error message when doing ATTACH/DETACH TABLE . Before this PR,
detach table <dict>
works but leads to an ill-formed in-memory metadata. #16885 (Amos Bird). - Remove empty parts after they were pruned by TTL, mutation, or collapsing merge algorithm. #16895 (Anton Popov).
- Make it possible to connect to
clickhouse-server
secure endpoint which requires SNI. This is possible whenclickhouse-server
is hosted behind TLS proxy. #16938 (filimonov). - Set default
host
andport
parameters forSOURCE(CLICKHOUSE(...))
to current instance and set defaultuser
value to'default'
. #16997 (Vladimir C). - Add ability to output all rows as a JSON array in the
JSONEachRow
format, controlled by theoutput_format_json_array_of_rows
setting. #17152 (Alexander Kuzmenkov). - Allow formatting named tuples as JSON objects when using JSON input/output formats, controlled by the
output_format_json_named_tuples_as_objects
setting, disabled by default. #17175 (Alexander Kuzmenkov). - Correct grammar in error message in JSONEachRow, JSONCompactEachRow, and RegexpRow input formats. #17205 (nico piderman).
Bug Fix
- fixes #16574 fixes #16231 fix remote query failure when using 'if' suffix aggregate function. #16610 (Winter Zhang).
- Fixed #16081. #16613 (Nikita Mikhaylov).
- This will fix optimize_read_in_order/optimize_aggregation_in_order with max_threads>0 and expression in ORDER BY. #16637 (Azat Khuzhin).
- Fixed uncontrolled growth of TDigest. #16680 (hrissan).
- Turn off parallel parsing when there is no enough memory for all threads to work simultaneously. Also there could be exceptions like "Memory limit exceeded" when somebody will try to insert extremely huge rows (> min_chunk_bytes_for_parallel_parsing), because each piece to parse has to be independent set of strings (one or more). #16721 (Nikita Mikhaylov).
- Fix
IN
operator over several columns and tuples with enabledtransform_null_in
setting. Fixes #15310. #16722 (Anton Popov). - Mask password in data_path in the system.distribution_queue. #16727 (Azat Khuzhin).
- Not for changelog. #16757 (Alexander Tokmakov).
- If no memory can be allocated while writing table metadata on disk, broken metadata file can be written. #16772 (Alexey Milovidov).
- Fix crash when using
any
without any arguments. This is for #16803 . cc @azat. #16826 (Amos Bird). - Abort multipart upload if no data was written to WriteBufferFromS3. #16840 (Pavel Kovalenko).
- Fix rare silent crashes when query profiler is on and ClickHouse is installed on OS with glibc version that has (supposedly) broken asynchronous unwind tables for some functions. This fixes #15301. This fixes #13098. #16846 (Alexey Milovidov).
- Prevent clickhouse server crashes when using TimeSeriesGroupSum. #16865 (filimonov).
- Fix possible error
Illegal type of argument
for queries withORDER BY
. Fixes #16580. #16928 (Nikolai Kochetov). - Install script should always create subdirs in config folders. This is only relevant for Docker build with custom config. #16936 (filimonov).
- Blame info was not calculated correctly in
clickhouse-git-import
. #16959 (Alexey Milovidov). - Fix possible server crash after
ALTER TABLE ... MODIFY COLUMN ... NewType
whenSELECT
haveWHERE
expression on altering column and alter doesn't finished yet. #16968 (Amos Bird). - Reresolve the IP of the
format_avro_schema_registry_url
in case of errors. #16985 (filimonov). - Fixed wrong result in big integers (128, 256 bit) when casting from double. #16986 (Mike Kot).
- Avoid unnecessary network errors for remote queries which may be cancelled while execution, like queries with
LIMIT
. #17006 (Azat Khuzhin). - Fix LLVM's libunwind in the case when CFA register is RAX. This is the bug in LLVM's libunwind. We already have workarounds for this bug. #17046 (Alexey Milovidov).
- Fixed crash on
CREATE TABLE ... AS some_table
query whensome_table
was createdAS table_function()
Fixes #16944. #17072 (Alexander Tokmakov). - Fix bug when
ON CLUSTER
queries may hang forever for non-leader ReplicatedMergeTreeTables. #17089 (alesapin). - fixes #16923 fixes #15883 Fix MaterializeMySQL SYNC failure when the modify MySQL binlog_checksum. #17091 (Winter Zhang).
- Improve adaptive index granularity calculation when incoming blocks of data differ in bytes size a lot. #17120 (alesapin).
- Fix ColumnConst comparison which leads to crash. This fixed #17088 . #17135 (Amos Bird).
- fix
toInt256(inf)
stack overflow. close #17235. #17257 (flynn).
Build/Testing/Packaging Improvement
- Fix UBSan report when trying to convert infinite floating point number to integer. This closes #14190. #16677 (Alexey Milovidov).
- Fix UBSan report in cache dictionaries. This closes #12641. #16763 (Alexey Milovidov).
- Do not instrument 3rd-party libraries with UBSan. #16764 (Alexey Milovidov).
- Fix UBSan report in Poco. This closes #12719. #16765 (Alexey Milovidov).
- fix query_db_generate build error. #16859 (hhhhhzhen).
- Try fix fasttest submodule clone #16132 https://clickhouse-test-reports.s3.yandex.net/16132/ad569f6d1bd2ce545db280daf7fbb9b8335de87b/fast_test.html#fail1. #16908 (Winter Zhang).
- Fixing unstable test in tests/testflows/ldap/external_user_directory/tests/authentications.py. #17161 (vzakaznikov).
- bump up rocksdb version to v6.14.5. #17179 (sundyli).
- Update embedded timezone data to version 2020d (also update cctz to the latest master). #17204 (filimonov).
- Improvements in coverage building images. #17233 (alesapin).
std::logic_error
is used at line 294 ofbase/common/StringRef.h
, so the appropriate<stdexcept>
header is required. #17256 (Matwey V. Kornilov).
NO CL ENTRY
- NO CL ENTRY: 'sync MySQL DDL atomicly'. #16704 (TCeason).
- NO CL ENTRY: 'RBAC Testflows - Server log intrumentation for debug and new ALTER tests'. #16719 (MyroTk).
- NO CL ENTRY: 'Enabling existing testflows RBAC tests.'. #16773 (MyroTk).
- NO CL ENTRY: 'Bump protobuf from 3.13.0 to 3.14.0 in /docs/tools'. #17056 (dependabot-preview[bot]).
- NO CL ENTRY: 'Fixed a problem with the translation of the document'. #17218 (qianmoQ).