It seems MaterializeMySQL doesn't support Decimal data type when doing replication.
position.dump(ss);
                    return ss.str();
                };
                LOG_INFO(log, "MySQL dump database position: \n {}", position_message());
            }
            if (opened_transaction)
                connection->query("COMMIT").execute();
            client.connect();
            client.startBinlogDumpGTID(randomNumber(), mysql_database_name, metadata.executed_gtid_set);
            return metadata;
        }
        catch (...)
        {
            tryLogCurrentException(log);
            if (opened_transaction)
                connection->query("ROLLBACK").execute();
            try
            {
                throw;
            }
            catch (const mysqlxx::ConnectionFailed &)
            {
                
                sleepForMilliseconds(settings->max_wait_time_when_mysql_unavailable);
            }
        }
    }
    return {};
}
void MaterializeMySQLSyncThread::flushBuffersData(Buffers & buffers, MaterializeMetadata & metadata)