v.20.9
Backward Incompatible Changes
1Bug Fix
106- Fix bug in ALTER UPDATE mutation with Nullable columns
- Fix Decimal Multiplication Result Due to Incorrect Scale
- Fix Incorrect Sorting Order of Nullable Column
- Fixed Comparison Issue with FixedString Primary Key in Index Analysis
- Fix bug in merges assignment for partitioned tables with single part
- Buffer Overflow Vulnerability in Function Bar Addressed
- Publish CPU Frequencies per Logical Core in system.asynchronous_metrics
- Fixed .metadata.tmp File Exists Error in MaterializeMySQL Database Engine
- Fix Memory Limit Exceeded Error in extractAllGroups Function
- Fix SIGSEGV on INSERT into StorageFile
- Fix Rare Error in SELECT Queries with Dependent DEFAULT Expressions
- Fix Monotonicity Detection Bug in Int->Int Cast for Signed Types
- Fixed default database name in materialized view metadata for ALTER MODIFY QUERY
- Fix function has for LowCardinality and Nullable types
- Cleanup Data Directory After Zookeeper Exceptions in CREATE Query for ReplicatedMergeTree Engine
- Fix rare segfaults in -Resample function due to overflow with large parameters
- Check for Array Size Overflow in topK Aggregate Function
- Proxy management transition from SysVinit to systemd
- Stop Query Execution on PipelineExecutor Exceptions to Prevent Hangs
- Fix crash during ALTER query for AS table_function tables
- Fix ALTER LIVE VIEW Query Exception with REFRESH Command
- Fix QueryPlan Lifetime for Nested Interpreter in EXPLAIN PIPELINE
- Better Tuple Size Check in SSD Cache for External Dictionaries Fixes #13981
- Disallow CODEC on ALIAS column type
- Fix GRANT ALL Statement for Non-Global Level
- Fix arrayJoin() Capturing in Lambda to Resolve Exception
- Fix "Cannot find column" error in MATERIALIZED VIEW with ARRAY JOIN
- Fix Race Condition in AMQP-CPP
- Fix Resource Destruction Order in ReadFromStorage to Prevent Crashes
- Fixed "Element ... is not a constant expression" Error in JSON Function Usage
- Prevent Error Message for Available Disk Space Calculation
- Significant Memory Usage Reduction in AggregatingInOrderTransform
- Mutation Fix for Hanging Issue After MOVE, REPLACE, DETACH, or DROP PARTITION
- Fix ILIKE Case Sensitivity Bug After LIKE Execution
- Fix Missing Columns Errors Based on Dependencies in ClickHouse
- Fix DDLWorker Event Subscription Bug Causing Query Hangs in ON CLUSTER
- Report error for incorrect type in boundingRatio function's second argument
- Fix bug with empty time_zone argument in toStartOfDay queries
- Fix race condition in MergeTree table operations
- Fix rare race condition on server startup with system.logs enabled
- Fix uninitialized memory usage in QueryLog's memory_usage field
- Fix instance crash with joinGet and LowCardinality types
- Fix bug in Buffer engine preventing data insertion after ALTER query
- Adjust Decimals Field Size in MySQL Column Definition
- Fixed Invalid Argument Error on DDL Query Execution in ClickHouse Docker on Mac OS
- Fix Predicate Push Down for Subqueries with finalizeAggregation Function
- Fix Server Startup Hang with ZooKeeper Configuration Retrieval
- Fix Double Free in dictGet Function on Exception Handling
- Fix Group By with Totals, Rollup, Cube Modifiers and Min/Max Functions
- Fix Async Distributed INSERT with prefer_localhost_replica=0 and Internal Replication
- Fix Memory Leak in TwoLevelStringHashTable Implementation
- Fix memory overallocation issue (#14560)
- Fix query hang for ReplicatedVersionedCollapsingMergeTree in ALTER MODIFY ORDER BY
- Fix Collate and Charset Name Parser; Support Length=0 for String Type
- Allow Direct Layout for Dictionaries with Complex Keys
- Prevent Replica Hang After Replication Error During Inactivity
- Fix rare segfaults in MaterializedView with concurrent table drops
- Fix Ambiguity in Parsing Settings Profiles for CREATE USER Command
- Fix crash on database creation failure
- Fixed Concurrent DDL Errors and Deadlocks in Atomic Database Engine
- Fix empty result issue in Distributed table queries with WHERE, PREWHERE, and GLOBAL IN
- Fix Deadlocks in RBAC
- Fix Block Structure Mismatch in SELECT...ORDER BY DESC Queries After ALTER MODIFY COLUMN
- Fix select count() inaccuracy for MaterializeMySQL
- Fix for Virtual Column Query Issues in ClickHouse
- Fixed default value of max_replicated_logs_to_keep and improved lost replica recovery process
- Fix "Cannot add simple transform to empty Pipe" Error in Buffer Table Structure Handling
- Fixed S3 Table Function Bug with URL Region Configuration
- Decrement ReadonlyReplica Metric When Detaching Read-Only Tables
- Throw Error for Single Parameter in ReplicatedMergeTree
- Fix Silent Crashes in ClickHouse Profiler on Specific glibc Versions
- Fix LowCardinality Type Parsing Issue in AVRO
- Fix Metadata Growth in MySQL to ClickHouse Replication with GTID Set Management
- Fix DROP TABLE for Distributed to Avoid Race Condition with INSERT
- Fix Handling of Large Entries in Replication Queue
- Fixed Inconsistent Return Data Filtration Behavior
- Fix MySQL Database Query Exception Handling
- Fix ON CLUSTER Query Hang in Non-Leader ReplicatedMergeTreeTables
- Reresolve IP of format_avro_schema_registry_url on errors
- Fix server crash during column alteration with ongoing SELECT queries
- Install Script: Ensure Subdirectories Creation in Config Folders for Docker Builds
- Fix Illegal Argument Type Error in ORDER BY Queries
- Abort Multipart Upload if WriteBufferFromS3 is Empty
- Fix Crash When Using any Without Arguments
- Fix IN operator for multiple columns with transform_null_in enabled
- Fix for optimize_read_in_order/optimize_aggregation_in_order with max_threads>0 in ORDER BY
- fix remote query failure with 'if' suffix aggregate function in ClickHouse
- Query Cancellation Improvement on Exception Handling
- Do Not Restore WAL Parts if in_memory_parts_enable_wal is Disabled
- Fixed segfault in Distributed table insertion with insufficient space
- Fixed ClickHouse MySQL Connection Resumption Issue
- Fixed RENAME Query Error in ClickHouse on WSL
- Fix multiline comment issues in clickhouse-client interactive mode
- Fix rare server connection issue
- Fix alter query hang on different replica when mutation is killed
- Fix underestimated mark cache size bug in ClickHouse
- Fix ORDER BY with optimize_redundant_functions_in_order_by setting
- Fix Duplicates Caused by Incorrect Optimization After DISTINCT
- Fix crash reading JOIN table with LowCardinality types
- Fix Invalid Set Index Invalidation with Const Columns in Subquery
- Fix ColumnConst Comparison to Prevent Crash
- Fixed Crash on CREATE TABLE AS Query with Table Function
- Bug Fix for fuzzBits Function Related to Issue #16980
- Avoid Network Errors for Cancelled Remote Queries
- TODO #16866 by tavplubix
- Return Affected Rows for INSERT Queries in ClickHouse via MySQL Protocol
Build/Testing/Packaging Improvement
5- Lower binary size in debug build by removing debug info from Functions for legacy Yandex project
- Prepare for Build with Clang 11
- Fix Logic in Backport Script for Red Color Labels
- Integration Tests Use Default Base Config with Explicit Config Changes
- Update timezone data to version 2020d and cctz to latest master
Experimental Feature
1Improvement
18- Allow Multi-Volume Storage Config in Distributed Storage
- Disallow Empty time_zone Argument in toStartOf* Functions
- MySQL Handler Returns OK for Ignored SET Statements After Handshake
- TTLs Applied During Merge for Non-Materialized Records
- clickhouse-obfuscator now supports UUID type
- Added system_events_show_zero_values setting as proposed in #11384
- Implicitly Convert Primary Key to Not Null in MaterializeMySQL
- Replace Boost Multiprecision 256-bit Integers with Custom Implementation
- Add Default Compression Codec for Parts in system.part_log
- Add Precision Argument for DateTime Type
- Added requirepass authorization for Redis external dictionary
- Improvements in RabbitMQ Engine and Enhanced Failure Handling
- Support Custom Codecs in Compact Parts
- Change Version Column Type in VersionedCollapsingMergeTree with ALTER Query
- Allow ALTER ON CLUSTER Queries Regardless of Internal Replication Setting
- Unfold database, table, and uuid macros in ReplicatedMergeTree arguments during table creation
- Enable SNI support for secure ClickHouse server connections behind TLS proxy
- Conditional Aggregate Functions Should Return NULL for Missing Rows with Nullable Arguments