```
/4/ :) SELECT arrayJoin([1, 2])  GROUP BY 1 WITH TOTALS FORMAT JSON

{
	"meta":
	[
		{
			"name": "arrayJoin([1, 2])",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"arrayJoin([1, 2])": 1
		},
		{
			"arrayJoin([1, 2])": 2
		}← Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.) Logical error: 'Got 2 in totals chunk, expected 1'.
clickhouse-client: /home/akuzm/ch4/ch/src/Common/Exception.cpp:45: DB::Exception::Exception(const std::string &, int): Assertion `false' failed.
Aborted (core dumped)
```


: IProcessor({header_, header_, header_}, {}), out(out_)
{
}
IOutputFormat::Status IOutputFormat::prepare()
{
    if (has_input)
        return Status::Ready;
    for (auto kind : {Main, Totals, Extremes})
    {
        auto & input = getPort(kind);
        if (kind != Main && !input.isConnected())
            continue;
        if (input.isFinished())
            continue;
        input.setNeeded();
        if (!input.hasData())
            return Status::NeedData;
        current_chunk = input.pull();
        current_block_kind = kind;
        has_input = true;
        return Status::Ready;
    }
    finished = true;
    if (!finalized)
        return Status::Ready;
    return Status::Finished;
}
void IOutputFormat::work()