It seems MaterializeMySQL doesn't support Decimal data type when doing replication.
position.update(event);
                break;
            }
            case ROTATE_EVENT:
            {
                event = std::make_shared<RotateEvent>(std::move(event_header));
                event->parseEvent(event_payload);
                position.update(event);
                break;
            }
            case QUERY_EVENT:
            {
                event = std::make_shared<QueryEvent>(std::move(event_header));
                event->parseEvent(event_payload);
                auto query = std::static_pointer_cast<QueryEvent>(event);
                switch (query->typ)
                {
                    case QUERY_EVENT_MULTI_TXN_FLAG:
                    case QUERY_EVENT_XA:
                    {
                        event = std::make_shared<DryRunEvent>(std::move(query->header));
                        break;
                    }
                    default:
                        position.update(event);
                }
                break;
            }
            case XID_EVENT:
            {