The last line in `data` section of the output is always empty. 

```
# clickhouse-client
ClickHouse client version 20.5.2.7 (official build).
Connecting to localhost:9001 as user default.
Connected to ClickHouse server version 20.5.2 revision 54435.

sas-vrxctd96rqw5lw25.db.yandex.net :) select 1 format JSON

SELECT 1
FORMAT JSON

{
	"meta":
	[
		{
			"name": "1",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"1": 1

	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.00019223,
		"rows_read": 1,
		"bytes_read": 1
	}
}

```

The issue appears only in interactive mode. In non-interactive mode clickhouse-client produces the correct output:

```
# clickhouse-client -q 'select 1 format JSON'
{
	"meta":
	[
		{
			"name": "1",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"1": 1
		}
	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.000220845,
		"rows_read": 1,
		"bytes_read": 1
	}
}
``` 

try
                {
                    std::stringstream dump_before_fuzz
                    fuzz_base->dumpTree(dump_before_fuzz)
                    auto base_before_fuzz = fuzz_base->formatForErrorMessage()
                    ast_to_process = fuzz_base->clone()
                    std::stringstream dump_of_cloned_ast
                    ast_to_process->dumpTree(dump_of_cloned_ast)
                    // Run the original query as ell.
                    
                    {
                        fuzzer.fuzzMain(ast_to_process)
                    
                    auto base_after_fuzz = fuzz_base->formatForErrorMessage()
                    // Debug AST cloning errors.
                     base_after_fuzz)
                    {
                        fprintf(stderr, "base before fuzz: %s\n"
                            "base after fuzz: %s\n", base_before_fuzz.c_str(),
                            base_after_fuzz.c_str())
                        fprintf(stderr, "dump before fuzz:\n%s\n",
                            dump_before_fuzz.str().c_str())
                        fprintf(stderr, "dump of cloned ast:\n%s\n",
                            dump_of_cloned_ast.str().c_str())
                        fprintf(stderr, "dump after fuzz:\n")
                        fuzz_base->dumpTree(std::cerr)
                        assert(false)
                    
                    auto fuzzed_text = ast_to_process->formatForErrorMessage()
                    if (fuzz_step > 0 && fuzzed_text == base_before_fuzz)