```sql
CREATE TABLE t
(
   id Int64, 
   d String,
   p Map(String, String)
   
)
ENGINE = ReplacingMergeTree order by id settings index_granularity  = 0;


insert into t values (1,  's', {'a':'b'});

CH starts eating RAM until it crashes

the same with

insert into t select 1,  's', map('a','b');

```

new_part_name,
        choosePartTypeOnDisk(0, block.rows()),
        new_part_info,
        new_data_part_storage
        );
    new_data_part->name = new_part_name;
    if (settings->assign_part_uuids)
        new_data_part->uuid = UUIDHelpers::generateV4();
    new_data_part->setColumns(columns, {});
    new_data_part->rows_count = block.rows();
    new_data_part->partition = partition;
    new_data_part->minmax_idx = std::move(minmax_idx);
    new_data_part->is_temp = true;
    SyncGuardPtr sync_guard;
    if (new_data_part->isStoredOnDisk())
    {
        
        if (new_data_part_storage->exists())
        {
            
            
            throw Exception(ErrorCodes::LOGICAL_ERROR,
                            "New empty part is about to matirialize but the dirrectory already exist"
                            ", new part {}"
                            ", directory {}",
                            new_part_name, new_data_part_storage->getFullPath());
        }
        new_data_part_storage->createDirectories();
        if (getSettings()->fsync_part_directory)
            sync_guard = new_data_part_storage->getDirectorySyncGuard();