v.22.7
Bug Fix
52- Fix Decimal128/Decimal256 Rounding for Over 19-Digit Scale
- Fixed Crash Due to Data Race in Hive Storage
- Fix crash in GRANT ALL ON with ON CLUSTER
- Correct glob expansion for {0..10} forms in ClickHouse
- Fix crash in mapUpdate and mapFilter with constant map argument
- Fix toHour Monotonicity for Query Optimization and Correct Index Analysis
- Fix S3 Storage Parallel Writes Check
- Fix S3 Seekable Reads with Parallel Read Buffer
- Update simdjson to fix buffer overflow on Intel CPUs with AVX-512 VBMI
- Fix logical error in Vertical merges #38859
- Fix settings profile to include seconds unit
- Fix Incorrect Partition Pruning with Nullable Partition Keys
- Improve fsync_part_directory for fetches
- Fix deadlock in OvercommitTracker
- Fix filesystem cache bug related to capacity limit
- Fix Corner Cases and Enable Higher-Order Functions in Window Expressions
- Keep LowCardinality Type in Tuple Function
- Fix Block Structure Mismatch Error for INSERT with Materialized Views
- Fix Query Result Issue with Both Optimization Flags Enabled
- Fixed "Not found column Type in block" Error in PREWHERE Selects
- Fix rare race condition in remote filesystem hardlinks during concurrent backups
- Fix in-memory fetch with allow_remote_fs_zero_copy_replication in experimental zero-copy replication feature
- Fix Segmentation Fault in MaterializedPostgreSQL Engine During Replication Initialization
- Fix incorrect fetch of table metadata from PostgreSQL database engine
- Fix projection exception for wrapped aggregation keys
- Fix Logical Error with Argument Type Nothing in Functions
- Fix Column Order in UNION Subqueries to Prevent Incorrect Results
- Fix ALTER Column with Dots in Names
- Fix Sparse Column Reading from MergeTree Tables in S3
- Fix crash in Distributed async insert when removing replica from config
- Fix Missing Columns in GLOBAL JOIN with CTE Without Alias
- Rewrite Tuple Functions as Literals in Backwards-Compatibility Mode
- Fix redundant memory reservation in ORDER BY output block
- Fix logical error in DB::IColumn to DB::ColumnNullable cast in array mapped functions
- Fix temporary name clash in partial merge join
- Minor Issue with CREATE TABLE Queries in ClickHouse
- Fix bug in nested short-circuit functions execution
- Fix LOGICAL_ERROR in Experimental Window View Feature
- Update librdkafka submodule to resolve OAUTHBEARER callback crash
- Fix INSERT into Distributed hanging due to ProfileEvents
- Fix PostgreSQL Engine Retries
- Fix optimization issue in PartialSortingTransform leading to SIGSEGV and incorrect results
- Fix RabbitMQ Formats Using PeekableReadBuffer
- MaterializedPostgreSQL: Fix Invalid Number of Rows in Chunk
- Fix RabbitMQ Configuration Connection String
- Fix PostgreSQL engine for array dimension size retrieval
- Fix for Incorrect Results in Distributed Queries with DISTINCT and LIMIT
- Fix countSubstrings() and position() for 0-byte patterns
- Fix for ClickHouse Server: Start and Manage Tables with Invalid IPv4/IPv6 Values
- rankCorr function now handles NaN arguments correctly
- Fix parallel view processing and max insert threads issues
- Fix use-after-free in Map combinator for aggregate functions
Build/Testing/Packaging Improvement
7- Apply Clang Thread Safety Analysis Annotations to ClickHouse
- Adapt Universal Installation Script for FreeBSD
- Preparation for s390x Platform Build
- Fix jemalloc library bug by Azat Khuzhin
- Hardware Benchmark Supports Automatic Results Uploading
- System table "system.licenses" population fixed on Mac (Darwin)
- Change all|noarch packages to architecture-dependent and update documentation
Experimental Feature
1Improvement
43- Support SQL CREATE INDEX and DROP INDEX Syntax
- Send Profile Events for INSERT Queries in ClickHouse
- Implement In Order Aggregation for Fully Materialized Projections
- Remove subprocess run for Kerberos initialization and add integration test
- Add Setting to Preserve Identifier Names in Multiple JOINs
- Improved trace-visualizer UX by Sergei Trifonov
- Enable stack trace collection and query profiler for AArch64
- Do not skip symlinks in user_defined directory during SQL user defined functions loading
- Background Cleanup Added for Subdirectories in Store Directory
- Add DESCRIBE CACHE and SHOW CACHES Queries for Cache Management
- Add Access Check for System Drop Filesystem Cache with ON CLUSTER Support
- Fix PostgreSQL Database Engine Incompatibility on Upgrade from 21.3 to 22.3
- filesystemAvailable and similar functions now supported in clickhouse-local
- Add revision function
- Fix GCS Proxy Tunnel Usage
- Support \i file in ClickHouse client similar to psql \i
- New `optimize = 1` Option in `EXPLAIN AST` for Rewritten AST Display
- Allow Trailing Comma in Columns List
- Bugfixes and Performance Improvements for parallel_hash JOIN Method
- Support Hadoop Secure RPC Transfer Options
- Add struct type support in StorageHive
- S3 Object Removal Enhancements and GCP Compatibility Improvements
- Expose ClickHouse Keeper Monitoring Data
- Support auto_close option for PostgreSQL engine connection
- Allow NULL Modifier in Table Function Column Declarations
- Deactivate mutations_finalizing_task before shutdown to prevent TABLE_IS_READ_ONLY errors
- Eliminate SELECT Query Delays After ALTER Queries in Ordinary Databases
- New `rewrite` Option in `EXPLAIN AST` to Show Rewritten AST
- Stop Reporting Expected Zookeeper "Node Exists" Exceptions
- clickhouse-keeper: real-time digest calculation and verification support added
- Allow Globs in Key for clickhouse-extract-from-config Tool
- clearOldLogs: Suppress KEEPER_EXCEPTION on Concurrent Deletes
- clickhouse-keeper enhancement: persist meta-information for keeper servers to disk
- Continue Without Exception on Disk Space Exhaustion with Filesystem Cache
- Handling SIGTERM Signals in Kubernetes
- Add merge_algorithm column to system.part_log
- Don't Increment Counter for Non-Rotational Disks
- Fix for Incorrect result_bytes Value in INSERT Queries of system.query_log
- Improved CPU Usage Metric Display in ClickHouse Client
- Rethrow Exception on Filesystem Cache Initialization with Improved Error Message
- OpenTelemetry Default Changes: Trace Collection Updated to Exclude Processors Spans
- Functions multiMatch[Fuzzy] now handle empty needle argument gracefully
- Allow declaration of RabbitMQ queue without default x-max-length and x-overflow arguments
New Feature
25- Support window function expressions in ClickHouse
- Add direct join algorithm for EmbeddedRocksDB tables
- Added full sorting merge join algorithm
- Implement NATS Table Engine for Pub/Sub Functionality in ClickHouse
- Implement MongoDB Table Function for Write Operations in ClickHouse
- Add SQLInsert Output Format
- Introduced additional_table_filters and additional_result_filter settings for enhanced query filtering in ClickHouse
- Add compatibility setting and system.settings_changes table for ClickHouse版本设置变更信息
- Add translate and translateUTF8 functions for character translation
- Support parseTimeDelta function for time interval parsing
- Added CREATE TABLE ... EMPTY AS SELECT Query to Deduce Table Structure
- Added IO operation limits for remote storage in ClickHouse
- Add group_by_use_nulls Setting for Nullable Aggregation Keys in ROLLUP, CUBE, and GROUPING SETS
- Add Compression Level Specification for Data Export
- Add explicit grants option for SELECT from system database
- Functions Updated to Accept Non-Const Arguments in ClickHouse
- Add zstd_window_log_max Setting for Memory Control in Zstd Decoding
- Add send_logs_source_regexp Setting for Filtering Server Text Logs
- Support ALTER for Hive tables
- Support isNullable Function for Nullable Argument Check
- Added base58 encoding/decoding functions
- Add Chart Visualization to Play UI
- Added L2 Squared Distance and Norm Functions for Arrays and Tuples
- Add HTTP Header Support to URL Table Function in SQL
- Add clickhouse-diagnostics binary to packages
Performance Improvement
19- Distinct Optimization for Sorted Columns in ClickHouse
- Improve ORDER BY and MergeTree Performance with Batch BinaryHeap Implementation
- More Parallel Execution for Queries with FINAL
- Fix Join Performance Regression from #35616
- Migrate from Intel Hyperscan to Vectorscan for Faster String Matching on Non-x86 Platforms
- Increased Parallelism in Query Plan Steps Post-Aggregation
- Improve JSON Column Insertion Performance
- Optimized HashTable Insertion and Lookups
- Fix Performance Degradation from Issue #32493
- Improve Joining Performance with Numeric Columns Using SIMD Instructions
- Norm and Distance Functions for Arrays Improve Speed by 1.2-2 Times
- Add AVX-512 VBMI Optimized CopyOverlap32Shuffle for Enhanced LZ4 Decompression Performance
- ORDER BY (a, b) Offers Same Benefits As ORDER BY a, b
- Align Branches within 32B Boundary for Improved Performance on Intel
- Executable UDFs and Dictionaries Optimize Subprocess Wait Time
- Optimize Accesses to system.stack_trace Table with Partial Column Selection
- Enhance LowCardinality Argument Performance for Nullable Checks
- Optimized ORDER BY Processing in Window Functions
- Table system.asynchronous_metric_log Optimized for Storage Space