v.19.3
Backward Incompatible Changes
4Bug Fixes
44- Fixed Not Found Column for Duplicate Columns in JOIN ON Section
- Make START REPLICATED SENDS Command Start Replicated Sends
- Fixed Aggregate Functions Execution with Array(lowcardinality) Arguments
- Fixed Wrong Behaviour When Doing INSERT ..
- Fixed Crash on Dictionary Reload If Dictionary Not Available
- Fixed ALL JOIN with Duplicates in Right Table
- Fixed Segmentation Fault with Use_uncompressed_cache=1 and Exception with Wrong Uncompressed Size
- Fixed Compile_expressions Bug with Comparison of Big (more Than Int16) Dates
- Fixed Infinite Loop When Selecting from Table Function Numbers(0)
- Temporarily Disable Predicate Optimization for ORDER BY
- Fixed Illegal Instruction Error When Using Base64 Functions on Old Cpus
- Fixed No Message Received Error When Interacting with Postgresql ODBC Driver Through TLS Connection
- Fixed Incorrect Result When Date and Datetime Arguments Are Used in Branches of Conditional Operator (function If)
- Clickhouse Dictionaries Now Load Within Clickhouse Process
- Fixed Deadlock When SELECT from a Table with File Engine Was Retried After No Such File or Directory Error
- Fixed Race Condition When Selecting from System.tables May Give Table Does Not Exist Error
- Clickhouse-client Can Segfault on Exit While Loading Data for Command Line Suggestions If It Was Run in Interactive Mode
- Fixed a Bug When the Execution of Mutations Containing IN Operators Was Producing Incorrect Results
- Fixed Error: If There Is a Database with Dictionary Engine, All Dictionaries Forced to Load at Server Startup, and If There Is a Dictionary with Clickhouse Source from Localhost, the Dictionary Cannot Load
- Fixed Error When System Logs Are Tried to Create Again at Server Shutdown
- Correctly Return the Right Type and Properly Handle Locks in Joinget Function
- Added Summapwithoverflow Function
- Fixed Segfault with Allow_experimental_multiple_joins_emulation
- Fixed Bug with Incorrect Date and Datetime Comparison
- Fixed Fuzz Test Under Undefined Behavior Sanitizer: Added Parameter Type Check for Quantile*weighted Family of Functions
- Fixed Rare Race Condition When Removing of Old Data Parts Can Fail with File Not Found Error
- Fix Install Package with Missing /etc/clickhouse-server/config.xml
- Fixed WITH ROLLUP Result for Group by Single Lowcardinality Key
- Fixed Bug in the Set Index (dropping a Granule If It Contains More Than Max_rows Rows)
- A Lot of Freebsd Build Fixes
- Fixed Aliases Substitution in Queries with Subquery Containing Same Alias
- Fixed Bug with Large Http Insert Queries Processing
- Fixed Backward Incompatibility with Old Versions Due to Wrong Implementation of Send_logs_level Setting
- Fixed Backward Incompatibility of Table Function Remote Introduced with Column Comments
- When There Are More Than 1000 Threads in a Thread Pool, Std::terminate May Happen on Thread Exit
- Now It's Possible to Create Replicatedmergetree* Tables with Comments on Columns Without Defaults and Tables with Columns Codecs Without Comments and Defaults
- Fixed Crash on JOIN with Array or Tuple
- Fixed Crash in Clickhouse-copier with the Message Threadstatus Not Created
- Fixed Hangup on Server Shutdown If Distributed Ddls Were Used
- Incorrect Column Numbers Were Printed in Error Message About Text Format Parsing for Columns with Number Greater Than 10
- Fixed Error in #3920
- Fix Crash in Full/right JOIN When We Joining on Nullable Vs Not Nullable
- Fix Segmentation Fault in Clickhouse-copier
- Fixed Reading from Array(lowcardinality) Column in Rare Case When Column Contained a Long Sequence of Empty Arrays
Build/Testing/Packaging Improvements
23- Debian Package: Correct /etc/clickhouse-server/preprocessed Link According to Config
- Various Build Fixes for Freebsd
- Added Ability to Create, Fill and Drop Tables in Perftest
- Added a Script to Check for Duplicate Includes
- Added Ability to Run Queries by Index in Performance Test
- Package with Debug Symbols Is Suggested to Be Installed
- Refactoring of Performance-test
- Added Docs to Anonymized Yandex.metrica Datasets
- Πdded Tool for Converting an Old Month-partitioned Part to the Custom-partitioned Format
- Added Docs About Two Datasets in S3
- Added Script Which Creates Changelog from Pull Requests Description
- Added Puppet Module for Clickhouse
- Added Docs for a Group of Undocumented Functions
- ARM Build Fixes
- Dictionary Tests Now Able to Run from Ctest
- Now /etc/ssl Is Used as Default Directory with SSL Certificates
- Added Checking SSE and AVX Instruction at Start
- Init Script Will Wait Server Until Start
- Add Ability to Run Clickhouse-server for Stateless Tests in Docker Image
- Fixed Build with AVX Enabled
- Enable Extended Accounting and IO Accounting Based on Good Known Version Instead of Kernel Under Which It Is Compiled
- Allow to Skip Setting of Core_dump.size_limit, Warning Instead of Throw If Limit Set Fail
- Removed the Inline Tags of Void Readbinary(...) in Field.cpp
Experimental Features
2Improvements
17- Implemented AIO Support for Freebsd
- SELECT * FROM a JOIN B USING A, B Now Return a and B Columns Only from the Left Table
- Allow -c Option of Client to Work as -c Option
- Now Option --password Used Without Value Requires Password from Stdin
- Added Highlighting of Unescaped Metacharacters in String Literals That Contain LIKE Expressions or Regexps
- Added Cancelling of HTTP Read Only Queries If Client Socket Goes Away
- Now Server Reports Progress to Keep Client Connections Alive
- Slightly Better Message with Reason for OPTIMIZE Query with Optimize_throw_if_noop Setting Enabled
- Added Support of --version Option for Clickhouse Server
- Added --help/-h Option to Clickhouse-server
- Added Support for Scalar Subqueries with Aggregate Function State Result
- Improved Server Shutdown Time and Alters Waiting Time
- Added Info About the Replicated_can_become_leader Setting to System.replicas and Add Logging If the Replica Won't Try to Become Leader
- Table Index Size Is Not Accounted for Memory Limits When Doing ATTACH TABLE Query
- Slightly Raised Up the Limit on Max String and Array Size Received from Zookeeper
- Allow to Repair Abandoned Replica Even If It Already Has Huge Number of Nodes in Its Queue
- Add One Required Argument to SET Index (max Stored Rows Number)
New Features
18- Added the KILL MUTATION Statement That Allows Removing Mutations That Are for Some Reasons Stuck
- Added Aggregate Function Entropy Which Computes Shannon Entropy
- Added Ability to Send Queries INSERT INTO Tbl VALUES
- Generic Implementation of Arraywithconstant Function Was Added
- Implemented NOT BETWEEN Comparison Operator
- Implement Summapfiltered in Order to Be Able to Limit the Number of Keys for Which Values Will Be Summed by Summap
- Added Support of Nullable Types in Mysql Table Function
- Support for Arbitrary Constant Expressions in LIMIT Clause
- Added Topkweighted Aggregate Function That Takes Additional Argument with (unsigned Integer) Weight
- Storagejoin Now Supports Join_any_take_last_row Setting That Allows Overwriting Existing Values of the Same Key
- Added Function Tostartofinterval
- Added Rowbinarywithnamesandtypes Format
- Added Ipv4 and Ipv6 Data Types
- Added Function Tostartoftenminutes()
- Added Protobuf Output Format
- Added Brotli Support for HTTP Interface for Data Import (inserts)
- Added Hints While User Make Typo in Function Name or Type in Command Line Client
- Added Query-id to Server's HTTP Response Header