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
{
        WriteBufferFromOwnString ws;
        writeUUIDText(gtid.uuid, ws);
        auto gtid_next = ws.str() + ":" + std::to_string(gtid.seq_no);
        header.dump(out);
        out << "GTID Next: " << gtid_next << '\n';
    }
    void DryRunEvent::parseImpl(ReadBuffer & payload) { payload.ignoreAll(); }
    void DryRunEvent::dump(WriteBuffer & out) const
    {
        header.dump(out);
        out << "[DryRun Event]" << '\n';
    }
    
    void Position::update(BinlogEventPtr event)
    {
        switch (event->header.type)
        {
            case FORMAT_DESCRIPTION_EVENT: {
                binlog_pos = event->header.log_pos;
                break;
            }
            case QUERY_EVENT: {
                auto query = std::static_pointer_cast<QueryEvent>(event);
                if (query->transaction_complete && pending_gtid)
                {
                    gtid_sets.update(*pending_gtid);
                    pending_gtid.reset();
                }
                binlog_pos = event->header.log_pos;