v.20.3
Bug Fix
307- Removed unnecessary logging from mutation finalization task
- Fixed bugs in parseDateTime64BestEffort argument resolution
- Fixed raw data size issue in getRawData() method
- Fixed Two-Level Aggregation Incompatibility in ClickHouse Versions 20.1 and Earlier
- Fixed Backward Compatibility with Tuples in Distributed Tables
- Fixed SIGSEGV in StringHashTable for non-existent keys
- Fixed bug in ReplicatedMergeTree causing ALTER on OPTIMIZE query to hang
- Fixed Column Order After Block::sortColumns()
- Fixed ODBC Bridge Identifier Quoting Issue
- Fixed UBSan and MSan report in DateLUT
- Fixed Type Conversion Issue in Key Conditions
- Fixed parallel view processing to ensure all insertions into materialized views are completed despite exceptions
- Fixed OrNull and -OrDefault combinator with -State integration
- Fixed Crash in generateRandom with Nested Types
- Fixed Data Corruption in LowCardinality Key Column for SummingMergeTree
- Fixed Buffer Overflow in h3EdgeAngle Function
- Fixed Issue with Disappearing Totals in Queries
- Fixed Redundant IN Operator Usages in Query
- Fixed Client Close Bug for HTTP Requests with Readonly Queries
- Fixed Parameter Order in AggregateTransform Constructor
- Fixed Parallel Execution of Remote Queries in Memory-Efficient Distributed Aggregation
- Fixed Incorrect Row Count for Queries with LIMIT
- Fixed bug locking concurrent alters on heavily partitioned tables
- Fixed bug in SYSTEM DROP DNS CACHE affecting IP connection checks
- Fixed Scalar Results in INNER QUERY of MATERIALIZED VIEW for Dependent Tables
- Fixed SELECT of ALIAS column with different default expression type
- Implemented Comparison Between DateTime64 and String Values
- Fixed index corruption after merging compact parts
- Fixed mutation hang issue when is_done=0
- Fixed Overflow at Unix Epoch for Timezones with Fractional UTC Offset
- Fixed Improper Shutdown of Distributed Storage
- Fixed Numeric Overflow in simpleLinearRegression for Large Integers
- Fix BloomFilter False Positive Error Handling
- Fix error related to data compression methods with direct I/O and PREWHERE in ClickHouse
- Fix compressed size return for codecs
- Fix server crash with non-literal compression codec arguments
- Fix pointInPolygon to Handle NaN Points
- Fix crash in JOIN with LowCardinality and Nullable types
- Fix Error Code for Incorrect USING Key
- Fixed geohashesInBox Argument Range Issue
- Better Errors for joinGet() Functions
- Fix Pipeline Stuck Error for Queries with External Sort and Limit
- Remove Redundant Lock in ReplicatedMergeTree Parts Send
- Fix support for \G in clickhouse-client multiline mode
- Fix crash in direct selects from StorageJoin and correct nullability
- Fix crash in quantilesExactWeightedArray
- Merges Stopped Before Change Metadata in ALTER Queries
- Make MATERIALIZED VIEW Writing Parallel with parallel_view_processing=1
- Fix visitParamExtractRaw for Unbalanced JSON Strings
- Fix rare race condition in ThreadPool
- Fix Uninitialized Memory in toIntervalSecond Function
- Fix Index Analysis Issue with Array Column in Primary Key
- Fix query speed estimation bugs and improve usability in ClickHouse
- Fix crash on malformed Protobuf data
- Fixed cache-dictionary bug with expired keys for string fields
- Fix Block Structure Mismatch Error in QueryPipeline for VIEW with Inner Query Constants
- Fix Invalid Status Exception for Associated Output
- Fix error with capturing column in higher-order functions using Array of LowCardinality
- Fixed S3 Globbing Issue for Over 1000 Keys and Multiple Backends
- Fix Index Calculation for Data Skipping in Background Merges
- Fix Thread Reservation for Simple Queries Optimization
- Fix Predicate Optimization for HAVING in Distributed Queries
- Introduce Commit Retry Logic to Reduce Kafka Duplicate Messages
- Fix rare crash with Nullable column in prewhere condition
- Don't Allow arrayJoin in Higher Order Functions to Ensure Protocol Synchronization
- Fix Excessive Thread Usage for Queries
- Fix Unexpected Behavior in SELECT Queries
- Now replicated fetches cancel during metadata alteration
- Fixed LOGICAL_ERROR in Values input format due to type deduction issue
- Fix ORDER BY WITH FILL for Const Columns
- Pass Timeouts for XDBC Bridge Communication
- Fix error in system.mutations leading to incorrect mutation state
- Add Case-Insensitive Support for Regular Expressions
- Remove Trivial Count Query Optimization with Row-Level Security
- Fix Bloom Filters for String in Data Skipping Indices
- Fix rare crash with Nullable column in prewhere condition
- Fix Block Structure Mismatch Error for Sampling Queries from Buffer Table
- Fix exit code error in clickhouse-client on specific exception conditions
- Fix log message error for cache size at server startup
- Fix size mismatch error for PREWHERE with ARRAY JOIN in queries
- All HTTP session queries share the same fixed query_id
- ClickHouse Docker Container Prefers IPv6 for Server Aliveness Checks
- Fix shard_num/replica_num for <node> affecting compact format in distributed parts names
- Fix memory leak during aggregation with -State functions
- Fix Distributed Query Results Due to Alias Overriding Qualified Column Names
- Fixed parseDateTimeBestEffort Function Error with Unix Timestamp
- Fixed Performance and Accuracy Issues in Aggregate Functions for Float Types with NaN Values
- Fixed function if with nullable constexpr condition not being literal NULL
- Fixed Nullable Handling in arrayElement Function
- Fixed Thread Limiting for Local Replica Selects
- Fixed Overflow Row Issue in WITH TOTALS Queries
- Fixed Performance Issue with Large Tuples in IN Clause
- Fixed Memory Tracking for Input Format Parallel Parsing
- Fixed #12293: Allow Push Predicate in Subquery with With Clause
- Fixed Bloom Filter Index with Const Expression in Issue #10572
- Fixed SIGSEGV in StorageKafka When Broker is Unavailable
- Fixed Race Condition in External Dictionaries to Prevent Server Crash
- Fixed bug causing broken old parts after ALTER DELETE query with mixed granularity parts enabled
- Better Exception Handling for 'in' Function with Invalid Argument Count
- Fixed performance issue in reading from compact parts
- Fixed Deadlock Issue with Enabled text_log
- Fixed possible segfault in StorageMerge
- Fixed TOTALS/ROLLUP/CUBE for Aggregate Functions with -State and Nullable Arguments
- Fixed Column Order in WITH FILL Modifier
- Avoid "Bad Cast" Exception for Filtering by Virtual and Index Columns in ClickHouse
- Show error for failed TrieDictionary load
- Fix arrayFill function crash for empty arrays
- Implement LowCardinality Type Conversions for UNION ALL Compatibility
- Fixed Duplicate Header Writes During Sequential Inserts in StorageFile
- Fixed Logical Functions for UInt8 Values
- Fixed dictGet Arguments Check for GROUP BY Functions Elimination
- Fixed Logic in ALTER DELETE to Prevent Null Condition Record Deletion
- Fixed Query Transformation for External DBMS with Aliases
- Fixed Integer Division Overflow Issue
- Fixed Infinite Loop in greatCircleDistance and geoDistance
- Avoid "There is no query" Exception for Materialized Views with Joins or Subqueries
- Fixed Performance Issues for UNION Selects Due to Thread Limit Error
- Fixed segfault with -StateResample combinators
- Fixed Thread Limitations for SELECT Queries on VIEW
- Fixed Crash Issue with Incorrect PREWHERE Type
- Fixed Error for Default Value Function with LowCardinality Type
- Fixed Cannot Capture Column Error for Tuple(LowCardinality) in Higher-Order Functions
- Parse Tables Metadata in Parallel to Improve Server Startup Speed
- Make topK Aggregate Function Return Enum for Enum Types
- Fixed constraints check for constant expressions, addressing issue #11360
- Fixed Tuple Comparison with Nullable Columns
- Fixed Crash and Result Issue with FixedString in if Function
- Fix empty result in neighbor function with offset -9223372036854775808
- Fixed array size overflow in generateRandom to prevent crashes
- Fixed Potential Floating Point Exception
- Fixed Log Message Setting Name at Server Startup
- Fixed Query Parameter Not Set in Values Format
- Keep Aliases for Substitutions in Parametrized Queries
- Fixed Floating Point Exception in DateTime64 Parsing
- Fixed Memory Accounting via HTTP Interface
- Fixed NULL Handling in if() Condition
- Parse Metadata in Zookeeper Before Equality Check
- Fixed LIMIT n WITH TIES with ORDER BY aliases support
- Fix Uninitialized Memory Read in Cache Dictionary
- Fix JOIN Crash with StorageMerge and Predicate Optimization Enabled
- Fix Invalid Return Type for Tuple Comparison with NULL Elements
- Fix ORDER BY Prefix in Queries with Constant Columns
- Return Passed Number for MSB Set in roundUpToPowerOfTwoOrZero
- Stop Query Execution on Exception in PipelineExecutor
- Fixed cache-dictionary default value issue in ClickHouse
- Fix Parsing Row Policies in Users.xml for Database/Table Names with Dots
- Fix Nullable String to Enum Casting Issue
- Fixed data race in text_log
- Fix Rare SELECT Query Error with DEFAULT Expressions
- Fix bug with ALTER UPDATE mutation on Nullable column leading to incorrect values or segfault
- Fix Incorrect Decimal Multiplication Result Due to Wrong Decimal Scale
- Fixed inconsistent whitespaces in log messages
- Fix unnamed tuple array flattening bug in table creation
- Fixed "Too Many Open Files" Issue in File Table Handling
- DROP TEMPORARY TABLE Now Only Drops Temporary Tables
- Remove Outdated Partition on Server Shutdown or Table Detach/Attach
- Fix free space calculation for separate device mount of data directory
- Allow Comma Join with IN Clause
- Allow CROSS to INNER JOIN Rewrite with LIKE in WHERE Clause
- Fix Incorrect Results with GROUP BY and distributed_aggregation_memory_efficient Setting
- Found keys miscounted in cache dictionary metrics
- Fix replication protocol incompatibility from issue #8598
- Fixed race condition in queue_task_handle during ReplicatedMergeTree startup
- Token NOT Malfunction in SHOW TABLES NOT LIKE Query
- Added Range Check to h3EdgeLengthM Function to Prevent Buffer Overflow
- Fixed bug in batched calculations of ternary logical operations
- Fix PREWHERE optimization error leading to segfaults and column inconsistency in MergeTreeRangeReader
- Fix Socket Timeout Exception on Secure Connections and Introduce New Timeout Setting
- Fix mutation finalization bug causing hanging state
- Use New ANY JOIN Logic with partial_merge_join Setting
- Shard Settings Adjustments Enhance Query Flexibility
- Fixed Memory Management Issue in MergeTreeReadPool
- Fix toDecimal*OrNull() Functions for String Input
- Ensure FORMAT Null Sends No Data to Client
- Fix timestamp update issue in LiveViewBlockInputStream
- Fixed ALTER MODIFY TTL to Allow Deletion of Old Expressions
- Fixed UBSan Report in MergeTreeIndexSet
- Fixed match and extract functions for zero-byte haystacks
- Avoid Throwing from Destructor in Apache Avro Library
- Don't Commit Partially Polled Kafka Batches
- Fix joinGet with Nullable Return Types
- Fix T64 Codec Data Incompatibility Issues
- Add enable_early_constant_folding setting and disable in error-prone cases
- Fix pushdown predicate optimizer with VIEW and enable related test
- Fix segfault in Merge tables when reading from File storages
- Added Storage Policy Check for Partition Operations in ClickHouse
- Fix Table Alterations When TTL is Set
- Fix race condition in SYSTEM RELOAD ALL DICTIONARIES execution
- Memory Database Engine Table Creation Path Update
- Fixed log messages for missing default disk or policy
- Fix not(has()) for bloom_filter index of array types
- Allow First Column(s) in Log Engine Table to Be an Alias
- Fix Range Order Reading in MergeTree to Prevent Exceptions and Incorrect Results
- Make reinterpretAsFixedString Return FixedString Instead of String
- Avoid Incorrect Error Messages in Rare Cases
- Do not crash with empty row template in Template format
- Metadata Files for System Tables Created in Incorrect Location
- Fix Data Race on Exception Pointer in Cache Dictionary
- Do not throw exception for ATTACH TABLE IF NOT EXISTS query
- Fixed Closing Parenthesis in Exception Message
- Avoid "Possible deadlock avoided" message at clickhouse-client startup
- Fixed Malformed Base64 Padding Issue and Updated Library
- Prevent Data Loss in Kafka Due to Exceptions Before Commit
- Fixed Exception in DROP TABLE IF EXISTS
- Fix Crash on ALTER MODIFY SETTING for Old-Formatted MergeTree Tables
- Support for UInt64 in JSON Functions and SIMDJSON Update
- Fixed Execution of Inversed Predicates with Non-Strictly Monotonic Functional Index
- Don't Fold IN Constant in GROUP BY
- Fix Index Corruption in ALTER DELETE Mutations and Race Conditions in ReplicatedMergeTree Queries
- When "compile_expressions" is enabled, "unexpected column" occurs in LLVMExecutableFunction with Nullable type
- Kafka Engine: Multiple Fixes and Performance Considerations
- Fix Parameter Out of Bound Exception after PREWHERE Optimizations
- Fixed Mixed-Constness in ArrayZip Function Arguments
- Fix constant expression folding and database name handling in CREATE queries
- Now Disallowing Cyclic Aliases in Column Creation
- Fixed bug in double move affecting original part integrity in ALTER TABLE MOVE
- Fix Interval Identifier Parsing Without Backticks
- Fixed fuzz test and behavior of bitTestAll/bitTestAny functions
- Fix crash in LIMIT n WITH TIES with many equal rows
- Fix mutations with insert_quorum enabled
- Fix Data Race in Poco::HTTPServer Destruction
- Fix misleading error message for non-existent table in SHOW CREATE TABLE query
- Fixed Parameters Out of Bound Exception in SELECT with ORDER BY and LIMIT
- Fix mutations finalization to allow is_done=0 for completed mutations
- Prevent ALTER ADD INDEX on MergeTree tables with old syntax
- During Server Startup, Avoid Accessing LIVE VIEW Dependencies
- Fix segfault in MergeTreeRangeReader during PREWHERE execution
- Fix checksum mismatches with column TTLs
- Fixed bug with TTL rules and single volume part movement
- Fix createColumn() not implemented for Set data type
- Finalizing Mutations More Frequently
- Fix intDiv by Subtracting One Constant
- Fix Race Condition in BlockIO
- Fix server termination bug for incorrectly parameterized Kafka tables
- Added workaround for incorrect timer_create function results
- Fixed min_marks_for_seek Parameter and Improved Error Messaging for Distributed Tables
- Mutation Hang Issue After Partition Operations Fixed
- Fix MySQL query hang due to excessive subqueries to the same table
- Fix GROUP BY 'Unknown identifier' Issue in JOIN with Merge Table
- Fix Predicate Push Down for Subqueries with finalizeAggregation Function
- Concurrent ALTER REPLACE/MOVE PARTITION Queries Deadlock Fixed
- Fix dictGet Function in Sharding Key Context
- Fix Empty Result Issue in Distributed Table Queries with WHERE, PREWHERE, and GLOBAL IN
- Fix Missing or Excessive Headers in TSV/CSVWithNames Formats
- Release Includes Bug Fixes from 20.1.7.38
- Fix Replication Bug to Restore Backward Compatibility in Version 20.3
- Add Compact Format Setting for INSERT Queries in Distributed Tables
- Release Includes Bug Fixes from Version 20.1.8.41
- Fix Missing rows_before_limit_at_least for HTTP Queries
- Fix 'Different expressions with the same alias' error in distributed table queries
- Fix Excessive Memory Consumption in Mutations for Composite Primary Key Tables
- For INSERT Queries, Shard Clamps Settings to Constraints Instead of Throwing Exceptions
- Fix COMMA JOIN to CROSS JOIN Error in Subqueries
- Fix Exception for JOIN Queries with Zero Rows in ClickHouse
- Fix SIGSEGV in optimize_skip_unused_shards for non-convertible types
- Fix ALTER TABLE DELETE COLUMN Query for Compact Parts
- Fix max_distributed_connections with and without Processors
- Fixed Timezone Argument Issues in Function Implementation
- Fix Pipeline Stuck Error with max_rows_to_group_by and group_by_overflow_mode 'break'
- Fix rare exception "Cannot drain connections: cancel first"
- Fixed "Unknown function lambda" Error in ClickHouse for ALTER UPDATE/DELETE with Replicated Tables
- Fixed generateRandom function for Date type in ClickHouse
- Fix Type Mismatches in View Definitions with SELECT Queries
- Fix parseDateTimeBestEffort for RFC-2822 strings on Tuesday or Thursday
- Fix Column Name Clashes in JOIN Constants
- Fix Infinite Query Execution Issue on LIMIT with Infinite Sources
- Fix Access Checking with Current Database When Not Specified
- Convert Blocks on INSERT Into Distributed for Structure Mismatch
- Fix incorrect results for processor pipeline extremes
- Fix Issues with Compact Parts in Alters
- Fix index_granularity_bytes check for new replica creation
- Fix SIGSEGV on Distributed Table INSERT with Different Structure
- Fix Rows Loss In JOIN and UNION ALL Queries
- Fixed Replicated Tables Startup Issue After Upgrading from Older ClickHouse Versions
- Add Argument Checks and Identifier Support for MySQL Engine
- Fix Memory Corruption Bug in ClickHouse Dictionary Source from Localhost Server
- Fix CHECK TABLE query bug with skip indices
- Fix error when cloning block with 0 columns in GroupingAggregatedTransform
- Fix segmentation fault in GROUP BY for string keys with trailing zero bytes
- Fix Thread Count for Remote Query Execution to Address Performance Regression
- Fix bug with table retrieval in database query processing
- Fix 'Not found column in block' error with JOIN and TOTALS
- Fix bug with ON CLUSTER DDL queries freezing on server startup
- Fix parsing for multiple hosts in CREATE USER command
- Fix TRUNCATE for Join Table Engine
- Fix scalar error in ALTERs #9878
- Fix race condition in ReplicatedMergeTree during drop and optimize operations
- Fix Qualified Names Error in distributed_product_mode='local'
- Fix Grant Calculation for Introspection Functions
- Fix CROSS JOIN logical error with mixed comma and named joins
- Fix Queries Using max_bytes_before_external_group_by
- Fix move-to-prewhere optimization with arrayJoin functions
- Add setting to enable non-deterministic functions in mutations
- Fixed datetime functions for timezones with varying UTC offsets
- Fix Segfault in distributed_group_by_no_merge Feature
- Fix Flattening of Array(Tuple(...)) Data Types
- Drop Disk Reservation in Aggregator to Fix External Aggregation Bug
- Fixed DROP vs OPTIMIZE race condition in ReplicatedMergeTree
- Fix bug for server table attachment after column default alteration
- Do not remove metadata directory on attach database failure before table loading
- Fixed Bugs Related to Quorum Data Insertion and Deletion in ClickHouse
- Fix Pipeline Stuck Error in ConcatProcessor During Remote Query
- Fixed HashTable Compilation Error When Reading HashMap from Buffer
- Allow count(*) with multiple JOINs
- Prefer fallback_to_stale_replicas over skip_unavailable_shards to avoid query failures
- Fix Incomplete Results in ARRAY JOIN with ORDER BY and LIMIT
- Check Arguments for BloomFilter Index Creation
Build/Testing/Packaging Improvement
55- Fix UBSan Report in LZ4 Library
- Fix clang-10 build issues
- Added Failing Tests for max_rows_to_sort Setting
- Added Improvements for Printing Diagnostic Info in Input Formats
- Added CA Certificates to ClickHouse Server Docker Image
- Fix flaky integration tests in ClickHouse
- Fix UBSan report in HashTable after clang-10 migration
- Exception Handling Fix for Windows Subsystem for Linux
- Replace readline with replxx for interactive line editing in clickhouse-client
- Better Build Time and Reduced Template Instantiations in FunctionsComparison
- Added clang-tidy integration in CI
- Now Linking ClickHouse in CI Using lld for gcc
- Allow Randomization in Thread Scheduling for Testing with THREAD_FUZZER_* Variables
- Enable Secure Sockets in Stateless Tests
- Make SPLIT_SHARED_LIBRARIES=OFF More Robust
- Make performance_introspection_and_logging Test Reliable in CI Environment
- Validate XML in Style Check #9550
- Fixed Race Condition in 00738_lock_for_inner_table Test
- Remove 'once' Type Performance Tests for Statistical Comparison Mode
- Added performance test for arithmetic functions
- Added Performance Test for sumMap and sumMapWithOverflow Functions
- Ensure ErrorCodes Style Consistency
- Add Script for Tests History
- Add GCC warning -Wsuggest-override to enforce use of override keyword
- Ignore Weak Symbol on Mac OS X Definition Requirement
- Normalize Query Running Times for Performance Test Comparison
- Fix Tests for Pytest Compatibility in Query Tests
- Enable SSL with MSan for Stateless Tests on Server Startup
- Fix database substitution in test results #9384
- Build Fixes for Miscellaneous Platforms
- Added disks section to stateless-with-coverage test docker image
- Get Rid of In-Source-Tree Files When Building with GRPC
- Slightly Faster Build Time by Streamlining SessionCleaner Code
- Updated Hung Query Check in ClickHouse Test Script
- Removed Useless Files from Repository
- Changed math perftests type from once to loop
- Add Docker Image for Interactive Code Browser HTML Report
- Suppress MSan Test Failures
- Speed up "exception while insert" test in debug-with-coverage build
- Updated libcxx and libcxxabi to master for issues #9304 and #9308
- Fix flaky test 00910_zookeeper_test_alter_compression_codecs
- Clean Up Duplicated Linker Flags
- Add clickhouse-odbc driver to test images for ClickHouse interaction testing
- Fix bugs in unit tests
- Enable -Wmissing-include-dirs GCC Warning to Address Non-Existing Includes
- Describe Reasons for Query Profiler Malfunction
- Update OpenSSL to Fix TLS Connection Errors in Version 20.1
- Update Dockerfile for server #8893
- Minor Fixes in Build GCC from Sources Script
- Replace Numbers with Zeros in Perftests for Cleaner Results
- Fix stack overflow in Column constructors with initializer_list
- Upgrade librdkafka to v1.3.0 with bundled rdkafka and gsasl libraries on Mac OS X
- build fix on GCC 9.2.0 #9306 by vxider
- Fix integration test test_settings_constraints
- Removed dependency on clock_getres
New Feature
30- ClickHouse Enhances Dictionary Source Timeout Controls with New Settings
- Add Avro and AvroConfluent Input/Output Formats
- Multi-threaded Non-blocking Expired Key Updates in Cache Dictionaries
- Add ALTER ... MATERIALIZE TTL Query for Expired Data Removal and Meta-Information Recalculation
- Switch to MergeJoin if necessary
- Added MOVE PARTITION Command for ALTER TABLE
- Reloading Storage Configuration on the Fly
- Allowed changes to storage_policy to richer options
- Added S3 Storage and Table Function Support for Globs/Wildcards
- Implement Bitwise Operations for FixedString Datatype
- Added bitCount function to address issue #8702
- Add generateRandom Table Function for Random Row Generation
- JSONEachRowFormat Enhancements for Top-Level Array Cases
- Support for DEFAULT Expression Based on ALIAS Expression in Columns
- Allow Specifying --limit Exceeding Source Data Size in ClickHouse Obfuscator
- Added groupArraySample function with reservoir sampling algorithm
- Monitor Update Queue Size in Cache via System Metrics
- Allow CRLF as Line Separator in CSV Output Format
- Implement Additional H3 API Functions in ClickHouse
- New Setting: max_parser_depth for Complex Queries
- Add Setting to Force Error on Skipping Unused Shards
- Allow Configuration of Multiple Disks/Volumes for Distributed Engine Data Storage
- Support temporary data storage policy
- Added X-ClickHouse-Exception-Code HTTP Header for Pre-Data Exception Handling
- Added ifNotFinite Function for Syntactic Sugar
- Added last_successful_update_time column to system.dictionaries table
- Add blockSerializedSize function for disk size calculation without compression
- Add moduloOrZero function
- Added system tables and functions for generating zeros in ClickHouse
- Added isConstant Function for Constant Expression Checks
Performance Improvement
14- Get dictionary and check access rights once per function call
- Index Not Used for IN Operator with Literals - Fix for Performance Regression v19.3
- Slightly Optimize Short Queries with LowCardinality
- Improve performance of analyzing index with IN
- Simplified and Optimized Code for Logical Functions
- Overall Performance Enhancement by Leveraging C++20 Features
- More Strict Aliasing in Comparison Functions Inner Loops
- More Strict Aliasing in Inner Loops of Arithmetic Functions
- A faster implementation for ColumnVector::replicate() for improved performance in ColumnConst::convertToFullColumn()
- Another Performance Improvement to ColumnVector::replicate()
- Improved performance of stochasticLinearRegression function contributed by Intel
- Improve performance of reinterpretAsFixedString function
- Do not send blocks to client for Null format in processors pipeline
- Improved Query Performance with IN Operator and Tuples
Improvement
43- Fix Error Handling for Long Queries in ClickHouse
- Return NULL/zero for incomplete parse in parseDateTimeBestEffortOrNull/Zero functions
- Support Custom Codecs in Compact Parts
- Implement ALTER MODIFY/DROP Queries for ReplicatedMergeTree Engines
- Add CROSS to INNER JOIN Rewrite Functionality with Unqualified Names
- Make SHOW TABLES and SHOW DATABASES Support WHERE and FROM/IN Expressions
- Added deduplication setting for dependent materialized views
- MySQL Client Prints Binary Strings in Hex; ClickHouse Workaround Proposed
- Add String and FixedString Key Support for sumMap
- Support String Keys in SummingMergeTree Maps
- Signal Thread Termination to Pool on Exception
- Allow setting query_id in clickhouse-benchmark
- Don't Allow Odd Expressions in ALTER TABLE ... PARTITION Query
- System Table Enhancements for Feature Support Information
- Enable system.metric_log by Default for ProfileEvents and CurrentMetrics
- Initialize Query Profiler for All Threads in a Group
- Now uses CREATE LIVE VIEW for temporary views instead of CREATE TEMPORARY LIVE VIEW
- Add text_log.level parameter to limit entries in system.text_log table
- Allow Disk Allocation for Downloaded Parts Based on TTL Rules
- Improve MySQL Connection Pool Sharing for External Dictionaries
- Show Nearest Query Execution Time for Quantiles in ClickHouse Benchmark Output
- Possibility to Add Key & Timestamp When Inserting Data to Kafka
- Highlight Thread Number, Query ID, and Log Priority in Terminal for Improved Readability
- Better Exception Message for Loading Ordinary Database Tables
- Implement arraySlice for Aggregate Function States to Fix Issues #9388 and #9391
- Allow Constant Functions and Arrays with IN Operator
- Display Zookeeper Exception for system.replicas in Separate Column
- Atomically Remove MergeTree Data Parts on Destroy
- Support Row-Level Security for Distributed Tables
- Recognize Suffixes in Settings Values
- Prevent Out of Memory Error in Large JOIN Operations
- Added Cluster Names to Suggestions in Interactive ClickHouse Client
- Initialize Query Profiler for All Threads in a Group
- Added exception_code column to system.query_log table
- Enabled MySQL Compatibility Server on Port 9004 and Fixed Password Generation Command
- Prevent Abort on Shutdown for Readonly Filesystem
- Better Exception Message for Required Length in HTTP POST Query
- Add _path and _file Virtual Columns to HDFS and File Engines
- Fix "Cannot find column" error in MATERIALIZED VIEW after adding new column to internal table
- Fix Progress Reporting in Native Client-Server Protocol
- Add Metric for Tracking Client Connections via MySQL Protocol
- HTTP Responses to Include X-ClickHouse-Timezone Header
- Remove Order by Stage from Mutations and Enforce Sorting Key Order Validation
Backward Incompatible Changes
11- Fixed issues with long file names and replica credential exposure in Distributed tables; changed directory naming format.
- Changed Replication Log Format for Mutation Commands
- Implement Memory Profiler and Rename Trace Log Column
- Use OS Thread ID for Logging in ClickHouse to Fix Log Compatibility Issues
- Remove indexHint function #9542 by alexey-milovidov
- Remove Deprecated Functions `findClusterIndex` and `findClusterValue`
- Now Prohibiting SELECT Subquery as Default Expression for Columns Creation
- Require Aliases for Subqueries in JOIN
- Improved Logic for ALTER MODIFY/ADD Queries in ClickHouse
- Require Server Restart for Logging Configuration Changes as Temporary Workaround
- Setting `experimental_use_processors` Enabled by Default for New Query Pipeline