**Describe the bug**
`SELECT i FROM generateRandom('i Array(Int8)', 1048575, 10, 1048577) LIMIT 1048575`

Memory limit should be respected.
}
    else
    {
        try
        {
            
    #if !__clang__
    #    pragma GCC diagnostic push
    #    pragma GCC diagnostic ignored "-Wunused-variable"
    #endif
            for (const auto & [file, _] : checksums.files)
                volume->getDisk()->remove(to + "/" + file);
    #if !__clang__
    #    pragma GCC diagnostic pop
    #endif
            for (const auto & file : {"checksums.txt", "columns.txt"})
                volume->getDisk()->remove(to + "/" + file);
            volume->getDisk()->removeIfExists(to + "/" + DEFAULT_COMPRESSION_CODEC_FILE_NAME);
            volume->getDisk()->removeIfExists(to + "/" + DELETE_ON_DESTROY_MARKER_FILE_NAME);
            volume->getDisk()->remove(to);
        }
        catch (...)
        {
            
            LOG_ERROR(storage.log, "Cannot quickly remove directory {} by removing files; fallback to recursive removal. Reason: {}", fullPath(volume->getDisk(), to), getCurrentExceptionMessage(false));
            volume->getDisk()->removeRecursive(to + "/");
        }
    }
}
String IMergeTreeDataPart::getRelativePathForPrefix(const String & prefix) const