v.18.14Improvement

Added Compatibility Mode to Prevent Server Crash from Insufficient Columns in INSERT Query

Added compatibility mode for the case when the client library that uses the Native protocol sends fewer columns by mistake than the server expects for the INSERT query. This scenario was possible when using the clickhouse-cpp library. Previously, this scenario caused the server to crash. #3171
Added a compatibility mode to handle cases where clients using the Native protocol send fewer columns than expected during INSERT queries, preventing server crashes.

Why it matters

This feature addresses the issue where client libraries, such as clickhouse-cpp, accidentally send fewer columns than the server anticipates during data insertion. Previously, this mismatch caused the ClickHouse server to crash. The compatibility mode improves stability and robustness when handling such client-side mismatches.

How to use it

To enable this compatibility mode, users should activate the relevant server setting that allows handling fewer columns gracefully during INSERT operations over the Native protocol. This will prevent server crashes if clients send incomplete column data.