It seems MaterializeMySQL doesn't support Decimal data type when doing replication.
{
        header.dump(out);
        out << "Binlog Version: " << this->binlog_version << std::endl;
        out << "Server Version: " << this->server_version << std::endl;
        out << "Create Timestamp: " << this->create_timestamp << std::endl;
        out << "Event Header Len: " << std::to_string(this->event_header_length) << std::endl;
    }
    
    void RotateEvent::parseImpl(ReadBuffer & payload)
    {
        payload.readStrict(reinterpret_cast<char *>(&position), 8);
        readStringUntilEOF(next_binlog, payload);
    }
    void RotateEvent::dump(std::ostream & out) const
    {
        header.dump(out);
        out << "Position: " << this->position << std::endl;
        out << "Next Binlog: " << this->next_binlog << std::endl;
    }
    
    void QueryEvent::parseImpl(ReadBuffer & payload)