**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)
#endif
#if USE_SSL
#    include <Poco/Crypto/CipherFactory.h>
#    include <Poco/Crypto/RSAKey.h>
#    include <Poco/Net/SSLManager.h>
#    include <Poco/Net/SecureStreamSocket.h>
#endif
namespace DB
{
using namespace MySQLProtocol;
using namespace MySQLProtocol::Generic;
using namespace MySQLProtocol::ProtocolText;
using namespace MySQLProtocol::ConnectionPhase;
#if USE_SSL
using Poco::Net::SecureStreamSocket;
using Poco::Net::SSLManager;
#endif
namespace ErrorCodes
{
    extern const int CANNOT_READ_ALL_DATA;
    extern const int NOT_IMPLEMENTED;
    extern const int MYSQL_CLIENT_INSUFFICIENT_CAPABILITIES;
    extern const int SUPPORT_IS_DISABLED;
}
static const size_t PACKET_HEADER_SIZE = 4;
static const size_t SSL_REQUEST_PAYLOAD_SIZE = 32;
static String selectEmptyReplacementQuery(const String & query);
static String showTableStatusReplacementQuery(const String & query);
static String killConnectionIdReplacementQuery(const String & query);
MySQLHandler::MySQLHandler(IServer & server_, const Poco::Net::StreamSocket & socket_,