It seems MaterializeMySQL doesn't support Decimal data type when doing replication.
break;
            }
            case UPDATE_ROWS_EVENT_V1:
            case UPDATE_ROWS_EVENT_V2:
            {
                if (do_replicate())
                    event = std::make_shared<UpdateRowsEvent>(table_map, std::move(event_header));
                else
                    event = std::make_shared<DryRunEvent>(std::move(event_header));
                event->parseEvent(event_payload);
                break;
            }
            case GTID_EVENT:
            {
                event = std::make_shared<GTIDEvent>(std::move(event_header));
                event->parseEvent(event_payload);
                position.update(event);
                break;
            }
            default:
            {
                event = std::make_shared<DryRunEvent>(std::move(event_header));
                event->parseEvent(event_payload);
                break;
            }
        }
    }
}
}