ClickHouse v20.4.8.99 Release Notes
Release Date: 2020-08-10 // over 3 years ago-
๐ Bug Fix
- ๐ Fixed error in
parseDateTimeBestEffort
function when unix timestamp was passed as an argument. This fixes #13362. #13441 (alexey-milovidov). - ๐ Fixed potentially low performance and slightly incorrect result for
uniqExact
,topK
,sumDistinct
and similar aggregate functions called on Float types with NaN values. It also triggered assert in debug build. This fixes #12491. #13254 (alexey-milovidov). - ๐ Fixed function if with nullable constexpr as cond that is not literal NULL. Fixes #12463. #13226 (alexey-milovidov).
- ๐ Fixed assert in
arrayElement
function in case of array elements are Nullable and array subscript is also Nullable. This fixes #12172. #13224 (alexey-milovidov). - ๐ Fixed wrong index analysis with functions. It could lead to pruning wrong parts, while reading from
MergeTree
tables. Fixes #13060. Fixes #12406. #13081 (Anton Popov). - ๐ Fixed unnecessary limiting for the number of threads for selects from local replica. #12840 (Nikolai Kochetov).
- ๐ Fixed possible extra overflow row in data which could appear for queries
WITH TOTALS
. #12747 (Nikolai Kochetov). - ๐ Fixed performance with large tuples, which are interpreted as functions in
IN
section. The case when user writeWHERE x IN tuple(1, 2, ...)
instead ofWHERE x IN (1, 2, ...)
for some obscure reason. #12700 (Anton Popov). - Fixed memory tracking for
input_format_parallel_parsing
(by attaching thread to group). #12672 (Azat Khuzhin). - ๐ Fixed #12293 allow push predicate when subquery contains with clause. #12663 (Winter Zhang).
- ๐ Fixed #10572 fix bloom filter index with const expression. #12659 (Winter Zhang).
- ๐ Fixed
SIGSEGV
inStorageKafka
when broker is unavailable (and not only). #12658 (Azat Khuzhin). - โ Added support for function
if
withArray(UUID)
arguments. This fixes #11066. #12648 (alexey-milovidov). - ๐ Fixed race condition in external dictionaries with cache layout which can lead server crash. #12566 (alesapin).
- โ Removed data for Distributed tables (blocks from async INSERTs) on DROP TABLE. #12556 (Azat Khuzhin).
- Fixed bug which lead to broken old parts after
ALTER DELETE
query whenenable_mixed_granularity_parts=1
. Fixes #12536. #12543 (alesapin). - ๐ Better exception for function
in
with invalid number of arguments. #12529 (Anton Popov). - ๐ Fixed performance issue, while reading from compact parts. #12492 (Anton Popov).
- ๐ Fixed crash in JOIN with dictionary when we are joining over expression of dictionary key:
t JOIN dict ON expr(dict.id) = t.id
. Disable dictionary join optimisation for this case. #12458 (Artem Zuikov). - ๐ Fixed possible segfault if StorageMerge. Closes #12054. #12401 (tavplubix).
- ๐ Fixed order of columns in
WITH FILL
modifier. Previously order of columns ofORDER BY
statement wasn't respected. #12306 (Anton Popov). - ๐ Avoid "bad cast" exception when there is an expression that filters data by virtual columns (like
_table
inMerge
tables) or by "index" columns in system tables such as filtering by database name when querying fromsystem.tables
, and this expression returnsNullable
type. This fixes #12166. #12305 (alexey-milovidov). - ๐ Show error after TrieDictionary failed to load. #12290 (Vitaly Baranov).
- ๐ The function
arrayFill
worked incorrectly for empty arrays that may lead to crash. This fixes #12263. #12279 (alexey-milovidov). - ๐ Implemented conversions to the common type for
LowCardinality
types. This allows to execute UNION ALL of tables with columns of LowCardinality and other columns. This fixes #8212. This fixes #4342. #12275 (alexey-milovidov). - ๐ Fixed the behaviour when during multiple sequential inserts in
StorageFile
header for some special types was written more than once. This fixed #6155. #12197 (Nikita Mikhaylov). - ๐ Fixed logical functions for UInt8 values when they are not equal to 0 or 1. #12196 (Alexander Kazakov).
- Cap max_memory_usage* limits to the process resident memory. #12182 (Azat Khuzhin).
- ๐ Fixed
dictGet
arguments check during GROUP BY injective functions elimination. #12179 (Azat Khuzhin). - ๐ Don't split the dictionary source's table name into schema and table name itself if ODBC connection doesn't support schema. #12165 (Vitaly Baranov).
- ๐ Fixed wrong logic in
ALTER DELETE
that leads to deleting of records when condition evaluates to NULL. This fixes #9088. This closes #12106. #12153 (alexey-milovidov). - ๐ Fixed transform of query to send to external DBMS (e.g. MySQL, ODBC) in presense of aliases. This fixes #12032. #12151 (alexey-milovidov).
- ๐ Fixed potential overflow in integer division. This fixes #12119. #12140 (alexey-milovidov).
- ๐ Fixed potential infinite loop in
greatCircleDistance
,geoDistance
. This fixes #12117. #12137 (alexey-milovidov). - ๐ Normalize "pid" file handling. In previous versions the server may refuse to start if it was killed without proper shutdown and if there is another process that has the same pid as previously runned server. Also pid file may be removed in unsuccessful server startup even if there is another server running. This fixes #3501. #12133 (alexey-milovidov).
- ๐ Fixed handling dependency of table with ENGINE=Dictionary on dictionary. This fixes #10994. This fixes #10397. #12116 (Vitaly Baranov).
- ๐ Fixed performance for selects with
UNION
caused by wrong limit for the total number of threads. Fixes #12030. #12103 (Nikolai Kochetov). - ๐ Fixed segfault with
-StateResample
combinators. #12092 (Anton Popov). - Fixed empty
result_rows
andresult_bytes
metrics insystem.quey_log
for selects. Fixes #11595. #12089 (Nikolai Kochetov). - ๐ Fixed unnecessary limiting the number of threads for selects from
VIEW
. Fixes #11937. #12085 (Nikolai Kochetov). - ๐ Fixed possible crash while using wrong type for
PREWHERE
. Fixes #12053, #12060. #12060 (Nikolai Kochetov). - ๐ Fixed error
Expected single dictionary argument for function
for functiondefaultValueOfArgumentType
withLowCardinality
type. Fixes #11808. #12056 (Nikolai Kochetov). - ๐ Fixed error
Cannot capture column
for higher-order functions withTuple(LowCardinality)
argument. Fixes #9766. #12055 (Nikolai Kochetov). - ๐ Parse tables metadata in parallel when loading database. This fixes slow server startup when there are large number of tables. #12045 (tavplubix).
- ๐ Make
topK
aggregate function return Enum for Enum types. This fixes #3740. #12043 (alexey-milovidov). - ๐ Fixed constraints check if constraint is a constant expression. This fixes #11360. #12042 (alexey-milovidov).
- ๐ Fixed incorrect comparison of tuples with
Nullable
columns. Fixes #11985. #12039 (Nikolai Kochetov). - Fixed calculation of access rights when allow_introspection_functions=0. #12031 (Vitaly Baranov).
- ๐ Fixed wrong result and potential crash when invoking function
if
with arguments of typeFixedString
with different sizes. This fixes #11362. #12021 (alexey-milovidov). - ๐ A query with function
neighbor
as the only returned expression may return empty result if the function is called with offset-9223372036854775808
. This fixes #11367. #12019 (alexey-milovidov). - ๐ Fixed calculation of access rights when allow_ddl=0. #12015 (Vitaly Baranov).
- ๐ Fixed potential array size overflow in generateRandom that may lead to crash. This fixes #11371. #12013 (alexey-milovidov).
- ๐ Fixed potential floating point exception. This closes #11378. #12005 (alexey-milovidov).
- ๐ Fixed wrong setting name in log message at server startup. #11997 (alexey-milovidov).
- ๐ Fixed
Query parameter was not set
inValues
format. Fixes #11918. #11936 (tavplubix). - ๐ Keep aliases for substitutions in query (parametrized queries). This fixes #11914. #11916 (alexey-milovidov).
- ๐ Fixed bug with no moves when changing storage policy from default one. #11893 (Vladimir Chebotarev).
- ๐ Fixed potential floating point exception when parsing
DateTime64
. This fixes #11374. #11875 (alexey-milovidov). - Fixed memory accounting via HTTP interface (can be significant with
wait_end_of_query=1
). #11840 (Azat Khuzhin). - ๐ Parse metadata stored in zookeeper before checking for equality. #11739 (Azat Khuzhin).
๐ Performance Improvement
- ๐ Index not used for IN operator with literals", performance regression introduced around v19.3. This fixes "#10574. #12062 (nvartolomei).
๐ Build/Testing/Packaging Improvement
- โก๏ธ Install
ca-certificates
before the firstapt-get update
in Dockerfile. #12095 (Ivan Blinkov).
- ๐ Fixed error in