v.22.8
Backward Incompatible Changes
4Bug Fix
49- Fix segfault in CapnProto input format identified by kiojj
- Fix rare issue with array subscript operator behavior
- Fix Argument Check in Encryption Functions
- Fix Column Order Issue for IN Operator with Set Engine
- Fix Seeking from Encrypted Disk
- Fix Duplicate Columns in Join Plan and Resolve Issue #26809
- Fixed Query Hanging for SELECT with ORDER BY WITH FILL
- Fix ORDER BY to Match Projections in ClickHouse
- Do Not Optimize Functions in GROUP BY Statements that Shadow Table Columns
- Fix log table name issue after RENAME TABLE
- Fix Positional Arguments for Column Pruning in Query Optimization
- Fix Protobuf/CapnProto Schema Inference Bug and Add New Settings
- Fix segmentation fault in CREATE WINDOW VIEW ON CLUSTER INNER
- Fix WriteBuffer Finalize Issue When Cancelling Insert Function
- Fix Sparse Serialization for Object Type Columns
- Fix "Not found column in block" Exception with Projections
- Fix DROP and INSERT Race Condition with Materialized Views
- Fix Data Race and Heap Buffer Overflow in Apache Avro Library
- Fix Bug in Asynchronous Reading with O_DIRECT and Threadpool Method
- Fix "Function name '' is not unique" Error on FreeBSD in ClickHouse
- Fix maxsplit bug in splitByChar function
- Fix ASOF JOIN Bug with enable_optimize_predicate_expression
- Fix CREATE/DROP INDEX Query Execution on Replicated Databases
- Fix column not found error for push down with join
- Fix REGEXP_REPLACE Alias and Resolve Issue #9
- Fixed Exponential Decay Calculation to Use Last Value in Window
- Fix Decimal Division Overflow Detection Based on Operands Scale
- Fix output format settings for compatibility in ClickHouse
- Fixed bug in default database resolution for distributed table reads
- Only with Ordinary databases, Select may read data from dropped tables with mmap IO cache; fixed.
- Fix Invalid Column Type Error in ColumnUnique Insert Range
- Field names in JSON meta section fixed by correcting double escaping
- Fix Index Analysis with Tuples and IN Operator
- Fix EmbeddedRocksDB Key Filtering in Tables
- Fix Invalid Number of Columns Error in ARRAY JOIN Optimization
- Workaround for CANNOT_READ_ALL_DATA Bug in Linux Kernel 5.9 and 5.10
- Fix NFS mkdir for root-squashed volumes
- Remove dictionaries from Prometheus metrics on DETACH/DROP
- Fix StorageFile Read with Virtual Columns
- Fix High Memory Usage During Fetches
- Fix hashId crash and unused salt parameter in experimental feature
- EXCEPT and INTERSECT Operators May Cause Crashes with Certain Column Combinations
- Fixed Part Directory Errors and Replication Queue Issues in ClickHouse
- Fix rare tuple array parsing in Values format
- Fix ArrowColumn format conversion to ClickHouse LowCardinality types
- Fix S3 Deadlock During Task Scheduling Failure
- Fix bug in collectFilesToSkip() for index file extensions
- Fix for Reverse DNS Resolution
- Fix arrayDifference bug in Array(UInt32)
Build/Testing/Packaging Improvement
12- ClickFiddle: Tool for Testing ClickHouse Versions in Read/Write Mode
- ClickHouse Binary Made Self-Extracting
- Update tzdata to 2022b: Chile and Iran Timezone Changes
- Cleanup of Legacy systemd.service Files in /etc
- Ensure LSan Effectiveness
- TSAN Binaries Built with Clang-15 Due to Issues with Clang-14
- Remove Separate Executable Build Option for ClickHouse Tools
- Small Preparations and Fixes for s390x Architecture Support in ClickHouse
- Support for clang-16 Build Implemented
- Prepare RISC-V 64 Build for CI Integration
- Simplified Function Registration Macro for Faster Incremental Builds
- Docker entrypoint.sh now handles chown for multidisk setup folders
Improvement
34- Normalize AggregateFunction Types and State Representations for Optimization Compatibility
- Rework and Simplify system.backups Table Structure
- Improved DDL Query Result Structure for Replicated Database and Metadata Consistency Fixes
- Add result_rows and result_bytes to progress reports
- Improve Primary Key Analysis for MergeTree
- timeSlots Enhanced with DateTime64 Support for Subsecond Durations
- Added LEFT SEMI and LEFT ANTI Join Support for EmbeddedRocksDB Tables
- Add Profile Events for Fsync Operations
- Add Default Argument to File Function for Non-Existent Files
- Small Fixes for HTTP Reading and Partial Content Retry
- Support for CREATE TEMPORARY TABLE with column lists
- Add Support for Exclamation and Asterisk in Custom TLDs
- Add TLS Support for NATS Connections
- clickhouse-obfuscator updates: new --save and --load parameters for pre-trained models
- Fix log rotation behavior during restart
- Fix Aggregate Projections with External Aggregation; Marked as Improvement Due to Rare Use Case
- Allow Hash Functions to Accept Map Type Arguments
- Add Parameter to Hide Addresses in Stack Traces
- Change prefix size of AggregateFunctionDistinct for memory alignment
- Properly Escape Credentials in clickhouse-diagnostic Tool
- ClickHouse Keeper: Snapshot Creation on Exit Enhanced
- Support for Primary Key Analysis and Issue Fixes in Row Policies
- Fix Usability Issues in Play UI for iPad
- Play UI enhancements: row numbers, cell selection, and hysteresis for table cells
- Play UI: Support Tab Key in Textarea Without Disrupting Navigation
- Client to Display Server-Side Elapsed Time for ClickHouse Performance Comparison
- Adds parseDateTime64BestEffort Functions
- Extend system.processors_profile_log with additional input rows information
- Display Server-Side Time by Default in ClickHouse Benchmark with New Command Options
- Add ProfileEvents Counters for Query Complexity Limitations
- Fix Memory Accounting for "Memory Limit Exceeded" Errors
- Add FilesystemCacheSize and FilesystemCacheElements Metrics
- Support for Hadoop Secure RPC Transfer Options
- Avoid Memory Consumption in Pattern Cache with MultiMatch Functions
New Feature
12- Support SQL DELETE FROM Syntax for Merge Tree Tables in ClickHouse
- Query Parameters in Interactive Mode for Native Protocol Settings
- Quota Key Setting in Native Protocol
- Added exact_rows_before_limit setting for precise row statistics in ClickHouse
- Added Parallel Distributed Insert Support for S3Cluster in ClickHouse
- Add Settings for Schema Inference from Text Formats
- Option for JSON Formatted Log Output for Enhanced Analysis
- Add nowInBlock Function for Current Time Retrieval in ClickHouse
- Add settings customization for executable() table function
- Implemented Automatic Conversion from Ordinary to Atomic Database Engine
- Support SELECT ... INTO OUTFILE and STDOUT in ClickHouse
- Add New Pretty Format Options for Output
Performance Improvement
11- Improved Memory Usage in Efficient Merging of Aggregation Results
- Added Concurrency Control with `concurrent_threads_soft_limit` Parameter for Improved Performance
- Add SLRU Cache Policy for Uncompressed and Marks Cache
- Intel In-Memory Analytics Accelerator Enhances ClickHouse with DeflateQpl Codec for Improved Compression Performance
- Distinct Optimization and Memory Efficiency in ClickHouse with Sorted Input Handling
- Use Local Node for Remote Table Structure in Cluster Functions
- Optimize Numeric Column Filtering with AVX512VBMI2 for Improved Performance
- Optimize Index Analysis with Functional Expressions in Multi-thread Scenarios
- Optimizations for UDF Queries and Memory Management in ClickHouse
- Improved Base58 Encoding/Decoding
- Improve Bytes to Bits Mask Transform for SSE/AVX/AVX512