v.22.3
Backward Incompatible Changes
3Bug Fix
40- Fix HDFS Integration Issue with HadoopSnappyDecoder Buffer Size
- Ignore Obsolete Grants in ATTACH GRANT Statements
- Fix segfault in Postgres database for named collections ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ
- Fix Duplicate Rows Bug in Partial Merge Join
- Fix Assertion Error in Compression with Small max_read_buffer_size Settings
- Fix segfault in JSONEachRow schema inference
- Fix CHECK TABLE Query for Sparse Columns
- Avoid std::terminate on remote VFS read exceptions
- Fix reading port from config, close issue #34776
- Fix HAVING Clause Error in TOTALS Query Handling
- Fix corner case in replaceRegexpAll, closes #35117
- Schema Inference Issue with INSERT INTO FUNCTION from S3
- Fix PostgreSQL Materialized Feature Table Overrides
- Fix MaterializedPostgreSQL Attachment Issues After Table Detachment
- Fix partition pruning error with non-monotonic function and IN operator
- Fixed YAML to XML translation error
- Fix optimize_skip_unused_shards_rewrite_in for signed columns and negative values
- Fix for update_lag external dictionary configuration error
- Avoid Deadlock on Server Shutdown
- Fix Alias Issue After Function Optimization to Subcolumns
- Fix reading from system.asynchronous_inserts table with asynchronous insert function
- Fix Exception in MergeTree Family Tables for Remote VFS Operations
- Fix unexpected result for -State type aggregate function in window frame
- Fix segfault in FileLog (experimental feature)
- Fix rare error "Cannot push block to port which already has data"
- Fix Schema Inference for Unquoted Dates in CSV
- Integration with Hive: Fix unexpected results in WHERE clause using IN query
- Avoid Busy Polling in ClickHouse Keeper for Changelog File Deletion
- Fix DateTime64 Conversion from PostgreSQL
- Fix "Part directory doesn't exist" error in MergeTree with VFS over S3
- Support Cross-Cluster Execution of DDLs like CREATE USER
- Fix Bugs in Multiple Columns Group By for WindowView
- Fix S2 Function Failures with Const Columns
- Fix H3 Functions Bug with Const Columns
- Fix No such file or directory error with fsync_part_directory and vertical merge
- Fix Serialization for System Queries Used ON CLUSTER
- Fix allow_experimental_projection_optimization for better performance with WITH statements
- Stop selecting part for mutate when other replica updates transaction log for ReplatedMergeTree engine
- Fix Trivial Count Query Result with Part Movement Feature
- Fix max_query_size limitation inconsistency in distributed subqueries
Build/Testing/Packaging Improvement
8- Package Repository Migration to JFrog Artifactory
- Randomize Settings in Functional Tests for Enhanced Coverage
- Drop PVS-Studio from CI
- Add Stripped Binary Build Support with CMake
- Smaller fat-free clickhouse-keeper build
- Use @robot-clickhouse for PR authorship and commit
- Limit DWARF Version for Debug Info to Max 4 for Compatibility
- Remove unnecessary clickhouse-test debian package from CI
Experimental Feature
2Improvement
36- Allow Asynchronous Inserts to Table Functions
- Implicit Type Casting for Dict Functions in ClickHouse
- EXPLAIN AST Query Outputs Graphviz Format Graph
- Fix AWS SDK Bug that Set Incorrect Content Type for Large Files Written with S3 Table Function
- Change Row Policies to Enhance Usability in ClickHouse
- Enhance Schema Inference with Globs in File/S3/HDFS/URL Engines
- Play UI Supports OS Preferred Light/Dark Theme Detection
- Added best_effort_us date time input format
- New Settings for Server Configuration: allow_plaintext_password and allow_no_password
- Support for DateTime64 Data Type in Arrow Format
- Reload remote_url_allow_hosts on config update
- Support --testmode parameter for clickhouse-local to interpret test hints
- Add distributed_depth to query log for detailed querying
- Respect remote_url_allow_hosts for MySQL and PostgreSQL table functions
- Added disk_name field to system.part_log
- Do Not Retry Non-Retriable Errors When Querying Remote URLs
- Support for Distributed INSERT SELECT Queries in View() Function
- More Precise Memory Tracking for INSERT with AggregateFunction
- Avoid Division by Zero in Query Profiler for Linux Kernel Bug
- Add Sanity Checks for Keeper Configuration
- Fix excessive logging and table renaming in ClickHouse settings changes
- Use Connection Pool for Hive Metastore Client
- Ignore TTL in CREATE TABLE AS for unsupported table engines
- Allow LowCardinality strings for ngrambf_v1/tokenbf_v1 indexes
- Allow Opening Empty SQLite DB When File Doesn't Exist
- Implement Memory Statistics for FreeBSD for max_server_memory_usage
- Fix progress bar jumping issue in clickhouse-client
- ALTER TABLE DROP COLUMN Now Instantly Supports ALIAS Columns in MergeTree
- Show Hints for Mistyped Data Skipping Index Names
- Support remote and cluster table functions for parallel_distributed_insert_select
- Do not reset logging for empty config file with command line options
- Extract Schema Once on Table Creation to Optimize Server Startup
- Allow Argument Name Specification for Executable UDFs in Serialization Formats
- MaterializedMySQL Now Supports Configurable Table Replication
- Improve OpenTelemetry Span Logs for Distributed Table INSERT Operation
- Make znode ctime and mtime consistent in ClickHouse Keeper
New Feature
9- Support for Local Caching of Remote Filesystems on S3 Disks
- Add New Hive Table Function in ClickHouse
- Support SSL User Authentication via X.509 Certificates
- Support Schema Inference for Table Functions with File, HDFS, S3, and URL Input
- New Ability for Unrestricted Reads from Zookeeper Table in ClickHouse
- Display CPU and Memory Metrics in ClickHouse Local
- Implement startsWith and endsWith functions for arrays
- Add Map Data Type Functions: mapReplace, mapFilter, and mapMap
- Allow Default User and Password for ClickHouse Client via Environment Variables
Performance Improvement
6- Improve MergeTree Insertion Performance by Optimizing Sorting
- Columns Pruning for Parquet, ORC, and Arrow Files from URL and S3
- Columns Pruning for Parquet, ORC, and Arrow Files in Hive
- Performance Enhancements for Query Processing and Charset Detection in ClickHouse
- Improve Aggregate Function Performance with Enhanced Batching
- Multiple Performance Enhancements for clickhouse-keeper