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
size_t uncompressed_decimals = scale / digits_per_integer;
                                size_t compressed_decimals = scale - (uncompressed_decimals * digits_per_integer);
                                for (auto k = 0U; k < uncompressed_decimals; k++)
                                {
                                    UInt32 val = 0;
                                    readBigEndianStrict(payload, reinterpret_cast<char *>(&val), 4);
                                    res *= intExp10OfSize<DecimalType>(digits_per_integer);
                                    res += (val ^ mask);
                                }
                                
                                if (compressed_decimals != 0)
                                {
                                    UInt32 val = 0;
                                    size_t to_read = compressed_bytes_map[compressed_decimals];
                                    if (to_read) 
                                    {
                                        readBigEndianStrict(payload, reinterpret_cast<char *>(&val), to_read);
                                        res *= intExp10OfSize<DecimalType>(compressed_decimals);
                                        res += (val ^ (mask & compressed_integer_align_numbers[compressed_decimals]));
                                    }
                                }
                            }
                            if (mask != 0)
                                res *= -1;
                            return res;
                        };
                        row.push_back(dispatch((meta >> 8) & 0xFF, meta & 0xFF, read_decimal));
                        break;
                    }
                    case MYSQL_TYPE_ENUM: