It seems MaterializeMySQL doesn't support Decimal data type when doing replication.
#pragma once
#include <Core/Field.h>
#include <Core/MySQL/PacketsReplication.h>
#include <Core/MySQL/MySQLGtid.h>
#include <common/types.h>
#include <IO/ReadBuffer.h>
#include <IO/WriteBuffer.h>
#include <map>
#include <boost/dynamic_bitset.hpp>
namespace DB
{
namespace MySQLReplication
{
    static const int EVENT_VERSION_V4 = 4;
    static const int EVENT_HEADER_LENGTH = 19;
    using Bitmap = boost::dynamic_bitset<>;
    inline UInt64 readBits(UInt64 val, UInt8 start, UInt8 size, UInt8 length)
    {
        UInt64 mask = 1;
        val = val >> (length - (start + size));
        return val & ((mask << size) - 1);
    }
    inline void readBigEndianStrict(ReadBuffer & payload, char * to, size_t n)