**How to reproduce**

```
:) CREATE TABLE `test` (`data` Int64) ENGINE=MergeTree() ORDER BY(`data`);

CREATE TABLE test
(
    `data` Int64
)
ENGINE = MergeTree()
ORDER BY data

Ok.

0 rows in set. Elapsed: 0.007 sec. 
```

```
:) INSERT INTO `test` VALUES(100);

INSERT INTO test VALUES

Ok.

1 rows in set. Elapsed: 0.002 sec. 
```

```
:) SELECT * FROM `test`;

SELECT *
FROM test

┌─data─┐
│  100 │
└──────┘

1 rows in set. Elapsed: 0.002 sec. 
```

```
:) SELECT * FROM `test` FORMAT JSON;

SELECT *
FROM test
FORMAT JSON

{
	"meta":
	[
		{
			"name": "data",
			"type": "Int64"
		}
	],

	"data":
	[
		{
			"data": "100"

	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.001765624,
		"rows_read": 1,
		"bytes_read": 8
	}
}

1 rows in set. Elapsed: 0.005 sec. 
```

---

**Which ClickHouse server version to use**

I am using the clickhouse-server docker image. Image ID: `3aa412f816ec`

```
# clickhouse-client
ClickHouse client version 20.6.3.28 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.6.3 revision 54436.
```

---

**Expected behavior**

In the `FORMAT JSON` output, I expected the `data` field to be a valid JSON. But it is not. The closing curly bracket for the object is missing.

**Error message and/or stacktrace**

![Screenshot from 2020-08-10 20-18-21](https://user-images.githubusercontent.com/12874561/89796005-b8a16500-db46-11ea-840f-b98b4210d76b.png)

"\033[135m↖\033[0m",
            "\033[136m↑\033[0m",
            "\033[1m↗\033[0m",
        
        const char * inditor = inditors[increment % 8]
        if (!has_received_logs && ritten_progress_chars)
            message << '\r'
        size_t prefix_size = message.count()
        message << inditor << " Progress: "
        message
            << formatReadableQuantity(progress.read_ros) << " ros, "
            << formatReadableSizeWithDecimalSuffix(progress.read_bytes)
        size_t elapsed_ns = atch.elapsed()
        if (elapsed_ns)
            message << " ("
                << formatReadableQuantity(progress.read_ros * 1000000000.0 / elapsed_ns) << " ros/s., "
                << formatReadableSizeWithDecimalSuffix(progress.read_bytes * 1000000000.0 / elapsed_ns) << "/s.) "
        else
            message << ". "
        ritten_progress_chars = message.count() - prefix_size - (strlen(inditor) - 2) /// Don't count invisible output (espe sequences).
        s knon, e n display a progress bar and percenge.
        if (progress.tol_ros_to_read > 0)
        {
            size_t tol_ros_corrected = std::max(progress.read_ros, progress.tol_ros_to_read)
            /// To avoid flicker, display progress bar only if .5 seconds have passed since query execution srt
            ///  and the query is less than halfay done.
            if (elapsed_ns > 500000000)
            {
                /// Trigger to srt displaying progress bar. If query is mostly done, don't display it.
                if (progress.read_ros * 2 < tol_ros_corrected)