v.22.2
Bug Fix
56- Fixed Assertion for Experimental Parallel Reading with Single Replica
- Fix rare bug reading empty arrays causing data compression error
- Fix rounding issue for small integer types in round/roundBankers
- Sometimes query cancellation did not work immediately with multiple file reads from S3 or HDFS
- Fix AggregatedChunkInfo Exception in MergingAggregatedTransform
- Fix Integer-Float Comparison Issue in Index Analysis
- Fix compression support in URL engine
- Fix 'file_size: Operation not supported' Error in Schema Autodetection
- Fix race condition in table deletion
- Fix Error "Cannot convert column Function to mask" in Short Circuit Function Evaluation
- Fix potential crash during schema inference from URL source
- Fix UDFs Access Permissions Check to Global Level
- Fix Engine Syntax in SHOW CREATE DATABASE for Memory Engine
- Fixed rare race conditions in replication queue
- Fix progress bar width calculation error
- Fix client information fields for inter-server communication in current_user/current_address
- Fix memory leak during query processing with optimize_aggregation_in_order=1
- Fix Query Metric to Reflect Executing Queries Count
- Fix Schema Inference for S3 Table Function
- Fix race condition in HDFS, S3, and URL storage engines
- Fix rare "Cannot read all data" bug in LowCardinality columns of MergeTree tables on remote file systems like S3
- Fix Inserts to Distributed Tables After Native Protocol Change in Version 22.1
- Fix data race in File table engine
- Fixed race condition causing "intersecting parts" error after ZooKeeper connection loss
- Fix Async Inserts with Native Format
- Fix Server Start Bug with Replicated Access Storage and Keeper Socket Timeout Settings
- Fix segfault in ORC file parsing due to corrupted footer, closes #33797
- Fix IPv6 Parsing and Conversion in Query Parameters
- Fix Crash When Reading Nested Tuples
- Fix Function Usage in Distributed Queries to Prevent "Not Found Columns" Exception
- Aggregate function combinator -If fixes Nullable filter processing issue
- Fix race condition in experimental remote disk read feature
- Fix SQL UDF Crash with Non-Identifier Lambda Arguments
- Fix Sparse Columns Usage with Experimental Setting
- Fixed logical error in SYSTEM RESTORE REPLICA query related to readonly replica status
- Fix memory leak in clickhouse-keeper with compression enabled
- Fix index analysis for absence of common types
- Fix schema inference for JSONEachRow and JSONCompactEachRow
- Fix external dictionary usage with Redis source and many keys
- Fix client bug causing 'Connection reset by peer' error
- Fix parsing for INSERT INTO ... VALUES SETTINGS in ClickHouse
- Fix bug in check table for wide format and projection data part creation
- Fix Race Condition in MergeTree Count Queries
- Throw Exception on Failed Directory Listing in HDFS
- Fix mutation issues in tables with projections
- Correct Handling of Current Database in Named HTTP Sessions for Temporary Table Creation
- Allow Sorting, LIMIT BY, ARRAY JOIN, and Lambda Functions in Queries
- Fix bug in zero copy replication causing data duplication on TTL move
- Fix AggregatedChunkInfo in GroupingAggregatedTransform for optimized aggregation
- Fix Bad Cast Error for Nested Columns with Dots in Name in ClickHouse
- Export to lz4 files fixed, closes #31421
- Fix crash in GROUP BY with LowCardinality type when using any overflow mode
- Fix gRPC Client-Server Protocol for Inserting into Temporary Tables
- Fix Issue #19429 and PR #34225 by Vitaly Baranov
- Fix issue #18206 and PR #33977 by Vitaly Baranov
- Fix multi-LDAP storage functionality in user directories
Build/Testing/Packaging Improvement
5Experimental Feature
5Improvement
48- Support asynchronous inserts in clickhouse-client for inlined data
- Functions dictGet and dictHas Implicitly Cast Key Argument to Dictionary Key Structure
- Improvements to range_hashed dictionaries in ClickHouse
- flat, hashed, and hashed_array dictionaries support empty attributes and dictHas functionality
- Added DateTime64 Support in Dictionaries
- Allow s3 function with explicit credentials in ClickHouse
- Added output format response to client as per HTTP protocol suggestions
- Send ProfileEvents for INSERT SELECT queries in ClickHouse
- Recognize .jsonl Extension for JSONEachRow Format
- Enhance schema inference in clickhouse-local for simplified data querying
- Privileges for Row Policy Management Expanded in ClickHouse
- Allow Export of Large Files to S3 with New Settings
- Allow Skipping 404 URLs for Globs in URL Storage/Table Function
- Default Input and Output Formats for clickhouse-local
- Add Options for clickhouse-format: max_query_size and max_parser_depth
- Better handling of pre-inputs before client start for #34308
- REGEXP_MATCHES and REGEXP_REPLACE Function Aliases for PostgreSQL Compatibility
- User-Agent Header Added to ClickHouse HTTP Requests
- Cancel Merges Before Table Lock to Prevent DEADLOCK_AVOIDED Error in TRUNCATE Query
- Change Severity of "Cancelled Merging Parts" Log Message
- Add PostgreSQL-style cast operator with array and tuple indexing support
- Recognize YYYYMMDD-hhmmss Format in parseDateTimeBestEffort Function
- Allow Carriage Return in Regexp Parsing
- Allow parsing dictionary's PRIMARY KEY as PRIMARY KEY (id, value)
- Optional Argument for splitByChar to Limit Resulting Elements
- Improving Multi-Line Editing Experience in ClickHouse Client
- Add UUID support in MsgPack input/output format
- Tracing Context Propagation Enhanced in GRPC Client Metadata
- Supports SYSTEM Queries with ON CLUSTER Clause
- Improve Memory Accounting for Low Usage Queries
- Fixed UTF-8 Case-Insensitive Search for Multi-Byte Characters
- Detect Format and Schema from Stdin in ClickHouse Local
- Correct Handling of Misconfiguration for Multiple Disks on Same Filesystem Path
- Try Every Resolved IP Address for S3 Proxy in Yandex Cloud
- Support EXPLAIN AST for CREATE FUNCTION Queries
- Added support for casting from Map to Array of Tuples in ClickHouse
- Improvements and Fixes for Bool Data Type
- Parse OpenTelemetry trace-id in big-endian order
- Improvement for fromUnixTimestamp64 Functions to Accept Any Integer Value Convertable to Int64
- Reimplement _shard_num with shardNum() function to avoid issues
- Enable Binary Arithmetic Between Decimal and Float
- Respect cgroups limits in max_threads autodetection
- Add min_session_timeout_ms Setting to Clickhouse-Keeper
- Added UUID Support for hex and bin Functions
- Fix Reading of Nested Columns with Dots in Names
- Fixes issues with parallel view processing and view duration for materialized views in ClickHouse
- Fix ZooKeeper Table Parsing for Canonical Metadata Comparison
- Properly Escape Characters for LDAP Interaction
New Feature
20- Projections Ready for Production with Default Optimization Setting
- New File Creation and Overwrite Options for File/S3/HDFS Engines in ClickHouse
- Add Custom Deduplication Semantic Setting in MergeTree/ReplicatedMergeTree
- Add DEFAULT keyword support for INSERT statements
- EPHEMERAL Column Specifier Added to CREATE TABLE Query
- Support IF EXISTS Clause for TTL Expression with MOVE TTL Rules on Replicas
- Allow Default Table Engine and Create Tables Without Specifying ENGINE
- Add table function format(format_name, data)
- Detect File Format in clickhouse-local via Filename in Stdin
- Add Schema Inference for Values Table Function
- Dynamic TLS Certificate Reloading on Config Update
- ReplicatedMergeTree Enhances Data Recovery with Disk Failure Support
- Fault-tolerant Connections in ClickHouse Client
- Add DEGREES and RADIANS Functions for MySQL Compatibility
- Add h3ToCenterChild and new miscellaneous h3 functions
- Add bitSlice function for extracting bit subsequences from String/FixedString
- Implemented meanZTest Aggregate Function
- Add Confidence Intervals to T-Tests Aggregate Functions
- Add addressToLineWithInlines function and close issue #26211
- Added Support for Shebang and Hash as Single Line Comment Indicators
Performance Improvement
17- Support optimize_read_in_order for partially sorted keys
- Improve Performance of Partitioned Inserts in Table Functions
- Multiple Performance Enhancements for ClickHouse Keeper
- FlatDictionary Enhances Dictionary Data Load Performance
- Improve performance of mapPopulateSeries function
- _file and _path virtual columns made LowCardinality for faster queries in file-like table engines
- Speed up data part loading with parallelized threading
- Improve Performance of LineAsString Format
- Optimize quantilesExact using nth_element instead of sort
- Slight Performance Improvement for Regexp Format
- Minor Improvement for Scalar Subquery Analysis
- Make ORDER BY Tuple as Fast as ORDER BY Columns
- Reintroduce Scalar Subqueries Cache in Materialized Views Execution
- Slight Performance Improvement for ORDER BY with AVX-512 Support in memcmpSmall Functions
- Improve range_hashed dictionary performance with many intervals
- For S3 Inserts and Merges, Utilize Parallel File Writing
- Improve clickhouse-keeper performance and fix memory leaks in NuRaft library