v.24.9
Backward Incompatible Changes
3Bug Fix
76- Fix table attachment issue in MaterializedPostgreSQL with pg dbname containing "-"
- Fixed Errors in Experimental MaterializedPostgreSQL Engine
- Storage Join Enhances Nullable Column Support in Left Table
- Incorrect Query Result with Parallel Replicas and Decimal Conversion in IN Operator
- Fix inconsistent metadata issue with alter modify order by
- Fix Upper Bound of fromModifiedJulianDay Function
- Fix Index Position in Tuple during IN Query
- Fix RoleCache Expiration Issue
- Fix Missing Blocks in Window View Due to Slow Flush
- Fix MSan Issue Due to Incorrect Date Format
- Fixed Crash in Parquet Filtering with Mismatched Data Types
- Fix crash in lag/lead due to #67091
- Try to Fix Postgres Crash on Query Cancellation
- Fix Backward Incompatibility in schema_inference_make_columns_nullable Setting for Parquet/Arrow Formats
- Fix Null Transformation of Small DateTime64 Constants in Nested Subqueries
- Fix missing sync replica mode in SYSTEM SYNC REPLICA query
- Fix key condition bug
- Fix crash when dropping or renaming LDAP roles
- Fix Progress Column Value for system.view_refreshes
- Process Regular Expression Flags Correctly
- PostgreSQL-style cast operator supports SQL-style hex and binary string literals
- Minor Patch Update for ClickHouse #68494
- Fix SAMPLE n Functionality in ClickHouse Issue #68239
- Fix mann-whitney-utest bug for unequal distribution sizes
- After Unexpected Restart, Replication of ReplicatedMergeTree Fails Due to Broken Part Handling
- Fix LOGICAL_ERRORs in sipHash functions for empty arrays or tuples
- Full Text Index Issue with Multiple Columns in ClickHouse
- Fix Invalid Characters in Replicated Table Replica Name Parsing
- Added virtual columns _table and _database to distributed tables in ClickHouse
- Fix permutation size error in Variant column
- Fix DB::Exception: Block Structure Mismatch with New JSON Column
- Fix hashing issue with materialized constant keys in sipHash functions
- Make ColumnsDescription::toString Use Consistent IAST::FormatState for Column Formatting
- Fix Aggregated Data Merging for Grouping Sets
- Fix logical error in replicated merge tree column alteration and statistics modification
- Fix Dynamic Subcolumn Resolution from Subqueries in Analyzer
- Fix Complex Types Metadata Parsing in DeltaLake
- Fixed Async Inserts for Table Metadata Changes
- Fix Exception When Passing Empty Tuple in Array
- Fix parsing of pure metadata mutations commands
- Fix wrong result in anyHeavy state merge
- Fixed Writing to Materialized Views with optimize_functions_to_subcolumns Enabled
- Avoid Serialization Cache in Dynamic Column Methods to Prevent Issues
- Fix JSON Parsing Error for Null Defaults
- Fix missing Content-Encoding in some compressed responses
- Fix Incorrect Path Concatenation with Normalization
- Fix logical error in empty async insert
- Fixed Data Race in ClickHouse Client During Query Cancellation
- Fix vector similarity index bug with cosine distance function
- Fix error when recreating Replicated database after server failure
- Don't Infer Bool Type from String in CSV with Number Inference Enabled
- Fix insert query parsing errors with --multiquery enabled
- UNION Clause in Subqueries Caused LOGICAL_ERROR in Parallel Replicas
- Fix DEFAULT expression propagation in s3Cluster query handling
- Respect Format Settings During Conversion from Expression to Destination Type
- Fix clickhouse-client queries-file for readonly users
- Fix data race in clickhouse-client when piped to early-terminating process
- Fix GROUP BY and uniqueness issues for JSON/Dynamic types
- Fix INFILE Format Detection for Asynchronous Inserts
- ClickHouse Table Replica Metadata Version Mismatch Causes Alter Query Failures
- Mark Dynamic Type as Unsafe for Primary Key to Prevent Field Issues
- Improve restoration of access entities' dependencies
- Fix Undefined Behavior for Failed Connection Attempts in Insertions
- Close Issue #69135: Keep have_compressed in reuseJoinedData for cross join in ClickHouse
- Make materialize() return full column for sparse columns
- Fixed LOGICAL_ERROR in sqidDecode function
- Quick Fix for S3 Queue Issue in Version 24.6
- Fixed High Memory Consumption in INSERT INTO ... SELECT and CREATE TABLE AS SELECT Queries
- Statements SHOW COLUMNS and SHOW INDEX Fix for Tables with Dots in Name
- Usage of Query Cache for Non-Throw Overflow Mode Disallowed
- Keep Original Order of Conditions in Prewhere to Prevent Query Failures
- Fix Keeper Multi-Request Preprocessing After ZNOAUTH Error
- Fix METADATA_MISMATCH in DatabaseReplicated during new replica creation
- Fix typo in StorageS3(Azure)Queue setting tracked_file_ttl_sec
- Use tryconvertfieldtotype in gethyperrectangleforrowgroup
- Reversion of Fix for Prewhere Issue in ClickHouse
Experimental Feature
8- Adds Setting for Inferring Variant Type During Schema Inference
- Add aggregate functions for JSON column introspection
- New Algorithm for Marks Distribution in Parallel Replicas Using Consistent Hashing
- Improved Algorithmic Complexity for Part Deduplication in Parallel Replica Announcement Handling
- Refreshable Materialized View Enhancements in ClickHouse
- Added experimental min_max statistics for range predicates on numeric columns
- Improve castOrDefault for Non-Convertible Inner Types in Variant/Dynamic Columns
- Replication of Subset of Columns Now Available in MaterializedPostgreSQL
New Feature
15- Allow Multiple Authentication Methods Per User
- Add support for ATTACH PARTITION ALL FROM
- Add input_format_json_empty_as_default setting to treat empty JSON fields as defaults
- Added overlay and overlayUTF8 functions for string replacement in ClickHouse
- Add Support for Lightweight Deletes in Partition
- Implemented Interval Data Type Value Comparison Across Domains
- Add create_if_not_exists setting for default IF NOT EXISTS behavior in CREATE statements
- Read Iceberg Tables in Azure and Locally
- Query Cache Entries Can Now Be Dropped by Tag in ClickHouse
- Add Storage Encryption for Named Collections
- Add Virtual Column _headers to URL Table Engine
- Add system.projections table for tracking available projections
- Add arrayZipUnaligned function for Spark compatibility
- Added cp/mv Commands for Keeper Client Application
- Adds scale argument to arrayAUC function to skip normalization step
Improvement
30- CREATE TABLE AS now supports PRIMARY KEY and ORDER BY for MergeTree engines
- Hardened Codebase for Small Entities with Bug Fixes in DeltaLake and ExternalDistributed Tables
- Use cgroup-specific metrics for CPU usage accounting
- IO Scheduling Optimization for Remote S3 Disks
- Functions upperUTF8 and lowerUTF8 now support case conversion for all languages
- New Option for Lightweight Delete in Tables with Projections
- New DNS Options for Blocking IP Family Connections
- Make Ctrl-Z Ignorance Configurable in ClickHouse Client
- Improve JSON UTF-8 Validation in Output Formats
- Added Profile Events for Merges and Mutations in ClickHouse
- ODBC: Retrieve http_max_tries from Server Configuration
- Add Wildcard Support for User Identification in X.509 SubjectAltName Extension
- Improve DateTime Schema Inference with Stricter Handling
- Delete Deprecated Code for Named Collections in Dictionaries
- Use HTTP/1.1 for External HTTP Authenticators
- Added Metrics for Thread Pool Introspection and Performance Insights
- Support query parameters in async inserts with format Values
- Support Date32 in dateTrunc and toStartOfInterval
- Add plan_step_name and plan_step_description columns to system.processors_profile_log
- Support for Spanish Language in Embedded Dictionaries
- Add CPU Architecture to Fault Message
- Queries Fail Faster with Keeper Connection Retry Issues
- Update Database Factory for User-Defined Database Engine Customization
- Restore Mode Fix for External Table Engines and Functions in ClickHouse
- CLICKHOUSE_PASSWORD Escaping for XML in ClickHouse Image Entry Point
- Allow Empty Arguments for arrayZip and arrayZipUnaligned for Spark Compatibility
- Support Advanced SSL Options for Keeper's Internal Communication
- Index Analysis Optimization for Large Tables in ClickHouse
- Masking sensitive info in gcs table function
- Rebuild Projection for Row-Reducing Merges
Performance Improvement
15- Implemented Selective File Reading for Hive Partitioning
- Improve JOIN Performance by Rearranging Right Table Keys in Hash Joins
- Improve ALL JOIN Performance with Lazy Row Appending
- Load Filesystem Cache Metadata Asynchronously for Faster Restarts
- Functions array and map optimized for faster processing
- Trivial Optimization for ORC Strings Reading with No NULLs
- Improved Merge Performance by Reducing Scheduling Overhead
- Speed up S3 requests when no profile or credentials are set
- Devirtualize format reader in RowInputFormatWithNamesAndTypes for performance improvement
- Add parallel merge to uniq aggregate function for enhanced CPU utilization
- Add output_format_orc_dictionary_key_size_threshold for String Column Dict Encoding in ORC
- Introduce RemoveRecursive Keeper Request to Delete Node and Subtree
- Speeding Up Insertion Performance with Parallel Data Addition to Vector Similarity Index
- Reduce Memory Usage of JSON Inserts with Adaptive Write Buffer Size
- Avoid Excessive Thread Spawning in Concurrent Hash Join Threadpool