v.22.6
Backward Incompatible Changes
6- Remove Octal Number Literal Support in SQL
- Changes to Settings Parsing for Floating Point Seconds
- Changed binary serialization format for experimental Object type columns
- Turn on Default JSON Output for Named Tuples
- LIKE Patterns with Trailing Escape Symbol Disallowed
- ClickHouse Upgrade Issue with AArch64 and Mixed Architectures During Distributed Queries
Bug Fix
49- Fix SELECT INTERSECT and EXCEPT SELECT Statements with Constant String Types
- Fix GROUP BY for AggregateFunction Type
- Fix addDependency in WindowView for Experimental Window View Issue #37237
- Fix ORDER BY WITH FILL Inconsistency Generating Extra Rows
- Moving addDependency to startup() to prevent issues with dropped tables
- Fix Default Insertion for Missing Values in Columnar Formats
- Fix Insertion of Nested Arrays to Object Columns in ClickHouse
- Fix Errors from Constant String Clash in Aggregate Functions
- Fix Projections and Optimize Aggregation in ORDER BY Queries
- Fixed S3 Key Name Symbol Error, Addressing Issue #33009
- Throw Exception for GROUPING SETS with ROLLUP or CUBE
- Fix LOGICAL_ERROR in getMaxSourcePartsSizeForMerge with new config.xml parameters
- Stop Removing UTF-8 BOM in RowBinary Format
- clickhouse-keeper bugfix: fix single node cluster force recovery
- Fix logical error in normalizeUTF8 functions
- Fix Nullable LowCard Cast in JoinSwitcher
- Fix named tuples output in ORC/Arrow/Parquet formats
- Fix Optimization of Monotonous Functions in ORDER BY Clause with GROUPING SETS
- Fix Error in Dictionary Join Conditions
- Prohibit optimize_aggregation_in_order with GROUPING SETS
- Fix ActionsDAG Dump Information
- Fix Type Conversion for UNION Queries to Prevent LOGICAL_ERROR
- Fix WITH FILL Modifier for Negative Intervals in STEP Clause
- Fix illegal joinGet array usage with join_use_nulls enabled
- Fix Column Number Mismatch in Cross Join
- Fix segmentation fault in show create table for MySQL with named collections
- Fix RabbitMQ Storage Startup Issue on Server Restart
- SQL User Defined Functions Prevent CREATE/DROP in Readonly Mode
- Fix Formatting of Nullable Arguments for User Defined Functions
- Fix Optimization for Monotonous Functions in Distributed Queries
- Fix logical error in values table function for UInt64 to Float64 conversion
- Fix segfault in schema inference due to exception in SchemaReader constructor
- Fix cast_ipv4_ipv6_default_on_conversion_error in internal cast function
- Fix toString Error on DatatypeDate32
- ClickHouse Keeper Setting Adjusted to Microseconds, Causing Delayed Dead Session Cleanup
- Fix "No more packets are available" issue in distributed queries
- Experimental WINDOW VIEW: Preserve Inner Target Table in ALTER TABLE MODIFY QUERY
- Fix Directory Ownership in ClickHouse-Keeper Docker Image
- Dictionaries fix custom query with update field and {condition}
- Fix Incorrect Results in SELECT ... WITH FILL Due to ORDER BY Optimization
- experimental WINDOW VIEW: Add missing default columns in target table and fix issue #37815
- Fixed large stack frame causing compilation failure
- When enabling filesystem query cache limit, reserved cache size exceeds remaining capacity
- Fix Type Conversion for UNION Queries to Avoid LOGICAL_ERROR
- TTL Merge Scheduling Affected by BackgroundExecutor Busy State
- Fix Overridden Settings Value of normalize_function_names
- Fix Exponential Time Decaying Window Functions and Respect Window Boundaries
- Fix heap-use-after-free error in system.projection_parts and system.projection_parts_columns
- Fixed DateTime64 Fractional Seconds Behavior Before Unix Epoch
Build/Testing/Packaging Improvement
4Experimental Feature
3Improvement
39- Support Non-Standard Default Types in ROLLUP, CUBE, and GROUPING SETS
- Fix ARM Stack Trace Collection Issues
- Client Attempts Connection Using All DNS-Resolved IP Addresses
- Allow String Type in Arrow/Parquet/ORC Formats with New Settings
- Apply input_format_max_rows_to_read_for_schema_inference Globally and Increase Default to 25000
- Add Separate CLUSTER Grant and Backward Compatibility Configuration Directive
- Added Support for Schema Inference for hdfsCluster
- Implement least_used load balancing algorithm for multi-disk configuration
- Modify HTTP Endpoint for Improved Status Reporting and Error Handling
- Allow User to Inspect Grants from Granted Roles
- Using CDF Functions Instead of Numerical Integration for Improved Speed and Precision
- Add Default Implementation for Nothing in Functions to Handle Nullable Types and Empty Arrays
- Local and Remote Replica Coordination in Shard Plans
- Do not abort server startup for unset mark_cache_size configuration option
- Support NULL/NOT NULL in column declaration
- Optimize Read Buffer for PARTIALLY_DOWNLOADED File Segment
- Improve Short Circuit Functions Processing for Stress Test Issues
- Closes issue #37395 and PR #37415 by Memo
- Fix rare deadlock in zero-copy replication part fetch
- Don't Allow Storage Creation with Unknown Data Format
- Set global_memory_usage_overcommit_max_wait_microseconds to 5 seconds and enhance OOM exception message with OvercommitTracker info
- Do not display -0.0 CPU time in clickhouse-client due to rounding errors
- Play UI Improvement: Fix Control Position During Horizontal Scroll
- Modify query div in play.html for extendable textarea height
- Added ProfileEvents for Introspection of Inserted and Merged Parts in system.part_log
- ClickHouse-Keeper Enhancement: Relocate Broken Logs to Timestamped Folder
- Do not write expired TTL columns after subsequent merges
- More precise results for dumpColumnStructure function with LowCardinality or Sparse columns
- clickhouse-keeper: store unique session IDs for watches
- Fix "Cannot write to finalized buffer" issue
- Add support_batch_delete setting for DiskS3 to disable multiobject delete calls
- Add option to disable connection pooling in ODBC bridge
- Functions dictGetHierarchy, dictIsIn, dictGetChildren, and dictGetDescendants Add Nullable HIERARCHICAL Support
- Expose BoringSSL Version Info in system.build_options Table
- ClickHouse-server Removes delete_tmp Directories on Startup
- Clean up broken detached parts after timeout, closes #25195
- Instant Removal of Failed-to-Move Parts in MergeTree Table Engines
- ReplicatedMergeTree Enhancement: Option to Fetch Merged Parts from Lower-Load Replicas
- Add Implicit Grants with Grant Option in ClickHouse
New Feature
19- Add GROUPING Function for Disambiguation in ROLLUP, CUBE, and GROUPING SETS
- New FPC Algorithm for Floating Point Data Compression
- Add New Columnar JSON Formats: JSONColumns, JSONCompactColumns, JSONColumnsWithMetadata
- Added OpenTelemetry Traces Visualization Tool using D3.js
- Support INSERTs into system.zookeeper table
- Support non-constant pattern argument for LIKE, ILIKE, and match functions
- Executable User Defined Functions Now Support Parameters
- Add merge_reason column to system.part_log table
- Add Avro Format Support for Maps and Records with Null Default Setting
- Add clickhouse-disks tool for virtual filesystem management in ClickHouse
- Adds H3 unidirectional edge functions
- Add support for hashids from unsigned integers
- Explicit SALT Specification for CREATE USER with sha256_hash
- Add Settings to Skip Initial Lines in CSV/TSV Formats
- showCertificate Function Displays Current Server's SSL Certificate
- HTTP Source Support for Data Dictionaries in Named Collections
- Added nonNegativeDerivative Window Function
- Implemented Comment Change for ReplicatedMergeTree Tables
- Added SYSTEM UNFREEZE Query for Complete Backup Deletion
Performance Improvement
28- Added ARM NEON Optimizations with Upgrade Note for ClickHouse
- Improve Performance and Memory Usage for Subset Column Selection in Multiple Formats
- Now Supports Pushing Down More Filters for Joins
- Load Necessary Columns for Wide Parts in ClickHouse
- Improved Aggregation Performance with Sparse Columns in MergeTree Tables
- Optimize COALESCE function with two arguments
- Replace multiIf with if for Single Condition Cases
- Improve dictGetDescendants and dictGetChildren Functions with Temporary Hierarchical Index and BIDIRECTIONAL Support
- Aggregates State Destruction Improved with Thread Pool for Faster Queries
- Improve single column sort performance
- Improve Performance of Single Column Sorting with Queue Specializations
- Improved Performance on Array Norm and Distance Functions 2x-4x
- Improve Performance of Number Comparison Functions with Dynamic Dispatch
- Improve ORDER BY Performance with LIMIT
- Improve hasAll Function Performance with Dynamic Dispatch
- Improve Performance of Geospatial Functions
- Improve MergeTree Insert Performance with Multiple ORDER BY Columns
- Fix High CPU Usage in Background with Many Tables
- Improve performance of not function with dynamic dispatch
- Optimized Internal Caching of re2 Patterns in LIKE and MATCH Functions
- Improve filter bitmask generator with AVX-512 instructions
- Apply threadpool read method for faster Hive integration engine performance
- Construct Columns Using Row Number for Partition Keys Without Reading Hive File
- Support Multi Disks for Caching Hive Files
- Limiting Maximum Cache Usage per Query to Prevent Contamination
- ClickHouse Local Cache I/O Issues and Performance Impact
- Allow Pruning of S3 File List via Virtual Columns
- Optimization of CompressedWriteBuffer to Eliminate Unnecessary Write-Copy Step