Use case
There is a special algorithm inside ClickHouse for executing background merges called Vertical. It merges only PRIMARY KEY columns first and computes a permutation mask (in what order rows from all source parts should be fetched and written to the result part to get the right result). This algorithm allows ClickHouse server to consume a lot less memory in comparison with default and naive algorithm called Horizontal.
Unfortunately, ClickHouse may want to assign a merge operation for parts in a Compact format together with parts in a Wide format. In this case this background operation will be executed using Horizonal algorithm and thus may consume a lot of memory.
Describe the solution you'd like
Allow using Vertical merge algorithm with parts in Compact format.