v.20.4
Backward Incompatible Changes
4Bug Fix
271- Fixed Scalar Results in Inner Query of MATERIALIZED VIEW with Dependent Table
- Fixed HTTP Request Stuck Bug on Client Connection Closure
- Fix segfault in StorageBuffer on server startup
- System Drop DNS Cache Enhancements for IP Connection Checks
- Fix Handling of Multiple IN Operators in Queries
- Fix crash in generateRandom with nested types
- Fix Data Corruption in LowCardinality(FixedString) Key Column in SummingMergeTree
- Fix aggregation_memory_efficient_merge_threads logic
- Fix Disappearing Totals Due to JOIN or External WHERE Conditions
- Fix Parallel Execution of Remote Queries with Memory-Efficient Aggregation Enabled
- Fix Incorrect Row Count for Queries with LIMIT
- Fix Index Corruption After Merging Compact Parts
- Fix issue with mutation hanging at is_done=0 after completion
- Fix Unix Epoch Overflow for Timezones with Fractional UTC Offset
- Better Diagnostics for Input Formats Fixes #10204 and #10418
- Fix Numeric Overflow in simpleLinearRegression() for Large Integers
- Fix use-after-free in Distributed shutdown to improve batch sending efficiency
- Add CA Certificates to ClickHouse Server Docker Image
- Fix infinite loop in addressToLine function and AggregateFunctionState columns
- Handle Zookeeper "No Node Error" in Distributed Query
- Fix bug with server attachment of table after altering column's default
- Implicit Type Casting for ALIAS Columns in Default Expressions
- Don't remove metadata directory on ATTACH DATABASE failure
- Avoid tzdata Dependency: Fixes Africa/Casablanca Timezone on CentOS 8
- Fix Quorum Insert/Delete Issues Leading to Stuck INSERTs and False Exceptions
- Check Arguments for BloomFilter Index Creation
- Prefer fallback_to_stale_replicas over skip_unavailable_shards to avoid query failures
- Fix incomplete results in queries with ARRAY JOIN, ORDER BY, and LIMIT
- Add Database Name to Dictionary After DETACH/ATTACH
- Fix extremes result issue in processors pipeline
- Fix segfault with distributed_group_by_no_merge setting in ClickHouse
- Fix Incorrect Flattening of Array(Tuple(...)) Data Types
- Fix Constant Name Conflicts in JOINs
- Fix column order in Block::sortColumns()
- Fix Pipeline Stuck Error in ConcatProcessor for Remote Queries
- Don't Make Disk Reservations for Aggregations
- Fix datetime function behavior for timezones with altered UTC offsets
- Avoid Infinite Loop in dictIsIn Function
- Disable Default GROUP BY Sharding Key Optimization and Fix for ROLLUP/CUBE/TOTALS
- Check for Specific Error Codes When Validating Parts
- Show Information on Unloaded Dictionaries in System Tables
- Fix nullptr dereference in StorageBuffer after server shutdown
- Fixed DROP vs OPTIMIZE race condition in ReplicatedMergeTree
- Fix Logical Error in CROSS JOIN for Mixed Queries
- Fix Queries with max_bytes_before_external_group_by
- Fix Parser Recursion Depth Limit Issue in ClickHouse
- Allow count(*) with Multiple JOINs
- Fix Pipeline Stuck Error with max_rows_to_group_by and group_by_overflow_mode='break'
- Fix 'Cannot add column' error in range_hashed dictionary creation
- Fix rare exception: Cannot drain connections: cancel first
- Fixed ClickHouse "Unknown function lambda" error during ALTER UPDATE/DELETE on Replicated tables
- Fixed rare segfault in StorageSystemTables with Lazy engine in SELECT query
- Fix Infinite Query Execution Issue with LIMIT in Infinite Sources
- Fixed generateRandom Function for Date Type and Edge Case in MergeTree Partitions
- Fix type conversion issues in View definitions to match SELECT queries
- Fix parseDateTimeBestEffort for RFC-2822 Strings on Tuesday or Thursday
- Fix Column Name Clashes in JOIN Statements
- Fix move-to-prewhere optimization with arrayJoin functions
- Fix Separator Issue in SCRAMBLE for MySQL JDBC
- Fix Access Checking to Use Current Database When Not Specified
- Fix ALTER of Tables with Compact Parts
- Add Allowance for Non-Deterministic Functions in Mutations
- Fix DROP TABLE Invocation for Dictionary Issue #10165
- Convert Blocks for Mismatched Structure in Distributed Table Insert
- Number of rows logged incorrectly when inserting split blocks with partition key
- Add argument checks and identifier support for MySQL Database Engine
- Fix `index_granularity_bytes` Check When Creating New Replica
- Fix CHECK TABLE Bug for Skip Indices
- Fix Distributed-over-Distributed with Single Shard in Nested Table
- Fix Rows Loss in JOIN and UNION ALL Queries
- Fix Memory Corruption Bug in Dictionary with Local ClickHouse Server
- Fixed Replicated Tables Startup for Older ClickHouse Versions
- Fix error with cloning blocks in distributed query aggregation
- Fix deadlock issue with materialized view database attachment at startup
- Fix Segmentation Fault in GROUP BY with Trailing Zero Bytes
- Fix Distributed Query Results Issues with Column Name Aliases
- Fix Deadlock in SYSTEM RESTART REPLICAS
- Fix Thread Count for Remote Query Execution in ClickHouse
- Fixed DeleteOnDestroy Logic in ATTACH PART with Added Tests
- Fix bug with ON CLUSTER DDL queries freezing on server startup
- Fix bug in query processing for specific databases
- Fix 'Not Found Column in Block' Error with JOIN and TOTALS
- Fix parsing of multiple hosts in CREATE USER command
- Fix TRUNCATE for Join Table Engine
- Fix race condition in ReplicatedMergeTree during drop and optimize operations
- Fix DISTINCT for Distributed with optimize_skip_unused_shards set
- Fix "scalar does not exist" error in ALTERs
- Fix Error with Qualified Names in distributed_product_mode='local'
- For INSERT Queries, Shards Clamp Settings Instead of Throwing Exceptions
- Add Retry Mechanism for Kafka Offset Commits
- Fix Distributed Engine Behavior with Virtual Columns in WHERE Clause
- Fixed Timezone Handling in Function Arguments
- Fix 'Different expressions with the same alias' Error in Distributed Queries
- Fix Memory Consumption Issue for Composite Primary Key Tables
- Fix Grant Calculation for Introspection Functions Based on allow_introspection_functions Setting
- Fix max_distributed_connections with and without Processors
- Fix Exception "Got 0 in totals chunk, expected 1" for JOIN Queries with Zero Rows
- Fix COMMA to CROSS JOIN Rewriter Error for Subqueries in WHERE Clause
- Fix server crash with optimize_skip_unused_shards when key conversion fails
- Fix Empty String Handling in splitByString
- Fix ALTER TABLE DELETE COLUMN Query for Compact Parts
- Fixed rows_before_limit_at_least for HTTP queries with processors pipeline
- Fix Memory Consumption in ALTER Queries
- Fix "Cannot schedule a task" Error
- Fix bug in backquoting in external dictionaries DDL
- Fixed Data Race in text_log
- Fix Replication Bug Related to Previous Version Mutations
- Fixed Function Names for sumKahan and sumWithOverflow to Prevent Remote Query Exceptions
- Add Compact Format Setting for Distributed Table Inserts
- Fix RIGHT and FULL JOIN with LowCardinality in JOIN keys
- Fix Exceptions in MergeTreeRangeReader During PREWHERE Execution
- Allow ALTER ON CLUSTER of Distributed Tables with Internal Replication
- Fix Timezone Preservation for Simple Arithmetic Expressions in ClickHouse
- Removed Logging from Mutation Finalization Task if No Finalization Occurred
- Fixed memory leak in registerDiskS3
- Fixed Potential Data Loss in Kafka Engine Table Termination
- Fixed bugs in parseDateTime64BestEffort argument resolution
- Fixed rare use-after-free error in MergeTree on unsuccessful table creation
- Fixed Metadata and Data Handling for Atomic Database
- Fixed server crash with concurrent ALTER and DROP DATABASE queries using Atomic engine
- Fixed raw data size issue in getRawData() method
- Fixed Two-Level Aggregation Incompatibility Between ClickHouse Versions 20.1 and Earlier
- Fixed Partial File Sending in DistributedBlockOutputStream
- Fixed crash in SELECT count(notNullIn(NULL, []))
- Fixed hang during DROP of Kafka table engine
- Fixed Multiple ALTER RENAME Executions
- Fixed Race Condition in Aggregate Function State Retrieval with Memory Engine
- Fixed Backward Compatibility with Tuples in Distributed Tables
- Fixed SIGSEGV in StringHashTable for non-existent keys
- Fixed WATCH hangs after LiveView table drop with Atomic engine
- Fixed ReplicatedMergeTree Bug Causing ALTER OPTIMIZE Queries to Hang
- Constraints Updated on Renamed Columns
- Fixed Uninitialized Memory Read in Cache-Dictionary
- Fixed Columns Order in Block::sortColumns()
- Fixed ODBC Bridge Issue with Identifier Quoting
- Fixed UBSan and MSan Report in DateLUT
- Fixed Type Conversion in Key Conditions
- Fixed parallel_view_processing behavior for MATERIALIZED VIEW insertions
- Fixed -OrNull and -OrDefault with -State Combination
- Fixed Buffer Overflow in h3EdgeAngle Function
- Fixed concurrency bug in table alterations with many parts
- Fixed nullptr Dereference in StorageBuffer on Server Shutdown
- Fixed optimize_skip_unused_shards with LowCardinality
- Fixed Condition Variable Handling for Synchronous Mutations
- Fixed crash when calling createDictionary() before loadStoredObject() completes
- Fixed SELECT of column ALIAS with mismatched default expression type
- Implemented DateTime64 and String Value Comparison
- Disable GROUP BY sharding_key optimization by default and fix for WITH ROLLUP/CUBE/TOTALS
- Fixed issue #10263 and pull request #10486 by Azat Khuzhin
- Added tests for max_rows_to_sort setting
- Added Backward Compatibility for Create Bloom Filter Index
- Fix Data Compression Error with Direct I/O and PREWHERE
- Fix Compressed Size Return for Codecs
- Fix server crash with non-literal compression codec arguments
- Fix pointInPolygon to handle NaN points
- Fix uninitialized memory read in MergeTree shutdown on failed table creation
- Fixed geohashesInBox Function for Latitude/Longitude Argument Range
- Fix Pipeline Stuck Error for External Sort and Limit Queries
- Remove Redundant Lock in ReplicatedMergeTree Parts Send
- Fix \G Support in ClickHouse Client for Multiline Mode
- Fix potential segfault in Lazy database
- Fix crash in quantilesExactWeightedArray
- Merges Stopped Before Metadata Changes in ALTER Queries
- Make MATERIALIZED VIEW writing parallel with parallel_view_processing = 1
- Fix visitParamExtractRaw for Unbalanced JSON Strings
- Fix rare race condition in ThreadPool
- Fix minor data race in ClickHouse copier identified by integration tests
- Fix Uninitialized Memory in Interval Conversion Function
- Fix Array Column Issue in Primary Key for Index Analysis
- Fix Query Speed Estimation Bugs and Improve Usability in ClickHouse
- Fix SET DEFAULT ROLE Crash with Invalid Arguments
- Fix Protobuf Crash Caused by Malformed Data
- Fixed cache-dictionary bug affecting string fields with expired keys
- Fix Block Structure Mismatch Error in QueryPipeline for VIEWs with Inner Query Constants
- Fix Invalid Status Exception for Associated Output
- Fix error with higher-order functions and Array(LowCardinality) captured argument
- Fixed S3 Globbing Issue for Backends with Over 1000 Keys
- Fix Data Skipping Index Calculation After Background Merge in ClickHouse
- Fix Kafka Performance Issue with Reschedules Based on Limits
- Fix for Table Hang during DROP of Kafka Engine
- Fix Thread Reserves for Simple Queries Optimization
- Fix Predicate Optimization for Distributed Queries with HAVING Section in ClickHouse
- Fix rare crash from Nullable column in prewhere condition
- Don't Allow arrayJoin Inside Higher Order Functions to Prevent Broken Protocol Synchronization
- Fix Comparison Bug Between FixedString and Constant String in Version 20.4
- Fix NULL handling in if() condition results
- Fix excessive thread usage for queries
- Fix Unexpected Behavior in SELECT Queries
- Now Cancelling Replicated Fetches During Metadata Alter
- Fixed LOGICAL_ERROR in Values input format due to complex literal type deduction
- Fix ORDER BY WITH FILL Over Constant Columns
- Pass Proper Timeouts for XDBC Bridge Communication
- Fix LIMIT n WITH TIES with ORDER BY using aliases
- Fix mutation state error in system.mutations
- Add Case-Insensitive Flag Support for Regular Expressions
- Remove Trivial Count Query Optimization with Row-Level Security
- Fix Bloom Filters for String Data Skipping Indices
- Fix rare crash with Nullable column in prewhere condition
- Fix Block Structure Mismatch Error for Sampling Queries on Buffer Table
- Fix exit code issue in clickhouse-client for specific exception condition
- Fix log message error about lowered mark cache size at startup
- Fix Size of Offsets Error in PREWHERE with ARRAY JOIN
- Fixed rare segfault in SHOW CREATE TABLE
- All HTTP Session Queries Share a Fixed Query ID
- ClickHouse Docker: IPv6 Server Aliveness Check Enhancement
- Fix shard_num/replica_num for <node> in ClickHouse
- Fix race condition during table drop to prevent exceptions
- Fix Memory Leak During Aggregation with -State Functions
- Fix incorrect data skipping index calculation during background merge in ClickHouse
- Get Rid of Old Libunwind Patches to Improve Clang Build Performance
- Fix Primary Key Function with FINAL Modifier and ORDER BY Optimization
- Fixed parseDateTimeBestEffort Function Error for Unix Timestamps
- Fixed Performance and Accuracy Issues for Aggregate Functions with NaN Values in Float Types
- Fixed function if with nullable constexpr condition that is not literal NULL
- Fixed Nullable Handling in arrayElement Function
- Fixed Index Analysis in MergeTree to Prevent Incorrect Pruning
- Fixed Thread Limiting for Local Replica Selects
- Fixed Overflow Row in Queries with TOTALS
- Fixed Performance Issues with Large Tuples in IN Clause
- Fixed Memory Tracking for Input Format Parallel Parsing
- Fixed #12293: Allow Push Predicate in Subquery with "WITH" Clause
- Fixed bloom filter index with const expression in issue #10572
- Fixed SIGSEGV in StorageKafka when broker is unavailable
- Added support for if function with Array(UUID) arguments
- Fixed race condition in external dictionaries causing server crash
- Removed Async INSERT Blocks Data on DROP TABLE for Distributed Tables
- Fixed Bug Causing Broken Old Parts with ALTER DELETE Query
- Better exception handling for function in with invalid arguments
- Fixed performance issue in compact parts reading
- Fixed Crash in JOIN with Dictionary Key Expression
- Fixed potential segfault in StorageMerge
- Fixed Column Order in WITH FILL Modifier
- Avoid "Bad Cast" Exception with Nullable Types in Virtual and Index Column Filters
- Show error upon TrieDictionary load failure
- Fix arrayFill function handling for empty arrays to prevent crashes
- Implemented Common Type Conversions for LowCardinality in UNION ALL Queries
- Fixed Duplicate Writes in StorageFile During Sequential Inserts
- Fixed UInt8 Logical Functions for Non-Binary Values
- Cap max_memory_usage limits to process resident memory
- Fixed dictGet Arguments Check in GROUP BY Functions
- Don't Split Table Name for ODBC Connections Lacking Schema Support
- Fixed Logic in ALTER DELETE to Prevent Incorrect Record Deletion
- Fixed Query Transform for External DBMS with Aliases
- Fixed Integer Division Overflow Issue #12119
- Fixed Infinite Loop in greatCircleDistance and geoDistance
- Normalize PID file handling to prevent server startup issues
- Fixed Dictionary Engine Dependency Handling in ClickHouse
- Fixed Performance for UNION Queries in ClickHouse
- Fixed Segfault with -StateResample Combinators
- Fixed Empty Metrics in system.query_log for Selects
- Fixed Thread Limitation for SELECT Queries on VIEW
- Fixed Crash Issue with PREWHERE Type in ClickHouse
- Fixed error in defaultValueOfArgumentType function with LowCardinality type
- Fixed Cannot Capture Column Error for Higher-Order Functions with Tuple(LowCardinality) Argument
- Parse Tables Metadata in Parallel to Improve Server Startup Speed
- Make topK Function Return Enum for Enum Types
- Fixed Constant Expression Check for Constraints in ClickHouse
- Fixed Tuple Comparison with Nullable Columns
- Fixed Access Rights Calculation with allow_introspection_functions=0
- Fixed Crash and Result Issue in 'if' Function with Variable Sized FixedStrings
- Fix Empty Result for Neighbor Function with Offset -9223372036854775808
- Fixed Access Rights Calculation When Allow DDL is Zero
- Fixed Array Size Overflow in generateRandom Function
- Fixed Potential Floating Point Exception in ClickHouse
- Fixed Incorrect Setting Name in Server Startup Log Message
- Fixed Query Parameter Not Set in Values Format
- Keep Aliases for Substitutions in Parametrized Queries
- Fixed no moves bug when changing storage policy from default
- Fixed Floating Point Exception in DateTime64 Parsing
- Fixed Memory Accounting via HTTP Interface
- Parse Zookeeper Metadata Before Equality Check
Build/Testing/Packaging Improvement
57- Use AWS SDK Fork from ClickHouse-Extras
- Add Integration Tests for ALTER RENAME COLUMN Query
- Fix Signed Integer Overflow in now64 Function Invocation
- Split Fuzzer and Sanitizer Configurations for Oss-Fuzz Compatibility
- Fixes for clang-tidy on clang-10 #10420
- Display Absolute Paths in Error Messages for KDevelop Compatibility
- Added ASAN_OPTIONS for CI Stress Test Error Investigation
- Enable ThinLTO for Clang Builds (Experimental)
- Remove Unintentional Z3 Dependency in ClickHouse
- Move integration tests Docker files to docker/ directory
- Allow clang-10 in CI to fix issue #10238
- Update OpenSSL to fix TLS connection issues in version 20.1
- Fix clang-10 build issue #10238
- Add performance test for Parallel INSERT in materialized view
- Fix flaky test test_settings_constraints_distributed.test_insert_clamps_settings
- Add utility for test results upload in CI ClickHouse
- Convert Test Results to JSONEachRow Format in junit_to_html Tool
- Update cctz by alexey-milovidov
- Allow Creation of HTML Report from JUnit XML Report
- Update Minimal Compiler Version Check and Address Issue #10250
- Initial Support for Live View Tables over Distributed Systems
- Fix false MSan report in MergeTreeIndexFullText
- clickhouse-docker-util update by filimonov #10151
- Update pdqsort to Latest Version
- Update libdivide to v3.0
- Add check for enabled polymorphic parts
- Add FreeBSD Cross-Compile Build Support
- Add performance test for issue #6924 and PR #6980 by filimonov
- Add /dev/null Support in File Engine for Performance Testing
- Move Folders in /dbms Up One Level
- Add Test for Sequential Single-Thread Read from MergeTree
- Fix race condition in 00964_live_view_watch_events_heartbeat.py test
- Fix integration test test_settings_constraints
- Every function in its own file, part 12
- Added performance test for slow array of tuples analysis
- Update zstd to 1.4.4 for improved performance and compression ratio
- Fix TSan Report in system.stack_trace
- Removed clock_getres dependency
- Added Clang-Tidy Identifier Names Check
- Update builder Docker image for developer use
- Remove Deprecated Performance-Test Tool in CI
- Added clang-static-analyzer checks
- Update Poco to 1.9.3 for MongoDB URI Support
- Fix Build Configuration with Static Libraries and Jemalloc Disabled
- For change log script, use PR name from commit description if cherry-picked to release branch
- Support vX.X-conflicts tag in backport script
- Fix auto-label for backporting script #9685
- Use libc++ in Darwin cross-build for consistency with native build
- Fix Flaky Test 01017_uniqCombined_memory_usage
- Fix build for native macOS Clang compiler
- Allow Glitch Insertion for pthread_mutex Functions
- Add clang-tidy support in packager script
- Add support for unbundled msgpack
- Fix Flaky Integration Tests
- Fix Minor Errors in Unit Tests
- Fix False MSan Report in MergeTreeIndexFullText
- Install ca-certificates Before First apt-get Update in Dockerfile
Experimental Feature
2Improvement
51- Use Time Zone for DateTime Comparisons to Fix Issue #5206
- Print Verbose Diagnostic Info for Decimal Parsing Errors
- Add tasks/memory metrics for distributed/buffer schedule pools
- Display Results Immediately for SELECT DISTINCT Queries in ClickHouse
- Allow SAMPLE OFFSET Query for Splitting in ClickHouse Copier
- Allow BOM parsing in TSV when first column cannot contain BOM values
- Add Support for Inserting Avro Nested Fields
- Allowed Column Alteration in Non-Modifying Data Mode
- Auto distributed_group_by_no_merge on GROUP BY sharding key with optimize_skip_unused_shards enabled
- Optimize Queries with LIMIT and ORDER BY for GROUP BY Sharding Key
- Added max_server_memory_usage Setting and Deprecated max_memory_usage_for_all_queries
- Add system_tables_lazy_load config option for server startup behavior
- Use Background Thread Pool for Distributed Sends
- Use Background Thread Pool for Buffer Flushes
- Support for Removing Incompletely Written Parts (Fixes #9940)
- Use isInjective() for GROUP BY Optimization
- Avoid Logging Error for RST Packets on Connect in IPVS Balancer
- Allow parsing +inf for floating point types
- Implemented generateRandom Table Function for Nested Types
- Provide max_allowed_packed in MySQL Compatibility Interface for ClickHouse
- Allow literals for GLOBAL IN in ClickHouse queries
- Fix Small Issues in ClickHouse Client Interactive Mode
- Avoid Excessive Dictionary Load in System Tables
- Update RWLock with Timeout Parameter and Phase Fair Implementation
- Enhanced compatibility with native mysql-connector-java (JDBC)
- Function toString is Monotonic for Index Analysis in Tautological Cases
- Add ON CLUSTER Support for User/Role/Policy Commands and GRANT
- Virtual Hosted-Style Support for S3 URI
- Now supports layout type specification for dictionaries without arguments in DDL-queries
- Add Support for Leading Zeros in Number Ranges for Filepaths
- Better memory usage in CROSS JOIN
- Try Connecting to All Shards in Cluster with skip_unavailable_shards Enabled
- Add total_rows and total_bytes to system.tables table
- System Log Tables Default to Polymorphic Parts
- Add type column to merge_tree_settings in system.settings
- Check CPU Instructions Availability at Server Startup
- Remove ORDER BY from Mutations and Ensure Row Order Compliance
- Implement LIKE Operator for FixedString in ClickHouse
- Add force_optimize_skip_unused_shards_no_nested to Handle Nested Distributed Tables
- Column Size Calculation Optimized for MergeTree Data Parts
- Evaluate Constant Expressions for optimize_skip_unused_shards
- Check Removed Usage of Date/DateTime Columns from TTL Expressions
- DiskS3 Hard Links Optimal Implementation
- Set Multiple JOINs Rewrite Version 2 Enhances Column Handling and Subquery Support
- Implementation of non-blocking alter for StorageMergeTree
- Add MergeTree Support for DiskS3
- Extend splitByString to Support Empty Strings as Separators
- Add timestamp_ns Column to system.trace_log for High-Definition Trace Event Timelines
- Avoid Mixing Log Messages and Query Progress When `send_logs_level` is Enabled
- Added Support for MATERIALIZE TTL IN PARTITION
- Support complex types in Avro nested fields
New Feature
26- Add Support for Secured Connection from ClickHouse to Zookeeper
- Support for Custom HTTP Handlers in ClickHouse
- Add MessagePack Input/Output Format
- Add Regexp Input Format Feature
- Added Markdown Output Format for Tables
- Added Support for Custom Settings in Dictionaries and Fixed Issue #2829
- Added Custom Settings Support for CREATE DICTIONARY in DDL Queries
- Add Server-Wide Memory Profiler for High Usage Thresholds
- Add setting always_fetch_merged_part to restrict replica merging and prefer downloads from other replicas
- Add JSONExtractKeysAndValuesRaw function for extracting raw data from JSON objects
- Add OS Memory Usage to system.asynchronous_metrics
- Added Generic Variants for Least and Greatest Functions to Support Arbitrary Arguments
- ClickHouse Adds Timeout Control for Dictionary Sources
- Add log_queries_min_type for query_log filtering
- Added isConstant function for checking constant expressions
- add joinGetOrNull to return NULL for missing keys
- Consider NULL Equal to NULL in IN Operator with transform_null_in Option
- Add ALTER TABLE RENAME COLUMN for MergeTree Table Engines
- Support for Parallel Distributed INSERT SELECT in ClickHouse
- Add Query Capability for Distributed over Distributed Without `distributed_group_by_no_merge`
- Add arrayReduceInRanges function for aggregating array elements in ranges
- Add Dictionary Status to Prometheus Exporter
- Add arrayAUC function
- Support DROP VIEW Statement for TPC-H Compatibility
- Add strict_order option to windowFunnel function
- Support DATE and TIMESTAMP SQL Operators
Performance Improvement
13- Better Insert Logic for Partial MergeJoin
- Improved Performance for CSV and Avro Formats in Narrow Tables
- Improved Query Performance with IN Operator and Tuples
- Use Less Memory for Hash Table in HashJoin
- Special HashJoin Enhancement for StorageDictionary with JOINs
- Enable Parallel Insert for Materialized Views with Supported Target Tables
- Improved Index Analysis Performance with Monotonic Functions
- Using SIMD Intrinsics for Fast Tokenization in Bloom Filters
- Improved Query Performance with IN Operator in ClickHouse 20.3
- ClickHouse-Copier Enhances Partition Splitting for Independent Copying
- Adding Aggregation Methods for Performance Gain in TPC-H Query 1
- Use Single Row Counter for Multiple Streams in Pre-Limit Transform
- Index Not Used for IN Operator with Literals - Performance Regression Fix