Hi! We have replication mysql to clickhouse configured with materialized-mysql driver.

sometimes strange behavior happens 

and in the clickhouse there are values that are not in this mysql database

for example: 

mysql revenue value is 0.292, but in clickhouse - 2147483648.292

mysql table ddl:
```
CREATE TABLE `adsense` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  `sub1` varchar(40) DEFAULT NULL,
  `sub2` varchar(255) DEFAULT NULL,
  `lead_id` int DEFAULT NULL,
  `revenue` decimal(10,3) unsigned NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_adsense_sub1` (`sub1`),
  KEY `idx_adsense_lead_id` (`lead_id`),
  KEY `adsense_sub2_index` (`sub2`),
  KEY `adsense_date_index` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
```

clickhouse table ddl:
```
create table adsense
(
    id              UInt64,
    date            Date,
    sub1            Nullable(String),
    sub2            Nullable(String),
    lead_id         Nullable(Int32),
    clicks          Int32,
    revenue         Decimal(10, 3),
    created_at      DateTime,
    _sign           Int8 materialized 1,
    _version        UInt64 materialized 1
)
    engine = MaterializeMySQL(_version)
        PARTITION BY intDiv(id, 18446744073709551)
        ORDER BY (date, assumeNotNull(sub2), assumeNotNull(sub1),
                  assumeNotNull(lead_id), id)
        SETTINGS index_granularity = 8192;
```


{
        header.dump(out);
        out << "Table ID: " << this->table_id << '\n';
        out << "Flags: " << this->flags << '\n';
        out << "Schema Len: " << std::to_string(this->schema_len) << '\n';
        out << "Schema: " << this->schema << '\n';
        out << "Table Len: " << std::to_string(this->table_len) << '\n';
        out << "Table: " << this->table << '\n';
        out << "Column Count: " << this->column_count << '\n';
        for (auto i = 0U; i < column_count; i++)
        {
            out << "Column Type [" << i << "]: " << std::to_string(column_type[i]) << ", Meta: " << column_meta[i] << '\n';
        }
        String bitmap_str;
        boost::to_string(this->null_bitmap, bitmap_str);
        out << "Null Bitmap: " << bitmap_str << '\n';
    }
    void RowsEventHeader::parse(ReadBuffer & payload)
    {
        payload.readStrict(reinterpret_cast<char *>(&table_id), 6);
        payload.readStrict(reinterpret_cast<char *>(&flags), 2);
        UInt16 extra_data_len;
        
        payload.readStrict(reinterpret_cast<char *>(&extra_data_len), 2);
        payload.ignore(extra_data_len - 2);
    }
    void RowsEvent::parseImpl(ReadBuffer & payload)