The only columns that show what they are supposed to are `database`, `table`, `name` and `disk`.
The other columns borrow values from a neighbour.
```
┌─table────────┬─partition_id─┬─name────────────────────────────────┬─disk────┬─reason─┬─min_block_number─┬─max_block_number─┬───level─┐
│ actions_log  │ ignored      │ ignored_202107_714380_714380_0      │ default │        │           202107 │           714380 │  714380 │
│ actions_log  │ ignored      │ ignored_202107_713838_713838_0      │ default │        │           202107 │           713838 │  713838 │
│ actions_log  │ ignored      │ ignored_202107_713875_713875_0      │ default │        │           202107 │           713875 │  713875 │
│ actions_log  │ ignored      │ ignored_202107_725839_725839_0      │ default │        │           202107 │           725839 │  725839 │
│ actions_log  │ ignored      │ ignored_202107_713927_713927_0      │ default │        │           202107 │           713927 │  713927 │
│ actions_log  │ ignored      │ ignored_202107_714009_714009_0      │ default │        │           202107 │           714009 │  714009 │
```
const MergeTreeData::DataPartPtr & part, WriteBuffer & out, const std::map<String, std::shared_ptr<IMergeTreeDataPart>> & projections)
{
    auto metadata_snapshot = data.getInMemoryMetadataPtr();
    for (const auto & [name, projection] : projections)
    {
        auto projection_sample_block = metadata_snapshot->projections.get(name).sample_block;
        auto part_in_memory = asInMemoryPart(projection);
        if (!part_in_memory)
            throw Exception("Projection " + name + " of part " + part->name + " is not stored in memory", ErrorCodes::LOGICAL_ERROR);
        writeStringBinary(name, out);
        projection->checksums.write(out);
        NativeBlockOutputStream block_out(out, 0, projection_sample_block);
        block_out.write(part_in_memory->block);
    }
    auto part_in_memory = asInMemoryPart(part);
    if (!part_in_memory)
        throw Exception("Part " + part->name + " is not stored in memory", ErrorCodes::LOGICAL_ERROR);
    NativeBlockOutputStream block_out(out, 0, metadata_snapshot->getSampleBlock());
    part->checksums.write(out);
    block_out.write(part_in_memory->block);
    data.getSendsThrottler()->add(part_in_memory->block.bytes());
}
MergeTreeData::DataPart::Checksums Service::sendPartFromDisk(