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

Memory limit should be respected.
{
    for (const auto & [column_name, size] : columns_sizes)
        column_to_size[column_name] = size.data_compressed;
}
bool IMergeTreeDataPart::checkAllTTLCalculated(const StorageMetadataPtr & metadata_snapshot) const
{
    if (!metadata_snapshot->hasAnyTTL())
        return false;
    if (metadata_snapshot->hasRowsTTL())
    {
        if (isEmpty()) 
            return true;
        else if (ttl_infos.table_ttl.min == 0)
            return false;
    }
    for (const auto & [column, desc] : metadata_snapshot->getColumnTTLs())
    {
        
        if (!ttl_infos.columns_ttl.count(column) && getColumns().contains(column))
            return false;
    }
    for (const auto & move_desc : metadata_snapshot->getMoveTTLs())
    {
        
        if (!ttl_infos.moves_ttl.count(move_desc.result_column))
            return false;
    }
    return true;
}
bool isCompactPart(const MergeTreeDataPartPtr & data_part)