ClickHouse client version 21.8.4.51 (official build).

I had a problem synchronizing Nullable(Decimal(20, 8))  using the MaterializeMySQL

mysql data is  10929.00000000 

but clickhouse data is -32771294956408.94967295

Can someone help me plz



size_t uncompressed_decimals = scale / digits_per_integer;
                                size_t compressed_decimals = scale - (uncompressed_decimals * digits_per_integer);
                                for (auto k = 0U; k < uncompressed_decimals; k++)
                                {
                                    UInt32 val = 0;
                                    readBigEndianStrict(payload, reinterpret_cast<char *>(&val), 4);
                                    res *= intExp10OfSize<DecimalType>(digits_per_integer);
                                    res += (val ^ mask);
                                }
                                
                                if (compressed_decimals != 0)
                                {
                                    UInt32 val = 0;
                                    size_t to_read = compressed_bytes_map[compressed_decimals];
                                    if (to_read) 
                                    {
                                        readBigEndianStrict(payload, reinterpret_cast<char *>(&val), to_read);
                                        res *= intExp10OfSize<DecimalType>(compressed_decimals);
                                        res += (val ^ (mask & compressed_integer_align_numbers[compressed_decimals]));
                                    }
                                }
                            }
                            if (mask != 0)
                                res *= -1;
                            return res;
                        };
                        row.push_back(dispatch((meta >> 8) & 0xFF, meta & 0xFF, read_decimal));
                        break;
                    }
                    case MYSQL_TYPE_ENUM: