**Describe the bug**
ClickHouse doesn't return affected rows via MySQL protocol for INSERT queries after 20.5+

**How to reproduce**
i create clear docker-compose environment for reproduce behavior MySQL + clickhouse + php + python
https://gist.github.com/Slach/aa67440ce856a3a53f64f92eeddfbc1b

**Queries to run that lead to unexpected result**
```
INSERT INTO default.t1(n) SELECT * FROM numbers(1000)
```

**Expected behavior**
MySQL protocol shall return affected rows field for INSERT queries (it works successful in 20.3 and 20.4)
![image](https://user-images.githubusercontent.com/105560/97867431-aa22ae00-1d2f-11eb-8caf-05431ffd29b3.png)

**Actual behavior**
![image](https://user-images.githubusercontent.com/105560/97867401-9f681900-1d2f-11eb-93cc-5ae6f1f5981b.png)
{
    size_t packet_size = PACKET_HEADER_SIZE + SSL_REQUEST_PAYLOAD_SIZE;
    
    char buf[packet_size];
    size_t pos = 0;
    
    auto read_bytes = [this, &buf, &pos, &packet_size](size_t count) -> void {
        while (pos < count)
        {
            int ret = socket().receiveBytes(buf + pos, packet_size - pos);
            if (ret == 0)
            {
                throw Exception("Cannot read all data. Bytes read: " + std::to_string(pos) + ". Bytes expected: 3.", ErrorCodes::CANNOT_READ_ALL_DATA);
            }
            pos += ret;
        }
    };
    read_bytes(3); 
    size_t payload_size = unalignedLoad<uint32_t>(buf) & 0xFFFFFFu;
    LOG_TRACE(log, "payload size: {}", payload_size);
    if (payload_size == SSL_REQUEST_PAYLOAD_SIZE)
    {
        finishHandshakeSSL(packet_size, buf, pos, read_bytes, packet);
    }
    else
    {
        
        packet_size = PACKET_HEADER_SIZE + payload_size;
        WriteBufferFromOwnString buf_for_handshake_response;
        buf_for_handshake_response.write(buf, pos);