v.20.1
Bug Fix
239- Fix rare exception "Cannot drain connections: cancel first"
- Fixed ClickHouse Bug with Lambda Functions in ALTER UPDATE/DELETE for Replicated Engines
- Fix parseDateTimeBestEffort for RFC-2822 Strings on Tuesdays and Thursdays
- Fix Column Name Clashes in JOIN Constants
- Fix Infinite Query Execution on LIMIT with Infinite Sources
- Fix move-to-prewhere optimization with arrayJoin functions
- Add Support for Nondeterministic Functions in Mutations with allow_nondeterministic_mutations Setting
- Convert Blocks on INSERT for Distributed Engine when Structure Mismatches
- Fix SIGSEGV on INSERT into Distributed table with differing structure
- Fix Row Loss in JOIN and UNION ALL Queries
- Add Identifier Argument Support for MySQL Database Engine
- Fix Memory Corruption Bug in ClickHouse Dictionary Source from Localhost Server
- Fix Error in GroupingAggregatedTransform with Mixed Aggregation Levels
- Fix segmentation fault in GROUP BY for string keys with trailing zero bytes
- Fix bug retrieving tables during query processing in some databases
- Fix 'Not found column in block' error with JOIN and TOTALS
- Fix ON CLUSTER DDL Queries Freezing on Server Startup
- Fix TRUNCATE for Join Table Engine
- Fix 'scalar does not exist' Error in ALTER Queries
- Fix race condition in ReplicatedMergeTree between drop and optimize
- Fixed DeleteOnDestroy Logic in ATTACH PART Functionality
- Fixed Two-Level Aggregation Incompatibility in ClickHouse Versions 20.1 and Earlier
- Fixed Data Corruption in LowCardinality(FixedString) Key Column of SummingMergeTree
- Fixed Client Close Bug with HTTP Requests in ClickHouse
- Fixed bug in SYSTEM DROP DNS CACHE affecting user connection checks
- Fixed Scalar Results in Inner Query of MATERIALIZED VIEW with Dependent Table
- Fixed mutation hang issue when all parts are done
- Fixed Overflow at Unix Epoch for Timezones with Fractional UTC Offset
- Fixed Improper Shutdown of Distributed Storage
- Fixed Numeric Overflow in simpleLinearRegression for Large Integers
- Fixed Metadata Directory Removal on Database Attach Failure
- Added Argument Check for BloomFilter Index Creation
- Fixed Incomplete Results in ARRAY JOIN with ORDER BY and LIMIT
- Prefer fallback_to_stale_replicas over skip_unavailable_shards
- Fixed Flattening of Array(Tuple(...)) Data Types
- Fixed HashTable Compilation Error When Reading HashMap from Buffer
- Fixed Pipeline Stuck Error in ConcatProcessor
- Fixed Pipeline Stuck Error with Max Rows to Group By Configuration
- Fixed Bugs Related to Quorum Data Insertion and Deletion in ClickHouse
- Fixed incompatibility with version mismatches in remote server configurations
- Fix for Data Compression Error with Direct IO and PREWHERE in ClickHouse
- Fix Compressed Size Calculation for Codecs
- Fix server crash with non-literal compression codec arguments
- Fix pointInPolygon to handle NaN points
- Fixed geohashesInBox for Out-of-Range Arguments
- Fix Pipeline Stuck Error for External Sort and Limit Queries
- Fix crash in quantilesExactWeightedArray
- Make MATERIALIZED VIEW writing parallel with parallel_view_processing = 1
- Fix visitParamExtractRaw for Unbalanced JSON Strings
- Fix rare race condition in ThreadPool
- Fix Uninitialized Memory Issue in Interval Conversion
- Fix Index Analysis Issue with Array Column in Primary Key
- Fix Execution Speed Estimation Bugs and Improve Usability in ClickHouse
- Fix crash with malformed Protobuf data handling
- Fix Error with Higher-Order Functions and LowCardinality Arrays
- Fix incorrect data skipping index calculation during background merge in ClickHouse
- Remove Logging from Mutation Finalization Task if No Finalizations Occur
- Fixed Bugs in parseDateTime64BestEffort Argument Resolution
- Fix raw data size in getRawData() method
- Fix Backward Compatibility with Tuples in Distributed Tables
- Fix SIGSEGV in StringHashTable for Non-Existent Keys
- Fixed bug in ReplicatedMergeTree causing ALTER on OPTIMIZE query to hang
- Fix Column Order in Block::sortColumns() with Buffer Engine Test
- Fix ODBC Bridge Identifier Quoting Issue
- Fix UBSan and MSan Report in DateLUT
- Improve Key Condition Type Conversion Using src_type
- Fix parallel_view_processing to ensure all MATERIALIZED VIEW insertions complete despite exceptions
- Fix OrNull and OrDefault Combinators with State
- Fix Disappearing Totals in Query Filters
- Fix Duplicate IN Operator Usages in Query
- Fix Parameter Order in AggregateTransform Constructor
- Fix Parallel Execution of Remote Queries with Memory Efficient Aggregation Enabled
- Fix Optimization of Predicates for Distributed Queries with HAVING Clause
- Fix BloomFilter false positive error to ensure value is a double between 0 and 1
- Fix SELECT for ALIAS with differing default expression and column types
- Implemented DateTime64 and String Comparison in ClickHouse
- Fix PREWHERE and ARRAY JOIN Offset Size Error in Queries
- Fix Excess Lock for Structure During Alter
- Fix rare crash with Nullable column in prewhere condition
- Don't Allow arrayJoin Inside Higher Order Functions
- Fix unexpected behavior in queries involving SELECT with wildcards
- Fixed LOGICAL_ERROR in Values input format due to type deduction issue
- Fix ORDER BY WITH FILL Over Constant Columns
- Pass Proper Timeouts in XDBC Bridge Communication
- Add Case-Insensitive Regex Support, Fixing Issues #11101 and #11506
- Fix Bloom Filters for String Data Skipping Indices
- Fix rare crash with Nullable column in prewhere condition
- Fix exit code issue in clickhouse-client on specific exception conditions
- Fix log message error for cache size at server startup
- ClickHouse Server Docker Container Prefers IPv6 for Server Aliveness Checks
- Fix memory leak during exception handling in aggregation with -State functions
- Fix PRIMARY KEY function with FINAL modifier and ORDER BY optimization
- Fix Table Rename for Distributed Engine Issue #7868
- Dictionaries Support EXPRESSION for Attributes in Non-ClickHouse SQL Dialect
- Fix INSERT SELECT FROM MySQL Query Issues #8070 and #7960
- Fix "Mismatch column sizes" Error in JSONEachRow Insertion
- Exception for WITH TIES with LIMIT BY and TOP support added
- Fix unintended dependency in clickhouse-odbc-bridge binary due to fresh glibc version
- Fix check function bug in MergeTree engines
- Fix Enum* Column Inserts After ALTER Query
- Allowed non-constant negative size argument for substring function
- Fix JDBC/ODBC Argument Parsing Bug
- Using Running Command Name for Syslog Logs in ClickHouse
- Fix Allowed Hosts Check for localhost
- Fix Crash in argMin and argMax Functions with Long Strings
- Fix Memory Overcommit for Buffer Engine Tables
- Fixed Bug in Functions Handling NULL Arguments
- Better metrics for thread pool in MergeTree table engines
- Fix IN Function in WHERE Statement with Row-Level Table Filter
- Exception Thrown for Incomplete Parsing of Integral Settings Values
- Fix exception in query with aggregate function on distributed table with multiple local shards
- Bloom Filter Enhancements: Zero Length Arrays Support and Redundant Calculation Optimization
- Fixed Client Host Validation with Regex in users.xml
- Relax ambiguous column check in JOIN ON sections to reduce false positives
- Fixed Server Crash Related to Data Formatting and Compression Issues
- Fix race condition in StorageDistributedDirectoryMonitor found by CI
- Background Merges in MergeTree Tables Enhance Storage Policy Volume Order Accuracy
- Now Kafka Table Engine Works with Native Format
- Fixed EOF Exception for Kafka Table Engine with CSVWithNames Format
- Fixed bug with set creation from subquery in IN section
- Fix crash issue in storage file reading
- Fixed List Column Reading in Parquet Format
- Fix "Not found column" error in distributed queries with PREWHERE condition and parallel replicas
- Fix "Not found column" error with PREWHERE on empty result set due to primary key condition
- Fixed Return Type for `rand` and `randConstant` Functions to `UInt32`
- Disabled Predicate Push-Down for WITH FILL Expression
- Fixed count() Result for SummingMergeTree with FINAL Section
- Fixing Incorrect Results from Remote Constant Functions
- Fix Bug in Push-Down Predicate Optimization Leading to Incorrect Results
- Fix crash in CREATE TABLE .. AS dictionary query
- Several Improvements to ClickHouse Grammar in .g4 File
- Fix Crashes in JOIN with Join Engine Tables
- Fix redundant dictionaries reload on CREATE DATABASE
- Limit Maximum Streams for Read from StorageFile and StorageHDFS
- Fix bug in ALTER MODIFY CODEC query with default expression
- Fix Background Merge Error in SimpleAggregateFunction(LowCardinality)
- Fixed Type Check in toDateTime64 Function
- Server stability improved for LEFT and FULL JOIN with Join engine and join_use_nulls settings
- DROP DICTIONARY IF EXISTS no longer throws exception if database does not exist
- Fix Crashes and Parsing Issues in Table Functions
- Ensure Network is Up Before Starting ClickHouse Server
- Fix Timeout Handling for Secure Connections
- Fix redundant contention in clickhouse-copier for concurrent workers
- Now mutations include attached parts regardless of mutation version.
- Ignore Redundant Copies of MergeTree Data Parts After Disk Move and Server Restart
- Fix FULL JOIN Crash with LowCardinality in JOIN Key
- Forbidden to use duplicate column names in INSERT queries
- Added Fallback for CPU Core Detection in ClickHouse
- Fix column error for materialized and alias columns
- Fixed Server Crash with EXISTS Query Without TABLE or DICTIONARY Qualifier
- Fix bug with column size mismatch in SimpleAggregateFunction
- Fix Access Bug for Users with Empty allow_databases and allow_dictionaries
- Fix client crash on server disconnection
- Fix ORDER BY Behavior with Primary Key Prefix and Non-Primary Key Suffix
- Check for Qualified Column in Table to Fix Issue #6836
- Fixed ALTER MOVE Behavior After Merge Completion
- Fix Server Crash with UNION on Different Column Counts
- Fix Negative Size Issue in substr Function
- Now server skips part mutation in MergeTree with insufficient background pool threads
- Fix Typo in UNION ALL AST Formatting
- Fixed Bloom Filter Results for Negative Numbers
- Fixed Buffer Overflow Vulnerability in Decompress Function
- Fix integer overflow issue in arrayIntersect implementation
- OPTIMIZE TABLE Query No Longer Waits for Offline Replicas
- Fixed ALTER TTL parser for Replicated*MergeTree tables
- Fix Server-Client Communication for Temporary Tables After Query Failure
- Fix bitmapAnd function error with aggregated and scalar bitmaps
- Refine ZXid definition per ZooKeeper Guide to fix clickhouse-cluster-copier bug
- odbc table function updated to respect external_table_functions_use_nulls setting
- Fixed rare data race bug in ClickHouse
- SYSTEM RELOAD DICTIONARY Now Ignores update_field
- Add dictionary existence check in create query
- Fix Float* Parsing in Values Format
- Fix crash in background operations of MergeTree table engines
- Fix crash in merge operation with SimpleAggregateFunction(LowCardinality) column
- Restore ICU Locale Support and Enhance Collation Features in ClickHouse
- Fix Background Update Bug for External Dictionaries with Zero Minimal Lifetime
- Fix crash in external dictionary with ClickHouse source on subquery
- Fix file extension parsing in URL engine
- Fix CHECK TABLE for MergeTree tables without key
- Fixed Float64 to MySQL type conversion
- Server Recovery for Incomplete Table Drops
- Fixed Crash in Table Function 'file' for Non-Existing Files
- Fix rare deadlock with enabled trace_log
- Add Support for Multiple Types in RangeHashed External Dictionary
- Fix crash in now64() when using results from other functions
- Fixed Client IP Detection Bug in MySQL Wire Protocol
- Fix empty array handling in arraySplit function
- Fixed pid-file deletion issue in running clickhouse-server
- Fix dictionary reload issue with invalidate_query handling
- Fix memory errors in arrayReduce and Resample; add aggThrow function for testing.
- Fix data incompatibility when compressed with T64 codec
- Fix order of ranges while reading from MergeTree table in one thread
- Fix possible segfault in MergeTreeRangeReader while executing PREWHERE
- Fix reinterpretAsFixedString return type
- Fix joinGet with nullable return types
- Fix fuzz test and incorrect behaviour of bitTestAll/bitTestAny
- Fix behaviour of match and extract functions with zero bytes
- Fixed execution of inversed predicates for functional index
- Allow rewriting CROSS to INNER JOIN with LIKE in WHERE
- Allow first Log-engine columns to be aliases
- Allow comma join with IN() inside
- Improve ALTER MODIFY/ADD queries logic
- Fix mutations finalization
- Support Processors pipeline for system.numbers
- Fix wrong counting of DictCacheKeysRequestedFound
- Add check for storage policy in partition operations
- Fixed UBSan report in MergeTreeIndexSet
- Fix possible datarace in BlockIO
- Support UInt64 numbers that don't fit in Int64 in JSON functions
- Fix incorrect free-space calculation with separate device mount
- Fix TLS failures due to entropy errors
- Fold constant expressions in CREATE engine arguments
- Fix segfault in StorageMerge when reading from StorageFile
- Prevent losing data in Kafka in rare exception cases
- Fix server termination when using/dropping Kafka table with wrong parameters
- Fixed Internal Function Names for sumKahan and sumWithOverflow in ClickHouse
- Allow ALTER ON CLUSTER for Distributed Tables with Internal Replication
- Fix exceptions in MergeTreeRangeReader during PREWHERE execution
- Fixed Timezone Preservation Issue in Arithmetic Expressions in ClickHouse
- Cyclic Aliases in Column Creation Restricted
- Fixed Base64 Padding Issue and Updated Library
- Fix Data Race During Poco::HTTPServer Destruction
- Fix crash in LIMIT n WITH TIES due to duplicate rows
- Fix Mismatched Checksums with Column TTLs
- Fix Crash on ALTER MODIFY SETTING for Old-Formatted MergeTree Tables
- Now Finalizing Mutations More Frequently
- Fix replication protocol incompatibility from issue #8598
- Fix not(has()) for bloom_filter index with array types
- Fixed behavior of match and extract functions for zero-byte haystacks
- Fix "Cannot schedule a task" Error in ParallelAggregatingBlockInputStream Handler
- Fix Memory Consumption Issues in ALTER Queries
- Fix bug in backquoting for external dictionaries DDL
- Fix 'Different expressions with the same alias' error in distributed tables with PREWHERE and WHERE
- Fix Excessive Memory Consumption for Composite Primary Key Mutations
- Shard INSERT Query Constraint Clamping Improvement
- Fix Exception "Got 0 in totals chunk, expected 1" for JOIN Queries with Zero Rows
- Fix SIGSEGV with optimize_skip_unused_shards on type conversion failure
- Fixed Timezone Handling in Function Arguments
Build/Testing/Packaging Improvement
72- Fix unit test collapsing_sorted_stream
- Added CA Certificates to ClickHouse Server Docker Image
- Build Fixes for ARM and Minimal Mode
- Add coverage file flush for clickhouse-server with improved logging in tests
- Update LLVM Library in Contrib, Avoid OS Package Usage
- Make bundled curl build fully quiet
- Fix MemorySanitizer Warnings
- Use add_warning and no_warning Macros in CMakeLists.txt
- Add Minio S3 Compatibility for Enhanced Integration Tests
- Imported libc headers for consistent x86_64-linux-gnu builds
- Remove -fPIC from Some Libraries
- Clean CMakeLists.txt for Curl
- Silent Warnings in CapNProto Library
- Add Performance Tests for Optimized Hash Tables
- ClickHouse Now Builds on AArch64 Without MADV_FREE Availability
- Update zlib-ng to Address Memory Sanitizer Issues
- Enable Internal MySQL Library on Non-Linux Systems to Fix Fragile OS Packages
- Fixed Build Issues with libc++ on Certain Systems
- Make Field Methods More Type-Safe to Identify Errors
- Added Missing Files to libc-headers Submodule
- Fix JSON Quoting in Performance Test Output
- Stack Trace Display Enhanced for std::exception and Poco::Exception
- Porting clock_gettime and clock_nanosleep for glibc
- Enable part_log in example config for developers
- Fix Async Reload in 01036_no_superfluous_dict_reload_on_create_database
- Fixed Codec Performance Tests
- Add Install Scripts and Documentation for .tgz Build
- Removed obsolete ZSTD test to address issue #8618
- Fixed Mac OS Catalina Build Issue
- Increased Rows in Codec Performance Tests for Noticeable Results
- In Debug Builds, Treat LOGICAL_ERROR Exceptions as Assertion Failures
- Make Formats-Related Performance Test More Deterministic
- Update lz4 to fix MemorySanitizer failure
- Suppress MemorySanitizer False Positive in Exception Handling
- Update gcc and g++ to version 9 in build/docker/build.sh
- Add performance test case for PREWHERE vs WHERE comparison
- Progress on Flaky Test Fix
- Avoid MemorySanitizer Report for libunwind Data
- Updated libc++ to Latest Version
- Build ICU Library from Sources to Fix Issue #6460
- Switched from libressl to openssl, enabling TLS 1.3 and SNI support in ClickHouse
- Fixed UBSan Report for chacha20_poly1305 on yandex.ru Connection
- Fix Default Password File Mode for .deb Linux Distros
- Improved PID Retrieval for ClickHouse Server in ClickHouse Test
- Updated contrib/googletest to v1.10.0
- Fixed ThreadSanitizer Issue in base64 Library and Updated to Latest Version
- Fix 00600_replace_running_query for processors
- Remove tcmalloc support for simpler CMakeLists.txt
- Release gcc builds now use libc++ for improved consistency and portability
- Enable ICU Library with MemorySanitizer Support
- Suppress Warnings from CapNProto Library
- Removed support for tcmalloc in codebase
- CI Coverage Task: Graceful Server Shutdown for Complete Reports
- Performance Testing of Codecs with Float64 and UInt64 Values
- Deprecation of termcap in favor of terminfo or ncurses
- Fix integration test for test_storage_s3
- Support StorageFile for In-Memory Block Insertion in Performance Tests
- Added --print-time Argument to Functional Tests for Execution Time Reporting
- Added Asserts to KeyCondition for RPN Evaluation to Fix gcc-9 Warning
- Dump CMake Options in CI Builds
- Don't Generate Debug Info for Large Libraries
- Make log_to_console.xml Always Log to Stderr
- Removed Unused Features from clickhouse-performance-test Tool
- Search for lld-X with corresponding clang-X version
- Parquet Build Improvement by maxulan
- More GCC Warnings #8221 by kreuzerkrieg
- Package for Arch Linux Enables ClickHouse Server Functionality
- Fix Test with Processors and Minor Performance Improvements
- Update contrib/protobuf in Pull Request #8256
- In Celebration of C++20: "May the C++ Force Be with ClickHouse"
- Exception Handling Fixes for Windows Subsystem for Linux
- Clean Up Duplicated Linker Flags to Avoid Unexpected Symbols
Backward Incompatible Changes
7- Make `merge_tree_uniform_read_distribution` Setting Obsolete
- Changed return type of greatCircleDistance function to Float32
- Query Parameters Now Require Escaped Format for NULL Support
- Enable use_minimalistic_part_header_in_zookeeper for ReplicatedMergeTree by Default
- Data Skipping Indices Enabled by Default; Obsolete Settings Removed
- Add ANY JOIN Logic for StorageJoin with Upgrade Instructions
- Require Server Restart for Logging Configuration Changes as Temporary Workaround
Experimental Feature
4Improvement
47- Improved S3 Table Engine Logging
- Printed help message for clickhouse-local when no arguments are passed
- Add mutations_sync setting for synchronous ALTER UPDATE/DELETE queries
- Allow Relative user_files_path Configuration in config.xml
- Add exception for illegal types in conversion functions with -OrZero postfix
- Simplify Header Format for Data Sending to Shard in Distributed Query
- Live View Table Engine Refactoring by vzakaznikov
- Add Checks for External Dictionaries from DDL Queries
- Fix Column Already Exists Error with FINAL and SAMPLE in ClickHouse
- First Argument of joinGet Function Can Now Be Table Identifier
- Allow MaterializedView with Subqueries on Kafka Tables
- Background Moves Between Disks Run in Separate Thread Pool
- SYSTEM RELOAD DICTIONARY Executes Synchronously
- Stack Traces Now Display Physical Addresses for Improved Debugging
- Support New Syntax for Row-Level Security Filters
- cityHash function now supports Decimal and UUID types
- Removed Obsolete Fixed Index Granularity from System Logs
- Enabled MySQL Compatibility in ClickHouse without SSL
- Server Checksums Enhance Error Reporting for Corrupted Data in Batches
- Support MySQL Database Commands: DROP DATABASE, DETACH TABLE, DROP TABLE, ATTACH TABLE
- Add Authentication to S3 Table Function and Engine
- Added MergeTree Disk Check to Prevent Data Loss
- Enable SSL Support for Mac Client and Server
- ClickHouse Now Supports MySQL Federated Server Functionality
- clickhouse-client: Enable bracketed-paste only with multiquery on and multiline off
- Support Array(Decimal) in if function
- Support Decimals in arrayDifference, arrayCumSum, and arrayCumSumNegative Functions
- Added lifetime column to system.dictionaries table
- Improved Part Check for *MergeTree* Table Engines
- Integration of AWS SDK for S3 Features
- Added Subquery Support in Live View Tables
- Check for Date or DateTime column usage in TTL expressions removed
- Information about Disk Added to system.detached_parts Table
- Settings `max_(table|partition)_size_to_drop` Can Be Changed Without Restart
- Slightly Improved Error Message Usability
- Better Kafka Message Reading in Multiple Formats
- Better MySQL client compatibility without sha2_password auth plugin
- Support Additional Column Types in MySQL Compatibility Server
- Implement ORDER BY Optimization for Merge, Buffer, and Materialized View Storages
- Improved Compatibility for getrandom in Older Kernels
- Better validation for destination in move TTL rule
- Better checks for broken insert batches in Distributed table engine
- Add Column for Future Mutation Parts in system.mutations Table
- Parallel Merge Sort Optimization for Processors
- mark_cache_min_lifetime Setting Obsolete, Recommend Increasing mark_cache_size for Performance
- Preparation for Universal tid Usage in ClickHouse
- Remove ORDER BY Stage from Mutations and Enforce Row Order Check
New Feature
33- Added part paths information to system.merges
- Add SYSTEM RELOAD DICTIONARY Query in ON CLUSTER Mode
- Add ON CLUSTER Support for CREATE DICTIONARY Queries
- User Profiles in users.xml Can Inherit Multiple Profiles
- Added system.stack_trace table for server thread introspection
- Add DateTime64 Datatype with Configurable Sub-Second Precision
- Add clusterAllReplicas function for querying all cluster nodes
- Add categoricalInformationValue aggregate function for discrete feature analysis
- Speed Up Parallel Parsing for CSV, TSV, and JSONEachRow Formats
- Add bankerRound function for banker's rounding
- Support Additional Languages in Embedded Dictionary for Region Names
- Improvements in ANY JOIN Logic Consistency
- Add any_join_distinct_right_table_keys Setting for ANY INNER JOIN Behavior
- Add SEMI and ANTI JOINs; rename ANY INNER JOIN to SEMI LEFT JOIN
- Added Distributed Format for File Engine and File Table Function to Read .bin Files
- Add reset column argument to runningAccumulate for new key values
- Add ClickHouse Support for Prometheus Endpoint
- Add remote_url_allow_hosts section to config.xml for host restrictions
- Added greatCircleAngle function for sphere distance calculation in degrees
- Changed Earth Radius for H3 Library Consistency
- Added JSONCompactEachRow Formats for Input and Output
- Added support for reading and writing gzip files in file-related table engines and functions
- Added randomASCII function for generating random printable ASCII strings
- Added JSONExtractArrayRaw Function for Unparsed JSON Elements
- Add arrayZip function for combining multiple arrays into tuples
- Add Disk Migration Based on TTL for MergeTree Table Engines
- Added avgWeighted Function for Weighted Average Calculation
- Now Parallel Parsing Enabled by Default for TSV, TSKV, CSV, and JSONEachRow Formats
- Add Geo Functions from H3 Library to ClickHouse
- Added Brotli Compression Support in File-Related Storages and Table Functions
- Add groupBit* functions to SimpleAggregationFunction type
- Add deduplicate_blocks_in_dependent_materialized_views option
- Add deduplicate_blocks_in_dependent_materialized_views option
Performance Improvement
23- Performance Optimizations in Processor Pipeline
- Non-blocking Cache Updates for Expired Keys
- Compile ClickHouse Without Global -fno-omit-frame-pointer
- Speed up greatCircleDistance function and add performance tests
- Improved performance of roundDown function
- Improved DateTime64 Performance for Max, Min, ArgMin, and ArgMax Functions
- Improved Sorting Performance with Unlimited and Large Limits
- Improved Floating Point Number Formatting Performance Up to 6x
- Improved Performance of Modulo Function
- Optimized ORDER BY with Single Column Key
- Better implementation of arrayReduce, -Array, and -State combinators
- PREWHERE Optimization to Match WHERE Efficiency
- Improve round and roundBankers functions for negative numbers
- Improved Decoding Performance of DoubleDelta and Gorilla Codecs by 30-40%
- Improved Performance of Base64 Functions
- Added geoDistance Function for WGS-84 Ellipsoid Model Approximation
- Faster min and max aggregation functions for Decimal data type
- Vectorize processing arrayReduce
- if chains optimized as multiIf
- Fix Kafka Table Engine Performance Regression in 19.15
- Removed Default "Pie" Code Generation in Debian Packages
- Parallel Parsing Data Formats by Nikita Mikhaylov
- Enable Optimized Parser for Values with Expressions by Default