This issue is hard to reproduce, it happens 10 times in last 24 hours

duration_hr is a field with type Decimal (13, 4), I found some abnormal conversion during the ClickHouse replication, as below:
```
MySQL     ClickHouse
0.3333 -> -2147483653.2202
0.5000 -> -2147483653.0535
0.1667 -> -2147483653.3868
0.0833 -> -2147483653.4702
0.7500 -> -2147483652.8035
```
As you can see, a weired one among the normal ones:
```
│ HCAC    │ 2020-10-22 07:10:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:15:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:20:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:25:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:30:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:35:00 │ -2147483653.2202 │
│ HCAC    │ 2020-10-22 07:40:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:45:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:50:00 │           0.3333 │
│ HCAC    │ 2020-10-22 07:55:00 │           0.3333 │
│ HCAC    │ 2020-10-22 08:00:00 │           0.3333 │
│ HCAC    │ 2020-10-22 08:05:00 │           0.3333 │
```


-Lyon
transaction_complete = false;
        }
        else if (query.starts_with("SAVEPOINT"))
        {
            throw ReplicationError("ParseQueryEvent: Unsupported query event:" + query, ErrorCodes::LOGICAL_ERROR);
        }
    }
    void QueryEvent::dump(WriteBuffer & out) const
    {
        header.dump(out);
        out << "Thread ID: " << this->thread_id << '\n';
        out << "Execution Time: " << this->exec_time << '\n';
        out << "Schema Len: " << std::to_string(this->schema_len) << '\n';
        out << "Error Code: " << this->error_code << '\n';
        out << "Status Len: " << this->status_len << '\n';
        out << "Schema: " << this->schema << '\n';
        out << "Query: " << this->query << '\n';
    }
    void XIDEvent::parseImpl(ReadBuffer & payload) { payload.readStrict(reinterpret_cast<char *>(&xid), 8); }
    void XIDEvent::dump(WriteBuffer & out) const
    {
        header.dump(out);
        out << "XID: " << this->xid << '\n';
    }
    
    void TableMapEvent::parseImpl(ReadBuffer & payload)
    {
        payload.readStrict(reinterpret_cast<char *>(&table_id), 6);
        payload.readStrict(reinterpret_cast<char *>(&flags), 2);
        payload.readStrict(reinterpret_cast<char *>(&schema_len), 1);